earthsdk3 3.5.0-beta.1 → 3.5.0-beta.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/dist/earthsdk3.iife.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
var hO=Object.defineProperty;var cO=(m,Kr,ha)=>Kr in m?hO(m,Kr,{enumerable:!0,configurable:!0,writable:!0,value:ha}):m[Kr]=ha;var f=(m,Kr,ha)=>cO(m,typeof Kr!="symbol"?Kr+"":Kr,ha);var EarthSDK3=(function(m){"use strict";var dr;function Kr(){const n=navigator.userAgent;let t="Unknown";/Windows/.test(n)?t="Windows":/Macintosh/.test(n)?t="MacOS":/Linux/.test(n)?t="Linux":/Android/.test(n)?t="Android":/iOS|iPhone|iPad|iPod/.test(n)&&(t="iOS");let e="Unknown";return/x64|x86_64|Win64|WOW64/.test(n)?e="x64":/x86|i686|Win32/.test(n)?e="x86":/arm64|aarch64/.test(n)?e="arm64":/arm/.test(n)&&(e="arm"),{os:t.toLocaleLowerCase(),arch:e.toLocaleLowerCase()}}const ha=Date.now();function jp(n){const{os:t,arch:e}=Kr(),i={version:n.version,commitdate:n.date,commitId:n.commitId,runningTime:(Date.now()-ha)/1e3/60|0,date:new Date().toLocaleString(),href:window.location.href,os:t,arch:e},s={method:"GET",headers:new Headers,redirect:"follow"},o=window.encodeURIComponent(JSON.stringify(i));fetch(`https://account.bjxbsj.cn/api/product/record?product=EarthSDKJS&content=${o}`,s).then(a=>a.text()).then(a=>console.log(a)).catch(a=>console.log("error",a))}m.copyright=void 0;try{const n="earthsdk3",t="3.5.0-beta.
|
|
1
|
+
var hO=Object.defineProperty;var cO=(m,Kr,ha)=>Kr in m?hO(m,Kr,{enumerable:!0,configurable:!0,writable:!0,value:ha}):m[Kr]=ha;var f=(m,Kr,ha)=>cO(m,typeof Kr!="symbol"?Kr+"":Kr,ha);var EarthSDK3=(function(m){"use strict";var dr;function Kr(){const n=navigator.userAgent;let t="Unknown";/Windows/.test(n)?t="Windows":/Macintosh/.test(n)?t="MacOS":/Linux/.test(n)?t="Linux":/Android/.test(n)?t="Android":/iOS|iPhone|iPad|iPod/.test(n)&&(t="iOS");let e="Unknown";return/x64|x86_64|Win64|WOW64/.test(n)?e="x64":/x86|i686|Win32/.test(n)?e="x86":/arm64|aarch64/.test(n)?e="arm64":/arm/.test(n)&&(e="arm"),{os:t.toLocaleLowerCase(),arch:e.toLocaleLowerCase()}}const ha=Date.now();function jp(n){const{os:t,arch:e}=Kr(),i={version:n.version,commitdate:n.date,commitId:n.commitId,runningTime:(Date.now()-ha)/1e3/60|0,date:new Date().toLocaleString(),href:window.location.href,os:t,arch:e},s={method:"GET",headers:new Headers,redirect:"follow"},o=window.encodeURIComponent(JSON.stringify(i));fetch(`https://account.bjxbsj.cn/api/product/record?product=EarthSDKJS&content=${o}`,s).then(a=>a.text()).then(a=>console.log(a)).catch(a=>console.log("error",a))}m.copyright=void 0;try{const n="earthsdk3",t="3.5.0-beta.2",e="2025-09-24T01:03:57.000Z",i="北京西部世界科技有限公司",r="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",s="3b8038e8e7241a1525bbddfac4189c43732e823e",a=((Date.now()-1758675837e3)/36e5).toFixed(1),l=`%c🌏 ${n}%c ${t}.${s.slice(0,8)}.${e} (距今${a}个小时)
|
|
2
2
|
%c${r?r+`
|
|
3
3
|
`:""}当前网站正在使用${n},此软件版权归${i}所有
|
|
4
|
-
`;m.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){return OWNERLINK_},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","
|
|
4
|
+
`;m.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){return OWNERLINK_},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","3b8038e8e7241a1525bbddfac4189c43732e823e")},get info(){return l},get date(){return"2025-09-24T01:03:57.000Z"},get author(){return"suplyang"},get version(){return"3.5.0-beta.2"},get name(){return"earthsdk3"},get commitId(){return"3b8038e8e7241a1525bbddfac4189c43732e823e"},print(){console.info(this.info,`
|
|
5
5
|
font-size: 18px;
|
|
6
6
|
font-weight: 1000;
|
|
7
7
|
line-height: 1;
|
|
@@ -18,7 +18,7 @@ var hO=Object.defineProperty;var cO=(m,Kr,ha)=>Kr in m?hO(m,Kr,{enumerable:!0,co
|
|
|
18
18
|
color: rgb(0, 120, 215);
|
|
19
19
|
padding-bottom: 2px;
|
|
20
20
|
padding-left: 35px;
|
|
21
|
-
`)}}),window.g_XE3CopyRights=window.g_XE3CopyRights||{},window.g_XE3CopyRights[n]=m.copyright,window.g_XE3SendProductUsageInfo=window.g_XE3SendProductUsageInfo||!0,window.g_XE3SendProductUsageInfo&&(setTimeout(()=>jp(m.copyright),6e4),setInterval(()=>jp(m.copyright),864e5)),window.g_earthsdk_copyright_print=window.g_earthsdk_copyright_print??!0,window.g_earthsdk_copyright_print&&m.copyright.print()}catch{console.warn("版本信息有误!")}const Up=new Set;function ca(n,t=n){Up.has(t)||(Up.add(t),console.warn(n))}function Zr(n){const t=bh(n),e=()=>t[0][t[1]],i=s=>{try{t[0][t[1]]=s}catch(o){ca(`setValue error, obj(${t[0].constructor.name}) prop(${t[1]}) error(${o})`)}},r=t[0][t[2]];return[e,i,r]}function Ew(){return!0}function Cw(){throw new Error("throwOnDestroyed")}function Gp(n){for(var t in n)typeof n[t]=="function"&&(n[t]=Cw);n.isDestroyed=Ew}const ad=class ad{constructor(){f(this,"_memId",++ad._lastMemId);f(this,"_disposers")}get __v_skip(){return!0}get memId(){return this._memId}get disposers(){return this._disposers||(this._disposers=[]),this._disposers}dispose(t){return this.disposers.push(t),t}d(t){return this.dispose(t)}disposeVar(t){return this.disposers.push(()=>t.destroy()),t}dv(t){return this.disposeVar(t)}tryDisposeVar(t){return this.disposers.push(()=>t.tryDestroy()),t}tdv(t){return this.tryDisposeVar(t)}autoDispose(t){return typeof t=="function"?this.dispose(t):this.disposeVar(t)}ad(t){return typeof t=="function"?this.dispose(t):this.disposeVar(t)}isDestroyed(){return!1}destroyImp(){}destroy(){if(this._toDestroyEvent&&this._toDestroyEvent.emit(),this.destroyImp(),this._disposers)try{const t=this._disposers,e=t.length;for(let i=e-1;i>=0;--i)t[i]();t.length=0,this._disposers=void 0}catch(t){console.error(`destroy get error! ${t}`)}return Gp(this)}tryDestory(){if(!this.isDestroyed())return this.destroy()}};f(ad,"_lastMemId",-1);let V=ad,hd;function qp(n){hd=n}Object.defineProperties(V.prototype,{toDestroyEvent:{get(){if(this._toDestroyEvent===void 0){if(!hd)throw new Error("Destroyable EventCtor not registered yet!");this._toDestroyEvent=this.disposeVar(new hd)}return this._toDestroyEvent}}});class Eh{constructor(t,e,i=!1){f(this,"_freeElements");f(this,"_usedElementsCount");f(this,"_usedElements");f(this,"_nextCreateID");f(this,"_scratchObjs");this._createDefaultFunc=t,this._destroyFunc=e,this._freeElements=[],this._usedElementsCount=0,this._nextCreateID=1,this._scratchObjs=[],i&&(this._usedElements=[])}get usedElementsCount(){return this._usedElementsCount}get freeElementsCount(){return this._freeElements.length}_getCreateID(){return this._nextCreateID++}_create(){let t;return this._freeElements.length>0?t=this._freeElements.pop():t=this._createDefaultFunc&&this._createDefaultFunc()||{},t._cid=this._getCreateID(),t}create(){return this._create()}multiCreate(t){this._scratchObjs.length=0;for(let e=0;e<t;++e)this._scratchObjs.push(this._create());return this._scratchObjs}_destroy(t){this._destroyFunc&&this._destroyFunc(t),t._cid=void 0}destroy(...t){const e=t.length;for(let i=0;i<e;++i)this._destroy(t[i])}}function Sw(){return{item:void 0,previous:void 0,next:void 0}}function bw(n){n.item=void 0,n.previous=void 0,n.next=void 0}const Wp=new Eh(Sw,bw,!0);function cd(n,t,e){const i=Wp.create();return i.item=n,i.previous=t,i.next=e,i}function Hp(n){if(!n)throw new Error("node is undefined!");Wp.destroy(n)}function dd(n,t){t.previous&&t.next?(t.previous.next=t.next,t.next.previous=t.previous):t.previous?(t.previous.next=void 0,n.tail=t.previous):t.next?(t.next.previous=void 0,n.head=t.next):(n.head=void 0,n.tail=void 0),t.next=void 0,t.previous=void 0}class Xp{constructor(t){f(this,"head");f(this,"tail");f(this,"_length");const{needLength:e}=t||{needLength:!0};this.head=void 0,this.tail=void 0,e&&(this._length=0)}_incrementLength(){typeof this._length=="number"&&++this._length}_decrementLength(){typeof this._length=="number"&&--this._length}_setLength(t){typeof this._length=="number"&&(this._length=t)}get length(){return this._length}get empty(){return!this.head}*[Symbol.iterator](){let t=this.head;for(;t;)yield t,t=t.next}remove(t){if(!t)throw new Error("node is undefined!");dd(this,t),this._decrementLength(),Hp(t)}getNode(t){let e=this.head;for(;e!==null;){if(!e)throw new Error("current is undefined!");if(e.item===t)return e;e=e.next}}moveAfter(t,e){if(t!==e){dd(this,e);var i=t.next;t.next=e,this.tail===t?this.tail=e:i&&(i.previous=e),e.next=i,e.previous=t}}moveBefore(t,e){if(t!==e){dd(this,e);var i=t.previous;t.previous=e,this.head===t?this.head=e:i&&(i.next=e),e.previous=i,e.next=t}}insertBefore(t,e){const i=cd(e,t.previous,t);return t.previous&&(t.previous.next=i),t.previous=i,this.head===t&&(this.head=i),this._incrementLength(),i}insertAfter(t,e){const i=cd(e,t,t.next);return t.next&&(t.next.previous=i),t.next=i,this.tail===t&&(this.tail=i),this._incrementLength(),i}_setFirstNode(t){if(this.head||this.tail)throw new Error("_setFirstNode error!");const e=cd(t,void 0,void 0);if(this.head=e,this.tail=e,this._incrementLength(),this._length!==1)throw new Error("_setFirstNode error! this._length !== 1");return e}push(t){return this.tail?this.insertAfter(this.tail,t):this._setFirstNode(t)}pop(){if(!this.tail)throw new Error("DoublyLinkedList is empty!");const t=this.tail.item;return this.remove(this.tail),t}shift(){if(!this.head)throw new Error("DoublyLinkedList is empty!");const t=this.head.item;return this.remove(this.head),t}unshift(t){return this.head?this.insertBefore(this.head,t):this._setFirstNode(t)}removeAll(){let t=this.head;for(;t;){const e=t.next;Hp(t),t=e}this.head=void 0,this.tail=void 0,this._setLength(0)}}function Pw(){return{func:void 0,scope:void 0,_hasRemoved:!1,_once:!1}}function Iw(n){n.func=void 0,n.scope=void 0,n._hasRemoved=!1,n._once=!1}const fo=new Eh(Pw,Iw,!0);class fd{constructor(){f(this,"__dll");f(this,"__currentListenerStack")}get _dll(){return this.__dll=this.__dll??new Xp({needLength:!0}),this.__dll}_pushCurrentListener(t){this.__currentListenerStack?Array.isArray(this.__currentListenerStack)?this.__currentListenerStack.push(t):this.__currentListenerStack=[this.__currentListenerStack,t]:this.__currentListenerStack=t}_popCurrentListener(){if(this.__currentListenerStack)Array.isArray(this.__currentListenerStack)?this.__currentListenerStack.pop():this.__currentListenerStack=void 0;else throw new Error("cannot pop!")}_hasCurrentListener(t){return this.__currentListenerStack?Array.isArray(this.__currentListenerStack)?this.__currentListenerStack.indexOf(t)!==-1:this.__currentListenerStack===t:!1}do(...t){if(this.__dll&&!this._dll.empty){let e=this._dll.head;for(;e;){const i=e.item;i._hasRemoved||(this._pushCurrentListener(i),i.func.call(i.scope,...t),this._popCurrentListener());const r=e.next;i._once&&!i._hasRemoved&&(this.remove(e),e=void 0),e&&this._clearHasRemoved(e),e=r}}}get empty(){if(!this.__dll||this._dll.empty)return!0;let t=!0,e=this._dll.head;for(;e;){if(!e.item._hasRemoved){t=!1;break}e=e.next}return t}isHandlerValid(t){return!t.item._hasRemoved}nextHandler(t){if(!t.item._hasRemoved)throw new Error("handler has removed!");let e=t.next;for(;e&&e.item._hasRemoved;)e=e.next;return e}prevHandler(t){if(!t.item._hasRemoved)throw new Error("handler has removed!");let e=t.previous;for(;e&&e.item._hasRemoved;)e=e.previous;return e}moveAfter(t,e){if(t.item._hasRemoved||e.item._hasRemoved)throw new Error("handler or nextHandler has removed!");return this._dll.moveAfter(t,e)}moveBefore(t,e){if(t.item._hasRemoved||e.item._hasRemoved)throw new Error("handler or prevHandler has removed!");return this._dll.moveBefore(t,e)}insertBefore(t,e,i,r=!1){if(t.item._hasRemoved)throw new Error("handler has removed!");const s=fo.create();return s.func=e,s.scope=i,s._once=r,this._dll.insertBefore(t,s)}insertAfter(t,e,i,r=!1){if(t.item._hasRemoved)throw new Error("handler has removed!");const s=fo.create();return s.func=e,s.scope=i,s._once=r,this._dll.insertAfter(t,s)}_clearHasRemoved(t){t.item._hasRemoved&&!this._hasCurrentListener(t.item)&&(fo.destroy(t.item),this._dll.remove(t))}remove(t){if(!t.item||t.item._hasRemoved)throw new Error("handler has removed!");this._hasCurrentListener(t.item)?t.item._hasRemoved=!0:(fo.destroy(t.item),this._dll.remove(t))}removeAll(){if(this.__dll&&!this._dll.empty){let t=this._dll.head;for(;t;){const e=t.next;t.item._hasRemoved||this.remove(t),t=e}}}destroy(){if(!this.__dll)return;let t=this._dll.head;for(;t;){const e=t.next,i=t;this._hasCurrentListener(i.item)||(console.warn("Event has remove item that on current stack!"),console.warn(`${i.item.func.toString()}`)),fo.destroy(i.item),this._dll.remove(i),t=e}this.__dll=void 0,this.__currentListenerStack=void 0}push(t,e,i=!1){const r=fo.create();return r.func=t,r.scope=e,r._once=i,this._dll.push(r)}pop(){const t=this.tail;if(!t)throw new Error("pop error!");this.remove(t)}shift(){const t=this.head;if(!t)throw new Error("shift error!");this.remove(t)}unshift(t,e,i=!1){const r=fo.create();return r.func=t,r.scope=e,r._once=i,this._dll.unshift(r)}get tail(){let t=this._dll.tail;for(;t&&t.item._hasRemoved;)t=t.previous;return t}get head(){let t=this._dll.head;for(;t&&t.item._hasRemoved;)t=t.previous;return t}}class Ql{constructor(){f(this,"_listenerHandler");f(this,"_cid")}_reset(t,e){this._listenerHandler=t,this._cid=e}clone(t){return t=t??new Ql,t._reset(this._listenerHandler,this._cid),t}get valid(){if(typeof this._listenerHandler<"u"&&typeof this._cid=="number"){const t=this._listenerHandler._cid;if(typeof t<"u"&&this._cid===t)return!0}return!1}}class gd extends Ql{}let I=class extends V{constructor(){super(...arguments);f(this,"__pipe");f(this,"beforeCallback");f(this,"afterCallback")}get _pipe(){return this.__pipe=this.__pipe??new fd,this.__pipe}get empty(){return!this.__pipe||this._pipe.empty}emit(...e){!this.isDestroyed()&&this.beforeCallback&&this.beforeCallback(...e),!this.isDestroyed()&&this._pipe.do(...e),!this.isDestroyed()&&this.afterCallback&&this.afterCallback(...e)}on(e,i,r=!1,s){const o=r?this._pipe.unshift(e,i,!1):this._pipe.push(e,i,!1);return s=s??new gd,s._reset(o,o._cid),s}disposableOn(e,i,r=!1,s){const o=this.on(e,i,r,s);return()=>{o.valid&&this.off(o)}}don(e,i,r=!1,s){return this.disposableOn(e,i,r,s)}disposableWeakOn(e,i,r=!1,s){const o=new V,a=()=>{!o.isDestroyed()&&o.destroy()};return o.dispose(this.disposableOn(e,i,r,s)),o.dispose(this.toDestroyEvent.disposableOn(a)),a}dwon(e,i,r=!1,s){return this.disposableWeakOn(e,i,r,s)}once(e,i,r=!1,s){const o=r?this._pipe.unshift(e,i,!0):this._pipe.push(e,i,!0);return s=s??new gd,s._reset(o,o._cid),s}disposableOnce(e,i,r=!1,s){const o=this.once(e,i,r,s);return()=>o.valid&&this.off(o)}donce(e,i,r=!1,s){const o=this.once(e,i,r,s);return()=>o.valid&&this.off(o)}off(e){if(!e.valid)throw new Error("handler is not valid!");this._pipe.remove(e._listenerHandler),e._reset()}reset(){this._pipe.removeAll()}destroyImp(){this.empty||(ca("The event is destroying with listeners!"),this._pipe.removeAll())}};qp(I);function da(n,t){return t=t??new Ql,t._reset(n,n._cid),t}class xw{constructor(){f(this,"__pipe")}get _pipe(){return this.__pipe=this.__pipe??new fd,this.__pipe}get empty(){return!this.__pipe||this._pipe.empty}do(...t){return this._pipe.do(...t)}isHandlerValid(t){return t.valid?this._pipe.isHandlerValid(t._listenerHandler):!1}moveAfter(t,e){if(!t.valid||!e.valid)throw new Error("handler or nextHander is not valid!");return this._pipe.moveAfter(t._listenerHandler,e._listenerHandler)}moveBefore(t,e){if(!t.valid||!e.valid)throw new Error("handler or nextHander is not valid!");return this._pipe.moveAfter(t._listenerHandler,e._listenerHandler)}insertBefore(t,e,i,r=!1,s){if(!t.valid)throw new Error("handler is not valid!");const o=this._pipe.insertBefore(t._listenerHandler,e,i,r);return da(o,s)}insertAfter(t,e,i,r=!1,s){if(!t.valid)throw new Error("handler is not valid!");const o=this._pipe.insertAfter(t._listenerHandler,e,i,r);return da(o,s)}remove(t){if(!t.valid)throw new Error("handler is not valid!");return this._pipe.remove(t._listenerHandler)}removeAll(){return this._pipe.removeAll()}push(t,e,i=!1,r){const s=this._pipe.push(t,e,i);return da(s,r)}pop(){return this._pipe.pop()}shift(){return this._pipe.shift()}unshift(t,e,i=!1,r){const s=this._pipe.unshift(t,e,i);return da(s,r)}getTail(t){const e=this._pipe.tail;if(e)return da(e,t)}getHead(t){const e=this._pipe.head;if(e)return da(e,t)}}class Ue extends V{constructor(e,i,r){super();f(this,"_changed");f(this,"_value");f(this,"_oldValue");f(this,"toChangeFunc");this._equalsFunc=i,this._assignFunc=r,this._value=this._assignFunc&&this._assignFunc(e,void 0)||e}get assignFunc(){return this._assignFunc}get equalsFunc(){return this._equalsFunc}equals(e){return this._equalsFunc?this._equalsFunc(this._value,e):this._value===e}set value(e){if(this._equalsFunc?!this._equalsFunc(this._value,e):this._value!==e){if(this.toChangeFunc&&!this.toChangeFunc(e,this._value))return;this._assignFunc?(this._oldValue=this._assignFunc(this._value,this._oldValue),this._value=this._assignFunc(e,this._value)):(this._oldValue=this._value,this._value=e),this._changed&&this._changed.emit(e,this._oldValue)}}get value(){return this._value}get changed(){return this._changed||(this._changed=this.disposeVar(new I)),this._changed}forceChange(){this._changed&&this._changed.emit(this._value,this._value)}}function B(n,t,e){return new Ue(n,t,e)}function ht(n){return new Ue(n,(t,e)=>t.length!==e.length?!1:t.every((i,r)=>i===e[r]),(t,e)=>{const i=e||new Array(t.length);return i.length=t.length,t.forEach((r,s)=>i[s]=r),i})}function ee(n){return B(n,(t,e)=>t===void 0||e===void 0?t===void 0&&e===void 0:t.length!==e.length?!1:t.every((i,r)=>i===e[r]),(t,e)=>{if(!t)return;const i=e||new Array(t.length);return i.length=t.length,t.forEach((r,s)=>i[s]=r),i})}function Ch(n,t,e){return B(n,(i,r)=>i.length!==r.length?!1:i.every((s,o)=>t&&t(s,r[o])||s===r[o]),(i,r)=>{const s=r||new Array(i.length);return s.length=i.length,i.forEach((o,a)=>{s[a]=e?e(o):o}),s})}function Ts(n,t,e){return B(n,(i,r)=>i===void 0||r===void 0?i===void 0&&r===void 0:i.length!==r.length?!1:i.every((s,o)=>t&&t(s,r[o])||s===r[o]),(i,r)=>{if(!i)return;const s=r||new Array(i.length);return s.length=i.length,i.forEach((o,a)=>{s[a]=e?e(o):o}),s})}function mt(n){return new Ue(n,(t,e)=>t===e||t!==void 0&&e!==void 0&&JSON.stringify(t)===JSON.stringify(e),(t,e)=>{if(t!==void 0)return JSON.parse(JSON.stringify(t))})}function Yt(n){return new Ue(n,(t,e)=>t===e||t!==void 0&&e!==void 0&&JSON.stringify(t)===JSON.stringify(e),(t,e)=>{if(t!==void 0)return JSON.parse(JSON.stringify(t))})}function Mw(n){return new Ue(n,(t,e)=>{if(t===e)return!0;if(t===void 0||e===void 0)return!1;const i=Object.keys(t),r=Object.keys(e);return i.length!==r.length?!1:i.every((s,o)=>s===r[o]&&t[s]===e[s])},(t,e)=>t&&{...t})}function Tw(n){return new Ue(n,(t,e)=>{if(t===e)return!0;if(t===void 0||e===void 0)return!1;const i=Object.keys(t),r=Object.keys(e);return i.length!==r.length?!1:i.every((s,o)=>s===r[o]&&t[s]===e[s])},(t,e)=>t&&{...t})}function Nw(n){return Ch(n,(t,e)=>t.every((i,r)=>i===e[r]),t=>[...t])}function pd(n){return Ts(n,(t,e)=>t.every((i,r)=>i===e[r]),t=>[...t])}function Ow(n){return Ch(n,(t,e)=>JSON.stringify(t)===JSON.stringify(e),t=>JSON.parse(JSON.stringify(t)))}function Dw(n){return Ts(n,(t,e)=>JSON.stringify(t)===JSON.stringify(e),t=>JSON.parse(JSON.stringify(t)))}function Sh(n){return pd(n)}function Yp(n){return Ts(n,(t,e)=>t.length===e.length&&t.every((i,r)=>i.every((s,o)=>s===e[r][o])),t=>t.map(e=>[...e]))}function Rw(n){return Ts(n,(t,e)=>t.length===e.length&&t.every((i,r)=>i.every((s,o)=>s===e[r][o])),t=>t.map(e=>[...e]))}function bh(n){const t=n instanceof Ue?[n,"value","changed"]:[...n];return t[2]=t[2]||t[1]+"Changed",t}function md(n,t,e,i=!1){t[2]=t[2]||t[1]+"Changed";const r=()=>{const s=t[0][t[1]];e?n[0][n[1]]=e(s):n[0][n[1]]=s};return r(),i?t[0][t[2]].disposableWeakOn(r):t[0][t[2]].disposableOn(r)}function Aw(n,t,e,i,r=!1){const s=md(n,t,e,r),o=md(t,n,i,r);return()=>(s(),o())}function z(n,t,e,i=!1){const r=n instanceof Ue?[n,"value","changed"]:n,s=t instanceof Ue?[t,"value","changed"]:t;return md(r,s,e,i)}function nt(n,t,e,i,r=!1){const s=bh(n),o=bh(t);return Aw(s,o,e,i,r)}function Lw(n,t,e,i=!1){const[r]=Zr(t);return nt(n,t,s=>s??e,s=>{if(!(s===e&&r()===void 0))return s},i)}function fa(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(n){var t=Math.random()*16|0,e=n==="x"?t:t&3|8;return e.toString(16)})}function Ph(n,t){if(!window||!window.setTimeout||!window.clearTimeout)throw new Error("目前只适合在浏览器中使用!");let e=0;function i(){e>0&&(window.clearTimeout(e),e=0)}function r(...s){i(),e=window.setTimeout(n,t,...s)}return[r,i]}function vd(n,t,...e){const i=setInterval(n,t,...e);return()=>clearInterval(i)}function yd(n,t,...e){const i=setTimeout(n,t,...e);return()=>clearTimeout(i)}function Ih(n,...t){let e;const i=()=>{const r=performance.now();n(r,...t),e=requestAnimationFrame(i)};return i(),()=>typeof e<"u"&&(cancelAnimationFrame(e),e=void 0)}function ga(n,...t){let e;return e=requestAnimationFrame(()=>{const r=performance.now();n(r,...t)}),()=>typeof e<"u"&&(cancelAnimationFrame(e),e=void 0)}function Kl(n,...t){let e=!1,i;return new Promise((r,s)=>{i=s,r()}).then(()=>{!e&&n(...t)}).catch(r=>{console.error(r)}),()=>(e=!0)&&i&&(i("nextMicroTask cancelled!"),i=void 0)}class xh extends I{constructor(e,i,...r){super();f(this,"_cancellFunc");this._nextFunc=e,this.dispose(()=>{this._cancellFunc&&(this._cancellFunc(),this._cancellFunc=void 0)}),r.forEach(s=>this.dispose(s[i?"dwon":"don"](()=>{this.next()})))}next(){this._cancellFunc||(this._cancellFunc=this._nextFunc(()=>(this._cancellFunc=void 0,this.emit())))}flush(){this._cancellFunc&&(this._cancellFunc(),this._cancellFunc=void 0,this.emit())}}class _d extends xh{constructor(...t){super(Kl,!1,...t)}}function Fw(...n){return new _d(...n)}class kw extends xh{constructor(...t){super(Kl,!0,...t)}}function Bw(...n){return new _d(...n)}class Mh extends xh{constructor(...t){super(ga,!1,...t)}}function Ae(...n){return new Mh(...n)}function Vw(n,t){return new Mh(...n).don(t())}class Jp extends xh{constructor(...t){super(ga,!0,...t)}}function zw(...n){return new Jp(...n)}function go(n,t,e={time:"don",immediate:!1}){const i=new Mh(...Array.isArray(n)?n:[n]),r=i[e.time??"don"](t);return(e.immediate??!1)&&t(),()=>{r(),i.destroy()}}function Zl(n){let t;if(typeof n.next=="function")t=n;else if(typeof n[Symbol.iterator]=="function")t=n[Symbol.iterator]();else throw new Error("iteratorOrIterable error!");return t}function wd(n,t){let e=!1;const i=Zl(n);let r=-1;for(;;){const{done:s,value:o}=i.next();if(s)break;if(t(o,++r)){e=!0;break}}return e}function Ed(n,t){return!wd(n,(i,r)=>!t(i,r))}function tu(n,t,e,i){const r=n;if(!r[t]){const s=i(),o=Object.fromEntries(Object.entries(s).filter(([a,l])=>{const u=Object.getPrototypeOf(e),h=a in u;if(h){const c=l instanceof Ue?l.value:l;n[a]=c}return!h}).map(([a,l])=>l instanceof Ue?[a,l]:[a,Array.isArray(l)?ee(l):B(l)]));r[t]=o}return r[t]}function ts(n,t){var i;const e=Symbol(`${(i=n==null?void 0:n.constructor)==null?void 0:i.name}-createDefaultProps`);n.constructor.__xbsj_dpSymbol=e,n.constructor.__xbsj_createDefaultProps=t;for(let[r,s]of Object.entries(t()))if(!Reflect.has(n,r)){const o=function(a){if(a[e])return;const l=[];let u=Object.getPrototypeOf(a);for(;u;)l.push(u),u=Object.getPrototypeOf(u);l.reverse();for(let h of l){const c=h.constructor.__xbsj_dpSymbol;if(!c)continue;const d=h.constructor.__xbsj_createDefaultProps;d&&tu(a,c,h,d)}};Object.defineProperties(n,{[r]:{get(){return o(this),tu(this,e,n,t)[r].value},set(a){o(this);const l=tu(this,e,n,t)[r];if(!l){console.error("!propObj");debugger}l.value=a}},[`${r}Changed`]:{get(){return o(this),tu(this,e,n,t)[r].changed}},[`${r}React`]:{get(){return o(this),tu(this,e,n,t)[r]}}})}}const eu=new WeakMap;function wr(n,t,e){eu.has(n)||eu.set(n,{});const i=eu.get(n);i[t]=e}function Zn(n,t){return eu.has(n)?eu.get(n)[t]:void 0}function Er(n,t){const e=Zl(n);let i=0;for(;;){const{done:r,value:s}=e.next();if(r)break;t(s,i++)}}function nu(n,t,e){const i=Zl(n);let r=e,s=0;for(;;){const{done:o,value:a}=i.next();if(o)break;r=t(r,a,s++)}return r}const jw=n=>++n;function Cd(n){return nu(n,jw,0)}function es(n){return nu(n,(t,e)=>t>e?t:e,Number.NEGATIVE_INFINITY)}function Ns(n){return nu(n,(t,e)=>t<e?t:e,Number.POSITIVE_INFINITY)}function $p(n,t){let e=n;for(let i of t)e=e[i];return e}function Uw(n,t,e){if(t.length===0)throw new Error("props的数量必须大于0");const i=t.length-1,r=t[i];let s=n;for(let o=0;o<i;++o){const a=t[o];typeof s[a]>"u"&&(s[a]={}),s=s[a]}s[r]=e}function*po(n,t){const e=Zl(n);for(;;){const{done:i,value:r}=e.next();if(i)break;yield $p(r,t)}}class iu extends V{constructor(){super();f(this,"_innerObj");f(this,"_toChangeEvent");f(this,"_changedEvent");this._innerObj=[],this.dispose(()=>{if(this.length=0,this._innerObj.length>0)throw new Error("this._innerObj.length > 0");this._toChangeEvent&&this._toChangeEvent.reset(),this._innerObj=void 0})}get toChangeEvent(){return this._toChangeEvent||(this._toChangeEvent=new I),this._toChangeEvent}get changedEvent(){return this._changedEvent||(this._changedEvent=new I),this._changedEvent}_resetArray(e){this._toChangeEvent&&this._toChangeEvent.emit([{start:0,deleteCount:this._innerObj.length,items:e}],this);const{length:i}=e;this._innerObj.length=i;for(let r=0;r<i;++r)this._innerObj[r]=e[r];this._changedEvent&&this._changedEvent.emit(this)}splice(e,i,...r){const{length:s}=this._innerObj;e=e>this._innerObj.length?this._innerObj.length:e,e>s?e=s:e<0&&(e+=s,e<0&&(e=0));const o=this._innerObj.length-e;if(i>o?i=o:i<0&&(i=0),arguments.length===1){this._toChangeEvent&&this._toChangeEvent.emit([{start:e,deleteCount:this._innerObj.length-e,items:[]}],this);const a=this._innerObj.splice(e);return this._changedEvent&&this._changedEvent.emit(this),a}else if(arguments.length===2){this._toChangeEvent&&this._toChangeEvent.emit([{start:e,deleteCount:i,items:[]}],this);const a=this._innerObj.splice(e,i);return this._changedEvent&&this._changedEvent.emit(this),a}else{this._toChangeEvent&&this._toChangeEvent.emit([{start:e,deleteCount:i,items:r}],this);const a=this._innerObj.splice(e,i,...r);return this._changedEvent&&this._changedEvent.emit(this),a}}pop(){if(this._innerObj.length===0)return;if(this._toChangeEvent){const i=this._innerObj.length-1,r=1,s=[];this._toChangeEvent.emit([{start:i,deleteCount:r,items:s}],this)}const e=this._innerObj.pop();return this._changedEvent&&this._changedEvent.emit(this),e}push(...e){if(this._toChangeEvent){const r=this._innerObj.length;this._toChangeEvent.emit([{start:r,deleteCount:0,items:e}],this)}const i=this._innerObj.push(...e);return this._changedEvent&&this._changedEvent.emit(this),i}get length(){return this._innerObj.length}set length(e){if(e<0)throw new Error("value < 0");const{length:i}=this._innerObj;if(i!==e){if(this._toChangeEvent){let r,s,o;i>e?(r=e,s=i-e,o=[]):(r=i,s=0,o=new Array(e-i)),this._toChangeEvent.emit([{start:r,deleteCount:s,items:o}],this)}this._innerObj.length=e,this._changedEvent&&this._changedEvent.emit(this)}}get(e){return this._innerObj[e]}set(e,i){const{length:r}=this._innerObj;if(e<0||e>=r)throw new Error("index < 0 || index >= length");this._toChangeEvent&&this._toChangeEvent.emit([{start:e,deleteCount:1,items:[i]}],this),this._innerObj[e]=i,this._changedEvent&&this._changedEvent.emit(this)}indexOf(e){return this._innerObj.indexOf(e)}[Symbol.iterator](){return this._innerObj[Symbol.iterator]()}}function Sd(n,t,...e){let i=n;for(let r of e){if(!i[r])if(t)i[r]={};else return;i=i[r]}return i}function Gw(n,t,e){typeof e>"u"&&(t.endsWith(".gltf")?e="model/gltf+json":t.endsWith(".bin")?e="application/octet-stream":t.endsWith(".glb")?e="model/gltf-binary":t.endsWith(".jpg")||t.endsWith(".jpeg")?e="image/jpeg":t.endsWith(".png")?e="image/png":t.endsWith(".glsl")?e="text/plain":t.endsWith(".json")?e="application/json":t.endsWith(".b3dm")||t.endsWith(".i3dm")||t.endsWith("pnts")||t.endsWith("cmpt")?e="application/octet-stream":console.warn(`save ${t}: MimeType无法确定!`));const i=new Blob([n],{type:e||""});let r=URL.createObjectURL(i);var s=document.createElement("a"),o=new MouseEvent("click");s.download=t,s.href=r,s.dispatchEvent(o),URL.revokeObjectURL(r)}function qw(n,t){const e=document.createElement("a"),i=new MouseEvent("click");e.download=t||"下载",e.href=n,e.dispatchEvent(i)}function Ww(){return new Promise((n,t)=>{const e=performance.now();requestAnimationFrame(i=>n(i>e))})}const Th=n=>{let t,e;return e=i=>{i=performance.now(),t=requestAnimationFrame(e),n(i)},t=requestAnimationFrame(e),()=>{cancelAnimationFrame(t)}};function bd(n,t,e=Th){let i=Number.NEGATIVE_INFINITY,r;function s(l){l-i>t&&r&&(n(...r),r=void 0,i=l)}const o=e&&e(s)||void 0;function a(...l){r=l}return[a,o]}const Qp=[];function Kp(n,t,e){if(Qp.includes(n)){console.warn(`_loadJs ${n} has loaded before!`),t&&t();return}var i=document.getElementsByTagName("head")[0],r=document.createElement("script");r.setAttribute("type","text/javascript"),r.setAttribute("src",n),r.onload=r.onreadystatechange=function(){this.readyState&&this.readyState!=="complete"||(Qp.push(n),t&&t(),r.onload=r.onreadystatechange=null)},r.onerror=(s,o,a,l,u)=>{e(u)},i.appendChild(r)}function Pd(n,t=!0){if(t){const e=window.L;window.L&&(window.L=void 0);const i=window.define;return window.define&&(window.define=void 0),new Promise((r,s)=>{Kp(n,r,s)}).then(()=>(window.define=i,window.L=e,Promise.resolve()))}else return new Promise((e,i)=>{Kp(n,e,i)})}async function Zp(n,t=""){return new Promise((e,i)=>{var r=new Image;r.crossOrigin=t,r.src=n,r.onload=()=>e(r),r.onerror=s=>i(s)})}class Hw extends V{constructor(t){super(),this._owner=t}get owner(){return this._owner}}function Xw(n,t){if(n.length%3!==0)throw new Error("positions.length % 3 !== 0");const e=n.length/3;function*i(o){for(let a=0;a<e;++a)yield n[a*3+o]}const r=(t==null?void 0:t.min)??[NaN,NaN,NaN],s=(t==null?void 0:t.max)??[NaN,NaN,NaN];return r[0]=Ns(i(0))??NaN,r[1]=Ns(i(1))??NaN,r[2]=Ns(i(2))??NaN,s[0]=es(i(0))??NaN,s[1]=es(i(1))??NaN,s[2]=es(i(2))??NaN,{min:r,max:s}}async function Yw(n,t=fetch){const e=await t(n);return e.ok?await e.arrayBuffer():void 0}function Nh(n,...t){if(n>16)throw new Error("length > 16");const e=new Array(n);for(let i=0;i<n;++i)e[i]=t[i]??0;return e}class Oh{constructor(t,e){this._xyzw=t,this._length=e}set 0(t){this._xyzw.x=t}set 1(t){this._xyzw.y=t}set 2(t){this._xyzw.z=t}set 3(t){this._xyzw.w=t}get 0(){return this._xyzw.x??0}get 1(){return this._xyzw.y??0}get 2(){return this._xyzw.z??0}get 3(){return this._xyzw.w??0}get length(){return this._length}}function Jw(n){return new Oh(n,2)}function $w(n){return new Oh(n,3)}function Qw(n){return new Oh(n,4)}class Kw{constructor(t,e,i,r){this._array=t,this._length=e,this._start=i,this._stride=r}get length(){return this._length}set 0(t){this._array[this._start+0*this._stride]=t}set 1(t){this._array[this._start+1*this._stride]=t}set 2(t){this._array[this._start+2*this._stride]=t}set 3(t){this._array[this._start+3*this._stride]=t}set 4(t){this._array[this._start+4*this._stride]=t}set 5(t){this._array[this._start+5*this._stride]=t}set 6(t){this._array[this._start+6*this._stride]=t}set 7(t){this._array[this._start+7*this._stride]=t}set 8(t){this._array[this._start+8*this._stride]=t}set 9(t){this._array[this._start+9*this._stride]=t}set 10(t){this._array[this._start+10*this._stride]=t}set 11(t){this._array[this._start+11*this._stride]=t}set 12(t){this._array[this._start+12*this._stride]=t}set 13(t){this._array[this._start+13*this._stride]=t}set 14(t){this._array[this._start+14*this._stride]=t}set 15(t){this._array[this._start+15*this._stride]=t}set 16(t){this._array[this._start+16*this._stride]=t}get 0(){return this._array[this._start+0*this._stride]}get 1(){return this._array[this._start+1*this._stride]}get 2(){return this._array[this._start+2*this._stride]}get 3(){return this._array[this._start+3*this._stride]}get 4(){return this._array[this._start+4*this._stride]}get 5(){return this._array[this._start+5*this._stride]}get 6(){return this._array[this._start+6*this._stride]}get 7(){return this._array[this._start+7*this._stride]}get 8(){return this._array[this._start+8*this._stride]}get 9(){return this._array[this._start+9*this._stride]}get 10(){return this._array[this._start+10*this._stride]}get 11(){return this._array[this._start+11*this._stride]}get 12(){return this._array[this._start+12*this._stride]}get 13(){return this._array[this._start+13*this._stride]}get 14(){return this._array[this._start+14*this._stride]}get 15(){return this._array[this._start+15*this._stride]}get 16(){return this._array[this._start+16*this._stride]}}function Zw(n,t,e=0,i=1){return new Kw(n,t,e,i)}m.Vector=void 0,(n=>{function t(U,...H){if(U=U||Nh(H.length),H.length>U.length)throw new Error("args.length > target.length");return U instanceof Float64Array?U.set(H):M(H,U),U}n.set=t;function e(U,H){const Ot=U.length;for(let Se=0;Se<Ot;++Se)if(!H(U[Se],Se))return!1;return!0}n.every=e;function i(U,H,Ot){const Se=U.length;let Kn=Ot;for(let Qr=0;Qr<Se;++Qr)Kn=H(Kn,U[Qr],Qr);return Kn}n.reduce=i;function*r(U){for(let H=0;H<U.length;++H)yield U[H]}n.itr=r;const s=(U,H)=>U+=H*H;function o(U){return i(U,s,0)}n.magnitudeSquared=o;function a(U){const H=o(U);return Math.sqrt(H)}n.magnitude=a;function l(U,H=1e-5){const Ot=o(U);return Math.abs(Ot-1)<H}n.isNormalized=l;let u;const h=(U,H,Ot)=>U+H*u[Ot];function c(U,H){return P(U,H),u=H,i(U,h,0)}n.dot=c;let d;const g=(U,H,Ot)=>U+=(H-d[Ot])*(H-d[Ot]);function p(U,H){return P(U,H),d=H,i(U,g,0)}n.distanceSquared=p;function y(U,H){return Math.sqrt(p(U,H))}n.distance=y;let w;const S=(U,H)=>U===w[H];function v(U,H){return P(U,H),w=H,e(U,S)}n.equals=v;let _,E;const C=(U,H)=>Math.abs(U-_[H])<E;function b(U,H,Ot=0){return P(U,H),_=H,E=Ot,e(U,C)}n.equalsEpsilon=b;function P(U,H){if(U.length!==H.length)throw new Error("left.length !== right.length")}function x(U,H,Ot){const Se=U.length;Ot=Ot||Nh(Se),P(U,Ot);for(let Kn=0;Kn<Se;++Kn)Ot[Kn]=H(U[Kn],Kn);return Ot}n.op1=x;function O(U,H,Ot,Se){P(U,H),Se&&P(U,Se);const Kn=U.length;Se=Se||Nh(Kn);for(let Qr=0;Qr<Kn;++Qr)Se[Qr]=Ot(U[Qr],H[Qr]);return Se}n.op2=O;const L=U=>U;function M(U,H){return x(U,L,H)}n.clone=M;let A=0;const R=(U,H)=>U*A;function k(U,H,Ot){return A=H,x(U,R,Ot)}n.multiplyByScalar=k;function J(U,H,Ot=0){const Se=o(U);if(Se<=Ot)return;const Kn=Math.sqrt(Se);return k(U,1/Kn,H)}n.normalize=J;function it(U,H){return k(U,-1,H)}n.negate=it;const pt=U=>Math.abs(U);function Ft(U,H){return x(U,pt,H)}n.abs=Ft;const Qt=U=>U-Math.floor(U);function De(U,H){return x(U,Qt,H)}n.fract=De;const kt=(U,H)=>U-H;function At(U,H,Ot){return O(U,H,kt,Ot)}n.subtract=At;const Re=(U,H)=>U+H;function $l(U,H,Ot){return O(U,H,Re,Ot)}n.add=$l;const co=(U,H)=>U*H;function sO(U,H,Ot){return O(U,H,co,Ot)}n.multiply=sO;const oO=(U,H)=>U/H;function aO(U,H,Ot){return O(U,H,oO,Ot)}n.divide=aO;let zp;const lO=(U,H)=>U*(1-zp)+H*zp;function uO(U,H,Ot,Se){return zp=Ot,O(U,H,lO,Se)}n.lerp=uO})(m.Vector||(m.Vector={}));function Dh(n,t=0,e=1){return n<t?t:n>e?e:n}class Rh extends V{constructor(e,i,r,s,o,a,l,u){super();f(this,"__status");f(this,"_statusChangedEvent");f(this,"_forceCancelFunc");f(this,"_startEvent");f(this,"_progressEvent");f(this,"_completeEvent");f(this,"_cancelEvent");f(this,"_cancelledEvent");f(this,"_errorEvent");f(this,"_finishedEvent");f(this,"_processingID",-1);this._startProcessingFunc=e,this.startFunc=i,this.progressFunc=r,this.completeFunc=s,this.cancelFunc=o,this.cancelledFunc=a,this.errorFunc=l,this.finishedFunc=u,this._status="Initial",this.dispose(()=>{var h;return(h=this._statusChangedEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._startEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._progressEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._completeEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._cancelEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._cancelledEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._errorEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._finishedEvent)==null?void 0:h.destroy()}),this.dispose(()=>this.reset())}get startEvent(){return this._startEvent=this._startEvent||new I,this._startEvent}get progressEvent(){return this._progressEvent=this._progressEvent||new I,this._progressEvent}get completeEvent(){return this._completeEvent=this._completeEvent||new I,this._completeEvent}get cancelEvent(){return this._cancelEvent=this._cancelEvent||new I,this._cancelEvent}get cancelledEvent(){return this._cancelledEvent=this._cancelledEvent||new I,this._cancelledEvent}get errorEvent(){return this._errorEvent=this._errorEvent||new I,this._errorEvent}get finishedEvent(){return this._finishedEvent=this._finishedEvent||new I,this._finishedEvent}_completeFunc(e,i){this.processingID===e&&this._status==="Running"&&(this._status="Completed",this.completeFunc&&this.completeFunc(i),this._completeEvent&&this._completeEvent.emit(i),this.finishedFunc&&this.finishedFunc({status:"Completed",value:i}),this._finishedEvent&&this._finishedEvent.emit({status:"Completed",value:i}))}_cancelFunc(e){this._status==="Running"&&(this._status="Cancelling",this.cancelFunc&&this.cancelFunc(e),this._cancelEvent&&this._cancelEvent.emit(e))}_cancelledFunc(e){this._status==="Cancelling"&&(this._status="Cancelled",this.cancelledFunc&&this.cancelledFunc(e),this._cancelledEvent&&this._cancelledEvent.emit(e),this.finishedFunc&&this.finishedFunc({status:"Cancelled",cancelError:e}),this._finishedEvent&&this._finishedEvent.emit({status:"Cancelled",cancelError:e}))}_errorFunc(e,i){this.processingID===e&&this._status==="Running"&&(this._status="Error",this.errorFunc&&this.errorFunc(i),this._errorEvent&&this._errorEvent.emit(i),this.finishedFunc&&this.finishedFunc({status:"Error",error:i}),this._finishedEvent&&this._finishedEvent.emit({status:"Error",error:i}))}_progressFunc(e,i){this.processingID===e&&this._status==="Running"&&(this.progressFunc&&this.progressFunc(i),this._progressEvent&&this._progressEvent.emit(i))}_startFunc(...e){if(this._status==="Initial"){this._status="Running";const i=++this._processingID,r={completeFunc:this._completeFunc.bind(this,i),errorFunc:this._errorFunc.bind(this,i),progressFunc:this._progressFunc.bind(this,i),cancelFunc:this._cancel.bind(this,i),processingID:i},s=this._startProcessingFunc(r,...e);return this._forceCancelFunc=s,this.startFunc&&this.startFunc(...e),this._startEvent&&this._startEvent.emit(...e),i}else return console.warn("this._status !== 'Initial' but start again!"),-1}set _status(e){if(this.__status!==e){const i=this.__status;this.__status=e,this._statusChangedEvent&&this._statusChangedEvent.emit(e,i)}}get _status(){return this.__status}get processingID(){return this._processingID}get statusChangedEvent(){return this._statusChangedEvent||(this._statusChangedEvent=new I),this._statusChangedEvent}reset(e){this._status==="Running"&&this.cancel(e),this._status==="Cancelled"||this._status==="Error"||this._status==="Completed"?this._status="Initial":this._status==="Cancelling"&&console.warn("Cannot reset! (this._status === 'Cancelling')")}get status(){return this._status}cancel(e,i=this.processingID){return this._cancel(i,e)}_cancel(e,i){if(this.processingID===e)if(this._status==="Running"){if(!this._forceCancelFunc)throw new Error("this._forceCancelFunc is undefined!");this._cancelFunc(i);const r=this._forceCancelFunc(i);if(this._forceCancelFunc=void 0,r&&r instanceof Promise)return r.then(()=>{this._cancelledFunc(i)});this._cancelledFunc(i)}else console.warn("this._status !== 'Running' but cancel")}start(...e){try{return this._startFunc(...e)}catch(i){console.error(`processing start error: ${i}`)}}restart(e,...i){try{return this.isRunning&&this.cancel(e),this.isFinished&&this.reset(e),this.isInitial?this._startFunc(...i):(console.warn("restart failed!"),-1)}catch(r){console.error(`processing restart error: ${r}`)}}get isCompleted(){return this._status==="Completed"}get isCancelled(){return this._status==="Cancelled"}get isCancelling(){return this._status==="Cancelling"}get isError(){return this._status==="Error"}get isInitial(){return this._status==="Initial"}get isRunning(){return this._status==="Running"}get isFinished(){return this.isCancelled||this.isCompleted||this.isError}}let Id=class extends Error{};function tm(n,t){typeof n=="function"?n(t):n.cancelFunc=t}class xd extends Rh{constructor(e=300){super(({progressFunc:i,completeFunc:r,errorFunc:s})=>{const[o,a]=Ph(()=>{if(!this._lastDebounceValue)throw new Error("!this._lastDebounceValue");i([this._lastDebounceValue,this._debouncTimes]),this._debouncTimes=0},this._delayTime);return this._d=o,()=>{a()}});f(this,"_lastDebounceValue");f(this,"_debouncTimes",0);f(this,"_d");this._delayTime=e}get delayTime(){return this._delayTime}debounce(...e){this.isRunning?(++this._debouncTimes,this._lastDebounceValue=e,this._d&&this._d()):console.warn("Debouncing is not running!")}}function em(n,t,...e){const i=new AbortController;let r=i.signal,[s,o]=e;if(o!=null&&o.signal)throw console.error("init?.signal"),new Error("init?.signal");o=o||{},o.signal=r;let a=!1;tm(n,()=>{a=!0,i.abort()});let l=fetch(s,o);return t&&(l=l.then(u=>{if(!u.ok)return u;if(!u.body)throw Error("ReadableStream not yet supported in this browser.");const h=u.headers.get("content-length"),c=h?parseInt(h,10):0;let d=0;return new Response(new ReadableStream({start(g){if(!u.body)throw new Error("!response.body");const p=u.body.getReader();y();function y(){p.read().then(({done:w,value:S})=>{if(w){g.close();return}if(!S)throw new Error("!value");if(!t)throw new Error("!progressFunc");d+=S.byteLength,t(d,c),g.enqueue(S),y()}).catch(w=>{g.error(w)})}}}),{status:u.status,statusText:u.statusText,headers:u.headers})}).catch(u=>{throw a?(u instanceof Error&&u.code!==20&&console.error("error.code !== 20"),console.log("fetching cancelled!"),new Id("fetching cancelled!")):(u instanceof Error&&u.code===20&&console.error("error.code === 20"),u)})),l}function nm(...n){if(n.length>=1)if(typeof n[0]=="function"||typeof n[0]>"u"){const t={};let e=em(t,...n);const{cancelFunc:i}=t;if(!i)throw new Error("!cancelResult.cancelFunc");return[i,e]}else return em(...n);throw new Error("cancelableFetch args error!")}class t1 extends Rh{constructor(e,...i){super(({progressFunc:r,completeFunc:s,errorFunc:o},...a)=>{const l={};let u={loaded:0,total:0};const h=(g,p)=>{u.loaded=g,u.total=p,r(u)},c=this._fetchArgs||a;if(c.length===0)throw new Error("fetchArgs.length === 0");if(nm(l,h,...c).then(e).then(s).catch(g=>{g instanceof Id||o(g)}),!l.cancelFunc)throw new Error("!cancelResult.cancelFunc");return l.cancelFunc});f(this,"_fetchArgs");i.length>0&&(this._fetchArgs=i)}get fetchArgs(){return this._fetchArgs}}function Md(n,t,e,i){const r="_"+t,s="_"+t+"Changed",o=t+"Changed";Object.defineProperties(n.prototype,{[t]:{get(){return typeof this[r]>"u"&&typeof e<"u"&&(this[r]=e),this[r]},set(a){if(typeof this[r]>"u"&&typeof e<"u"&&(this[r]=e),i?!i(this[r],a):this[r]!==a){const l=this[r];this[r]=a,this[s]&&this[s].emit(a,l)}}},[o]:{get(){return typeof this[s]>"u"&&(this[s]=new I,typeof this.dispose<"u"&&this.dispose(()=>this[s].destroy())),this[s]}}})}class Td extends Rh{constructor(e,i=!0){super(({progressFunc:r,completeFunc:s,errorFunc:o})=>(this._intervalFunc=r,this._intervalID&&console.error("this._intervalID should be undefined!"),this.leading&&r(),this._intervalID=setInterval(r,this.intervalTime),()=>{if(!this._intervalID)throw console.error("this._intervalID should not be undefined!"),new Error("this._intervalID should not be undefined!");clearInterval(this._intervalID),this._intervalID=void 0}));f(this,"_intervalID");f(this,"_intervalFunc");this.intervalTime=e,this.leading=i,this.dispose(this.intervalTimeChanged.disposableOn(()=>{this._intervalID&&this._intervalFunc&&(clearInterval(this._intervalID),this._intervalID=setInterval(this._intervalFunc,this.intervalTime))}))}}Md(Td,"leading",!0),Md(Td,"intervalTime",500);function e1(n,t){let e,i;const r=new Promise((o,a)=>{i=a,e=globalThis.setTimeout(()=>{e=void 0,o()},n)}),s=o=>{e&&(clearTimeout(e),e=void 0),i&&i(o??new Id("sleep cancel error!"))};if(typeof t=="boolean"&&t)return[s,r];if(t)return tm(t,s),r}class n1{constructor(t=0,e=0,i=0,r,s){f(this,"_processData");f(this,"_lastUpdateTimeStamp",0);this.startTime=t,this.duration=e,this.delay=i,this.proccessFunc=r,this.completeFunc=s,this._processData={ratio:0,timeStamp:0,timeStampFromStart:0,timeStampFromLastUpdate:0}}update(t){const e=(t-this.startTime)/this.duration;e>=0&&(this._processData.ratio=e,this._processData.timeStamp=t,this._processData.timeStampFromStart=t-this.startTime,this._processData.timeStampFromLastUpdate=t-this._lastUpdateTimeStamp,this._lastUpdateTimeStamp=t,this.proccessFunc&&this.proccessFunc(this._processData),e>=1&&this.completeFunc&&this.completeFunc())}start(){this.startTime=performance.now()+this.delay,this._lastUpdateTimeStamp=this.startTime}}class im extends Rh{constructor(e=1e3,i=0,r=Th){let s;function o(){s&&s()}super(({progressFunc:l,completeFunc:u,errorFunc:h})=>{const c=this.startUpdateFunc&&this.startUpdateFunc(this._base.update.bind(this._base))||void 0;return this._base.startTime=performance.now(),this._base.duration=this.duration,this._base.delay=this.delay,this._base.proccessFunc=l,this._base.completeFunc=()=>{c&&c(),u()},this._base.start(),s=c,o});f(this,"_base");f(this,"duration");f(this,"delay");f(this,"startUpdateFunc");this._base=new n1,this.duration=e,this.delay=i,this.startUpdateFunc=r}get startTime(){return this._base.startTime}}class i1 extends V{constructor(e){super();f(this,"_target",0);f(this,"_current",0);f(this,"_start",0);f(this,"_timing",new im(Number.POSITIVE_INFINITY));f(this,"_currentChanged");this._duration=e,this._timing.progressFunc=({ratio:i})=>{i=i<0?0:i>1?1:i;const r=this._start*(1-i)+this._target*i;this._current=r,this._currentChanged&&this._currentChanged.emit(this._target,this._current)},this.dispose(()=>{this._timing.isRunning&&this._timing.cancel(),this._timing.destroy()})}reset(e,i=e){this._timing.isRunning&&this._timing.cancel(),this._target=e,this._current=i,this._start=e}set target(e){if(this._target!==e){this._target=e,this._timing.isRunning&&this._timing.cancel(),this._timing.reset(),this._start=this._current;const i=Math.abs(this._target-this._start);this._timing.duration=i*this._duration,this._timing.start()}}get target(){return this._target}get current(){return this._current}get currentChanged(){return this._currentChanged||(this._currentChanged=new I),this._currentChanged}}function rm(n,t){t=t||[];const e=n.parentNode;return e?rm(e,t.concat(e)):t}function r1(n){const t=n.composedPath&&n.composedPath()||n.path,e=n.target;if(t!=null)return t.indexOf(window)<0?t.concat(window):t;if(e===window)return[window];if(e===null)throw new Error("target === null");return[e].concat(rm(e),window)}function In(n,t=!1){const{offsetX:e,offsetY:i}=n;let r=e,s=i;{const o=r1(n);for(let a=0;a<o.length;++a){const l=o[a];if(l!==n.currentTarget&&l instanceof HTMLElement)r+=l.clientLeft,s+=l.clientTop,r+=l.offsetLeft,s+=l.offsetTop;else break}}return t?[r*window.devicePixelRatio,s*window.devicePixelRatio]:[r,s]}function pa(n,t=!1){const e=n.target,i=n.currentTarget||n.__xbsj_lastCurrentTarget__;if(!e||!i)return[n.clientX,n.clientY];const r=e.getBoundingClientRect(),s=i.getBoundingClientRect(),o=r.left+n.offsetX,a=r.top+n.offsetY,l=o-s.left,u=a-s.top;return t?[l*window.devicePixelRatio,u*window.devicePixelRatio]:[l,u]}class sm extends V{constructor(e){super();f(this,"_clickEvent",new I);f(this,"_dbclickEvent",new I);f(this,"_downEvent",new I);f(this,"_upEvent",new I);f(this,"_moveEvent",new I);f(this,"_debouncing",new xd(300));this.dispose(()=>{this._clickEvent.destroy(),this._dbclickEvent.destroy(),this._downEvent.destroy(),this._upEvent.destroy(),this._moveEvent.destroy(),this._debouncing.destroy()});let i=!1,r=[0,0],s=!1;this._debouncing.progressFunc=([[h,c,d],g])=>{g===1?this._clickEvent.emit(h,c,d):g>=2?this._dbclickEvent.emit(h,c,d):console.error("point click should not be here!")},this._debouncing.start(),this.dispose(()=>{this._debouncing.isRunning&&this._debouncing.cancel(),this._debouncing.destroy()});const o=h=>{i=!0;const[c,d]=In(h);r[0]=c,r[1]=d,this._downEvent.emit(c,d,h)},a=h=>{const[c,d]=In(h);i&&!s&&this._debouncing.debounce(c,d,h),i=!1,s=!1,this._upEvent.emit(c,d,h)},l=h=>{const[c,d]=In(h);if(i&&!s){const[g,p]=r;(Math.abs(c-g)>3||Math.abs(d-p)>3)&&(s=!0)}this._moveEvent.emit(c,d,h)},u=()=>{i=!1,s=!1};e.addEventListener("pointerdown",o),e.addEventListener("pointerup",a),e.addEventListener("pointermove",l),e.addEventListener("pointerout",u),this.dispose(()=>{e.removeEventListener("pointerdown",o),e.removeEventListener("pointerup",a),e.removeEventListener("pointermove",l),e.removeEventListener("pointerout",u)})}get clickEvent(){return this._clickEvent}get dbclickEvent(){return this._dbclickEvent}get downEvent(){return this._downEvent}get upEvent(){return this._upEvent}get moveEvent(){return this._moveEvent}}class Nd extends V{constructor(){super();f(this,"_pickRectEvent",this.disposeVar(new I));f(this,"_updateRectEvent",this.disposeVar(new I));f(this,"_pointerActionEvent",this.disposeVar(new I));f(this,"_active",this.disposeVar(B(!1)));f(this,"_pickRect",{left0:0,top0:0,left1:0,top1:0});let e=0,i=0,r=0,s=0;this.dispose(this._pointerActionEvent.disposableOn(({type:o,left:a,top:l})=>{o==="PointerDown"?(this._active.value=!0,e=a,i=l,r=a,s=l,this._setPickRect({left0:e,top0:i,left1:r,top1:s}),this._updateRectEvent.emit(this._pickRect)):o==="PointerMove"?this._active.value&&(r=a,s=l,this._setPickRect({left0:e,top0:i,left1:r,top1:s}),this._updateRectEvent.emit(this._pickRect)):o==="PointerUp"&&this._active.value&&(this._active.value=!1,r=a,s=l,this._setPickRect({left0:e,top0:i,left1:r,top1:s}),this._updateRectEvent.emit(this._pickRect),this._pickRectEvent.emit(this._pickRect))}))}_setPickRect({left0:e,left1:i,top0:r,top1:s}){this._pickRect.left0=e,this._pickRect.left1=i,this._pickRect.top0=r,this._pickRect.top1=s}pointerDown(e,i){this._pointerActionEvent.emit({type:"PointerDown",left:e,top:i})}pointerMove(e,i){this._pointerActionEvent.emit({type:"PointerMove",left:e,top:i})}pointerUp(e,i){this._pointerActionEvent.emit({type:"PointerUp",left:e,top:i})}reset(){this._setPickRect({left0:0,top0:0,left1:0,top1:0}),this._updateRectEvent.emit(this._pickRect),this._pickRectEvent.emit(this._pickRect)}get activeEvent(){return this._active.changed}get updateRectEvent(){return this._updateRectEvent}get pickRectEvent(){return this._pickRectEvent}static getLeftTopAndSize(e,i){i=i||{left:0,top:0,width:0,height:0,forward:!0};const{left0:r,top0:s,left1:o,top1:a}=e;return i.width=Math.abs(r-o),i.height=Math.abs(s-a),i.left=Math.min(r,o),i.top=Math.min(s,a),i.forward=o>r,i}static contains(e,i,r){const{left:s,top:o,width:a,height:l}=r;return e>s&&e<=s+a&&i>=o&&i<=o+l}}class s1 extends Nd{constructor(t){super();const e=this.disposeVar(new sm(t));this.dispose(e.downEvent.disposableOn((o,a,l)=>l.altKey&&this.pointerDown(o,a))),this.dispose(e.moveEvent.disposableOn((o,a)=>this.pointerMove(o,a))),this.dispose(e.upEvent.disposableOn((o,a)=>this.pointerUp(o,a)));const i=document.createElement("div");i.style.backgroundColor="rgba(0, 0, 0, 0)",i.style.border="2px dashed red",i.style.position="absolute",i.style.boxSizing="border-box",i.style.pointerEvents="none",i.style.height="0px",i.style.width="0px",i.style.left="0px",i.style.top="0px",i.style.display="none",t.appendChild(i),this.dispose(()=>t.removeChild(i)),this.dispose(this.activeEvent.disposableOn(o=>{i.style.display=o?"block":"none"}));const r=()=>{this.reset()};t.addEventListener("contextmenu",r),this.dispose(()=>t.removeEventListener("contextmenu",r));const s={left:0,top:0,width:0,height:0,forward:!1};this.dispose(this.updateRectEvent.disposableOn(o=>{if(Nd.getLeftTopAndSize(o,s)){const{left:a,top:l,width:u,height:h}=s;i.style.height=`${h|0}px`,i.style.width=`${u|0}px`,i.style.left=`${a|0}px`,i.style.top=`${l|0}px`}}))}}class qi extends Error{}function Os(n,t){Zn(n,"_promise_cancel")&&console.warn("setPromiseCancel warn: promise has cancelFunc!"),wr(n,"_promise_cancel",t)}function ma(n){return Zn(n,"_promise_cancel")}function va(n){return!!ma(n)}function Od(n,t){const e=ma(n);return e?(e(t),!0):!1}function Dd(n){const[t,e]=n;return Os(e,t),e}function Ah(n){let t;const e=new Promise((i,r)=>{t=r,n.then(i).catch(r)});return Os(e,t),e}function o1(n){let t,e;var i=new Promise((r,s)=>{e=n.disposableOn((...o)=>{e&&e(),r(o)}),t=o=>{e&&e(),s(o)}});return[t,i]}function a1(n){const t=new I,e=new I;return n.then(i=>{t.isDestroyed()||t.emit(i)}).catch(i=>{e.isDestroyed()||e.emit(i)}),[t,e]}class Rd extends V{constructor(){super();f(this,"_cancelled",!1);f(this,"_cancelError");f(this,"_promiseSet",new Set);f(this,"_disposer")}get disposer(){return this._disposer=this._disposer||new V,this._disposer}destroyImp(){this.finally()}cancel(e){var i;if(!this._cancelled){this._cancelled=!0,(i=this._disposer)==null||i.destroy(),this._cancelError=e;for(let r of this._promiseSet)Od(r);this._promiseSet.clear()}}get cancelFuncsNum(){return nu(this._promiseSet,e=>e+1,0)}finally(){this._disposer&&!this._disposer.isDestroyed()&&this._disposer.destroy(),this._promiseSet.clear()}check(){if(this._cancelled)throw this._cancelError??new qi("cancel from CancelManager!")}promise(e){return this._promiseSet.add(e),e.finally(()=>(this._promiseSet.delete(e),this.check()))}promiseAny(e){const i=[],r=e.map(s=>(this._promiseSet.add(s),va(s)&&i.push(ma(s)),s.finally(()=>this._promiseSet.delete(s))));return Promise.any(r).finally(()=>(i.forEach((s=>s(new qi("cancel from promiseAny!")))),i.length=0))}promiseAll(e){const i=[],r=e.map(s=>(this._promiseSet.add(s),va(s)&&i.push(ma(s)),s.finally(()=>this._promiseSet.delete(s))));return Promise.all(r).finally(()=>(i.forEach((s=>s(new qi("cancel from promiseAll!")))),i.length=0))}promiseRace(e){const i=[],r=e.map(s=>(this._promiseSet.add(s),va(s)&&i.push(ma(s)),s.finally(()=>this._promiseSet.delete(s))));return Promise.race(r).finally(()=>(i.forEach((s=>s(new qi("cancel from promiseRace!")))),i.length=0))}}class Le extends V{constructor(e){super();f(this,"_status","Initial");f(this,"_completeEvent");f(this,"_errorEvent");f(this,"_completeFunc");f(this,"_errorFunc");f(this,"_cancelFunc");f(this,"_runningId",-1);this._startFunc=e,this.dispose(()=>this.isRunning&&this.cancel())}get errorEvent(){return this._errorEvent||(this._errorEvent=new I),this._errorEvent}get completeEvent(){return this._completeEvent||(this._completeEvent=new I),this._completeEvent}get errorFunc(){return this._errorFunc}get completeFunc(){return this._completeFunc}set errorFunc(e){this._errorFunc!==e&&(this._errorFunc=e)}set completeFunc(e){this._completeFunc!==e&&(this._completeFunc=e)}start(...e){if(this._status!=="Initial")return;const i=++this._runningId;this._status="Running",this._cancelFunc=this._startFunc({completeFunc:r=>{var s;i===this._runningId&&this._status==="Running"&&(this._status="Completed",this._completeFunc&&this._completeFunc(r),(s=this._completeEvent)==null||s.emit(r))},errorFunc:r=>{var s;i===this._runningId&&this._status==="Running"&&(this._status="Error",this._errorFunc&&this._errorFunc(r),(s=this._errorEvent)==null||s.emit(r))},runningingID:i},...e)}cancel(e=new qi("")){var i;if(this._status==="Running"){if(!this._cancelFunc)throw new Error("!this._cancelFunc");this._status="Error",this._errorFunc&&this._errorFunc(e),(i=this._errorEvent)==null||i.emit(e),this._cancelFunc(e),this._cancelFunc=void 0}}reset(){this._status==="Running"&&console.error("processing cannot reset while running. you can first cancel it!"),(this._status==="Completed"||this._status==="Error")&&(this._status="Initial")}get status(){return this._status}get isInitial(){return this._status==="Initial"}get isRunning(){return this._status==="Running"}get isCompleted(){return this._status==="Completed"}get isError(){return this._status==="Error"}get runningId(){return this._runningId}restart(e=new qi(""),...i){this.isRunning&&this.cancel(e),this.reset(),this.start(...i)}restartIfNotRunning(...e){this.isRunning||(this.reset(),this.start(...e))}}function ru(n){return(t,...e)=>{const i=new Rd,{completeFunc:r,errorFunc:s}=t,o=n(i,...e).then(r).catch(s).finally(()=>i.destroy());return Os(o,i.cancel.bind(i)),a=>Od(o,a)}}class l1 extends Le{constructor(){super(({errorFunc:e},i,r)=>{try{const[s,o]=Ph(i,r);return this._doFunc=s,o}catch(s){return e(s),()=>{}}});f(this,"_doFunc")}do(...e){this._doFunc&&this._doFunc(...e)}}class u1 extends Le{constructor(e,i){super(({errorFunc:r})=>{try{const[s,o]=Ph(e,i);return this._doFunc=s,o}catch(s){return r(s),()=>{}}});f(this,"_doFunc")}do(...e){this._doFunc&&this._doFunc(...e)}}function h1(n){return new Le(ru((t,...e)=>t.promise(n(...e))))}function c1(n,...t){return new Le(ru(e=>e.promise(n(...t))))}function Lh(n){return h1((...t)=>{const e=n(...t);return va(e)?e:Ah(e)})}function Ad(n,...t){return c1(()=>{const e=n(...t);return va(e)?e:Ah(e)})}function d1(n){let t;const e=new Promise((i,r)=>{t=()=>{n(),r()}});return Os(e,t),e}function f1(n,...t){const e=new Rd,i=n(e,...t).finally(()=>e.destroy());return Os(i,e.cancel.bind(e)),i}function gi(n){return new Le(ru(n))}function g1(n,...t){return new Le(ru(e=>n(e,...t)))}function om(n,...t){const e=new AbortController;let i=e.signal,[r,s]=t;if(s!=null&&s.signal)throw console.error("init?.signal"),new Error("init?.signal");s=s||{},s.signal&&console.warn("revocableFetch error: init.signal would be override!"),s.signal=i;let o=!1;const a=()=>{o=!0,e.abort()};let l=fetch(r,s);return n&&(l=l.then(u=>{if(!u.ok)return u;if(!u.body)throw Error("ReadableStream not yet supported in this browser.");const h=u.headers.get("content-length");h||console.warn("response.headers.get('content-length') is undefined... cannot get contentLength!");const c=h?parseInt(h,10):0;let d=0;return new Response(new ReadableStream({start(g){if(!u.body)throw new Error("!response.body");const p=u.body.getReader();y();function y(){p.read().then(({done:w,value:S})=>{if(w){g.close();return}if(!S)throw new Error("!value");if(!n)throw new Error("!progressFunc");d+=S.byteLength,n(d,c),g.enqueue(S),y()}).catch(w=>{g.error(w)})}}}),{status:u.status,statusText:u.statusText,headers:u.headers})}).catch(u=>{throw o?(u instanceof Error&&u.code!==20&&console.error("error.code !== 20"),console.log("fetching cancelled!"),new qi(`fetching cancelled! error: ${u}`)):(u instanceof Error&&u.code===20&&console.error("error.code === 20"),u)})),Os(l,a),l}function p1(n,...t){return om(n,...t)}function Ld(...n){return om(void 0,...n)}function m1(){return Lh(Ld)}function v1(...n){return Ad(Ld,...n)}function Fd(n,...t){let e=-1;var i=new Promise((r,s)=>{n.isRunning&&n.cancel(),n.reset();const o=new V;o.dispose(n.completeEvent.disposableOn(a=>{if(r(a),o.isDestroyed()){debugger;console.error(`disposer is destroyed! ${o}`);return}o.destroy()})),o.dispose(n.errorEvent.disposableOn(a=>{if(s(a),o.isDestroyed()){debugger;console.error(`disposer is destroyed! ${o}`);return}o.destroy()})),n.start(...t),e=n.runningId});return[r=>e===n.runningId&&n.isRunning&&n.cancel(r),i]}function Cr(n,t,...e){try{return t(...e)}catch(i){n(i)}}function y1(){return new Le(({completeFunc:n,errorFunc:t},e)=>ga(()=>Cr(t,()=>{e&&e(),n()})))}function _1(n){return new Le(({completeFunc:t,errorFunc:e})=>ga(()=>Cr(e,()=>{n&&n(),t()})))}function w1(){return new Le(({completeFunc:n,errorFunc:t},e)=>Kl(()=>{Cr(t,()=>{e&&e(),n()})}))}function E1(n){return new Le(({completeFunc:t,errorFunc:e})=>Kl(()=>{Cr(e,()=>{n&&n(),t()})}))}function am(){return new Le(({completeFunc:n,errorFunc:t},e,i)=>yd(()=>{Cr(t,()=>{e&&e(),n()})},i??1e3))}function lm(n,t){return new Le(({completeFunc:e,errorFunc:i})=>yd(()=>{Cr(i,()=>{n&&n(),e()})},t??1e3))}function C1(){return new Le(({errorFunc:n},t,e=1e3)=>vd(()=>Cr(n,t),e))}function S1(n,t=1e3){return new Le(({errorFunc:e})=>vd(()=>Cr(e,n),t))}function su(){return new Le(({errorFunc:n},t)=>Ih(e=>Cr(n,t,e)))}function ya(n){return new Le(({errorFunc:t})=>Ih(e=>Cr(t,n,e)))}function ou(n,...t){let e,i;const r=new Promise((o,a)=>{i=a,e=globalThis.setTimeout(()=>{e=void 0,o(t)},n)});return Os(r,o=>{e&&(clearTimeout(e),e=void 0),i&&i(o??new qi("sleep cancel error!"))}),r}function b1(){return Lh(ou)}function P1(n,...t){return Ad(ou,n,...t)}function mo(n,t,...e){return n.promise(Dd(Fd(gi(async(i,...r)=>(n.disposer.dispose(()=>{i.isDestroyed()||i.cancel()}),await t(i,...r))),...e)))}function I1(n,t,...e){return n.promise(Dd(Fd(t,...e)))}class x1 extends Le{constructor(){super(({errorFunc:e},i,r)=>{try{const[s,o]=bd(i,r);return this._doFunc=s,o}catch(s){return e(s),()=>{}}});f(this,"_doFunc")}do(...e){this._doFunc&&this._doFunc(...e)}}class M1 extends Le{constructor(e,i){super(({errorFunc:r})=>{try{const[s,o]=bd(e,i);return this._doFunc=s,o}catch(s){return r(s),()=>{}}});f(this,"_doFunc")}do(...e){this._doFunc&&this._doFunc(...e)}}class Fh extends V{constructor(e=1e3,i=Th){super();f(this,"_speed");f(this,"_speedChangedEvent");f(this,"_duration");f(this,"_durationChangedEvent");f(this,"_loop");f(this,"startUpdateFunc");f(this,"_updateBindThis");f(this,"_cancelStartUpdateFunc");f(this,"_startTimeStamp");f(this,"_playingChangedEvent");f(this,"_startPlayingEvent");f(this,"_stopPlayingEvent");f(this,"_loopChangedEvent");f(this,"_currentTime",this.disposeVar(B(0)));this._speed=1,this._duration=e,this._loop=!1,this.startUpdateFunc=i,this._updateBindThis=this._update.bind(this),this.dispose(()=>{this._cancelStartUpdateFunc&&(this._cancelStartUpdateFunc(),this._cancelStartUpdateFunc=void 0)}),this._startTimeStamp=Number.NaN,this.dispose(()=>{this._startPlayingEvent&&this._startPlayingEvent.reset(),this._stopPlayingEvent&&this._stopPlayingEvent.reset()})}get startPlayingEvent(){return this._startPlayingEvent=this._startPlayingEvent||new I,this._startPlayingEvent}get stopPlayingEvent(){return this._stopPlayingEvent=this._stopPlayingEvent||new I,this._stopPlayingEvent}get currentTimeChangedEvent(){return this._currentTime.changed}get loopChangedEvent(){return this._loopChangedEvent=this._loopChangedEvent||new I,this._loopChangedEvent}set loop(e){this._loop!==e&&(this._loop=e,this._loopChangedEvent&&this._loopChangedEvent.emit(this._loop))}get loop(){return this._loop}_update(e){if(Number.isNaN(this._startTimeStamp))console.warn("Number.isNaN(this._startTimeStamp)");else{const i=(e-this._startTimeStamp)*this._speed;this._setCurrentTimeInner(i)}}get currentTime(){return this._currentTime.value}set currentTime(e){this._setCurrentTimeInner(e),this._resetStartTime()}_setCurrentTimeInner(e){this._currentTime.value!==e&&(this._duration<=0?this._currentTime.value=0:e<0?this.loop?this._currentTime.value=this._duration+e%this._duration:(this._currentTime.value=0,this.playing&&this._stopPlaying()):e>this._duration?this.loop?this._currentTime.value=e%this._duration:(this._currentTime.value=this._duration,this.playing&&this._stopPlaying()):this._currentTime.value=e)}get durationChangedEvent(){return this._durationChangedEvent||(this._durationChangedEvent=new I),this._durationChangedEvent}get duration(){return this._duration}set duration(e){var i;if(e<0)console.warn("duration sholud greater than 0!");else if(this._duration!==e){const r=this._duration;this._duration=e,this._currentTime.value>this._duration&&(this._currentTime.value=this._duration),(i=this._durationChangedEvent)==null||i.emit(this._duration,r)}}get speedChangedEvent(){return this._speedChangedEvent||(this._speedChangedEvent=new I),this._speedChangedEvent}get speed(){return this._speed}set speed(e){var i;if(this._speed!==e&&e!==0){const r=this._speed;this._speed=e,this._resetStartTime(),(i=this._speedChangedEvent)==null||i.emit(this._speed,r)}}_resetStartTime(){this._startTimeStamp=performance.now()-this._currentTime.value/this._speed}_startPlaying(){var e,i;this._resetStartTime(),this._cancelStartUpdateFunc=this.startUpdateFunc(this._updateBindThis),(e=this._startPlayingEvent)==null||e.emit(this._currentTime.value),(i=this._playingChangedEvent)==null||i.emit(!0)}_stopPlaying(){var e,i;if(!this._cancelStartUpdateFunc)throw new Error("this._cancelStartUpdateFunc is undefined!");this._cancelStartUpdateFunc(),this._cancelStartUpdateFunc=void 0,(e=this._stopPlayingEvent)==null||e.emit(this._currentTime.value),(i=this._playingChangedEvent)==null||i.emit(!1)}get playingChangedEvent(){return this._playingChangedEvent||(this._playingChangedEvent=new I),this._playingChangedEvent}get playing(){return!!this._cancelStartUpdateFunc}set playing(e){!!this._cancelStartUpdateFunc!==e&&(e?this._startPlaying():this._stopPlaying())}}class au extends V{constructor(e){super();f(this,"_stop",this.disposeVar(B(0)));f(this,"_current",this.disposeVar(B(0)));f(this,"_start",this.disposeVar(B(0)));f(this,"_player",this.disposeVar(new Fh(200)));this.dispose(this._player.currentTimeChangedEvent.disposableOn(i=>{let r=i/this._player.duration;r=r>1?1:r<0?0:r;const s=this._start.value,o=this._stop.value;this._current.value=s+(o-s)*r})),this.duration=e}get current(){return this._current.value}get currentChanged(){return this._current.changed}get source(){return this._start.value}get sourceChanged(){return this._start.changed}get target(){return this._stop.value}get targetChanged(){return this._stop.changed}get duration(){return this._player.duration}set duration(e){this._player.duration=e}set target(e){this._start.value=this._current.value,this._stop.value=e,this._player.currentTime=0,this._player.playing=!0}reset(e){this._start.value=e,this._current.value=e,this._stop.value=e,this._player.playing=!1}}let um=-1;class oe extends I{constructor(t,e,i,r){super(),this._domElement=t,this._type=e,this.callback=r;const s=o=>(o.__xbsj_listenerNo__=++um,o.__xbsj_listenerTime__=Date.now(),o.__xbsj_lastCurrentTarget__=o.currentTarget,this.emit(o),this.callback&&this.callback(o));this._domElement.addEventListener(this._type,s,i),this.dispose(()=>this._domElement.removeEventListener(this._type,s,i))}static getLastLisenNo(){return um}static getCurrentTarget(t){return t.__xbsj_lastCurrentTarget__}static getListenerNo(t){return t.__xbsj_listenerNo__}static getListenerTime(t){return t.__xbsj_listenerTime__}static on(t,e){const i=oe.getLastLisenNo();return t.disposableOn(r=>{const s=oe.getListenerNo(r);(s===void 0||s>i)&&e(r)})}get element(){return this._domElement}static create(t,e,i){return new oe(t,e,i)}}class kd extends V{constructor(){super();f(this,"_clickEvent",this.disposeVar(new I));f(this,"_dbclickEvent",this.disposeVar(new I));f(this,"_pointerdownEvent",this.disposeVar(new I));f(this,"_pointerupEvent",this.disposeVar(new I));f(this,"_pointermoveEvent",this.disposeVar(new I));f(this,"_pointeroutEvent",this.disposeVar(new I));f(this,"dbClickDelayTime",300);f(this,"nativeClickDelayTime",500);f(this,"clickMovementTolerantPixelSize",3);f(this,"debugging",!1);f(this,"_enabled",this.disposeVar(B(!0)));const e=this.disposeVar(gi(async r=>{do{const s=await mo(r,l=>new Promise((u,h)=>{l.disposer.dispose(h),l.disposer.dispose(oe.on(this._pointerdownEvent,u))})),o=In(s);if(this.debugging&&console.log(`鼠标按下 ${o.toString()}`),!await mo(r,l=>new Promise((u,h)=>{l.disposer.dispose(h);const c=setTimeout(()=>u(!0),this.nativeClickDelayTime);l.disposer.dispose(()=>clearTimeout(c)),l.disposer.dispose(oe.on(this._pointermoveEvent,d=>{const[g,p]=In(d),[y,w]=o;(Math.abs(g-y)>3||Math.abs(p-w)>3)&&u(!1)})),l.disposer.dispose(oe.on(this._pointeroutEvent,()=>u(!1))),l.disposer.dispose(oe.on(this._pointerupEvent,()=>u(!0)))}))){this.debugging&&console.log("取消1");continue}const a=await mo(r,l=>new Promise((u,h)=>{l.disposer.dispose(h);const c=setTimeout(()=>u("timeout"),this.dbClickDelayTime);l.disposer.dispose(()=>clearTimeout(c)),l.disposer.dispose(oe.on(this._pointermoveEvent,d=>{const[g,p]=In(d),[y,w]=o;(Math.abs(g-y)>3||Math.abs(p-w)>3)&&u("moved")})),l.disposer.dispose(oe.on(this._pointerdownEvent,u)),l.disposer.dispose(oe.on(this._pointeroutEvent,()=>u("pointouted"))),l.disposer.dispose(oe.on(this._pointerupEvent,()=>u("pointuped")))}));if(typeof a=="string"){this.debugging&&console.log(`触发单击事件!取消双击监听!error: ${a}`),this._clickEvent.emit(s);continue}if(!await mo(r,l=>new Promise((u,h)=>{l.disposer.dispose(h);const c=setTimeout(()=>u(!1),this.nativeClickDelayTime);l.disposer.dispose(()=>clearTimeout(c)),l.disposer.dispose(oe.on(this._pointermoveEvent,d=>{const[g,p]=In(d),[y,w]=o;(Math.abs(g-y)>3||Math.abs(p-w)>3)&&u(!1)})),l.disposer.dispose(oe.on(this._pointeroutEvent,()=>u(!1))),l.disposer.dispose(oe.on(this._pointerupEvent,()=>u(!0)))}))){this.debugging&&console.log("取消2");continue}this.debugging&&console.log("触发双击事件!"),this._dbclickEvent.emit(a)}while(!0)})),i=r=>{r?e.restart():e.isRunning&&e.cancel()};i(this.enabled),this.dispose(this.enabledChanged.disposableOn(i))}get clickEvent(){return this._clickEvent}get dbclickEvent(){return this._dbclickEvent}pointerDown(e){this._pointerdownEvent.emit(e)}pointerUp(e){this._pointerupEvent.emit(e)}pointerMove(e){this._pointermoveEvent.emit(e)}pointerOut(e){this._pointeroutEvent.emit(e)}get enabled(){return this._enabled.value}set enabled(e){this._enabled.value=e}get enabledChanged(){return this._enabled.changed}}class T1 extends V{constructor(e,i){super();f(this,"_pointerClick",this.disposeVar(new kd));this._div=e;const{div:r,pointerClick:s}=this,o=h=>s.pointerDown(h),a=h=>s.pointerMove(h),l=h=>s.pointerOut(h),u=h=>s.pointerUp(h);r.addEventListener("pointerdown",o,i),r.addEventListener("pointermove",a,i),r.addEventListener("pointerout",l,i),r.addEventListener("pointerup",u,i),this.dispose(()=>{r.removeEventListener("pointerdown",o,i),r.removeEventListener("pointermove",a,i),r.removeEventListener("pointerout",l,i),r.removeEventListener("pointerup",u,i)})}get div(){return this._div}get pointerClick(){return this._pointerClick}get clickEvent(){return this.pointerClick.clickEvent}get dbclickEvent(){return this.pointerClick.dbclickEvent}}class hm extends V{constructor(){super();f(this,"_hoverEvent",this.disposeVar(new I));f(this,"_hoverOutEvent",this.disposeVar(new I));f(this,"_pointerdownEvent",this.disposeVar(new I));f(this,"_pointerupEvent",this.disposeVar(new I));f(this,"_pointermoveEvent",this.disposeVar(new I));f(this,"_pointeroutEvent",this.disposeVar(new I));f(this,"delayTime",800);const e=this.disposeVar(am()),i=u=>{this._hoverOutEvent.emit()},r=u=>{this._hoverOutEvent.emit()};let s;const o=()=>{if(!s){console.warn("!lastPointerEvent");return}this._hoverEvent.emit(s)},a=u=>{s=u,e.restart(void 0,o,this.delayTime),this._hoverOutEvent.emit()},l=u=>{e.cancel(),this._hoverOutEvent.emit()};this.dispose(this._pointerdownEvent.disposableOn(i)),this.dispose(this._pointerupEvent.disposableOn(r)),this.dispose(this._pointermoveEvent.disposableOn(a)),this.dispose(this._pointeroutEvent.disposableOn(l))}get hoverEvent(){return this._hoverEvent}get hoverOutEvent(){return this._hoverOutEvent}pointerDown(e){this._pointerdownEvent.emit(e)}pointerUp(e){this._pointerupEvent.emit(e)}pointerMove(e){this._pointermoveEvent.emit(e)}pointerOut(e){this._pointeroutEvent.emit(e)}}class N1 extends V{constructor(e,i=1500){super();f(this,"_hoverEvent",new I);f(this,"_hoverOutEvent",new I);const r=new xd(i);this.dispose(()=>r.destroy());let s=0,o=0,a;r.progressFunc=()=>this._hoverEvent.emit(s,o,a);const l=d=>{!r.isRunning&&r.restart(),a=d,[s,o]=In(d),r.debounce(),this._hoverOutEvent.emit()},u=d=>{!r.isRunning&&r.restart(),a=d,[s,o]=In(a),r.debounce(),this._hoverOutEvent.emit()},h=d=>{!r.isRunning&&r.restart(),a=d,[s,o]=In(a),r.debounce(),this._hoverOutEvent.emit()},c=d=>{r.isRunning&&r.cancel(),this._hoverOutEvent.emit()};e.addEventListener("pointerdown",l),e.addEventListener("pointerup",u),e.addEventListener("pointermove",h),e.addEventListener("pointerout",c),this.dispose(()=>{e.removeEventListener("pointerdown",l),e.removeEventListener("pointerup",u),e.removeEventListener("pointermove",h),e.removeEventListener("pointerout",c)})}get hoverEvent(){return this._hoverEvent}get hoverOutEvent(){return this._hoverOutEvent}}class cm extends V{constructor(e,i={}){super();f(this,"_needRedrawEvent");f(this,"_needPickRedrawEvent");f(this,"_id",fa());f(this,"_clickEvent");f(this,"_clickOutEvent");f(this,"_dbclickEvent");f(this,"_dbclickOutEvent");f(this,"_actived",!1);f(this,"_activedChanged");f(this,"_hovered",!1);f(this,"_hoveredChanged");f(this,"_selected",!1);f(this,"_selectedChanged");f(this,"_opacity",1);f(this,"_opacityChanged");f(this,"_show",!0);f(this,"_showChanged");this._canvasPrimitivesContext=e;const{needRedraw:r=!0,needPickRedraw:s=!0}=i;r&&(this._needRedrawEvent=new I),s&&(this._needPickRedrawEvent=new I),this._canvasPrimitivesContext.addPoi(this),this.dispose(()=>this._canvasPrimitivesContext.removePoi(this)),this.dispose(this.showChanged.disposableOn(()=>{this.needRedraw(),this.needPickRedraw()})),this.dispose(this.opacityChanged.disposableOn(()=>this.needRedraw()))}get id(){return this._id}get context(){return this._canvasPrimitivesContext}needRedraw(){this._needRedrawEvent?this._needRedrawEvent.emit():console.warn("no needRedrawEvent!")}needPickRedraw(){this._needPickRedrawEvent?this._needPickRedrawEvent.emit():console.warn("no needPickRedrawEvent!")}hasClickEvent(){return!!this._clickEvent}get clickEvent(){return this._clickEvent=this._clickEvent||new I,this._clickEvent}hasClickOutEvent(){return!!this._clickOutEvent}get clickOutEvent(){return this._clickOutEvent=this._clickOutEvent||new I,this._clickOutEvent}hasDbclickEvent(){return!!this._dbclickEvent}get dbclickEvent(){return this._dbclickEvent=this._dbclickEvent||new I,this._dbclickEvent}hasDbclickOutEvent(){return!!this._dbclickOutEvent}get dbclickOutEvent(){return this._dbclickOutEvent=this._dbclickOutEvent||new I,this._dbclickOutEvent}set actived(e){this._actived!==e&&(this._actived=e,this._activedChanged&&this._activedChanged.emit(e,this))}get actived(){return this._actived}get activedChanged(){return this._activedChanged=this._activedChanged||new I,this._activedChanged}set hovered(e){this._hovered!==e&&(this._hovered=e,this._hoveredChanged&&this._hoveredChanged.emit(e,this))}get hovered(){return this._hovered}get hoveredChanged(){return this._hoveredChanged=this._hoveredChanged||new I,this._hoveredChanged}set selected(e){this._selected!==e&&(this._selected=e,this._selectedChanged&&this._selectedChanged.emit(e,this))}get selected(){return this._selected}get selectedChanged(){return this._selectedChanged=this._selectedChanged||new I,this._selectedChanged}set opacity(e){this._opacity!==e&&(this._opacity=e,this._opacityChanged&&this._opacityChanged.emit(e,this))}get opacity(){return this._opacity}get opacityChanged(){return this._opacityChanged=this._opacityChanged||new I,this._opacityChanged}set show(e){this._show!==e&&(this._show=e,this._showChanged&&this._showChanged.emit(e,this))}get show(){return this._show}get showChanged(){return this._showChanged=this._showChanged||new I,this._showChanged}}class Bd extends cm{constructor(e,i=[0,0],r=0){super(e);f(this,"_winPosAndDepthChanged");this._winPos=i,this._depth=r,this.dispose(this.winPosAndDepthChanged.disposableOn(()=>{this.needRedraw(),this.needPickRedraw()}))}set winPos(e){(this._winPos[0]!==e[0]||this._winPos[1]!==e[1])&&(this._winPos[0]=e[0],this._winPos[1]=e[1],this._winPosAndDepthChanged&&this._winPosAndDepthChanged.emit(this._winPos,this._depth))}get winPos(){return this._winPos}set depth(e){this._depth!==e&&(this._depth=e,this._winPosAndDepthChanged&&this._winPosAndDepthChanged.emit(this._winPos,this._depth))}get depth(){return this._depth}get winPosAndDepthChanged(){return this._winPosAndDepthChanged||(this._winPosAndDepthChanged=new I),this._winPosAndDepthChanged}}function vo(n,t,e,i){const[r,s]=n,[o,a,l,u]=i,h=t[0]*e[0],c=t[1]*e[1],d=r-(h*o+l),g=s-(c*a+u);return{left:d,top:g,right:d+h,bottom:g+c}}function yo(n,t,e,i,r){n.beginPath(),n.moveTo(t,e),n.lineTo(t-i*.5,e-i*.5),n.arc(t,e-i,i*.7071067811865475,Math.PI*.75,Math.PI*.25),n.lineTo(t,e),n.fillStyle=r,n.fill()}function dm(n,t,e,i,r,s){n.beginPath(),n.moveTo(t+s,e),n.lineTo(t+i-s,e),n.arcTo(t+i,e,t+i,e+s,s),n.lineTo(t+i,e+r-s),n.arcTo(t+i,e+r,t+i-s,e+r,s),n.lineTo(t+s,e+r),n.arcTo(t,e+r,t,e+r-s,s),n.lineTo(t,e+s),n.arcTo(t,e,t+s,e,s)}function fm(n,t,e,i,r,s){n.font=r;const o=n.measureText(i),a=o.actualBoundingBoxLeft+o.actualBoundingBoxRight,l=Number.isFinite(o.fontBoundingBoxAscent)?o.fontBoundingBoxAscent:o.actualBoundingBoxAscent,u=Number.isFinite(o.fontBoundingBoxDescent)?o.fontBoundingBoxDescent:o.actualBoundingBoxDescent;let h=l+u;n.fillStyle=s,n.fillText(i,t-a*.5,e+h*.5-u)}function gm(n){const{width:t,height:e}=n,i=t instanceof SVGAnimatedLength?t.baseVal.SVG_LENGTHTYPE_PX:t,r=e instanceof SVGAnimatedLength?e.baseVal.SVG_LENGTHTYPE_PX:e,s=document.createElement("canvas");s.width=i,s.height=r;const o=s.getContext("2d");if(!o)throw new Error("!cavnasCtx");return o.drawImage(n,0,0,i,r),s}function pm(n,t){const{width:e,height:i}=n,r=n.getContext("2d");if(!r)throw new Error("!cavnasCtx");const[s,o,a]=t.map(c=>c*255|0),l=r.getImageData(0,0,e,i),u=l.data;for(var h=0;h<u.length;h+=4)u[h]=s,u[h+1]=o,u[h+2]=a;r.putImageData(l,0,0)}function Vd(n,t,e,i=[.5,1,0,0],r,s="12px Arial",o=2,a="#FFF",l="#000A"){n.font=s;const u=n.measureText(r),h=u.actualBoundingBoxLeft+u.actualBoundingBoxRight,c=u.fontBoundingBoxAscent+u.fontBoundingBoxDescent,d=t,g=e,p=h+o*2,y=c+o*2,{left:w,top:S,bottom:v}=vo([d,g],[p,y],[1,1],i);n.fillStyle=l,dm(n,w,S,p,y,o),n.fill(),n.fillStyle=a,n.fillText(r,w+o,v-o-u.fontBoundingBoxDescent)}function lu(n){return("00"+n.toString(16).toUpperCase()).substr(-2)}function uu(n){const[t,e,i,r]=n.map(s=>s*255|0);return`#${lu(t)}${lu(e)}${lu(i)}${lu(r)}`}function zd(n,t){const[e,i,r]=t,s=`${e}-${i}-${r}`;let o=Zn(n,s);return o||(o=gm(n),pm(o,t),wr(n,s,o)),o}class O1 extends Bd{constructor(e,i,r=[32,32],s=[.5,1,0,0],o="#F00F"){super(e);f(this,"_tooltip","");f(this,"_title","");f(this,"__scale",[1,1]);f(this,"_tooltipAlpha",0);f(this,"_bgColor",[.3,.3,.3,.8]);f(this,"_bgColorHexStr",uu(this._bgColor));f(this,"_fgColor",[1,1,1,1]);f(this,"_fgColorHexStr",uu(this._fgColor));this._image=i,this._size=r,this._originRatioAndOffset=s,this._defaultColorStr=o;const a=new au(100),l=new au(100);this.dispose(()=>{a.destroy(),l.destroy()});const u=()=>{if(this._clickEvent&&!this._clickEvent.empty){const h=(1+.08*l.current)*(1+.08*a.current);this._scale=[h,h],this._tooltipAlpha=a.current}};this.dispose(this.activedChanged.disposableOn(h=>{l.target=h?1:0,this.needRedraw()})),this.dispose(this.hoveredChanged.disposableOn(h=>{a.target=h?1:0,this.needRedraw()})),this.dispose(this.selectedChanged.disposableOn(()=>{this.needRedraw()})),this.dispose(l.currentChanged.disposableOn(u)),this.dispose(a.currentChanged.disposableOn(u))}set size(e){const[i,r]=e,[s,o]=this._size;(s!==i||o!==r)&&(this._size[0]=i,this._size[1]=r,this.needRedraw(),this.needPickRedraw())}get size(){return this._size}set _scale(e){const[i,r]=e,[s,o]=this.__scale;(s!==i||o!==r)&&(this.__scale[0]=i,this.__scale[1]=r,this.needRedraw(),this.needPickRedraw())}get _scale(){return this.__scale}set fgColor(e){if(!this._fgColor.every((i,r)=>e[r]===i)){const[i,r,s,o]=e;this._fgColor.splice(0,4,i,r,s,o),this._fgColorHexStr=uu(this._fgColor),this.needRedraw()}}get fgColor(){return this._fgColor}set bgColor(e){if(!this._bgColor.every((i,r)=>e[r]===i)){const[i,r,s,o]=e;this._bgColor.splice(0,4,i,r,s,o),this._bgColorHexStr=uu(this._bgColor),this.needRedraw()}}get bgColor(){return this._bgColor}set originRatioAndOffset(e){const[i,r,s,o]=this._originRatioAndOffset,[a,l,u,h]=e;(i!==a||r!==l||s!==u||o!==h)&&(this._originRatioAndOffset.splice(0,4,a,l,u,h),this.needRedraw(),this.needPickRedraw())}get originRatioAndOffset(){return this._originRatioAndOffset}set image(e){this._image!==e&&(this._image=e,this.needRedraw())}get image(){return this._image}set defaultColorStr(e){this._defaultColorStr!==e&&(this._defaultColorStr=e,this.needRedraw())}get defaultColorStr(){return this._defaultColorStr}set tooltip(e){this._tooltip!==e&&(this._tooltip=e,this.needRedraw())}get tooltip(){return this._tooltip}set title(e){this._title!==e&&(this._title=e,this.needRedraw())}get title(){return this._title}draw(e){if(!this._show)return;const[i,r]=this._winPos,s=this._size[0]*this.__scale[0],o=this._size[1]*this.__scale[1],{left:a,top:l}=vo([i,r],this._size,this.__scale,this._originRatioAndOffset),u=e.globalAlpha;if(e.globalAlpha=this.opacity,this._image){if(this.selected){const h=zd(this._image,[1,0,0]),{left:c,top:d}=vo([i,r+3],[s+6,o+6],[1,1],this._originRatioAndOffset);e.drawImage(h,c,d,s+6,o+6)}if(this.actived){const[h,c,d,g]=this._fgColor,p=zd(this._image,[h,c,d]),{left:y,top:w}=vo([i,r+4],[s+8,o+8],[1,1],this._originRatioAndOffset);e.drawImage(p,y,w,s+8,o+8)}if(this.hovered){const[h,c,d,g]=this._bgColor,p=zd(this._image,[h,c,d]),{left:y,top:w}=vo([i,r+2],[s+4,o+4],[1,1],this._originRatioAndOffset);e.drawImage(p,y,w,s+4,o+4)}e.drawImage(this._image,a,l,s,o)}else e.fillStyle=this._fgColorHexStr,e.fillRect(a,l,s,o);if(this._title!==""&&Vd(e,i+20,r-16,[0,.5,0,0],this._title,"14px Arial",4,this._fgColorHexStr,this._bgColorHexStr),e.globalAlpha=u,this._hovered&&this._tooltip!==""){const h=e.globalAlpha;e.globalAlpha=this._tooltipAlpha,Vd(e,i,r-42,[.5,1,0,0],this._tooltip,"12px Arial",4,this._fgColorHexStr,this._bgColorHexStr),e.globalAlpha=h}}drawForPick(e,i){if(!this._show)return;const[r,s]=this._winPos,o=i("default"),a=this._size[0]*this.__scale[0],l=this._size[1]*this.__scale[1],{left:u,top:h}=vo([r,s],this._size,this.__scale,this._originRatioAndOffset);e.fillStyle=o,e.fillRect(u,h,a,l)}}class D1 extends Bd{constructor(e){super(e);f(this,"_width",16);f(this,"_text","");f(this,"_fillStyle","#0F0");f(this,"_scale",1);f(this,"_scaleChanged");this.dispose(this.scaleChanged.disposableOn(o=>{this.needRedraw(),this.needPickRedraw()}));const i=this.disposeVar(new au(100)),r=this.disposeVar(new au(100)),s=()=>{this._clickEvent&&!this._clickEvent.empty&&(this.scale=(1+.1*r.current)*(1+.2*i.current))};this.dispose(r.currentChanged.disposableOn(s)),this.dispose(i.currentChanged.disposableOn(s)),this.dispose(this.activedChanged.disposableOn(o=>{r.target=o?1:0,this.needRedraw()})),this.dispose(this.hoveredChanged.disposableOn(o=>{i.target=o?1:0,this.needRedraw()})),this.dispose(this.selectedChanged.disposableOn(o=>{this.needRedraw()}))}set scale(e){this._scale!==e&&(this._scale=e,this._scaleChanged&&this._scaleChanged.emit(e,this))}get scale(){return this._scale}get scaleChanged(){return this._scaleChanged||(this._scaleChanged=new I),this._scaleChanged}set width(e){this._width!==e&&(this._width=e,this.needRedraw(),this.needPickRedraw())}get width(){return this._width}set text(e){this._text!==e&&(this._text=e,this.needRedraw())}get text(){return this._text}set fillStyle(e){this._fillStyle!==e&&(this._fillStyle=e,this.needRedraw())}get fillStyle(){return this._fillStyle}draw(e){if(!this._show)return;const[i,r]=this._winPos,s=e.globalAlpha;e.globalAlpha=this.opacity;const o=this._width*this._scale;this.selected&&yo(e,i,r+3,o+3,"#F00"),this.actived&&this._clickEvent&&!this._clickEvent.empty&&yo(e,i,r+5,o+5,"#FFF"),this.hovered?yo(e,i,r+3,o+3,"#000A"):yo(e,i,r+1,o+1,"#000A"),yo(e,i,r,o,this._fillStyle);const a=this._scale>1.2?"bold 14px Arial":"bold 10px Arial";fm(e,i,r-o,this._text,a,"#000"),e.globalAlpha=s}drawForPick(e,i){if(!this._show)return;const[r,s]=this._winPos,o=this._width*this._scale,a=i("default");yo(e,r,s,o,a)}}const mm=new ArrayBuffer(4),vm=new Uint32Array(mm),_o=new Uint8Array(mm);function ym(n){if(n>=16777215)throw new Error("uint32 > 0xFFFFFF");return vm[0]=n,[_o[0],_o[1],_o[2]]}function _m(n,t,e){return _o[0]=n,_o[1]=t,_o[2]=e,_o[3]=0,vm[0]}class wm extends V{constructor(){super(...arguments);f(this,"_pickColors",new Array(16777215));f(this,"_pickColorIndex",0)}reset(){for(let e=0;e<this._pickColorIndex;++e){const i=this._pickColors[e];if(!i)throw console.error("this._pickColors[i] should not be undefined!"),new Error("this._pickColors[i] should not be undefined!");i.poi=null,i.tag=""}this._pickColorIndex=0}createPickColor(e,i){const r=this._pickColorIndex;++this._pickColorIndex;const s=this._pickColors[r];s?(s.poi=e,s.tag=i):this._pickColors[r]={poi:e,tag:i};const[o,a,l]=ym(r);return[o,a,l]}getPickInfoFromColor(e,i,r){const s=_m(e,i,r);if(s>=this._pickColorIndex){console.error("index >= this._pickColorIndex");return}const o=this._pickColors[s];if(!o){console.error("!this._pickColors[index]");return}return o}destroyImp(){this.reset()}}const Em=(n,t)=>t.depth-n.depth;class R1 extends V{constructor(){super();f(this,"_pois",[]);f(this,"_canvasElement");f(this,"_ctx");f(this,"_offscreenCanvasElement");f(this,"_offscreenCanvasElement2");f(this,"_offscreenCtx");f(this,"_offscreenCtx2");f(this,"_size",[0,0]);f(this,"_needRedraw",!1);f(this,"_needPickRedraw",!1);f(this,"_pickColorManager",new wm);const e=document.createElement("canvas");e.style.width="100%",e.style.height="100%",this._canvasElement=e;const i=e.getContext("2d");if(i===null)throw new Error("cannot get context 2d!");this._ctx=i,this._offscreenCanvasElement=document.createElement("canvas"),this._offscreenCtx=this._offscreenCanvasElement.getContext("2d"),this._offscreenCtx.imageSmoothingEnabled=!1,this._offscreenCanvasElement2=document.createElement("canvas"),this._offscreenCtx2=this._offscreenCanvasElement2.getContext("2d"),this._offscreenCtx2.imageSmoothingEnabled=!1,this.disposeVar(ya(()=>{const[s,o]=this._size,{clientWidth:a,clientHeight:l}=this._canvasElement;(s!==a||o!==l)&&(this._size[0]=a,this._size[1]=l,this._canvasElement.width=a,this._canvasElement.height=l,this._offscreenCanvasElement.width=a,this._offscreenCanvasElement.height=l,this._offscreenCanvasElement2.width=a,this._offscreenCanvasElement2.height=l,this._dirty()),this._needRedraw&&(this._needRedraw=!1,this._draw())})).start()}get element(){return this._canvasElement}get pois(){return this._pois}_dirty(){this._needRedraw=!0,this._needPickRedraw=!0}get size(){return this._size}addPoi(e){if(typeof Zn(e,"listenHandler")<"u"){console.error("可能有poi重复加载poiManager中!");return}if(this._pois.indexOf(e)!==-1){console.error("同一个poi加了多次!");return}this._pois.push(e),this._dirty();const i=e._needRedrawEvent;if(i){const s=i.on(()=>{this._needRedraw=!0});wr(e,"needRedrawEventHandler",s)}const r=e._needPickRedrawEvent;if(r){const s=r.on(()=>{this._needPickRedraw=!0});wr(e,"needPickRedrawEventHandler",s)}}removePoi(e){const i=this._pois.indexOf(e);if(i===-1){console.error("删除一个不存在的poi!");return}this._pois.splice(i,1),this._dirty();const r=e._needRedrawEvent;if(r){const o=Zn(e,"needRedrawEventHandler");o?r.off(o):console.error("poi没有listenHandler!")}const s=e._needPickRedrawEvent;if(s){const o=Zn(e,"needPickRedrawEventHandler");o?s.off(o):console.error("poi没有listenHandler!")}}_draw(){this._pois.sort(Em);const[e,i]=this._size;this._ctx.clearRect(0,0,e,i),this._pois.forEach(r=>r.draw(this._ctx))}pick(e,i,r,s){return this._needPickRedraw&&(this._needPickRedraw=!1,this._pickDraw()),this._getPickInfo(e,i,r,s)}_pickDraw(){this._pickColorManager.reset(),this._pois.sort(Em);const[e,i]=this._size;this._offscreenCtx.clearRect(0,0,e,i),this._pois.forEach(r=>{const s=o=>{const[a,l,u]=this._pickColorManager.createPickColor(r,o);return`rgb(${a}, ${l}, ${u})`};r.drawForPick(this._offscreenCtx,s)})}_getPickInfo(e,i,r,s){const o=this._offscreenCtx.getImageData(e,i,r,s),a=[],l=o.data.length/4;for(let u=0;u<l;++u){const h=o.data[u*4+0],c=o.data[u*4+1],d=o.data[u*4+2];if(o.data[u*4+3]===255){const p=this._pickColorManager.getPickInfoFromColor(h,c,d);if(p&&p.poi&&!a.includes(p)){let y=!0;{const[w,S]=this._size;this._offscreenCtx2.clearRect(0,0,w,S);const v=P=>"rgb(255, 255, 255)";p.poi.drawForPick(this._offscreenCtx2,v);const _=this._offscreenCtx2.getImageData(e,i,r,s),E=_.data[u*4+0],C=_.data[u*4+1],b=_.data[u*4+2];_.data[u*4+3],E===255&&C===255&&b===255||(y=!1)}y&&a.push(p)}}}return a}}class jd extends V{constructor(){super(...arguments);f(this,"_closeEvent");f(this,"_show",!0);f(this,"_showChanged");f(this,"_opacity",1);f(this,"_opacityChanged");f(this,"_winPos",[0,0]);f(this,"_winPosChanged")}set winPos(e){const[i,r]=e,[s,o]=this._winPos;(i!==s||r!==o)&&(this._winPos[0]=i,this._winPos[1]=r,this._winPosChanged&&this._winPosChanged.emit(this._winPos))}get winPos(){return this._winPos}get winPosChanged(){return this._winPosChanged=this._winPosChanged||new I,this._winPosChanged}set opacity(e){this._opacity!==e&&(this._opacity=e,this._opacityChanged&&this._opacityChanged.emit(this._opacity))}get opacity(){return this._opacity}get opacityChanged(){return this._opacityChanged=this._opacityChanged||new I,this._opacityChanged}set show(e){this._show!==e&&(this._show=e,this._showChanged&&this._showChanged.emit(this._show))}get show(){return this._show}get showChanged(){return this._showChanged=this._showChanged||new I,this._showChanged}get closeEvent(){return this._closeEvent||(this._closeEvent=new I),this._closeEvent}}const Ud=new WeakMap;function Gd(n){if(!Ud.has(n)){const t=new Eh(()=>new n,e=>e.reset());Ud.set(n,t)}return Ud.get(n)}class qd extends jd{constructor(){super();f(this,"_div");f(this,"_contentDiv");f(this,"_originOffsetX",0);f(this,"_originOffsetY",0);f(this,"_originRatioX",.5);f(this,"_originRatioY",1);f(this,"_divChanged",new I);const e=document.createElement("div");e.style.cssText="width: 0px; height: 0px; position: absolute; opacity: 1.0; visibility: visible;";const i=document.createElement("div");i.style.cssText=`position: absolute; left: ${-this._originOffsetX}px; top: ${-this._originOffsetY}px; transform: translateX(-${100*this._originRatioX}%) translateY(-${100*this._originRatioY}%); margin: 0; padding: 0; pointer-events: none;`;const r=document.createElement("div");this._contentDiv=r,i.appendChild(r),e.appendChild(i),this._div=e,this.dispose(this._divChanged.disposableOn(()=>{i.style.left=`${-this._originOffsetX}px`,i.style.top=`${-this._originOffsetY}px`,i.style.transform=`translateX(-${100*this._originRatioX}%) translateY(-${100*this._originRatioY}%)`})),this.dispose(this.winPosChanged.disposableOn(([s,o])=>{this._div.style.left=`${s}px`,this._div.style.top=`${o}px`})),this.dispose(this.opacityChanged.disposableOn(s=>{this._div.style.opacity=`${s}`})),this.dispose(this.showChanged.disposableOn(s=>{this._div.style.visibility=s?"visible":"hidden"}))}get contentDiv(){return this._contentDiv}reset(){}get originOffsetX(){return this._originOffsetX}set originOffsetX(e){this._originOffsetX!==e&&(this._originOffsetX=e,this._divChanged.emit())}get originOffsetY(){return this._originOffsetY}set originOffsetY(e){this._originOffsetY!==e&&(this._originOffsetY=e,this._divChanged.emit())}get originRatioX(){return this._originRatioX}set originRatioX(e){this._originRatioX!==e&&(this._originRatioX=e,this._divChanged.emit())}get originRatioY(){return this._originRatioY}set originRatioY(e){this._originRatioY!==e&&(this._originRatioY=e,this._divChanged.emit())}get element(){return this._div}}class Cm extends V{constructor(e,i){super();f(this,"_floatDiv");f(this,"_show",!1);f(this,"_showChanged");this._customDivClass=e,this._divContainer=i,this.dispose(()=>{this.show=!1})}_updateDivPoi(){if(this._show){const{floatDiv:i}=this;i.element.parentElement||this._divContainer.appendChild(i.element)}else{const{_floatDiv:i}=this;i&&i.element.parentElement&&this._divContainer.removeChild(i.element)}}set show(e){this._show!==e&&(this._show=e,this._updateDivPoi(),this._showChanged&&this._showChanged.emit(e))}get show(){return this._show}get floatDiv(){if(!this._floatDiv){const e=Gd(this._customDivClass).create();this.dispose(()=>{Gd(this._customDivClass).destroy(e)}),this._floatDiv=e}return this._floatDiv}get showChanged(){return this._showChanged||(this._showChanged=new I),this._showChanged}}const A1=["top","bottom","left","right"];function L1(n){return Object.entries(n).map(([t,e])=>A1.includes(t)?`${t}: ${e}px; `:"").join("")}function Sm(n,t,e){const i=document.createElement("div");i.style.cssText=`position: absolute; ${L1(e)} background-color: ${n}; border-radius: ${t}px;`;const r='<svg viewBox="0 0 1024 1024" style="display: block;" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2420" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><style type="text/css"></style></defs><path d="M512 128C300.8 128 128 300.8 128 512s172.8 384 384 384 384-172.8 384-384S723.2 128 512 128zM512 832c-179.2 0-320-140.8-320-320s140.8-320 320-320 320 140.8 320 320S691.2 832 512 832z" p-id="2421" fill="#ffffff"></path><path d="M672 352c-12.8-12.8-32-12.8-44.8 0L512 467.2 396.8 352C384 339.2 364.8 339.2 352 352S339.2 384 352 396.8L467.2 512 352 627.2c-12.8 12.8-12.8 32 0 44.8s32 12.8 44.8 0L512 556.8l115.2 115.2c12.8 12.8 32 12.8 44.8 0s12.8-32 0-44.8L556.8 512l115.2-115.2C684.8 384 684.8 364.8 672 352z" p-id="2422" fill="#ffffff"></path></svg>';return i.innerHTML=r,i}function bm(n,t,e="rgba(0,0,0,0.7)"){const i=document.createElement("div");i.style.cssText=`margin: 0 auto; width: ${n}px; height: ${t}px; position: relative; pointer-events: none;`;const r=document.createElement("div");return r.style.cssText=`position: absolute; left: 0px; top: 0px; width: 0; height: 0; border-left: ${n*.5}px solid transparent; border-right: ${n*.5}px solid transparent; border-top: ${t}px solid ${e};`,i.appendChild(r),[i,r]}class Pm extends qd{constructor(){super();f(this,"_borderDiv");f(this,"_closeDiv");f(this,"_innerContentDiv");f(this,"_colorStr","rgba(0, 0, 0, 0.7)");f(this,"_divColorChanged",new I);f(this,"_borderRadius",10);const e=document.createElement("div");e.style.cssText=`position: relative; background-color: ${this._colorStr}; border-radius: ${this._borderRadius}px; padding: 5px; pointer-events: all;`,this._borderDiv=e;const i=Sm(this._colorStr,10,{top:3,right:3}),[r,s]=bm(2*this._borderRadius,2*this._borderRadius,this._colorStr),o=document.createElement("div");this._innerContentDiv=o,e.appendChild(o),e.appendChild(i),this.contentDiv.appendChild(e),this.contentDiv.appendChild(r),i.style.opacity="0.1",i.onmouseenter=()=>{i.style.opacity="1.0"},i.onmouseleave=()=>{i.style.opacity="0.1"},i.onclick=()=>{this._closeEvent&&this._closeEvent.emit()},this._closeDiv=i,this.dispose(this._divColorChanged.disposableOn(()=>{s.style.borderTopColor=this._colorStr,e.style.backgroundColor=this._colorStr,r.style.width=`${this._borderRadius*2}px`,r.style.height=`${this._borderRadius*2}px`,s.style.borderLeft=`${this._borderRadius}px`,s.style.borderRight=`${this._borderRadius}px`,s.style.borderTop=`${this._borderRadius*2}px`}));const a=l=>{l.key==="Escape"&&this._closeEvent&&this._closeEvent.emit()};document.body.addEventListener("keydown",a,!0),this.dispose(()=>{document.removeEventListener("keydown",a,!0)})}get borderDiv(){return this._borderDiv}get innerContentDiv(){return this._innerContentDiv}reset(){this.show=!1,this.opacity=0,this._closeDiv.style.opacity="0.1",super.reset()}get colorStr(){return this._colorStr}set colorStr(e){this._colorStr!==e&&(this._colorStr=e,this._divColorChanged.emit())}get borderRadius(){return this._borderRadius}set borderRadius(e){this._borderRadius!==e&&(this._borderRadius=e,this._divColorChanged.emit())}}class F1 extends Pm{constructor(){super();f(this,"_iframe");f(this,"_iframeMessageEvent");const e=document.createElement("iframe");e.style.cssText="width: 100%; height: 100%; border-width: 0px; border-radius: 5px; display: block;",e.src="http://www.weather.com.cn/live/index.shtml",this._iframe=e,this.innerContentDiv.appendChild(e);const i=r=>{r.source===this._iframe.contentWindow&&(this._iframeMessageEvent?this._iframeMessageEvent.emit(r):console.warn(`iframe消息接收到未处理!data: ${r.data}`))};window.addEventListener("message",i),this.dispose(()=>{window.removeEventListener("message",i)})}reset(){super.reset(),this.src=""}set src(e){this._iframe.src!==e&&(this._iframe.src=e)}get src(){return this._iframe.src}get iframe(){return this._iframe}get iframeMessageEvent(){return this._iframeMessageEvent=this._iframeMessageEvent||new I,this._iframeMessageEvent}}class k1 extends jd{constructor(){super();f(this,"_div");f(this,"_contentContainer");f(this,"_text","");const e=document.createElement("div");this._div=e,e.style.cssText="width: 0px; height: 0px; position: absolute; opacity: 1.0; visibility: visible; transition: opacity 0.5s;";const i=document.createElement("div");i.style.cssText="position: absolute; left: 0px; bottom: 0px; transform: translateX(-50%); margin: 0; padding: 0; pointer-events: none;";const r=document.createElement("div");r.style.cssText="position: relative; background-color: rgba(0, 0, 0, 0.7); border-radius: 5px; padding: 3px; pointer-events: all; color: white; white-space: nowrap;",r.innerText=this._text,this._div.appendChild(i),i.appendChild(r),this._contentContainer=r,this._div=e,this.dispose(this.winPosChanged.disposableOn(([s,o])=>{this._div.style.left=`${s}px`,this._div.style.top=`${o-50}px`})),this.dispose(this.opacityChanged.disposableOn(s=>{this._div.style.opacity=`${s}`})),this.dispose(this.showChanged.disposableOn(s=>{this._div.style.visibility=s?"visible":"hidden"}))}get element(){return this._div}reset(){this.opacity=1,this.show=!0}set text(e){this._text!==e&&(this._text=e,this._contentContainer.innerText=e)}get text(){return this._text}}class B1 extends qd{constructor(){super(),this.contentDiv.style.backgroundColor="rgba(0, 0, 0, 0.8)",this.contentDiv.style.borderRadius="3px",this.contentDiv.style.color="rgb(255, 255, 255)",this.contentDiv.style.padding="1px 5px 1px 5px",this.contentDiv.style.fontSize="12px",this.contentDiv.style.whiteSpace="nowrap",this.contentDiv.innerText="未定义光标信息!",this.originRatioX=0,this.originRatioY=0,this.originOffsetX=-16}}class V1 extends V{constructor(e,i){super();f(this,"_cursorDiv");f(this,"_pointerOut",this.disposeVar(B(!1)));f(this,"_show",this.disposeVar(B(!0)));this._cursorDiv=new Cm(i,e),this.dispose(()=>this._cursorDiv.destroy());const r=o=>{const[a,l]=In(o);this._cursorDiv.floatDiv.winPos=[a,l]};e.addEventListener("pointermove",r),this.dispose(()=>e.removeEventListener("pointermove",r));const s=()=>{this._cursorDiv.show=this.show&&this._pointerOut.value};s(),this.dispose(this.showChanged.disposableOn(s)),this.dispose(this._pointerOut.changed.disposableOn(s))}set show(e){this._show.value=e}get show(){return this._show.value}get showChanged(){return this._show.changed}reset(){this._pointerOut.value=!1}get cursorDiv(){return this._cursorDiv}set text(e){this._cursorDiv.floatDiv.contentDiv.innerText=e}get text(){return this._cursorDiv.floatDiv.contentDiv.innerText}}function hu(n,t,e){if(!(n.tree===t.tree&&n!==t&&!n.isAncestorOf(t))||n.tree!==t.tree||!n.parent)return!1;if(!n.parent.children)throw console.error("当前节点的父节点没有子节点?这是不可能的!"),new Error("当前节点的父节点没有子节点?这是不可能的!");return!(t===n||n.isAncestorOf(t)||e!=="inner"&&!t.parent||e==="inner"&&!t.children)}function kh(n,t,e){if(!n.tree||!t.tree||n.tree!==t.tree)return;if(!n.parent){console.warn("当前节点没有父节点,那么该节点无法被移动!");return}if(!n.parent.children)throw console.error("当前节点的父节点没有子节点?这是不可能的!"),new Error("当前节点的父节点没有子节点?这是不可能的!");if(t===n){console.warn("自身不能拖放到自身!");return}if(n.isAncestorOf(t)){console.warn("当前节点不能拖放到它自身的后代节点之上!");return}if(e!=="inner"&&!t.parent){console.warn("目标节点没有父节点,无法拖放!");return}if(e==="inner"&&!t.children){console.warn("无法移动到目标节点的子节点中,因为目标节点不是组节点!");return}n.tree._startTransaction();const i=n.parent.children.indexOf(n);if(n.parent.children.splice(i,1),e!=="inner"){const{parent:r}=t;if(!r||!r.children)throw new Error("!parent");const s=r.children.indexOf(t);e==="before"?r.children.splice(s,0,n):e==="after"&&r.children.splice(s+1,0,n)}else t.children.push(n);n.tree._stopTransaction()}function Im(n,t,e){return Ed(n,i=>hu(i,t,e))}function xm(n,t,e){for(let i of n)hu(i,t,e)?kh(i,t,e):console.warn(`treeItem(id: ${i.id}) cannot move...`)}const z1={checked:1,unchecked:2,indeterminate:3},j1=["checked","unchecked","indeterminate"];class Mm extends V{constructor(e){super();f(this,"_collapsed",this.disposeVar(B(!1)));f(this,"_checkedStatus",this.disposeVar(B("unchecked")));f(this,"_selected",this.disposeVar(B(!1)));f(this,"_moveToPositionMode",this.disposeVar(B("none")));f(this,"_updateCheckedStatusFromChildrenEvent",this.disposeVar(new I));this._treeItem=e;const i=()=>this._treeItem.tree&&this._treeItem.tree.itemsChanged.emit([this._treeItem]);this.dispose(this._collapsed.changed.disposableOn(i)),this.dispose(this._checkedStatus.changed.disposableOn(i)),this.dispose(this._selected.changed.disposableOn(i)),this.dispose(this._moveToPositionMode.changed.disposableOn(i)),this.dispose(this._checkedStatus.changed.disposableOn(()=>this._treeItem.parent&&this._treeItem.parent.uiTreeObject.updateCheckedStatusFromChildren())),this.dispose(this._treeItem.childrenChangedEvent.disposableOn(()=>{this.updateCheckedStatusFromChildren()}));const r=this.disposeVar(Ae(this._updateCheckedStatusFromChildrenEvent));this.dispose(r.disposableOn(()=>{if(!this._treeItem.children)return;let s=0;wd(this._treeItem.children,o=>(s|=z1[o.uiTreeObject.checkedStatus],s===3)),s>0&&(this._checkedStatus.value=j1[s-1])})),this.dispose(this._treeItem.childrenResetedEvent.disposableOn(s=>{!s&&this.checkedStatus==="indeterminate"&&(this._checkedStatus.value="unchecked")}));{const s=(o,a,l=!0)=>{if(a)o.selectedItems.push(this._treeItem);else{const u=o.selectedItems.indexOf(this._treeItem);u===-1?l&&console.error("selectedItems index -1"):o.selectedItems.splice(u,1)}};this.dispose(this._selected.changed.disposableOn(o=>{const{tree:a}=this._treeItem;a&&s(a,o)})),this.dispose(()=>this.selected=!1)}}get treeItem(){return this._treeItem}get collapsed(){return this._collapsed.value}set collapsed(e){this._collapsed.value=e}get collapsedChanged(){return this._collapsed.changed}get checkedStatus(){return this._checkedStatus.value}check(e){const i=e?"checked":"unchecked";if(this._checkedStatus.value!==i&&(this._checkedStatus.value=i,this._treeItem.children))for(let r of this._treeItem.children)r.uiTreeObject.check(e)}updateCheckedStatusFromChildren(){this._updateCheckedStatusFromChildrenEvent.emit()}get checkedStatusChanged(){return this._checkedStatus.changed}get selected(){return this._selected.value}set selected(e){this._selected.value=e}get selectedChanged(){return this._selected.changed}get moveToPositionMode(){return this._moveToPositionMode.value}set moveToPositionMode(e){this._moveToPositionMode.value=e}get moveToPositionModeChanged(){return this._moveToPositionMode.changed}}const cr=class cr extends V{constructor(e,i=!1,r){super();f(this,"_children");f(this,"_childrenResetedEvent");f(this,"_childrenToChangeEvent");f(this,"_childrenChangedEvent");f(this,"_parent",this.disposeVar(B(void 0)));f(this,"_level",this.disposeVar(B(0)));f(this,"_id");f(this,"_uiTreeObject",this.disposeVar(new Mm(this)));this._tree=e,this._hasChildren=i,this._id=r??fa(),this._id!=="_ROOT"&&cr.wm.has(this._id)&&console.warn(`创建了id(${this._id})相同的树节点,会导致之前的树节点无法索引!`),cr.wm.set(this._id,this),this.dispose(()=>{if(this._id!=="_ROOT"&&!cr.wm.has(this._id)){console.warn(`树节点(${this._id})不在wm树上!`);return}cr.wm.delete(this._id)}),this.dispose(this._parent.changed.disposableOn(()=>{this._updateLevel()})),this.dispose(this._level.changed.disposableOn(()=>{if(this.children)for(let s of this.children)s._updateLevel()})),cr.allTreeItems.set(this._id,this),this.dispose(()=>{cr.allTreeItems.delete(this._id)})}static getFromId(e){return cr.wm.get(e)}get uiTreeObject(){return this._uiTreeObject}get id(){return this._id}_updateLevel(){this.parent&&(this._level.value=this.parent.level+1)}get parent(){return this._parent.value}get parentChanged(){return this._parent.changed}get children(){if(this._hasChildren){if(!this._children){const e=this.disposeVar(new iu);this._children=e,this.dispose(e.toChangeEvent.disposableOn((s,o)=>{for(let a of s){const{start:l,deleteCount:u,items:h}=a;for(let c=l;c<l+u;++c)o.get(c)._parent.value=void 0;for(let c of h){if(c.parent)throw console.error("请检查新增的treeItem是否正在使用!"),new Error("item.parent should not exist!");c._parent.value=this}}}));const i=new Set,r=new Set;this.dispose(e.toChangeEvent.disposableOn((s,o)=>{var a;if(this.tree){i.clear(),r.clear();for(let l of s){const{start:u,deleteCount:h,items:c}=l;for(let d=u;d<u+h;++d)i.add(o.get(d));for(let d of c)r.add(d)}for(let l of i)r.has(l)&&(i.delete(l),r.delete(l));(a=this.tree)==null||a.itemChildrenToChange.emit(this,s,i,r)}})),this.dispose(e.changedEvent.disposableOn(()=>{var s;(s=this.tree)==null||s.itemChildrenChanged.emit(this)})),this.dispose(e.toChangeEvent.disposableOn((...s)=>this._childrenToChangeEvent&&this._childrenToChangeEvent.emit(...s))),this.dispose(e.changedEvent.disposableOn((...s)=>this._childrenChangedEvent&&this._childrenChangedEvent.emit(...s)))}return this._children}else return}get childrenResetedEvent(){return this._childrenResetedEvent||(this._childrenResetedEvent=new I),this._childrenResetedEvent}get childrenToChangeEvent(){return this._childrenToChangeEvent||(this._childrenToChangeEvent=new I),this._childrenToChangeEvent}get childrenChangedEvent(){return this._childrenChangedEvent||(this._childrenChangedEvent=new I),this._childrenChangedEvent}resetChildren(e=!1){this._children&&(this._children.length=0),this._hasChildren=e,this._childrenResetedEvent&&this._childrenResetedEvent.emit(e)}*getDescendants(e){const i=this,r=[],s=[];for(i.children&&i.children.length>0&&(!e||e(i))&&(r.push(0),s.push(i.children));r.length>0;){const o=r[r.length-1],a=s[s.length-1],l=a.get(o);yield l,o<a.length-1?++r[r.length-1]:(s.pop(),r.pop()),l.children&&l.children.length>0&&(!e||e(l))&&(r.push(0),s.push(l.children))}}*getAncestors(e){let i=this.parent;for(;i&&(yield i,!(e&&!e(i)));)i=i.parent}isDescendantOf(e){for(let i of this.getAncestors())if(i===e)return!0;return!1}isAncestorOf(e){return e.isDescendantOf(this)}get level(){return this._level.value}get levelChanged(){return this._level.changed}get tree(){return this._tree}canMoveTo(e,i){return hu(this,e,i)}moveTo(e,i){kh(this,e,i)}detachFromParent(){if(!this.parent||!this.parent.children)return;const e=this.parent.children.indexOf(this);this.parent.children.splice(e,1)}insertNewTreeItem(e,i){if(i&&i.tree!==this.tree)return console.warn("newTreeItem.tree !== this.tree"),!1;if(this.children&&e.startsWith("Inner"))return i&&this.children.push(i),!0;if(e==="Inner")return!1;const r=this.parent;if(!r||!r.children)return!1;const s=r.children.indexOf(this);return e.endsWith("Before")?i&&r.children.splice(s,0,i):e.endsWith("After")&&i&&r.children.splice(s+1,0,i),!0}};f(cr,"wm",new Map),f(cr,"allTreeItems",new Map);let _a=cr;class Tm extends V{constructor(e){super();f(this,"_redrawEvent",this.disposeVar(new I));f(this,"_containerScrollTop",this.disposeVar(B(0)));f(this,"_containerClientHeight",this.disposeVar(B(-1)));f(this,"_container",this.disposeVar(B(void 0)));f(this,"_redrawInfo",{topFreeSpaceHeight:0,topUnvisibleItemNum:0,middleTreeItems:[],bottomFreeSpaceHeight:0,bottomUnvisibleItemNum:0});this._tree=e;const i=this._containerClientHeight,r=this._containerScrollTop,s=this._tree._forceRedrawEvent,o=this.disposeVar(Ae(this._tree.itemDivHeightChanged,this._tree.itemChildrenChanged,this._tree.itemsChanged,i.changed,r.changed,s)),{redrawInfo:a}=this,l=h=>{const c=h.uiTreeObject;return!!h.children&&(!c||!c.collapsed)};this.dispose(o.disposableOn(()=>{if(a.topFreeSpaceHeight=0,a.topUnvisibleItemNum=0,a.middleTreeItems.length=0,a.bottomFreeSpaceHeight=0,a.bottomUnvisibleItemNum=0,this._containerClientHeight.value>=0){const h=Cd(this._tree.getDescendants(l)),c=this._tree.itemDivHeight,d=c*h,g=es([Ns([es([d-i.value,0]),r.value]),0]),p=g/c|0,y=Math.ceil((g-p*c+i.value)/c)|0;p>0&&(a.topUnvisibleItemNum=p,a.topFreeSpaceHeight=p*this._tree.itemDivHeight);const w=p+y;let S=0;for(let _ of this._tree.getDescendants(l)){if(S>=w)break;S>=p&&a.middleTreeItems.push(_),++S}const v=h-p-y;v>0&&(a.bottomUnvisibleItemNum=v,a.bottomFreeSpaceHeight=v*this._tree.itemDivHeight)}else for(let h of this._tree.getDescendants(l))a.middleTreeItems.push(h);this._redrawEvent.emit(a)}));let u;this.dispose(()=>u&&(u.destroy(),u=void 0)),this.dispose(this.containerChanged.disposableOn(h=>{u&&(u.destroy(),u=void 0),h&&(u=su(),u.start(()=>{const{scrollTop:c,clientHeight:d}=h;typeof c>"u"||typeof d>"u"?ca("createUiTreeWithContainer error: conainter has no scrollTop or clientHeight property!"):(this.containerScrollTop=c,this.containerClientHeight=d)}))}))}get container(){return this._container.value}set container(e){this._container.value=e}get containerChanged(){return this._container.changed}get redrawInfo(){return this._redrawInfo}getTreeItemPos(e){const i=o=>{const a=o.uiTreeObject;return!!o.children&&(!a||!a.collapsed)};let r=0,s=!1;for(let o of this._tree.getDescendants(i)){if(o===e){s=!0;break}++r}if(s)return[r,r*this._tree.itemDivHeight]}collapseAll(){console.log("collapseAll");for(let e of this.tree.root.getDescendants()){const i=e.uiTreeObject;i.collapsed=!0}}get tree(){return this._tree}get redrawEvent(){return this._redrawEvent}set containerScrollTop(e){this._containerScrollTop.value=e}get containerScrollTop(){return this._containerScrollTop.value}get containerScrollTopChanged(){return this._containerScrollTop.changed}set containerClientHeight(e){this._containerClientHeight.value=e}get containerClientHeight(){return this._containerClientHeight.value}get containerClientHeightChanged(){return this._containerClientHeight.changed}*getAllItems(e){for(let i of this._tree.getDescendants())(!e||e(i))&&(yield i)}getAllSelectedItems(){return this.getAllItems(e=>e.uiTreeObject.selected)}getAllCheckedLeafItems(){return this.getAllItems(e=>!e.children&&e.uiTreeObject.checkedStatus==="checked")}clearAllSelectedItems(e){for(let i of this.getAllSelectedItems())(!e||!e.includes(i))&&(i.uiTreeObject.selected=!1)}}let wa=(dr=class extends V{constructor(e){super();f(this,"_root",this.disposeVar(new _a(this,!0,"_ROOT")));f(this,"_itemChildrenChanged",this.disposeVar(new I));f(this,"_itemChildrenToChange",this.disposeVar(new I));f(this,"_itemsAdded",this.disposeVar(new I));f(this,"_itemsDeleted",this.disposeVar(new I));f(this,"_itemsChanged",this.disposeVar(new I));f(this,"_transactionStack",0);f(this,"_addedItems",new Set);f(this,"_deletedItems",new Set);f(this,"_selectedItems",this.disposeVar(new iu));f(this,"_itemDivHeight",this.disposeVar(B(dr.defaultItemDivHeight)));f(this,"_forceRedrawEvent",this.disposeVar(new I));f(this,"_uiTree",this.disposeVar(new Tm(this)));this._root._tree.value=this,this.dispose(this._itemChildrenToChange.disposableOn((i,r)=>{if(!i.children){console.error("!item.children");return}for(let s of r){const{start:o,deleteCount:a,items:l}=s;for(let u=o;u<o+a;++u){const h=i.children.get(u);this._deletedItems.has(h)?console.error(`this._deletedItems.has(currentItem(${h.id}))`):this._deletedItems.add(h)}for(let u of l)this._deletedItems.has(u)?this._deletedItems.delete(u):this._addedItems.add(u)}this._execTransaction()})),e!==void 0&&(this.itemDivHeight=e)}get selectedItems(){return this._selectedItems}get lastSelectedItem(){return this._selectedItems.length>0?this._selectedItems.get(this._selectedItems.length-1):void 0}get itemDivHeight(){return this._itemDivHeight.value}set itemDivHeight(e){this._itemDivHeight.value=e}get itemDivHeightChanged(){return this._itemDivHeight.changed}forceRedraw(){this._forceRedrawEvent.emit()}get uiTree(){return this._uiTree}get root(){return this._root}get children(){return this._root.children}getDescendants(e){return this._root.getDescendants(e)}getTreeItemFromId(e){let i;for(let r of this.getDescendants())if(r.id===e){i=r;break}return i}_startTransaction(){this._transactionStack===0&&(this._deletedItems.size>0&&(console.warn("this._deletedItems.size > 0"),this._deletedItems.clear()),this._addedItems.size>0&&(console.warn("this._addedItems.size > 0"),this._addedItems.clear())),++this._transactionStack}_stopTransaction(){--this._transactionStack,this._execTransaction()}_execTransaction(){this._transactionStack===0&&(this._deletedItems.size>0&&(this._itemsDeleted.emit([...this._deletedItems]),this._deletedItems.clear()),this._addedItems.size>0&&(this._itemsAdded.emit([...this._addedItems]),this._addedItems.clear()))}get itemChildrenChanged(){return this._itemChildrenChanged}get itemChildrenToChange(){return this._itemChildrenToChange}get itemsChanged(){return this._itemsChanged}get itemsAdded(){return this._itemsAdded}get itemsDeleted(){return this._itemsDeleted}},f(dr,"defaultItemDivHeight",24),f(dr,"canMoveToTreeItem",hu),f(dr,"moveToTreeItem",kh),f(dr,"canMoveToTreeItems",Im),f(dr,"moveToTreeItems",xm),dr);class ve extends V{constructor(e,i,r=!0,s){super();f(this,"_obj",this.disposeVar(B(void 0)));this._resetEvent=e,this._createFunc=i;const o=this._resetEvent,a=this._createFunc,l=()=>{this._obj.value&&(this._obj.value.destroy(),this._obj.value=void 0)};this.dispose(l);const u=(...h)=>{l(),this._obj.value=a(...h)};r&&(s?this._obj.value=a(...s):this._obj.value=a()),this.dispose(o.disposableOn(u))}get obj(){return this._obj.value}get objChanged(){return this._obj.changed}}class U1 extends V{constructor(e,i=!0,r){super();f(this,"_event",this.disposeVar(new I));f(this,"_objResettingWithEvent");this._createFunc=e,this._execOnInit=i,this._initParams=r,this._objResettingWithEvent=this.disposeVar(new ve(this._event,this._createFunc,this._execOnInit,this._initParams))}get obj(){return this._objResettingWithEvent.obj}get objChanged(){return this._objResettingWithEvent.objChanged}reset(...e){this._event.emit(...e)}}const ld=class ld extends V{constructor(){super();f(this,"_set",new Set);f(this,"_toChangeEvent",this.dv(new I));f(this,"_changedEvent",this.dv(new I));f(this,"main");this.dispose(()=>{this._set.size!==0&&(ld.warnOnDestroying&&console.warn("this._set.size > 0"),this.clear())})}get toChange(){return this._toChangeEvent}get changed(){return this._changedEvent}add(...e){if(e.length==2&&typeof e[1]=="boolean")e[1]&&(this.main=e[0]);else for(let i of e)this._toChangeEvent.emit([],[i]),this._set.add(i),this._changedEvent.emit([],[i])}delete(...e){for(let i of e)this.main&&this.main==i&&(this.main=void 0),this._toChangeEvent.emit([i],[]),this._set.delete(i),this._changedEvent.emit([i],[])}disposableAdd(...e){return e.length==2&&typeof e[1]=="boolean"?(e[1]&&(this.main=e[0]),this.add(e[0]),()=>this.delete(e[0])):(this.add(...e),()=>this.delete(...e))}get size(){return this._set.size}clear(){const e=[...this._set];this._toChangeEvent.emit([],e),this._set.clear(),this._changedEvent.emit([],e),this.main=void 0}values(){return this._set.values()}};f(ld,"warnOnDestroying",!0);let Bh=ld;async function Nm(n){const t=[],e=[],i=n.entries();for await(const[r,s]of i){const o=s;o.kind==="file"?t.push(r):o.kind==="directory"&&e.push(r)}return{files:t,dirs:e}}async function Wd(n){return await(await n.getFile()).text()}async function Om(n){const t=await Wd(n);try{return JSON.parse(t)}catch{return}}async function Dm(n){return await(await n.getFile()).arrayBuffer()}class Rm extends V{constructor(t){super(),this._rootDirHandle=t}get rootDirHandle(){return this._rootDirHandle}async getSubFilesAndDirs(){return await Nm(this._rootDirHandle)}async getDir(t){let e=this._rootDirHandle;for(const i of t)if(e=await(e==null?void 0:e.getDirectoryHandle(i)),!e){console.log(`getDirectoryHandle ${i} failed`);return}return e}async getFile(t,e){const i=await this.getDir(t);if(i)try{return await i.getFileHandle(e)}catch(r){console.error(`未能获取当前文件 ${t.join("/")}/${e} error: ${r}`,r);return}}}class Am extends V{constructor(e){super();f(this,"_startRootDirId",0);f(this,"_dirMap",new Map);this._prefix=e}get prefix(){return this._prefix}async getRootDirId(e){let i;try{console.log("window.showDirectoryPicker begin"),i=await window.showDirectoryPicker({id:e,mode:"read"}),console.log("window.showDirectoryPicker end",i)}catch(r){console.error(`LocalFileServer getRootDirId failed: ${r}`,r);return}if(i){const r=++this._startRootDirId,s=`${this._prefix}${r}`;return this._dirMap.set(s,new Rm(i)),s}}getRootDir(e){return this._dirMap.get(e)}async getFile(e){const i=e.split("/");if(i.length<2){console.warn(`LocalFileServer getFile failed: ${e}`);return}const r=i[0],s=this._dirMap.get(r);if(!s){console.warn(`LocalFileServer getFile failed: ${e}`);return}const o=i.slice(1,i.length-1),a=i[i.length-1],l=await s.getFile(o,a);if(!l){console.warn(`LocalFileServer getFile failed: ${e}`);return}return l}async getText(e){const i=await this.getFile(e);if(i)return await Wd(i)}async getArrayBuffer(e){const i=await this.getFile(e);if(i)return await Dm(i)}async getJson(e){const i=await this.getFile(e);if(i)return await Om(i)}async getLocalFilePath(e,i,r){const s=await this.getRootDirId(i);if(!s){console.warn("getRootDirId error!");return}const o=this.getRootDir(s);if(!o){console.warn("getRootDir error!");return}const a=await o.getSubFilesAndDirs();if(!a.files){console.warn("getSubFilesAndDirs error! 找不到符合要求的文件!");return}const l=e?a.files.filter(u=>e.some(h=>u.endsWith(h))):a.files;if(l.length===0){console.warn("找不到符合要求的文件!");return}return`https://${s}/${l[0]}`}}const Lm=new Am("xe2_local");async function G1(n,t,e){return await Lm.getLocalFilePath(n,t,e)}class Fm extends V{constructor(e,i){super();f(this,"_processing",this.disposeVar(gi(async e=>{const i=this._complexImage,r=await e.promise(Zp(this._imageUri,this._complexImage.crossOrigin));r&&r instanceof HTMLImageElement&&(i.size=[r.naturalWidth,r.naturalHeight],i.pixelFormat="RGBA",i.copyTexture({source:r}))})));f(this,"_processingStart",this._processing.start());this._complexImage=e,this._imageUri=i}get processing(){return this._processing}}const km=["DEPTH_COMPONENT","DEPTH_STENCIL","ALPHA","RED","RG","RGB","RGBA","LUMINANCE","LUMINANCE_ALPHA","RGB_DXT1","RGBA_DXT1","RGBA_DXT3","RGBA_DXT5","RGB_PVRTC_4BPPV1","RGB_PVRTC_2BPPV1","RGBA_PVRTC_4BPPV1","RGBA_PVRTC_2BPPV1","RGBA_ASTC","RGB_ETC1","RGB8_ETC2","RGBA8_ETC2_EAC","RGBA_BC7"],Bm=["img","gif","video","flv","hls"];let q1=class extends V{constructor(e,i){super();f(this,"_element");this._complexImage=e,this._videoSrc=i;var r=document.createElement("video");r.src=this._videoSrc,r.style.position="absolute",r.style.top="0px",r.style.left="0px",r.style.zIndex="-100",r.style.visibility="hidden",r.style.width="0px",r.style.height="0px";{const s=()=>{r.crossOrigin=this._complexImage.crossOrigin};s(),this.dispose(this._complexImage.crossOriginChanged.disposableOn(s))}{const s=()=>{r.autoplay=this._complexImage.autoplay};s(),this.dispose(this._complexImage.autoplayChanged.disposableOn(s))}{const s=()=>{r.loop=this._complexImage.loop};s(),this.dispose(this._complexImage.loopChanged.disposableOn(s))}r.muted=!0,document.body.appendChild(r),this._element=r,this.dispose(()=>document.body.removeChild(r))}get element(){return this._element}};class Vm extends V{constructor(e,i){super();f(this,"_videoDom");f(this,"_update",this.disposeVar(ya(()=>this.update())));f(this,"_updateStart",this._update.start());this._complexImage=e,this._imageUri=i,this._videoDom=this.disposeVar(new q1(this._complexImage,this._imageUri))}get videoDom(){return this._videoDom}get videoElement(){return this._videoDom.element}update(){if(this.videoElement.readyState<2)return;const e=this._complexImage,{videoWidth:i,videoHeight:r}=this.videoElement;e.size=[i,r],e.pixelFormat="RGBA",e.copyTexture({source:this.videoElement})}}function Hd(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Xd={},ns={},zm;function jm(){if(zm)return ns;zm=1,Object.defineProperty(ns,"__esModule",{value:!0}),ns.loop=ns.conditional=ns.parse=void 0;var n=function i(r,s){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:o;if(Array.isArray(s))s.forEach(function(u){return i(r,u,o,a)});else if(typeof s=="function")s(r,o,a,i);else{var l=Object.keys(s)[0];Array.isArray(s[l])?(a[l]={},i(r,s[l],o,a[l])):a[l]=s[l](r,o,a,i)}return o};ns.parse=n;var t=function(r,s){return function(o,a,l,u){s(o,a,l)&&u(o,r,a,l)}};ns.conditional=t;var e=function(r,s){return function(o,a,l,u){for(var h=[],c=o.pos;s(o,a,l);){var d={};if(u(o,r,a,d),o.pos===c)break;c=o.pos,h.push(d)}return h}};return ns.loop=e,ns}var ye={},Um;function Gm(){if(Um)return ye;Um=1,Object.defineProperty(ye,"__esModule",{value:!0}),ye.readBits=ye.readArray=ye.readUnsigned=ye.readString=ye.peekBytes=ye.readBytes=ye.peekByte=ye.readByte=ye.buildStream=void 0;var n=function(c){return{data:c,pos:0}};ye.buildStream=n;var t=function(){return function(c){return c.data[c.pos++]}};ye.readByte=t;var e=function(){var c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return function(d){return d.data[d.pos+c]}};ye.peekByte=e;var i=function(c){return function(d){return d.data.subarray(d.pos,d.pos+=c)}};ye.readBytes=i;var r=function(c){return function(d){return d.data.subarray(d.pos,d.pos+c)}};ye.peekBytes=r;var s=function(c){return function(d){return Array.from(i(c)(d)).map(function(g){return String.fromCharCode(g)}).join("")}};ye.readString=s;var o=function(c){return function(d){var g=i(2)(d);return c?(g[1]<<8)+g[0]:(g[0]<<8)+g[1]}};ye.readUnsigned=o;var a=function(c,d){return function(g,p,y){for(var w=typeof d=="function"?d(g,p,y):d,S=i(c),v=new Array(w),_=0;_<w;_++)v[_]=S(g);return v}};ye.readArray=a;var l=function(c,d,g){for(var p=0,y=0;y<g;y++)p+=c[d+y]&&Math.pow(2,g-y-1);return p},u=function(c){return function(d){for(var g=t()(d),p=new Array(8),y=0;y<8;y++)p[7-y]=!!(g&1<<y);return Object.keys(c).reduce(function(w,S){var v=c[S];return v.length?w[S]=l(p,v.index,v.length):w[S]=p[v.index],w},{})}};return ye.readBits=u,ye}var qm;function W1(){return qm||(qm=1,(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var t=jm(),e=Gm(),i={blocks:function(d){for(var g=0,p=[],y=d.data.length,w=0,S=(0,e.readByte)()(d);S!==g&&S;S=(0,e.readByte)()(d)){if(d.pos+S>=y){var v=y-d.pos;p.push((0,e.readBytes)(v)(d)),w+=v;break}p.push((0,e.readBytes)(S)(d)),w+=S}for(var _=new Uint8Array(w),E=0,C=0;C<p.length;C++)_.set(p[C],E),E+=p[C].length;return _}},r=(0,t.conditional)({gce:[{codes:(0,e.readBytes)(2)},{byteSize:(0,e.readByte)()},{extras:(0,e.readBits)({future:{index:0,length:3},disposal:{index:3,length:3},userInput:{index:6},transparentColorGiven:{index:7}})},{delay:(0,e.readUnsigned)(!0)},{transparentColorIndex:(0,e.readByte)()},{terminator:(0,e.readByte)()}]},function(c){var d=(0,e.peekBytes)(2)(c);return d[0]===33&&d[1]===249}),s=(0,t.conditional)({image:[{code:(0,e.readByte)()},{descriptor:[{left:(0,e.readUnsigned)(!0)},{top:(0,e.readUnsigned)(!0)},{width:(0,e.readUnsigned)(!0)},{height:(0,e.readUnsigned)(!0)},{lct:(0,e.readBits)({exists:{index:0},interlaced:{index:1},sort:{index:2},future:{index:3,length:2},size:{index:5,length:3}})}]},(0,t.conditional)({lct:(0,e.readArray)(3,function(c,d,g){return Math.pow(2,g.descriptor.lct.size+1)})},function(c,d,g){return g.descriptor.lct.exists}),{data:[{minCodeSize:(0,e.readByte)()},i]}]},function(c){return(0,e.peekByte)()(c)===44}),o=(0,t.conditional)({text:[{codes:(0,e.readBytes)(2)},{blockSize:(0,e.readByte)()},{preData:function(d,g,p){return(0,e.readBytes)(p.text.blockSize)(d)}},i]},function(c){var d=(0,e.peekBytes)(2)(c);return d[0]===33&&d[1]===1}),a=(0,t.conditional)({application:[{codes:(0,e.readBytes)(2)},{blockSize:(0,e.readByte)()},{id:function(d,g,p){return(0,e.readString)(p.blockSize)(d)}},i]},function(c){var d=(0,e.peekBytes)(2)(c);return d[0]===33&&d[1]===255}),l=(0,t.conditional)({comment:[{codes:(0,e.readBytes)(2)},i]},function(c){var d=(0,e.peekBytes)(2)(c);return d[0]===33&&d[1]===254}),u=[{header:[{signature:(0,e.readString)(3)},{version:(0,e.readString)(3)}]},{lsd:[{width:(0,e.readUnsigned)(!0)},{height:(0,e.readUnsigned)(!0)},{gct:(0,e.readBits)({exists:{index:0},resolution:{index:1,length:3},sort:{index:4},size:{index:5,length:3}})},{backgroundColorIndex:(0,e.readByte)()},{pixelAspectRatio:(0,e.readByte)()}]},(0,t.conditional)({gct:(0,e.readArray)(3,function(c,d){return Math.pow(2,d.lsd.gct.size+1)})},function(c,d){return d.lsd.gct.exists}),{frames:(0,t.loop)([r,a,l,s,o],function(c){var d=(0,e.peekByte)()(c);return d===33||d===44})}],h=u;n.default=h})(Xd)),Xd}var H1=W1();const X1=Hd(H1);var Y1=jm(),J1=Gm();const $1=(n,t)=>{const e=new Array(n.length),i=n.length/t,r=function(h,c){const d=n.slice(c*t,(c+1)*t);e.splice.apply(e,[h*t,t].concat(d))},s=[0,4,2,1],o=[8,8,4,2];for(var a=0,l=0;l<4;l++)for(var u=s[l];u<i;u+=o[l])r(u,a),a++;return e},Q1=(n,t,e)=>{const s=e;var o,a,l,u,h,c,d,C,g,p,E,y,b,P,O,x;const w=new Array(e),S=new Array(4096),v=new Array(4096),_=new Array(4097);for(y=n,a=1<<y,h=a+1,o=a+2,d=-1,u=y+1,l=(1<<u)-1,g=0;g<a;g++)S[g]=0,v[g]=g;var E,C,b,P,x,O;for(E=C=b=P=x=O=0,p=0;p<s;){if(P===0){if(C<u){E+=t[O]<<C,C+=8,O++;continue}if(g=E&l,E>>=u,C-=u,g>o||g==h)break;if(g==a){u=y+1,l=(1<<u)-1,o=a+2,d=-1;continue}if(d==-1){_[P++]=v[g],d=g,b=g;continue}for(c=g,g==o&&(_[P++]=b,g=d);g>a;)_[P++]=v[g],g=S[g];b=v[g]&255,_[P++]=b,o<4096&&(S[o]=d,v[o]=b,o++,(o&l)===0&&o<4096&&(u++,l+=o)),d=c}P--,w[x++]=_[P],p++}for(p=x;p<s;p++)w[p]=0;return w},K1=n=>{const t=new Uint8Array(n);return Y1.parse(J1.buildStream(t),X1)},Z1=n=>{const t=n.pixels.length,e=new Uint8ClampedArray(t*4);for(var i=0;i<t;i++){const r=i*4,s=n.pixels[i],o=n.colorTable[s]||[0,0,0];e[r]=o[0],e[r+1]=o[1],e[r+2]=o[2],e[r+3]=s!==n.transparentIndex?255:0}return e},tE=(n,t,e)=>{if(!n.image){console.warn("gif frame does not have associated image.");return}const{image:i}=n,r=i.descriptor.width*i.descriptor.height;var s=Q1(i.data.minCodeSize,i.data.blocks,r);i.descriptor.lct.interlaced&&(s=$1(s,i.descriptor.width));const o={pixels:s,dims:{top:n.image.descriptor.top,left:n.image.descriptor.left,width:n.image.descriptor.width,height:n.image.descriptor.height}};return i.descriptor.lct&&i.descriptor.lct.exists?o.colorTable=i.lct:o.colorTable=t,n.gce&&(o.delay=(n.gce.delay||10)*10,o.disposalType=n.gce.extras.disposal,n.gce.extras.transparentColorGiven&&(o.transparentIndex=n.gce.transparentColorIndex)),o.patch=Z1(o),o},eE=(n,t)=>n.frames.filter(e=>e.image).map(e=>tE(e,n.gct));async function Wm(n){const e=await(await fetch(n)).arrayBuffer(),i=K1(e),r=eE(i);return{gif:i,gifFrames:r,arrayBuffer:e}}function Hm(n,t,e){return n<t?t:n>e?e:n}class Xm extends Fh{constructor(e,i=!0,r){super();f(this,"_gifFrames",this.disposeVar(B(void 0)));f(this,"_gifDurations",[]);f(this,"_gifDuration",this.disposeVar(B(0)));f(this,"_gifSize",this.disposeVar(B([0,0],(e,i)=>e.every((r,s)=>r===i[s]),e=>[...e])));f(this,"_autoPlayOnLoad",this.disposeVar(B(!0)));f(this,"_gifCanvas");this._container=e,this.loop=!0;const s=document.createElement("canvas");this._gifCanvas=s,s.style.width="100%",s.style.height="100%";const o=s.getContext("2d");this._container&&this._container.appendChild(s),this.dispose(()=>this._container&&this._container.removeChild(s));let a;this.dispose(this._gifFrames.changed.disposableOn(u=>{if(!u||u.length===0){s.width=0,s.height=0;return}const{width:h,height:c}=u[0].dims;this._gifSize.value=[h,c];const d=u.length;let g=0;this._gifDurations.length=0;for(let p=0;p<d;++p)g+=u[p].delay,this._gifDurations.push(g);this._gifDuration.value=this._gifDurations[this._gifDurations.length-1],s.width=h,s.height=c,a=o.createImageData(h,c),this.currentTimeChangedEvent.emit(this.currentTime,this.currentTime),this._autoPlayOnLoad.value&&(this.currentTime=0,this.playing=!0)}));let l=-1;this.dispose(this.currentTimeChangedEvent.disposableOn(u=>{const h=Hm(u/this.duration,0,1),c=this.gifDuration*h,d=this._gifFrames.value;if(d&&d.length>0){const g=this._getFrame(c);if(g===l)return;l=g;const p=d[g];if(p.disposalType!==0&&p.disposalType!==1&&p.disposalType!==2&&ca(`gif parsed get disposalType ${p.disposalType}... frame: ${g} size: ${JSON.stringify(p.dims)}`,`gif parsed get disposalType ${p.disposalType}...`),a&&(g===0||p.disposalType===2)&&a.data.fill(0),a){const[y,w]=this._gifSize.value,{width:S,height:v,left:_,top:E}=p.dims;if(v>w)throw new Error("height > canvasHeight");for(let C=0;C<v;++C)for(let b=0;b<S;++b){const P=C*S+b,x=E+C,O=_+b,L=x*y+O,M=a.data,A=p.patch,R=A[P*4+3]/255;M[L*4+0]=M[L*4+0]*(1-R)+A[P*4+0]*R|0,M[L*4+1]=M[L*4+1]*(1-R)+A[P*4+1]*R|0,M[L*4+2]=M[L*4+2]*(1-R)+A[P*4+2]*R|0,M[L*4+3]=Hm(M[L*4+3]+A[P*4+3],0,255)|0}o.putImageData(a,0,0)}}else ca("gif资源未加载!无法播放!")})),this.dispose(this._gifDuration.changed.disposableOn(()=>{this.duration=this.gifDuration})),this._autoPlayOnLoad.value=i,this._gifFrames.value=r}get gifCanvas(){return this._gifCanvas}set gifFrames(e){this._gifFrames.value=e}get gifFrames(){return this._gifFrames.value}get gifFramesChanged(){return this._gifFrames.changed}get gifSize(){return this._gifSize.value}get gifSizeChanged(){return this._gifSize.changed}get gifDuration(){return this._gifDuration.value}get gifDurationChanged(){return this._gifDuration.changed}get autoPlayOnLoad(){return this._autoPlayOnLoad.value}set autoPlayOnLoad(e){this._autoPlayOnLoad.value=e}get autoPlayOnLoadChanged(){return this._autoPlayOnLoad.changed}_getFrame(e){const i=this._gifDurations.length;for(let r=0;r<i;++r)if(e<=this._gifDurations[r])return r;throw new Error("should not be here")}}class Ym extends V{constructor(e){super();f(this,"_player");f(this,"_url",this.disposeVar(B("")));f(this,"_loadGifFramesProcessing",this.disposeVar(Lh(e=>Ah(Wm(e)))));this._player=this.disposeVar(new Xm(e)),this._player.autoPlayOnLoad=!0,this._loadGifFramesProcessing.completeFunc=({gifFrames:i})=>this._player.gifFrames=i,this.dispose(this._url.changed.disposableOn(i=>{this._player.gifFrames=void 0,this._loadGifFramesProcessing.restart(new qi(`reload gif(${i})`),i)}))}get player(){return this._player}set url(e){this._url.value=e}get url(){return this._url.value}get loadedEvent(){return this._loadGifFramesProcessing.completeEvent}get size(){return this._player.gifSize}get sizeChanged(){return this._player.gifSizeChanged}get duration(){return this._player.gifDuration}get durationChanged(){return this._player.gifDurationChanged}}class Jm extends V{constructor(e,i){super();f(this,"_gif",this.disposeVar(new Ym));f(this,"_update",this.disposeVar(ya(()=>this.update())));f(this,"_updateStart",this._update.start());this._complexImage=e,this._imageUri=i,this._gif.url=this._imageUri}get gif(){return this._gif}update(){const{player:e}=this._gif;if(!e.gifFrames)return;const i=this._complexImage,{width:r,height:s}=e.gifCanvas;i.size=[r,s],i.pixelFormat="RGBA",i.copyTexture({source:e.gifCanvas});{const o=()=>{e.autoPlayOnLoad=this._complexImage.autoplay};o(),this.dispose(this._complexImage.autoplayChanged.disposableOn(o))}{const o=()=>{e.loop=this._complexImage.loop};o(),this.dispose(this._complexImage.loopChanged.disposableOn(o))}}}function $m(n,t){const[e,i,r]=Zr(n),s=B(void 0),o=()=>{const a=e()??t;s.value=a&&Z.context.getStrFromEnv(a)};return o(),r&&s.d(r.don(o)),s.d(Z.context.environmentVariablesChanged.don(o)),s}function Qm(n){const t=/\${(.*?)\}/g;if(!t.test(n))return n;const e=n.replace(t,(i,r)=>{const s=Z.context.getEnv(r);return s===void 0?(console.warn(`环境变量(${r})不存在,无法进行转换`),"{env-error}"):s});return Qm(e)}class nE extends V{constructor(e){super();f(this,"_sceneObjRefs",new Map);f(this,"_refs",{});f(this,"_refsChanged",this.dv(new I));const i=(r,s,o)=>{if(o){const a=this.getLastSceneObject(o),l=this._sceneObjRefs.get(o);if(!l)console.warn(`this._sceneObjRefs中不存在ref(${o}), 可能系统存在逻辑问题`);else{const h=l.indexOf(r);h===-1?console.warn(`this._sceneObjRefs中不存在当前对象(id: ${r.id} type: ${r.typeName})!可能系统存在逻辑问题`):(l.splice(h,1),l.length===0&&this._sceneObjRefs.delete(o))}const u=this.getLastSceneObject(o);this._refs[o]=u,this._refsChanged.emit(u,a)}if(s){const a=this.getLastSceneObject(s),l=this._sceneObjRefs.get(s);l?(l.push(r),l.length>0&&console.warn(`同时存在多个ref${s}相同的场景对象!
|
|
21
|
+
`)}}),window.g_XE3CopyRights=window.g_XE3CopyRights||{},window.g_XE3CopyRights[n]=m.copyright,window.g_XE3SendProductUsageInfo=window.g_XE3SendProductUsageInfo||!0,window.g_XE3SendProductUsageInfo&&(setTimeout(()=>jp(m.copyright),6e4),setInterval(()=>jp(m.copyright),864e5)),window.g_earthsdk_copyright_print=window.g_earthsdk_copyright_print??!0,window.g_earthsdk_copyright_print&&m.copyright.print()}catch{console.warn("版本信息有误!")}const Up=new Set;function ca(n,t=n){Up.has(t)||(Up.add(t),console.warn(n))}function Zr(n){const t=bh(n),e=()=>t[0][t[1]],i=s=>{try{t[0][t[1]]=s}catch(o){ca(`setValue error, obj(${t[0].constructor.name}) prop(${t[1]}) error(${o})`)}},r=t[0][t[2]];return[e,i,r]}function Ew(){return!0}function Cw(){throw new Error("throwOnDestroyed")}function Gp(n){for(var t in n)typeof n[t]=="function"&&(n[t]=Cw);n.isDestroyed=Ew}const ad=class ad{constructor(){f(this,"_memId",++ad._lastMemId);f(this,"_disposers")}get __v_skip(){return!0}get memId(){return this._memId}get disposers(){return this._disposers||(this._disposers=[]),this._disposers}dispose(t){return this.disposers.push(t),t}d(t){return this.dispose(t)}disposeVar(t){return this.disposers.push(()=>t.destroy()),t}dv(t){return this.disposeVar(t)}tryDisposeVar(t){return this.disposers.push(()=>t.tryDestroy()),t}tdv(t){return this.tryDisposeVar(t)}autoDispose(t){return typeof t=="function"?this.dispose(t):this.disposeVar(t)}ad(t){return typeof t=="function"?this.dispose(t):this.disposeVar(t)}isDestroyed(){return!1}destroyImp(){}destroy(){if(this._toDestroyEvent&&this._toDestroyEvent.emit(),this.destroyImp(),this._disposers)try{const t=this._disposers,e=t.length;for(let i=e-1;i>=0;--i)t[i]();t.length=0,this._disposers=void 0}catch(t){console.error(`destroy get error! ${t}`)}return Gp(this)}tryDestory(){if(!this.isDestroyed())return this.destroy()}};f(ad,"_lastMemId",-1);let V=ad,hd;function qp(n){hd=n}Object.defineProperties(V.prototype,{toDestroyEvent:{get(){if(this._toDestroyEvent===void 0){if(!hd)throw new Error("Destroyable EventCtor not registered yet!");this._toDestroyEvent=this.disposeVar(new hd)}return this._toDestroyEvent}}});class Eh{constructor(t,e,i=!1){f(this,"_freeElements");f(this,"_usedElementsCount");f(this,"_usedElements");f(this,"_nextCreateID");f(this,"_scratchObjs");this._createDefaultFunc=t,this._destroyFunc=e,this._freeElements=[],this._usedElementsCount=0,this._nextCreateID=1,this._scratchObjs=[],i&&(this._usedElements=[])}get usedElementsCount(){return this._usedElementsCount}get freeElementsCount(){return this._freeElements.length}_getCreateID(){return this._nextCreateID++}_create(){let t;return this._freeElements.length>0?t=this._freeElements.pop():t=this._createDefaultFunc&&this._createDefaultFunc()||{},t._cid=this._getCreateID(),t}create(){return this._create()}multiCreate(t){this._scratchObjs.length=0;for(let e=0;e<t;++e)this._scratchObjs.push(this._create());return this._scratchObjs}_destroy(t){this._destroyFunc&&this._destroyFunc(t),t._cid=void 0}destroy(...t){const e=t.length;for(let i=0;i<e;++i)this._destroy(t[i])}}function Sw(){return{item:void 0,previous:void 0,next:void 0}}function bw(n){n.item=void 0,n.previous=void 0,n.next=void 0}const Wp=new Eh(Sw,bw,!0);function cd(n,t,e){const i=Wp.create();return i.item=n,i.previous=t,i.next=e,i}function Hp(n){if(!n)throw new Error("node is undefined!");Wp.destroy(n)}function dd(n,t){t.previous&&t.next?(t.previous.next=t.next,t.next.previous=t.previous):t.previous?(t.previous.next=void 0,n.tail=t.previous):t.next?(t.next.previous=void 0,n.head=t.next):(n.head=void 0,n.tail=void 0),t.next=void 0,t.previous=void 0}class Xp{constructor(t){f(this,"head");f(this,"tail");f(this,"_length");const{needLength:e}=t||{needLength:!0};this.head=void 0,this.tail=void 0,e&&(this._length=0)}_incrementLength(){typeof this._length=="number"&&++this._length}_decrementLength(){typeof this._length=="number"&&--this._length}_setLength(t){typeof this._length=="number"&&(this._length=t)}get length(){return this._length}get empty(){return!this.head}*[Symbol.iterator](){let t=this.head;for(;t;)yield t,t=t.next}remove(t){if(!t)throw new Error("node is undefined!");dd(this,t),this._decrementLength(),Hp(t)}getNode(t){let e=this.head;for(;e!==null;){if(!e)throw new Error("current is undefined!");if(e.item===t)return e;e=e.next}}moveAfter(t,e){if(t!==e){dd(this,e);var i=t.next;t.next=e,this.tail===t?this.tail=e:i&&(i.previous=e),e.next=i,e.previous=t}}moveBefore(t,e){if(t!==e){dd(this,e);var i=t.previous;t.previous=e,this.head===t?this.head=e:i&&(i.next=e),e.previous=i,e.next=t}}insertBefore(t,e){const i=cd(e,t.previous,t);return t.previous&&(t.previous.next=i),t.previous=i,this.head===t&&(this.head=i),this._incrementLength(),i}insertAfter(t,e){const i=cd(e,t,t.next);return t.next&&(t.next.previous=i),t.next=i,this.tail===t&&(this.tail=i),this._incrementLength(),i}_setFirstNode(t){if(this.head||this.tail)throw new Error("_setFirstNode error!");const e=cd(t,void 0,void 0);if(this.head=e,this.tail=e,this._incrementLength(),this._length!==1)throw new Error("_setFirstNode error! this._length !== 1");return e}push(t){return this.tail?this.insertAfter(this.tail,t):this._setFirstNode(t)}pop(){if(!this.tail)throw new Error("DoublyLinkedList is empty!");const t=this.tail.item;return this.remove(this.tail),t}shift(){if(!this.head)throw new Error("DoublyLinkedList is empty!");const t=this.head.item;return this.remove(this.head),t}unshift(t){return this.head?this.insertBefore(this.head,t):this._setFirstNode(t)}removeAll(){let t=this.head;for(;t;){const e=t.next;Hp(t),t=e}this.head=void 0,this.tail=void 0,this._setLength(0)}}function Pw(){return{func:void 0,scope:void 0,_hasRemoved:!1,_once:!1}}function Iw(n){n.func=void 0,n.scope=void 0,n._hasRemoved=!1,n._once=!1}const fo=new Eh(Pw,Iw,!0);class fd{constructor(){f(this,"__dll");f(this,"__currentListenerStack")}get _dll(){return this.__dll=this.__dll??new Xp({needLength:!0}),this.__dll}_pushCurrentListener(t){this.__currentListenerStack?Array.isArray(this.__currentListenerStack)?this.__currentListenerStack.push(t):this.__currentListenerStack=[this.__currentListenerStack,t]:this.__currentListenerStack=t}_popCurrentListener(){if(this.__currentListenerStack)Array.isArray(this.__currentListenerStack)?this.__currentListenerStack.pop():this.__currentListenerStack=void 0;else throw new Error("cannot pop!")}_hasCurrentListener(t){return this.__currentListenerStack?Array.isArray(this.__currentListenerStack)?this.__currentListenerStack.indexOf(t)!==-1:this.__currentListenerStack===t:!1}do(...t){if(this.__dll&&!this._dll.empty){let e=this._dll.head;for(;e;){const i=e.item;i._hasRemoved||(this._pushCurrentListener(i),i.func.call(i.scope,...t),this._popCurrentListener());const r=e.next;i._once&&!i._hasRemoved&&(this.remove(e),e=void 0),e&&this._clearHasRemoved(e),e=r}}}get empty(){if(!this.__dll||this._dll.empty)return!0;let t=!0,e=this._dll.head;for(;e;){if(!e.item._hasRemoved){t=!1;break}e=e.next}return t}isHandlerValid(t){return!t.item._hasRemoved}nextHandler(t){if(!t.item._hasRemoved)throw new Error("handler has removed!");let e=t.next;for(;e&&e.item._hasRemoved;)e=e.next;return e}prevHandler(t){if(!t.item._hasRemoved)throw new Error("handler has removed!");let e=t.previous;for(;e&&e.item._hasRemoved;)e=e.previous;return e}moveAfter(t,e){if(t.item._hasRemoved||e.item._hasRemoved)throw new Error("handler or nextHandler has removed!");return this._dll.moveAfter(t,e)}moveBefore(t,e){if(t.item._hasRemoved||e.item._hasRemoved)throw new Error("handler or prevHandler has removed!");return this._dll.moveBefore(t,e)}insertBefore(t,e,i,r=!1){if(t.item._hasRemoved)throw new Error("handler has removed!");const s=fo.create();return s.func=e,s.scope=i,s._once=r,this._dll.insertBefore(t,s)}insertAfter(t,e,i,r=!1){if(t.item._hasRemoved)throw new Error("handler has removed!");const s=fo.create();return s.func=e,s.scope=i,s._once=r,this._dll.insertAfter(t,s)}_clearHasRemoved(t){t.item._hasRemoved&&!this._hasCurrentListener(t.item)&&(fo.destroy(t.item),this._dll.remove(t))}remove(t){if(!t.item||t.item._hasRemoved)throw new Error("handler has removed!");this._hasCurrentListener(t.item)?t.item._hasRemoved=!0:(fo.destroy(t.item),this._dll.remove(t))}removeAll(){if(this.__dll&&!this._dll.empty){let t=this._dll.head;for(;t;){const e=t.next;t.item._hasRemoved||this.remove(t),t=e}}}destroy(){if(!this.__dll)return;let t=this._dll.head;for(;t;){const e=t.next,i=t;this._hasCurrentListener(i.item)||(console.warn("Event has remove item that on current stack!"),console.warn(`${i.item.func.toString()}`)),fo.destroy(i.item),this._dll.remove(i),t=e}this.__dll=void 0,this.__currentListenerStack=void 0}push(t,e,i=!1){const r=fo.create();return r.func=t,r.scope=e,r._once=i,this._dll.push(r)}pop(){const t=this.tail;if(!t)throw new Error("pop error!");this.remove(t)}shift(){const t=this.head;if(!t)throw new Error("shift error!");this.remove(t)}unshift(t,e,i=!1){const r=fo.create();return r.func=t,r.scope=e,r._once=i,this._dll.unshift(r)}get tail(){let t=this._dll.tail;for(;t&&t.item._hasRemoved;)t=t.previous;return t}get head(){let t=this._dll.head;for(;t&&t.item._hasRemoved;)t=t.previous;return t}}class Ql{constructor(){f(this,"_listenerHandler");f(this,"_cid")}_reset(t,e){this._listenerHandler=t,this._cid=e}clone(t){return t=t??new Ql,t._reset(this._listenerHandler,this._cid),t}get valid(){if(typeof this._listenerHandler<"u"&&typeof this._cid=="number"){const t=this._listenerHandler._cid;if(typeof t<"u"&&this._cid===t)return!0}return!1}}class gd extends Ql{}let I=class extends V{constructor(){super(...arguments);f(this,"__pipe");f(this,"beforeCallback");f(this,"afterCallback")}get _pipe(){return this.__pipe=this.__pipe??new fd,this.__pipe}get empty(){return!this.__pipe||this._pipe.empty}emit(...e){!this.isDestroyed()&&this.beforeCallback&&this.beforeCallback(...e),!this.isDestroyed()&&this._pipe.do(...e),!this.isDestroyed()&&this.afterCallback&&this.afterCallback(...e)}on(e,i,r=!1,s){const o=r?this._pipe.unshift(e,i,!1):this._pipe.push(e,i,!1);return s=s??new gd,s._reset(o,o._cid),s}disposableOn(e,i,r=!1,s){const o=this.on(e,i,r,s);return()=>{o.valid&&this.off(o)}}don(e,i,r=!1,s){return this.disposableOn(e,i,r,s)}disposableWeakOn(e,i,r=!1,s){const o=new V,a=()=>{!o.isDestroyed()&&o.destroy()};return o.dispose(this.disposableOn(e,i,r,s)),o.dispose(this.toDestroyEvent.disposableOn(a)),a}dwon(e,i,r=!1,s){return this.disposableWeakOn(e,i,r,s)}once(e,i,r=!1,s){const o=r?this._pipe.unshift(e,i,!0):this._pipe.push(e,i,!0);return s=s??new gd,s._reset(o,o._cid),s}disposableOnce(e,i,r=!1,s){const o=this.once(e,i,r,s);return()=>o.valid&&this.off(o)}donce(e,i,r=!1,s){const o=this.once(e,i,r,s);return()=>o.valid&&this.off(o)}off(e){if(!e.valid)throw new Error("handler is not valid!");this._pipe.remove(e._listenerHandler),e._reset()}reset(){this._pipe.removeAll()}destroyImp(){this.empty||(ca("The event is destroying with listeners!"),this._pipe.removeAll())}};qp(I);function da(n,t){return t=t??new Ql,t._reset(n,n._cid),t}class xw{constructor(){f(this,"__pipe")}get _pipe(){return this.__pipe=this.__pipe??new fd,this.__pipe}get empty(){return!this.__pipe||this._pipe.empty}do(...t){return this._pipe.do(...t)}isHandlerValid(t){return t.valid?this._pipe.isHandlerValid(t._listenerHandler):!1}moveAfter(t,e){if(!t.valid||!e.valid)throw new Error("handler or nextHander is not valid!");return this._pipe.moveAfter(t._listenerHandler,e._listenerHandler)}moveBefore(t,e){if(!t.valid||!e.valid)throw new Error("handler or nextHander is not valid!");return this._pipe.moveAfter(t._listenerHandler,e._listenerHandler)}insertBefore(t,e,i,r=!1,s){if(!t.valid)throw new Error("handler is not valid!");const o=this._pipe.insertBefore(t._listenerHandler,e,i,r);return da(o,s)}insertAfter(t,e,i,r=!1,s){if(!t.valid)throw new Error("handler is not valid!");const o=this._pipe.insertAfter(t._listenerHandler,e,i,r);return da(o,s)}remove(t){if(!t.valid)throw new Error("handler is not valid!");return this._pipe.remove(t._listenerHandler)}removeAll(){return this._pipe.removeAll()}push(t,e,i=!1,r){const s=this._pipe.push(t,e,i);return da(s,r)}pop(){return this._pipe.pop()}shift(){return this._pipe.shift()}unshift(t,e,i=!1,r){const s=this._pipe.unshift(t,e,i);return da(s,r)}getTail(t){const e=this._pipe.tail;if(e)return da(e,t)}getHead(t){const e=this._pipe.head;if(e)return da(e,t)}}class Ue extends V{constructor(e,i,r){super();f(this,"_changed");f(this,"_value");f(this,"_oldValue");f(this,"toChangeFunc");this._equalsFunc=i,this._assignFunc=r,this._value=this._assignFunc&&this._assignFunc(e,void 0)||e}get assignFunc(){return this._assignFunc}get equalsFunc(){return this._equalsFunc}equals(e){return this._equalsFunc?this._equalsFunc(this._value,e):this._value===e}set value(e){if(this._equalsFunc?!this._equalsFunc(this._value,e):this._value!==e){if(this.toChangeFunc&&!this.toChangeFunc(e,this._value))return;this._assignFunc?(this._oldValue=this._assignFunc(this._value,this._oldValue),this._value=this._assignFunc(e,this._value)):(this._oldValue=this._value,this._value=e),this._changed&&this._changed.emit(e,this._oldValue)}}get value(){return this._value}get changed(){return this._changed||(this._changed=this.disposeVar(new I)),this._changed}forceChange(){this._changed&&this._changed.emit(this._value,this._value)}}function B(n,t,e){return new Ue(n,t,e)}function ht(n){return new Ue(n,(t,e)=>t.length!==e.length?!1:t.every((i,r)=>i===e[r]),(t,e)=>{const i=e||new Array(t.length);return i.length=t.length,t.forEach((r,s)=>i[s]=r),i})}function ee(n){return B(n,(t,e)=>t===void 0||e===void 0?t===void 0&&e===void 0:t.length!==e.length?!1:t.every((i,r)=>i===e[r]),(t,e)=>{if(!t)return;const i=e||new Array(t.length);return i.length=t.length,t.forEach((r,s)=>i[s]=r),i})}function Ch(n,t,e){return B(n,(i,r)=>i.length!==r.length?!1:i.every((s,o)=>t&&t(s,r[o])||s===r[o]),(i,r)=>{const s=r||new Array(i.length);return s.length=i.length,i.forEach((o,a)=>{s[a]=e?e(o):o}),s})}function Ts(n,t,e){return B(n,(i,r)=>i===void 0||r===void 0?i===void 0&&r===void 0:i.length!==r.length?!1:i.every((s,o)=>t&&t(s,r[o])||s===r[o]),(i,r)=>{if(!i)return;const s=r||new Array(i.length);return s.length=i.length,i.forEach((o,a)=>{s[a]=e?e(o):o}),s})}function mt(n){return new Ue(n,(t,e)=>t===e||t!==void 0&&e!==void 0&&JSON.stringify(t)===JSON.stringify(e),(t,e)=>{if(t!==void 0)return JSON.parse(JSON.stringify(t))})}function Yt(n){return new Ue(n,(t,e)=>t===e||t!==void 0&&e!==void 0&&JSON.stringify(t)===JSON.stringify(e),(t,e)=>{if(t!==void 0)return JSON.parse(JSON.stringify(t))})}function Mw(n){return new Ue(n,(t,e)=>{if(t===e)return!0;if(t===void 0||e===void 0)return!1;const i=Object.keys(t),r=Object.keys(e);return i.length!==r.length?!1:i.every((s,o)=>s===r[o]&&t[s]===e[s])},(t,e)=>t&&{...t})}function Tw(n){return new Ue(n,(t,e)=>{if(t===e)return!0;if(t===void 0||e===void 0)return!1;const i=Object.keys(t),r=Object.keys(e);return i.length!==r.length?!1:i.every((s,o)=>s===r[o]&&t[s]===e[s])},(t,e)=>t&&{...t})}function Nw(n){return Ch(n,(t,e)=>t.every((i,r)=>i===e[r]),t=>[...t])}function pd(n){return Ts(n,(t,e)=>t.every((i,r)=>i===e[r]),t=>[...t])}function Ow(n){return Ch(n,(t,e)=>JSON.stringify(t)===JSON.stringify(e),t=>JSON.parse(JSON.stringify(t)))}function Dw(n){return Ts(n,(t,e)=>JSON.stringify(t)===JSON.stringify(e),t=>JSON.parse(JSON.stringify(t)))}function Sh(n){return pd(n)}function Yp(n){return Ts(n,(t,e)=>t.length===e.length&&t.every((i,r)=>i.every((s,o)=>s===e[r][o])),t=>t.map(e=>[...e]))}function Rw(n){return Ts(n,(t,e)=>t.length===e.length&&t.every((i,r)=>i.every((s,o)=>s===e[r][o])),t=>t.map(e=>[...e]))}function bh(n){const t=n instanceof Ue?[n,"value","changed"]:[...n];return t[2]=t[2]||t[1]+"Changed",t}function md(n,t,e,i=!1){t[2]=t[2]||t[1]+"Changed";const r=()=>{const s=t[0][t[1]];e?n[0][n[1]]=e(s):n[0][n[1]]=s};return r(),i?t[0][t[2]].disposableWeakOn(r):t[0][t[2]].disposableOn(r)}function Aw(n,t,e,i,r=!1){const s=md(n,t,e,r),o=md(t,n,i,r);return()=>(s(),o())}function z(n,t,e,i=!1){const r=n instanceof Ue?[n,"value","changed"]:n,s=t instanceof Ue?[t,"value","changed"]:t;return md(r,s,e,i)}function nt(n,t,e,i,r=!1){const s=bh(n),o=bh(t);return Aw(s,o,e,i,r)}function Lw(n,t,e,i=!1){const[r]=Zr(t);return nt(n,t,s=>s??e,s=>{if(!(s===e&&r()===void 0))return s},i)}function fa(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(n){var t=Math.random()*16|0,e=n==="x"?t:t&3|8;return e.toString(16)})}function Ph(n,t){if(!window||!window.setTimeout||!window.clearTimeout)throw new Error("目前只适合在浏览器中使用!");let e=0;function i(){e>0&&(window.clearTimeout(e),e=0)}function r(...s){i(),e=window.setTimeout(n,t,...s)}return[r,i]}function vd(n,t,...e){const i=setInterval(n,t,...e);return()=>clearInterval(i)}function yd(n,t,...e){const i=setTimeout(n,t,...e);return()=>clearTimeout(i)}function Ih(n,...t){let e;const i=()=>{const r=performance.now();n(r,...t),e=requestAnimationFrame(i)};return i(),()=>typeof e<"u"&&(cancelAnimationFrame(e),e=void 0)}function ga(n,...t){let e;return e=requestAnimationFrame(()=>{const r=performance.now();n(r,...t)}),()=>typeof e<"u"&&(cancelAnimationFrame(e),e=void 0)}function Kl(n,...t){let e=!1,i;return new Promise((r,s)=>{i=s,r()}).then(()=>{!e&&n(...t)}).catch(r=>{console.error(r)}),()=>(e=!0)&&i&&(i("nextMicroTask cancelled!"),i=void 0)}class xh extends I{constructor(e,i,...r){super();f(this,"_cancellFunc");this._nextFunc=e,this.dispose(()=>{this._cancellFunc&&(this._cancellFunc(),this._cancellFunc=void 0)}),r.forEach(s=>this.dispose(s[i?"dwon":"don"](()=>{this.next()})))}next(){this._cancellFunc||(this._cancellFunc=this._nextFunc(()=>(this._cancellFunc=void 0,this.emit())))}flush(){this._cancellFunc&&(this._cancellFunc(),this._cancellFunc=void 0,this.emit())}}class _d extends xh{constructor(...t){super(Kl,!1,...t)}}function Fw(...n){return new _d(...n)}class kw extends xh{constructor(...t){super(Kl,!0,...t)}}function Bw(...n){return new _d(...n)}class Mh extends xh{constructor(...t){super(ga,!1,...t)}}function Ae(...n){return new Mh(...n)}function Vw(n,t){return new Mh(...n).don(t())}class Jp extends xh{constructor(...t){super(ga,!0,...t)}}function zw(...n){return new Jp(...n)}function go(n,t,e={time:"don",immediate:!1}){const i=new Mh(...Array.isArray(n)?n:[n]),r=i[e.time??"don"](t);return(e.immediate??!1)&&t(),()=>{r(),i.destroy()}}function Zl(n){let t;if(typeof n.next=="function")t=n;else if(typeof n[Symbol.iterator]=="function")t=n[Symbol.iterator]();else throw new Error("iteratorOrIterable error!");return t}function wd(n,t){let e=!1;const i=Zl(n);let r=-1;for(;;){const{done:s,value:o}=i.next();if(s)break;if(t(o,++r)){e=!0;break}}return e}function Ed(n,t){return!wd(n,(i,r)=>!t(i,r))}function tu(n,t,e,i){const r=n;if(!r[t]){const s=i(),o=Object.fromEntries(Object.entries(s).filter(([a,l])=>{const u=Object.getPrototypeOf(e),h=a in u;if(h){const c=l instanceof Ue?l.value:l;n[a]=c}return!h}).map(([a,l])=>l instanceof Ue?[a,l]:[a,Array.isArray(l)?ee(l):B(l)]));r[t]=o}return r[t]}function ts(n,t){var i;const e=Symbol(`${(i=n==null?void 0:n.constructor)==null?void 0:i.name}-createDefaultProps`);n.constructor.__xbsj_dpSymbol=e,n.constructor.__xbsj_createDefaultProps=t;for(let[r,s]of Object.entries(t()))if(!Reflect.has(n,r)){const o=function(a){var h,c;if(a[e])return;const l=[];let u=Object.getPrototypeOf(a);for(;u;)l.push(u),u=Object.getPrototypeOf(u);l.reverse();for(let d of l){const g=(h=d.constructor)==null?void 0:h.__xbsj_dpSymbol;if(!g)continue;const p=(c=d.constructor)==null?void 0:c.__xbsj_createDefaultProps;p&&tu(a,g,d,p)}};Object.defineProperties(n,{[r]:{get(){return o(this),tu(this,e,n,t)[r].value},set(a){o(this);const l=tu(this,e,n,t)[r];if(!l){console.error("!propObj");debugger}l.value=a}},[`${r}Changed`]:{get(){return o(this),tu(this,e,n,t)[r].changed}},[`${r}React`]:{get(){return o(this),tu(this,e,n,t)[r]}}})}}const eu=new WeakMap;function wr(n,t,e){eu.has(n)||eu.set(n,{});const i=eu.get(n);i[t]=e}function Zn(n,t){return eu.has(n)?eu.get(n)[t]:void 0}function Er(n,t){const e=Zl(n);let i=0;for(;;){const{done:r,value:s}=e.next();if(r)break;t(s,i++)}}function nu(n,t,e){const i=Zl(n);let r=e,s=0;for(;;){const{done:o,value:a}=i.next();if(o)break;r=t(r,a,s++)}return r}const jw=n=>++n;function Cd(n){return nu(n,jw,0)}function es(n){return nu(n,(t,e)=>t>e?t:e,Number.NEGATIVE_INFINITY)}function Ns(n){return nu(n,(t,e)=>t<e?t:e,Number.POSITIVE_INFINITY)}function $p(n,t){let e=n;for(let i of t)e=e[i];return e}function Uw(n,t,e){if(t.length===0)throw new Error("props的数量必须大于0");const i=t.length-1,r=t[i];let s=n;for(let o=0;o<i;++o){const a=t[o];typeof s[a]>"u"&&(s[a]={}),s=s[a]}s[r]=e}function*po(n,t){const e=Zl(n);for(;;){const{done:i,value:r}=e.next();if(i)break;yield $p(r,t)}}class iu extends V{constructor(){super();f(this,"_innerObj");f(this,"_toChangeEvent");f(this,"_changedEvent");this._innerObj=[],this.dispose(()=>{if(this.length=0,this._innerObj.length>0)throw new Error("this._innerObj.length > 0");this._toChangeEvent&&this._toChangeEvent.reset(),this._innerObj=void 0})}get toChangeEvent(){return this._toChangeEvent||(this._toChangeEvent=new I),this._toChangeEvent}get changedEvent(){return this._changedEvent||(this._changedEvent=new I),this._changedEvent}_resetArray(e){this._toChangeEvent&&this._toChangeEvent.emit([{start:0,deleteCount:this._innerObj.length,items:e}],this);const{length:i}=e;this._innerObj.length=i;for(let r=0;r<i;++r)this._innerObj[r]=e[r];this._changedEvent&&this._changedEvent.emit(this)}splice(e,i,...r){const{length:s}=this._innerObj;e=e>this._innerObj.length?this._innerObj.length:e,e>s?e=s:e<0&&(e+=s,e<0&&(e=0));const o=this._innerObj.length-e;if(i>o?i=o:i<0&&(i=0),arguments.length===1){this._toChangeEvent&&this._toChangeEvent.emit([{start:e,deleteCount:this._innerObj.length-e,items:[]}],this);const a=this._innerObj.splice(e);return this._changedEvent&&this._changedEvent.emit(this),a}else if(arguments.length===2){this._toChangeEvent&&this._toChangeEvent.emit([{start:e,deleteCount:i,items:[]}],this);const a=this._innerObj.splice(e,i);return this._changedEvent&&this._changedEvent.emit(this),a}else{this._toChangeEvent&&this._toChangeEvent.emit([{start:e,deleteCount:i,items:r}],this);const a=this._innerObj.splice(e,i,...r);return this._changedEvent&&this._changedEvent.emit(this),a}}pop(){if(this._innerObj.length===0)return;if(this._toChangeEvent){const i=this._innerObj.length-1,r=1,s=[];this._toChangeEvent.emit([{start:i,deleteCount:r,items:s}],this)}const e=this._innerObj.pop();return this._changedEvent&&this._changedEvent.emit(this),e}push(...e){if(this._toChangeEvent){const r=this._innerObj.length;this._toChangeEvent.emit([{start:r,deleteCount:0,items:e}],this)}const i=this._innerObj.push(...e);return this._changedEvent&&this._changedEvent.emit(this),i}get length(){return this._innerObj.length}set length(e){if(e<0)throw new Error("value < 0");const{length:i}=this._innerObj;if(i!==e){if(this._toChangeEvent){let r,s,o;i>e?(r=e,s=i-e,o=[]):(r=i,s=0,o=new Array(e-i)),this._toChangeEvent.emit([{start:r,deleteCount:s,items:o}],this)}this._innerObj.length=e,this._changedEvent&&this._changedEvent.emit(this)}}get(e){return this._innerObj[e]}set(e,i){const{length:r}=this._innerObj;if(e<0||e>=r)throw new Error("index < 0 || index >= length");this._toChangeEvent&&this._toChangeEvent.emit([{start:e,deleteCount:1,items:[i]}],this),this._innerObj[e]=i,this._changedEvent&&this._changedEvent.emit(this)}indexOf(e){return this._innerObj.indexOf(e)}[Symbol.iterator](){return this._innerObj[Symbol.iterator]()}}function Sd(n,t,...e){let i=n;for(let r of e){if(!i[r])if(t)i[r]={};else return;i=i[r]}return i}function Gw(n,t,e){typeof e>"u"&&(t.endsWith(".gltf")?e="model/gltf+json":t.endsWith(".bin")?e="application/octet-stream":t.endsWith(".glb")?e="model/gltf-binary":t.endsWith(".jpg")||t.endsWith(".jpeg")?e="image/jpeg":t.endsWith(".png")?e="image/png":t.endsWith(".glsl")?e="text/plain":t.endsWith(".json")?e="application/json":t.endsWith(".b3dm")||t.endsWith(".i3dm")||t.endsWith("pnts")||t.endsWith("cmpt")?e="application/octet-stream":console.warn(`save ${t}: MimeType无法确定!`));const i=new Blob([n],{type:e||""});let r=URL.createObjectURL(i);var s=document.createElement("a"),o=new MouseEvent("click");s.download=t,s.href=r,s.dispatchEvent(o),URL.revokeObjectURL(r)}function qw(n,t){const e=document.createElement("a"),i=new MouseEvent("click");e.download=t||"下载",e.href=n,e.dispatchEvent(i)}function Ww(){return new Promise((n,t)=>{const e=performance.now();requestAnimationFrame(i=>n(i>e))})}const Th=n=>{let t,e;return e=i=>{i=performance.now(),t=requestAnimationFrame(e),n(i)},t=requestAnimationFrame(e),()=>{cancelAnimationFrame(t)}};function bd(n,t,e=Th){let i=Number.NEGATIVE_INFINITY,r;function s(l){l-i>t&&r&&(n(...r),r=void 0,i=l)}const o=e&&e(s)||void 0;function a(...l){r=l}return[a,o]}const Qp=[];function Kp(n,t,e){if(Qp.includes(n)){console.warn(`_loadJs ${n} has loaded before!`),t&&t();return}var i=document.getElementsByTagName("head")[0],r=document.createElement("script");r.setAttribute("type","text/javascript"),r.setAttribute("src",n),r.onload=r.onreadystatechange=function(){this.readyState&&this.readyState!=="complete"||(Qp.push(n),t&&t(),r.onload=r.onreadystatechange=null)},r.onerror=(s,o,a,l,u)=>{e(u)},i.appendChild(r)}function Pd(n,t=!0){if(t){const e=window.L;window.L&&(window.L=void 0);const i=window.define;return window.define&&(window.define=void 0),new Promise((r,s)=>{Kp(n,r,s)}).then(()=>(window.define=i,window.L=e,Promise.resolve()))}else return new Promise((e,i)=>{Kp(n,e,i)})}async function Zp(n,t=""){return new Promise((e,i)=>{var r=new Image;r.crossOrigin=t,r.src=n,r.onload=()=>e(r),r.onerror=s=>i(s)})}class Hw extends V{constructor(t){super(),this._owner=t}get owner(){return this._owner}}function Xw(n,t){if(n.length%3!==0)throw new Error("positions.length % 3 !== 0");const e=n.length/3;function*i(o){for(let a=0;a<e;++a)yield n[a*3+o]}const r=(t==null?void 0:t.min)??[NaN,NaN,NaN],s=(t==null?void 0:t.max)??[NaN,NaN,NaN];return r[0]=Ns(i(0))??NaN,r[1]=Ns(i(1))??NaN,r[2]=Ns(i(2))??NaN,s[0]=es(i(0))??NaN,s[1]=es(i(1))??NaN,s[2]=es(i(2))??NaN,{min:r,max:s}}async function Yw(n,t=fetch){const e=await t(n);return e.ok?await e.arrayBuffer():void 0}function Nh(n,...t){if(n>16)throw new Error("length > 16");const e=new Array(n);for(let i=0;i<n;++i)e[i]=t[i]??0;return e}class Oh{constructor(t,e){this._xyzw=t,this._length=e}set 0(t){this._xyzw.x=t}set 1(t){this._xyzw.y=t}set 2(t){this._xyzw.z=t}set 3(t){this._xyzw.w=t}get 0(){return this._xyzw.x??0}get 1(){return this._xyzw.y??0}get 2(){return this._xyzw.z??0}get 3(){return this._xyzw.w??0}get length(){return this._length}}function Jw(n){return new Oh(n,2)}function $w(n){return new Oh(n,3)}function Qw(n){return new Oh(n,4)}class Kw{constructor(t,e,i,r){this._array=t,this._length=e,this._start=i,this._stride=r}get length(){return this._length}set 0(t){this._array[this._start+0*this._stride]=t}set 1(t){this._array[this._start+1*this._stride]=t}set 2(t){this._array[this._start+2*this._stride]=t}set 3(t){this._array[this._start+3*this._stride]=t}set 4(t){this._array[this._start+4*this._stride]=t}set 5(t){this._array[this._start+5*this._stride]=t}set 6(t){this._array[this._start+6*this._stride]=t}set 7(t){this._array[this._start+7*this._stride]=t}set 8(t){this._array[this._start+8*this._stride]=t}set 9(t){this._array[this._start+9*this._stride]=t}set 10(t){this._array[this._start+10*this._stride]=t}set 11(t){this._array[this._start+11*this._stride]=t}set 12(t){this._array[this._start+12*this._stride]=t}set 13(t){this._array[this._start+13*this._stride]=t}set 14(t){this._array[this._start+14*this._stride]=t}set 15(t){this._array[this._start+15*this._stride]=t}set 16(t){this._array[this._start+16*this._stride]=t}get 0(){return this._array[this._start+0*this._stride]}get 1(){return this._array[this._start+1*this._stride]}get 2(){return this._array[this._start+2*this._stride]}get 3(){return this._array[this._start+3*this._stride]}get 4(){return this._array[this._start+4*this._stride]}get 5(){return this._array[this._start+5*this._stride]}get 6(){return this._array[this._start+6*this._stride]}get 7(){return this._array[this._start+7*this._stride]}get 8(){return this._array[this._start+8*this._stride]}get 9(){return this._array[this._start+9*this._stride]}get 10(){return this._array[this._start+10*this._stride]}get 11(){return this._array[this._start+11*this._stride]}get 12(){return this._array[this._start+12*this._stride]}get 13(){return this._array[this._start+13*this._stride]}get 14(){return this._array[this._start+14*this._stride]}get 15(){return this._array[this._start+15*this._stride]}get 16(){return this._array[this._start+16*this._stride]}}function Zw(n,t,e=0,i=1){return new Kw(n,t,e,i)}m.Vector=void 0,(n=>{function t(U,...H){if(U=U||Nh(H.length),H.length>U.length)throw new Error("args.length > target.length");return U instanceof Float64Array?U.set(H):M(H,U),U}n.set=t;function e(U,H){const Ot=U.length;for(let Se=0;Se<Ot;++Se)if(!H(U[Se],Se))return!1;return!0}n.every=e;function i(U,H,Ot){const Se=U.length;let Kn=Ot;for(let Qr=0;Qr<Se;++Qr)Kn=H(Kn,U[Qr],Qr);return Kn}n.reduce=i;function*r(U){for(let H=0;H<U.length;++H)yield U[H]}n.itr=r;const s=(U,H)=>U+=H*H;function o(U){return i(U,s,0)}n.magnitudeSquared=o;function a(U){const H=o(U);return Math.sqrt(H)}n.magnitude=a;function l(U,H=1e-5){const Ot=o(U);return Math.abs(Ot-1)<H}n.isNormalized=l;let u;const h=(U,H,Ot)=>U+H*u[Ot];function c(U,H){return P(U,H),u=H,i(U,h,0)}n.dot=c;let d;const g=(U,H,Ot)=>U+=(H-d[Ot])*(H-d[Ot]);function p(U,H){return P(U,H),d=H,i(U,g,0)}n.distanceSquared=p;function y(U,H){return Math.sqrt(p(U,H))}n.distance=y;let w;const S=(U,H)=>U===w[H];function v(U,H){return P(U,H),w=H,e(U,S)}n.equals=v;let _,E;const C=(U,H)=>Math.abs(U-_[H])<E;function b(U,H,Ot=0){return P(U,H),_=H,E=Ot,e(U,C)}n.equalsEpsilon=b;function P(U,H){if(U.length!==H.length)throw new Error("left.length !== right.length")}function x(U,H,Ot){const Se=U.length;Ot=Ot||Nh(Se),P(U,Ot);for(let Kn=0;Kn<Se;++Kn)Ot[Kn]=H(U[Kn],Kn);return Ot}n.op1=x;function O(U,H,Ot,Se){P(U,H),Se&&P(U,Se);const Kn=U.length;Se=Se||Nh(Kn);for(let Qr=0;Qr<Kn;++Qr)Se[Qr]=Ot(U[Qr],H[Qr]);return Se}n.op2=O;const L=U=>U;function M(U,H){return x(U,L,H)}n.clone=M;let A=0;const R=(U,H)=>U*A;function k(U,H,Ot){return A=H,x(U,R,Ot)}n.multiplyByScalar=k;function J(U,H,Ot=0){const Se=o(U);if(Se<=Ot)return;const Kn=Math.sqrt(Se);return k(U,1/Kn,H)}n.normalize=J;function it(U,H){return k(U,-1,H)}n.negate=it;const pt=U=>Math.abs(U);function Ft(U,H){return x(U,pt,H)}n.abs=Ft;const Qt=U=>U-Math.floor(U);function De(U,H){return x(U,Qt,H)}n.fract=De;const kt=(U,H)=>U-H;function At(U,H,Ot){return O(U,H,kt,Ot)}n.subtract=At;const Re=(U,H)=>U+H;function $l(U,H,Ot){return O(U,H,Re,Ot)}n.add=$l;const co=(U,H)=>U*H;function sO(U,H,Ot){return O(U,H,co,Ot)}n.multiply=sO;const oO=(U,H)=>U/H;function aO(U,H,Ot){return O(U,H,oO,Ot)}n.divide=aO;let zp;const lO=(U,H)=>U*(1-zp)+H*zp;function uO(U,H,Ot,Se){return zp=Ot,O(U,H,lO,Se)}n.lerp=uO})(m.Vector||(m.Vector={}));function Dh(n,t=0,e=1){return n<t?t:n>e?e:n}class Rh extends V{constructor(e,i,r,s,o,a,l,u){super();f(this,"__status");f(this,"_statusChangedEvent");f(this,"_forceCancelFunc");f(this,"_startEvent");f(this,"_progressEvent");f(this,"_completeEvent");f(this,"_cancelEvent");f(this,"_cancelledEvent");f(this,"_errorEvent");f(this,"_finishedEvent");f(this,"_processingID",-1);this._startProcessingFunc=e,this.startFunc=i,this.progressFunc=r,this.completeFunc=s,this.cancelFunc=o,this.cancelledFunc=a,this.errorFunc=l,this.finishedFunc=u,this._status="Initial",this.dispose(()=>{var h;return(h=this._statusChangedEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._startEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._progressEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._completeEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._cancelEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._cancelledEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._errorEvent)==null?void 0:h.destroy()}),this.dispose(()=>{var h;return(h=this._finishedEvent)==null?void 0:h.destroy()}),this.dispose(()=>this.reset())}get startEvent(){return this._startEvent=this._startEvent||new I,this._startEvent}get progressEvent(){return this._progressEvent=this._progressEvent||new I,this._progressEvent}get completeEvent(){return this._completeEvent=this._completeEvent||new I,this._completeEvent}get cancelEvent(){return this._cancelEvent=this._cancelEvent||new I,this._cancelEvent}get cancelledEvent(){return this._cancelledEvent=this._cancelledEvent||new I,this._cancelledEvent}get errorEvent(){return this._errorEvent=this._errorEvent||new I,this._errorEvent}get finishedEvent(){return this._finishedEvent=this._finishedEvent||new I,this._finishedEvent}_completeFunc(e,i){this.processingID===e&&this._status==="Running"&&(this._status="Completed",this.completeFunc&&this.completeFunc(i),this._completeEvent&&this._completeEvent.emit(i),this.finishedFunc&&this.finishedFunc({status:"Completed",value:i}),this._finishedEvent&&this._finishedEvent.emit({status:"Completed",value:i}))}_cancelFunc(e){this._status==="Running"&&(this._status="Cancelling",this.cancelFunc&&this.cancelFunc(e),this._cancelEvent&&this._cancelEvent.emit(e))}_cancelledFunc(e){this._status==="Cancelling"&&(this._status="Cancelled",this.cancelledFunc&&this.cancelledFunc(e),this._cancelledEvent&&this._cancelledEvent.emit(e),this.finishedFunc&&this.finishedFunc({status:"Cancelled",cancelError:e}),this._finishedEvent&&this._finishedEvent.emit({status:"Cancelled",cancelError:e}))}_errorFunc(e,i){this.processingID===e&&this._status==="Running"&&(this._status="Error",this.errorFunc&&this.errorFunc(i),this._errorEvent&&this._errorEvent.emit(i),this.finishedFunc&&this.finishedFunc({status:"Error",error:i}),this._finishedEvent&&this._finishedEvent.emit({status:"Error",error:i}))}_progressFunc(e,i){this.processingID===e&&this._status==="Running"&&(this.progressFunc&&this.progressFunc(i),this._progressEvent&&this._progressEvent.emit(i))}_startFunc(...e){if(this._status==="Initial"){this._status="Running";const i=++this._processingID,r={completeFunc:this._completeFunc.bind(this,i),errorFunc:this._errorFunc.bind(this,i),progressFunc:this._progressFunc.bind(this,i),cancelFunc:this._cancel.bind(this,i),processingID:i},s=this._startProcessingFunc(r,...e);return this._forceCancelFunc=s,this.startFunc&&this.startFunc(...e),this._startEvent&&this._startEvent.emit(...e),i}else return console.warn("this._status !== 'Initial' but start again!"),-1}set _status(e){if(this.__status!==e){const i=this.__status;this.__status=e,this._statusChangedEvent&&this._statusChangedEvent.emit(e,i)}}get _status(){return this.__status}get processingID(){return this._processingID}get statusChangedEvent(){return this._statusChangedEvent||(this._statusChangedEvent=new I),this._statusChangedEvent}reset(e){this._status==="Running"&&this.cancel(e),this._status==="Cancelled"||this._status==="Error"||this._status==="Completed"?this._status="Initial":this._status==="Cancelling"&&console.warn("Cannot reset! (this._status === 'Cancelling')")}get status(){return this._status}cancel(e,i=this.processingID){return this._cancel(i,e)}_cancel(e,i){if(this.processingID===e)if(this._status==="Running"){if(!this._forceCancelFunc)throw new Error("this._forceCancelFunc is undefined!");this._cancelFunc(i);const r=this._forceCancelFunc(i);if(this._forceCancelFunc=void 0,r&&r instanceof Promise)return r.then(()=>{this._cancelledFunc(i)});this._cancelledFunc(i)}else console.warn("this._status !== 'Running' but cancel")}start(...e){try{return this._startFunc(...e)}catch(i){console.error(`processing start error: ${i}`)}}restart(e,...i){try{return this.isRunning&&this.cancel(e),this.isFinished&&this.reset(e),this.isInitial?this._startFunc(...i):(console.warn("restart failed!"),-1)}catch(r){console.error(`processing restart error: ${r}`)}}get isCompleted(){return this._status==="Completed"}get isCancelled(){return this._status==="Cancelled"}get isCancelling(){return this._status==="Cancelling"}get isError(){return this._status==="Error"}get isInitial(){return this._status==="Initial"}get isRunning(){return this._status==="Running"}get isFinished(){return this.isCancelled||this.isCompleted||this.isError}}let Id=class extends Error{};function tm(n,t){typeof n=="function"?n(t):n.cancelFunc=t}class xd extends Rh{constructor(e=300){super(({progressFunc:i,completeFunc:r,errorFunc:s})=>{const[o,a]=Ph(()=>{if(!this._lastDebounceValue)throw new Error("!this._lastDebounceValue");i([this._lastDebounceValue,this._debouncTimes]),this._debouncTimes=0},this._delayTime);return this._d=o,()=>{a()}});f(this,"_lastDebounceValue");f(this,"_debouncTimes",0);f(this,"_d");this._delayTime=e}get delayTime(){return this._delayTime}debounce(...e){this.isRunning?(++this._debouncTimes,this._lastDebounceValue=e,this._d&&this._d()):console.warn("Debouncing is not running!")}}function em(n,t,...e){const i=new AbortController;let r=i.signal,[s,o]=e;if(o!=null&&o.signal)throw console.error("init?.signal"),new Error("init?.signal");o=o||{},o.signal=r;let a=!1;tm(n,()=>{a=!0,i.abort()});let l=fetch(s,o);return t&&(l=l.then(u=>{if(!u.ok)return u;if(!u.body)throw Error("ReadableStream not yet supported in this browser.");const h=u.headers.get("content-length"),c=h?parseInt(h,10):0;let d=0;return new Response(new ReadableStream({start(g){if(!u.body)throw new Error("!response.body");const p=u.body.getReader();y();function y(){p.read().then(({done:w,value:S})=>{if(w){g.close();return}if(!S)throw new Error("!value");if(!t)throw new Error("!progressFunc");d+=S.byteLength,t(d,c),g.enqueue(S),y()}).catch(w=>{g.error(w)})}}}),{status:u.status,statusText:u.statusText,headers:u.headers})}).catch(u=>{throw a?(u instanceof Error&&u.code!==20&&console.error("error.code !== 20"),console.log("fetching cancelled!"),new Id("fetching cancelled!")):(u instanceof Error&&u.code===20&&console.error("error.code === 20"),u)})),l}function nm(...n){if(n.length>=1)if(typeof n[0]=="function"||typeof n[0]>"u"){const t={};let e=em(t,...n);const{cancelFunc:i}=t;if(!i)throw new Error("!cancelResult.cancelFunc");return[i,e]}else return em(...n);throw new Error("cancelableFetch args error!")}class t1 extends Rh{constructor(e,...i){super(({progressFunc:r,completeFunc:s,errorFunc:o},...a)=>{const l={};let u={loaded:0,total:0};const h=(g,p)=>{u.loaded=g,u.total=p,r(u)},c=this._fetchArgs||a;if(c.length===0)throw new Error("fetchArgs.length === 0");if(nm(l,h,...c).then(e).then(s).catch(g=>{g instanceof Id||o(g)}),!l.cancelFunc)throw new Error("!cancelResult.cancelFunc");return l.cancelFunc});f(this,"_fetchArgs");i.length>0&&(this._fetchArgs=i)}get fetchArgs(){return this._fetchArgs}}function Md(n,t,e,i){const r="_"+t,s="_"+t+"Changed",o=t+"Changed";Object.defineProperties(n.prototype,{[t]:{get(){return typeof this[r]>"u"&&typeof e<"u"&&(this[r]=e),this[r]},set(a){if(typeof this[r]>"u"&&typeof e<"u"&&(this[r]=e),i?!i(this[r],a):this[r]!==a){const l=this[r];this[r]=a,this[s]&&this[s].emit(a,l)}}},[o]:{get(){return typeof this[s]>"u"&&(this[s]=new I,typeof this.dispose<"u"&&this.dispose(()=>this[s].destroy())),this[s]}}})}class Td extends Rh{constructor(e,i=!0){super(({progressFunc:r,completeFunc:s,errorFunc:o})=>(this._intervalFunc=r,this._intervalID&&console.error("this._intervalID should be undefined!"),this.leading&&r(),this._intervalID=setInterval(r,this.intervalTime),()=>{if(!this._intervalID)throw console.error("this._intervalID should not be undefined!"),new Error("this._intervalID should not be undefined!");clearInterval(this._intervalID),this._intervalID=void 0}));f(this,"_intervalID");f(this,"_intervalFunc");this.intervalTime=e,this.leading=i,this.dispose(this.intervalTimeChanged.disposableOn(()=>{this._intervalID&&this._intervalFunc&&(clearInterval(this._intervalID),this._intervalID=setInterval(this._intervalFunc,this.intervalTime))}))}}Md(Td,"leading",!0),Md(Td,"intervalTime",500);function e1(n,t){let e,i;const r=new Promise((o,a)=>{i=a,e=globalThis.setTimeout(()=>{e=void 0,o()},n)}),s=o=>{e&&(clearTimeout(e),e=void 0),i&&i(o??new Id("sleep cancel error!"))};if(typeof t=="boolean"&&t)return[s,r];if(t)return tm(t,s),r}class n1{constructor(t=0,e=0,i=0,r,s){f(this,"_processData");f(this,"_lastUpdateTimeStamp",0);this.startTime=t,this.duration=e,this.delay=i,this.proccessFunc=r,this.completeFunc=s,this._processData={ratio:0,timeStamp:0,timeStampFromStart:0,timeStampFromLastUpdate:0}}update(t){const e=(t-this.startTime)/this.duration;e>=0&&(this._processData.ratio=e,this._processData.timeStamp=t,this._processData.timeStampFromStart=t-this.startTime,this._processData.timeStampFromLastUpdate=t-this._lastUpdateTimeStamp,this._lastUpdateTimeStamp=t,this.proccessFunc&&this.proccessFunc(this._processData),e>=1&&this.completeFunc&&this.completeFunc())}start(){this.startTime=performance.now()+this.delay,this._lastUpdateTimeStamp=this.startTime}}class im extends Rh{constructor(e=1e3,i=0,r=Th){let s;function o(){s&&s()}super(({progressFunc:l,completeFunc:u,errorFunc:h})=>{const c=this.startUpdateFunc&&this.startUpdateFunc(this._base.update.bind(this._base))||void 0;return this._base.startTime=performance.now(),this._base.duration=this.duration,this._base.delay=this.delay,this._base.proccessFunc=l,this._base.completeFunc=()=>{c&&c(),u()},this._base.start(),s=c,o});f(this,"_base");f(this,"duration");f(this,"delay");f(this,"startUpdateFunc");this._base=new n1,this.duration=e,this.delay=i,this.startUpdateFunc=r}get startTime(){return this._base.startTime}}class i1 extends V{constructor(e){super();f(this,"_target",0);f(this,"_current",0);f(this,"_start",0);f(this,"_timing",new im(Number.POSITIVE_INFINITY));f(this,"_currentChanged");this._duration=e,this._timing.progressFunc=({ratio:i})=>{i=i<0?0:i>1?1:i;const r=this._start*(1-i)+this._target*i;this._current=r,this._currentChanged&&this._currentChanged.emit(this._target,this._current)},this.dispose(()=>{this._timing.isRunning&&this._timing.cancel(),this._timing.destroy()})}reset(e,i=e){this._timing.isRunning&&this._timing.cancel(),this._target=e,this._current=i,this._start=e}set target(e){if(this._target!==e){this._target=e,this._timing.isRunning&&this._timing.cancel(),this._timing.reset(),this._start=this._current;const i=Math.abs(this._target-this._start);this._timing.duration=i*this._duration,this._timing.start()}}get target(){return this._target}get current(){return this._current}get currentChanged(){return this._currentChanged||(this._currentChanged=new I),this._currentChanged}}function rm(n,t){t=t||[];const e=n.parentNode;return e?rm(e,t.concat(e)):t}function r1(n){const t=n.composedPath&&n.composedPath()||n.path,e=n.target;if(t!=null)return t.indexOf(window)<0?t.concat(window):t;if(e===window)return[window];if(e===null)throw new Error("target === null");return[e].concat(rm(e),window)}function In(n,t=!1){const{offsetX:e,offsetY:i}=n;let r=e,s=i;{const o=r1(n);for(let a=0;a<o.length;++a){const l=o[a];if(l!==n.currentTarget&&l instanceof HTMLElement)r+=l.clientLeft,s+=l.clientTop,r+=l.offsetLeft,s+=l.offsetTop;else break}}return t?[r*window.devicePixelRatio,s*window.devicePixelRatio]:[r,s]}function pa(n,t=!1){const e=n.target,i=n.currentTarget||n.__xbsj_lastCurrentTarget__;if(!e||!i)return[n.clientX,n.clientY];const r=e.getBoundingClientRect(),s=i.getBoundingClientRect(),o=r.left+n.offsetX,a=r.top+n.offsetY,l=o-s.left,u=a-s.top;return t?[l*window.devicePixelRatio,u*window.devicePixelRatio]:[l,u]}class sm extends V{constructor(e){super();f(this,"_clickEvent",new I);f(this,"_dbclickEvent",new I);f(this,"_downEvent",new I);f(this,"_upEvent",new I);f(this,"_moveEvent",new I);f(this,"_debouncing",new xd(300));this.dispose(()=>{this._clickEvent.destroy(),this._dbclickEvent.destroy(),this._downEvent.destroy(),this._upEvent.destroy(),this._moveEvent.destroy(),this._debouncing.destroy()});let i=!1,r=[0,0],s=!1;this._debouncing.progressFunc=([[h,c,d],g])=>{g===1?this._clickEvent.emit(h,c,d):g>=2?this._dbclickEvent.emit(h,c,d):console.error("point click should not be here!")},this._debouncing.start(),this.dispose(()=>{this._debouncing.isRunning&&this._debouncing.cancel(),this._debouncing.destroy()});const o=h=>{i=!0;const[c,d]=In(h);r[0]=c,r[1]=d,this._downEvent.emit(c,d,h)},a=h=>{const[c,d]=In(h);i&&!s&&this._debouncing.debounce(c,d,h),i=!1,s=!1,this._upEvent.emit(c,d,h)},l=h=>{const[c,d]=In(h);if(i&&!s){const[g,p]=r;(Math.abs(c-g)>3||Math.abs(d-p)>3)&&(s=!0)}this._moveEvent.emit(c,d,h)},u=()=>{i=!1,s=!1};e.addEventListener("pointerdown",o),e.addEventListener("pointerup",a),e.addEventListener("pointermove",l),e.addEventListener("pointerout",u),this.dispose(()=>{e.removeEventListener("pointerdown",o),e.removeEventListener("pointerup",a),e.removeEventListener("pointermove",l),e.removeEventListener("pointerout",u)})}get clickEvent(){return this._clickEvent}get dbclickEvent(){return this._dbclickEvent}get downEvent(){return this._downEvent}get upEvent(){return this._upEvent}get moveEvent(){return this._moveEvent}}class Nd extends V{constructor(){super();f(this,"_pickRectEvent",this.disposeVar(new I));f(this,"_updateRectEvent",this.disposeVar(new I));f(this,"_pointerActionEvent",this.disposeVar(new I));f(this,"_active",this.disposeVar(B(!1)));f(this,"_pickRect",{left0:0,top0:0,left1:0,top1:0});let e=0,i=0,r=0,s=0;this.dispose(this._pointerActionEvent.disposableOn(({type:o,left:a,top:l})=>{o==="PointerDown"?(this._active.value=!0,e=a,i=l,r=a,s=l,this._setPickRect({left0:e,top0:i,left1:r,top1:s}),this._updateRectEvent.emit(this._pickRect)):o==="PointerMove"?this._active.value&&(r=a,s=l,this._setPickRect({left0:e,top0:i,left1:r,top1:s}),this._updateRectEvent.emit(this._pickRect)):o==="PointerUp"&&this._active.value&&(this._active.value=!1,r=a,s=l,this._setPickRect({left0:e,top0:i,left1:r,top1:s}),this._updateRectEvent.emit(this._pickRect),this._pickRectEvent.emit(this._pickRect))}))}_setPickRect({left0:e,left1:i,top0:r,top1:s}){this._pickRect.left0=e,this._pickRect.left1=i,this._pickRect.top0=r,this._pickRect.top1=s}pointerDown(e,i){this._pointerActionEvent.emit({type:"PointerDown",left:e,top:i})}pointerMove(e,i){this._pointerActionEvent.emit({type:"PointerMove",left:e,top:i})}pointerUp(e,i){this._pointerActionEvent.emit({type:"PointerUp",left:e,top:i})}reset(){this._setPickRect({left0:0,top0:0,left1:0,top1:0}),this._updateRectEvent.emit(this._pickRect),this._pickRectEvent.emit(this._pickRect)}get activeEvent(){return this._active.changed}get updateRectEvent(){return this._updateRectEvent}get pickRectEvent(){return this._pickRectEvent}static getLeftTopAndSize(e,i){i=i||{left:0,top:0,width:0,height:0,forward:!0};const{left0:r,top0:s,left1:o,top1:a}=e;return i.width=Math.abs(r-o),i.height=Math.abs(s-a),i.left=Math.min(r,o),i.top=Math.min(s,a),i.forward=o>r,i}static contains(e,i,r){const{left:s,top:o,width:a,height:l}=r;return e>s&&e<=s+a&&i>=o&&i<=o+l}}class s1 extends Nd{constructor(t){super();const e=this.disposeVar(new sm(t));this.dispose(e.downEvent.disposableOn((o,a,l)=>l.altKey&&this.pointerDown(o,a))),this.dispose(e.moveEvent.disposableOn((o,a)=>this.pointerMove(o,a))),this.dispose(e.upEvent.disposableOn((o,a)=>this.pointerUp(o,a)));const i=document.createElement("div");i.style.backgroundColor="rgba(0, 0, 0, 0)",i.style.border="2px dashed red",i.style.position="absolute",i.style.boxSizing="border-box",i.style.pointerEvents="none",i.style.height="0px",i.style.width="0px",i.style.left="0px",i.style.top="0px",i.style.display="none",t.appendChild(i),this.dispose(()=>t.removeChild(i)),this.dispose(this.activeEvent.disposableOn(o=>{i.style.display=o?"block":"none"}));const r=()=>{this.reset()};t.addEventListener("contextmenu",r),this.dispose(()=>t.removeEventListener("contextmenu",r));const s={left:0,top:0,width:0,height:0,forward:!1};this.dispose(this.updateRectEvent.disposableOn(o=>{if(Nd.getLeftTopAndSize(o,s)){const{left:a,top:l,width:u,height:h}=s;i.style.height=`${h|0}px`,i.style.width=`${u|0}px`,i.style.left=`${a|0}px`,i.style.top=`${l|0}px`}}))}}class qi extends Error{}function Os(n,t){Zn(n,"_promise_cancel")&&console.warn("setPromiseCancel warn: promise has cancelFunc!"),wr(n,"_promise_cancel",t)}function ma(n){return Zn(n,"_promise_cancel")}function va(n){return!!ma(n)}function Od(n,t){const e=ma(n);return e?(e(t),!0):!1}function Dd(n){const[t,e]=n;return Os(e,t),e}function Ah(n){let t;const e=new Promise((i,r)=>{t=r,n.then(i).catch(r)});return Os(e,t),e}function o1(n){let t,e;var i=new Promise((r,s)=>{e=n.disposableOn((...o)=>{e&&e(),r(o)}),t=o=>{e&&e(),s(o)}});return[t,i]}function a1(n){const t=new I,e=new I;return n.then(i=>{t.isDestroyed()||t.emit(i)}).catch(i=>{e.isDestroyed()||e.emit(i)}),[t,e]}class Rd extends V{constructor(){super();f(this,"_cancelled",!1);f(this,"_cancelError");f(this,"_promiseSet",new Set);f(this,"_disposer")}get disposer(){return this._disposer=this._disposer||new V,this._disposer}destroyImp(){this.finally()}cancel(e){var i;if(!this._cancelled){this._cancelled=!0,(i=this._disposer)==null||i.destroy(),this._cancelError=e;for(let r of this._promiseSet)Od(r);this._promiseSet.clear()}}get cancelFuncsNum(){return nu(this._promiseSet,e=>e+1,0)}finally(){this._disposer&&!this._disposer.isDestroyed()&&this._disposer.destroy(),this._promiseSet.clear()}check(){if(this._cancelled)throw this._cancelError??new qi("cancel from CancelManager!")}promise(e){return this._promiseSet.add(e),e.finally(()=>(this._promiseSet.delete(e),this.check()))}promiseAny(e){const i=[],r=e.map(s=>(this._promiseSet.add(s),va(s)&&i.push(ma(s)),s.finally(()=>this._promiseSet.delete(s))));return Promise.any(r).finally(()=>(i.forEach((s=>s(new qi("cancel from promiseAny!")))),i.length=0))}promiseAll(e){const i=[],r=e.map(s=>(this._promiseSet.add(s),va(s)&&i.push(ma(s)),s.finally(()=>this._promiseSet.delete(s))));return Promise.all(r).finally(()=>(i.forEach((s=>s(new qi("cancel from promiseAll!")))),i.length=0))}promiseRace(e){const i=[],r=e.map(s=>(this._promiseSet.add(s),va(s)&&i.push(ma(s)),s.finally(()=>this._promiseSet.delete(s))));return Promise.race(r).finally(()=>(i.forEach((s=>s(new qi("cancel from promiseRace!")))),i.length=0))}}class Le extends V{constructor(e){super();f(this,"_status","Initial");f(this,"_completeEvent");f(this,"_errorEvent");f(this,"_completeFunc");f(this,"_errorFunc");f(this,"_cancelFunc");f(this,"_runningId",-1);this._startFunc=e,this.dispose(()=>this.isRunning&&this.cancel())}get errorEvent(){return this._errorEvent||(this._errorEvent=new I),this._errorEvent}get completeEvent(){return this._completeEvent||(this._completeEvent=new I),this._completeEvent}get errorFunc(){return this._errorFunc}get completeFunc(){return this._completeFunc}set errorFunc(e){this._errorFunc!==e&&(this._errorFunc=e)}set completeFunc(e){this._completeFunc!==e&&(this._completeFunc=e)}start(...e){if(this._status!=="Initial")return;const i=++this._runningId;this._status="Running",this._cancelFunc=this._startFunc({completeFunc:r=>{var s;i===this._runningId&&this._status==="Running"&&(this._status="Completed",this._completeFunc&&this._completeFunc(r),(s=this._completeEvent)==null||s.emit(r))},errorFunc:r=>{var s;i===this._runningId&&this._status==="Running"&&(this._status="Error",this._errorFunc&&this._errorFunc(r),(s=this._errorEvent)==null||s.emit(r))},runningingID:i},...e)}cancel(e=new qi("")){var i;if(this._status==="Running"){if(!this._cancelFunc)throw new Error("!this._cancelFunc");this._status="Error",this._errorFunc&&this._errorFunc(e),(i=this._errorEvent)==null||i.emit(e),this._cancelFunc(e),this._cancelFunc=void 0}}reset(){this._status==="Running"&&console.error("processing cannot reset while running. you can first cancel it!"),(this._status==="Completed"||this._status==="Error")&&(this._status="Initial")}get status(){return this._status}get isInitial(){return this._status==="Initial"}get isRunning(){return this._status==="Running"}get isCompleted(){return this._status==="Completed"}get isError(){return this._status==="Error"}get runningId(){return this._runningId}restart(e=new qi(""),...i){this.isRunning&&this.cancel(e),this.reset(),this.start(...i)}restartIfNotRunning(...e){this.isRunning||(this.reset(),this.start(...e))}}function ru(n){return(t,...e)=>{const i=new Rd,{completeFunc:r,errorFunc:s}=t,o=n(i,...e).then(r).catch(s).finally(()=>i.destroy());return Os(o,i.cancel.bind(i)),a=>Od(o,a)}}class l1 extends Le{constructor(){super(({errorFunc:e},i,r)=>{try{const[s,o]=Ph(i,r);return this._doFunc=s,o}catch(s){return e(s),()=>{}}});f(this,"_doFunc")}do(...e){this._doFunc&&this._doFunc(...e)}}class u1 extends Le{constructor(e,i){super(({errorFunc:r})=>{try{const[s,o]=Ph(e,i);return this._doFunc=s,o}catch(s){return r(s),()=>{}}});f(this,"_doFunc")}do(...e){this._doFunc&&this._doFunc(...e)}}function h1(n){return new Le(ru((t,...e)=>t.promise(n(...e))))}function c1(n,...t){return new Le(ru(e=>e.promise(n(...t))))}function Lh(n){return h1((...t)=>{const e=n(...t);return va(e)?e:Ah(e)})}function Ad(n,...t){return c1(()=>{const e=n(...t);return va(e)?e:Ah(e)})}function d1(n){let t;const e=new Promise((i,r)=>{t=()=>{n(),r()}});return Os(e,t),e}function f1(n,...t){const e=new Rd,i=n(e,...t).finally(()=>e.destroy());return Os(i,e.cancel.bind(e)),i}function gi(n){return new Le(ru(n))}function g1(n,...t){return new Le(ru(e=>n(e,...t)))}function om(n,...t){const e=new AbortController;let i=e.signal,[r,s]=t;if(s!=null&&s.signal)throw console.error("init?.signal"),new Error("init?.signal");s=s||{},s.signal&&console.warn("revocableFetch error: init.signal would be override!"),s.signal=i;let o=!1;const a=()=>{o=!0,e.abort()};let l=fetch(r,s);return n&&(l=l.then(u=>{if(!u.ok)return u;if(!u.body)throw Error("ReadableStream not yet supported in this browser.");const h=u.headers.get("content-length");h||console.warn("response.headers.get('content-length') is undefined... cannot get contentLength!");const c=h?parseInt(h,10):0;let d=0;return new Response(new ReadableStream({start(g){if(!u.body)throw new Error("!response.body");const p=u.body.getReader();y();function y(){p.read().then(({done:w,value:S})=>{if(w){g.close();return}if(!S)throw new Error("!value");if(!n)throw new Error("!progressFunc");d+=S.byteLength,n(d,c),g.enqueue(S),y()}).catch(w=>{g.error(w)})}}}),{status:u.status,statusText:u.statusText,headers:u.headers})}).catch(u=>{throw o?(u instanceof Error&&u.code!==20&&console.error("error.code !== 20"),console.log("fetching cancelled!"),new qi(`fetching cancelled! error: ${u}`)):(u instanceof Error&&u.code===20&&console.error("error.code === 20"),u)})),Os(l,a),l}function p1(n,...t){return om(n,...t)}function Ld(...n){return om(void 0,...n)}function m1(){return Lh(Ld)}function v1(...n){return Ad(Ld,...n)}function Fd(n,...t){let e=-1;var i=new Promise((r,s)=>{n.isRunning&&n.cancel(),n.reset();const o=new V;o.dispose(n.completeEvent.disposableOn(a=>{if(r(a),o.isDestroyed()){debugger;console.error(`disposer is destroyed! ${o}`);return}o.destroy()})),o.dispose(n.errorEvent.disposableOn(a=>{if(s(a),o.isDestroyed()){debugger;console.error(`disposer is destroyed! ${o}`);return}o.destroy()})),n.start(...t),e=n.runningId});return[r=>e===n.runningId&&n.isRunning&&n.cancel(r),i]}function Cr(n,t,...e){try{return t(...e)}catch(i){n(i)}}function y1(){return new Le(({completeFunc:n,errorFunc:t},e)=>ga(()=>Cr(t,()=>{e&&e(),n()})))}function _1(n){return new Le(({completeFunc:t,errorFunc:e})=>ga(()=>Cr(e,()=>{n&&n(),t()})))}function w1(){return new Le(({completeFunc:n,errorFunc:t},e)=>Kl(()=>{Cr(t,()=>{e&&e(),n()})}))}function E1(n){return new Le(({completeFunc:t,errorFunc:e})=>Kl(()=>{Cr(e,()=>{n&&n(),t()})}))}function am(){return new Le(({completeFunc:n,errorFunc:t},e,i)=>yd(()=>{Cr(t,()=>{e&&e(),n()})},i??1e3))}function lm(n,t){return new Le(({completeFunc:e,errorFunc:i})=>yd(()=>{Cr(i,()=>{n&&n(),e()})},t??1e3))}function C1(){return new Le(({errorFunc:n},t,e=1e3)=>vd(()=>Cr(n,t),e))}function S1(n,t=1e3){return new Le(({errorFunc:e})=>vd(()=>Cr(e,n),t))}function su(){return new Le(({errorFunc:n},t)=>Ih(e=>Cr(n,t,e)))}function ya(n){return new Le(({errorFunc:t})=>Ih(e=>Cr(t,n,e)))}function ou(n,...t){let e,i;const r=new Promise((o,a)=>{i=a,e=globalThis.setTimeout(()=>{e=void 0,o(t)},n)});return Os(r,o=>{e&&(clearTimeout(e),e=void 0),i&&i(o??new qi("sleep cancel error!"))}),r}function b1(){return Lh(ou)}function P1(n,...t){return Ad(ou,n,...t)}function mo(n,t,...e){return n.promise(Dd(Fd(gi(async(i,...r)=>(n.disposer.dispose(()=>{i.isDestroyed()||i.cancel()}),await t(i,...r))),...e)))}function I1(n,t,...e){return n.promise(Dd(Fd(t,...e)))}class x1 extends Le{constructor(){super(({errorFunc:e},i,r)=>{try{const[s,o]=bd(i,r);return this._doFunc=s,o}catch(s){return e(s),()=>{}}});f(this,"_doFunc")}do(...e){this._doFunc&&this._doFunc(...e)}}class M1 extends Le{constructor(e,i){super(({errorFunc:r})=>{try{const[s,o]=bd(e,i);return this._doFunc=s,o}catch(s){return r(s),()=>{}}});f(this,"_doFunc")}do(...e){this._doFunc&&this._doFunc(...e)}}class Fh extends V{constructor(e=1e3,i=Th){super();f(this,"_speed");f(this,"_speedChangedEvent");f(this,"_duration");f(this,"_durationChangedEvent");f(this,"_loop");f(this,"startUpdateFunc");f(this,"_updateBindThis");f(this,"_cancelStartUpdateFunc");f(this,"_startTimeStamp");f(this,"_playingChangedEvent");f(this,"_startPlayingEvent");f(this,"_stopPlayingEvent");f(this,"_loopChangedEvent");f(this,"_currentTime",this.disposeVar(B(0)));this._speed=1,this._duration=e,this._loop=!1,this.startUpdateFunc=i,this._updateBindThis=this._update.bind(this),this.dispose(()=>{this._cancelStartUpdateFunc&&(this._cancelStartUpdateFunc(),this._cancelStartUpdateFunc=void 0)}),this._startTimeStamp=Number.NaN,this.dispose(()=>{this._startPlayingEvent&&this._startPlayingEvent.reset(),this._stopPlayingEvent&&this._stopPlayingEvent.reset()})}get startPlayingEvent(){return this._startPlayingEvent=this._startPlayingEvent||new I,this._startPlayingEvent}get stopPlayingEvent(){return this._stopPlayingEvent=this._stopPlayingEvent||new I,this._stopPlayingEvent}get currentTimeChangedEvent(){return this._currentTime.changed}get loopChangedEvent(){return this._loopChangedEvent=this._loopChangedEvent||new I,this._loopChangedEvent}set loop(e){this._loop!==e&&(this._loop=e,this._loopChangedEvent&&this._loopChangedEvent.emit(this._loop))}get loop(){return this._loop}_update(e){if(Number.isNaN(this._startTimeStamp))console.warn("Number.isNaN(this._startTimeStamp)");else{const i=(e-this._startTimeStamp)*this._speed;this._setCurrentTimeInner(i)}}get currentTime(){return this._currentTime.value}set currentTime(e){this._setCurrentTimeInner(e),this._resetStartTime()}_setCurrentTimeInner(e){this._currentTime.value!==e&&(this._duration<=0?this._currentTime.value=0:e<0?this.loop?this._currentTime.value=this._duration+e%this._duration:(this._currentTime.value=0,this.playing&&this._stopPlaying()):e>this._duration?this.loop?this._currentTime.value=e%this._duration:(this._currentTime.value=this._duration,this.playing&&this._stopPlaying()):this._currentTime.value=e)}get durationChangedEvent(){return this._durationChangedEvent||(this._durationChangedEvent=new I),this._durationChangedEvent}get duration(){return this._duration}set duration(e){var i;if(e<0)console.warn("duration sholud greater than 0!");else if(this._duration!==e){const r=this._duration;this._duration=e,this._currentTime.value>this._duration&&(this._currentTime.value=this._duration),(i=this._durationChangedEvent)==null||i.emit(this._duration,r)}}get speedChangedEvent(){return this._speedChangedEvent||(this._speedChangedEvent=new I),this._speedChangedEvent}get speed(){return this._speed}set speed(e){var i;if(this._speed!==e&&e!==0){const r=this._speed;this._speed=e,this._resetStartTime(),(i=this._speedChangedEvent)==null||i.emit(this._speed,r)}}_resetStartTime(){this._startTimeStamp=performance.now()-this._currentTime.value/this._speed}_startPlaying(){var e,i;this._resetStartTime(),this._cancelStartUpdateFunc=this.startUpdateFunc(this._updateBindThis),(e=this._startPlayingEvent)==null||e.emit(this._currentTime.value),(i=this._playingChangedEvent)==null||i.emit(!0)}_stopPlaying(){var e,i;if(!this._cancelStartUpdateFunc)throw new Error("this._cancelStartUpdateFunc is undefined!");this._cancelStartUpdateFunc(),this._cancelStartUpdateFunc=void 0,(e=this._stopPlayingEvent)==null||e.emit(this._currentTime.value),(i=this._playingChangedEvent)==null||i.emit(!1)}get playingChangedEvent(){return this._playingChangedEvent||(this._playingChangedEvent=new I),this._playingChangedEvent}get playing(){return!!this._cancelStartUpdateFunc}set playing(e){!!this._cancelStartUpdateFunc!==e&&(e?this._startPlaying():this._stopPlaying())}}class au extends V{constructor(e){super();f(this,"_stop",this.disposeVar(B(0)));f(this,"_current",this.disposeVar(B(0)));f(this,"_start",this.disposeVar(B(0)));f(this,"_player",this.disposeVar(new Fh(200)));this.dispose(this._player.currentTimeChangedEvent.disposableOn(i=>{let r=i/this._player.duration;r=r>1?1:r<0?0:r;const s=this._start.value,o=this._stop.value;this._current.value=s+(o-s)*r})),this.duration=e}get current(){return this._current.value}get currentChanged(){return this._current.changed}get source(){return this._start.value}get sourceChanged(){return this._start.changed}get target(){return this._stop.value}get targetChanged(){return this._stop.changed}get duration(){return this._player.duration}set duration(e){this._player.duration=e}set target(e){this._start.value=this._current.value,this._stop.value=e,this._player.currentTime=0,this._player.playing=!0}reset(e){this._start.value=e,this._current.value=e,this._stop.value=e,this._player.playing=!1}}let um=-1;class oe extends I{constructor(t,e,i,r){super(),this._domElement=t,this._type=e,this.callback=r;const s=o=>(o.__xbsj_listenerNo__=++um,o.__xbsj_listenerTime__=Date.now(),o.__xbsj_lastCurrentTarget__=o.currentTarget,this.emit(o),this.callback&&this.callback(o));this._domElement.addEventListener(this._type,s,i),this.dispose(()=>this._domElement.removeEventListener(this._type,s,i))}static getLastLisenNo(){return um}static getCurrentTarget(t){return t.__xbsj_lastCurrentTarget__}static getListenerNo(t){return t.__xbsj_listenerNo__}static getListenerTime(t){return t.__xbsj_listenerTime__}static on(t,e){const i=oe.getLastLisenNo();return t.disposableOn(r=>{const s=oe.getListenerNo(r);(s===void 0||s>i)&&e(r)})}get element(){return this._domElement}static create(t,e,i){return new oe(t,e,i)}}class kd extends V{constructor(){super();f(this,"_clickEvent",this.disposeVar(new I));f(this,"_dbclickEvent",this.disposeVar(new I));f(this,"_pointerdownEvent",this.disposeVar(new I));f(this,"_pointerupEvent",this.disposeVar(new I));f(this,"_pointermoveEvent",this.disposeVar(new I));f(this,"_pointeroutEvent",this.disposeVar(new I));f(this,"dbClickDelayTime",300);f(this,"nativeClickDelayTime",500);f(this,"clickMovementTolerantPixelSize",3);f(this,"debugging",!1);f(this,"_enabled",this.disposeVar(B(!0)));const e=this.disposeVar(gi(async r=>{do{const s=await mo(r,l=>new Promise((u,h)=>{l.disposer.dispose(h),l.disposer.dispose(oe.on(this._pointerdownEvent,u))})),o=In(s);if(this.debugging&&console.log(`鼠标按下 ${o.toString()}`),!await mo(r,l=>new Promise((u,h)=>{l.disposer.dispose(h);const c=setTimeout(()=>u(!0),this.nativeClickDelayTime);l.disposer.dispose(()=>clearTimeout(c)),l.disposer.dispose(oe.on(this._pointermoveEvent,d=>{const[g,p]=In(d),[y,w]=o;(Math.abs(g-y)>3||Math.abs(p-w)>3)&&u(!1)})),l.disposer.dispose(oe.on(this._pointeroutEvent,()=>u(!1))),l.disposer.dispose(oe.on(this._pointerupEvent,()=>u(!0)))}))){this.debugging&&console.log("取消1");continue}const a=await mo(r,l=>new Promise((u,h)=>{l.disposer.dispose(h);const c=setTimeout(()=>u("timeout"),this.dbClickDelayTime);l.disposer.dispose(()=>clearTimeout(c)),l.disposer.dispose(oe.on(this._pointermoveEvent,d=>{const[g,p]=In(d),[y,w]=o;(Math.abs(g-y)>3||Math.abs(p-w)>3)&&u("moved")})),l.disposer.dispose(oe.on(this._pointerdownEvent,u)),l.disposer.dispose(oe.on(this._pointeroutEvent,()=>u("pointouted"))),l.disposer.dispose(oe.on(this._pointerupEvent,()=>u("pointuped")))}));if(typeof a=="string"){this.debugging&&console.log(`触发单击事件!取消双击监听!error: ${a}`),this._clickEvent.emit(s);continue}if(!await mo(r,l=>new Promise((u,h)=>{l.disposer.dispose(h);const c=setTimeout(()=>u(!1),this.nativeClickDelayTime);l.disposer.dispose(()=>clearTimeout(c)),l.disposer.dispose(oe.on(this._pointermoveEvent,d=>{const[g,p]=In(d),[y,w]=o;(Math.abs(g-y)>3||Math.abs(p-w)>3)&&u(!1)})),l.disposer.dispose(oe.on(this._pointeroutEvent,()=>u(!1))),l.disposer.dispose(oe.on(this._pointerupEvent,()=>u(!0)))}))){this.debugging&&console.log("取消2");continue}this.debugging&&console.log("触发双击事件!"),this._dbclickEvent.emit(a)}while(!0)})),i=r=>{r?e.restart():e.isRunning&&e.cancel()};i(this.enabled),this.dispose(this.enabledChanged.disposableOn(i))}get clickEvent(){return this._clickEvent}get dbclickEvent(){return this._dbclickEvent}pointerDown(e){this._pointerdownEvent.emit(e)}pointerUp(e){this._pointerupEvent.emit(e)}pointerMove(e){this._pointermoveEvent.emit(e)}pointerOut(e){this._pointeroutEvent.emit(e)}get enabled(){return this._enabled.value}set enabled(e){this._enabled.value=e}get enabledChanged(){return this._enabled.changed}}class T1 extends V{constructor(e,i){super();f(this,"_pointerClick",this.disposeVar(new kd));this._div=e;const{div:r,pointerClick:s}=this,o=h=>s.pointerDown(h),a=h=>s.pointerMove(h),l=h=>s.pointerOut(h),u=h=>s.pointerUp(h);r.addEventListener("pointerdown",o,i),r.addEventListener("pointermove",a,i),r.addEventListener("pointerout",l,i),r.addEventListener("pointerup",u,i),this.dispose(()=>{r.removeEventListener("pointerdown",o,i),r.removeEventListener("pointermove",a,i),r.removeEventListener("pointerout",l,i),r.removeEventListener("pointerup",u,i)})}get div(){return this._div}get pointerClick(){return this._pointerClick}get clickEvent(){return this.pointerClick.clickEvent}get dbclickEvent(){return this.pointerClick.dbclickEvent}}class hm extends V{constructor(){super();f(this,"_hoverEvent",this.disposeVar(new I));f(this,"_hoverOutEvent",this.disposeVar(new I));f(this,"_pointerdownEvent",this.disposeVar(new I));f(this,"_pointerupEvent",this.disposeVar(new I));f(this,"_pointermoveEvent",this.disposeVar(new I));f(this,"_pointeroutEvent",this.disposeVar(new I));f(this,"delayTime",800);const e=this.disposeVar(am()),i=u=>{this._hoverOutEvent.emit()},r=u=>{this._hoverOutEvent.emit()};let s;const o=()=>{if(!s){console.warn("!lastPointerEvent");return}this._hoverEvent.emit(s)},a=u=>{s=u,e.restart(void 0,o,this.delayTime),this._hoverOutEvent.emit()},l=u=>{e.cancel(),this._hoverOutEvent.emit()};this.dispose(this._pointerdownEvent.disposableOn(i)),this.dispose(this._pointerupEvent.disposableOn(r)),this.dispose(this._pointermoveEvent.disposableOn(a)),this.dispose(this._pointeroutEvent.disposableOn(l))}get hoverEvent(){return this._hoverEvent}get hoverOutEvent(){return this._hoverOutEvent}pointerDown(e){this._pointerdownEvent.emit(e)}pointerUp(e){this._pointerupEvent.emit(e)}pointerMove(e){this._pointermoveEvent.emit(e)}pointerOut(e){this._pointeroutEvent.emit(e)}}class N1 extends V{constructor(e,i=1500){super();f(this,"_hoverEvent",new I);f(this,"_hoverOutEvent",new I);const r=new xd(i);this.dispose(()=>r.destroy());let s=0,o=0,a;r.progressFunc=()=>this._hoverEvent.emit(s,o,a);const l=d=>{!r.isRunning&&r.restart(),a=d,[s,o]=In(d),r.debounce(),this._hoverOutEvent.emit()},u=d=>{!r.isRunning&&r.restart(),a=d,[s,o]=In(a),r.debounce(),this._hoverOutEvent.emit()},h=d=>{!r.isRunning&&r.restart(),a=d,[s,o]=In(a),r.debounce(),this._hoverOutEvent.emit()},c=d=>{r.isRunning&&r.cancel(),this._hoverOutEvent.emit()};e.addEventListener("pointerdown",l),e.addEventListener("pointerup",u),e.addEventListener("pointermove",h),e.addEventListener("pointerout",c),this.dispose(()=>{e.removeEventListener("pointerdown",l),e.removeEventListener("pointerup",u),e.removeEventListener("pointermove",h),e.removeEventListener("pointerout",c)})}get hoverEvent(){return this._hoverEvent}get hoverOutEvent(){return this._hoverOutEvent}}class cm extends V{constructor(e,i={}){super();f(this,"_needRedrawEvent");f(this,"_needPickRedrawEvent");f(this,"_id",fa());f(this,"_clickEvent");f(this,"_clickOutEvent");f(this,"_dbclickEvent");f(this,"_dbclickOutEvent");f(this,"_actived",!1);f(this,"_activedChanged");f(this,"_hovered",!1);f(this,"_hoveredChanged");f(this,"_selected",!1);f(this,"_selectedChanged");f(this,"_opacity",1);f(this,"_opacityChanged");f(this,"_show",!0);f(this,"_showChanged");this._canvasPrimitivesContext=e;const{needRedraw:r=!0,needPickRedraw:s=!0}=i;r&&(this._needRedrawEvent=new I),s&&(this._needPickRedrawEvent=new I),this._canvasPrimitivesContext.addPoi(this),this.dispose(()=>this._canvasPrimitivesContext.removePoi(this)),this.dispose(this.showChanged.disposableOn(()=>{this.needRedraw(),this.needPickRedraw()})),this.dispose(this.opacityChanged.disposableOn(()=>this.needRedraw()))}get id(){return this._id}get context(){return this._canvasPrimitivesContext}needRedraw(){this._needRedrawEvent?this._needRedrawEvent.emit():console.warn("no needRedrawEvent!")}needPickRedraw(){this._needPickRedrawEvent?this._needPickRedrawEvent.emit():console.warn("no needPickRedrawEvent!")}hasClickEvent(){return!!this._clickEvent}get clickEvent(){return this._clickEvent=this._clickEvent||new I,this._clickEvent}hasClickOutEvent(){return!!this._clickOutEvent}get clickOutEvent(){return this._clickOutEvent=this._clickOutEvent||new I,this._clickOutEvent}hasDbclickEvent(){return!!this._dbclickEvent}get dbclickEvent(){return this._dbclickEvent=this._dbclickEvent||new I,this._dbclickEvent}hasDbclickOutEvent(){return!!this._dbclickOutEvent}get dbclickOutEvent(){return this._dbclickOutEvent=this._dbclickOutEvent||new I,this._dbclickOutEvent}set actived(e){this._actived!==e&&(this._actived=e,this._activedChanged&&this._activedChanged.emit(e,this))}get actived(){return this._actived}get activedChanged(){return this._activedChanged=this._activedChanged||new I,this._activedChanged}set hovered(e){this._hovered!==e&&(this._hovered=e,this._hoveredChanged&&this._hoveredChanged.emit(e,this))}get hovered(){return this._hovered}get hoveredChanged(){return this._hoveredChanged=this._hoveredChanged||new I,this._hoveredChanged}set selected(e){this._selected!==e&&(this._selected=e,this._selectedChanged&&this._selectedChanged.emit(e,this))}get selected(){return this._selected}get selectedChanged(){return this._selectedChanged=this._selectedChanged||new I,this._selectedChanged}set opacity(e){this._opacity!==e&&(this._opacity=e,this._opacityChanged&&this._opacityChanged.emit(e,this))}get opacity(){return this._opacity}get opacityChanged(){return this._opacityChanged=this._opacityChanged||new I,this._opacityChanged}set show(e){this._show!==e&&(this._show=e,this._showChanged&&this._showChanged.emit(e,this))}get show(){return this._show}get showChanged(){return this._showChanged=this._showChanged||new I,this._showChanged}}class Bd extends cm{constructor(e,i=[0,0],r=0){super(e);f(this,"_winPosAndDepthChanged");this._winPos=i,this._depth=r,this.dispose(this.winPosAndDepthChanged.disposableOn(()=>{this.needRedraw(),this.needPickRedraw()}))}set winPos(e){(this._winPos[0]!==e[0]||this._winPos[1]!==e[1])&&(this._winPos[0]=e[0],this._winPos[1]=e[1],this._winPosAndDepthChanged&&this._winPosAndDepthChanged.emit(this._winPos,this._depth))}get winPos(){return this._winPos}set depth(e){this._depth!==e&&(this._depth=e,this._winPosAndDepthChanged&&this._winPosAndDepthChanged.emit(this._winPos,this._depth))}get depth(){return this._depth}get winPosAndDepthChanged(){return this._winPosAndDepthChanged||(this._winPosAndDepthChanged=new I),this._winPosAndDepthChanged}}function vo(n,t,e,i){const[r,s]=n,[o,a,l,u]=i,h=t[0]*e[0],c=t[1]*e[1],d=r-(h*o+l),g=s-(c*a+u);return{left:d,top:g,right:d+h,bottom:g+c}}function yo(n,t,e,i,r){n.beginPath(),n.moveTo(t,e),n.lineTo(t-i*.5,e-i*.5),n.arc(t,e-i,i*.7071067811865475,Math.PI*.75,Math.PI*.25),n.lineTo(t,e),n.fillStyle=r,n.fill()}function dm(n,t,e,i,r,s){n.beginPath(),n.moveTo(t+s,e),n.lineTo(t+i-s,e),n.arcTo(t+i,e,t+i,e+s,s),n.lineTo(t+i,e+r-s),n.arcTo(t+i,e+r,t+i-s,e+r,s),n.lineTo(t+s,e+r),n.arcTo(t,e+r,t,e+r-s,s),n.lineTo(t,e+s),n.arcTo(t,e,t+s,e,s)}function fm(n,t,e,i,r,s){n.font=r;const o=n.measureText(i),a=o.actualBoundingBoxLeft+o.actualBoundingBoxRight,l=Number.isFinite(o.fontBoundingBoxAscent)?o.fontBoundingBoxAscent:o.actualBoundingBoxAscent,u=Number.isFinite(o.fontBoundingBoxDescent)?o.fontBoundingBoxDescent:o.actualBoundingBoxDescent;let h=l+u;n.fillStyle=s,n.fillText(i,t-a*.5,e+h*.5-u)}function gm(n){const{width:t,height:e}=n,i=t instanceof SVGAnimatedLength?t.baseVal.SVG_LENGTHTYPE_PX:t,r=e instanceof SVGAnimatedLength?e.baseVal.SVG_LENGTHTYPE_PX:e,s=document.createElement("canvas");s.width=i,s.height=r;const o=s.getContext("2d");if(!o)throw new Error("!cavnasCtx");return o.drawImage(n,0,0,i,r),s}function pm(n,t){const{width:e,height:i}=n,r=n.getContext("2d");if(!r)throw new Error("!cavnasCtx");const[s,o,a]=t.map(c=>c*255|0),l=r.getImageData(0,0,e,i),u=l.data;for(var h=0;h<u.length;h+=4)u[h]=s,u[h+1]=o,u[h+2]=a;r.putImageData(l,0,0)}function Vd(n,t,e,i=[.5,1,0,0],r,s="12px Arial",o=2,a="#FFF",l="#000A"){n.font=s;const u=n.measureText(r),h=u.actualBoundingBoxLeft+u.actualBoundingBoxRight,c=u.fontBoundingBoxAscent+u.fontBoundingBoxDescent,d=t,g=e,p=h+o*2,y=c+o*2,{left:w,top:S,bottom:v}=vo([d,g],[p,y],[1,1],i);n.fillStyle=l,dm(n,w,S,p,y,o),n.fill(),n.fillStyle=a,n.fillText(r,w+o,v-o-u.fontBoundingBoxDescent)}function lu(n){return("00"+n.toString(16).toUpperCase()).substr(-2)}function uu(n){const[t,e,i,r]=n.map(s=>s*255|0);return`#${lu(t)}${lu(e)}${lu(i)}${lu(r)}`}function zd(n,t){const[e,i,r]=t,s=`${e}-${i}-${r}`;let o=Zn(n,s);return o||(o=gm(n),pm(o,t),wr(n,s,o)),o}class O1 extends Bd{constructor(e,i,r=[32,32],s=[.5,1,0,0],o="#F00F"){super(e);f(this,"_tooltip","");f(this,"_title","");f(this,"__scale",[1,1]);f(this,"_tooltipAlpha",0);f(this,"_bgColor",[.3,.3,.3,.8]);f(this,"_bgColorHexStr",uu(this._bgColor));f(this,"_fgColor",[1,1,1,1]);f(this,"_fgColorHexStr",uu(this._fgColor));this._image=i,this._size=r,this._originRatioAndOffset=s,this._defaultColorStr=o;const a=new au(100),l=new au(100);this.dispose(()=>{a.destroy(),l.destroy()});const u=()=>{if(this._clickEvent&&!this._clickEvent.empty){const h=(1+.08*l.current)*(1+.08*a.current);this._scale=[h,h],this._tooltipAlpha=a.current}};this.dispose(this.activedChanged.disposableOn(h=>{l.target=h?1:0,this.needRedraw()})),this.dispose(this.hoveredChanged.disposableOn(h=>{a.target=h?1:0,this.needRedraw()})),this.dispose(this.selectedChanged.disposableOn(()=>{this.needRedraw()})),this.dispose(l.currentChanged.disposableOn(u)),this.dispose(a.currentChanged.disposableOn(u))}set size(e){const[i,r]=e,[s,o]=this._size;(s!==i||o!==r)&&(this._size[0]=i,this._size[1]=r,this.needRedraw(),this.needPickRedraw())}get size(){return this._size}set _scale(e){const[i,r]=e,[s,o]=this.__scale;(s!==i||o!==r)&&(this.__scale[0]=i,this.__scale[1]=r,this.needRedraw(),this.needPickRedraw())}get _scale(){return this.__scale}set fgColor(e){if(!this._fgColor.every((i,r)=>e[r]===i)){const[i,r,s,o]=e;this._fgColor.splice(0,4,i,r,s,o),this._fgColorHexStr=uu(this._fgColor),this.needRedraw()}}get fgColor(){return this._fgColor}set bgColor(e){if(!this._bgColor.every((i,r)=>e[r]===i)){const[i,r,s,o]=e;this._bgColor.splice(0,4,i,r,s,o),this._bgColorHexStr=uu(this._bgColor),this.needRedraw()}}get bgColor(){return this._bgColor}set originRatioAndOffset(e){const[i,r,s,o]=this._originRatioAndOffset,[a,l,u,h]=e;(i!==a||r!==l||s!==u||o!==h)&&(this._originRatioAndOffset.splice(0,4,a,l,u,h),this.needRedraw(),this.needPickRedraw())}get originRatioAndOffset(){return this._originRatioAndOffset}set image(e){this._image!==e&&(this._image=e,this.needRedraw())}get image(){return this._image}set defaultColorStr(e){this._defaultColorStr!==e&&(this._defaultColorStr=e,this.needRedraw())}get defaultColorStr(){return this._defaultColorStr}set tooltip(e){this._tooltip!==e&&(this._tooltip=e,this.needRedraw())}get tooltip(){return this._tooltip}set title(e){this._title!==e&&(this._title=e,this.needRedraw())}get title(){return this._title}draw(e){if(!this._show)return;const[i,r]=this._winPos,s=this._size[0]*this.__scale[0],o=this._size[1]*this.__scale[1],{left:a,top:l}=vo([i,r],this._size,this.__scale,this._originRatioAndOffset),u=e.globalAlpha;if(e.globalAlpha=this.opacity,this._image){if(this.selected){const h=zd(this._image,[1,0,0]),{left:c,top:d}=vo([i,r+3],[s+6,o+6],[1,1],this._originRatioAndOffset);e.drawImage(h,c,d,s+6,o+6)}if(this.actived){const[h,c,d,g]=this._fgColor,p=zd(this._image,[h,c,d]),{left:y,top:w}=vo([i,r+4],[s+8,o+8],[1,1],this._originRatioAndOffset);e.drawImage(p,y,w,s+8,o+8)}if(this.hovered){const[h,c,d,g]=this._bgColor,p=zd(this._image,[h,c,d]),{left:y,top:w}=vo([i,r+2],[s+4,o+4],[1,1],this._originRatioAndOffset);e.drawImage(p,y,w,s+4,o+4)}e.drawImage(this._image,a,l,s,o)}else e.fillStyle=this._fgColorHexStr,e.fillRect(a,l,s,o);if(this._title!==""&&Vd(e,i+20,r-16,[0,.5,0,0],this._title,"14px Arial",4,this._fgColorHexStr,this._bgColorHexStr),e.globalAlpha=u,this._hovered&&this._tooltip!==""){const h=e.globalAlpha;e.globalAlpha=this._tooltipAlpha,Vd(e,i,r-42,[.5,1,0,0],this._tooltip,"12px Arial",4,this._fgColorHexStr,this._bgColorHexStr),e.globalAlpha=h}}drawForPick(e,i){if(!this._show)return;const[r,s]=this._winPos,o=i("default"),a=this._size[0]*this.__scale[0],l=this._size[1]*this.__scale[1],{left:u,top:h}=vo([r,s],this._size,this.__scale,this._originRatioAndOffset);e.fillStyle=o,e.fillRect(u,h,a,l)}}class D1 extends Bd{constructor(e){super(e);f(this,"_width",16);f(this,"_text","");f(this,"_fillStyle","#0F0");f(this,"_scale",1);f(this,"_scaleChanged");this.dispose(this.scaleChanged.disposableOn(o=>{this.needRedraw(),this.needPickRedraw()}));const i=this.disposeVar(new au(100)),r=this.disposeVar(new au(100)),s=()=>{this._clickEvent&&!this._clickEvent.empty&&(this.scale=(1+.1*r.current)*(1+.2*i.current))};this.dispose(r.currentChanged.disposableOn(s)),this.dispose(i.currentChanged.disposableOn(s)),this.dispose(this.activedChanged.disposableOn(o=>{r.target=o?1:0,this.needRedraw()})),this.dispose(this.hoveredChanged.disposableOn(o=>{i.target=o?1:0,this.needRedraw()})),this.dispose(this.selectedChanged.disposableOn(o=>{this.needRedraw()}))}set scale(e){this._scale!==e&&(this._scale=e,this._scaleChanged&&this._scaleChanged.emit(e,this))}get scale(){return this._scale}get scaleChanged(){return this._scaleChanged||(this._scaleChanged=new I),this._scaleChanged}set width(e){this._width!==e&&(this._width=e,this.needRedraw(),this.needPickRedraw())}get width(){return this._width}set text(e){this._text!==e&&(this._text=e,this.needRedraw())}get text(){return this._text}set fillStyle(e){this._fillStyle!==e&&(this._fillStyle=e,this.needRedraw())}get fillStyle(){return this._fillStyle}draw(e){if(!this._show)return;const[i,r]=this._winPos,s=e.globalAlpha;e.globalAlpha=this.opacity;const o=this._width*this._scale;this.selected&&yo(e,i,r+3,o+3,"#F00"),this.actived&&this._clickEvent&&!this._clickEvent.empty&&yo(e,i,r+5,o+5,"#FFF"),this.hovered?yo(e,i,r+3,o+3,"#000A"):yo(e,i,r+1,o+1,"#000A"),yo(e,i,r,o,this._fillStyle);const a=this._scale>1.2?"bold 14px Arial":"bold 10px Arial";fm(e,i,r-o,this._text,a,"#000"),e.globalAlpha=s}drawForPick(e,i){if(!this._show)return;const[r,s]=this._winPos,o=this._width*this._scale,a=i("default");yo(e,r,s,o,a)}}const mm=new ArrayBuffer(4),vm=new Uint32Array(mm),_o=new Uint8Array(mm);function ym(n){if(n>=16777215)throw new Error("uint32 > 0xFFFFFF");return vm[0]=n,[_o[0],_o[1],_o[2]]}function _m(n,t,e){return _o[0]=n,_o[1]=t,_o[2]=e,_o[3]=0,vm[0]}class wm extends V{constructor(){super(...arguments);f(this,"_pickColors",new Array(16777215));f(this,"_pickColorIndex",0)}reset(){for(let e=0;e<this._pickColorIndex;++e){const i=this._pickColors[e];if(!i)throw console.error("this._pickColors[i] should not be undefined!"),new Error("this._pickColors[i] should not be undefined!");i.poi=null,i.tag=""}this._pickColorIndex=0}createPickColor(e,i){const r=this._pickColorIndex;++this._pickColorIndex;const s=this._pickColors[r];s?(s.poi=e,s.tag=i):this._pickColors[r]={poi:e,tag:i};const[o,a,l]=ym(r);return[o,a,l]}getPickInfoFromColor(e,i,r){const s=_m(e,i,r);if(s>=this._pickColorIndex){console.error("index >= this._pickColorIndex");return}const o=this._pickColors[s];if(!o){console.error("!this._pickColors[index]");return}return o}destroyImp(){this.reset()}}const Em=(n,t)=>t.depth-n.depth;class R1 extends V{constructor(){super();f(this,"_pois",[]);f(this,"_canvasElement");f(this,"_ctx");f(this,"_offscreenCanvasElement");f(this,"_offscreenCanvasElement2");f(this,"_offscreenCtx");f(this,"_offscreenCtx2");f(this,"_size",[0,0]);f(this,"_needRedraw",!1);f(this,"_needPickRedraw",!1);f(this,"_pickColorManager",new wm);const e=document.createElement("canvas");e.style.width="100%",e.style.height="100%",this._canvasElement=e;const i=e.getContext("2d");if(i===null)throw new Error("cannot get context 2d!");this._ctx=i,this._offscreenCanvasElement=document.createElement("canvas"),this._offscreenCtx=this._offscreenCanvasElement.getContext("2d"),this._offscreenCtx.imageSmoothingEnabled=!1,this._offscreenCanvasElement2=document.createElement("canvas"),this._offscreenCtx2=this._offscreenCanvasElement2.getContext("2d"),this._offscreenCtx2.imageSmoothingEnabled=!1,this.disposeVar(ya(()=>{const[s,o]=this._size,{clientWidth:a,clientHeight:l}=this._canvasElement;(s!==a||o!==l)&&(this._size[0]=a,this._size[1]=l,this._canvasElement.width=a,this._canvasElement.height=l,this._offscreenCanvasElement.width=a,this._offscreenCanvasElement.height=l,this._offscreenCanvasElement2.width=a,this._offscreenCanvasElement2.height=l,this._dirty()),this._needRedraw&&(this._needRedraw=!1,this._draw())})).start()}get element(){return this._canvasElement}get pois(){return this._pois}_dirty(){this._needRedraw=!0,this._needPickRedraw=!0}get size(){return this._size}addPoi(e){if(typeof Zn(e,"listenHandler")<"u"){console.error("可能有poi重复加载poiManager中!");return}if(this._pois.indexOf(e)!==-1){console.error("同一个poi加了多次!");return}this._pois.push(e),this._dirty();const i=e._needRedrawEvent;if(i){const s=i.on(()=>{this._needRedraw=!0});wr(e,"needRedrawEventHandler",s)}const r=e._needPickRedrawEvent;if(r){const s=r.on(()=>{this._needPickRedraw=!0});wr(e,"needPickRedrawEventHandler",s)}}removePoi(e){const i=this._pois.indexOf(e);if(i===-1){console.error("删除一个不存在的poi!");return}this._pois.splice(i,1),this._dirty();const r=e._needRedrawEvent;if(r){const o=Zn(e,"needRedrawEventHandler");o?r.off(o):console.error("poi没有listenHandler!")}const s=e._needPickRedrawEvent;if(s){const o=Zn(e,"needPickRedrawEventHandler");o?s.off(o):console.error("poi没有listenHandler!")}}_draw(){this._pois.sort(Em);const[e,i]=this._size;this._ctx.clearRect(0,0,e,i),this._pois.forEach(r=>r.draw(this._ctx))}pick(e,i,r,s){return this._needPickRedraw&&(this._needPickRedraw=!1,this._pickDraw()),this._getPickInfo(e,i,r,s)}_pickDraw(){this._pickColorManager.reset(),this._pois.sort(Em);const[e,i]=this._size;this._offscreenCtx.clearRect(0,0,e,i),this._pois.forEach(r=>{const s=o=>{const[a,l,u]=this._pickColorManager.createPickColor(r,o);return`rgb(${a}, ${l}, ${u})`};r.drawForPick(this._offscreenCtx,s)})}_getPickInfo(e,i,r,s){const o=this._offscreenCtx.getImageData(e,i,r,s),a=[],l=o.data.length/4;for(let u=0;u<l;++u){const h=o.data[u*4+0],c=o.data[u*4+1],d=o.data[u*4+2];if(o.data[u*4+3]===255){const p=this._pickColorManager.getPickInfoFromColor(h,c,d);if(p&&p.poi&&!a.includes(p)){let y=!0;{const[w,S]=this._size;this._offscreenCtx2.clearRect(0,0,w,S);const v=P=>"rgb(255, 255, 255)";p.poi.drawForPick(this._offscreenCtx2,v);const _=this._offscreenCtx2.getImageData(e,i,r,s),E=_.data[u*4+0],C=_.data[u*4+1],b=_.data[u*4+2];_.data[u*4+3],E===255&&C===255&&b===255||(y=!1)}y&&a.push(p)}}}return a}}class jd extends V{constructor(){super(...arguments);f(this,"_closeEvent");f(this,"_show",!0);f(this,"_showChanged");f(this,"_opacity",1);f(this,"_opacityChanged");f(this,"_winPos",[0,0]);f(this,"_winPosChanged")}set winPos(e){const[i,r]=e,[s,o]=this._winPos;(i!==s||r!==o)&&(this._winPos[0]=i,this._winPos[1]=r,this._winPosChanged&&this._winPosChanged.emit(this._winPos))}get winPos(){return this._winPos}get winPosChanged(){return this._winPosChanged=this._winPosChanged||new I,this._winPosChanged}set opacity(e){this._opacity!==e&&(this._opacity=e,this._opacityChanged&&this._opacityChanged.emit(this._opacity))}get opacity(){return this._opacity}get opacityChanged(){return this._opacityChanged=this._opacityChanged||new I,this._opacityChanged}set show(e){this._show!==e&&(this._show=e,this._showChanged&&this._showChanged.emit(this._show))}get show(){return this._show}get showChanged(){return this._showChanged=this._showChanged||new I,this._showChanged}get closeEvent(){return this._closeEvent||(this._closeEvent=new I),this._closeEvent}}const Ud=new WeakMap;function Gd(n){if(!Ud.has(n)){const t=new Eh(()=>new n,e=>e.reset());Ud.set(n,t)}return Ud.get(n)}class qd extends jd{constructor(){super();f(this,"_div");f(this,"_contentDiv");f(this,"_originOffsetX",0);f(this,"_originOffsetY",0);f(this,"_originRatioX",.5);f(this,"_originRatioY",1);f(this,"_divChanged",new I);const e=document.createElement("div");e.style.cssText="width: 0px; height: 0px; position: absolute; opacity: 1.0; visibility: visible;";const i=document.createElement("div");i.style.cssText=`position: absolute; left: ${-this._originOffsetX}px; top: ${-this._originOffsetY}px; transform: translateX(-${100*this._originRatioX}%) translateY(-${100*this._originRatioY}%); margin: 0; padding: 0; pointer-events: none;`;const r=document.createElement("div");this._contentDiv=r,i.appendChild(r),e.appendChild(i),this._div=e,this.dispose(this._divChanged.disposableOn(()=>{i.style.left=`${-this._originOffsetX}px`,i.style.top=`${-this._originOffsetY}px`,i.style.transform=`translateX(-${100*this._originRatioX}%) translateY(-${100*this._originRatioY}%)`})),this.dispose(this.winPosChanged.disposableOn(([s,o])=>{this._div.style.left=`${s}px`,this._div.style.top=`${o}px`})),this.dispose(this.opacityChanged.disposableOn(s=>{this._div.style.opacity=`${s}`})),this.dispose(this.showChanged.disposableOn(s=>{this._div.style.visibility=s?"visible":"hidden"}))}get contentDiv(){return this._contentDiv}reset(){}get originOffsetX(){return this._originOffsetX}set originOffsetX(e){this._originOffsetX!==e&&(this._originOffsetX=e,this._divChanged.emit())}get originOffsetY(){return this._originOffsetY}set originOffsetY(e){this._originOffsetY!==e&&(this._originOffsetY=e,this._divChanged.emit())}get originRatioX(){return this._originRatioX}set originRatioX(e){this._originRatioX!==e&&(this._originRatioX=e,this._divChanged.emit())}get originRatioY(){return this._originRatioY}set originRatioY(e){this._originRatioY!==e&&(this._originRatioY=e,this._divChanged.emit())}get element(){return this._div}}class Cm extends V{constructor(e,i){super();f(this,"_floatDiv");f(this,"_show",!1);f(this,"_showChanged");this._customDivClass=e,this._divContainer=i,this.dispose(()=>{this.show=!1})}_updateDivPoi(){if(this._show){const{floatDiv:i}=this;i.element.parentElement||this._divContainer.appendChild(i.element)}else{const{_floatDiv:i}=this;i&&i.element.parentElement&&this._divContainer.removeChild(i.element)}}set show(e){this._show!==e&&(this._show=e,this._updateDivPoi(),this._showChanged&&this._showChanged.emit(e))}get show(){return this._show}get floatDiv(){if(!this._floatDiv){const e=Gd(this._customDivClass).create();this.dispose(()=>{Gd(this._customDivClass).destroy(e)}),this._floatDiv=e}return this._floatDiv}get showChanged(){return this._showChanged||(this._showChanged=new I),this._showChanged}}const A1=["top","bottom","left","right"];function L1(n){return Object.entries(n).map(([t,e])=>A1.includes(t)?`${t}: ${e}px; `:"").join("")}function Sm(n,t,e){const i=document.createElement("div");i.style.cssText=`position: absolute; ${L1(e)} background-color: ${n}; border-radius: ${t}px;`;const r='<svg viewBox="0 0 1024 1024" style="display: block;" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2420" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><style type="text/css"></style></defs><path d="M512 128C300.8 128 128 300.8 128 512s172.8 384 384 384 384-172.8 384-384S723.2 128 512 128zM512 832c-179.2 0-320-140.8-320-320s140.8-320 320-320 320 140.8 320 320S691.2 832 512 832z" p-id="2421" fill="#ffffff"></path><path d="M672 352c-12.8-12.8-32-12.8-44.8 0L512 467.2 396.8 352C384 339.2 364.8 339.2 352 352S339.2 384 352 396.8L467.2 512 352 627.2c-12.8 12.8-12.8 32 0 44.8s32 12.8 44.8 0L512 556.8l115.2 115.2c12.8 12.8 32 12.8 44.8 0s12.8-32 0-44.8L556.8 512l115.2-115.2C684.8 384 684.8 364.8 672 352z" p-id="2422" fill="#ffffff"></path></svg>';return i.innerHTML=r,i}function bm(n,t,e="rgba(0,0,0,0.7)"){const i=document.createElement("div");i.style.cssText=`margin: 0 auto; width: ${n}px; height: ${t}px; position: relative; pointer-events: none;`;const r=document.createElement("div");return r.style.cssText=`position: absolute; left: 0px; top: 0px; width: 0; height: 0; border-left: ${n*.5}px solid transparent; border-right: ${n*.5}px solid transparent; border-top: ${t}px solid ${e};`,i.appendChild(r),[i,r]}class Pm extends qd{constructor(){super();f(this,"_borderDiv");f(this,"_closeDiv");f(this,"_innerContentDiv");f(this,"_colorStr","rgba(0, 0, 0, 0.7)");f(this,"_divColorChanged",new I);f(this,"_borderRadius",10);const e=document.createElement("div");e.style.cssText=`position: relative; background-color: ${this._colorStr}; border-radius: ${this._borderRadius}px; padding: 5px; pointer-events: all;`,this._borderDiv=e;const i=Sm(this._colorStr,10,{top:3,right:3}),[r,s]=bm(2*this._borderRadius,2*this._borderRadius,this._colorStr),o=document.createElement("div");this._innerContentDiv=o,e.appendChild(o),e.appendChild(i),this.contentDiv.appendChild(e),this.contentDiv.appendChild(r),i.style.opacity="0.1",i.onmouseenter=()=>{i.style.opacity="1.0"},i.onmouseleave=()=>{i.style.opacity="0.1"},i.onclick=()=>{this._closeEvent&&this._closeEvent.emit()},this._closeDiv=i,this.dispose(this._divColorChanged.disposableOn(()=>{s.style.borderTopColor=this._colorStr,e.style.backgroundColor=this._colorStr,r.style.width=`${this._borderRadius*2}px`,r.style.height=`${this._borderRadius*2}px`,s.style.borderLeft=`${this._borderRadius}px`,s.style.borderRight=`${this._borderRadius}px`,s.style.borderTop=`${this._borderRadius*2}px`}));const a=l=>{l.key==="Escape"&&this._closeEvent&&this._closeEvent.emit()};document.body.addEventListener("keydown",a,!0),this.dispose(()=>{document.removeEventListener("keydown",a,!0)})}get borderDiv(){return this._borderDiv}get innerContentDiv(){return this._innerContentDiv}reset(){this.show=!1,this.opacity=0,this._closeDiv.style.opacity="0.1",super.reset()}get colorStr(){return this._colorStr}set colorStr(e){this._colorStr!==e&&(this._colorStr=e,this._divColorChanged.emit())}get borderRadius(){return this._borderRadius}set borderRadius(e){this._borderRadius!==e&&(this._borderRadius=e,this._divColorChanged.emit())}}class F1 extends Pm{constructor(){super();f(this,"_iframe");f(this,"_iframeMessageEvent");const e=document.createElement("iframe");e.style.cssText="width: 100%; height: 100%; border-width: 0px; border-radius: 5px; display: block;",e.src="http://www.weather.com.cn/live/index.shtml",this._iframe=e,this.innerContentDiv.appendChild(e);const i=r=>{r.source===this._iframe.contentWindow&&(this._iframeMessageEvent?this._iframeMessageEvent.emit(r):console.warn(`iframe消息接收到未处理!data: ${r.data}`))};window.addEventListener("message",i),this.dispose(()=>{window.removeEventListener("message",i)})}reset(){super.reset(),this.src=""}set src(e){this._iframe.src!==e&&(this._iframe.src=e)}get src(){return this._iframe.src}get iframe(){return this._iframe}get iframeMessageEvent(){return this._iframeMessageEvent=this._iframeMessageEvent||new I,this._iframeMessageEvent}}class k1 extends jd{constructor(){super();f(this,"_div");f(this,"_contentContainer");f(this,"_text","");const e=document.createElement("div");this._div=e,e.style.cssText="width: 0px; height: 0px; position: absolute; opacity: 1.0; visibility: visible; transition: opacity 0.5s;";const i=document.createElement("div");i.style.cssText="position: absolute; left: 0px; bottom: 0px; transform: translateX(-50%); margin: 0; padding: 0; pointer-events: none;";const r=document.createElement("div");r.style.cssText="position: relative; background-color: rgba(0, 0, 0, 0.7); border-radius: 5px; padding: 3px; pointer-events: all; color: white; white-space: nowrap;",r.innerText=this._text,this._div.appendChild(i),i.appendChild(r),this._contentContainer=r,this._div=e,this.dispose(this.winPosChanged.disposableOn(([s,o])=>{this._div.style.left=`${s}px`,this._div.style.top=`${o-50}px`})),this.dispose(this.opacityChanged.disposableOn(s=>{this._div.style.opacity=`${s}`})),this.dispose(this.showChanged.disposableOn(s=>{this._div.style.visibility=s?"visible":"hidden"}))}get element(){return this._div}reset(){this.opacity=1,this.show=!0}set text(e){this._text!==e&&(this._text=e,this._contentContainer.innerText=e)}get text(){return this._text}}class B1 extends qd{constructor(){super(),this.contentDiv.style.backgroundColor="rgba(0, 0, 0, 0.8)",this.contentDiv.style.borderRadius="3px",this.contentDiv.style.color="rgb(255, 255, 255)",this.contentDiv.style.padding="1px 5px 1px 5px",this.contentDiv.style.fontSize="12px",this.contentDiv.style.whiteSpace="nowrap",this.contentDiv.innerText="未定义光标信息!",this.originRatioX=0,this.originRatioY=0,this.originOffsetX=-16}}class V1 extends V{constructor(e,i){super();f(this,"_cursorDiv");f(this,"_pointerOut",this.disposeVar(B(!1)));f(this,"_show",this.disposeVar(B(!0)));this._cursorDiv=new Cm(i,e),this.dispose(()=>this._cursorDiv.destroy());const r=o=>{const[a,l]=In(o);this._cursorDiv.floatDiv.winPos=[a,l]};e.addEventListener("pointermove",r),this.dispose(()=>e.removeEventListener("pointermove",r));const s=()=>{this._cursorDiv.show=this.show&&this._pointerOut.value};s(),this.dispose(this.showChanged.disposableOn(s)),this.dispose(this._pointerOut.changed.disposableOn(s))}set show(e){this._show.value=e}get show(){return this._show.value}get showChanged(){return this._show.changed}reset(){this._pointerOut.value=!1}get cursorDiv(){return this._cursorDiv}set text(e){this._cursorDiv.floatDiv.contentDiv.innerText=e}get text(){return this._cursorDiv.floatDiv.contentDiv.innerText}}function hu(n,t,e){if(!(n.tree===t.tree&&n!==t&&!n.isAncestorOf(t))||n.tree!==t.tree||!n.parent)return!1;if(!n.parent.children)throw console.error("当前节点的父节点没有子节点?这是不可能的!"),new Error("当前节点的父节点没有子节点?这是不可能的!");return!(t===n||n.isAncestorOf(t)||e!=="inner"&&!t.parent||e==="inner"&&!t.children)}function kh(n,t,e){if(!n.tree||!t.tree||n.tree!==t.tree)return;if(!n.parent){console.warn("当前节点没有父节点,那么该节点无法被移动!");return}if(!n.parent.children)throw console.error("当前节点的父节点没有子节点?这是不可能的!"),new Error("当前节点的父节点没有子节点?这是不可能的!");if(t===n){console.warn("自身不能拖放到自身!");return}if(n.isAncestorOf(t)){console.warn("当前节点不能拖放到它自身的后代节点之上!");return}if(e!=="inner"&&!t.parent){console.warn("目标节点没有父节点,无法拖放!");return}if(e==="inner"&&!t.children){console.warn("无法移动到目标节点的子节点中,因为目标节点不是组节点!");return}n.tree._startTransaction();const i=n.parent.children.indexOf(n);if(n.parent.children.splice(i,1),e!=="inner"){const{parent:r}=t;if(!r||!r.children)throw new Error("!parent");const s=r.children.indexOf(t);e==="before"?r.children.splice(s,0,n):e==="after"&&r.children.splice(s+1,0,n)}else t.children.push(n);n.tree._stopTransaction()}function Im(n,t,e){return Ed(n,i=>hu(i,t,e))}function xm(n,t,e){for(let i of n)hu(i,t,e)?kh(i,t,e):console.warn(`treeItem(id: ${i.id}) cannot move...`)}const z1={checked:1,unchecked:2,indeterminate:3},j1=["checked","unchecked","indeterminate"];class Mm extends V{constructor(e){super();f(this,"_collapsed",this.disposeVar(B(!1)));f(this,"_checkedStatus",this.disposeVar(B("unchecked")));f(this,"_selected",this.disposeVar(B(!1)));f(this,"_moveToPositionMode",this.disposeVar(B("none")));f(this,"_updateCheckedStatusFromChildrenEvent",this.disposeVar(new I));this._treeItem=e;const i=()=>this._treeItem.tree&&this._treeItem.tree.itemsChanged.emit([this._treeItem]);this.dispose(this._collapsed.changed.disposableOn(i)),this.dispose(this._checkedStatus.changed.disposableOn(i)),this.dispose(this._selected.changed.disposableOn(i)),this.dispose(this._moveToPositionMode.changed.disposableOn(i)),this.dispose(this._checkedStatus.changed.disposableOn(()=>this._treeItem.parent&&this._treeItem.parent.uiTreeObject.updateCheckedStatusFromChildren())),this.dispose(this._treeItem.childrenChangedEvent.disposableOn(()=>{this.updateCheckedStatusFromChildren()}));const r=this.disposeVar(Ae(this._updateCheckedStatusFromChildrenEvent));this.dispose(r.disposableOn(()=>{if(!this._treeItem.children)return;let s=0;wd(this._treeItem.children,o=>(s|=z1[o.uiTreeObject.checkedStatus],s===3)),s>0&&(this._checkedStatus.value=j1[s-1])})),this.dispose(this._treeItem.childrenResetedEvent.disposableOn(s=>{!s&&this.checkedStatus==="indeterminate"&&(this._checkedStatus.value="unchecked")}));{const s=(o,a,l=!0)=>{if(a)o.selectedItems.push(this._treeItem);else{const u=o.selectedItems.indexOf(this._treeItem);u===-1?l&&console.error("selectedItems index -1"):o.selectedItems.splice(u,1)}};this.dispose(this._selected.changed.disposableOn(o=>{const{tree:a}=this._treeItem;a&&s(a,o)})),this.dispose(()=>this.selected=!1)}}get treeItem(){return this._treeItem}get collapsed(){return this._collapsed.value}set collapsed(e){this._collapsed.value=e}get collapsedChanged(){return this._collapsed.changed}get checkedStatus(){return this._checkedStatus.value}check(e){const i=e?"checked":"unchecked";if(this._checkedStatus.value!==i&&(this._checkedStatus.value=i,this._treeItem.children))for(let r of this._treeItem.children)r.uiTreeObject.check(e)}updateCheckedStatusFromChildren(){this._updateCheckedStatusFromChildrenEvent.emit()}get checkedStatusChanged(){return this._checkedStatus.changed}get selected(){return this._selected.value}set selected(e){this._selected.value=e}get selectedChanged(){return this._selected.changed}get moveToPositionMode(){return this._moveToPositionMode.value}set moveToPositionMode(e){this._moveToPositionMode.value=e}get moveToPositionModeChanged(){return this._moveToPositionMode.changed}}const cr=class cr extends V{constructor(e,i=!1,r){super();f(this,"_children");f(this,"_childrenResetedEvent");f(this,"_childrenToChangeEvent");f(this,"_childrenChangedEvent");f(this,"_parent",this.disposeVar(B(void 0)));f(this,"_level",this.disposeVar(B(0)));f(this,"_id");f(this,"_uiTreeObject",this.disposeVar(new Mm(this)));this._tree=e,this._hasChildren=i,this._id=r??fa(),this._id!=="_ROOT"&&cr.wm.has(this._id)&&console.warn(`创建了id(${this._id})相同的树节点,会导致之前的树节点无法索引!`),cr.wm.set(this._id,this),this.dispose(()=>{if(this._id!=="_ROOT"&&!cr.wm.has(this._id)){console.warn(`树节点(${this._id})不在wm树上!`);return}cr.wm.delete(this._id)}),this.dispose(this._parent.changed.disposableOn(()=>{this._updateLevel()})),this.dispose(this._level.changed.disposableOn(()=>{if(this.children)for(let s of this.children)s._updateLevel()})),cr.allTreeItems.set(this._id,this),this.dispose(()=>{cr.allTreeItems.delete(this._id)})}static getFromId(e){return cr.wm.get(e)}get uiTreeObject(){return this._uiTreeObject}get id(){return this._id}_updateLevel(){this.parent&&(this._level.value=this.parent.level+1)}get parent(){return this._parent.value}get parentChanged(){return this._parent.changed}get children(){if(this._hasChildren){if(!this._children){const e=this.disposeVar(new iu);this._children=e,this.dispose(e.toChangeEvent.disposableOn((s,o)=>{for(let a of s){const{start:l,deleteCount:u,items:h}=a;for(let c=l;c<l+u;++c)o.get(c)._parent.value=void 0;for(let c of h){if(c.parent)throw console.error("请检查新增的treeItem是否正在使用!"),new Error("item.parent should not exist!");c._parent.value=this}}}));const i=new Set,r=new Set;this.dispose(e.toChangeEvent.disposableOn((s,o)=>{var a;if(this.tree){i.clear(),r.clear();for(let l of s){const{start:u,deleteCount:h,items:c}=l;for(let d=u;d<u+h;++d)i.add(o.get(d));for(let d of c)r.add(d)}for(let l of i)r.has(l)&&(i.delete(l),r.delete(l));(a=this.tree)==null||a.itemChildrenToChange.emit(this,s,i,r)}})),this.dispose(e.changedEvent.disposableOn(()=>{var s;(s=this.tree)==null||s.itemChildrenChanged.emit(this)})),this.dispose(e.toChangeEvent.disposableOn((...s)=>this._childrenToChangeEvent&&this._childrenToChangeEvent.emit(...s))),this.dispose(e.changedEvent.disposableOn((...s)=>this._childrenChangedEvent&&this._childrenChangedEvent.emit(...s)))}return this._children}else return}get childrenResetedEvent(){return this._childrenResetedEvent||(this._childrenResetedEvent=new I),this._childrenResetedEvent}get childrenToChangeEvent(){return this._childrenToChangeEvent||(this._childrenToChangeEvent=new I),this._childrenToChangeEvent}get childrenChangedEvent(){return this._childrenChangedEvent||(this._childrenChangedEvent=new I),this._childrenChangedEvent}resetChildren(e=!1){this._children&&(this._children.length=0),this._hasChildren=e,this._childrenResetedEvent&&this._childrenResetedEvent.emit(e)}*getDescendants(e){const i=this,r=[],s=[];for(i.children&&i.children.length>0&&(!e||e(i))&&(r.push(0),s.push(i.children));r.length>0;){const o=r[r.length-1],a=s[s.length-1],l=a.get(o);yield l,o<a.length-1?++r[r.length-1]:(s.pop(),r.pop()),l.children&&l.children.length>0&&(!e||e(l))&&(r.push(0),s.push(l.children))}}*getAncestors(e){let i=this.parent;for(;i&&(yield i,!(e&&!e(i)));)i=i.parent}isDescendantOf(e){for(let i of this.getAncestors())if(i===e)return!0;return!1}isAncestorOf(e){return e.isDescendantOf(this)}get level(){return this._level.value}get levelChanged(){return this._level.changed}get tree(){return this._tree}canMoveTo(e,i){return hu(this,e,i)}moveTo(e,i){kh(this,e,i)}detachFromParent(){if(!this.parent||!this.parent.children)return;const e=this.parent.children.indexOf(this);this.parent.children.splice(e,1)}insertNewTreeItem(e,i){if(i&&i.tree!==this.tree)return console.warn("newTreeItem.tree !== this.tree"),!1;if(this.children&&e.startsWith("Inner"))return i&&this.children.push(i),!0;if(e==="Inner")return!1;const r=this.parent;if(!r||!r.children)return!1;const s=r.children.indexOf(this);return e.endsWith("Before")?i&&r.children.splice(s,0,i):e.endsWith("After")&&i&&r.children.splice(s+1,0,i),!0}};f(cr,"wm",new Map),f(cr,"allTreeItems",new Map);let _a=cr;class Tm extends V{constructor(e){super();f(this,"_redrawEvent",this.disposeVar(new I));f(this,"_containerScrollTop",this.disposeVar(B(0)));f(this,"_containerClientHeight",this.disposeVar(B(-1)));f(this,"_container",this.disposeVar(B(void 0)));f(this,"_redrawInfo",{topFreeSpaceHeight:0,topUnvisibleItemNum:0,middleTreeItems:[],bottomFreeSpaceHeight:0,bottomUnvisibleItemNum:0});this._tree=e;const i=this._containerClientHeight,r=this._containerScrollTop,s=this._tree._forceRedrawEvent,o=this.disposeVar(Ae(this._tree.itemDivHeightChanged,this._tree.itemChildrenChanged,this._tree.itemsChanged,i.changed,r.changed,s)),{redrawInfo:a}=this,l=h=>{const c=h.uiTreeObject;return!!h.children&&(!c||!c.collapsed)};this.dispose(o.disposableOn(()=>{if(a.topFreeSpaceHeight=0,a.topUnvisibleItemNum=0,a.middleTreeItems.length=0,a.bottomFreeSpaceHeight=0,a.bottomUnvisibleItemNum=0,this._containerClientHeight.value>=0){const h=Cd(this._tree.getDescendants(l)),c=this._tree.itemDivHeight,d=c*h,g=es([Ns([es([d-i.value,0]),r.value]),0]),p=g/c|0,y=Math.ceil((g-p*c+i.value)/c)|0;p>0&&(a.topUnvisibleItemNum=p,a.topFreeSpaceHeight=p*this._tree.itemDivHeight);const w=p+y;let S=0;for(let _ of this._tree.getDescendants(l)){if(S>=w)break;S>=p&&a.middleTreeItems.push(_),++S}const v=h-p-y;v>0&&(a.bottomUnvisibleItemNum=v,a.bottomFreeSpaceHeight=v*this._tree.itemDivHeight)}else for(let h of this._tree.getDescendants(l))a.middleTreeItems.push(h);this._redrawEvent.emit(a)}));let u;this.dispose(()=>u&&(u.destroy(),u=void 0)),this.dispose(this.containerChanged.disposableOn(h=>{u&&(u.destroy(),u=void 0),h&&(u=su(),u.start(()=>{const{scrollTop:c,clientHeight:d}=h;typeof c>"u"||typeof d>"u"?ca("createUiTreeWithContainer error: conainter has no scrollTop or clientHeight property!"):(this.containerScrollTop=c,this.containerClientHeight=d)}))}))}get container(){return this._container.value}set container(e){this._container.value=e}get containerChanged(){return this._container.changed}get redrawInfo(){return this._redrawInfo}getTreeItemPos(e){const i=o=>{const a=o.uiTreeObject;return!!o.children&&(!a||!a.collapsed)};let r=0,s=!1;for(let o of this._tree.getDescendants(i)){if(o===e){s=!0;break}++r}if(s)return[r,r*this._tree.itemDivHeight]}collapseAll(){console.log("collapseAll");for(let e of this.tree.root.getDescendants()){const i=e.uiTreeObject;i.collapsed=!0}}get tree(){return this._tree}get redrawEvent(){return this._redrawEvent}set containerScrollTop(e){this._containerScrollTop.value=e}get containerScrollTop(){return this._containerScrollTop.value}get containerScrollTopChanged(){return this._containerScrollTop.changed}set containerClientHeight(e){this._containerClientHeight.value=e}get containerClientHeight(){return this._containerClientHeight.value}get containerClientHeightChanged(){return this._containerClientHeight.changed}*getAllItems(e){for(let i of this._tree.getDescendants())(!e||e(i))&&(yield i)}getAllSelectedItems(){return this.getAllItems(e=>e.uiTreeObject.selected)}getAllCheckedLeafItems(){return this.getAllItems(e=>!e.children&&e.uiTreeObject.checkedStatus==="checked")}clearAllSelectedItems(e){for(let i of this.getAllSelectedItems())(!e||!e.includes(i))&&(i.uiTreeObject.selected=!1)}}let wa=(dr=class extends V{constructor(e){super();f(this,"_root",this.disposeVar(new _a(this,!0,"_ROOT")));f(this,"_itemChildrenChanged",this.disposeVar(new I));f(this,"_itemChildrenToChange",this.disposeVar(new I));f(this,"_itemsAdded",this.disposeVar(new I));f(this,"_itemsDeleted",this.disposeVar(new I));f(this,"_itemsChanged",this.disposeVar(new I));f(this,"_transactionStack",0);f(this,"_addedItems",new Set);f(this,"_deletedItems",new Set);f(this,"_selectedItems",this.disposeVar(new iu));f(this,"_itemDivHeight",this.disposeVar(B(dr.defaultItemDivHeight)));f(this,"_forceRedrawEvent",this.disposeVar(new I));f(this,"_uiTree",this.disposeVar(new Tm(this)));this._root._tree.value=this,this.dispose(this._itemChildrenToChange.disposableOn((i,r)=>{if(!i.children){console.error("!item.children");return}for(let s of r){const{start:o,deleteCount:a,items:l}=s;for(let u=o;u<o+a;++u){const h=i.children.get(u);this._deletedItems.has(h)?console.error(`this._deletedItems.has(currentItem(${h.id}))`):this._deletedItems.add(h)}for(let u of l)this._deletedItems.has(u)?this._deletedItems.delete(u):this._addedItems.add(u)}this._execTransaction()})),e!==void 0&&(this.itemDivHeight=e)}get selectedItems(){return this._selectedItems}get lastSelectedItem(){return this._selectedItems.length>0?this._selectedItems.get(this._selectedItems.length-1):void 0}get itemDivHeight(){return this._itemDivHeight.value}set itemDivHeight(e){this._itemDivHeight.value=e}get itemDivHeightChanged(){return this._itemDivHeight.changed}forceRedraw(){this._forceRedrawEvent.emit()}get uiTree(){return this._uiTree}get root(){return this._root}get children(){return this._root.children}getDescendants(e){return this._root.getDescendants(e)}getTreeItemFromId(e){let i;for(let r of this.getDescendants())if(r.id===e){i=r;break}return i}_startTransaction(){this._transactionStack===0&&(this._deletedItems.size>0&&(console.warn("this._deletedItems.size > 0"),this._deletedItems.clear()),this._addedItems.size>0&&(console.warn("this._addedItems.size > 0"),this._addedItems.clear())),++this._transactionStack}_stopTransaction(){--this._transactionStack,this._execTransaction()}_execTransaction(){this._transactionStack===0&&(this._deletedItems.size>0&&(this._itemsDeleted.emit([...this._deletedItems]),this._deletedItems.clear()),this._addedItems.size>0&&(this._itemsAdded.emit([...this._addedItems]),this._addedItems.clear()))}get itemChildrenChanged(){return this._itemChildrenChanged}get itemChildrenToChange(){return this._itemChildrenToChange}get itemsChanged(){return this._itemsChanged}get itemsAdded(){return this._itemsAdded}get itemsDeleted(){return this._itemsDeleted}},f(dr,"defaultItemDivHeight",24),f(dr,"canMoveToTreeItem",hu),f(dr,"moveToTreeItem",kh),f(dr,"canMoveToTreeItems",Im),f(dr,"moveToTreeItems",xm),dr);class ve extends V{constructor(e,i,r=!0,s){super();f(this,"_obj",this.disposeVar(B(void 0)));this._resetEvent=e,this._createFunc=i;const o=this._resetEvent,a=this._createFunc,l=()=>{this._obj.value&&(this._obj.value.destroy(),this._obj.value=void 0)};this.dispose(l);const u=(...h)=>{l(),this._obj.value=a(...h)};r&&(s?this._obj.value=a(...s):this._obj.value=a()),this.dispose(o.disposableOn(u))}get obj(){return this._obj.value}get objChanged(){return this._obj.changed}}class U1 extends V{constructor(e,i=!0,r){super();f(this,"_event",this.disposeVar(new I));f(this,"_objResettingWithEvent");this._createFunc=e,this._execOnInit=i,this._initParams=r,this._objResettingWithEvent=this.disposeVar(new ve(this._event,this._createFunc,this._execOnInit,this._initParams))}get obj(){return this._objResettingWithEvent.obj}get objChanged(){return this._objResettingWithEvent.objChanged}reset(...e){this._event.emit(...e)}}const ld=class ld extends V{constructor(){super();f(this,"_set",new Set);f(this,"_toChangeEvent",this.dv(new I));f(this,"_changedEvent",this.dv(new I));f(this,"main");this.dispose(()=>{this._set.size!==0&&(ld.warnOnDestroying&&console.warn("this._set.size > 0"),this.clear())})}get toChange(){return this._toChangeEvent}get changed(){return this._changedEvent}add(...e){if(e.length==2&&typeof e[1]=="boolean")e[1]&&(this.main=e[0]);else for(let i of e)this._toChangeEvent.emit([],[i]),this._set.add(i),this._changedEvent.emit([],[i])}delete(...e){for(let i of e)this.main&&this.main==i&&(this.main=void 0),this._toChangeEvent.emit([i],[]),this._set.delete(i),this._changedEvent.emit([i],[])}disposableAdd(...e){return e.length==2&&typeof e[1]=="boolean"?(e[1]&&(this.main=e[0]),this.add(e[0]),()=>this.delete(e[0])):(this.add(...e),()=>this.delete(...e))}get size(){return this._set.size}clear(){const e=[...this._set];this._toChangeEvent.emit([],e),this._set.clear(),this._changedEvent.emit([],e),this.main=void 0}values(){return this._set.values()}};f(ld,"warnOnDestroying",!0);let Bh=ld;async function Nm(n){const t=[],e=[],i=n.entries();for await(const[r,s]of i){const o=s;o.kind==="file"?t.push(r):o.kind==="directory"&&e.push(r)}return{files:t,dirs:e}}async function Wd(n){return await(await n.getFile()).text()}async function Om(n){const t=await Wd(n);try{return JSON.parse(t)}catch{return}}async function Dm(n){return await(await n.getFile()).arrayBuffer()}class Rm extends V{constructor(t){super(),this._rootDirHandle=t}get rootDirHandle(){return this._rootDirHandle}async getSubFilesAndDirs(){return await Nm(this._rootDirHandle)}async getDir(t){let e=this._rootDirHandle;for(const i of t)if(e=await(e==null?void 0:e.getDirectoryHandle(i)),!e){console.log(`getDirectoryHandle ${i} failed`);return}return e}async getFile(t,e){const i=await this.getDir(t);if(i)try{return await i.getFileHandle(e)}catch(r){console.error(`未能获取当前文件 ${t.join("/")}/${e} error: ${r}`,r);return}}}class Am extends V{constructor(e){super();f(this,"_startRootDirId",0);f(this,"_dirMap",new Map);this._prefix=e}get prefix(){return this._prefix}async getRootDirId(e){let i;try{console.log("window.showDirectoryPicker begin"),i=await window.showDirectoryPicker({id:e,mode:"read"}),console.log("window.showDirectoryPicker end",i)}catch(r){console.error(`LocalFileServer getRootDirId failed: ${r}`,r);return}if(i){const r=++this._startRootDirId,s=`${this._prefix}${r}`;return this._dirMap.set(s,new Rm(i)),s}}getRootDir(e){return this._dirMap.get(e)}async getFile(e){const i=e.split("/");if(i.length<2){console.warn(`LocalFileServer getFile failed: ${e}`);return}const r=i[0],s=this._dirMap.get(r);if(!s){console.warn(`LocalFileServer getFile failed: ${e}`);return}const o=i.slice(1,i.length-1),a=i[i.length-1],l=await s.getFile(o,a);if(!l){console.warn(`LocalFileServer getFile failed: ${e}`);return}return l}async getText(e){const i=await this.getFile(e);if(i)return await Wd(i)}async getArrayBuffer(e){const i=await this.getFile(e);if(i)return await Dm(i)}async getJson(e){const i=await this.getFile(e);if(i)return await Om(i)}async getLocalFilePath(e,i,r){const s=await this.getRootDirId(i);if(!s){console.warn("getRootDirId error!");return}const o=this.getRootDir(s);if(!o){console.warn("getRootDir error!");return}const a=await o.getSubFilesAndDirs();if(!a.files){console.warn("getSubFilesAndDirs error! 找不到符合要求的文件!");return}const l=e?a.files.filter(u=>e.some(h=>u.endsWith(h))):a.files;if(l.length===0){console.warn("找不到符合要求的文件!");return}return`https://${s}/${l[0]}`}}const Lm=new Am("xe2_local");async function G1(n,t,e){return await Lm.getLocalFilePath(n,t,e)}class Fm extends V{constructor(e,i){super();f(this,"_processing",this.disposeVar(gi(async e=>{const i=this._complexImage,r=await e.promise(Zp(this._imageUri,this._complexImage.crossOrigin));r&&r instanceof HTMLImageElement&&(i.size=[r.naturalWidth,r.naturalHeight],i.pixelFormat="RGBA",i.copyTexture({source:r}))})));f(this,"_processingStart",this._processing.start());this._complexImage=e,this._imageUri=i}get processing(){return this._processing}}const km=["DEPTH_COMPONENT","DEPTH_STENCIL","ALPHA","RED","RG","RGB","RGBA","LUMINANCE","LUMINANCE_ALPHA","RGB_DXT1","RGBA_DXT1","RGBA_DXT3","RGBA_DXT5","RGB_PVRTC_4BPPV1","RGB_PVRTC_2BPPV1","RGBA_PVRTC_4BPPV1","RGBA_PVRTC_2BPPV1","RGBA_ASTC","RGB_ETC1","RGB8_ETC2","RGBA8_ETC2_EAC","RGBA_BC7"],Bm=["img","gif","video","flv","hls"];let q1=class extends V{constructor(e,i){super();f(this,"_element");this._complexImage=e,this._videoSrc=i;var r=document.createElement("video");r.src=this._videoSrc,r.style.position="absolute",r.style.top="0px",r.style.left="0px",r.style.zIndex="-100",r.style.visibility="hidden",r.style.width="0px",r.style.height="0px";{const s=()=>{r.crossOrigin=this._complexImage.crossOrigin};s(),this.dispose(this._complexImage.crossOriginChanged.disposableOn(s))}{const s=()=>{r.autoplay=this._complexImage.autoplay};s(),this.dispose(this._complexImage.autoplayChanged.disposableOn(s))}{const s=()=>{r.loop=this._complexImage.loop};s(),this.dispose(this._complexImage.loopChanged.disposableOn(s))}r.muted=!0,document.body.appendChild(r),this._element=r,this.dispose(()=>document.body.removeChild(r))}get element(){return this._element}};class Vm extends V{constructor(e,i){super();f(this,"_videoDom");f(this,"_update",this.disposeVar(ya(()=>this.update())));f(this,"_updateStart",this._update.start());this._complexImage=e,this._imageUri=i,this._videoDom=this.disposeVar(new q1(this._complexImage,this._imageUri))}get videoDom(){return this._videoDom}get videoElement(){return this._videoDom.element}update(){if(this.videoElement.readyState<2)return;const e=this._complexImage,{videoWidth:i,videoHeight:r}=this.videoElement;e.size=[i,r],e.pixelFormat="RGBA",e.copyTexture({source:this.videoElement})}}function Hd(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Xd={},ns={},zm;function jm(){if(zm)return ns;zm=1,Object.defineProperty(ns,"__esModule",{value:!0}),ns.loop=ns.conditional=ns.parse=void 0;var n=function i(r,s){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:o;if(Array.isArray(s))s.forEach(function(u){return i(r,u,o,a)});else if(typeof s=="function")s(r,o,a,i);else{var l=Object.keys(s)[0];Array.isArray(s[l])?(a[l]={},i(r,s[l],o,a[l])):a[l]=s[l](r,o,a,i)}return o};ns.parse=n;var t=function(r,s){return function(o,a,l,u){s(o,a,l)&&u(o,r,a,l)}};ns.conditional=t;var e=function(r,s){return function(o,a,l,u){for(var h=[],c=o.pos;s(o,a,l);){var d={};if(u(o,r,a,d),o.pos===c)break;c=o.pos,h.push(d)}return h}};return ns.loop=e,ns}var ye={},Um;function Gm(){if(Um)return ye;Um=1,Object.defineProperty(ye,"__esModule",{value:!0}),ye.readBits=ye.readArray=ye.readUnsigned=ye.readString=ye.peekBytes=ye.readBytes=ye.peekByte=ye.readByte=ye.buildStream=void 0;var n=function(c){return{data:c,pos:0}};ye.buildStream=n;var t=function(){return function(c){return c.data[c.pos++]}};ye.readByte=t;var e=function(){var c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return function(d){return d.data[d.pos+c]}};ye.peekByte=e;var i=function(c){return function(d){return d.data.subarray(d.pos,d.pos+=c)}};ye.readBytes=i;var r=function(c){return function(d){return d.data.subarray(d.pos,d.pos+c)}};ye.peekBytes=r;var s=function(c){return function(d){return Array.from(i(c)(d)).map(function(g){return String.fromCharCode(g)}).join("")}};ye.readString=s;var o=function(c){return function(d){var g=i(2)(d);return c?(g[1]<<8)+g[0]:(g[0]<<8)+g[1]}};ye.readUnsigned=o;var a=function(c,d){return function(g,p,y){for(var w=typeof d=="function"?d(g,p,y):d,S=i(c),v=new Array(w),_=0;_<w;_++)v[_]=S(g);return v}};ye.readArray=a;var l=function(c,d,g){for(var p=0,y=0;y<g;y++)p+=c[d+y]&&Math.pow(2,g-y-1);return p},u=function(c){return function(d){for(var g=t()(d),p=new Array(8),y=0;y<8;y++)p[7-y]=!!(g&1<<y);return Object.keys(c).reduce(function(w,S){var v=c[S];return v.length?w[S]=l(p,v.index,v.length):w[S]=p[v.index],w},{})}};return ye.readBits=u,ye}var qm;function W1(){return qm||(qm=1,(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var t=jm(),e=Gm(),i={blocks:function(d){for(var g=0,p=[],y=d.data.length,w=0,S=(0,e.readByte)()(d);S!==g&&S;S=(0,e.readByte)()(d)){if(d.pos+S>=y){var v=y-d.pos;p.push((0,e.readBytes)(v)(d)),w+=v;break}p.push((0,e.readBytes)(S)(d)),w+=S}for(var _=new Uint8Array(w),E=0,C=0;C<p.length;C++)_.set(p[C],E),E+=p[C].length;return _}},r=(0,t.conditional)({gce:[{codes:(0,e.readBytes)(2)},{byteSize:(0,e.readByte)()},{extras:(0,e.readBits)({future:{index:0,length:3},disposal:{index:3,length:3},userInput:{index:6},transparentColorGiven:{index:7}})},{delay:(0,e.readUnsigned)(!0)},{transparentColorIndex:(0,e.readByte)()},{terminator:(0,e.readByte)()}]},function(c){var d=(0,e.peekBytes)(2)(c);return d[0]===33&&d[1]===249}),s=(0,t.conditional)({image:[{code:(0,e.readByte)()},{descriptor:[{left:(0,e.readUnsigned)(!0)},{top:(0,e.readUnsigned)(!0)},{width:(0,e.readUnsigned)(!0)},{height:(0,e.readUnsigned)(!0)},{lct:(0,e.readBits)({exists:{index:0},interlaced:{index:1},sort:{index:2},future:{index:3,length:2},size:{index:5,length:3}})}]},(0,t.conditional)({lct:(0,e.readArray)(3,function(c,d,g){return Math.pow(2,g.descriptor.lct.size+1)})},function(c,d,g){return g.descriptor.lct.exists}),{data:[{minCodeSize:(0,e.readByte)()},i]}]},function(c){return(0,e.peekByte)()(c)===44}),o=(0,t.conditional)({text:[{codes:(0,e.readBytes)(2)},{blockSize:(0,e.readByte)()},{preData:function(d,g,p){return(0,e.readBytes)(p.text.blockSize)(d)}},i]},function(c){var d=(0,e.peekBytes)(2)(c);return d[0]===33&&d[1]===1}),a=(0,t.conditional)({application:[{codes:(0,e.readBytes)(2)},{blockSize:(0,e.readByte)()},{id:function(d,g,p){return(0,e.readString)(p.blockSize)(d)}},i]},function(c){var d=(0,e.peekBytes)(2)(c);return d[0]===33&&d[1]===255}),l=(0,t.conditional)({comment:[{codes:(0,e.readBytes)(2)},i]},function(c){var d=(0,e.peekBytes)(2)(c);return d[0]===33&&d[1]===254}),u=[{header:[{signature:(0,e.readString)(3)},{version:(0,e.readString)(3)}]},{lsd:[{width:(0,e.readUnsigned)(!0)},{height:(0,e.readUnsigned)(!0)},{gct:(0,e.readBits)({exists:{index:0},resolution:{index:1,length:3},sort:{index:4},size:{index:5,length:3}})},{backgroundColorIndex:(0,e.readByte)()},{pixelAspectRatio:(0,e.readByte)()}]},(0,t.conditional)({gct:(0,e.readArray)(3,function(c,d){return Math.pow(2,d.lsd.gct.size+1)})},function(c,d){return d.lsd.gct.exists}),{frames:(0,t.loop)([r,a,l,s,o],function(c){var d=(0,e.peekByte)()(c);return d===33||d===44})}],h=u;n.default=h})(Xd)),Xd}var H1=W1();const X1=Hd(H1);var Y1=jm(),J1=Gm();const $1=(n,t)=>{const e=new Array(n.length),i=n.length/t,r=function(h,c){const d=n.slice(c*t,(c+1)*t);e.splice.apply(e,[h*t,t].concat(d))},s=[0,4,2,1],o=[8,8,4,2];for(var a=0,l=0;l<4;l++)for(var u=s[l];u<i;u+=o[l])r(u,a),a++;return e},Q1=(n,t,e)=>{const s=e;var o,a,l,u,h,c,d,C,g,p,E,y,b,P,O,x;const w=new Array(e),S=new Array(4096),v=new Array(4096),_=new Array(4097);for(y=n,a=1<<y,h=a+1,o=a+2,d=-1,u=y+1,l=(1<<u)-1,g=0;g<a;g++)S[g]=0,v[g]=g;var E,C,b,P,x,O;for(E=C=b=P=x=O=0,p=0;p<s;){if(P===0){if(C<u){E+=t[O]<<C,C+=8,O++;continue}if(g=E&l,E>>=u,C-=u,g>o||g==h)break;if(g==a){u=y+1,l=(1<<u)-1,o=a+2,d=-1;continue}if(d==-1){_[P++]=v[g],d=g,b=g;continue}for(c=g,g==o&&(_[P++]=b,g=d);g>a;)_[P++]=v[g],g=S[g];b=v[g]&255,_[P++]=b,o<4096&&(S[o]=d,v[o]=b,o++,(o&l)===0&&o<4096&&(u++,l+=o)),d=c}P--,w[x++]=_[P],p++}for(p=x;p<s;p++)w[p]=0;return w},K1=n=>{const t=new Uint8Array(n);return Y1.parse(J1.buildStream(t),X1)},Z1=n=>{const t=n.pixels.length,e=new Uint8ClampedArray(t*4);for(var i=0;i<t;i++){const r=i*4,s=n.pixels[i],o=n.colorTable[s]||[0,0,0];e[r]=o[0],e[r+1]=o[1],e[r+2]=o[2],e[r+3]=s!==n.transparentIndex?255:0}return e},tE=(n,t,e)=>{if(!n.image){console.warn("gif frame does not have associated image.");return}const{image:i}=n,r=i.descriptor.width*i.descriptor.height;var s=Q1(i.data.minCodeSize,i.data.blocks,r);i.descriptor.lct.interlaced&&(s=$1(s,i.descriptor.width));const o={pixels:s,dims:{top:n.image.descriptor.top,left:n.image.descriptor.left,width:n.image.descriptor.width,height:n.image.descriptor.height}};return i.descriptor.lct&&i.descriptor.lct.exists?o.colorTable=i.lct:o.colorTable=t,n.gce&&(o.delay=(n.gce.delay||10)*10,o.disposalType=n.gce.extras.disposal,n.gce.extras.transparentColorGiven&&(o.transparentIndex=n.gce.transparentColorIndex)),o.patch=Z1(o),o},eE=(n,t)=>n.frames.filter(e=>e.image).map(e=>tE(e,n.gct));async function Wm(n){const e=await(await fetch(n)).arrayBuffer(),i=K1(e),r=eE(i);return{gif:i,gifFrames:r,arrayBuffer:e}}function Hm(n,t,e){return n<t?t:n>e?e:n}class Xm extends Fh{constructor(e,i=!0,r){super();f(this,"_gifFrames",this.disposeVar(B(void 0)));f(this,"_gifDurations",[]);f(this,"_gifDuration",this.disposeVar(B(0)));f(this,"_gifSize",this.disposeVar(B([0,0],(e,i)=>e.every((r,s)=>r===i[s]),e=>[...e])));f(this,"_autoPlayOnLoad",this.disposeVar(B(!0)));f(this,"_gifCanvas");this._container=e,this.loop=!0;const s=document.createElement("canvas");this._gifCanvas=s,s.style.width="100%",s.style.height="100%";const o=s.getContext("2d");this._container&&this._container.appendChild(s),this.dispose(()=>this._container&&this._container.removeChild(s));let a;this.dispose(this._gifFrames.changed.disposableOn(u=>{if(!u||u.length===0){s.width=0,s.height=0;return}const{width:h,height:c}=u[0].dims;this._gifSize.value=[h,c];const d=u.length;let g=0;this._gifDurations.length=0;for(let p=0;p<d;++p)g+=u[p].delay,this._gifDurations.push(g);this._gifDuration.value=this._gifDurations[this._gifDurations.length-1],s.width=h,s.height=c,a=o.createImageData(h,c),this.currentTimeChangedEvent.emit(this.currentTime,this.currentTime),this._autoPlayOnLoad.value&&(this.currentTime=0,this.playing=!0)}));let l=-1;this.dispose(this.currentTimeChangedEvent.disposableOn(u=>{const h=Hm(u/this.duration,0,1),c=this.gifDuration*h,d=this._gifFrames.value;if(d&&d.length>0){const g=this._getFrame(c);if(g===l)return;l=g;const p=d[g];if(p.disposalType!==0&&p.disposalType!==1&&p.disposalType!==2&&ca(`gif parsed get disposalType ${p.disposalType}... frame: ${g} size: ${JSON.stringify(p.dims)}`,`gif parsed get disposalType ${p.disposalType}...`),a&&(g===0||p.disposalType===2)&&a.data.fill(0),a){const[y,w]=this._gifSize.value,{width:S,height:v,left:_,top:E}=p.dims;if(v>w)throw new Error("height > canvasHeight");for(let C=0;C<v;++C)for(let b=0;b<S;++b){const P=C*S+b,x=E+C,O=_+b,L=x*y+O,M=a.data,A=p.patch,R=A[P*4+3]/255;M[L*4+0]=M[L*4+0]*(1-R)+A[P*4+0]*R|0,M[L*4+1]=M[L*4+1]*(1-R)+A[P*4+1]*R|0,M[L*4+2]=M[L*4+2]*(1-R)+A[P*4+2]*R|0,M[L*4+3]=Hm(M[L*4+3]+A[P*4+3],0,255)|0}o.putImageData(a,0,0)}}else ca("gif资源未加载!无法播放!")})),this.dispose(this._gifDuration.changed.disposableOn(()=>{this.duration=this.gifDuration})),this._autoPlayOnLoad.value=i,this._gifFrames.value=r}get gifCanvas(){return this._gifCanvas}set gifFrames(e){this._gifFrames.value=e}get gifFrames(){return this._gifFrames.value}get gifFramesChanged(){return this._gifFrames.changed}get gifSize(){return this._gifSize.value}get gifSizeChanged(){return this._gifSize.changed}get gifDuration(){return this._gifDuration.value}get gifDurationChanged(){return this._gifDuration.changed}get autoPlayOnLoad(){return this._autoPlayOnLoad.value}set autoPlayOnLoad(e){this._autoPlayOnLoad.value=e}get autoPlayOnLoadChanged(){return this._autoPlayOnLoad.changed}_getFrame(e){const i=this._gifDurations.length;for(let r=0;r<i;++r)if(e<=this._gifDurations[r])return r;throw new Error("should not be here")}}class Ym extends V{constructor(e){super();f(this,"_player");f(this,"_url",this.disposeVar(B("")));f(this,"_loadGifFramesProcessing",this.disposeVar(Lh(e=>Ah(Wm(e)))));this._player=this.disposeVar(new Xm(e)),this._player.autoPlayOnLoad=!0,this._loadGifFramesProcessing.completeFunc=({gifFrames:i})=>this._player.gifFrames=i,this.dispose(this._url.changed.disposableOn(i=>{this._player.gifFrames=void 0,this._loadGifFramesProcessing.restart(new qi(`reload gif(${i})`),i)}))}get player(){return this._player}set url(e){this._url.value=e}get url(){return this._url.value}get loadedEvent(){return this._loadGifFramesProcessing.completeEvent}get size(){return this._player.gifSize}get sizeChanged(){return this._player.gifSizeChanged}get duration(){return this._player.gifDuration}get durationChanged(){return this._player.gifDurationChanged}}class Jm extends V{constructor(e,i){super();f(this,"_gif",this.disposeVar(new Ym));f(this,"_update",this.disposeVar(ya(()=>this.update())));f(this,"_updateStart",this._update.start());this._complexImage=e,this._imageUri=i,this._gif.url=this._imageUri}get gif(){return this._gif}update(){const{player:e}=this._gif;if(!e.gifFrames)return;const i=this._complexImage,{width:r,height:s}=e.gifCanvas;i.size=[r,s],i.pixelFormat="RGBA",i.copyTexture({source:e.gifCanvas});{const o=()=>{e.autoPlayOnLoad=this._complexImage.autoplay};o(),this.dispose(this._complexImage.autoplayChanged.disposableOn(o))}{const o=()=>{e.loop=this._complexImage.loop};o(),this.dispose(this._complexImage.loopChanged.disposableOn(o))}}}function $m(n,t){const[e,i,r]=Zr(n),s=B(void 0),o=()=>{const a=e()??t;s.value=a&&Z.context.getStrFromEnv(a)};return o(),r&&s.d(r.don(o)),s.d(Z.context.environmentVariablesChanged.don(o)),s}function Qm(n){const t=/\${(.*?)\}/g;if(!t.test(n))return n;const e=n.replace(t,(i,r)=>{const s=Z.context.getEnv(r);return s===void 0?(console.warn(`环境变量(${r})不存在,无法进行转换`),"{env-error}"):s});return Qm(e)}class nE extends V{constructor(e){super();f(this,"_sceneObjRefs",new Map);f(this,"_refs",{});f(this,"_refsChanged",this.dv(new I));const i=(r,s,o)=>{if(o){const a=this.getLastSceneObject(o),l=this._sceneObjRefs.get(o);if(!l)console.warn(`this._sceneObjRefs中不存在ref(${o}), 可能系统存在逻辑问题`);else{const h=l.indexOf(r);h===-1?console.warn(`this._sceneObjRefs中不存在当前对象(id: ${r.id} type: ${r.typeName})!可能系统存在逻辑问题`):(l.splice(h,1),l.length===0&&this._sceneObjRefs.delete(o))}const u=this.getLastSceneObject(o);this._refs[o]=u,this._refsChanged.emit(u,a)}if(s){const a=this.getLastSceneObject(s),l=this._sceneObjRefs.get(s);l?(l.push(r),l.length>0&&console.warn(`同时存在多个ref${s}相同的场景对象!
|
|
22
22
|
${l.map(h=>`${h.id} ${h.typeName}
|
|
23
23
|
`).join(" ")}`)):this._sceneObjRefs.set(s,[r]);const u=this.getLastSceneObject(s);this._refs[s]=u,this._refsChanged.emit(u,a)}};this.d(e.sceneObjCreatedEvent.don(r=>{const s=(o,a)=>i(r,o,a);r.ref&&s(r.ref,void 0),r.refChanged.don(s)})),this.d(e.sceneObjToDestroyEvent.don(r=>{r.ref&&i(r,void 0,r.ref)}))}get sceneObjRefs(){return this._sceneObjRefs}get refs(){return this._refs}get refsChanged(){return this._refsChanged}getLastSceneObject(e){const i=this.getSceneObjects(e);if(i)return i[i.length-1]}getSceneObjects(e){const i=this._sceneObjRefs.get(e);if(!(!i||i.length===0))return i}}class iE extends V{constructor(){super();f(this,"_esObjConstructors",new Map);f(this,"_sceneObjs",new Map);f(this,"_sceneObjCreatedEvent",new I);f(this,"_sceneObjToDestroyEvent",new I);f(this,"_refsManager",this.dv(new nE(this)));f(this,"_environmentVariables",window.ESSDK_ENV||{});f(this,"_environmentVariablesChanged",this.dv(new I))}get typeNames(){return this._esObjConstructors.keys()}get sceneObjs(){return this._sceneObjs.values()}get sceneObjCreatedEvent(){return this._sceneObjCreatedEvent}get sceneObjToDestroyEvent(){return this._sceneObjToDestroyEvent}get refsManager(){return this._refsManager}get $refs(){return this._refsManager.refs}register(e,i,r){return this._esObjConstructors.has(e)&&console.warn(`register warn: ${e} has registered ! will be override!`),this._esObjConstructors.set(e,i),r&&wr(i,"__sceneObjExtraInfo",r),e}_addSceneObject(e){this._sceneObjs.set(e.id,e),this._sceneObjCreatedEvent.emit(e),e.d(()=>this._deleteSceneObject(e))}addSceneObject(e){this._addSceneObject(e)}_deleteSceneObject(e){this._sceneObjToDestroyEvent.emit(e),this._sceneObjs.delete(e.id)}deleteSceneObject(e){this._deleteSceneObject(e)}createSceneObjectFromClass(e,i){if(!i||this._sceneObjs.has(i)){const s=fa();i&&console.warn(`已存在相同id的对象!id自动变更!${i} -> ${s} 请注意:id变更可能导致引用失效!`),i=s}if(!i)throw new Error("id不能为空!");const r=new e(i);return r.id!==i&&(console.warn(`sceneObj.id(${r.id}) !== id(${i}) sceneObjectType: ${r.typeName}`),console.warn("出现这种问题有可能是自定义的场景对象,没有在构造函数中传递id参数!示例如下:"),console.warn("class XXX extends XXX { constructor(id) { super(id); } }")),this._addSceneObject(r),r}createSceneObject(e,i){if(typeof e=="string"){const r=this._getSceneObjConstructor(e);if(!r){console.warn(`Cannot find SceneObjectType: ${e}`);return}return this.createSceneObjectFromClass(r,i)}else return this.createSceneObjectFromClass(e,i)}createSceneObjectFromUrl(e,i){let r;const s=e.toLowerCase();if(s.includes(".gltf")||s.includes(".glb")?r="ESGltfModel":s.includes("tileset.json")?r="ES3DTileset":s.includes("layer.json")||s.includes("ion://1")?r="ESTerrainLayer":s.includes(".jpg")||s.includes(".png")||s.includes(".jpeg")||s.includes(".webp")||s.includes("image/jpg")||s.includes("image/png")||s.includes("image/jpeg")||s.includes("image/webp")?r="ESImageLabel":(s.includes("/tilemapresource.xml")||s.includes("ion://")||s.includes("wms")||s.includes("wmts")||s.includes("{x}")||s.includes("{y}")||s.includes("{z}"))&&(r="ESImageryLayer"),!!r)return this.createSceneObjectFromJson({type:r,id:i,url:e})}createSceneObjectFromJson(e){const i=this.createSceneObject(e.type,e.id);return i&&(i.json=e),i}destroySceneObject(e){return this._deleteSceneObject(e),e.destroy(),e.isDestroyed()}getSceneObjectById(e){return this._sceneObjs.get(e)}getSceneObject(e){if(!e&&e!="")return Array.from(this._sceneObjs.values());if(e.startsWith("ES")){const i=[];for(const r of this._sceneObjs.values())r.typeName===e&&i.push(r);return i}else return this._sceneObjs.get(e)}_getSceneObjConstructor(e){const i=this._esObjConstructors.get(e);if(i)return i}getProps(e){const i=this._getSceneObjConstructor(e);if(!i){console.warn(`cannot get constructor from type: ${e}`);return}return Zn(i,"__sceneObjExtraInfo")}setProps(e,i){const r=this._getSceneObjConstructor(e);if(!r){console.warn(`cannot get constructor from type: ${e}`);return}let s=Zn(r,"__sceneObjExtraInfo");s||(s={},wr(r,"__sceneObjExtraInfo",s)),Object.assign(s,i)}getProp(e,i){const r=this.getProps(e);return r&&r[i]}setProp(e,i,r){this.setProps(e,{[i]:r})}get environmentVariables(){return this._environmentVariables}set environmentVariables(e){for(let[i,r]of Object.entries(e))this.setEnv(i,r)}get environmentVariablesChanged(){return this._environmentVariablesChanged}setEnv(e,i){if(this._environmentVariables[e]!==i){const r=this._environmentVariables[e];this._environmentVariables[e]=i,this._environmentVariablesChanged.emit(e,i,r)}window.ESSDK_ENV={...this._environmentVariables}}getEnv(e){return this._environmentVariables[e]}getStrFromEnv(e){return Qm(e)}createEnvStrReact(e,i){return $m(e,i)}createEvnStrReact(e,i){return $m(e,i)}}const gt=class gt extends V{constructor(e){super();f(this,"_components",this.dv(new Bh));f(this,"_viewerAttached",this.dv(new I));f(this,"_viewerDetached",this.dv(new I));f(this,"_attachedViewers",(()=>{const e=new Set;return this.d(this._viewerAttached.don(i=>{i.actived&&(this.activeViewer=i),i.ad(i.activedChanged.don(r=>{r&&e.has(i)&&(this.activeViewer=i)})),e.add(i)})),this.d(this._viewerDetached.don(i=>{e.delete(i),this.activeViewer==i&&(this.activeViewer=void 0)})),e})());f(this,"_activeViewer",this.disposeVar(B(void 0)));f(this,"_createdEvent",this.dv(new I));f(this,"_flushEvent",this.dv(new I));f(this,"_id");f(this,"_updateFuncReact",this.dv(B(void 0)));f(this,"_toDestroyFuncReact",this.dv(B(void 0)));f(this,"_parentID");e!==void 0&&(typeof e!="string"?console.warn(`对象id必须是字符串类型,当前id的类型是${typeof e},值为${e}`):e.trim()===""?console.warn("场景对象创建时的id不能是空字符串!"):e.trim()!==e&&console.warn(`id前后有空字符串!id: ${e}`)),this._id=e??fa(),this._initName();{const i=()=>{if(this.execOnceFuncStr)try{Function(`"use strict";return (${this.execOnceFuncStr})`)()(this)}catch(r){console.warn(`execOnceFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${r}`)}};i(),this.d(this.execOnceFuncStrChanged.don(i))}{const i=()=>{if(this.updateFuncStr)try{this.updateFunc=Function(`"use strict";return (${this.updateFuncStr})`)()}catch(s){console.warn(`updateFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`)}};i(),this.d(this.updateFuncStrChanged.don(i));let r;this.d(()=>r&&r.destroy()),this.d(this.updateFuncChanged.don(()=>{r&&r.cancel(),this.updateFunc&&(r=r||su(),r.restart(void 0,s=>{this.updateFunc&&this.updateFunc(this,s)}))}))}{const i=()=>{try{this.toDestroyFunc=this.toDestroyFuncStr&&Function(`"use strict";return (${this.toDestroyFuncStr})`)()||void 0}catch(r){console.warn(`toDestroyFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${r}`),this.toDestroyFunc=void 0}};i(),this.d(this.toDestroyFuncStrChanged.don(i)),this.d(this.toDestroyEvent.don(()=>{this.toDestroyFunc&&this.toDestroyFunc(this)}))}}static getParentClass(){return Object.getPrototypeOf(this)}static register(e,i,r){ts(i.prototype,i.createDefaultProps);const s=i.createDefaultProps();i.defaults&&(i.defaults={});for(const o of Object.keys(s))i.defaults[o]=s[o]instanceof Ue?s[o].value:s[o];return this.innerRegister(e,i,r),e}static get envs(){return gt.context.environmentVariables}static get $refs(){return gt.context.refsManager.refs}get components(){return this._components}get viewerAttached(){return this._viewerAttached}get viewerDetached(){return this._viewerDetached}get attachedViewers(){return this._attachedViewers}get activeViewer(){return this._activeViewer.value}set activeViewer(e){this._activeViewer.value=e}get activeViewerChanged(){return this._activeViewer.changed}removefromViewer(e){this.attachedViewers.has(e)&&e.delete(this)}addToViewer(e){this.attachedViewers.has(e)||e.add(this)}registerAttachedObject(e){const i=new Map;this.d(()=>{i.size>0&&console.warn("viewerPropSceneObjects.size > 0")}),this.d(this._viewerAttached.don(r=>{const s=e(r);s&&i.set(r,s)})),this.d(this._viewerDetached.don(r=>{if(!i.has(r))return;const s=i.get(r);s&&(s.destroy(),i.delete(r))}))}createAttachedObject(e){const i=new Map,r=(()=>{for(let[l,u]of i.entries())u.destroy();i.clear()}),s=l=>{const u=e(l);u&&i.set(l,u)};for(let l of this.attachedViewers)s(l);const o=this._viewerAttached.don(s),a=this._viewerDetached.don(l=>{if(!i.has(l))return;const u=i.get(l);u&&(u.destroy(),i.delete(l))});return()=>{a(),o(),r()}}registerAttachedObjectForContainer(e){this.registerAttachedObject(i=>new rE(i,e))}get createdEvent(){return this._createdEvent}get flushEvent(){return this._flushEvent}flush(){this.flushEvent.emit()}get id(){return this._id}get typeName(){return this.constructor.type}_initName(){this.name=`${this.typeName}_${(""+this.id).slice(-4)}`}get defaultProps(){return this.constructor.createDefaultProps()}_innerGetJson(e=!0){const i={id:this.id,type:this.typeName};for(let r of Object.keys(this.defaultProps))if(e){let s,o=this.defaultProps[r];o instanceof Ue?s=o.equals(this[r]):s=o===this[r],s||(i[r]=this[r])}else i[r]=this[r];return i}_innerSetJson(e,i,r){if(!(e instanceof Object)||e.type&&e.type!==this.typeName){console.error(`value.type && value.type${e.type} !== this.typeName${this.typeName}`);return}e.id&&e.id!==this.id&&console.warn(`value.id === undefined || value.id${e.id} !== this.id(${this.id})`);const s=i||[];s.push("id","type");const o=Object.keys(this.defaultProps).filter(a=>!s.includes(a));for(let a of o)if(a in e)this[a]=e[a]===null?void 0:e[a];else if(!(r??!1)){let l=this.defaultProps[a];l instanceof Ue&&(l=l.value),this[a]=l}}get json(){return this._innerGetJson()}set json(e){this._innerSetJson(e)}get _jsonStr(){return JSON.stringify(this.json,null,4)}set _jsonStr(e){this._innerSetJson(JSON.parse(e))}get updateFunc(){return this._updateFuncReact.value}set updateFunc(e){this._updateFuncReact.value=e}get updateFuncChanged(){return this._updateFuncReact.changed}get toDestroyFunc(){return this._toDestroyFuncReact.value}set toDestroyFunc(e){this._toDestroyFuncReact.value=e}get toDestroyFuncChanged(){return this._toDestroyFuncReact.changed}get parentID(){return this._parentID??this.id}set parentID(e){this._parentID=e}getProperties(e){const i={...this.getESProperties()},r=[];return i.general.length>0&&r.push(new at(i.general,"general")),Object.keys(i).forEach(s=>{s!=="defaultMenu"&&s!=="general"&&i[s].length>0&&r.push(new at(i[s],s))}),r}getESProperties(){return{defaultMenu:"general",basic:[],general:[new ct([this,"typeName"],"类型",void 0,!1,!0),new ct([this,"id"],"唯一标识",void 0,!1,!0),new ct([this,"name"],"名称")],dataSource:[],location:[],coordinate:[],style:[],more:[new ct([this,"ref"],"ref",void 0,!0),new tt([this,"extras"],"extras",void 0,void 0,!0),new nv(()=>this._jsonStr,e=>e&&(this._jsonStr=e),"JSON")]}}};f(gt,"context",new iE),f(gt,"innerRegister",gt.context.register.bind(gt.context)),f(gt,"defaults",{}),f(gt,"createDefaultProps",()=>({name:"未命名场景对象",ref:void 0,extras:mt(void 0),devTags:ee(void 0),execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0})),f(gt,"type",gt.register("ESSceneObject",gt,{chsName:"场景类",tags:["ESObjects"],description:""})),f(gt,"create",gt.context.createSceneObject.bind(gt.context)),f(gt,"createFromUrl",gt.context.createSceneObjectFromUrl.bind(gt.context)),f(gt,"createFromClass",gt.context.createSceneObjectFromClass.bind(gt.context)),f(gt,"createFromJson",gt.context.createSceneObjectFromJson.bind(gt.context)),f(gt,"destroySceneObject",gt.context.destroySceneObject.bind(gt.context)),f(gt,"getSceneObjById",gt.context.getSceneObjectById.bind(gt.context)),f(gt,"getSceneObj",gt.context.getSceneObject.bind(gt.context)),f(gt,"getEnv",gt.context.getEnv.bind(gt.context)),f(gt,"setEnv",gt.context.setEnv.bind(gt.context)),f(gt,"getStrFromEnv",gt.context.getStrFromEnv.bind(gt.context)),f(gt,"getSceneObjectById",gt.context.getSceneObjectById.bind(gt.context)),f(gt,"getSceneObject",gt.context.getSceneObject.bind(gt.context));let Z=gt;class rE extends V{constructor(t,e){super(),this.dv(new ve(t.subContainerChanged,()=>{if(t.subContainer)return e(t,t.subContainer)}))}}const ud=class ud extends V{constructor(e,i){super();f(this,"_id",++ud._accumId);this._name=e,this._description=i}get id(){return this._id}get name(){return this._name}get description(){return this._description}};f(ud,"_accumId",-1);let Ds=ud;class Yd extends Ds{constructor(t,e,i,r,s){super(t,e),this._withUndefined=i,this._readonly=r,this._defaultValue=s}get withUndefined(){return this._withUndefined}get readonly(){return this._readonly}get defaultValue(){return this._defaultValue instanceof Function?this._defaultValue():this._defaultValue}}class Ct extends Yd{constructor(t,e,i,r,s,o){const a=t instanceof Ue?"未获取到属性名":t[1].toString();super(e??a,o??a,r??!1,s??!1,i),this._reactVar=t}get reactVar(){return this._reactVar}}class X extends Ct{get type(){return"BooleanProperty"}}class ct extends Ct{get type(){return"StringProperty"}}class N extends Ct{get type(){return"NumberProperty"}}class sE extends Ct{get type(){return"MaximumScreenSpaceErrorProperty"}}class Km extends Ct{get type(){return"StringsProperty"}}class oE extends Ct{get type(){return"NumbersProperty"}}class aE extends Ct{get type(){return"BooleansProperty"}}class lE extends Ct{get type(){return"String2Property"}}class uE extends Ct{get type(){return"String3Property"}}class hE extends Ct{get type(){return"String4Property"}}class Zm extends Ct{get type(){return"String2sProperty"}}class cE extends Ct{get type(){return"String3sProperty"}}class dE extends Ct{get type(){return"String4sProperty"}}class Fe extends Ct{get type(){return"Number2Property"}}class cn extends Ct{get type(){return"Number3Property"}}class Wi extends Ct{get type(){return"Number4Property"}}class fE extends Ct{get type(){return"Number4WithUndefinedProperty"}}class tv extends Ct{get type(){return"Number2sProperty"}}class Jd extends Ct{get type(){return"Number3sProperty"}}class gE extends Ct{get type(){return"Number4sProperty"}}class pE extends Ct{get type(){return"Boolean2Property"}}class mE extends Ct{get type(){return"Boolean3Property"}}class vE extends Ct{get type(){return"Boolean4Property"}}class yE extends Ct{get type(){return"Boolean2sProperty"}}class _E extends Ct{get type(){return"Boolean3sProperty"}}class wE extends Ct{get type(){return"Boolean4sProperty"}}class EE extends Ct{get type(){return"StringNumberProperty"}}class CE extends Ct{get type(){return"StringNumbersProperty"}}class Pt extends Wi{get type(){return"ColorProperty"}}class SE extends cn{get type(){return"ColorRgbProperty"}}class bE extends N{get type(){return"DashPatternProperty"}}class wt extends Ct{constructor(t,e,i,r,s,o,a){super(t,i,r,s,o,a),this._enums=e}get type(){return"EnumProperty"}get enums(){return this._enums}}class PE extends Ct{constructor(t,e,i,r,s,o,a){super(t,i,r,s,o,a),this._enums=e}get type(){return"EnumStringsProperty"}get enums(){return this._enums}}class Rs extends Ct{constructor(t,e,i,r,s,o,a){super(t,e,i,s,o,a),this._sampleValue=r}get sampleValue(){return this._sampleValue}get type(){return"EvalStringProperty"}}class ev extends Ct{constructor(t,e,i,r,s){super(t,e,r,!1,!1,s),this._paramTypes=i}get type(){return"ParamsProperty"}get paramTypes(){return this._paramTypes}}class lt extends Ds{constructor(e,i,r,s,o){const a=s??"Unnamed Function";super(a,o??a);f(this,"_paramsProperty");f(this,"_getValueFunc");this._func=i;const l=this.disposeVar(mt(r));this._paramsProperty=this.disposeVar(new ev(l,a+"_params",e,r));const[u]=Zr(this._paramsProperty.reactVar);this._getValueFunc=u}get paramsProperty(){return this._paramsProperty}exec(){this._func(...this._getValueFunc())}get type(){return"FunctionProperty"}}class at extends Ds{constructor(t,e,i){const r=e??"分组";super(r,i??r),this._children=t}get type(){return"GroupProperty"}get children(){return this._children}}class tt extends Ct{constructor(t,e,i,r,s,o,a){super(t,e,i,s,o,a),this._sampleValue=r}get sampleValue(){return this._sampleValue}get type(){return"JsonProperty"}}class $d extends Ct{constructor(t,e,i,r,s,o,a){super(t,e,i,s,o,a),this._sampleValue=r}get sampleValue(){return this._sampleValue}get type(){return"LongStringProperty"}}class IE extends Fe{get type(){return"MinmaxProperty"}}class xE extends Wi{get type(){return"NearFarScalerProperty"}}class nv extends Yd{constructor(t,e,i,r,s,o,a){const l=i??"非响应式Json";super(l,a??l,s??!1,o??!1,r),this._getJsonStringFunc=t,this._setJsonStringFunc=e}get type(){return"NonreactiveJsonStringProperty"}get getJsonStringFunc(){return this._getJsonStringFunc}get setJsonStringFunc(){return this._setJsonStringFunc}}class ME extends Fe{get type(){return"NumberRangeProperty"}}class Ge extends Ct{constructor(t,e,i,r,s,o,a,l){super(t,r,s,o,a,l),this._step=e,this._minMax=i}get type(){return"NumberSliderProperty"}get minMax(){return this._minMax}get step(){return this._step}}function TE(n,t){const[e,i,r]=Zr(n),[s,o,a]=Zr(t),l=B((e()??0)/(s()??3e3)),u=()=>{const h=l.value,c=s()??3e3,d=e()??0;if(!Number.isFinite(c)||!Number.isFinite(d)){console.warn(`duration || currentTime error: duration: ${c} currentTime: ${d}`);return}Math.abs(h*c-d)<.001||(c<=0?l.value=0:l.value=d/c)};return l.dispose(r.disposableOn(u)),l.dispose(a.disposableOn(u)),l.dispose(l.changed.disposableOn(()=>{const h=l.value,c=s()??3e3,d=e()??0;if(!Number.isFinite(c)||!Number.isFinite(d)){console.warn(`duration || currentTime error: duration: ${c} currentTime: ${d}`);return}Math.abs(h*c-d)<.001||i(h*c)})),l}class Vh extends Ds{constructor(e,i,r,s,o,a){super(s??"播放器",a??"播放器");f(this,"_defaults",{playing:!1,ratio:0,loop:!1});this._playingReact=e,this._ratioReact=i,this._loopReact=r,o&&(this._defaults.playing=o.playing??this._defaults.playing,this._defaults.ratio=o.ratio??this._defaults.ratio,this._defaults.loop=o.loop??this._defaults.loop)}get type(){return"PlayerProperty"}get playingReact(){return this._playingReact}get ratioReact(){return this._ratioReact}get loopReact(){return this._loopReact}get defaults(){return this._defaults}}f(Vh,"createPlayingRatio",TE);class Ea extends cn{get type(){return"PositionProperty"}}class iv extends Ct{get type(){return"PositionsProperty"}}class NE extends Ct{get type(){return"PositionsSetPropety"}}class Qd extends cn{get type(){return"RotationProperty"}}class cu extends ct{get type(){return"UriProperty"}}class rv extends Ds{constructor(e,i,r,s,o,a){const l=s??"视角播放器";super(l,a??l);f(this,"_defaults",{playing:!1,loop:!1});this._playingReact=e,this._stopFn=i,this._loopReact=r,o&&(this._defaults.playing=o.playing??this._defaults.playing,this._defaults.loop=o.loop??this._defaults.loop)}get type(){return"ViewPlayerProperty"}get playingReact(){return this._playingReact}get loopReact(){return this._loopReact}get stopFn(){return this._stopFn}get defaults(){return this._defaults}}class sv extends Ct{get type(){return"DatesProperty"}}class wo extends Ct{get type(){return"DateProperty"}}var et=(n=>(n.Place="place",n.Translation="translation",n.Rotation="rotation",n.Scale="scale",n.DoublePointsAppend="doublePointsAppend",n.DoublePointsModify="doublePointsModify",n.CircularAppend="circularAppend",n.CircularInsert="circularInsert",n.LineStringAppend="lineStringAppend",n.LineStringInsert="lineStringInsert",n.ScatterAppend="scatterAppend",n.ScatterModify="scatterModify",n.VisibilityAppend="visibilityAppend",n.VisibilityModify="visibilityModify",n.HeightModify="heightModify",n))(et||{}),ov=(n=>(n.DECIMAL_DEGREE="DECIMAL_DEGREE",n.DEGREES_DECIMAL_MINUTES="DEGREES_DECIMAL_MINUTES",n.SEXAGESIMAL_DEGREE="SEXAGESIMAL_DEGREE",n))(ov||{});class OE{constructor(t){this.childPickedInfo=t}}class DE{constructor(t,e,i,r,s,o){this.pickResult=t,this.sceneObject=e,this.tilesetPickInfo=i,this.geojsonPickInfo=r,this.attachedInfo=s,this.screenPosition=o}assign(t){t!=null&&t.pickedResult&&(this.pickResult=t.pickedResult),t!=null&&t.sceneObject&&(this.sceneObject=t.sceneObject),t!=null&&t.tilesetPickInfo&&(this.tilesetPickInfo=t.tilesetPickInfo),t!=null&&t.geojsonPickInfo&&(this.geojsonPickInfo=t.geojsonPickInfo),t!=null&&t.attachedInfo&&(this.attachedInfo=t.attachedInfo),t!=null&&t.screenPosition&&(this.screenPosition=t.screenPosition)}}const me=class me extends Z{constructor(e){super(e);f(this,"_editing",this.dv(B(!1)));f(this,"editingID");f(this,"editingBindMode","singlePoint");f(this,"_deprecated",[]);f(this,"_flyInEvent",this.dv(new I));f(this,"_flyToEvent",this.dv(new I));f(this,"_flyOverEvent",this.disposeVar(new I));f(this,"_pickedEvent",this.dv(new I));f(this,"_calcFlyToParamEvent",this.dv(new I));f(this,"_calcFlyInParamEvent",this.dv(new I));f(this,"useCalcFlyToParamInESObjectWithLocation",!1);cv(this,this.updateEditing)}supportEditingModes(){return this.constructor.supportEditingModes}get editing(){return this._editing.value}set editing(e){this._editing.value=e}get editingChanged(){return this._editing.changed}updateEditing(){}_deprecatedWarning(){const e=this._deprecated;for(let i=0;i<e.length;i++){const r=e[i];typeof r=="string"?Reflect.has(this,r+"Changed")&&this.d(this[r+"Changed"].don(()=>{console.warn(`注意:${this.typeName} 的 ${r} 属性下版本将会被移除!`)})):Object.keys(r).forEach(s=>{Reflect.has(this,s+"Changed")&&this.d(this[s+"Changed"].don(a=>{const l=r[s];typeof l=="string"?console.warn(`注意:${this.typeName} 的 ${s} 属性下版本将会被移除!`):Object.keys(l).forEach((u=>{a===u&&console.warn(`注意:${this.typeName} 的 ${s} 属性值 ${u} 下版本将会被移除,推荐使用属性值 ${l[u]}`)}))}))})}}get flyInEvent(){return this._flyInEvent}flyIn(e=1){this._flyInEvent.emit(e,me._lastFlyInId)}get flyToEvent(){return this._flyToEvent}flyTo(e=1){this._flyToEvent.emit(e,me._lastFlyToId)}get flyOverEvent(){return this._flyOverEvent}get pickedEvent(){return this._pickedEvent}get calcFlyToParamEvent(){return this._calcFlyToParamEvent}calcFlyToParam(){this._calcFlyToParamEvent.emit()}get calcFlyInParamEvent(){return this._calcFlyInParamEvent}calcFlyInParam(){this._calcFlyInParamEvent.emit()}emptyFlyToParam(){this.flyToParam=void 0}emptyFlyInParam(){this.flyInParam=void 0}async getBoundSphere(e){return await e.getBoundSphere(this.id)}getESProperties(){const e={...super.getESProperties()};return{...e,general:[...e.general,new X([this,"show"],"是否显示",me.defaults.show),new X([this,"collision"],"开启碰撞",me.defaults.collision),new X([this,"allowPicking"],"允许拾取",me.defaults.allowPicking),new lt([],()=>this.calcFlyToParam(),[],"保存观察视角","保存当前flyToParam"),new lt([],()=>this.emptyFlyToParam(),[],"清空飞向参数","清空飞向参数"),new lt([],()=>this.emptyFlyInParam(),[],"清空飞入参数","清空飞入参数"),new lt([],()=>this.calcFlyInParam(),[],"保存飞入参数","保存飞入参数flyInParam")],more:[...e.more,new at([],"飞行定位","飞向参数"),new lt(["number"],i=>this.flyTo(i),[1],"飞向"),new tt([this,"flyToParam"],"flyToParam",void 0,void 0,!0),new N([this,"flyToDistance"],"flyToDistance",void 0,!0),new N([this,"flyToHeading"],"flyToHeading",void 0,!0),new N([this,"flyToPitch"],"flyToPitch",void 0,!0),new N([this,"flyToFlyDuration"],"flyToFlyDuration",void 0,!0),new N([this,"flyToHDelta"],"flyToHDelta",void 0,!0),new N([this,"flyToPDelta"],"flyToPDelta",void 0,!0),new at([],"飞入参数"),new lt(["number"],i=>this.flyIn(i),[1],"飞入"),new tt([this,"flyInParam"],"flyInParam",void 0,void 0,!0)]}}get flyToDistance(){return this.flyToParam&&this.flyToParam.distance}get flyToHeading(){return this.flyToParam&&this.flyToParam.heading}get flyToPitch(){return this.flyToParam&&this.flyToParam.pitch}get flyToFlyDuration(){return this.flyToParam&&this.flyToParam.flyDuration}get flyToHDelta(){return this.flyToParam&&this.flyToParam.hDelta}get flyToPDelta(){return this.flyToParam&&this.flyToParam.pDelta}get flyToDistanceChanged(){return this.flyToParamChanged}get flyToHeadingChanged(){return this.flyToParamChanged}get flyToPitchChanged(){return this.flyToParamChanged}get flyToFlyDurationChanged(){return this.flyToParamChanged}get flyToHDeltaChanged(){return this.flyToParamChanged}get flyToPDeltaChanged(){return this.flyToParamChanged}set flyToDistance(e){this.flyToParam=e!==void 0?{...this.flyToParam??me.defaultFlyToParam,distance:e}:void 0}set flyToHeading(e){this.flyToParam=e!==void 0?{...this.flyToParam??me.defaultFlyToParam,heading:e}:void 0}set flyToPitch(e){this.flyToParam=e!==void 0?{...this.flyToParam??me.defaultFlyToParam,pitch:e}:void 0}set flyToFlyDuration(e){this.flyToParam=e!==void 0?{...this.flyToParam??me.defaultFlyToParam,flyDuration:e}:void 0}set flyToHDelta(e){this.flyToParam=e!==void 0?{...this.flyToParam??me.defaultFlyToParam,hDelta:e}:void 0}set flyToPDelta(e){this.flyToParam=e!==void 0?{...this.flyToParam??me.defaultFlyToParam,pDelta:e}:void 0}};f(me,"createDefaultProps",()=>({...Z.createDefaultProps(),show:!0,collision:!0,allowPicking:!1,flyToParam:Yt(void 0),flyInParam:Yt(void 0)})),f(me,"type",me.register("ESVisualObject",me,{chsName:"可视化对象",tags:["ESObjects"],description:"可视化对象"})),f(me,"supportEditingModes",[]),f(me,"defaultFlyToParam",{distance:0,heading:0,pitch:0,flyDuration:1,hDelta:0,pDelta:0}),f(me,"defaultFlyInParam",{position:[0,0,0],rotation:[0,0,0],flyDuration:1}),f(me,"_lastFlyInId",0),f(me,"_lastFlyToId",0);let jt=me;class av extends V{constructor(){super();f(this,"_data",this.dv(B(void 0)))}set data(e){this._data.value=e}get data(){return this._data.value}get dataChanged(){return this._data.changed}}class lv extends V{constructor(){super(...arguments);f(this,"_dragStartEvent",this.dv(new I));f(this,"_dragOverEvent",this.dv(new I));f(this,"_dragLeaveEvent",this.dv(new I));f(this,"_dropEvent",this.dv(new I))}dragStart(e){this._dragStartEvent.emit(e)}dragOver(e){this._dragOverEvent.emit(e)}dragLeave(e){this._dragLeaveEvent.emit(e)}drop(e){this._dropEvent.emit(e)}}function RE(n,t){t&&(Reflect.has(t,"editing")?t.editing=!0:Reflect.has(t,"positionEditing")&&(t.positionEditing=!0))}function AE(n){["Czm3DTiles","View","ESCameraView","OlView","GeoCameraController"].includes(n.typeName)||(Reflect.has(n,"editing")?n.editing=!0:Reflect.has(n,"positionEditing")&&(n.positionEditing=!0)),typeof n.execOnCreating=="function"&&n.execOnCreating()}function zh(n,t){Zn(n,"__treeItem")&&console.error("setSceneObjectTreeItem error!"),wr(n,"__treeItem",t)}function LE(n){return Zn(n,"__treeItem")}function FE(n){if(!(n.startsWith("./")||n.startsWith("../")||n.startsWith("/")))return n;const t=document.createElement("a");t.href=n;const e=t.href;return t.remove(),e}function Kd(n){if(typeof n!="string")return!1;try{const t=JSON.parse(n);return typeof t=="object"&&t!==null}catch{return!1}}function kE(n){try{return new DOMParser().parseFromString(n,"application/xml").getElementsByTagName("parsererror").length===0}catch{return!1}}function BE(n){return n instanceof Function?n():n}function uv(n,t){for(let e of n)if(t.includes(e))return!0;return!1}function is(n,t){const e=n,i=t;return e===void 0||e.length===0||i===void 0||i.length===0?!0:uv(e,i)}function VE(n){const t=setTimeout(()=>{n(),clearTimeout(t)})}function Ca(n){let t=n%360;return t=t<0?360+t:t,t}function hv(n){return Ca(n+180)-180}function jh(n,t,e){let i=Ca(n),r=Ca(t);Math.abs(i-r)>180&&(i<r?i+=360:r+=360);const s=i*(1-e)+r*e;return hv(s)}function Zd(n,t,e,i){return i=i||[0,0,0],i[0]=jh(n[0],t[0],e),i[1]=jh(n[1],t[1],e),i[2]=jh(n[2],t[2],e),i}function cv(n,t,e="editing"){const i=new V;n.ad(i);const r=t.bind(n);return i.ad(new ve(n.activeViewerChanged,()=>{const s=new V;let o=n.activeViewer;return o?(s.ad(n[`${e}Changed`].don(()=>{var a;n[`${e}`]?r():(a=(n.components.main??n).editingID)!=null&&a.includes("inner")&&n.activeViewer&&n.activeViewer.stopEditing()})),s.ad(o.editingEvent.don(a=>{if(a.objectIDs.includes(n.id)&&a.type==="end"){const l=n.components.main??n;l.editingID&&a.editingID.includes(l.editingID)?n[`${e}`]=!1:n[`${e}`]=!l.editingID.includes("outer")}}))):s.ad(n[`${e}Changed`].don(()=>{n[`${e}`]=!1})),s})),n[`${e}`]&&r(),i}class tf extends V{constructor(e){super();f(this,"_sceneObject",this.dv(B(void 0)));this._id=e,this.d(()=>{this._sceneObject.value=void 0});const i=Z.getSceneObjById(this._id);i&&(this._sceneObject.value=i),this.d(Z.context.sceneObjCreatedEvent.don(r=>{r.id===this._id&&(this._sceneObject.value=r)})),this.d(Z.context.sceneObjToDestroyEvent.don(r=>{r.id===this._id&&(this._sceneObject.value=void 0)}))}get sceneObject(){return this._sceneObject.value}get sceneObjectChanged(){return this._sceneObject.changed}get id(){return this._id}}class zE extends V{constructor(e,i){super();f(this,"_sofi");this._id=e,this._sofi=this.dv(new tf(this._id));{const r=()=>{i.sceneObject=this._sofi.sceneObject};r(),this.d(this._sofi.sceneObjectChanged.don(r))}}}class dv extends V{constructor(){super();f(this,"_id",this.dv(B(void 0)));f(this,"_sceneObject",this.dv(B(void 0)));f(this,"_resetting",this.dv(new ve(this.idChanged,()=>{const{id:e}=this;if(e===void 0||e===""){this.sceneObject=void 0;return}return new zE(e,this)})))}get id(){return this._id.value}get idChanged(){return this._id.changed}set id(e){this._id.value=e}get sceneObject(){return this._sceneObject.value}get sceneObjectChanged(){return this._sceneObject.changed}set sceneObject(e){this._sceneObject.value=e}get resetting(){return this._resetting}}class jE extends V{constructor(e,i,r,s){super();f(this,"_sceneObjectId",this.dv(new dv));this._id=e,this._startTimeStamp=i,this._duration=r,this._parent=s,this._sceneObjectId.id=this._id;const o=()=>{if(!this.player)return;const{currentTime:a=0}=this._parent,l=a-this._startTimeStamp;this.player.currentTime=Dh(l,0,this._duration)*(this.player.speed??1)};o(),this.d(this._parent.currentTimeChanged.don(o)),this.d(this.playerChanged.don(o))}get player(){return this._sceneObjectId.sceneObject instanceof Hi?this._sceneObjectId.sceneObject:void 0}get playerChanged(){return this._sceneObjectId.sceneObjectChanged}}const UE=`
|
|
24
24
|
用来配置子播放器,它是一个数组形式,数组的每个元素仍然是一个数组,形式是[子播放器的ID, 起始时间, 持续时间]。
|
|
@@ -309,7 +309,7 @@ export type ESJTimeIntervalCollectionJsonType = {
|
|
|
309
309
|
};
|
|
310
310
|
|
|
311
311
|
\`\`\`
|
|
312
|
-
`,pr=class pr extends rt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new N([this,"size"],"尺寸",pr.defaults.size),new X([this,"autoFollow"],"自动跟随",pr.defaults.autoFollow),new wt([this,"mode"],pr.modes,"模式","blueSky")],more:[...t.more,new N([this,"autoOpacityFactor"],"自动消失系数",pr.defaults.autoOpacityFactor)]}}};f(pr,"createDefaultProps",()=>({...rt.createDefaultProps(),size:1e4,autoFollow:!0,autoOpacityFactor:2,mode:"blueSky",collision:!1,allowPicking:!1})),f(pr,"type",pr.register("ESLocalSkyBox",pr,{chsName:"局部天空盒",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"效果类"})),f(pr,"modes",[["baiyun","baiyun"],["blueSky","blueSky"],["clearSky","clearSky"],["dream","dream"],["starrySky","starrySky"],["sunnySky","sunnySky"],["sunSets","sunSets"]]);let Vg=pr;const _h=class _h extends rt{constructor(e){super(e);f(this,"_location",this.disposeVar(B(void 0)));{const i=()=>{this.location=this.position};i(),this.ad(this.positionChanged.don(i))}}get location(){return this._location.value}set location(e){this._location.value=e}get locationChanged(){return this._location.changed}};f(_h,"type",_h.register("ESLocationMeasurement",_h,{chsName:"位置测量点",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE","_ES_Impl_Ol"],description:"位置测量点"}));let zg=_h;const hn=class hn extends rt{constructor(e){super(e);f(this,"_player",this.dv(new Hi));{const i=hn.defaults;this.d(nt([this._player,"loop"],[this,"playingLoop"],r=>r??i.playingLoop,r=>r??i.playingLoop)),this.d(nt([this._player,"currentTime"],[this,"currentTime"],r=>r??i.currentTime,r=>r??i.currentTime)),this.d(nt([this._player,"duration"],[this,"duration"],r=>r??i.duration,r=>r??i.duration)),this.d(nt([this._player,"playing"],[this,"playing"],r=>r??i.playing,r=>r??i.playing)),this.d(nt([this._player,"speed"],[this,"playingSpeed"],r=>r??i.playingSpeed,r=>r??i.playingSpeed))}}get player(){return this._player}get ratio(){return this._player.ratio}set ratio(e){this._player.ratio=e}get ratioChanged(){return this._player.ratioChanged}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new at([],"通用","通用"),new lt(["number"],i=>this.flyTo(i),[1e3],"飞入"),new Rs([this,"updateCallback"],"更新回调函数",void 0,void 0,!0),new N([this,"emissionRate"],"发射率",5,!0),new X([this,"loop"],"是否循环",!0,!0),new N([this,"particleScale"],"等级",1,!0),new N([this,"startScale"],"初始等级",void 0,!0),new N([this,"endScale"],"结束等级",hn.defaults.endScale,!0),new Pt([this,"color"],"颜色",void 0,!0),new Pt([this,"startColor"],"初始颜色",void 0,!0),new Pt([this,"endColor"],"结束颜色",void 0,!0),new X([this,"sizeInMeters"],"尺寸单位为米",void 0,!0),new N([this,"speed"],"速度",1,!0),new N([this,"minimumSpeed"],"最小速度",void 0,!0),new N([this,"maximumSpeed"],"最大速度",void 0,!0),new N([this,"lifetime"],"生命周期",Number.MAX_VALUE,!0),new N([this,"particleLife"],"粒子生命周期",hn.defaults.particleLife,!0),new N([this,"minimumParticleLife"],"最小粒子生命周期",void 0,!0),new N([this,"maximumParticleLife"],"最大粒子生命周期",void 0,!0),new N([this,"mass"],"块数量",1,!0),new N([this,"minimumMass"],"最小块数量",void 0,!0),new N([this,"maximumMass"],"最大块数量",void 0,!0),new Fe([this,"imageSize"],"图片尺寸",hn.defaults.imageSize,!0),new Fe([this,"minimumImageSize"],"最小图片尺寸",void 0,!0),new Fe([this,"maximumImageSize"],"最大图片尺寸",void 0,!0),new cu([this,"image"],"图片",hn.defaults.image,!0),new cn([this,"translation"],"偏移",[0,0,0],!0),new Jd([this,"bursts"],"bursts",void 0,!0),new tt([this,"emitter"],"emitter",hn.defaults.emitter),new at([],"播放器","播放器"),new N([this,"ratio"],"播放比率",0,!0),new Vh([this,"playing"],[this,"ratio"],[this,"playingLoop"],"播放器"),new X([this,"playingLoop"],"是否循环",hn.defaults.playingLoop,!0),new N([this,"currentTime"],"当前时间",hn.defaults.currentTime,!0),new N([this,"duration"],"过渡时间",hn.defaults.duration,!0),new X([this,"playing"],"是否播放",hn.defaults.playing,!0),new N([this,"playingSpeed"],"播放速度",hn.defaults.playingSpeed,!0)]}}};f(hn,"createDefaultProps",()=>({...rt.createDefaultProps(),emitter:Yt({type:"CircleEmitter",radius:.5}),bursts:pd(void 0),translation:ee(void 0),image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",imageSize:ee([20,20]),minimumImageSize:ee(void 0),maximumImageSize:ee(void 0),updateCallback:void 0,emissionRate:void 0,loop:void 0,particleScale:void 0,startScale:void 0,endScale:4,color:ee(void 0),startColor:ee(void 0),endColor:ee(void 0),sizeInMeters:void 0,speed:void 0,minimumSpeed:void 0,maximumSpeed:void 0,lifetime:void 0,particleLife:.5,minimumParticleLife:void 0,maximumParticleLife:void 0,mass:void 0,minimumMass:void 0,maximumMass:void 0,playingLoop:!0,currentTime:0,duration:6e3,playingSpeed:1,playing:!0})),f(hn,"type",hn.register("ESParticleSystemPrimitive",hn,{chsName:"粒子",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通过Cesium的Primitive API 实现的粒子特效。"}));let $c=hn;const mr=class mr extends di{constructor(e){super(e);f(this,"initialStyle",this.ad(Yt(void 0)));f(this,"_getInitialStyleEvent",this.disposeVar(new I))}get getInitialStyleEvent(){return this._getInitialStyleEvent}getInitialStyle(){return Promise.race([new Promise(e=>{const i=this.d(this.initialStyle.changed.disposableOnce(e));this.getInitialStyleEvent.emit(),setTimeout(()=>{i(),e(void 0)},2e3)})])}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new wt([this,"mode"],mr.modes,"模式",mr.defaults.mode),new tt([this,"style"],"样式",mr.defaults.style),new X([this,"autoAnchor"],"自动锚点对齐",mr.defaults.autoAnchor)]}}};f(mr,"createDefaultProps",()=>({...di.createDefaultProps(),mode:"SquareH01",style:mt({fontSize:16,imageSize:[60,60],textBackgroundColor:[1,1,1,0],textBackgroundSize:[120,30],textColor:[1,1,1,1],textOffset:[10,2],textBoxOffset:[40,0],textBoxAlign:"start",textBoxShow:!0,textBoxMode:"default"}),autoAnchor:!0})),f(mr,"type",mr.register("ESPoi2D",mr,{chsName:"ESPoi2D",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"三角形,菱形"})),f(mr,"modes",[["自定义","Custom"],["SquareH01","SquareH01"],["SquareH02","SquareH02"],["SquareV01","SquareV01"],["SquareV02","SquareV02"],["SquareV03","SquareV03"],["SquareV04","SquareV04"],["Flag01","Flag01"],["Flag02","Flag02"],["Linear01","Linear01"],["Linear02","Linear02"],["Linear03","Linear03"],["CircularH01","CircularH01"],["CircularH02","CircularH02"],["CircularV01","CircularV01"],["CircularV02","CircularV02"],["CircularV03","CircularV03"],["CircularV04","CircularV04"],["CircularV05","CircularV05"],["P3D01","P3D01"],["P3D02","P3D02"],["P3D03","P3D03"],["P3D04","P3D04"],["P3D05","P3D05"],["P3D06","P3D06"],["P3D07","P3D07"],["Diamond01","Diamond01"],["Diamond02","Diamond02"],["Stranger","Stranger"],["ManNormal","ManNormal"],["ManAbnormal","ManAbnormal"],["WomanNormal","WomanNormal"],["WomanAbnormal","WomanAbnormal"],["Camera","Camera"]]);let hh=mr;const qr=class qr extends rt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new wt([this,"mode"],qr.modes,"模式",qr.defaults.mode),new tt([this,"style"],"样式",qr.defaults.style)]}}};f(qr,"createDefaultProps",()=>({...rt.createDefaultProps(),mode:"triangle",style:mt({UI_Color:[.09803921568627451,.40784313725490196,.8,1],FX_Color:[.09803921568627451,.40784313725490196,.8,1]})})),f(qr,"type",qr.register("ESPoi3D",qr,{chsName:"ESPoi3D",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"三角形,菱形"})),f(qr,"modes",[["三角形","triangle"],["菱形","diamond"],["制(存)梁场","BridgePrefabricationSite"],["汽车运输便道","ExportRoad"],["拌合站","MixingStation"],["小型预制构件厂","PrefabricatedComponentsSite"],["项目部","ProjectDepartment"],["铁路岔线","RailwayFork"],["钢筋加工厂","RebarMachining"],["临时电力干线","TempElectricMain"],["铺轨基地","TrackLayingBase"],["汽车运梁通道","TransportationBridge"]]);let jg=qr;const Tl=class Tl extends Ht{constructor(e){super(e);f(this,"_czmFlattenedPlaneId",this.dv(B("")))}get czmFlattenedPlaneId(){return this._czmFlattenedPlaneId.value}set czmFlattenedPlaneId(e){this._czmFlattenedPlaneId.value=e}get czmFlattenedPlaneIdChanged(){return this._czmFlattenedPlaneId.changed}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new ct([this,"targetID"],"瓦片图层","")]}}};f(Tl,"createDefaultProps",()=>({...Ht.createDefaultProps(),targetID:"",filled:!1})),f(Tl,"type",Tl.register("ESPolygonFlattenedPlane",Tl,{chsName:"压平",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPolygonFlattenedPlane"}));let Ug=Tl;const j0=async(n,t,e)=>{const{viewer:i}=n;if(!i){console.error("AddTrees: ueViewer.viewer is undefined");return}const r=await i.callUeFunc({f:"AddTrees",p:{id:t,TreeParams:e}});return r.error&&console.error("AddTrees:",r.error),r},U0=async(n,t)=>{const{viewer:e}=n;if(!e){console.error("RemoveAllTrees: ueViewer.viewer is undefined");return}const i=await e.callUeFunc({f:"RemoveAllTrees",p:{id:t}});return i.error&&console.error("RemoveAllTrees:",i.error),i},G0=async(n,t,e)=>{const{viewer:i}=n;if(!i){console.error("UpdateTreeParams: ueViewer.viewer is undefined");return}const r=await i.callUeFunc({f:"UpdateTreeParams",p:{id:t,TreeParams:e}});return r.error&&console.error("UpdateTreeParams:",r.error),r},q0=async(n,t,e,i)=>{const{viewer:r}=n;if(!r){console.error("CutDownTrees: ueViewer.viewer is undefined");return}const s=await r.callUeFunc({f:"CutDownTrees",p:{id:t,TreeIds:e,TimeLength:i}});return s.error&&console.error("CutDownTrees:",s.error),s},W0=async(n,t,e,i,r)=>{const{viewer:s}=n;if(!s){console.error("GrowthSimulation: ueViewer.viewer is undefined");return}const o=await s.callUeFunc({f:"GrowthSimulation",p:{id:t,ToParams:e,SwitchTime:r,TimeLength:i}});return o.error&&console.error("GrowthSimulation:",o.error),o},Nl=class Nl extends jt{constructor(e){super(e);f(this,"_addTreesEvent",this.dv(new I));f(this,"_removeAllTreesEvent",this.dv(new I));f(this,"_updateTreeParamsEvent",this.dv(new I));f(this,"_cutDownTreesEvent",this.dv(new I));f(this,"_growthSimulationEvent",this.dv(new I))}async addTreesCallFunc(e,i){return await j0(e,this.id,i)}async updateTreeParamsCallFunc(e,i){return await G0(e,this.id,i)}async cutDownTreesCallFunc(e,i,r){return await q0(e,this.id,i,r)}async removeAllTreesCallFunc(e){return await U0(e,this.id)}async growthSimulationCallFunc(e,i,r,s){return await W0(e,this.id,i,r,s)}async getIdByComponentNameAndHitItem(e,i,r){return await e.getIdByComponentNameAndHitItem(this.id,i,r)}get addTreesEvent(){return this._addTreesEvent}addTrees(e){this._addTreesEvent.emit(e)}get removeAllTreesEvent(){return this._removeAllTreesEvent}removeAllTrees(){this._removeAllTreesEvent.emit()}get updateTreeParamsEvent(){return this._updateTreeParamsEvent}updateTreeParams(e){this._updateTreeParamsEvent.emit(e)}get cutDownTreesEvent(){return this._cutDownTreesEvent}cutDownTrees(e,i){this._cutDownTreesEvent.emit(e,i)}get growthSimulationEvent(){return this._growthSimulationEvent}growthSimulation(e,i,r){this._growthSimulationEvent.emit(e,i,r)}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new at([],"通用"),new tt([this,"treeTypes"],"treeTypes",[],"{ name: string, meshPath: string }[]",!0),new N([this,"stumpId"],"树桩id"),new N([this,"intervalTime"],"动画间隔时间"),new N([this,"switchIntervalTime"],"切换间隔时间")]}}};f(Nl,"createDefaultProps",()=>({...jt.createDefaultProps(),treeTypes:Yt([]),stumpId:-1,intervalTime:.1,switchIntervalTime:.5})),f(Nl,"type",Nl.register("ESSeparateFoliage",Nl,{chsName:"单体控制森林",tags:["ESObjects","_ES_Impl_UE"],description:"ESSeparateFoliage"}));let Gg=Nl;function Qc(n,t,e){const i="buffer"in n,r=i?n.buffer:n;i&&(t+=n.byteOffset);const s=new Array(e),o=new DataView(r);for(let a=0;a<e;++a){const l=o.getUint8(t+a);s[a]=String.fromCharCode(l)}return s.join("")}function Kc(n,t){const e="buffer"in n,i=e?n.buffer:n;return e&&(t+=n.byteOffset),new DataView(i).getUint32(t,!0)}function H0(n,t,e){const i="buffer"in n,r=i?n.buffer:n;if(i&&(t+=n.byteOffset),t+e>r.byteLength){console.error("byteOffset + length > buffer.byteLength");return}return new Uint8Array(r,t,e)}function QT(n,t,e){const i="buffer"in n,r=i?n.buffer:n;if(i&&(t+=n.byteOffset),t+e*2>r.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Uint16Array(r,t,e)}function KT(n,t,e){const i="buffer"in n,r=i?n.buffer:n;if(i&&(t+=n.byteOffset),t+e*4>r.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Uint32Array(r,t,e)}function ZT(n,t,e){const i="buffer"in n,r=i?n.buffer:n;if(i&&(t+=n.byteOffset),t+e*4>r.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Float32Array(r,t,e)}function X0(n){if(Qc(n,0,4)!=="glTF"){console.error("Not a glTF file");return}const e=Kc(n,4);if(e!==2){console.error("Unsupported glTF version");return}const i=Kc(n,8);if(i!==n.byteLength){console.error("Invalid glTF length");return}const r=Kc(n,12);if(r+12+4>i){console.error("Invalid glTF chunk length");return}if(Qc(n,16,4)!=="JSON"){console.error("Invalid glTF chunk type");return}const o=Qc(n,20,r),a={version:e,length:i,gltfJson:o};if(20+r<n.byteLength){const l=Kc(n,20+r);if(Qc(n,20+r+4,4)!=="BIN\0"){console.error("Invalid glTF chunk type");return}const h=H0(n,20+r+8,l);a.gltfBinary=h}return a}window.parseGlb=X0;function Y0(n){const t=X0(n);if(t===void 0||!t.gltfBinary)return;const e=JSON.parse(t.gltfJson);return e.nodes.map(i=>{var r=e.meshes[i.mesh],s=r.primitives[0].attributes.POSITION,o=r.primitives[0].indices,a=e.accessors[s],l=e.bufferViews[a.bufferView];if(!t.gltfBinary)throw new Error("!glbParseResult.gltfBinary");const u=ZT(t.gltfBinary,l.byteOffset??0,l.byteLength/4);var h=e.accessors[o],c=e.bufferViews[h.bufferView];if(!t.gltfBinary)throw new Error("!glbParseResult.gltfBinary");let d;return h.componentType===5121?d=H0(t.gltfBinary,c.byteOffset??0,c.byteLength/1):h.componentType===5123?d=QT(t.gltfBinary,c.byteOffset??0,c.byteLength/2):h.componentType===5125&&(d=KT(t.gltfBinary,c.byteOffset??0,c.byteLength/4)),{name:i.name,posBuffer:u,indicesBuffer:d}})}window.parseWaterGlb=Y0;const Cn=class Cn extends rt{constructor(e){super(e);f(this,"_submergingData");f(this,"_allMoments",[]);f(this,"readyEvent",this.dv(new I));{const i=()=>{this.url!=""&&fetch(this.url).then(r=>{r.status==200&&r.ok&&r.arrayBuffer().then(s=>{this._submergingData=Y0(s);const o=this._submergingData.map(a=>Date.parse(a.name)).sort();this._allMoments=o,this.currentTime==0&&(this.currentTime=o[0]),this.readyEvent.emit()})}).catch(r=>{console.log(r)})};i(),this.d(this.urlChanged.don(()=>{i()}))}}get getSubmergingData(){return this._submergingData}getAllMoments(){return this._allMoments}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new ct([this,"url"],"Url地址",Cn.defaults.url),new Ge([this,"amplitude"],.01,[0,1],"振幅",Cn.defaults.amplitude),new N([this,"frequency"],"频率",Cn.defaults.frequency),new N([this,"currentTime"],"当前时间",Cn.defaults.currentTime),new tt([this,"materialParams"],"材质参数",Cn.defaults.materialParams),new wt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型","river"),new Pt([this,"waterColor"],"水的底色",Cn.defaults.waterColor),new Ge([this,"waveVelocity"],.01,[0,1],"波动频率",Cn.defaults.waveVelocity),new N([this,"flowSpeed"],"水流速度",Cn.defaults.flowSpeed),new Ge([this,"specularIntensity"],.01,[0,1],"镜面反射强度",Cn.defaults.specularIntensity),new Ge([this,"murkiness"],.01,[0,10],"水体浑浊度",Cn.defaults.murkiness)]}}};f(Cn,"createDefaultProps",()=>({...rt.createDefaultProps(),allowPicking:!0,url:"",currentTime:0,materialParams:mt({}),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowSpeed:0,murkiness:5})),f(Cn,"type",Cn.register("ESSubmergingAnalysis",Cn,{chsName:"淹没分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESSubmergingAnalysis"}));let qg=Cn;const ea=class ea extends Ht{constructor(e){super(e);f(this,"_startEvent",this.dv(new I));f(this,"_stopEvent",this.dv(new I))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get stopEvent(){return this._stopEvent}stop(){this._stopEvent.emit()}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new Pt([this,"startColor"],"起始颜色"),new Pt([this,"endColor"],"结束颜色"),new N([this,"progress"],"计算进度"),new N([this,"extrudedHeight"],"高度m"),new N([this,"height"],"底面高度"),new N([this,"sampleDistance"],"采样间距m"),new N([this,"startTime"],"起始时间,时间戳"),new N([this,"endTime"],"结束时间,时间戳"),new N([this,"spanTime"],"时间跨度,默认1小时时间戳"),new lt([],()=>this.start(),[],"开始分析"),new lt([],()=>this.stop(),[],"结束分析")]}}};f(ea,"createDefaultProps",()=>({...Ht.createDefaultProps(),extrudedHeight:30,height:0,sampleDistance:10,startColor:ht([1,1,0,1]),endColor:ht([1,0,0,1]),startTime:0,endTime:36e6,spanTime:1,progress:0,filled:!1,stroked:!1})),f(ea,"type",ea.register("ESSunshineAnalysis",ea,{chsName:"日照分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"日照分析"})),f(ea,"supportEditingModes",[...Ht.supportEditingModes,et.HeightModify]);let Wg=ea;const Wr=class Wr extends jt{constructor(e){super(e);f(this,"_activateEvent",this.disposeVar(new I));f(this,"activate",!1)}get activateEvent(){return this._activateEvent}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"dataSource",basic:[...e.basic,new N([this,"zIndex"],"层级序号",Wr.defaults.zIndex),new N([this,"opacity"],"透明度",Wr.defaults.opacity)],dataSource:[...e.dataSource,new tt([this,"url"],"地形服务地址",Wr.defaults.url),new Wi([this,"rectangle"],"矩形范围",Wr.defaults.rectangle)],more:[...e.more,new N([this,"czmMinzoom"],"czmMinzoom",void 0,!0),new N([this,"czmMaxzoom"],"czmMaxzoom",void 0,!0)]}}};f(Wr,"createDefaultProps",()=>({...jt.createDefaultProps(),url:"http://inner.earthsdk.com/layer.json",rectangle:ht([-180,-90,180,90]),zIndex:0,czmMaxzoom:void 0,czmMinzoom:void 0})),f(Wr,"type",Wr.register("ESTerrainLayer",Wr,{chsName:"地形图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地形图层"}));let Hg=Wr;const Hr=class Hr extends di{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new Pt([this,"color"],"文本颜色",[1,1,1,1]),new N([this,"fontSize"],"文字大小",14),new $d([this,"text"],"内容",Hr.defaults.text,void 0,!0),new Pt([this,"backgroundColor"],"背景颜色",Hr.defaults.backgroundColor),new Wi([this,"padding"],"内边距",Hr.defaults.padding),new Pt([this,"borderColor"],"边界颜色"),new Wi([this,"borderRadius"],"边界圆角"),new N([this,"borderWidth"],"边界宽度")],more:[...t.more,new at([],"czm","czm"),new X([this,"textEditingInteraction"],"文本编辑交互"),new X([this,"textEditing"],"文本编辑"),new N([this,"width"],"宽度",Hr.defaults.width,!0),new N([this,"opacity"],"透明度"),new wt([this,"textAlign"],[["center","center"],["left","left"],["right","right"]],"文字位置","left"),new wt([this,"borderStyle"],[["none","none"],["hidden","hidden"],["dotted","dotted"],["dashed","dashed"],["solid","solid"],["double","double"],["groove","groove"],["ridge","ridge"],["inset","inset"],["outset","outset"]],"边框类型")]}}};f(Hr,"createDefaultProps",()=>({...di.createDefaultProps(),text:"请输入文字",width:80,textEditing:!1,textEditingInteraction:!1,opacity:1,fontSize:14,textAlign:"left",color:ht([1,1,1,1]),backgroundColor:ht([0,0,0,.8]),padding:ht([5,5,5,5]),borderRadius:ht([6,6,6,6]),borderWidth:0,borderColor:ht([1,1,1,1]),borderStyle:"solid"})),f(Hr,"type",Hr.register("ESTextLabel",Hr,{chsName:"文本标签",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"文本标签。"}));let gl=Hr;const tN=`
|
|
312
|
+
`,pr=class pr extends rt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new N([this,"size"],"尺寸",pr.defaults.size),new X([this,"autoFollow"],"自动跟随",pr.defaults.autoFollow),new wt([this,"mode"],pr.modes,"模式","blueSky")],more:[...t.more,new N([this,"autoOpacityFactor"],"自动消失系数",pr.defaults.autoOpacityFactor)]}}};f(pr,"createDefaultProps",()=>({...rt.createDefaultProps(),size:1e4,autoFollow:!0,autoOpacityFactor:2,mode:"blueSky",collision:!1,allowPicking:!1})),f(pr,"type",pr.register("ESLocalSkyBox",pr,{chsName:"局部天空盒",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"效果类"})),f(pr,"modes",[["baiyun","baiyun"],["blueSky","blueSky"],["clearSky","clearSky"],["dream","dream"],["starrySky","starrySky"],["sunnySky","sunnySky"],["sunSets","sunSets"]]);let Vg=pr;const _h=class _h extends rt{constructor(e){super(e);f(this,"_location",this.disposeVar(B(void 0)));{const i=()=>{this.location=this.position};i(),this.ad(this.positionChanged.don(i))}}get location(){return this._location.value}set location(e){this._location.value=e}get locationChanged(){return this._location.changed}};f(_h,"type",_h.register("ESLocationMeasurement",_h,{chsName:"位置测量点",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE","_ES_Impl_Ol"],description:"位置测量点"}));let zg=_h;const hn=class hn extends rt{constructor(e){super(e);f(this,"_player",this.dv(new Hi));{const i=hn.defaults;this.d(nt([this._player,"loop"],[this,"playingLoop"],r=>r??i.playingLoop,r=>r??i.playingLoop)),this.d(nt([this._player,"currentTime"],[this,"currentTime"],r=>r??i.currentTime,r=>r??i.currentTime)),this.d(nt([this._player,"duration"],[this,"duration"],r=>r??i.duration,r=>r??i.duration)),this.d(nt([this._player,"playing"],[this,"playing"],r=>r??i.playing,r=>r??i.playing)),this.d(nt([this._player,"speed"],[this,"playingSpeed"],r=>r??i.playingSpeed,r=>r??i.playingSpeed))}}get player(){return this._player}get ratio(){return this._player.ratio}set ratio(e){this._player.ratio=e}get ratioChanged(){return this._player.ratioChanged}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new at([],"通用","通用"),new lt(["number"],i=>this.flyTo(i),[1e3],"飞入"),new Rs([this,"updateCallback"],"更新回调函数",void 0,void 0,!0),new N([this,"emissionRate"],"发射率",5,!0),new X([this,"loop"],"是否循环",!0,!0),new N([this,"particleScale"],"等级",1,!0),new N([this,"startScale"],"初始等级",void 0,!0),new N([this,"endScale"],"结束等级",hn.defaults.endScale,!0),new Pt([this,"color"],"颜色",void 0,!0),new Pt([this,"startColor"],"初始颜色",void 0,!0),new Pt([this,"endColor"],"结束颜色",void 0,!0),new X([this,"sizeInMeters"],"尺寸单位为米",void 0,!0),new N([this,"speed"],"速度",1,!0),new N([this,"minimumSpeed"],"最小速度",void 0,!0),new N([this,"maximumSpeed"],"最大速度",void 0,!0),new N([this,"lifetime"],"生命周期",Number.MAX_VALUE,!0),new N([this,"particleLife"],"粒子生命周期",hn.defaults.particleLife,!0),new N([this,"minimumParticleLife"],"最小粒子生命周期",void 0,!0),new N([this,"maximumParticleLife"],"最大粒子生命周期",void 0,!0),new N([this,"mass"],"块数量",1,!0),new N([this,"minimumMass"],"最小块数量",void 0,!0),new N([this,"maximumMass"],"最大块数量",void 0,!0),new Fe([this,"imageSize"],"图片尺寸",hn.defaults.imageSize,!0),new Fe([this,"minimumImageSize"],"最小图片尺寸",void 0,!0),new Fe([this,"maximumImageSize"],"最大图片尺寸",void 0,!0),new cu([this,"image"],"图片",hn.defaults.image,!0),new cn([this,"translation"],"偏移",[0,0,0],!0),new Jd([this,"bursts"],"bursts",void 0,!0),new tt([this,"emitter"],"emitter",hn.defaults.emitter),new at([],"播放器","播放器"),new N([this,"ratio"],"播放比率",0,!0),new Vh([this,"playing"],[this,"ratio"],[this,"playingLoop"],"播放器"),new X([this,"playingLoop"],"是否循环",hn.defaults.playingLoop,!0),new N([this,"currentTime"],"当前时间",hn.defaults.currentTime,!0),new N([this,"duration"],"过渡时间",hn.defaults.duration,!0),new X([this,"playing"],"是否播放",hn.defaults.playing,!0),new N([this,"playingSpeed"],"播放速度",hn.defaults.playingSpeed,!0)]}}};f(hn,"createDefaultProps",()=>({...rt.createDefaultProps(),emitter:Yt({type:"CircleEmitter",radius:.5}),bursts:pd(void 0),translation:ee(void 0),image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",imageSize:ee([20,20]),minimumImageSize:ee(void 0),maximumImageSize:ee(void 0),updateCallback:void 0,emissionRate:void 0,loop:void 0,particleScale:void 0,startScale:void 0,endScale:4,color:ee(void 0),startColor:ee(void 0),endColor:ee(void 0),sizeInMeters:void 0,speed:void 0,minimumSpeed:void 0,maximumSpeed:void 0,lifetime:void 0,particleLife:.5,minimumParticleLife:void 0,maximumParticleLife:void 0,mass:void 0,minimumMass:void 0,maximumMass:void 0,playingLoop:!0,currentTime:0,duration:6e3,playingSpeed:1,playing:!0})),f(hn,"type",hn.register("ESParticleSystemPrimitive",hn,{chsName:"粒子",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通过Cesium的Primitive API 实现的粒子特效。"}));let $c=hn;const mr=class mr extends di{constructor(e){super(e);f(this,"initialStyle",this.ad(Yt(void 0)));f(this,"_getInitialStyleEvent",this.disposeVar(new I))}get getInitialStyleEvent(){return this._getInitialStyleEvent}getInitialStyle(){return Promise.race([new Promise(e=>{const i=this.d(this.initialStyle.changed.disposableOnce(e));this.getInitialStyleEvent.emit(),setTimeout(()=>{i(),e(void 0)},2e3)})])}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new wt([this,"mode"],mr.modes,"模式",mr.defaults.mode),new tt([this,"style"],"样式",mr.defaults.style),new X([this,"autoAnchor"],"自动锚点对齐",mr.defaults.autoAnchor)]}}};f(mr,"createDefaultProps",()=>({...di.createDefaultProps(),mode:"SquareH01",style:mt({fontSize:16,imageSize:[60,60],textBackgroundColor:[1,1,1,0],textBackgroundSize:[120,30],textColor:[1,1,1,1],textOffset:[10,2],textBoxOffset:[40,0],textBoxAlign:"start",textBoxShow:!0,textBoxMode:"default"}),autoAnchor:!0})),f(mr,"type",mr.register("ESPoi2D",mr,{chsName:"ESPoi2D",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"三角形,菱形"})),f(mr,"modes",[["自定义","Custom"],["SquareH01","SquareH01"],["SquareH02","SquareH02"],["SquareV01","SquareV01"],["SquareV02","SquareV02"],["SquareV03","SquareV03"],["SquareV04","SquareV04"],["Flag01","Flag01"],["Flag02","Flag02"],["Linear01","Linear01"],["Linear02","Linear02"],["Linear03","Linear03"],["CircularH01","CircularH01"],["CircularH02","CircularH02"],["CircularV01","CircularV01"],["CircularV02","CircularV02"],["CircularV03","CircularV03"],["CircularV04","CircularV04"],["CircularV05","CircularV05"],["P3D01","P3D01"],["P3D02","P3D02"],["P3D03","P3D03"],["P3D04","P3D04"],["P3D05","P3D05"],["P3D06","P3D06"],["P3D07","P3D07"],["Diamond01","Diamond01"],["Diamond02","Diamond02"],["Stranger","Stranger"],["ManNormal","ManNormal"],["ManAbnormal","ManAbnormal"],["WomanNormal","WomanNormal"],["WomanAbnormal","WomanAbnormal"],["Camera","Camera"]]);let hh=mr;const qr=class qr extends rt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new wt([this,"mode"],qr.modes,"模式",qr.defaults.mode),new tt([this,"style"],"样式",qr.defaults.style)]}}};f(qr,"createDefaultProps",()=>({...rt.createDefaultProps(),mode:"triangle",style:mt({UI_Color:[.09803921568627451,.40784313725490196,.8,1],FX_Color:[.09803921568627451,.40784313725490196,.8,1]})})),f(qr,"type",qr.register("ESPoi3D",qr,{chsName:"ESPoi3D",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"三角形,菱形"})),f(qr,"modes",[["三角形","triangle"],["菱形","diamond"],["制(存)梁场","BridgePrefabricationSite"],["汽车运输便道","ExportRoad"],["拌合站","MixingStation"],["小型预制构件厂","PrefabricatedComponentsSite"],["项目部","ProjectDepartment"],["铁路岔线","RailwayFork"],["钢筋加工厂","RebarMachining"],["临时电力干线","TempElectricMain"],["铺轨基地","TrackLayingBase"],["汽车运梁通道","TransportationBridge"]]);let jg=qr;const Tl=class Tl extends Ht{constructor(e){super(e);f(this,"_czmFlattenedPlaneId",this.dv(B("")))}get czmFlattenedPlaneId(){return this._czmFlattenedPlaneId.value}set czmFlattenedPlaneId(e){this._czmFlattenedPlaneId.value=e}get czmFlattenedPlaneIdChanged(){return this._czmFlattenedPlaneId.changed}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new ct([this,"targetID"],"瓦片图层","")]}}};f(Tl,"createDefaultProps",()=>({...Ht.createDefaultProps(),targetID:"",filled:!1})),f(Tl,"type",Tl.register("ESPolygonFlattenedPlane",Tl,{chsName:"压平",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPolygonFlattenedPlane"}));let Ug=Tl;const j0=async(n,t,e)=>{const{viewer:i}=n;if(!i){console.error("AddTrees: ueViewer.viewer is undefined");return}const r=await i.callUeFunc({f:"AddTrees",p:{id:t,TreeParams:e}});return r.error&&console.error("AddTrees:",r.error),r},U0=async(n,t)=>{const{viewer:e}=n;if(!e){console.error("RemoveAllTrees: ueViewer.viewer is undefined");return}const i=await e.callUeFunc({f:"RemoveAllTrees",p:{id:t}});return i.error&&console.error("RemoveAllTrees:",i.error),i},G0=async(n,t,e)=>{const{viewer:i}=n;if(!i){console.error("UpdateTreeParams: ueViewer.viewer is undefined");return}const r=await i.callUeFunc({f:"UpdateTreeParams",p:{id:t,TreeParams:e}});return r.error&&console.error("UpdateTreeParams:",r.error),r},q0=async(n,t,e,i)=>{const{viewer:r}=n;if(!r){console.error("CutDownTrees: ueViewer.viewer is undefined");return}const s=await r.callUeFunc({f:"CutDownTrees",p:{id:t,TreeIds:e,TimeLength:i}});return s.error&&console.error("CutDownTrees:",s.error),s},W0=async(n,t,e,i,r)=>{const{viewer:s}=n;if(!s){console.error("GrowthSimulation: ueViewer.viewer is undefined");return}const o=await s.callUeFunc({f:"GrowthSimulation",p:{id:t,ToParams:e,SwitchTime:r,TimeLength:i}});return o.error&&console.error("GrowthSimulation:",o.error),o},Nl=class Nl extends jt{constructor(e){super(e);f(this,"_addTreesEvent",this.dv(new I));f(this,"_removeAllTreesEvent",this.dv(new I));f(this,"_updateTreeParamsEvent",this.dv(new I));f(this,"_cutDownTreesEvent",this.dv(new I));f(this,"_growthSimulationEvent",this.dv(new I))}async addTreesCallFunc(e,i){return await j0(e,this.id,i)}async updateTreeParamsCallFunc(e,i){return await G0(e,this.id,i)}async cutDownTreesCallFunc(e,i,r){return await q0(e,this.id,i,r)}async removeAllTreesCallFunc(e){return await U0(e,this.id)}async growthSimulationCallFunc(e,i,r,s){return await W0(e,this.id,i,r,s)}async getIdByComponentNameAndHitItem(e,i,r){return await e.getIdByComponentNameAndHitItem(this.id,i,r)}get addTreesEvent(){return this._addTreesEvent}addTrees(e){this._addTreesEvent.emit(e)}get removeAllTreesEvent(){return this._removeAllTreesEvent}removeAllTrees(){this._removeAllTreesEvent.emit()}get updateTreeParamsEvent(){return this._updateTreeParamsEvent}updateTreeParams(e){this._updateTreeParamsEvent.emit(e)}get cutDownTreesEvent(){return this._cutDownTreesEvent}cutDownTrees(e,i){this._cutDownTreesEvent.emit(e,i)}get growthSimulationEvent(){return this._growthSimulationEvent}growthSimulation(e,i,r){this._growthSimulationEvent.emit(e,i,r)}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new at([],"通用"),new tt([this,"treeTypes"],"treeTypes",[],"{ name: string, meshPath: string }[]",!0),new N([this,"stumpId"],"树桩id"),new N([this,"intervalTime"],"动画间隔时间"),new N([this,"switchIntervalTime"],"切换间隔时间")]}}};f(Nl,"createDefaultProps",()=>({...jt.createDefaultProps(),treeTypes:Yt([]),stumpId:-1,intervalTime:.1,switchIntervalTime:.5})),f(Nl,"type",Nl.register("ESSeparateFoliage",Nl,{chsName:"单体控制森林",tags:["ESObjects","_ES_Impl_UE"],description:"ESSeparateFoliage"}));let Gg=Nl;function Qc(n,t,e){const i="buffer"in n,r=i?n.buffer:n;i&&(t+=n.byteOffset);const s=new Array(e),o=new DataView(r);for(let a=0;a<e;++a){const l=o.getUint8(t+a);s[a]=String.fromCharCode(l)}return s.join("")}function Kc(n,t){const e="buffer"in n,i=e?n.buffer:n;return e&&(t+=n.byteOffset),new DataView(i).getUint32(t,!0)}function H0(n,t,e){const i="buffer"in n,r=i?n.buffer:n;if(i&&(t+=n.byteOffset),t+e>r.byteLength){console.error("byteOffset + length > buffer.byteLength");return}return new Uint8Array(r,t,e)}function QT(n,t,e){const i="buffer"in n,r=i?n.buffer:n;if(i&&(t+=n.byteOffset),t+e*2>r.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Uint16Array(r,t,e)}function KT(n,t,e){const i="buffer"in n,r=i?n.buffer:n;if(i&&(t+=n.byteOffset),t+e*4>r.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Uint32Array(r,t,e)}function ZT(n,t,e){const i="buffer"in n,r=i?n.buffer:n;if(i&&(t+=n.byteOffset),t+e*4>r.byteLength){console.error("byteOffset + length * 4 > buffer.byteLength");return}return new Float32Array(r,t,e)}function X0(n){if(Qc(n,0,4)!=="glTF"){console.error("Not a glTF file");return}const e=Kc(n,4);if(e!==2){console.error("Unsupported glTF version");return}const i=Kc(n,8);if(i!==n.byteLength){console.error("Invalid glTF length");return}const r=Kc(n,12);if(r+12+4>i){console.error("Invalid glTF chunk length");return}if(Qc(n,16,4)!=="JSON"){console.error("Invalid glTF chunk type");return}const o=Qc(n,20,r),a={version:e,length:i,gltfJson:o};if(20+r<n.byteLength){const l=Kc(n,20+r);if(Qc(n,20+r+4,4)!=="BIN\0"){console.error("Invalid glTF chunk type");return}const h=H0(n,20+r+8,l);a.gltfBinary=h}return a}window.parseGlb=X0;function Y0(n){const t=X0(n);if(t===void 0||!t.gltfBinary)return;const e=JSON.parse(t.gltfJson);return e.nodes.map(i=>{var r=e.meshes[i.mesh],s=r.primitives[0].attributes.POSITION,o=r.primitives[0].indices,a=e.accessors[s],l=e.bufferViews[a.bufferView];if(!t.gltfBinary)throw new Error("!glbParseResult.gltfBinary");const u=ZT(t.gltfBinary,l.byteOffset??0,l.byteLength/4);var h=e.accessors[o],c=e.bufferViews[h.bufferView];if(!t.gltfBinary)throw new Error("!glbParseResult.gltfBinary");let d;return h.componentType===5121?d=H0(t.gltfBinary,c.byteOffset??0,c.byteLength/1):h.componentType===5123?d=QT(t.gltfBinary,c.byteOffset??0,c.byteLength/2):h.componentType===5125&&(d=KT(t.gltfBinary,c.byteOffset??0,c.byteLength/4)),{name:i.name,posBuffer:u,indicesBuffer:d}})}window.parseWaterGlb=Y0;const Cn=class Cn extends rt{constructor(e){super(e);f(this,"_submergingData");f(this,"_allMoments",[]);f(this,"readyEvent",this.dv(new I));{const i=()=>{this.url!=""&&fetch(this.url).then(r=>{r.status==200&&r.ok&&r.arrayBuffer().then(s=>{this._submergingData=Y0(s);const o=this._submergingData.map(a=>Date.parse(a.name)).sort();this._allMoments=o,this.currentTime==0&&(this.currentTime=o[0]),this.readyEvent.emit()})}).catch(r=>{console.log(r)})};i(),this.d(this.urlChanged.don(()=>{i()}))}}get getSubmergingData(){return this._submergingData}getAllMoments(){return this._allMoments}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new ct([this,"url"],"Url地址",Cn.defaults.url),new Ge([this,"amplitude"],.01,[0,1],"振幅",Cn.defaults.amplitude),new N([this,"frequency"],"频率",Cn.defaults.frequency),new N([this,"currentTime"],"当前时间",Cn.defaults.currentTime),new tt([this,"materialParams"],"材质参数",Cn.defaults.materialParams),new wt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型","river"),new Pt([this,"waterColor"],"水的底色",Cn.defaults.waterColor),new Ge([this,"waveVelocity"],.01,[0,1],"波动频率",Cn.defaults.waveVelocity),new N([this,"flowSpeed"],"水流速度",Cn.defaults.flowSpeed),new Ge([this,"specularIntensity"],.01,[0,1],"镜面反射强度",Cn.defaults.specularIntensity),new Ge([this,"murkiness"],.01,[0,10],"水体浑浊度",Cn.defaults.murkiness)]}}};f(Cn,"createDefaultProps",()=>({...rt.createDefaultProps(),allowPicking:!0,url:"",currentTime:0,materialParams:mt({}),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowSpeed:0,murkiness:5})),f(Cn,"type",Cn.register("ESSubmergingAnalysis",Cn,{chsName:"淹没分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESSubmergingAnalysis"}));let qg=Cn;const ea=class ea extends Ht{constructor(e){super(e);f(this,"_startEvent",this.dv(new I));f(this,"_stopEvent",this.dv(new I))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get stopEvent(){return this._stopEvent}stop(){this._stopEvent.emit()}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new Pt([this,"startColor"],"起始颜色"),new Pt([this,"endColor"],"结束颜色"),new N([this,"progress"],"计算进度"),new N([this,"extrudedHeight"],"高度m"),new N([this,"height"],"底面高度"),new N([this,"sampleDistance"],"采样间距m"),new N([this,"startTime"],"起始时间,时间戳"),new N([this,"endTime"],"结束时间,时间戳"),new N([this,"spanTime"],"时间跨度,默认1小时时间戳"),new lt([],()=>this.start(),[],"开始分析"),new lt([],()=>this.stop(),[],"结束分析")]}}};f(ea,"createDefaultProps",()=>({...Ht.createDefaultProps(),extrudedHeight:30,height:0,sampleDistance:10,startColor:ht([1,1,0,1]),endColor:ht([1,0,0,1]),startTime:0,endTime:36e6,spanTime:1,progress:0,filled:!1,stroked:!1})),f(ea,"type",ea.register("ESSunshineAnalysis",ea,{chsName:"日照分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"日照分析"})),f(ea,"supportEditingModes",[...Ht.supportEditingModes,et.HeightModify]);let Wg=ea;const Cs=class Cs extends jt{constructor(e){super(e);f(this,"_activateEvent",this.disposeVar(new I));f(this,"activate",!1)}get activateEvent(){return this._activateEvent}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"dataSource",basic:[...e.basic,new N([this,"zIndex"],"层级序号",Cs.defaults.zIndex)],dataSource:[...e.dataSource,new tt([this,"url"],"地形服务地址",Cs.defaults.url),new Wi([this,"rectangle"],"矩形范围",Cs.defaults.rectangle)],more:[...e.more,new N([this,"czmMinzoom"],"czmMinzoom",void 0,!0),new N([this,"czmMaxzoom"],"czmMaxzoom",void 0,!0)]}}};f(Cs,"createDefaultProps",()=>({...jt.createDefaultProps(),url:"http://inner.earthsdk.com/layer.json",rectangle:ht([-180,-90,180,90]),zIndex:0,czmMaxzoom:void 0,czmMinzoom:void 0})),f(Cs,"type",Cs.register("ESTerrainLayer",Cs,{chsName:"地形图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地形图层"}));let Hg=Cs;const Wr=class Wr extends di{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new Pt([this,"color"],"文本颜色",[1,1,1,1]),new N([this,"fontSize"],"文字大小",14),new $d([this,"text"],"内容",Wr.defaults.text,void 0,!0),new Pt([this,"backgroundColor"],"背景颜色",Wr.defaults.backgroundColor),new Wi([this,"padding"],"内边距",Wr.defaults.padding),new Pt([this,"borderColor"],"边界颜色"),new Wi([this,"borderRadius"],"边界圆角"),new N([this,"borderWidth"],"边界宽度")],more:[...t.more,new at([],"czm","czm"),new X([this,"textEditingInteraction"],"文本编辑交互"),new X([this,"textEditing"],"文本编辑"),new N([this,"width"],"宽度",Wr.defaults.width,!0),new N([this,"opacity"],"透明度"),new wt([this,"textAlign"],[["center","center"],["left","left"],["right","right"]],"文字位置","left"),new wt([this,"borderStyle"],[["none","none"],["hidden","hidden"],["dotted","dotted"],["dashed","dashed"],["solid","solid"],["double","double"],["groove","groove"],["ridge","ridge"],["inset","inset"],["outset","outset"]],"边框类型")]}}};f(Wr,"createDefaultProps",()=>({...di.createDefaultProps(),text:"请输入文字",width:80,textEditing:!1,textEditingInteraction:!1,opacity:1,fontSize:14,textAlign:"left",color:ht([1,1,1,1]),backgroundColor:ht([0,0,0,.8]),padding:ht([5,5,5,5]),borderRadius:ht([6,6,6,6]),borderWidth:0,borderColor:ht([1,1,1,1]),borderStyle:"solid"})),f(Wr,"type",Wr.register("ESTextLabel",Wr,{chsName:"文本标签",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"文本标签。"}));let gl=Wr;const tN=`
|
|
313
313
|
#### 默认值如下
|
|
314
314
|
\`\`\`js
|
|
315
315
|
{
|
|
@@ -354,7 +354,7 @@ export type ESJTimeIntervalCollectionJsonType = {
|
|
|
354
354
|
\`\`\`
|
|
355
355
|
${J0}
|
|
356
356
|
\`\`\`
|
|
357
|
-
`,iN="${earthsdk3-assets-script-dir}/assets/misc/2.geojson",It=class It extends jt{constructor(e){super(e);f(this,"_flyToFeatureEvent",this.dv(new I));f(this,"_flyToFeatureIndexEvent",this.dv(new I));f(this,"_features",this.disposeVar(Yt(void 0)));f(this,"pickedInfoType","FeatureCollection");f(this,"abortController");this._updateUrl(),this.ad(this.urlChanged.don(()=>{this._updateUrl()})),this.ad(this.editingChanged.don(()=>{console.warn("ESGeoJson暂不支持编辑!")}))}get flyToFeatureEvent(){return this._flyToFeatureEvent}flyToFeature(e,i,r){this._flyToFeatureEvent.emit(e,i,r)}get flyToFeatureIndexEvent(){return this._flyToFeatureIndexEvent}flyToFeatureIndex(e,i){this._flyToFeatureIndexEvent.emit(e,i)}get features(){return this._features.value}set features(e){this._features.value=e}get featuresChanged(){return this._features.changed}getFeatures(){if(this.features)return this.features;console.log("数据未加载完成,请稍后调用此方法getFeatures()")}async _updateUrl(){var i;this.abortController&&this.abortController.abort(),this.abortController=new AbortController;const e=this.abortController.signal;if(!this.url){this.features=void 0;return}typeof this.url=="object"?this.features=this.url:Kd(this.url)?this.features=JSON.parse(this.url):await fetch(Z.context.getStrFromEnv(this.url),{signal:e}).then(r=>r.json()).then(r=>{this.features=r}).catch(r=>{r.name!="AbortError"&&console.warn("ESEntityCluster数据加载失败",r)}),this.pickedInfoType=((i=this.features)==null?void 0:i.type)??"FeatureCollection"}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"style",dataSource:[...e.dataSource,new tt([this,"url"],"服务地址",It.defaults.url),new N([this,"minFeatureVisibleDistance"],"要素最小可视距离",It.defaults.minFeatureVisibleDistance),new N([this,"maxFeatureVisibleDistance"],"要素最大可视距离",It.defaults.maxFeatureVisibleDistance),new wt([this,"heightReference"],[["NONE","NONE"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["RELATIVE_TO_GROUND","RELATIVE_TO_GROUND"]],"高度参考")],style:[...e.style,new at([],"点样式集合"),new X([this,"textShow"],"是否显示",It.defaults.textShow),new Fe([this,"textAnchor"],"锚点",It.defaults.anchor),new ct([this,"textProperty"],"标注显示属性",It.defaults.textStyle.textProperty),new ct([this,"textDefaultText"],"默认文本",It.defaults.textStyle.defaultText),new Pt([this,"textColor"],"文本颜色",It.defaults.textStyle.color),new Pt([this,"textBackgroundColor"],"文本背景颜色",It.defaults.textStyle.backgroundColor),new ct([this,"textFontStyle"],"字体样式",It.defaults.textStyle.fontStyle),new ct([this,"textFontWeight"],"字体粗细",It.defaults.textStyle.fontWeight),new N([this,"textFontSize"],"字体大小",It.defaults.textStyle.fontSize),new Fe([this,"textOffset"],"像素偏移",It.defaults.textStyle.offset),new at([],"点图片样式集合"),new X([this,"imageShow"],"是否显示",It.defaults.imageShow),new Fe([this,"imageAnchor"],"锚点",It.defaults.imageStyle.anchor),new tt([this,"imageUrl"],"图片地址",It.defaults.imageStyle.url),new Fe([this,"imageSize"],"图片大小",It.defaults.imageStyle.size),new Fe([this,"imageOffset"],"像素偏移",It.defaults.imageStyle.offset),new at([],"线样式集合"),new X([this,"stroked"],"是否显示",It.defaults.stroked),new X([this,"strokeGround"],"贴地",It.defaults.strokeStyle.ground),new N([this,"strokeWidth"],"线宽",It.defaults.strokeStyle.width),new wt([this,"strokeWidthType"],It.strokeStyleWidthTypes,"线宽类型"),new Pt([this,"strokeColor"],"线颜色",It.defaults.strokeStyle.color),new ct([this,"strokeMaterial"],"线材质",It.defaults.strokeStyle.material),new tt([this,"strokeMaterialParams"],"线材质参数",It.defaults.strokeStyle.materialParams),new at([],"面样式集合"),new X([this,"filled"],"是否显示",It.defaults.filled),new X([this,"fillGround"],"贴地",It.defaults.fillStyle.ground),new Pt([this,"fillColor"],"填充颜色",It.defaults.fillStyle.color),new ct([this,"fillMaterial"],"填充材质",It.defaults.fillStyle.material),new tt([this,"fillMaterialParams"],"填充材质参数",It.defaults.fillStyle.materialParams)],more:[...e.more,new at([],"标注文本样式"),new ct([this,"textFontFamily"],"字体",It.defaults.textStyle.fontFamily),new at([],"通用"),new Rs([this,"loadFuncStr"],"loadFnStr",J0,nN,!0)]}}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(e){this.strokeStyle={...this.strokeStyle,width:e}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(e){this.strokeStyle={...this.strokeStyle,widthType:e}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(e){this.strokeStyle={...this.strokeStyle,color:[...e]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(e){this.strokeStyle={...this.strokeStyle,material:e}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(e){this.strokeStyle={...this.strokeStyle,materialParams:e}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(e){this.strokeStyle={...this.strokeStyle,ground:e}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(e){this.fillStyle={...this.fillStyle,color:[...e]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(e){this.fillStyle={...this.fillStyle,material:e}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(e){this.fillStyle={...this.fillStyle,materialParams:e}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(e){this.fillStyle={...this.fillStyle,ground:e}}get fillGroundChanged(){return this.fillStyleChanged}get textProperty(){return this.textStyle.textProperty}set textProperty(e){this.textStyle={...this.textStyle,textProperty:e}}get textPropertyChanged(){return this.textStyleChanged}get textDefaultText(){return this.textStyle.defaultText}set textDefaultText(e){this.textStyle={...this.textStyle,defaultText:e}}get textDefaultTextChanged(){return this.textStyleChanged}get textColor(){return this.textStyle.color}set textColor(e){this.textStyle={...this.textStyle,color:e}}get textColorChanged(){return this.textStyleChanged}get textBackgroundColor(){return this.textStyle.backgroundColor}set textBackgroundColor(e){this.textStyle={...this.textStyle,backgroundColor:e}}get textBackgroundColorChanged(){return this.textStyleChanged}get textFontFamily(){return this.textStyle.fontFamily}set textFontFamily(e){this.textStyle={...this.textStyle,fontFamily:e}}get textFontFamilyChanged(){return this.textStyleChanged}get textFontStyle(){return this.textStyle.fontStyle}set textFontStyle(e){this.textStyle={...this.textStyle,fontStyle:e}}get textFontStyleChanged(){return this.textStyleChanged}get textFontWeight(){return this.textStyle.fontWeight}set textFontWeight(e){this.textStyle={...this.textStyle,fontWeight:e}}get textFontWeightChanged(){return this.textStyleChanged}get textFontSize(){return this.textStyle.fontSize}set textFontSize(e){this.textStyle={...this.textStyle,fontSize:e}}get textFontSizeChanged(){return this.textStyleChanged}get textAnchor(){return this.textStyle.anchor}set textAnchor(e){this.textStyle={...this.textStyle,anchor:e}}get textAnchorChanged(){return this.textStyleChanged}get textOffset(){return this.textStyle.offset}set textOffset(e){this.textStyle={...this.textStyle,offset:e}}get textOffsetChanged(){return this.textStyleChanged}get imageUrl(){return this.imageStyle.url}set imageUrl(e){this.imageStyle={...this.imageStyle,url:e}}get imageUrlChanged(){return this.imageStyleChanged}get imageSize(){return this.imageStyle.size}set imageSize(e){this.imageStyle={...this.imageStyle,size:e}}get imageSizeChanged(){return this.imageStyleChanged}get imageAnchor(){return this.imageStyle.anchor}set imageAnchor(e){this.imageStyle={...this.imageStyle,anchor:e}}get imageAnchorChanged(){return this.imageStyleChanged}get imageOffset(){return this.imageStyle.offset}set imageOffset(e){this.imageStyle={...this.imageStyle,offset:e}}get imageOffsetChanged(){return this.imageStyleChanged}};f(It,"createDefaultProps",()=>({...jt.createDefaultProps(),show:!0,allowPicking:!0,loadFuncStr:void 0,url:iN,stroked:!0,strokeStyle:mt({width:1,widthType:"world",color:[.79,.91,.06,1],material:"",materialParams:{},ground:!1}),filled:!0,fillStyle:mt({color:[.79,.91,.06,.2],material:"",materialParams:{},ground:!1}),imageShow:!0,imageStyle:mt({url:"${earthsdk3-assets-script-dir}/assets/img/location.png",size:[32,32],anchor:[.5,1],offset:[0,0]}),textShow:!0,textStyle:mt({textProperty:"",defaultText:"默认标注",color:[1,1,1,1],backgroundColor:void 0,fontFamily:"Arial",fontSize:16,fontStyle:"normal",fontWeight:"normal",anchor:[0,1],offset:[16,-8]}),minFeatureVisibleDistance:0,maxFeatureVisibleDistance:0,heightReference:"NONE"})),f(It,"type",It.register("ESGeoJson",It,{chsName:"ESGeoJson",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"GeoJson数据加载"})),f(It,"strokeStyleWidthTypes",[["screen","screen"],["world","world"]]);let ch=It;const ia=class ia extends bt{constructor(e){super(e);f(this,"editingBindMode","doublePoints");f(this,"_height",this.disposeVar(B(0)));{const i=()=>{this.height=this.points&&this.points.length>=2?this.points[1][2]-this.points[0][2]:0};i(),this.ad(this.pointsChanged.don(i))}}get height(){return this._height.value}set height(e){this._height.value=e}get heightChanged(){return this._height.changed}};f(ia,"createDefaultProps",()=>({...bt.createDefaultProps(),stroked:!0,strokeStyle:mt({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),f(ia,"type",ia.register("ESHeightMeasurement",ia,{chsName:"高度测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"高度测量"})),f(ia,"supportEditingModes",[...bt.supportEditingModes,et.DoublePointsAppend,et.DoublePointsModify]);let Zg=ia;const Dl=class Dl extends _s{constructor(e){super(e);f(this,"_area",this.dv(B(0)));f(this,"_perimeter",this.dv(B(0)));f(this,"editingBindMode","doublePoints");const i=()=>{this._area.value=Math.PI*this.radius*this.radius,this._perimeter.value=2*Math.PI*this.radius};i(),this.d(this.radiusChanged.don(i))}get area(){return this._area.value}get areaChanged(){return this._area.changed}get perimeter(){return this._perimeter.value}get perimeterChanged(){return this._perimeter.changed}toPolygon(e=10,i){return I0([...this.position],this.radius,e,i)[0].map(s=>[...s,this.position?this.position[2]:0])}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"style",basic:[...e.basic,new N([this,"radius"],"圆半径",1,!0)],coordinate:[...e.coordinate,new X([this,"editing"],"是否编辑"),new Ea([this,"position"],"三维坐标",[0,0,0],!0),new N([this,"area"],"面积",0,!1,!0),new N([this,"perimeter"],"周长",0,!1,!0)]}}};f(Dl,"createDefaultProps",()=>({..._s.createDefaultProps(),radius:1,filled:!0,collision:!1,fillStyle:mt({color:[1,1,1,.5],material:"",materialParams:{},ground:!1})})),f(Dl,"type",Dl.register("ESLocalCircle",Dl,{chsName:"局部坐标圆形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalCircle"}));let tp=Dl;const Rl=class Rl extends _s{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new tv([this,"points"],"坐标",[])]}}};f(Rl,"createDefaultProps",()=>({..._s.createDefaultProps(),points:_g([]),filled:!0})),f(Rl,"type",Rl.register("ESLocalPolygon",Rl,{chsName:"局部2D坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygon"}));let dh=Rl;const Al=class Al extends fl{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new Jd([this,"points"],"本地位置数组")]}}};f(Al,"createDefaultProps",()=>({...fl.createDefaultProps(),points:Sh(void 0),filled:!0})),f(Al,"type",Al.register("ESLocalPolygonZ",Al,{chsName:"局部坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygonZ"}));let ep=Al;const Ll=class Ll extends _s{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new N([this,"width"],"宽度"),new N([this,"height"],"高度")]}}};f(Ll,"createDefaultProps",()=>({..._s.createDefaultProps(),width:5e5,height:3e5,filled:!0})),f(Ll,"type",Ll.register("ESLocalRectangle",Ll,{chsName:"局部坐标四边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalRectangle"}));let np=Ll;const Cs=class Cs extends bt{constructor(e){super(e);f(this,"editingBindMode","lineString");f(this,"_distance",this.dv(B(0)));f(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);f(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());const i=()=>{if(this.points&&this.points.length>=2){const r=ah(this.points,"GEODESIC"),s=r[r.length-1];this._distance.value=s}else this._distance.value=0};i(),this.d(this.pointsChanged.don(i))}get distance(){return this._distance.value}get distanceChanged(){return this._distance.changed}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new N([this,"height"],"高度",10),new N([this,"width"],"宽度",10),new wt([this,"materialMode"],Cs.materialModes,"模式","purple")],coordinate:[...e.coordinate,new N([this,"distance"],"距离",0,!1,!0)]}}};f(Cs,"createDefaultProps",()=>({...bt.createDefaultProps(),height:10,width:10,materialMode:"singleArrow",filled:!0,stroked:!0,fillStyle:mt({color:[1,0,.73,1],material:"",materialParams:{},ground:!1})})),f(Cs,"type",Cs.register("ESPipeFence",Cs,{chsName:"管道电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"管道电子围栏"})),f(Cs,"materialModes",[["单箭头","singleArrow"],["多箭头","multipleArrows"],["纯色","color"]]),f(Cs,"supportEditingModes",[...bt.supportEditingModes,et.LineStringAppend,et.LineStringInsert]);let Zc=Cs;const Ss=class Ss extends ki{constructor(e){super(e);f(this,"_setLayerVisibleEvent",this.dv(new I));f(this,"_setLayerColorEvent",this.dv(new I))}get setLayerVisibleEvent(){return this._setLayerVisibleEvent}setLayerVisible(e,i){this._setLayerVisibleEvent.emit(e,i)}get setLayerColorEvent(){return this._setLayerColorEvent}setLayerColor(e,i){this._setLayerColorEvent.emit(e,i)}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new at([],"ESPipeserTileset"),new lt(["string","string"],(i,r)=>this.setLayerVisible(i,r),["",""],"setLayerVisible"),new lt(["string","string"],(i,r)=>this.setLayerColor(i,r),["",""],"setLayerColor"),new wt([this,"colorMode"],Ss.colorModes,"colorMode",Ss.defaults.colorMode,!0)]}}};f(Ss,"createDefaultProps",()=>({...ki.createDefaultProps(),colorMode:"default"})),f(Ss,"type",Ss.register("ESPipeserTileset",Ss,{chsName:"PipeSer图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"PipeSer图层"})),f(Ss,"colorModes",[["default","default"],["color","color"],["blend","blend"]]);let ip=Ss;const bs=class bs extends bt{constructor(e){super(e);f(this,"editingBindMode","circular")}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",coordinate:[...e.coordinate,new N([this,"area"],"面积",0,!1,!0),new N([this,"perimeter"],"周长",0,!1,!0)],basic:[...e.basic,new N([this,"height"],"高度",10),new wt([this,"materialMode"],bs.materialModes,"模式","danger")]}}};f(bs,"createDefaultProps",()=>({...bt.createDefaultProps(),height:10,materialMode:"danger",filled:!0,collision:!1})),f(bs,"type",bs.register("ESPolygonFence",bs,{chsName:"多边形电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"多边形电子围栏"})),f(bs,"materialModes",[["模式一","danger"],["模式二","checkerboard"],["模式三","warning"],["模式四","cord"],["模式五","scanline"],["模式六","honeycomb"],["模式七","gradientColor"]]),f(bs,"supportEditingModes",[...bt.supportEditingModes,et.CircularAppend,et.CircularInsert,et.HeightModify]);let td=bs;const ao=class ao extends bt{constructor(e){super(e);f(this,"_deprecated",["ground"]);f(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());f(this,"editingBindMode","doublePoints")}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new at([],"通用","通用"),new X([this,"ground"],"是否贴地"),new X([this,"outlineTranslucent"],"轮廓线半透明"),new N([this,"height"],"高度"),new N([this,"extrudedHeight"],"拉伸高度"),new Wi([this,"rectangle"],"范围",ao.defaults.rectangle,!0),new N([this,"stRotation"],"纹理旋转角度"),new N([this,"rotation"],"旋转角度"),new X([this,"pointEditing"],"是否单点编辑")]}}};f(ao,"createDefaultProps",()=>({...bt.createDefaultProps(),ground:!1,outlineTranslucent:!0,height:0,extrudedHeight:0,rectangle:ee(void 0),rotation:0,stRotation:0,pointEditing:!1,filled:!0})),f(ao,"type",ao.register("ESRectangle",ao,{chsName:"矩形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"矩形"})),f(ao,"supportEditingModes",[...bt.supportEditingModes,et.DoublePointsAppend,et.DoublePointsModify]);let rp=ao;const Fl=class Fl extends Ht{getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new tt([this,"innerRings"],"裁切多边形数组",[],void 0,!0)]}}};f(Fl,"createDefaultProps",()=>({...Ht.createDefaultProps(),innerRings:Yp([])})),f(Fl,"type",Fl.register("ESPolygonWithHole",Fl,{chsName:"内部裁切多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"带洞多边形"}));let sp=Fl;const lo=class lo extends Ht{constructor(e){super(e);f(this,"_startEvent",this.disposeVar(new I));f(this,"_stopEvent",this.dv(new I));f(this,"_surfaceArea",this.disposeVar(B(0)))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get stopEvent(){return this._stopEvent}stop(){this._stopEvent.emit()}get surfaceArea(){return this._surfaceArea.value}set surfaceArea(e){this._surfaceArea.value=e}get surfaceChanged(){return this._surfaceArea.changed}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new at([],"表面积测量","表面积测量"),new lt([],()=>this.start(),[],"开始计算"),new N([this,"interpolation"],"插值距离",lo.defaults.interpolation),new N([this,"offsetHeight"],"偏移高度",lo.defaults.offsetHeight)]}}};f(lo,"createDefaultProps",()=>({...Ht.createDefaultProps(),interpolation:.5,offsetHeight:0,units:ht(["SquareMeter_SquareKilometer","MU_Hectare"]),fillStyle:mt({color:[1,1,1,.5],material:"",materialParams:{},ground:!0})})),f(lo,"type",lo.register("ESSurfaceAreaMeasurement",lo,{chsName:"表面积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"表面积测量"}));let op=lo;const uo=class uo extends rt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new N([this,"downloadProgress"],"下载进度",uo.defaults.downloadProgress,!0,!0),new tt([this,"importOptions"],"导入参数",uo.defaults.importOptions,void 0,!0)],dataSource:[...t.dataSource,new tt([this,"url"],"路径")]}}};f(uo,"createDefaultProps",()=>({...rt.createDefaultProps(),url:"",importOptions:Yt({buildCollisions:"QueryAndPhysics",buildHierarchy:"Simplified",collisionType:"CTF_UseComplexAsSimple",bImportMetaData:!0}),downloadProgress:0})),f(uo,"type",uo.register("ESDatasmithRuntimeModel",uo,{chsName:"Datasmith Model",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Datasmith Model"}));let ap=uo;const bn=class bn extends dh{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new wt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型",bn.defaults.waterType),new N([this,"frequency"],"频率",bn.defaults.frequency),new Ge([this,"amplitude"],.01,[0,1],"振幅",bn.defaults.amplitude),new Ge([this,"flowDirection"],1,[0,360],"流向",bn.defaults.flowDirection),new Ge([this,"waveVelocity"],.01,[0,1],"波动频率",bn.defaults.waveVelocity),new Ge([this,"specularIntensity"],.01,[0,1],"镜面反射强度",bn.defaults.specularIntensity),new Ge([this,"murkiness"],.1,[0,10],"水体浑浊度",bn.defaults.murkiness),new N([this,"flowSpeed"],"水流速度",bn.defaults.flowSpeed),new Pt([this,"waterColor"],"水的底色",bn.defaults.waterColor),new tt([this,"waterImage"],"水的图片",bn.defaults.waterImage)]}}};f(bn,"createDefaultProps",()=>({...dh.createDefaultProps(),allowPicking:!0,waterImage:Yt(void 0),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowDirection:0,flowSpeed:0,murkiness:5,stroked:!1,filled:!0})),f(bn,"type",bn.register("ESDynamicWater",bn,{chsName:"动态水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"局部多边形水面"}));let lp=bn;const Pn=class Pn extends Ht{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new wt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型",Pn.defaults.waterType),new N([this,"frequency"],"频率",Pn.defaults.frequency),new Ge([this,"amplitude"],.01,[0,1],"振幅",Pn.defaults.amplitude),new Ge([this,"flowDirection"],1,[0,360],"流向",Pn.defaults.flowDirection),new Ge([this,"waveVelocity"],.01,[0,1],"波动频率",Pn.defaults.waveVelocity),new Ge([this,"specularIntensity"],.01,[0,1],"镜面反射强度",Pn.defaults.specularIntensity),new Ge([this,"murkiness"],.1,[0,10],"水体浑浊度",Pn.defaults.murkiness),new N([this,"flowSpeed"],"水流速度",Pn.defaults.flowSpeed),new Pt([this,"waterColor"],"水的底色",Pn.defaults.waterColor),new tt([this,"waterImage"],"水的图片",Pn.defaults.waterImage)]}}};f(Pn,"createDefaultProps",()=>({...Ht.createDefaultProps(),allowPicking:!0,waterImage:Yt({}),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowDirection:0,flowSpeed:0,murkiness:5})),f(Pn,"type",Pn.register("ESGeoWater",Pn,{chsName:"地理水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地理动态水面"}));let up=Pn;const ra=class ra extends rt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new N([this,"downloadProgress"],"下载进度",ra.defaults.downloadProgress,!0,!0),new ct([this,"levelName"],"levelName",""),new N([this,"levelLoadDistance"],"levelLoadDistance",1e3),new cn([this,"levelOffset"],"levelOffset",[0,0,0])],dataSource:[...t.dataSource,new tt([this,"url"],"url","")]}}};f(ra,"createDefaultProps",()=>({...rt.createDefaultProps(),url:"",downloadProgress:0,levelName:"",levelOffset:ht([0,0,0]),levelLoadDistance:1e3})),f(ra,"type",ra.register("ESLevelRuntimeModel",ra,{chsName:"关卡包模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"关卡包模型"}));let hp=ra;const fi=class fi extends ws{constructor(e){super(e);f(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);f(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})())}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new N([this,"radius"],"半径",fi.defaults.radius),new N([this,"sides"],"圆边数",fi.defaults.sides),new N([this,"speed"],"材质速度",fi.defaults.speed),new wt([this,"materialMode"],fi.materialModes,"材质模式",fi.defaults.materialMode),new tt([this,"materialImage"],"材质图片和重复度",fi.defaults.materialImage)]}}};f(fi,"createDefaultProps",()=>({...ws.createDefaultProps(),radius:10,sides:10,materialMode:"singleArrow",materialImage:mt({url:"",uDis:50,vDis:10}),speed:1,filled:!0,stroked:!1,fillStyle:mt({color:[1,0,.73,1],material:"",materialParams:{},ground:!1})})),f(fi,"type",fi.register("ESPipeline",fi,{chsName:"管线",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPipeline"})),f(fi,"materialModes",[["单箭头","singleArrow"],["多箭头","multipleArrows"]]);let cp=fi;const Xr=class Xr extends bt{constructor(e){super(e);f(this,"editingBindMode","visibility")}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Pt([this,"visibleColor"],"可视区域颜色",Xr.defaults.visibleColor),new Pt([this,"invisibleColor"],"遮挡区域颜色",Xr.defaults.invisibleColor),new N([this,"heightOffset"],"视点高度偏移",Xr.defaults.heightOffset)]}}};f(Xr,"createDefaultProps",()=>({...bt.createDefaultProps(),visibleColor:ht([0,1,0,1]),invisibleColor:ht([1,0,0,1]),heightOffset:0})),f(Xr,"type",Xr.register("ESVisibilityAnalysis",Xr,{chsName:"通视分析,视线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通视分析,视线分析"})),f(Xr,"supportEditingModes",[...bt.supportEditingModes,et.VisibilityAppend,et.VisibilityModify]);let dp=Xr;const kl=class kl extends Ht{constructor(e){super(e);f(this,"_startEvent",this.dv(new I));f(this,"_clearEvent",this.dv(new I));f(this,"_volume",this.disposeVar(B(0)))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get clearEvent(){return this._clearEvent}clear(){this._clearEvent.emit()}get volume(){return this._volume.value}set volume(e){this._volume.value=e}get volumeChanged(){return this._volume.changed}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new at([],"通用","通用"),new N([this,"planeHeight"],"基准面高程",void 0,!0),new N([this,"gridWidth"],"采样间距 m"),new N([this,"cutVolume"],"挖方",0,!1,!0),new N([this,"fillVolume"],"填方",0,!1,!0),new N([this,"cutAndFillVolume"],"挖填方",0,!1,!0),new N([this,"progress"],"计算进度",0,!1,!0),new lt([],()=>this.start(),[],"开始分析"),new lt([],()=>this.clear(),[],"清空分析结果"),new X([this,"depthTest"],"是否开启深度检测")]}}};f(kl,"createDefaultProps",()=>({...Ht.createDefaultProps(),planeHeight:B(void 0),gridWidth:1,cutVolume:0,fillVolume:0,cutAndFillVolume:0,progress:0,depthTest:!1,filled:!1,stroked:!0,strokeStyle:mt({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),f(kl,"type",kl.register("ESVolumeMeasurement",kl,{chsName:"体积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"体积测量"}));let fp=kl;const Bl=class Bl extends Go{constructor(e){super(e);f(this,"_human",this.dv(new Go));f(this,"_poi",this.dv(new hh));this.d(this.components.disposableAdd(this._human,!0)),this.d(this.components.disposableAdd(this._poi));{const{_human:i,_poi:r}=this;this.d(z([i,"show"],[this,"show"])),this.d(z([r,"show"],[this,"show"])),this.d(z([i,"allowPicking"],[this,"allowPicking"])),this.d(z([r,"allowPicking"],[this,"allowPicking"])),this.d(nt([i,"scale"],[this,"scale"])),this.d(nt([r,"scale"],[this,"scale"])),this.d(z([i,"collision"],[this,"collision"])),this.d(z([r,"collision"],[this,"collision"])),this.d(nt([i,"flyInParam"],[this,"flyInParam"])),this.d(nt([i,"flyToParam"],[this,"flyToParam"])),this.d(z([i,"animation"],[this,"animation"])),this.d(z([i,"mode"],[this,"mode"])),this.d(z([i,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(z([i,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(z([r,"name"],[this,"name"])),this.d(z([r,"mode"],[this,"poiMode"])),this.d(z([r,"autoAnchor"],[this,"autoAnchor"])),this.d(z([r,"screenRender"],[this,"screenRender"])),this.d(z([r,"size"],[this,"size"])),this.d(z([r,"anchor"],[this,"anchor"])),this.d(z([r,"sizeByContent"],[this,"sizeByContent"])),this.d(z([r,"renderMode"],[this,"renderMode"])),this.d(z([r,"rotationType"],[this,"rotationType"])),this.d(z([r,"zOrder"],[this,"zOrder"])),this.d(z([r,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(z([r,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(nt([i,"position"],[this,"position"])),this.d(nt([i,"rotation"],[this,"rotation"])),this.d(this.flyInEvent.don(s=>{i.flyIn(s)})),this.d(this.flyToEvent.don(s=>{i.flyTo(s)})),this.d(this.calcFlyToParamEvent.don(()=>{i.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{i.calcFlyInParam()})),this.d(this.smoothMoveEvent.don((s,o)=>{i.smoothMove(s,o)})),this.d(this.smoothMoveWithRotationEvent.don((s,o,a)=>{i.smoothMoveWithRotation(s,o,a)})),this.d(this.smoothMoveOnGroundEvent.don((s,o,a,l)=>{i.smoothMoveOnGround(s,o,a,l)})),this.d(this.smoothMoveWithRotationOnGroundEvent.don((s,o,a,l,u)=>{i.smoothMoveWithRotationOnGround(s,o,a,l,u)})),this.d(this.automaticLandingEvent.don(()=>{i.automaticLanding()}))}}get human(){return this._human}get poi(){return this._poi}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new wt([this,"poiMode"],hh.modes,"poi模式","SquareH01"),new N([this,"poiOffsetHeight"],"poi高度偏移",1.8)]}}};f(Bl,"createDefaultProps",()=>({poiOffsetHeight:1.8,poiMode:"SquareH01",style:mt({}),autoAnchor:!0,screenRender:!0,size:ht([100,100]),anchor:ht([.5,1]),sizeByContent:!0,renderMode:0,rotationType:1,zOrder:0,...Go.createDefaultProps()})),f(Bl,"type",Bl.register("ESHumanPoi",Bl,{chsName:"人员poi",tags:["ESObjects"],description:"ESHuman + ESPoi2D组合对象"}));let gp=Bl;const vr=class vr extends Ht{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new N([this,"depth"],"深度",vr.defaults.depth),new N([this,"interpolation"],"插值",vr.defaults.interpolation),new N([this,"opacity"],"透明度",vr.defaults.opacity),new tt([this,"sideImage"],"侧面图片",vr.defaults.sideImage),new tt([this,"bottomImage"],"底面图片",vr.defaults.bottomImage)]}}};f(vr,"createDefaultProps",()=>({...Ht.createDefaultProps(),depth:100,sideImage:mt({url:Z.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/side.jpg"),uDis:50,vDis:50}),bottomImage:mt({url:Z.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/bottom.jpg"),uDis:50,vDis:50}),opacity:1,interpolation:50,collision:!1,allowPicking:!1,filled:!0})),f(vr,"type",vr.register("ESPit",vr,{chsName:"坑",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"坑"}));let pl=vr;const Vl=class Vl extends pl{constructor(e){super(e);f(this,"_excavate",this.dv(new uh));f(this,"_pit",this.dv(new pl));this.d(this.components.disposableAdd(this._excavate)),this.d(this.components.disposableAdd(this._pit,!0));{const{_excavate:i,_pit:r}=this;this.d(z([i,"show"],[this,"show"])),this.d(z([r,"show"],[this,"show"])),this.d(z([i,"allowPicking"],[this,"allowPicking"])),this.d(z([r,"allowPicking"],[this,"allowPicking"])),this.d(z([i,"collision"],[this,"collision"])),this.d(z([r,"collision"],[this,"collision"])),this.d(nt([r,"points"],[this,"points"])),this.d(z([i,"points"],[this,"points"])),this.d(z([r,"pointed"],[this,"pointed"])),this.d(z([i,"pointed"],[this,"pointed"])),this.d(z([r,"pointStyle"],[this,"pointStyle"])),this.d(z([i,"pointStyle"],[this,"pointStyle"])),this.d(z([r,"stroked"],[this,"stroked"])),this.d(z([i,"stroked"],[this,"stroked"])),this.d(z([r,"strokeStyle"],[this,"strokeStyle"])),this.d(z([i,"strokeStyle"],[this,"strokeStyle"])),this.d(z([r,"filled"],[this,"filled"])),this.d(z([r,"fillStyle"],[this,"fillStyle"])),this.d(z([i,"fillStyle"],[this,"fillStyle"])),this.d(z([i,"mode"],[this,"mode"])),this.d(z([i,"targetID"],[this,"targetID"])),this.d(z([r,"depth"],[this,"depth"])),this.d(z([r,"sideImage"],[this,"sideImage"])),this.d(z([r,"bottomImage"],[this,"bottomImage"])),this.d(z([r,"opacity"],[this,"opacity"])),this.d(z([r,"interpolation"],[this,"interpolation"])),this.d(nt([r,"flyInParam"],[this,"flyInParam"])),this.d(nt([r,"flyToParam"],[this,"flyToParam"])),this.d(this.flyInEvent.don(s=>{r.flyIn(s)})),this.d(this.flyToEvent.don(s=>{r.flyTo(s)})),this.d(this.calcFlyToParamEvent.don(()=>{r.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{r.calcFlyInParam()}))}}get excavate(){return this._excavate}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new wt([this,"mode"],uh.modes,"模式","in"),new ct([this,"targetID"],"瓦片图层","")]}}};f(Vl,"createDefaultProps",()=>({...pl.createDefaultProps(),mode:"in",targetID:""})),f(Vl,"type",Vl.register("ESHole",Vl,{chsName:"挖坑(带材质+深度)",tags:["ESObjects"],description:"挖坑"}));let pp=Vl;const mp={layerconfigfind:"/ts/layer/config/get",layerconfigsave:"/ts/layer/config/put",featureproperty:"/ts/editor/property",featureeditormuti:"/ts/editor/update",getts:"/ts/info"},rN=async(n,t,e,i)=>{try{const r=window.localStorage.getItem("Authorization");let s=n+`${mp.layerconfigfind}?tileServiceName=${t}`;e&&(s+=`&earthdstoken=${encodeURIComponent(i)}`);const o={headers:{...!e&&r?{Authorization:r}:{}},mode:"cors"},l=await(await fetch(s,o)).text();return JSON.parse(l)}catch(r){console.error(r)}},sN=async(n,t,e,i,r)=>{try{const s=window.localStorage.getItem("Authorization");let o=n+mp.layerconfigsave;const a=r??{};e&&(o+=`?earthdstoken=${encodeURIComponent(i)}`);const l={method:"POST",headers:{"Content-Type":"application/json",...!e&&s?{Authorization:s}:{}},mode:"cors",body:JSON.stringify({tileServiceName:t,layerConfig:JSON.stringify(a)})},h=await(await fetch(o,l)).text();return JSON.parse(h)}catch(s){console.error(s)}},oN=async(n,t,e)=>{try{const i=window.localStorage.getItem("Authorization");let r=n;t&&(r+=`?earthdstoken=${encodeURIComponent(e)}`);const s={headers:{...!t&&i?{Authorization:i}:{}},mode:"cors"},a=await(await fetch(r,s)).text(),l=JSON.parse(a);if(l.status=="ok")return l.data.port;console.error(l.status);return}catch(i){console.error(i)}},aN=async(n,t,e,i,r)=>{try{const s={tileServiceName:t,featureId:e},o=window.localStorage.getItem("Authorization");let a=n+mp.featureproperty;i&&(a+=`?earthdstoken=${encodeURIComponent(r)}`);const u=await(await fetch(a,{method:"post",headers:{"Content-Type":"application/json",...!i&&o?{Authorization:o}:{}},body:JSON.stringify(s),mode:"cors"})).text(),h=JSON.parse(u);if(h.status=="ok")return h.data;console.error(h.data.status);return}catch(s){console.error(s)}},zl=class zl extends ki{constructor(e){super(e);f(this,"_es3DTileset",this.dv(new ki));f(this,"_ids",this.dv(mt([])));f(this,"_useEarthDSToken",this.dv(B(!1)));f(this,"_earthdstoken",this.dv(B("")));f(this,"_visJson",this.disposeVar(B({})));f(this,"_highlightInner3DtilesetEvent",this.dv(new I));f(this,"_removeHighlightInner3DtilesetEvent",this.dv(new I));f(this,"_tilesetServePort",this.dv(B("")));{const i=async()=>{if(typeof this.url!="string"){console.error("服务地址不合法, Init Error! 示例: http://localhost:9009/ts/info/ts01");return}this.url?this.refresh():this._es3DTileset.url=""};this.d(this.urlChanged.don(()=>{i()}))}{this.d(this.components.disposableAdd(this._es3DTileset,!0));const i=this._es3DTileset;this.d(z([i,"allowPicking"],[this,"allowPicking"])),this.d(z([i,"collision"],[this,"collision"])),this.d(nt([i,"flyToParam"],[this,"flyToParam"])),this.d(nt([i,"flyToParam"],[this,"flyToParam"])),this.d(z([i,"actorTag"],[this,"actorTag"])),this.d(z([i,"materialMode"],[this,"materialMode"])),this.d(z([i,"highlight"],[this,"highlight"])),this.d(z([i,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(z([i,"highlightID"],[this,"highlightID"])),this.d(z([i,"highlightColor"],[this,"highlightColor"])),this.d(nt([i,"offset"],[this,"offset"])),this.d(nt([i,"rotation"],[this,"rotation"])),this.d(z([i,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(z([i,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(z([i,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(z([i,"czmClassificationType"],[this,"czmClassificationType"])),this.d(z([i,"czmStyleJson"],[this,"czmStyleJson"])),this.d(z([i,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(z([i,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(z([i,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(z([i,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(z([i,"colorBlendMode"],[this,"colorBlendMode"])),this.d(z([i,"cacheBytes"],[this,"cacheBytes"])),this.d(z([i,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(z([i,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(z([i,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(z([i,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(z([i,"materialParams"],[this,"materialParams"])),this.d(nt([i,"supportEdit"],[this,"supportEdit"])),this.d(nt([i,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d(nt([i,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d(nt([i,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d(nt([i,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d(nt([i,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d(nt([i,"excavateId"],[this,"excavateId"]))}{const i=this._es3DTileset;this.d(this.refreshTilesetEvent.don(()=>{i.refreshTileset()})),this.d(this.highlightFeatureEvent.don((...r)=>{i.highlightFeature(...r)})),this.d(this.highlightFeatureAndFlyToEvent.don((...r)=>{i.highlightFeatureAndFlyTo(...r)})),this.d(this.setFeatureColorEvent.don((...r)=>{i.setFeatureColor(...r)})),this.d(this.setFeatureVisableEvent.don((...r)=>{i.setFeatureVisable(...r)})),this.d(this.resetFeatureStyleEvent.don((...r)=>{i.resetFeatureStyle(...r)})),this.d(this.setFeatureStyleEvent.don((...r)=>{i.setFeatureStyle(...r)})),this.d(this.flyInEvent.don((...r)=>{i.flyIn(r[0])})),this.d(this.flyToEvent.don((...r)=>{i.flyTo(r[0])})),this.d(this.calcFlyToParamEvent.don((...r)=>{i.calcFlyToParam(...r)})),this.d(this.calcFlyInParamEvent.don((...r)=>{i.calcFlyInParam(...r)}))}{const i=this._es3DTileset;this.d(i.tilesetReady.don(r=>{this.tilesetReady.emit(r)})),this.d(i.pickedEvent.don(r=>{r.assign({sceneObject:this}),this.pickedEvent.emit(r)}))}{const i=()=>{this.es3DTileset.show=this.show};i(),this.d(this.showChanged.don(()=>{i()}))}}get es3DTileset(){return this._es3DTileset}get ids(){return this._ids.value}get idsChanged(){return this._ids.changed}set ids(e){this._ids.value=e}get useEarthDSToken(){return this._useEarthDSToken.value}get useEarthDSTokenChanged(){return this._useEarthDSToken.changed}set useEarthDSToken(e){this._useEarthDSToken.value=e}get earthdstoken(){return this._earthdstoken.value}get earthdstokenChanged(){return this._earthdstoken.changed}set earthdstoken(e){this._earthdstoken.value=e}get visJson(){return this._visJson.value}set visJson(e){this._visJson.value=e}get visJsonChanged(){return this._visJson.changed}setFeatureVisable(e,i){var r;if((r=this.layerConfig)!=null&&r.length){const s={};s[i[0].value]=i[0].visable,this.visJson={...this.visJson,...s}}else this.setFeatureVisableEvent.emit(e,typeof i=="string"?JSON.parse(i):i)}async getFeatureProperty(e){return await aN(this.baseUrl,this.tileServiceName,e,this.useEarthDSToken,this.earthdstoken)}async getLayerConfig(){const e=await rN(this.baseUrl,this.tileServiceName,this.useEarthDSToken,this.earthdstoken);return!e||!Array.isArray(e)?this.layerConfig=[]:this.layerConfig=e,this.layerConfig}async saveLayerConfig(){const e=this.layerConfig;return await sN(this.baseUrl,this.tileServiceName,this.useEarthDSToken,this.earthdstoken,e)}get highlightInner3DtilesetEvent(){return this._highlightInner3DtilesetEvent}_highlightInner3Dtileset(e){this._highlightInner3DtilesetEvent.emit(e)}async highlightDSFeature(e){this._highlightInner3Dtileset(e)}get removeHighlightInner3DtilesetEvent(){return this._removeHighlightInner3DtilesetEvent}_removeHighlightInner3Dtileset(e){this._removeHighlightInner3DtilesetEvent.emit(e)}async removeHighlightDSFeature(e){this._removeHighlightInner3Dtileset(e)}async pickFeature(e,i){var a,l,u;const r=await e.pick(i),s=r.sceneObject;return!s||s.id!==this.id&&s.typeName!="ESRtsFeatureEditing"?void 0:s.typeName!="ESRtsFeatureEditing"?(this.ids=[...this.ids,(a=r==null?void 0:r.tilesetPickInfo)==null?void 0:a.id],{featureId:(l=r==null?void 0:r.tilesetPickInfo)==null?void 0:l.id,pickInnerFields:r==null?void 0:r.tilesetPickInfo}):{featureId:(u=r==null?void 0:r.sceneObject)==null?void 0:u.id,pickInnerFields:r==null?void 0:r.tilesetPickInfo}}get tilesetServePort(){return this._tilesetServePort.value}get tilesetServePortChanged(){return this._tilesetServePort.changed}set tilesetServePort(e){this._tilesetServePort.value=e}async getport(){const e=await oN(this.url,this.useEarthDSToken,this.earthdstoken);if(e)return this.tilesetServePort=e,e;throw new Error("服务地址port获取失败!")}async refresh(){var r;if(!this.url||typeof this.url!="string")return;const e=(r=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:r[1],i=+new Date;if(e){const s=this.tileServiceIp,o=await this.getport();await this.getLayerConfig(),this._es3DTileset.url=`${s}:${o}/tiles/tileset.json?t=${i}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var e;if(this.url&&typeof this.url=="string"){const i=(e=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:e[1];if(!i)throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ts01");return i}else throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ts01")}get tileServiceName(){var e;if(this.url&&typeof this.url=="string"){const i=(e=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:e[1];if(!i)throw console.log(this.url),new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01,");return i}else throw new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceIp(){var e;if(this.url&&typeof this.url=="string"){const i=(e=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:e[1];if(!i)throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ts01");return i}else throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ts01")}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new tt([this,"layerConfig"],"图层配置",[],void 0,!0)]}}};f(zl,"createDefaultProps",()=>({...ki.createDefaultProps(),layerConfig:Yt([])})),f(zl,"type",zl.register("ESRtsTileset",zl,{chsName:"CIMRTS实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let vp=zl;function lN(n){return typeof n=="number"&&!isNaN(n)}const jl=class jl extends ki{get json(){return{...this._innerGetJson(),show:this.show,materials:this.materials,changeMaterial:this.changeMaterial,props:this.props,rotation:this.rotation,offset:this.offset}}set json(t){this._innerSetJson(t)}async init(t,e){this.featureId=e;const i=await t.getFeatureProperty(e);this.uiShowprops=i.allFields.map(o=>({featureClassName:o.featureClassName,fields:o.fields.map(a=>({key:a.name,type:a.type,value:a.type!="Double"?a.value:lN(a.value)?Number(a.value.toFixed(3)):""}))})),this.datasetName=i.datasetName,t.setFeatureVisable("id",[{value:this.featureId,visable:!1}]),this.d(()=>{t.setFeatureVisable("id",[{value:this.featureId,visable:!0}])});const r=t.tileServiceIp,s=t.tilesetServePort;if(!s)throw new Error("ESRtsFeatureEditing: port is not defined");this.url=`${r}:${s}/featuretiles/${this.featureId}/tileset.json`,this.allowPicking=!0,this.d(this.pickedEvent.don(o=>{o.assign({sceneObject:t}),t.pickedEvent.emit(o)})),this.d(()=>{this.editing=!1,t.removeHighlightDSFeature(this)})}constructor(t){super(t)}};f(jl,"createDefaultProps",()=>({...ki.createDefaultProps(),datasetName:void 0,featureId:void 0,materials:mt({}),changeMaterial:Yt(void 0),uiShowprops:mt({}),props:mt({})})),f(jl,"type",jl.register("ESRtsFeatureEditing",jl,{chsName:"ESRtsFeatureEditing",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let yp=jl;const uN=async(n,t,e)=>{try{const i=window.localStorage.getItem("Authorization");let r=n;t&&(r+=`?earthdstoken=${encodeURIComponent(e)}`);const s={headers:{...!t&&i?{Authorization:i}:{}},mode:"cors"},a=await(await fetch(r,s)).text(),l=JSON.parse(a);if(l.status=="ok")return l.data.port;console.error(l.status);return}catch(i){console.error(i)}},wh=class wh extends ki{constructor(e){super(e);f(this,"_es3DTileset",this.dv(new ki));f(this,"_tilesetServePort",this.dv(B("")));f(this,"_useEarthDSToken",this.dv(B(!1)));f(this,"_earthdstoken",this.dv(B("")));{const i=async()=>{if(typeof this.url!="string"){console.error("服务地址不合法, Init Error! 示例: http://localhost:9009/ts/info/ms01");return}this.url?this.refresh():this._es3DTileset.url=""};this.d(this.urlChanged.don(()=>{i()}))}{this.d(this.components.disposableAdd(this._es3DTileset,!0));const i=this._es3DTileset;this.d(z([i,"allowPicking"],[this,"allowPicking"])),this.d(z([i,"collision"],[this,"collision"])),this.d(nt([i,"flyToParam"],[this,"flyToParam"])),this.d(nt([i,"flyToParam"],[this,"flyToParam"])),this.d(z([i,"actorTag"],[this,"actorTag"])),this.d(z([i,"materialMode"],[this,"materialMode"])),this.d(z([i,"highlight"],[this,"highlight"])),this.d(z([i,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(z([i,"highlightID"],[this,"highlightID"])),this.d(z([i,"highlightColor"],[this,"highlightColor"])),this.d(nt([i,"offset"],[this,"offset"])),this.d(nt([i,"rotation"],[this,"rotation"])),this.d(z([i,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(z([i,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(z([i,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(z([i,"czmClassificationType"],[this,"czmClassificationType"])),this.d(z([i,"czmStyleJson"],[this,"czmStyleJson"])),this.d(z([i,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(z([i,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(z([i,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(z([i,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(z([i,"colorBlendMode"],[this,"colorBlendMode"])),this.d(z([i,"cacheBytes"],[this,"cacheBytes"])),this.d(z([i,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(z([i,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(z([i,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(z([i,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(z([i,"materialParams"],[this,"materialParams"])),this.d(nt([i,"supportEdit"],[this,"supportEdit"])),this.d(nt([i,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d(nt([i,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d(nt([i,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d(nt([i,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d(nt([i,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d(nt([i,"excavateId"],[this,"excavateId"]))}{const i=this._es3DTileset;this.d(this.refreshTilesetEvent.don(()=>{i.refreshTileset()})),this.d(this.highlightFeatureEvent.don((...r)=>{i.highlightFeature(...r)})),this.d(this.highlightFeatureAndFlyToEvent.don((...r)=>{i.highlightFeatureAndFlyTo(...r)})),this.d(this.setFeatureColorEvent.don((...r)=>{i.setFeatureColor(...r)})),this.d(this.setFeatureVisableEvent.don((...r)=>{i.setFeatureVisable(...r)})),this.d(this.resetFeatureStyleEvent.don((...r)=>{i.resetFeatureStyle(...r)})),this.d(this.flyInEvent.don((...r)=>{i.flyIn(r[0])})),this.d(this.flyToEvent.don((...r)=>{i.flyTo(r[0])})),this.d(this.calcFlyToParamEvent.don((...r)=>{i.calcFlyToParam(...r)})),this.d(this.calcFlyInParamEvent.don((...r)=>{i.calcFlyInParam(...r)}))}{const i=this._es3DTileset;this.d(i.tilesetReady.don(r=>{this.tilesetReady.emit(r)})),this.d(i.pickedEvent.don(r=>{r.assign({sceneObject:this}),this.pickedEvent.emit(r)}))}{const i=()=>{this.es3DTileset.show=this.show};i(),this.d(this.showChanged.don(()=>{i()}))}}get es3DTileset(){return this._es3DTileset}get tilesetServePort(){return this._tilesetServePort.value}get tilesetServePortChanged(){return this._tilesetServePort.changed}set tilesetServePort(e){this._tilesetServePort.value=e}get useEarthDSToken(){return this._useEarthDSToken.value}get useEarthDSTokenChanged(){return this._useEarthDSToken.changed}set useEarthDSToken(e){this._useEarthDSToken.value=e}get earthdstoken(){return this._earthdstoken.value}get earthdstokenChanged(){return this._earthdstoken.changed}set earthdstoken(e){this._earthdstoken.value=e}async getport(){const e=await uN(this.url,this.useEarthDSToken,this.earthdstoken);if(e)return this.tilesetServePort=e,e;throw new Error("服务地址port获取失败!")}async refresh(){var r;if(!this.url||typeof this.url!="string")return;const e=(r=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:r[1],i=+new Date;if(e){const s=this.tileServiceIp,o=await this.getport();this._es3DTileset.url=`${s}:${o}/tiles/tileset.json?t=${i}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var e;if(this.url&&typeof this.url=="string"){const i=(e=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:e[1];if(!i)throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ms01");return i}else throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceIp(){var e;if(this.url&&typeof this.url=="string"){const i=(e=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:e[1];if(!i)throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ms01");return i}else throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceName(){var e;if(this.url&&typeof this.url=="string"){const i=(e=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:e[1];if(!i)throw console.log(this.url),new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01,");return i}else throw new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01")}};f(wh,"type",wh.register("ESMsTileset",wh,{chsName:"Modelser实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let _p=wh;const $0={defaultValue:[{type:"2",widget:"WidgetBlueprint'/ESFoliage/PoiSheng.PoiSheng'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"3",widget:"WidgetBlueprint'/ESFoliage/PoiShi.PoiShi'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"4",widget:"WidgetBlueprint'/ESFoliage/PoiShi.PoiShi'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"5",widget:"WidgetBlueprint'/ESFoliage/PoiXiang.PoiXiang'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"6",widget:"WidgetBlueprint'/ESFoliage/PoiCun.PoiCun'",povit:[.5,1],worldScale:.1,hiddenDistance:40}],sampleValue:`
|
|
357
|
+
`,iN="${earthsdk3-assets-script-dir}/assets/misc/2.geojson",It=class It extends jt{constructor(e){super(e);f(this,"_flyToFeatureEvent",this.dv(new I));f(this,"_flyToFeatureIndexEvent",this.dv(new I));f(this,"_features",this.disposeVar(Yt(void 0)));f(this,"pickedInfoType","FeatureCollection");f(this,"abortController");this._updateUrl(),this.ad(this.urlChanged.don(()=>{this._updateUrl()})),this.ad(this.editingChanged.don(()=>{console.warn("ESGeoJson暂不支持编辑!")}))}get flyToFeatureEvent(){return this._flyToFeatureEvent}flyToFeature(e,i,r){this._flyToFeatureEvent.emit(e,i,r)}get flyToFeatureIndexEvent(){return this._flyToFeatureIndexEvent}flyToFeatureIndex(e,i){this._flyToFeatureIndexEvent.emit(e,i)}get features(){return this._features.value}set features(e){this._features.value=e}get featuresChanged(){return this._features.changed}getFeatures(){if(this.features)return this.features;console.log("数据未加载完成,请稍后调用此方法getFeatures()")}async _updateUrl(){var i;this.abortController&&this.abortController.abort(),this.abortController=new AbortController;const e=this.abortController.signal;if(!this.url){this.features=void 0;return}typeof this.url=="object"?this.features=this.url:Kd(this.url)?this.features=JSON.parse(this.url):await fetch(Z.context.getStrFromEnv(this.url),{signal:e}).then(r=>r.json()).then(r=>{this.features=r}).catch(r=>{r.name!="AbortError"&&console.warn("ESEntityCluster数据加载失败",r)}),this.pickedInfoType=((i=this.features)==null?void 0:i.type)??"FeatureCollection"}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"style",dataSource:[...e.dataSource,new tt([this,"url"],"服务地址",It.defaults.url),new N([this,"minFeatureVisibleDistance"],"要素最小可视距离",It.defaults.minFeatureVisibleDistance),new N([this,"maxFeatureVisibleDistance"],"要素最大可视距离",It.defaults.maxFeatureVisibleDistance),new wt([this,"heightReference"],[["NONE","NONE"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["RELATIVE_TO_GROUND","RELATIVE_TO_GROUND"]],"高度参考")],style:[...e.style,new at([],"点样式集合"),new X([this,"textShow"],"是否显示",It.defaults.textShow),new Fe([this,"textAnchor"],"锚点",It.defaults.anchor),new ct([this,"textProperty"],"标注显示属性",It.defaults.textStyle.textProperty),new ct([this,"textDefaultText"],"默认文本",It.defaults.textStyle.defaultText),new Pt([this,"textColor"],"文本颜色",It.defaults.textStyle.color),new Pt([this,"textBackgroundColor"],"文本背景颜色",It.defaults.textStyle.backgroundColor),new ct([this,"textFontStyle"],"字体样式",It.defaults.textStyle.fontStyle),new ct([this,"textFontWeight"],"字体粗细",It.defaults.textStyle.fontWeight),new N([this,"textFontSize"],"字体大小",It.defaults.textStyle.fontSize),new Fe([this,"textOffset"],"像素偏移",It.defaults.textStyle.offset),new at([],"点图片样式集合"),new X([this,"imageShow"],"是否显示",It.defaults.imageShow),new Fe([this,"imageAnchor"],"锚点",It.defaults.imageStyle.anchor),new tt([this,"imageUrl"],"图片地址",It.defaults.imageStyle.url),new Fe([this,"imageSize"],"图片大小",It.defaults.imageStyle.size),new Fe([this,"imageOffset"],"像素偏移",It.defaults.imageStyle.offset),new at([],"线样式集合"),new X([this,"stroked"],"是否显示",It.defaults.stroked),new X([this,"strokeGround"],"贴地",It.defaults.strokeStyle.ground),new N([this,"strokeWidth"],"线宽",It.defaults.strokeStyle.width),new wt([this,"strokeWidthType"],It.strokeStyleWidthTypes,"线宽类型"),new Pt([this,"strokeColor"],"线颜色",It.defaults.strokeStyle.color),new ct([this,"strokeMaterial"],"线材质",It.defaults.strokeStyle.material),new tt([this,"strokeMaterialParams"],"线材质参数",It.defaults.strokeStyle.materialParams),new at([],"面样式集合"),new X([this,"filled"],"是否显示",It.defaults.filled),new X([this,"fillGround"],"贴地",It.defaults.fillStyle.ground),new Pt([this,"fillColor"],"填充颜色",It.defaults.fillStyle.color),new ct([this,"fillMaterial"],"填充材质",It.defaults.fillStyle.material),new tt([this,"fillMaterialParams"],"填充材质参数",It.defaults.fillStyle.materialParams)],more:[...e.more,new at([],"标注文本样式"),new ct([this,"textFontFamily"],"字体",It.defaults.textStyle.fontFamily),new at([],"通用"),new Rs([this,"loadFuncStr"],"loadFnStr",J0,nN,!0)]}}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(e){this.strokeStyle={...this.strokeStyle,width:e}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(e){this.strokeStyle={...this.strokeStyle,widthType:e}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(e){this.strokeStyle={...this.strokeStyle,color:[...e]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(e){this.strokeStyle={...this.strokeStyle,material:e}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(e){this.strokeStyle={...this.strokeStyle,materialParams:e}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(e){this.strokeStyle={...this.strokeStyle,ground:e}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(e){this.fillStyle={...this.fillStyle,color:[...e]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(e){this.fillStyle={...this.fillStyle,material:e}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(e){this.fillStyle={...this.fillStyle,materialParams:e}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(e){this.fillStyle={...this.fillStyle,ground:e}}get fillGroundChanged(){return this.fillStyleChanged}get textProperty(){return this.textStyle.textProperty}set textProperty(e){this.textStyle={...this.textStyle,textProperty:e}}get textPropertyChanged(){return this.textStyleChanged}get textDefaultText(){return this.textStyle.defaultText}set textDefaultText(e){this.textStyle={...this.textStyle,defaultText:e}}get textDefaultTextChanged(){return this.textStyleChanged}get textColor(){return this.textStyle.color}set textColor(e){this.textStyle={...this.textStyle,color:e}}get textColorChanged(){return this.textStyleChanged}get textBackgroundColor(){return this.textStyle.backgroundColor}set textBackgroundColor(e){this.textStyle={...this.textStyle,backgroundColor:e}}get textBackgroundColorChanged(){return this.textStyleChanged}get textFontFamily(){return this.textStyle.fontFamily}set textFontFamily(e){this.textStyle={...this.textStyle,fontFamily:e}}get textFontFamilyChanged(){return this.textStyleChanged}get textFontStyle(){return this.textStyle.fontStyle}set textFontStyle(e){this.textStyle={...this.textStyle,fontStyle:e}}get textFontStyleChanged(){return this.textStyleChanged}get textFontWeight(){return this.textStyle.fontWeight}set textFontWeight(e){this.textStyle={...this.textStyle,fontWeight:e}}get textFontWeightChanged(){return this.textStyleChanged}get textFontSize(){return this.textStyle.fontSize}set textFontSize(e){this.textStyle={...this.textStyle,fontSize:e}}get textFontSizeChanged(){return this.textStyleChanged}get textAnchor(){return this.textStyle.anchor}set textAnchor(e){this.textStyle={...this.textStyle,anchor:e}}get textAnchorChanged(){return this.textStyleChanged}get textOffset(){return this.textStyle.offset}set textOffset(e){this.textStyle={...this.textStyle,offset:e}}get textOffsetChanged(){return this.textStyleChanged}get imageUrl(){return this.imageStyle.url}set imageUrl(e){this.imageStyle={...this.imageStyle,url:e}}get imageUrlChanged(){return this.imageStyleChanged}get imageSize(){return this.imageStyle.size}set imageSize(e){this.imageStyle={...this.imageStyle,size:e}}get imageSizeChanged(){return this.imageStyleChanged}get imageAnchor(){return this.imageStyle.anchor}set imageAnchor(e){this.imageStyle={...this.imageStyle,anchor:e}}get imageAnchorChanged(){return this.imageStyleChanged}get imageOffset(){return this.imageStyle.offset}set imageOffset(e){this.imageStyle={...this.imageStyle,offset:e}}get imageOffsetChanged(){return this.imageStyleChanged}};f(It,"createDefaultProps",()=>({...jt.createDefaultProps(),show:!0,allowPicking:!0,loadFuncStr:void 0,url:iN,stroked:!0,strokeStyle:mt({width:1,widthType:"world",color:[.79,.91,.06,1],material:"",materialParams:{},ground:!1}),filled:!0,fillStyle:mt({color:[.79,.91,.06,.2],material:"",materialParams:{},ground:!1}),imageShow:!0,imageStyle:mt({url:"${earthsdk3-assets-script-dir}/assets/img/location.png",size:[32,32],anchor:[.5,1],offset:[0,0]}),textShow:!0,textStyle:mt({textProperty:"",defaultText:"默认标注",color:[1,1,1,1],backgroundColor:void 0,fontFamily:"Arial",fontSize:16,fontStyle:"normal",fontWeight:"normal",anchor:[0,1],offset:[16,-8]}),minFeatureVisibleDistance:0,maxFeatureVisibleDistance:0,heightReference:"NONE"})),f(It,"type",It.register("ESGeoJson",It,{chsName:"ESGeoJson",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"GeoJson数据加载"})),f(It,"strokeStyleWidthTypes",[["screen","screen"],["world","world"]]);let ch=It;const ia=class ia extends bt{constructor(e){super(e);f(this,"editingBindMode","doublePoints");f(this,"_height",this.disposeVar(B(0)));{const i=()=>{this.height=this.points&&this.points.length>=2?this.points[1][2]-this.points[0][2]:0};i(),this.ad(this.pointsChanged.don(i))}}get height(){return this._height.value}set height(e){this._height.value=e}get heightChanged(){return this._height.changed}};f(ia,"createDefaultProps",()=>({...bt.createDefaultProps(),stroked:!0,strokeStyle:mt({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),f(ia,"type",ia.register("ESHeightMeasurement",ia,{chsName:"高度测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"高度测量"})),f(ia,"supportEditingModes",[...bt.supportEditingModes,et.DoublePointsAppend,et.DoublePointsModify]);let Zg=ia;const Dl=class Dl extends _s{constructor(e){super(e);f(this,"_area",this.dv(B(0)));f(this,"_perimeter",this.dv(B(0)));f(this,"editingBindMode","doublePoints");const i=()=>{this._area.value=Math.PI*this.radius*this.radius,this._perimeter.value=2*Math.PI*this.radius};i(),this.d(this.radiusChanged.don(i))}get area(){return this._area.value}get areaChanged(){return this._area.changed}get perimeter(){return this._perimeter.value}get perimeterChanged(){return this._perimeter.changed}toPolygon(e=10,i){return I0([...this.position],this.radius,e,i)[0].map(s=>[...s,this.position?this.position[2]:0])}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"style",basic:[...e.basic,new N([this,"radius"],"圆半径",1,!0)],coordinate:[...e.coordinate,new X([this,"editing"],"是否编辑"),new Ea([this,"position"],"三维坐标",[0,0,0],!0),new N([this,"area"],"面积",0,!1,!0),new N([this,"perimeter"],"周长",0,!1,!0)]}}};f(Dl,"createDefaultProps",()=>({..._s.createDefaultProps(),radius:1,filled:!0,collision:!1,fillStyle:mt({color:[1,1,1,.5],material:"",materialParams:{},ground:!1})})),f(Dl,"type",Dl.register("ESLocalCircle",Dl,{chsName:"局部坐标圆形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalCircle"}));let tp=Dl;const Rl=class Rl extends _s{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new tv([this,"points"],"坐标",[])]}}};f(Rl,"createDefaultProps",()=>({..._s.createDefaultProps(),points:_g([]),filled:!0})),f(Rl,"type",Rl.register("ESLocalPolygon",Rl,{chsName:"局部2D坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygon"}));let dh=Rl;const Al=class Al extends fl{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,coordinate:[...t.coordinate,new Jd([this,"points"],"本地位置数组")]}}};f(Al,"createDefaultProps",()=>({...fl.createDefaultProps(),points:Sh(void 0),filled:!0})),f(Al,"type",Al.register("ESLocalPolygonZ",Al,{chsName:"局部坐标多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalPolygonZ"}));let ep=Al;const Ll=class Ll extends _s{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new N([this,"width"],"宽度"),new N([this,"height"],"高度")]}}};f(Ll,"createDefaultProps",()=>({..._s.createDefaultProps(),width:5e5,height:3e5,filled:!0})),f(Ll,"type",Ll.register("ESLocalRectangle",Ll,{chsName:"局部坐标四边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalRectangle"}));let np=Ll;const Hr=class Hr extends bt{constructor(e){super(e);f(this,"editingBindMode","lineString");f(this,"_distance",this.dv(B(0)));f(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);f(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());const i=()=>{if(this.points&&this.points.length>=2){const r=ah(this.points,"GEODESIC"),s=r[r.length-1];this._distance.value=s}else this._distance.value=0};i(),this.d(this.pointsChanged.don(i))}get distance(){return this._distance.value}get distanceChanged(){return this._distance.changed}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new N([this,"height"],"高度",10),new N([this,"width"],"宽度",10),new wt([this,"materialMode"],Hr.materialModes,"模式",Hr.defaults.materialMode)],coordinate:[...e.coordinate,new N([this,"distance"],"距离",0,!1,!0)]}}};f(Hr,"createDefaultProps",()=>({...bt.createDefaultProps(),height:10,width:10,materialMode:"singleArrow",filled:!0,stroked:!0,fillStyle:mt({color:[1,0,.73,1],material:"",materialParams:{},ground:!1})})),f(Hr,"type",Hr.register("ESPipeFence",Hr,{chsName:"管道电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"管道电子围栏"})),f(Hr,"materialModes",[["单箭头","singleArrow"],["多箭头","multipleArrows"],["纯色","color"]]),f(Hr,"supportEditingModes",[...bt.supportEditingModes,et.LineStringAppend,et.LineStringInsert]);let Zc=Hr;const Ss=class Ss extends ki{constructor(e){super(e);f(this,"_setLayerVisibleEvent",this.dv(new I));f(this,"_setLayerColorEvent",this.dv(new I))}get setLayerVisibleEvent(){return this._setLayerVisibleEvent}setLayerVisible(e,i){this._setLayerVisibleEvent.emit(e,i)}get setLayerColorEvent(){return this._setLayerColorEvent}setLayerColor(e,i){this._setLayerColorEvent.emit(e,i)}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new at([],"ESPipeserTileset"),new lt(["string","string"],(i,r)=>this.setLayerVisible(i,r),["",""],"setLayerVisible"),new lt(["string","string"],(i,r)=>this.setLayerColor(i,r),["",""],"setLayerColor"),new wt([this,"colorMode"],Ss.colorModes,"colorMode",Ss.defaults.colorMode,!0)]}}};f(Ss,"createDefaultProps",()=>({...ki.createDefaultProps(),colorMode:"default"})),f(Ss,"type",Ss.register("ESPipeserTileset",Ss,{chsName:"PipeSer图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"PipeSer图层"})),f(Ss,"colorModes",[["default","default"],["color","color"],["blend","blend"]]);let ip=Ss;const bs=class bs extends bt{constructor(e){super(e);f(this,"editingBindMode","circular")}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",coordinate:[...e.coordinate,new N([this,"area"],"面积",0,!1,!0),new N([this,"perimeter"],"周长",0,!1,!0)],basic:[...e.basic,new N([this,"height"],"高度",10),new wt([this,"materialMode"],bs.materialModes,"模式","danger")]}}};f(bs,"createDefaultProps",()=>({...bt.createDefaultProps(),height:10,materialMode:"danger",filled:!0,collision:!1})),f(bs,"type",bs.register("ESPolygonFence",bs,{chsName:"多边形电子围栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"多边形电子围栏"})),f(bs,"materialModes",[["模式一","danger"],["模式二","checkerboard"],["模式三","warning"],["模式四","cord"],["模式五","scanline"],["模式六","honeycomb"],["模式七","gradientColor"]]),f(bs,"supportEditingModes",[...bt.supportEditingModes,et.CircularAppend,et.CircularInsert,et.HeightModify]);let td=bs;const ao=class ao extends bt{constructor(e){super(e);f(this,"_deprecated",["ground"]);f(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})());f(this,"editingBindMode","doublePoints")}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new at([],"通用","通用"),new X([this,"ground"],"是否贴地"),new X([this,"outlineTranslucent"],"轮廓线半透明"),new N([this,"height"],"高度"),new N([this,"extrudedHeight"],"拉伸高度"),new Wi([this,"rectangle"],"范围",ao.defaults.rectangle,!0),new N([this,"stRotation"],"纹理旋转角度"),new N([this,"rotation"],"旋转角度"),new X([this,"pointEditing"],"是否单点编辑")]}}};f(ao,"createDefaultProps",()=>({...bt.createDefaultProps(),ground:!1,outlineTranslucent:!0,height:0,extrudedHeight:0,rectangle:ee(void 0),rotation:0,stRotation:0,pointEditing:!1,filled:!0})),f(ao,"type",ao.register("ESRectangle",ao,{chsName:"矩形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"矩形"})),f(ao,"supportEditingModes",[...bt.supportEditingModes,et.DoublePointsAppend,et.DoublePointsModify]);let rp=ao;const Fl=class Fl extends Ht{getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new tt([this,"innerRings"],"裁切多边形数组",[],void 0,!0)]}}};f(Fl,"createDefaultProps",()=>({...Ht.createDefaultProps(),innerRings:Yp([])})),f(Fl,"type",Fl.register("ESPolygonWithHole",Fl,{chsName:"内部裁切多边形",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"带洞多边形"}));let sp=Fl;const lo=class lo extends Ht{constructor(e){super(e);f(this,"_startEvent",this.disposeVar(new I));f(this,"_stopEvent",this.dv(new I));f(this,"_surfaceArea",this.disposeVar(B(0)))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get stopEvent(){return this._stopEvent}stop(){this._stopEvent.emit()}get surfaceArea(){return this._surfaceArea.value}set surfaceArea(e){this._surfaceArea.value=e}get surfaceChanged(){return this._surfaceArea.changed}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new at([],"表面积测量","表面积测量"),new lt([],()=>this.start(),[],"开始计算"),new N([this,"interpolation"],"插值距离",lo.defaults.interpolation),new N([this,"offsetHeight"],"偏移高度",lo.defaults.offsetHeight)]}}};f(lo,"createDefaultProps",()=>({...Ht.createDefaultProps(),interpolation:.5,offsetHeight:0,units:ht(["SquareMeter_SquareKilometer","MU_Hectare"]),fillStyle:mt({color:[1,1,1,.5],material:"",materialParams:{},ground:!0})})),f(lo,"type",lo.register("ESSurfaceAreaMeasurement",lo,{chsName:"表面积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"表面积测量"}));let op=lo;const uo=class uo extends rt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new N([this,"downloadProgress"],"下载进度",uo.defaults.downloadProgress,!0,!0),new tt([this,"importOptions"],"导入参数",uo.defaults.importOptions,void 0,!0)],dataSource:[...t.dataSource,new tt([this,"url"],"路径")]}}};f(uo,"createDefaultProps",()=>({...rt.createDefaultProps(),url:"",importOptions:Yt({buildCollisions:"QueryAndPhysics",buildHierarchy:"Simplified",collisionType:"CTF_UseComplexAsSimple",bImportMetaData:!0}),downloadProgress:0})),f(uo,"type",uo.register("ESDatasmithRuntimeModel",uo,{chsName:"Datasmith Model",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Datasmith Model"}));let ap=uo;const bn=class bn extends dh{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new wt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型",bn.defaults.waterType),new N([this,"frequency"],"频率",bn.defaults.frequency),new Ge([this,"amplitude"],.01,[0,1],"振幅",bn.defaults.amplitude),new Ge([this,"flowDirection"],1,[0,360],"流向",bn.defaults.flowDirection),new Ge([this,"waveVelocity"],.01,[0,1],"波动频率",bn.defaults.waveVelocity),new Ge([this,"specularIntensity"],.01,[0,1],"镜面反射强度",bn.defaults.specularIntensity),new Ge([this,"murkiness"],.1,[0,10],"水体浑浊度",bn.defaults.murkiness),new N([this,"flowSpeed"],"水流速度",bn.defaults.flowSpeed),new Pt([this,"waterColor"],"水的底色",bn.defaults.waterColor),new tt([this,"waterImage"],"水的图片",bn.defaults.waterImage)]}}};f(bn,"createDefaultProps",()=>({...dh.createDefaultProps(),allowPicking:!0,waterImage:Yt(void 0),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowDirection:0,flowSpeed:0,murkiness:5,stroked:!1,filled:!0})),f(bn,"type",bn.register("ESDynamicWater",bn,{chsName:"动态水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"局部多边形水面"}));let lp=bn;const Pn=class Pn extends Ht{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,defaultMenu:"basic",basic:[...t.basic,new wt([this,"waterType"],[["river","river"],["ocean","ocean"],["lake","lake"],["custom","custom"]],"水域类型",Pn.defaults.waterType),new N([this,"frequency"],"频率",Pn.defaults.frequency),new Ge([this,"amplitude"],.01,[0,1],"振幅",Pn.defaults.amplitude),new Ge([this,"flowDirection"],1,[0,360],"流向",Pn.defaults.flowDirection),new Ge([this,"waveVelocity"],.01,[0,1],"波动频率",Pn.defaults.waveVelocity),new Ge([this,"specularIntensity"],.01,[0,1],"镜面反射强度",Pn.defaults.specularIntensity),new Ge([this,"murkiness"],.1,[0,10],"水体浑浊度",Pn.defaults.murkiness),new N([this,"flowSpeed"],"水流速度",Pn.defaults.flowSpeed),new Pt([this,"waterColor"],"水的底色",Pn.defaults.waterColor),new tt([this,"waterImage"],"水的图片",Pn.defaults.waterImage)]}}};f(Pn,"createDefaultProps",()=>({...Ht.createDefaultProps(),allowPicking:!0,waterImage:Yt({}),waterColor:[.1497,.165,.0031,1],frequency:1e3,waveVelocity:.5,amplitude:.1,specularIntensity:.8,waterType:"river",flowDirection:0,flowSpeed:0,murkiness:5})),f(Pn,"type",Pn.register("ESGeoWater",Pn,{chsName:"地理水面",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"地理动态水面"}));let up=Pn;const ra=class ra extends rt{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new N([this,"downloadProgress"],"下载进度",ra.defaults.downloadProgress,!0,!0),new ct([this,"levelName"],"levelName",""),new N([this,"levelLoadDistance"],"levelLoadDistance",1e3),new cn([this,"levelOffset"],"levelOffset",[0,0,0])],dataSource:[...t.dataSource,new tt([this,"url"],"url","")]}}};f(ra,"createDefaultProps",()=>({...rt.createDefaultProps(),url:"",downloadProgress:0,levelName:"",levelOffset:ht([0,0,0]),levelLoadDistance:1e3})),f(ra,"type",ra.register("ESLevelRuntimeModel",ra,{chsName:"关卡包模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"关卡包模型"}));let hp=ra;const fi=class fi extends ws{constructor(e){super(e);f(this,"_deprecated",[{materialMode:{blue:"multipleArrows",purple:"singleArrow"}},"show"]);f(this,"_deprecatedWarningFunc",(()=>{this._deprecatedWarning()})())}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new N([this,"radius"],"半径",fi.defaults.radius),new N([this,"sides"],"圆边数",fi.defaults.sides),new N([this,"speed"],"材质速度",fi.defaults.speed),new wt([this,"materialMode"],fi.materialModes,"材质模式",fi.defaults.materialMode),new tt([this,"materialImage"],"材质图片和重复度",fi.defaults.materialImage)]}}};f(fi,"createDefaultProps",()=>({...ws.createDefaultProps(),radius:10,sides:10,materialMode:"singleArrow",materialImage:mt({url:"",uDis:50,vDis:10}),speed:1,filled:!0,stroked:!1,fillStyle:mt({color:[1,0,.73,1],material:"",materialParams:{},ground:!1})})),f(fi,"type",fi.register("ESPipeline",fi,{chsName:"管线",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESPipeline"})),f(fi,"materialModes",[["单箭头","singleArrow"],["多箭头","multipleArrows"]]);let cp=fi;const Xr=class Xr extends bt{constructor(e){super(e);f(this,"editingBindMode","visibility")}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new Pt([this,"visibleColor"],"可视区域颜色",Xr.defaults.visibleColor),new Pt([this,"invisibleColor"],"遮挡区域颜色",Xr.defaults.invisibleColor),new N([this,"heightOffset"],"视点高度偏移",Xr.defaults.heightOffset)]}}};f(Xr,"createDefaultProps",()=>({...bt.createDefaultProps(),visibleColor:ht([0,1,0,1]),invisibleColor:ht([1,0,0,1]),heightOffset:0})),f(Xr,"type",Xr.register("ESVisibilityAnalysis",Xr,{chsName:"通视分析,视线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"通视分析,视线分析"})),f(Xr,"supportEditingModes",[...bt.supportEditingModes,et.VisibilityAppend,et.VisibilityModify]);let dp=Xr;const kl=class kl extends Ht{constructor(e){super(e);f(this,"_startEvent",this.dv(new I));f(this,"_clearEvent",this.dv(new I));f(this,"_volume",this.disposeVar(B(0)))}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get clearEvent(){return this._clearEvent}clear(){this._clearEvent.emit()}get volume(){return this._volume.value}set volume(e){this._volume.value=e}get volumeChanged(){return this._volume.changed}getESProperties(){const e={...super.getESProperties()};return{...e,more:[...e.more,new at([],"通用","通用"),new N([this,"planeHeight"],"基准面高程",void 0,!0),new N([this,"gridWidth"],"采样间距 m"),new N([this,"cutVolume"],"挖方",0,!1,!0),new N([this,"fillVolume"],"填方",0,!1,!0),new N([this,"cutAndFillVolume"],"挖填方",0,!1,!0),new N([this,"progress"],"计算进度",0,!1,!0),new lt([],()=>this.start(),[],"开始分析"),new lt([],()=>this.clear(),[],"清空分析结果"),new X([this,"depthTest"],"是否开启深度检测")]}}};f(kl,"createDefaultProps",()=>({...Ht.createDefaultProps(),planeHeight:B(void 0),gridWidth:1,cutVolume:0,fillVolume:0,cutAndFillVolume:0,progress:0,depthTest:!1,filled:!1,stroked:!0,strokeStyle:mt({width:2,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1})})),f(kl,"type",kl.register("ESVolumeMeasurement",kl,{chsName:"体积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"体积测量"}));let fp=kl;const Bl=class Bl extends Go{constructor(e){super(e);f(this,"_human",this.dv(new Go));f(this,"_poi",this.dv(new hh));this.d(this.components.disposableAdd(this._human,!0)),this.d(this.components.disposableAdd(this._poi));{const{_human:i,_poi:r}=this;this.d(z([i,"show"],[this,"show"])),this.d(z([r,"show"],[this,"show"])),this.d(z([i,"allowPicking"],[this,"allowPicking"])),this.d(z([r,"allowPicking"],[this,"allowPicking"])),this.d(nt([i,"scale"],[this,"scale"])),this.d(nt([r,"scale"],[this,"scale"])),this.d(z([i,"collision"],[this,"collision"])),this.d(z([r,"collision"],[this,"collision"])),this.d(nt([i,"flyInParam"],[this,"flyInParam"])),this.d(nt([i,"flyToParam"],[this,"flyToParam"])),this.d(z([i,"animation"],[this,"animation"])),this.d(z([i,"mode"],[this,"mode"])),this.d(z([i,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(z([i,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(z([r,"name"],[this,"name"])),this.d(z([r,"mode"],[this,"poiMode"])),this.d(z([r,"autoAnchor"],[this,"autoAnchor"])),this.d(z([r,"screenRender"],[this,"screenRender"])),this.d(z([r,"size"],[this,"size"])),this.d(z([r,"anchor"],[this,"anchor"])),this.d(z([r,"sizeByContent"],[this,"sizeByContent"])),this.d(z([r,"renderMode"],[this,"renderMode"])),this.d(z([r,"rotationType"],[this,"rotationType"])),this.d(z([r,"zOrder"],[this,"zOrder"])),this.d(z([r,"minVisibleDistance"],[this,"minVisibleDistance"])),this.d(z([r,"maxVisibleDistance"],[this,"maxVisibleDistance"])),this.d(nt([i,"position"],[this,"position"])),this.d(nt([i,"rotation"],[this,"rotation"])),this.d(this.flyInEvent.don(s=>{i.flyIn(s)})),this.d(this.flyToEvent.don(s=>{i.flyTo(s)})),this.d(this.calcFlyToParamEvent.don(()=>{i.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{i.calcFlyInParam()})),this.d(this.smoothMoveEvent.don((s,o)=>{i.smoothMove(s,o)})),this.d(this.smoothMoveWithRotationEvent.don((s,o,a)=>{i.smoothMoveWithRotation(s,o,a)})),this.d(this.smoothMoveOnGroundEvent.don((s,o,a,l)=>{i.smoothMoveOnGround(s,o,a,l)})),this.d(this.smoothMoveWithRotationOnGroundEvent.don((s,o,a,l,u)=>{i.smoothMoveWithRotationOnGround(s,o,a,l,u)})),this.d(this.automaticLandingEvent.don(()=>{i.automaticLanding()}))}}get human(){return this._human}get poi(){return this._poi}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new wt([this,"poiMode"],hh.modes,"poi模式","SquareH01"),new N([this,"poiOffsetHeight"],"poi高度偏移",1.8)]}}};f(Bl,"createDefaultProps",()=>({poiOffsetHeight:1.8,poiMode:"SquareH01",style:mt({}),autoAnchor:!0,screenRender:!0,size:ht([100,100]),anchor:ht([.5,1]),sizeByContent:!0,renderMode:0,rotationType:1,zOrder:0,...Go.createDefaultProps()})),f(Bl,"type",Bl.register("ESHumanPoi",Bl,{chsName:"人员poi",tags:["ESObjects"],description:"ESHuman + ESPoi2D组合对象"}));let gp=Bl;const vr=class vr extends Ht{constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new N([this,"depth"],"深度",vr.defaults.depth),new N([this,"interpolation"],"插值",vr.defaults.interpolation),new N([this,"opacity"],"透明度",vr.defaults.opacity),new tt([this,"sideImage"],"侧面图片",vr.defaults.sideImage),new tt([this,"bottomImage"],"底面图片",vr.defaults.bottomImage)]}}};f(vr,"createDefaultProps",()=>({...Ht.createDefaultProps(),depth:100,sideImage:mt({url:Z.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/side.jpg"),uDis:50,vDis:50}),bottomImage:mt({url:Z.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPit/bottom.jpg"),uDis:50,vDis:50}),opacity:1,interpolation:50,collision:!1,allowPicking:!1,filled:!0})),f(vr,"type",vr.register("ESPit",vr,{chsName:"坑",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"坑"}));let pl=vr;const Vl=class Vl extends pl{constructor(e){super(e);f(this,"_excavate",this.dv(new uh));f(this,"_pit",this.dv(new pl));this.d(this.components.disposableAdd(this._excavate)),this.d(this.components.disposableAdd(this._pit,!0));{const{_excavate:i,_pit:r}=this;this.d(z([i,"show"],[this,"show"])),this.d(z([r,"show"],[this,"show"])),this.d(z([i,"allowPicking"],[this,"allowPicking"])),this.d(z([r,"allowPicking"],[this,"allowPicking"])),this.d(z([i,"collision"],[this,"collision"])),this.d(z([r,"collision"],[this,"collision"])),this.d(nt([r,"points"],[this,"points"])),this.d(z([i,"points"],[this,"points"])),this.d(z([r,"pointed"],[this,"pointed"])),this.d(z([i,"pointed"],[this,"pointed"])),this.d(z([r,"pointStyle"],[this,"pointStyle"])),this.d(z([i,"pointStyle"],[this,"pointStyle"])),this.d(z([r,"stroked"],[this,"stroked"])),this.d(z([i,"stroked"],[this,"stroked"])),this.d(z([r,"strokeStyle"],[this,"strokeStyle"])),this.d(z([i,"strokeStyle"],[this,"strokeStyle"])),this.d(z([r,"filled"],[this,"filled"])),this.d(z([r,"fillStyle"],[this,"fillStyle"])),this.d(z([i,"fillStyle"],[this,"fillStyle"])),this.d(z([i,"mode"],[this,"mode"])),this.d(z([i,"targetID"],[this,"targetID"])),this.d(z([r,"depth"],[this,"depth"])),this.d(z([r,"sideImage"],[this,"sideImage"])),this.d(z([r,"bottomImage"],[this,"bottomImage"])),this.d(z([r,"opacity"],[this,"opacity"])),this.d(z([r,"interpolation"],[this,"interpolation"])),this.d(nt([r,"flyInParam"],[this,"flyInParam"])),this.d(nt([r,"flyToParam"],[this,"flyToParam"])),this.d(this.flyInEvent.don(s=>{r.flyIn(s)})),this.d(this.flyToEvent.don(s=>{r.flyTo(s)})),this.d(this.calcFlyToParamEvent.don(()=>{r.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{r.calcFlyInParam()}))}}get excavate(){return this._excavate}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new wt([this,"mode"],uh.modes,"模式","in"),new ct([this,"targetID"],"瓦片图层","")]}}};f(Vl,"createDefaultProps",()=>({...pl.createDefaultProps(),mode:"in",targetID:""})),f(Vl,"type",Vl.register("ESHole",Vl,{chsName:"挖坑(带材质+深度)",tags:["ESObjects"],description:"挖坑"}));let pp=Vl;const mp={layerconfigfind:"/ts/layer/config/get",layerconfigsave:"/ts/layer/config/put",featureproperty:"/ts/editor/property",featureeditormuti:"/ts/editor/update",getts:"/ts/info"},rN=async(n,t,e,i)=>{try{const r=window.localStorage.getItem("Authorization");let s=n+`${mp.layerconfigfind}?tileServiceName=${t}`;e&&(s+=`&earthdstoken=${encodeURIComponent(i)}`);const o={headers:{...!e&&r?{Authorization:r}:{}},mode:"cors"},l=await(await fetch(s,o)).text();return JSON.parse(l)}catch(r){console.error(r)}},sN=async(n,t,e,i,r)=>{try{const s=window.localStorage.getItem("Authorization");let o=n+mp.layerconfigsave;const a=r??{};e&&(o+=`?earthdstoken=${encodeURIComponent(i)}`);const l={method:"POST",headers:{"Content-Type":"application/json",...!e&&s?{Authorization:s}:{}},mode:"cors",body:JSON.stringify({tileServiceName:t,layerConfig:JSON.stringify(a)})},h=await(await fetch(o,l)).text();return JSON.parse(h)}catch(s){console.error(s)}},oN=async(n,t,e)=>{try{const i=window.localStorage.getItem("Authorization");let r=n;t&&(r+=`?earthdstoken=${encodeURIComponent(e)}`);const s={headers:{...!t&&i?{Authorization:i}:{}},mode:"cors"},a=await(await fetch(r,s)).text(),l=JSON.parse(a);if(l.status=="ok")return l.data.port;console.error(l.status);return}catch(i){console.error(i)}},aN=async(n,t,e,i,r)=>{try{const s={tileServiceName:t,featureId:e},o=window.localStorage.getItem("Authorization");let a=n+mp.featureproperty;i&&(a+=`?earthdstoken=${encodeURIComponent(r)}`);const u=await(await fetch(a,{method:"post",headers:{"Content-Type":"application/json",...!i&&o?{Authorization:o}:{}},body:JSON.stringify(s),mode:"cors"})).text(),h=JSON.parse(u);if(h.status=="ok")return h.data;console.error(h.data.status);return}catch(s){console.error(s)}},zl=class zl extends ki{constructor(e){super(e);f(this,"_es3DTileset",this.dv(new ki));f(this,"_ids",this.dv(mt([])));f(this,"_useEarthDSToken",this.dv(B(!1)));f(this,"_earthdstoken",this.dv(B("")));f(this,"_visJson",this.disposeVar(B({})));f(this,"_highlightInner3DtilesetEvent",this.dv(new I));f(this,"_removeHighlightInner3DtilesetEvent",this.dv(new I));f(this,"_tilesetServePort",this.dv(B("")));{const i=async()=>{if(typeof this.url!="string"){console.error("服务地址不合法, Init Error! 示例: http://localhost:9009/ts/info/ts01");return}this.url?this.refresh():this._es3DTileset.url=""};this.d(this.urlChanged.don(()=>{i()}))}{this.d(this.components.disposableAdd(this._es3DTileset,!0));const i=this._es3DTileset;this.d(z([i,"allowPicking"],[this,"allowPicking"])),this.d(z([i,"collision"],[this,"collision"])),this.d(nt([i,"flyToParam"],[this,"flyToParam"])),this.d(nt([i,"flyToParam"],[this,"flyToParam"])),this.d(z([i,"actorTag"],[this,"actorTag"])),this.d(z([i,"materialMode"],[this,"materialMode"])),this.d(z([i,"highlight"],[this,"highlight"])),this.d(z([i,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(z([i,"highlightID"],[this,"highlightID"])),this.d(z([i,"highlightColor"],[this,"highlightColor"])),this.d(nt([i,"offset"],[this,"offset"])),this.d(nt([i,"rotation"],[this,"rotation"])),this.d(z([i,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(z([i,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(z([i,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(z([i,"czmClassificationType"],[this,"czmClassificationType"])),this.d(z([i,"czmStyleJson"],[this,"czmStyleJson"])),this.d(z([i,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(z([i,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(z([i,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(z([i,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(z([i,"colorBlendMode"],[this,"colorBlendMode"])),this.d(z([i,"cacheBytes"],[this,"cacheBytes"])),this.d(z([i,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(z([i,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(z([i,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(z([i,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(z([i,"materialParams"],[this,"materialParams"])),this.d(nt([i,"supportEdit"],[this,"supportEdit"])),this.d(nt([i,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d(nt([i,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d(nt([i,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d(nt([i,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d(nt([i,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d(nt([i,"excavateId"],[this,"excavateId"]))}{const i=this._es3DTileset;this.d(this.refreshTilesetEvent.don(()=>{i.refreshTileset()})),this.d(this.highlightFeatureEvent.don((...r)=>{i.highlightFeature(...r)})),this.d(this.highlightFeatureAndFlyToEvent.don((...r)=>{i.highlightFeatureAndFlyTo(...r)})),this.d(this.setFeatureColorEvent.don((...r)=>{i.setFeatureColor(...r)})),this.d(this.setFeatureVisableEvent.don((...r)=>{i.setFeatureVisable(...r)})),this.d(this.resetFeatureStyleEvent.don((...r)=>{i.resetFeatureStyle(...r)})),this.d(this.setFeatureStyleEvent.don((...r)=>{i.setFeatureStyle(...r)})),this.d(this.flyInEvent.don((...r)=>{i.flyIn(r[0])})),this.d(this.flyToEvent.don((...r)=>{i.flyTo(r[0])})),this.d(this.calcFlyToParamEvent.don((...r)=>{i.calcFlyToParam(...r)})),this.d(this.calcFlyInParamEvent.don((...r)=>{i.calcFlyInParam(...r)}))}{const i=this._es3DTileset;this.d(i.tilesetReady.don(r=>{this.tilesetReady.emit(r)})),this.d(i.pickedEvent.don(r=>{r.assign({sceneObject:this}),this.pickedEvent.emit(r)}))}{const i=()=>{this.es3DTileset.show=this.show};i(),this.d(this.showChanged.don(()=>{i()}))}}get es3DTileset(){return this._es3DTileset}get ids(){return this._ids.value}get idsChanged(){return this._ids.changed}set ids(e){this._ids.value=e}get useEarthDSToken(){return this._useEarthDSToken.value}get useEarthDSTokenChanged(){return this._useEarthDSToken.changed}set useEarthDSToken(e){this._useEarthDSToken.value=e}get earthdstoken(){return this._earthdstoken.value}get earthdstokenChanged(){return this._earthdstoken.changed}set earthdstoken(e){this._earthdstoken.value=e}get visJson(){return this._visJson.value}set visJson(e){this._visJson.value=e}get visJsonChanged(){return this._visJson.changed}setFeatureVisable(e,i){var r;if((r=this.layerConfig)!=null&&r.length){const s={};s[i[0].value]=i[0].visable,this.visJson={...this.visJson,...s}}else this.setFeatureVisableEvent.emit(e,typeof i=="string"?JSON.parse(i):i)}async getFeatureProperty(e){return await aN(this.baseUrl,this.tileServiceName,e,this.useEarthDSToken,this.earthdstoken)}async getLayerConfig(){const e=await rN(this.baseUrl,this.tileServiceName,this.useEarthDSToken,this.earthdstoken);return!e||!Array.isArray(e)?this.layerConfig=[]:this.layerConfig=e,this.layerConfig}async saveLayerConfig(){const e=this.layerConfig;return await sN(this.baseUrl,this.tileServiceName,this.useEarthDSToken,this.earthdstoken,e)}get highlightInner3DtilesetEvent(){return this._highlightInner3DtilesetEvent}_highlightInner3Dtileset(e){this._highlightInner3DtilesetEvent.emit(e)}async highlightDSFeature(e){this._highlightInner3Dtileset(e)}get removeHighlightInner3DtilesetEvent(){return this._removeHighlightInner3DtilesetEvent}_removeHighlightInner3Dtileset(e){this._removeHighlightInner3DtilesetEvent.emit(e)}async removeHighlightDSFeature(e){this._removeHighlightInner3Dtileset(e)}async pickFeature(e,i){var a,l,u;const r=await e.pick(i),s=r.sceneObject;return!s||s.id!==this.id&&s.typeName!="ESRtsFeatureEditing"?void 0:s.typeName!="ESRtsFeatureEditing"?(this.ids=[...this.ids,(a=r==null?void 0:r.tilesetPickInfo)==null?void 0:a.id],{featureId:(l=r==null?void 0:r.tilesetPickInfo)==null?void 0:l.id,pickInnerFields:r==null?void 0:r.tilesetPickInfo}):{featureId:(u=r==null?void 0:r.sceneObject)==null?void 0:u.id,pickInnerFields:r==null?void 0:r.tilesetPickInfo}}get tilesetServePort(){return this._tilesetServePort.value}get tilesetServePortChanged(){return this._tilesetServePort.changed}set tilesetServePort(e){this._tilesetServePort.value=e}async getport(){const e=await oN(this.url,this.useEarthDSToken,this.earthdstoken);if(e)return this.tilesetServePort=e,e;throw new Error("服务地址port获取失败!")}async refresh(){var r;if(!this.url||typeof this.url!="string")return;const e=(r=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:r[1],i=+new Date;if(e){const s=this.tileServiceIp,o=await this.getport();await this.getLayerConfig(),this._es3DTileset.url=`${s}:${o}/tiles/tileset.json?t=${i}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var e;if(this.url&&typeof this.url=="string"){const i=(e=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:e[1];if(!i)throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ts01");return i}else throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ts01")}get tileServiceName(){var e;if(this.url&&typeof this.url=="string"){const i=(e=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:e[1];if(!i)throw console.log(this.url),new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01,");return i}else throw new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceIp(){var e;if(this.url&&typeof this.url=="string"){const i=(e=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:e[1];if(!i)throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ts01");return i}else throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ts01")}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new tt([this,"layerConfig"],"图层配置",[],void 0,!0)]}}};f(zl,"createDefaultProps",()=>({...ki.createDefaultProps(),layerConfig:Yt([])})),f(zl,"type",zl.register("ESRtsTileset",zl,{chsName:"CIMRTS实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let vp=zl;function lN(n){return typeof n=="number"&&!isNaN(n)}const jl=class jl extends ki{get json(){return{...this._innerGetJson(),show:this.show,materials:this.materials,changeMaterial:this.changeMaterial,props:this.props,rotation:this.rotation,offset:this.offset}}set json(t){this._innerSetJson(t)}async init(t,e){this.featureId=e;const i=await t.getFeatureProperty(e);this.uiShowprops=i.allFields.map(o=>({featureClassName:o.featureClassName,fields:o.fields.map(a=>({key:a.name,type:a.type,value:a.type!="Double"?a.value:lN(a.value)?Number(a.value.toFixed(3)):""}))})),this.datasetName=i.datasetName,t.setFeatureVisable("id",[{value:this.featureId,visable:!1}]),this.d(()=>{t.setFeatureVisable("id",[{value:this.featureId,visable:!0}])});const r=t.tileServiceIp,s=t.tilesetServePort;if(!s)throw new Error("ESRtsFeatureEditing: port is not defined");this.url=`${r}:${s}/featuretiles/${this.featureId}/tileset.json`,this.allowPicking=!0,this.d(this.pickedEvent.don(o=>{o.assign({sceneObject:t}),t.pickedEvent.emit(o)})),this.d(()=>{this.editing=!1,t.removeHighlightDSFeature(this)})}constructor(t){super(t)}};f(jl,"createDefaultProps",()=>({...ki.createDefaultProps(),datasetName:void 0,featureId:void 0,materials:mt({}),changeMaterial:Yt(void 0),uiShowprops:mt({}),props:mt({})})),f(jl,"type",jl.register("ESRtsFeatureEditing",jl,{chsName:"ESRtsFeatureEditing",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let yp=jl;const uN=async(n,t,e)=>{try{const i=window.localStorage.getItem("Authorization");let r=n;t&&(r+=`?earthdstoken=${encodeURIComponent(e)}`);const s={headers:{...!t&&i?{Authorization:i}:{}},mode:"cors"},a=await(await fetch(r,s)).text(),l=JSON.parse(a);if(l.status=="ok")return l.data.port;console.error(l.status);return}catch(i){console.error(i)}},wh=class wh extends ki{constructor(e){super(e);f(this,"_es3DTileset",this.dv(new ki));f(this,"_tilesetServePort",this.dv(B("")));f(this,"_useEarthDSToken",this.dv(B(!1)));f(this,"_earthdstoken",this.dv(B("")));{const i=async()=>{if(typeof this.url!="string"){console.error("服务地址不合法, Init Error! 示例: http://localhost:9009/ts/info/ms01");return}this.url?this.refresh():this._es3DTileset.url=""};this.d(this.urlChanged.don(()=>{i()}))}{this.d(this.components.disposableAdd(this._es3DTileset,!0));const i=this._es3DTileset;this.d(z([i,"allowPicking"],[this,"allowPicking"])),this.d(z([i,"collision"],[this,"collision"])),this.d(nt([i,"flyToParam"],[this,"flyToParam"])),this.d(nt([i,"flyToParam"],[this,"flyToParam"])),this.d(z([i,"actorTag"],[this,"actorTag"])),this.d(z([i,"materialMode"],[this,"materialMode"])),this.d(z([i,"highlight"],[this,"highlight"])),this.d(z([i,"maximumScreenSpaceError"],[this,"maximumScreenSpaceError"])),this.d(z([i,"highlightID"],[this,"highlightID"])),this.d(z([i,"highlightColor"],[this,"highlightColor"])),this.d(nt([i,"offset"],[this,"offset"])),this.d(nt([i,"rotation"],[this,"rotation"])),this.d(z([i,"czmImageBasedLightingFactor"],[this,"czmImageBasedLightingFactor"])),this.d(z([i,"czmLuminanceAtZenith"],[this,"czmLuminanceAtZenith"])),this.d(z([i,"czmMaximumMemoryUsage"],[this,"czmMaximumMemoryUsage"])),this.d(z([i,"czmClassificationType"],[this,"czmClassificationType"])),this.d(z([i,"czmStyleJson"],[this,"czmStyleJson"])),this.d(z([i,"czmBackFaceCulling"],[this,"czmBackFaceCulling"])),this.d(z([i,"czmDebugShowBoundingVolume"],[this,"czmDebugShowBoundingVolume"])),this.d(z([i,"czmDebugShowContentBoundingVolume"],[this,"czmDebugShowContentBoundingVolume"])),this.d(z([i,"czmSkipLevelOfDetail"],[this,"czmSkipLevelOfDetail"])),this.d(z([i,"colorBlendMode"],[this,"colorBlendMode"])),this.d(z([i,"cacheBytes"],[this,"cacheBytes"])),this.d(z([i,"clippingPlaneEnabled"],[this,"clippingPlaneEnabled"])),this.d(z([i,"unionClippingRegions"],[this,"unionClippingRegions"])),this.d(z([i,"clippingPlaneEdgeColor"],[this,"clippingPlaneEdgeColor"])),this.d(z([i,"clippingPlaneEdgeWidth"],[this,"clippingPlaneEdgeWidth"])),this.d(z([i,"materialParams"],[this,"materialParams"])),this.d(nt([i,"supportEdit"],[this,"supportEdit"])),this.d(nt([i,"clippingPlanesId"],[this,"clippingPlanesId"])),this.d(nt([i,"clippingPlaneIds"],[this,"clippingPlaneIds"])),this.d(nt([i,"flattenedPlaneId"],[this,"flattenedPlaneId"])),this.d(nt([i,"flattenedPlaneEnabled"],[this,"flattenedPlaneEnabled"])),this.d(nt([i,"clippingPlaneId"],[this,"clippingPlaneId"])),this.d(nt([i,"excavateId"],[this,"excavateId"]))}{const i=this._es3DTileset;this.d(this.refreshTilesetEvent.don(()=>{i.refreshTileset()})),this.d(this.highlightFeatureEvent.don((...r)=>{i.highlightFeature(...r)})),this.d(this.highlightFeatureAndFlyToEvent.don((...r)=>{i.highlightFeatureAndFlyTo(...r)})),this.d(this.setFeatureColorEvent.don((...r)=>{i.setFeatureColor(...r)})),this.d(this.setFeatureVisableEvent.don((...r)=>{i.setFeatureVisable(...r)})),this.d(this.resetFeatureStyleEvent.don((...r)=>{i.resetFeatureStyle(...r)})),this.d(this.flyInEvent.don((...r)=>{i.flyIn(r[0])})),this.d(this.flyToEvent.don((...r)=>{i.flyTo(r[0])})),this.d(this.calcFlyToParamEvent.don((...r)=>{i.calcFlyToParam(...r)})),this.d(this.calcFlyInParamEvent.don((...r)=>{i.calcFlyInParam(...r)}))}{const i=this._es3DTileset;this.d(i.tilesetReady.don(r=>{this.tilesetReady.emit(r)})),this.d(i.pickedEvent.don(r=>{r.assign({sceneObject:this}),this.pickedEvent.emit(r)}))}{const i=()=>{this.es3DTileset.show=this.show};i(),this.d(this.showChanged.don(()=>{i()}))}}get es3DTileset(){return this._es3DTileset}get tilesetServePort(){return this._tilesetServePort.value}get tilesetServePortChanged(){return this._tilesetServePort.changed}set tilesetServePort(e){this._tilesetServePort.value=e}get useEarthDSToken(){return this._useEarthDSToken.value}get useEarthDSTokenChanged(){return this._useEarthDSToken.changed}set useEarthDSToken(e){this._useEarthDSToken.value=e}get earthdstoken(){return this._earthdstoken.value}get earthdstokenChanged(){return this._earthdstoken.changed}set earthdstoken(e){this._earthdstoken.value=e}async getport(){const e=await uN(this.url,this.useEarthDSToken,this.earthdstoken);if(e)return this.tilesetServePort=e,e;throw new Error("服务地址port获取失败!")}async refresh(){var r;if(!this.url||typeof this.url!="string")return;const e=(r=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:r[1],i=+new Date;if(e){const s=this.tileServiceIp,o=await this.getport();this._es3DTileset.url=`${s}:${o}/tiles/tileset.json?t=${i}`}console.log("3dtileset url:",this._es3DTileset.url)}get baseUrl(){var e;if(this.url&&typeof this.url=="string"){const i=(e=this.url.match(/^(https?:\/\/[^\/]+)/))==null?void 0:e[1];if(!i)throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ms01");return i}else throw new Error("服务地址不合法,baseUrl is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceIp(){var e;if(this.url&&typeof this.url=="string"){const i=(e=this.url.match(/^(https?:\/\/[^:]+)/))==null?void 0:e[1];if(!i)throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ms01");return i}else throw new Error("服务地址不合法,ip is not found! 示例: http://localhost:9009/ts/info/ms01")}get tileServiceName(){var e;if(this.url&&typeof this.url=="string"){const i=(e=this.url.match(/\/ts\/info\/(.*)/))==null?void 0:e[1];if(!i)throw console.log(this.url),new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01,");return i}else throw new Error("服务地址不合法,tileServiceName is not found! 示例: http://localhost:9009/ts/info/ms01")}};f(wh,"type",wh.register("ESMsTileset",wh,{chsName:"Modelser实时3DTileset图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"实时3DTileset图层"}));let _p=wh;const $0={defaultValue:[{type:"2",widget:"WidgetBlueprint'/ESFoliage/PoiSheng.PoiSheng'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"3",widget:"WidgetBlueprint'/ESFoliage/PoiShi.PoiShi'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"4",widget:"WidgetBlueprint'/ESFoliage/PoiShi.PoiShi'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"5",widget:"WidgetBlueprint'/ESFoliage/PoiXiang.PoiXiang'",povit:[.5,1],worldScale:.1,hiddenDistance:40},{type:"6",widget:"WidgetBlueprint'/ESFoliage/PoiCun.PoiCun'",povit:[.5,1],worldScale:.1,hiddenDistance:40}],sampleValue:`
|
|
358
358
|
## 参数类型为 ESPoiType[]
|
|
359
359
|
\`\`\`js
|
|
360
360
|
type Vector2D = [number, number]
|