@realsee/five 6.0.0-alpha.86 → 6.0.0-alpha.87

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/five/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five
4
- * Generated: 2024/4/2
5
- * Version: 6.0.0-alpha.86
4
+ * Generated: 2024/4/17
5
+ * Version: 6.0.0-alpha.87
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -1411,7 +1411,7 @@ void main() {
1411
1411
  gl_FragColor.a = 1.0 - texture2D(luminanceMap, vUv).r;
1412
1412
  #endif
1413
1413
  }
1414
- `,$f=function(n){le(t,n);function t(){var e=n.call(this,{uniforms:{map:{value:null},luminanceMap:{value:null},flipY:{value:0}},vertexShader:Yf,fragmentShader:Jf})||this;return e.depthTest=!1,e.depthWrite=!1,e.blending=d.NoBlending,e.map=e.uniforms.map.value,e.luminanceMap=e.uniforms.luminanceMap.value,e.flipY=e.uniforms.flipY.value,Object.defineProperties(e,{map:{get:function(){return this.uniforms.map.value},set:function(r){this.uniforms.map.value=r}},luminanceMap:{get:function(){return this.uniforms.luminanceMap.value},set:function(r){this.uniforms.luminanceMap.value=r,this.defines.USE_LUMINANCE=r!==null,this.needsUpdate=!0}},flipY:{get:function(){return this.uniforms.flipY.value===1},set:function(r){this.uniforms.flipY.value=r?1:0}}}),e}return t}(d.ShaderMaterial),eh=function(n){le(t,n);function t(e,r){var i=n.call(this,Ii,new $f)||this;return e.box.getCenter(i.position),i.quaternion.multiplyQuaternions(new d.Quaternion().setFromAxisAngle(new d.Vector3(0,1,0),-Math.PI),Wf[e.face]),i.scale.setScalar(e.size),i.node=e,i.name="tiling:tile",i.material.visible=!1,i.activeTime=-1,i.disposed=!1,i.needsRender=!1,i.frustumCulled=!1,r.then(function(a){var o=a[0],s=a[1];i.disposed?(o.dispose(),s==null||s.dispose()):(i.material.map=o,i.material.luminanceMap=s,i.material.flipY=!o.flipY,i.material.needsUpdate=!0,i.material.visible=!0,i.needsRender=!0)}).catch(D),i}return t.prototype.updateTime=function(e){},t.prototype.dispose=function(){var e;this.disposed=!0,this.material.map&&(this.material.map.dispose(),(e=this.material.luminanceMap)===null||e===void 0||e.dispose()),this.material.dispose()},t}(d.Mesh),th=function(n){le(t,n);function t(){var e=n.call(this)||this;return e.needsRender=!1,e.name="tiling",e}return t}(d.Group),rh=function(){function n(t,e,r){this.disposed=!1,this.textureLoader=new Nn,this.minLevel=e,this.level=0,this.panoId="[0]",this.pedding=0,this.tileTree=ua(this.minLevel),this.tileMeshes=new Map,this.resource=[],this.luminance=null,this.imageOptions=r,this.fetcher=t,this.object=new th,this.object.renderOrder=-3}return n.prototype.setFetcher=function(t){this.fetcher=t},n.prototype.cleanup=function(){var t=this;this.tileMeshes.forEach(function(e){e.dispose(),t.object.remove(e),t.object.needsRender=!0}),this.tileMeshes.clear()},n.prototype.setRotation=function(t){this.disposed||this.object.quaternion.equals(t)||(this.object.quaternion.copy(t),this.object.needsRender=!0)},n.prototype.setPosition=function(t){this.disposed||this.object.position.equals(t)||(this.object.position.copy(t),this.object.needsRender=!0)},n.prototype.setResource=function(t,e){var r,i;if(!this.disposed&&!(this.resource===t&&this.luminance===e)){this.cleanup(),this.resource=t;var a=(i=(r=t.slice().sort(function(o,s){return s.level-o.level})[0])===null||r===void 0?void 0:r.level)!==null&&i!==void 0?i:0;this.tileTree=ua(a),this.luminance=e,this.object.needsRender=!0}},n.prototype.update=function(t,e,r){var i=this;if(!this.disposed){this.level=e;var a=t.planes[5].normal,o=[];e>=this.minLevel&&Na(this.tileTree,function(b){if(!(b.level<i.minLevel)){if(b.level>e||!t.intersectsBox(b.box))return!1;o.push(b)}});var s=new d.Vector3;o.sort(function(b,w){return b.level!==w.level?b.level-w.level:b.box.getCenter(s).angleTo(a)-w.box.getCenter(s).angleTo(a)});for(var l=new Set,u=function(b){var w=c.resource.filter(function(K){return K.level===b.level})[0];if(!w)return"continue";if(l.add(b),c.tileMeshes.has(b))return c.tileMeshes.get(b).activeTime=r,"continue";var E=w.size,C=c.imageOptions.transform,x=Math.pow(2,b.level)*b.position.y,M=Math.pow(2,b.level)*b.position.x,S="".concat(c.panoId,".").concat(b.face,".").concat(b.level,".").concat(x,".").concat(M),P=k(k({key:"pano_tile.".concat(S)},wr(c.imageOptions,["format","size","quality","sharpen","mappings"])),{size:E*b.size===Yn?void 0:Yn,cut:[E*b.position.x,E*b.position.y,E*b.size,E*b.size]}),T=c.textureLoader.loadTexture(w[b.face],{imageURL:{transform:C,options:P},minFilter:d.NearestFilter,magFilter:d.LinearFilter,generateMipmaps:!1,fetcher:c.fetcher}).then(function(K){return K.body}),B=null;if(c.luminance){var F=c.luminance[b.face],L=F.match(/\/cube_(\d+)\//),O=L?Number(L[1]):!1;if(O!==!1){var Q=k(k({},P),{size:O*b.size===Yn/2?void 0:Yn/2,cut:[O*b.position.x,O*b.position.y,O*b.size,O*b.size],key:"pano_tile_luminance.".concat(S)});B=c.textureLoader.loadTexture(F,{imageURL:{transform:c.imageOptions.transform,options:Q},magFilter:d.NearestFilter,fetcher:c.fetcher}).then(function(K){return K.body}).catch(function(){return null})}}c.pedding++;var N=Promise.all([T,B]).then(function(K){return i.pedding--,K},function(K){return i.pedding--,Promise.reject(K)}),H=new eh(b,N);H.name="tiling:tile-".concat(S),H.activeTime=r,H.renderOrder=b.level,c.tileMeshes.set(b,H),c.object.needsRender=!0,c.object.add(H)},c=this,f=0,A=o;f<A.length;f++){var p=A[f];u(p)}var y=[];this.tileMeshes.forEach(function(b,w){l.has(w)||y.push(w),b.visible=w.level<=e});for(var v=y.sort(function(b,w){var E,C,x,M;return((C=(E=i.tileMeshes.get(w))===null||E===void 0?void 0:E.activeTime)!==null&&C!==void 0?C:0)-((M=(x=i.tileMeshes.get(b))===null||x===void 0?void 0:x.activeTime)!==null&&M!==void 0?M:0)}).slice(Math.max(0,jf-l.size)),m=0,h=v;m<h.length;m++){var p=h[m],g=this.tileMeshes.get(p);g&&(g.dispose(),this.object.remove(g),this.object.needsRender=!0),this.tileMeshes.delete(p)}}},n.prototype.dispose=function(){this.cleanup(),this.resource=[],this.disposed=!0},n}(),nh=new Float32Array([-1,1,1,-1,1,-1,-1,-1,1,-1,-1,-1,1,1,-1,1,1,1,1,-1,-1,1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,-1,1,-1,-1,1,1,-1,-1,-1,-1,-1,1,1,1,-1,1,1,1,-1,1,-1,-1,1,-1,1,-1,1,1,-1,-1,-1,-1,1,-1,-1]),ih=new Uint8Array([0,2,1,2,3,1,4,6,5,6,7,5,8,10,9,10,11,9,12,14,13,14,15,13,16,18,17,18,19,17,20,22,21,22,23,21]),Za=new d.BufferGeometry;Za.setAttribute("position",new d.BufferAttribute(nh,3));Za.setIndex(new d.BufferAttribute(ih,1));var ah=`
1414
+ `,$f=function(n){le(t,n);function t(){var e=n.call(this,{uniforms:{map:{value:null},luminanceMap:{value:null},flipY:{value:0}},vertexShader:Yf,fragmentShader:Jf})||this;return e.depthTest=!1,e.depthWrite=!1,e.blending=d.NoBlending,e.map=e.uniforms.map.value,e.luminanceMap=e.uniforms.luminanceMap.value,e.flipY=e.uniforms.flipY.value,Object.defineProperties(e,{map:{get:function(){return this.uniforms.map.value},set:function(r){this.uniforms.map.value=r}},luminanceMap:{get:function(){return this.uniforms.luminanceMap.value},set:function(r){this.uniforms.luminanceMap.value=r,this.defines.USE_LUMINANCE=r!==null,this.needsUpdate=!0}},flipY:{get:function(){return this.uniforms.flipY.value===1},set:function(r){this.uniforms.flipY.value=r?1:0}}}),e}return t}(d.ShaderMaterial),eh=function(n){le(t,n);function t(e,r){var i=n.call(this,Ii,new $f)||this;return e.box.getCenter(i.position),i.quaternion.multiplyQuaternions(new d.Quaternion().setFromAxisAngle(new d.Vector3(0,1,0),-Math.PI),Wf[e.face]),i.scale.setScalar(e.size),i.node=e,i.name="tiling:tile",i.material.visible=!1,i.activeTime=-1,i.disposed=!1,i.needsRender=!1,i.frustumCulled=!1,r.then(function(a){var o=a[0],s=a[1];i.disposed?(o.dispose(),s==null||s.dispose()):(i.material.map=o,i.material.luminanceMap=s,i.material.flipY=!o.flipY,i.material.needsUpdate=!0,i.material.visible=!0,i.needsRender=!0)}).catch(D),i}return t.prototype.updateTime=function(e){},t.prototype.dispose=function(){var e;this.disposed=!0,this.material.map&&(this.material.map.dispose(),(e=this.material.luminanceMap)===null||e===void 0||e.dispose()),this.material.dispose()},t}(d.Mesh),th=function(n){le(t,n);function t(){var e=n.call(this)||this;return e.needsRender=!1,e.name="tiling",e}return t}(d.Group),rh=function(){function n(t,e,r){this.disposed=!1,this.textureLoader=new Nn,this.minLevel=e,this.level=0,this.panoId="[0]",this.maxPedding=3,this.pedding=0,this.tileTree=ua(this.minLevel),this.tileMeshes=new Map,this.resource=[],this.luminance=null,this.imageOptions=r,this.fetcher=t,this.object=new th,this.object.renderOrder=-3}return n.prototype.setFetcher=function(t){this.fetcher=t},n.prototype.cleanup=function(){var t=this;this.tileMeshes.forEach(function(e){e.dispose(),t.object.remove(e),t.object.needsRender=!0}),this.tileMeshes.clear()},n.prototype.setRotation=function(t){this.disposed||this.object.quaternion.equals(t)||(this.object.quaternion.copy(t),this.object.needsRender=!0)},n.prototype.setPosition=function(t){this.disposed||this.object.position.equals(t)||(this.object.position.copy(t),this.object.needsRender=!0)},n.prototype.setResource=function(t,e){var r,i;if(!this.disposed&&!(this.resource===t&&this.luminance===e)){this.cleanup(),this.resource=t;var a=(i=(r=t.slice().sort(function(o,s){return s.level-o.level})[0])===null||r===void 0?void 0:r.level)!==null&&i!==void 0?i:0;this.tileTree=ua(a),this.luminance=e,this.object.needsRender=!0}},n.prototype.update=function(t,e,r){var i=this;if(!this.disposed){this.level=e;var a=t.planes[5].normal,o=[];e>=this.minLevel&&Na(this.tileTree,function(b){if(!(b.level<i.minLevel)){if(b.level>e||!t.intersectsBox(b.box))return!1;o.push(b)}});var s=new d.Vector3;o.sort(function(b,w){return b.level!==w.level?b.level-w.level:b.box.getCenter(s).angleTo(a)-w.box.getCenter(s).angleTo(a)});for(var l=new Set,u=function(b){var w=c.resource.filter(function(K){return K.level===b.level})[0];if(!w)return"continue";if(l.add(b),c.tileMeshes.has(b))return c.tileMeshes.get(b).activeTime=r,"continue";if(c.pedding>=c.maxPedding)return"continue";var E=w.size,C=c.imageOptions.transform,x=Math.pow(2,b.level)*b.position.y,M=Math.pow(2,b.level)*b.position.x,S="".concat(c.panoId,".").concat(b.face,".").concat(b.level,".").concat(x,".").concat(M),P=k(k({key:"pano_tile.".concat(S)},wr(c.imageOptions,["format","size","quality","sharpen","mappings"])),{size:E*b.size===Yn?void 0:Yn,cut:[E*b.position.x,E*b.position.y,E*b.size,E*b.size]}),T=c.textureLoader.loadTexture(w[b.face],{imageURL:{transform:C,options:P},minFilter:d.NearestFilter,magFilter:d.LinearFilter,generateMipmaps:!1,fetcher:c.fetcher}).then(function(K){return K.body}),B=null;if(c.luminance){var F=c.luminance[b.face],L=F.match(/\/cube_(\d+)\//),O=L?Number(L[1]):!1;if(O!==!1){var Q=k(k({},P),{size:O*b.size===Yn/2?void 0:Yn/2,cut:[O*b.position.x,O*b.position.y,O*b.size,O*b.size],key:"pano_tile_luminance.".concat(S)});B=c.textureLoader.loadTexture(F,{imageURL:{transform:c.imageOptions.transform,options:Q},magFilter:d.NearestFilter,fetcher:c.fetcher}).then(function(K){return K.body}).catch(function(){return null})}}c.pedding++;var N=Promise.all([T,B]).then(function(K){return i.pedding--,K},function(K){return i.pedding--,Promise.reject(K)}),H=new eh(b,N);H.name="tiling:tile-".concat(S),H.activeTime=r,H.renderOrder=b.level,c.tileMeshes.set(b,H),c.object.needsRender=!0,c.object.add(H)},c=this,f=0,A=o;f<A.length;f++){var p=A[f];u(p)}var y=[];this.tileMeshes.forEach(function(b,w){l.has(w)||y.push(w),b.visible=w.level<=e});for(var v=y.sort(function(b,w){var E,C,x,M;return((C=(E=i.tileMeshes.get(w))===null||E===void 0?void 0:E.activeTime)!==null&&C!==void 0?C:0)-((M=(x=i.tileMeshes.get(b))===null||x===void 0?void 0:x.activeTime)!==null&&M!==void 0?M:0)}).slice(Math.max(0,jf-l.size)),m=0,h=v;m<h.length;m++){var p=h[m],g=this.tileMeshes.get(p);g&&(g.dispose(),this.object.remove(g),this.object.needsRender=!0),this.tileMeshes.delete(p)}}},n.prototype.dispose=function(){this.cleanup(),this.resource=[],this.disposed=!0},n}(),nh=new Float32Array([-1,1,1,-1,1,-1,-1,-1,1,-1,-1,-1,1,1,-1,1,1,1,1,-1,-1,1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,-1,1,-1,-1,1,1,-1,-1,-1,-1,-1,1,1,1,-1,1,1,1,-1,1,-1,-1,1,-1,1,-1,1,1,-1,-1,-1,-1,1,-1,-1]),ih=new Uint8Array([0,2,1,2,3,1,4,6,5,6,7,5,8,10,9,10,11,9,12,14,13,14,15,13,16,18,17,18,19,17,20,22,21,22,23,21]),Za=new d.BufferGeometry;Za.setAttribute("position",new d.BufferAttribute(nh,3));Za.setIndex(new d.BufferAttribute(ih,1));var ah=`
1415
1415
  #if defined(USE_PANO_VIDEO)
1416
1416
  varying vec3 worldPosition;
1417
1417
  #endif
@@ -2009,7 +2009,7 @@ void main() {
2009
2009
  #include <premultiplied_alpha_fragment>
2010
2010
 
2011
2011
  }
2012
- `},to=function(n){le(t,n);function t(e){var r=n.call(this,{uniforms:d.UniformsUtils.clone(ia.uniforms),vertexShader:ia.vertexShader,fragmentShader:ia.fragmentShader,clipping:!0})||this;return r.type="LineMaterial",r.dashed=!1,Object.defineProperties(r,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(i){this.uniforms.diffuse.value=i}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(i){this.uniforms.linewidth.value=i}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(i){this.uniforms.dashScale.value=i}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(i){this.uniforms.dashSize.value=i}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(i){this.uniforms.gapSize.value=i}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(i){this.uniforms.opacity.value=i}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(i){this.uniforms.resolution.value.copy(i)}}}),r.setValues(e),r}return t}(d.ShaderMaterial);Object.assign(to.prototype,{isLineMaterial:!0});var al=function(n){le(t,n);function t(e,r){var i=n.call(this)||this;return i.type="LineSegments2",i.geometry=e!==void 0?e:new eo,i.material=r!==void 0?r:new to({color:Math.random()*16777215}),i}return t.prototype.computeLineDistances=function(){for(var e=this.geometry,r=e.attributes.instanceStart,i=e.attributes.instanceEnd,a=new Float32Array(2*r.count),o=new d.Vector3,s=new d.Vector3,l=0,u=0,c=r.count;l<c;l++,u+=2)o.fromBufferAttribute(r,l),s.fromBufferAttribute(i,l),a[u]=u===0?0:a[u-1],a[u+1]=a[u]+o.distanceTo(s);var f=new d.InstancedInterleavedBuffer(a,2,1);return e.setAttribute("instanceDistanceStart",new d.InterleavedBufferAttribute(f,1,0)),e.setAttribute("instanceDistanceEnd",new d.InterleavedBufferAttribute(f,1,1)),this},t.prototype.raycast=function(e,r){e.camera===null&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var i=e.ray,a=e.camera,o=a.projectionMatrix,s=this.geometry,l=this.material,u=l.resolution,c=l.linewidth,f=s.attributes.instanceStart,A=s.attributes.instanceEnd,p=new d.Vector4,y=new d.Vector4,v=new d.Vector4,m=new d.Vector3,h=new d.Matrix4,g=new d.Line3,b=new d.Vector3;i.at(1,v),v.w=1,v.applyMatrix4(a.matrixWorldInverse),v.applyMatrix4(o),v.multiplyScalar(1/v.w),v.x*=u.x/2,v.y*=u.y/2,v.z=0,m.copy(v);var w=this.matrixWorld;h.multiplyMatrices(a.matrixWorldInverse,w);for(var E=0,C=f.count;E<C;E++){p.fromBufferAttribute(f,E),y.fromBufferAttribute(A,E),p.w=1,y.w=1,p.applyMatrix4(h),y.applyMatrix4(h),p.applyMatrix4(o),y.applyMatrix4(o),p.multiplyScalar(1/p.w),y.multiplyScalar(1/y.w);var x=p.z<-1&&y.z<-1,M=p.z>1&&y.z>1;if(!(x||M)){p.x*=u.x/2,p.y*=u.y/2,y.x*=u.x/2,y.y*=u.y/2,g.start.copy(p),g.start.z=0,g.end.copy(y),g.end.z=0;var S=g.closestPointToPointParameter(m,!0);g.at(S,b);var P=d.MathUtils.lerp(p.z,y.z,S),T=P>=-1&&P<=1,B=m.distanceTo(b)<c*.5;if(T&&B){g.start.fromBufferAttribute(f,E),g.end.fromBufferAttribute(A,E),g.start.applyMatrix4(w),g.end.applyMatrix4(w);var F=new d.Vector3,L=new d.Vector3;i.distanceSqToSegment(g.start,g.end,L,F),r.push({point:L,pointOnLine:F,distance:i.origin.distanceTo(L),object:this,faceIndex:E})}}}},t}(d.Mesh);Object.assign(al.prototype,{isLineSegments2:!0});var ol=function(n){le(t,n);function t(e,r){var i=n.call(this,e,r)||this;return i.type="Line2",i}return t}(al);Object.assign(ol.prototype,{isLine2:!0});var sl=function(n){le(t,n);function t(){var e=n.call(this)||this;return e.type="LineGeometry",e}return t.prototype.setPositions=function(e){for(var r=e.length-3,i=new Float32Array(2*r),a=0;a<r;a+=3)i[2*a]=e[a],i[2*a+1]=e[a+1],i[2*a+2]=e[a+2],i[2*a+3]=e[a+3],i[2*a+4]=e[a+4],i[2*a+5]=e[a+5];return n.prototype.setPositions.call(this,i),this},t.prototype.setColors=function(e){for(var r=e.length-3,i=new Float32Array(2*r),a=0;a<r;a+=3)i[2*a]=e[a],i[2*a+1]=e[a+1],i[2*a+2]=e[a+2],i[2*a+3]=e[a+3],i[2*a+4]=e[a+4],i[2*a+5]=e[a+5];return n.prototype.setColors.call(this,i),this},t.prototype.fromLine=function(e){var r=e.geometry;if(r instanceof d.Geometry){var i=new d.BufferGeometry().fromGeometry(r);this.setPositions(i.attributes.position.array)}else r instanceof d.BufferGeometry&&this.setPositions(r.attributes.position.array);return this},t.prototype.copy=function(){return this},t}(eo);Object.assign(sl.prototype,{isLineGeometry:!0});var Zh="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sHDgwCEMBJZu0AAAAdaVRYdENvbW1lbnQAAAAAAENyZWF0ZWQgd2l0aCBHSU1QZC5lBwAABM5JREFUWMO1V0tPG2cUPZ4Hxh6DazIOrjFNqJs0FIMqWFgWQkatsmvVbtggKlSVRVf5AWz4AWz4AUSKEChll19QJYSXkECuhFxsHjEhxCYm+DWGMZ5HF72DJq4bAzFXurI0M/I5997v3u9cC65vTJVn2lX/xHINQOYSBLTLEuIuCWw4Z3IGAEvf6ASmVHjNzHCXBG4A0AjACsAOwEbO0nsFQBnAGYASAIl+ZRMR7SolMEdsByD09fV5R0ZGgg8ePPjW5/N1iqLYpuu6RZblciKR2I9Go69evnwZnZ+fjwI4IS8AKBIRzeQfJWCANwKwh0KhtrGxsYehUOin1tbW+zzP23ietzY2NnIAoGmaLsuyUiqVyvl8XtrY2NiamZn589mzZxsAUgCOAeQAnFI2tI+VxIjaAeDzoaGh7xYWFuZOTk6OZVk+12uYqqq6JEnn0Wg0OT4+/geAXwGEAdwDIFJQXC1wO4DWR48e/RCPxxclSSroVzRFUbSDg4P848ePFwH8DuAhkWih83TRQWxFOXgAwvDwcOfo6OhvXV1d39tsNtuVBwTDWBwOh1UUxVsMw1hXVlbSdCgNV43uYSvrHg6H24aHh38eHBz85TrgF9FYLHA4HLzH43FvbW2d7u/vG+dANp8FpqIlbd3d3V8Fg8EfBUFw4BONZVmL3+9vHhkZCQL4AoAHgJPK8G+yzC0XDofdoVAo5PP5vkadTBAEtr+/39ff3x8gAp/RPOEqx2qjx+NpvXv3bk9DQ0NDvQgwDIOWlhZrMBj8kgi0UJdxRgYMArzL5XJ7vd57qLPZ7Xamp6fnNgBXtQxcjFuHw+Hyer3t9SYgCAITCAScAJoBNNEY/08GOFVVrfVMv7kMNDntFD1vjIAPrlRN0xjckOm6biFQ3jwNPwDMZrOnqVTqfb3Bi8Wivru7W/VCYkwPlKOjo0IikXh7EwQikYgE4Nw0CfXKDCipVCoTj8df3QABbW1tLUc6oUgkFPMkVACUNjc337148eKvw8PDbJ2jP1taWkoCyNDVXDSECmNSK4qiKNLq6urW8+fPI/UicHx8rD59+jSVy+WOAKSJhKENwFItLtoxk8mwsixzHR0dHe3t7c5PAU+n09rs7OzJkydPYqVSaQfANoDXALIk31S2smU1TWMPDg7K5XKZ7+3t9TudTut1U7+wsFCcmJiIpdPpbQBxADsAknQWymYCOukBHYCuKApisdhpMpnURFEU79y503TVyKenpzOTk5M7e3t7MQKPV0Zv1gNm+awB0MvlshqLxfLb29uyJElWURSbXC4XXyvqxcXFs6mpqeTc3Nzu3t7e3wQcA7BPZ8Cov1pNlJplmQtAG8MwHV6v95tAINA5MDBwPxAIuLu6upr8fr/VAN3c3JQjkcjZ+vp6fnl5+d2bN29SuVzuNYAEpf01CdRChUL+X1VskHACuA3Ay3Fcu9vt7nA6nZ7m5uYWQRCaNE3jVVW15PP580KhIGUymWw2m00DOAJwSP4WwPtq4LX2Ao6USxNlQyS/RcQcdLGwlNIz6vEMAaZpNzCk2Pll94LK/cDYimxERiBwG10sxjgvEZBE0UpE6vxj+0Ct5bTaXthgEhRmja8QWNkkPGsuIpfdjpkK+cZUWTC0KredVmtD/gdlSl6EG4AMvQAAAABJRU5ErkJggg==",Ts=14467195,Yh=8,Jh=2,$h=20,Ps=null,Ia=function(n){le(t,n);function t(e,r){e===void 0&&(e=new d.Vector3),r===void 0&&(r=new d.Vector3);var i=n.call(this)||this;i.type="FiveLine",i.needsRender=!0;var a=new sl,o=new to({color:Ts,linewidth:Jh,dashScale:$h,dashed:!1});i.line=new ol(a,o);var s=new d.BufferGeometry,l=new d.PointsMaterial({color:Ts,size:Yh,map:Ps||(Ps=new d.TextureLoader().load(Zh)),sizeAttenuation:!1,transparent:!0});return i.points=new d.Points(s,l),i.points.renderOrder=11,i.points.frustumCulled=!1,i.setPoints(e,r),i.add(i.line,i.points),i}return Object.defineProperty(t,"version",{get:function(){return"6.0.0-alpha.86"},enumerable:!1,configurable:!0}),t.prototype.setPoints=function(e,r){var i=[].concat(e.toArray(),r.toArray());this.points.geometry.setAttribute("position",new d.BufferAttribute(new Float32Array(i),3)),this.line.geometry.setPositions(i),this.line.computeLineDistances(),this.needsRender=!0},t.prototype.getPoints=function(){var e=this.points.geometry.attributes.position.array;return[new d.Vector3(e[0],e[1],e[2]),new d.Vector3(e[3],e[4],e[5])]},t.prototype.setMaterial=function(e){var r=this.line.material;for(var i in e)if(e.hasOwnProperty(i)){var a=e[i];i==="dashed"?(r.dashed=a,a?r.defines.USE_DASH="":delete r.defines.USE_DASH,r.needsUpdate=!0):r[i]=e[i]}this.needsRender=!0},t.prototype.setResolution=function(e,r){var i=this.line.material.resolution;(i.x!==e||i.y!==r)&&(i.set(e,r),this.needsRender=!0)},t}(d.Object3D);Object.assign(Ia.prototype,{isFiveLine:!0});var Ke={Handedness:Object.freeze({NONE:"none",LEFT:"left",RIGHT:"right"}),ComponentState:Object.freeze({DEFAULT:"default",TOUCHED:"touched",PRESSED:"pressed"}),ComponentProperty:Object.freeze({BUTTON:"button",X_AXIS:"xAxis",Y_AXIS:"yAxis",STATE:"state"}),ComponentType:Object.freeze({TRIGGER:"trigger",SQUEEZE:"squeeze",TOUCHPAD:"touchpad",THUMBSTICK:"thumbstick",BUTTON:"button"}),ButtonTouchThreshold:.05,AxisTouchThreshold:.1,VisualResponseProperty:Object.freeze({TRANSFORM:"transform",VISIBILITY:"visibility"})};function ul(n){return bi(this,void 0,void 0,function(){var t;return wi(this,function(e){switch(e.label){case 0:return[4,fetch(n)];case 1:if(t=e.sent(),t.ok)return[2,t.json()];throw new Error(t.statusText)}})})}function ep(n){return bi(this,void 0,void 0,function(){var t,e;return wi(this,function(r){switch(r.label){case 0:if(!n)throw new Error("No basePath supplied");return t="profilesList.json",[4,ul("".concat(n,"/").concat(t))];case 1:return e=r.sent(),[2,e]}})})}function tp(n,t,e,r){return e===void 0&&(e=null),r===void 0&&(r=!0),bi(this,void 0,void 0,function(){var i,a,o,s,l,u;return wi(this,function(c){switch(c.label){case 0:if(!n)throw new Error("No xrInputSource supplied");if(!t)throw new Error("No basePath supplied");return[4,ep(t)];case 1:if(i=c.sent(),n.profiles.some(function(f){var A=i[f];return A&&(a={profileId:f,profilePath:"".concat(t,"/").concat(A.path),deprecated:!!A.deprecated}),!!a}),!a){if(!e)throw new Error("No matching profile name found");if(o=i[e],!o)throw new Error('No matching profile name found and default profile "'.concat(e,'" missing.'));a={profileId:e,profilePath:"".concat(t,"/").concat(o.path),deprecated:!!o.deprecated}}return[4,ul(a.profilePath)];case 2:if(s=c.sent(),r){if(u=void 0,u=s.layouts[n.handedness],!u)throw new Error("No matching handedness, ".concat(n.handedness,", in profile ").concat(a.profileId));u.assetPath&&(l=a.profilePath.replace("profile.json",u.assetPath))}return[2,{profile:s,assetPath:l}]}})})}var rp={xAxis:0,yAxis:0,button:0,state:Ke.ComponentState.DEFAULT};function np(n,t){n===void 0&&(n=0),t===void 0&&(t=0);var e=n,r=t,i=Math.sqrt(n*n+t*t);if(i>1){var a=Math.atan2(t,n);e=Math.cos(a),r=Math.sin(a)}var o={normalizedXAxis:e*.5+.5,normalizedYAxis:r*.5+.5};return o}var ip=function(){function n(t){this.componentProperty=t.componentProperty,this.states=t.states,this.valueNodeName=t.valueNodeName,this.valueNodeProperty=t.valueNodeProperty,this.valueNodeProperty===Ke.VisualResponseProperty.TRANSFORM&&(this.minNodeName=t.minNodeName,this.maxNodeName=t.maxNodeName),this.value=0,this.updateFromComponent(rp)}return n.prototype.updateFromComponent=function(t){var e=t.xAxis,r=t.yAxis,i=t.button,a=t.state,o=np(e,r),s=o.normalizedXAxis,l=o.normalizedYAxis;switch(this.componentProperty){case Ke.ComponentProperty.X_AXIS:this.value=this.states.includes(a)?s:.5;break;case Ke.ComponentProperty.Y_AXIS:this.value=this.states.includes(a)?l:.5;break;case Ke.ComponentProperty.BUTTON:this.value=this.states.includes(a)?i:0;break;case Ke.ComponentProperty.STATE:this.valueNodeProperty===Ke.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(a):this.value=this.states.includes(a)?1:0;break;default:throw new Error("Unexpected visualResponse componentProperty ".concat(this.componentProperty))}},n}(),ap=function(){function n(t,e){var r=this;if(!t||!e||!e.visualResponses||!e.gamepadIndices||Object.keys(e.gamepadIndices).length===0)throw new Error("Invalid arguments supplied");this.id=t,this.type=e.type,this.rootNodeName=e.rootNodeName,this.touchPointNodeName=e.touchPointNodeName,this.visualResponses={},Object.keys(e.visualResponses).forEach(function(i){var a=new ip(e.visualResponses[i]);r.visualResponses[i]=a}),this.gamepadIndices=Object.assign({},e.gamepadIndices),this.values={state:Ke.ComponentState.DEFAULT,button:this.gamepadIndices.button!==void 0?0:void 0,xAxis:this.gamepadIndices.xAxis!==void 0?0:void 0,yAxis:this.gamepadIndices.yAxis!==void 0?0:void 0}}return Object.defineProperty(n.prototype,"data",{get:function(){var t=k({id:this.id},this.values);return t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(t){var e=this;if(this.values.state=Ke.ComponentState.DEFAULT,this.gamepadIndices.button!==void 0&&t.buttons.length>this.gamepadIndices.button){var r=t.buttons[this.gamepadIndices.button];this.values.button=r.value,this.values.button=this.values.button<0?0:this.values.button,this.values.button=this.values.button>1?1:this.values.button,r.pressed||this.values.button===1?this.values.state=Ke.ComponentState.PRESSED:(r.touched||this.values.button>Ke.ButtonTouchThreshold)&&(this.values.state=Ke.ComponentState.TOUCHED)}this.gamepadIndices.xAxis!==void 0&&t.axes.length>this.gamepadIndices.xAxis&&(this.values.xAxis=t.axes[this.gamepadIndices.xAxis],this.values.xAxis=this.values.xAxis<-1?-1:this.values.xAxis,this.values.xAxis=this.values.xAxis>1?1:this.values.xAxis,this.values.state===Ke.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>Ke.AxisTouchThreshold&&(this.values.state=Ke.ComponentState.TOUCHED)),this.gamepadIndices.yAxis!==void 0&&t.axes.length>this.gamepadIndices.yAxis&&(this.values.yAxis=t.axes[this.gamepadIndices.yAxis],this.values.yAxis=this.values.yAxis<-1?-1:this.values.yAxis,this.values.yAxis=this.values.yAxis>1?1:this.values.yAxis,this.values.state===Ke.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>Ke.AxisTouchThreshold&&(this.values.state=Ke.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach(function(i){i.updateFromComponent(e.values)})},n}(),op=function(){function n(t,e,r){var i=this;if(!t)throw new Error("No xrInputSource supplied");if(!e)throw new Error("No profile supplied");this.xrInputSource=t,this.assetUrl=r,this.id=e.profileId,this.layoutDescription=e.layouts[t.handedness],this.components={},Object.keys(this.layoutDescription.components).forEach(function(a){var o=i.layoutDescription.components[a];i.components[a]=new ap(a,o)}),this.updateFromGamepad()}return Object.defineProperty(n.prototype,"gripSpace",{get:function(){return this.xrInputSource.gripSpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"targetRaySpace",{get:function(){return this.xrInputSource.targetRaySpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"data",{get:function(){var t=[];return Object.values(this.components).forEach(function(e){t.push(e.data)}),t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(){var t=this;Object.values(this.components).forEach(function(e){e.updateFromGamepad(t.xrInputSource.gamepad)})},n}(),sp="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",up="generic-trigger",lp=function(n){le(t,n);function t(){var e=n.call(this)||this;return e.motionController=null,e.envMap=null,e}return t.prototype.setEnvironmentMap=function(e){var r=this;return this.envMap==e?this:(this.envMap=e,this.traverse(function(i){i instanceof d.Mesh&&i.isMesh&&(i.material.envMap=r.envMap,i.material.needsUpdate=!0)}),this)},t.prototype.updateMatrixWorld=function(e){n.prototype.updateMatrixWorld.call(this,e),this.motionController&&(this.motionController.updateFromGamepad(),Object.values(this.motionController.components).forEach(function(r){Object.values(r.visualResponses).forEach(function(i){var a=i.valueNode,o=i.minNode,s=i.maxNode,l=i.value,u=i.valueNodeProperty;a&&(u===Ke.VisualResponseProperty.VISIBILITY?a.visible=l:u===Ke.VisualResponseProperty.TRANSFORM&&(a.quaternion.copy(o.quaternion).slerp(s.quaternion,l),a.position.lerpVectors(o.position,s.position,l)))})}))},t}(Mn.Object3D);function cp(n,t){Object.values(n.components).forEach(function(e){var r=e.type,i=e.touchPointNodeName,a=e.visualResponses;if(r===Ke.ComponentType.TOUCHPAD)if(e.touchPointNode=t.getObjectByName(i),e.touchPointNode){var o=new Mn.SphereGeometry(.001),s=new Mn.MeshBasicMaterial({color:255}),l=new Mn.Mesh(o,s);e.touchPointNode.add(l)}else console.warn("Could not find touch dot, ".concat(e.touchPointNodeName,", in touchpad component ").concat(e.id));Object.values(a).forEach(function(u){var c=u.valueNodeName,f=u.minNodeName,A=u.maxNodeName,p=u.valueNodeProperty;if(p===Ke.VisualResponseProperty.TRANSFORM){if(u.minNode=t.getObjectByName(f),u.maxNode=t.getObjectByName(A),!u.minNode){console.warn("Could not find ".concat(f," in the model"));return}if(!u.maxNode){console.warn("Could not find ".concat(A," in the model"));return}}u.valueNode=t.getObjectByName(c),u.valueNode||console.warn("Could not find ".concat(c," in the model"))})})}function Bs(n,t){cp(n.motionController,t),n.envMap&&t.traverse(function(e){e instanceof d.Mesh&&e.isMesh&&(e.material.envMap=n.envMap,e.material.needsUpdate=!0)}),n.add(t)}var dp=function(){function n(t){t===void 0&&(t=null),this.gltfLoader=t,this.path=sp,this._assetCache={}}return n.prototype.createControllerModel=function(t){var e=this,r=new lp,i=null;return t.addEventListener("connected",function(a){var o=a.data;o.targetRayMode!=="tracked-pointer"||!o.gamepad||tp(o,e.path,up).then(function(s){var l=s.profile,u=s.assetPath;r.motionController=new op(o,l,u);var c=e._assetCache[r.motionController.assetUrl];if(c)i=c.scene.clone(),Bs(r,i);else{if(!e.gltfLoader)throw new Error("GLTFLoader not set.");e.gltfLoader.load(r.motionController.assetUrl,function(f){e._assetCache[r.motionController.assetUrl]=f,i=f.scene.clone(),Bs(r,i)})}}).catch(function(s){console.warn(s)})}),t.addEventListener("disconnected",function(){r.motionController=null,r.remove(i),i=null}),r},n}();function fp(n,t){if(!t)return n;var e=n.match(/\d+_[a-z].png/);return n.substring(0,e.index)+t+"/"+n.substring(e.index)}var Rs=300,hp=new d.Matrix4().makeRotationAxis(new d.Vector3(0,1,0),Math.PI),Fs=new d.Vector3(-1,1,1),pp=function(n){le(t,n);function t(e){var r=n.call(this,e)||this;r.xrManager=new _h(r.renderer,r.renderer.getContext(),{onSessionStart:function(l){r.emit("xr.session.start",_("xr.session.start",{session:l,machineType:r.xrManager.machineType}))},onSessionEnd:function(){r.emit("xr.session.end",_("xr.session.end",{session:null,machineType:r.xrManager.machineType}))}}),r.xrControllerRay={left:new d.Raycaster,right:new d.Raycaster},r.xrControllerRay.left.params.Points={threshold:.1},r.xrControllerRay.right.params.Points={threshold:.1},r.pointerLines={left:new Ia,right:new Ia},r.pointerLines.left.visible=!1,r.pointerLines.right.visible=!0,r.pointerLines.left.setMaterial({color:new d.Vector3(1,1,1)}),r.pointerLines.left.points.material.depthTest=!1,r.pointerLines.right.setMaterial({color:new d.Vector3(1,1,1)}),r.pointerLines.right.points.material.depthTest=!1,r.scene.add(r.pointerLines.left,r.pointerLines.right),r.panoResources={},r.panoResources[r.locationMotion.keyframes[0].key=r.locationMotion.keyframes[1].key=wt()]={panoId:Ve(r.currentPano),leftPanoPicture:null,position:r.camera.pose.offset.clone(),effect:"fade",fixCameraTransform:new d.Matrix4},r.parallaxCameraMatrixs=[];var i=lt.shared.getContext();if(!i)return console.error("获取session失败,请退出重试"),r;r.on("xr.session.end",function(){r.scene.remove(r.pointerLines.left,r.pointerLines.right)}),r.xrManager.setSession(i),r.controllerWrappers=[new d.Group,new d.Group],r.scene.add(r.controllerWrappers[0],r.controllerWrappers[1]);var a=r.xrManager.getController(0);r.controllerWrappers[0].add(a);var o=r.xrManager.getController(1);r.controllerWrappers[1].add(o);var s=new dp;return s.gltfLoader={load:function(l,u){li.ajax(l,{responseType:"arraybuffer"}).then(function(c){var f;return Ua(c.body,{resourcePath:l.slice(0,l.lastIndexOf("/")+1),search:(f=l.split("?")[1])!==null&&f!==void 0?f:"",fetcher:li})}).then(function(c){return u(c)})}},r.on("xr.session.start",function(){var l=r.xrManager.getControllerGrip(0);l.add(s.createControllerModel(l)),r.controllerWrappers[0].add(l);var u=r.xrManager.getControllerGrip(1);u.add(s.createControllerModel(u)),r.controllerWrappers[1].add(u)}),r.xrControllerState={LeftAxesUp:{touchStartTime:0,touchStart:!1},LeftAxesDown:{touchStartTime:0,touchStart:!1},LeftAxesLeft:{touchStartTime:0,touchStart:!1},LeftAxesRight:{touchStartTime:0,touchStart:!1},LeftTrigger:{touchStartTime:0,touchStart:!1},LeftPinch:{touchStartTime:0,touchStart:!1},RightAxesUp:{touchStartTime:0,touchStart:!1},RightAxesDown:{touchStartTime:0,touchStart:!1},RightAxesLeft:{touchStartTime:0,touchStart:!1},RightAxesRight:{touchStartTime:0,touchStart:!1},RightTrigger:{touchStartTime:0,touchStart:!1},RightPinch:{touchStartTime:0,touchStart:!1},Y:{touchStartTime:0,touchStart:!1},X:{touchStartTime:0,touchStart:!1},A:{touchStartTime:0,touchStart:!1},B:{touchStartTime:0,touchStart:!1}},r}return t.parseArgs=function(e){if(e instanceof t)return e;var r=k(k({},e),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2});return n.parseArgs.call(this,r)},t.initAnimationEndState=function(e){var r=this.parseArgs(e),i=n.initAnimationEndState.call(this,r);return k(k({},i),{mode:"XRPanorama"})},t.prototype.moveToPano=function(e,r,i){var a=this,o,s,l,u,c=(o=r.effect)!==null&&o!==void 0?o:"fade";this.userAction=i,this.stopMomentumMovement();var f=this.works.getResolvedObserver(e);if(!f)throw new Error("Invalid PanoIndex");var A=this.imageOptions.size;if(typeof A=="undefined"&&f){var p=f.images.up.match(/\/cube_(\d+)\//);p&&(A=Number(p[1]))}typeof A=="undefined"&&(A=2048);var y=this.imageOptions.transform,v=function(T,B){return fp(ci(T,y,B))},m=k({key:"pano.".concat(f.panoId)},wr(this.imageOptions,["format","size","quality"])),h=f.images,g=(l=(s=f.images.tiles)===null||s===void 0?void 0:s.filter(function(T){return T.size>A}))!==null&&l!==void 0?l:null,b="pano:"+Bn([h,m,y]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===b)return;var w=this.pendingTextureTask.panoId;(u=this.panoMeshes[w])===null||u===void 0||u.setProgress(0),this.emit("pano.texture.abort",_("pano.texture.abort",{error:null,progress:0,meta:null,pano:f.pano})),this.pendingTextureTask.onError(new Error("texture aborted"))}var E=this.models.getMaterial()||{},C=E.pano0,x=E.pano1,M;if((C==null?void 0:C.map.name)===b?M=C:(x==null?void 0:x.map.name)===b&&(M=x),M){var S={panoId:f.panoId,effect:c,leftPanoPicture:{map:M.map,luminanceMap:M.luminanceMap,matrix:new d.Matrix4().compose(f.position,f.quaternion,Fs)},position:f.position.clone(),fixCameraTransform:new d.Matrix4};this.doMoveToPano(f.pano,S,r);return}var P="move-to-pano-"+f.panoId;this.pending.add(P),this.pendingTextureTask={panoId:f.panoId,hash:b,onLoad:function(T){if(a.pending.delete(P),a.destroyed)T.body.dispose();else{T.body.name=b;var B={panoId:f.panoId,effect:c,leftPanoPicture:{map:T.body,luminanceMap:null,matrix:new d.Matrix4().compose(f.position,f.quaternion,Fs)},position:f.position.clone(),fixCameraTransform:new d.Matrix4};a.doMoveToPano(f.pano,B,r)}},onError:function(T){a.pending.delete(P);var B=k(k(k({},f.pano),{mode:a.mode}),je(a.camera.pose));a.emit("pano.error",_("pano.error",{error:T,userAction:a.userAction,options:r,prevPano:a.currentPano,progress:0,state:B})),a.emit("pano.cancel",_("pano.cancel",{error:null,userAction:a.userAction,options:r,prevPano:a.currentPano,progress:0,state:B})),r.moveCancelCallback&&r.moveCancelCallback()}},Promise.all([this.tileLevelForFov&&g&&g.length?this.textureLoader.loadTiledCubeTexture(h,g,{tileMaxLevel:this.TILED_CUBE_TEXTURE_LEVEL,imageURL:{transform:v,options:m},format:d.RGBAFormat,minFilter:d.NearestFilter,magFilter:d.LinearFilter,generateMipmaps:!1,viaAjax:!0,fetcher:ut(f.work)},void 0,void 0,function(T){var B,F;a.emit("pano.texture.progress",_("pano.texture.progress",{error:null,progress:T,meta:null,pano:f.pano})),((B=a.pendingTextureTask)===null||B===void 0?void 0:B.hash)===b&&((F=a.panoMeshes[f.panoId])===null||F===void 0||F.setProgress(T))},this.renderer):this.textureLoader.loadCubeTexture(h,{imageURL:{transform:v,options:m},format:d.RGBAFormat,fetcher:ut(f.work)},void 0,void 0,function(T){var B,F;((B=a.pendingTextureTask)===null||B===void 0?void 0:B.hash)===b&&((F=a.panoMeshes[f.panoId])===null||F===void 0||F.setProgress(T)),a.emit("pano.texture.progress",_("pano.texture.progress",{error:null,progress:T,meta:null,pano:f.pano}))},this.renderer)]).then(function(T){var B,F,L=T[0];((B=a.pendingTextureTask)===null||B===void 0?void 0:B.hash)===b?(a.pendingTextureTask.onLoad(L),(F=a.panoMeshes[f.panoId])===null||F===void 0||F.setProgress(0),delete a.pendingTextureTask,a.emit("pano.texture.success",_("pano.texture.success",{error:null,progress:1,meta:L.meta,pano:f.pano}))):L.body.dispose()}).catch(function(T){var B,F;((B=a.pendingTextureTask)===null||B===void 0?void 0:B.hash)===b&&(a.pendingTextureTask.onError(T),(F=a.panoMeshes[f.panoId])===null||F===void 0||F.setProgress(0),delete a.pendingTextureTask,a.emit("pano.texture.error",_("pano.texture.error",{error:T,progress:0,meta:null,pano:f.pano})),a.emit("error",T))}),this.emit("pano.texture.load",_("pano.texture.load",{error:null,progress:0,meta:null,pano:f.pano}))},t.prototype.doMoveToPano=function(e,r,i){var a=this,o,s,l,u,c,f,A,p,y,v;i===void 0&&(i={});var m=be(),h=wt();this.panoResources[h]=r;var g=1,b,w,E;if(this.locationMotion.ended){var C=this.locationMotion.getKeyFrameSegment(m);C[0];var x=C[1],M=this.locationMotion.value,S=this.panoResourceFromLocationMotionKeyframe(x).position,P=r.position;b=Math.max(S.distanceTo(P),g),w=[{key:x.key,progress:0,value:k(k({},M),{count:0})},{key:h,progress:1,value:{distance:0,count:1}}],E=0}else{var T=this.locationMotion.getKeyFrameSegment(m),B=T[0],x=T[1],M=this.locationMotion.value,F=this.panoResourceFromLocationMotionKeyframe(B).position,S=this.panoResourceFromLocationMotionKeyframe(x).position,P=r.position,L=x.value.count-M.count,O=Math.max(F.distanceTo(S),g)*L,Q=Math.max(S.distanceTo(P),g);b=O+Q,w=[{key:B.key,progress:0,value:k({},M)},{key:x.key,progress:O/b,value:x.value},{key:h,progress:1,value:{count:x.value.count+1,distance:0}}];var N=this.locationMotionKeyframesLength(this.locationMotion.keyframes),H=this.locationMotionKeyframesLength(w);E=this.locationMotion.getProgressVelocity(m)*N/H}var K=r.effect==="instant"?0:this.calculateMovingDuration(i.duration,r.effect==="fly"?b:0),U={longitude:i.longitude,latitude:i.latitude,fov:i.fov},G=k(k({},e),{mode:this.mode,longitude:(o=U.longitude)!==null&&o!==void 0?o:this.camera.pose.longitude,latitude:(s=U.latitude)!==null&&s!==void 0?s:this.camera.pose.latitude,fov:(l=U.fov)!==null&&l!==void 0?l:this.camera.pose.fov,offset:r.position.clone(),distance:0}),X=this.currentPano;this.emit("pano.moveTo",_("pano.moveTo",{options:i,prevPano:X,progress:0,state:G,userAction:this.userAction,error:null})),i.moveStartCallback&&i.moveStartCallback(G),this.videoTexture&&this.videoTexture.image instanceof HTMLVideoElement&&this.videoTexture.image.getAttribute("src")&&(this.videoTexture.image.pause(),this.videoTexture.image.removeAttribute("uuid"),this.videoTexture.image.removeAttribute("src"),this.videoTexture.image.oncanplay=D,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null);var Z=Vt({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),q=Vt({longitude:(u=U.longitude)!==null&&u!==void 0?u:this.cameraMotion.value.longitude,latitude:(c=U.latitude)!==null&&c!==void 0?c:this.cameraMotion.value.latitude}),W=new d.Object3D;W.lookAt(Z);var J=new d.Matrix4().makeRotationFromQuaternion(W.quaternion);W.lookAt(q);for(var ve=new d.Matrix4().makeRotationFromQuaternion(W.quaternion),re=new d.Matrix4().getInverse(J).premultiply(ve),se=0;se<w.length-1;se++){var ie=w[se].key;if(ie){var pe=this.panoResources[ie];pe&&pe.fixCameraTransform.copy(re)}}r.effect==="fly"?this.cameraMotion.set(U,K).catch(D):this.cameraMotion.setKeyframes([{progress:0,value:{longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude,fov:this.cameraMotion.value.fov}},{progress:0,value:{longitude:(f=U.longitude)!==null&&f!==void 0?f:this.cameraMotion.value.longitude,latitude:(A=U.latitude)!==null&&A!==void 0?A:this.cameraMotion.value.latitude,fov:this.cameraMotion.value.fov}},{progress:1,value:{longitude:(p=U.longitude)!==null&&p!==void 0?p:this.cameraMotion.value.longitude,latitude:(y=U.latitude)!==null&&y!==void 0?y:this.cameraMotion.value.latitude,fov:(v=U.fov)!==null&&v!==void 0?v:this.cameraMotion.value.fov}}],K).catch(D);var ne=this.locationMotion.setKeyframes(w,K,E);ne.then(function(){var de,ce,fe,$=k(k({},e),{mode:a.mode,longitude:a.camera.pose.longitude,latitude:a.camera.pose.latitude,fov:a.camera.pose.fov,offset:a.camera.pose.offset.clone(),distance:0});a.emit("pano.arrived",_("pano.arrived",{options:i,prevPano:X,progress:1,state:$,userAction:a.userAction,error:null})),i.moveEndCallback&&i.moveEndCallback($);var te=a.works.getResolvedObserver(a.currentPano);if(te&&te.video&&a.videoTexture&&a.videoTexture.image instanceof HTMLVideoElement){var j=hp.clone().multiply((fe=(ce=(de=a.models.getMaterial())===null||de===void 0?void 0:de.pano1)===null||ce===void 0?void 0:ce.matrix)!==null&&fe!==void 0?fe:new d.Matrix4).multiply(te.video.matrix),Oe={map:a.videoTexture,size:te.video.size,matrix:j,alpha:1},Ce=wt(),ge=a.videoTexture.image;ge.setAttribute("uuid",Ce),_u().then(function(Le){Le&&te.video&&ge.getAttribute("uuid")===Ce&&(ge.oncanplay=function(){ge.oncanplay=D,ge.play()},ge.ontimeupdate=function(){ge.currentTime>.5&&(ge.ontimeupdate=D,a.panoVideo.setMaterial(Oe))},ge.src=te.video.source)}).catch(function(){ge.removeAttribute("uuid")})}},function(){a.emit("pano.cancel",_("pano.cancel",{options:i,prevPano:X,progress:0,state:G,userAction:a.userAction,error:null})),i.moveCancelCallback&&i.moveCancelCallback()})},t.prototype.checkSelectedPano=function(e){var r=this,i,a,o,s;this.stopMomentumMovement();var l=this.camera.getDirection(new d.Vector3).setY(0),u=null,c=this.works.getResolvedObserver(this.currentPano);if(!c)return null;var f=c.accessibleIds.filter(function(q){var W=ht(q);if(Xt(W,r.currentPano))return!1;var J=r.works.getResolvedObserver(W);return!J||J.position.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:J.loadable||J.active}),A=this.models.intersectRaycaster(e)[0];if(A){var p=or(f,function(q){var W=r.works.getResolvedObserver(q);if(!W)return 1/0;var J=W.standingPosition.clone();return J.distanceTo(A.point)},!0),y=p[0],v=p[1];y&&v<this.panoTapTriggerRadius&&(u=(i=this.works.getResolvedObserver(y))!==null&&i!==void 0?i:null)}if(Ss(u)){var m=this.getForwardObserverOrNot(e);m&&(u=m)}for(var h=0,g=this.locationMotion.keyframes;h<g.length;h++){var b=g[h],w=this.panoResourceFromLocationMotionKeyframe(b);if(!(b.progress<this.locationMotion.progress)&&u&&w.panoId===u.panoId){u=null;break}}if(Ss(u))return this.locationMotion.ended===!0&&this.cameraBounce(),null;if(u&&!u.active){var E=u.panoId;this.panoMeshes[E]&&(this.panoMeshes[E].setDisabled(!1),this.panoMeshes[E].setLoading(!0))}var C={};if(u){for(var x=Math.PI/6,M=Math.PI/12,S=new d.Vector3(0,1,0),P=u.position.clone().setY(0).sub(c.position.clone().setY(0)).normalize(),T=P.clone().applyAxisAngle(S,x),B=P.clone().applyAxisAngle(S,-x),F=[],L=[],O=[],Q=0,N=u.accessibleIds;Q<N.length;Q++){var y=N[Q],H=ht(y);if(!(Xt(H,this.currentPano)||Xt(H,u.pano))){var K=this.works.getResolvedObserver(y);if(K){var U=K.position.clone().sub(u.position).setY(0);P.angleTo(U)<x?O.push(U):T.angleTo(U)<x?F.push(U):B.angleTo(U)<x&&L.push(U)}}}var G=O.length>0?O:pt(pt([],F,!0),L,!0),X=G.slice().sort(function(q,W){return q.angleTo(P)-W.angleTo(P)})[0];X&&X.angleTo(l)>M&&(C.longitude=Math.atan2(-X.x,-X.z))}this.cameraMotion.value.latitude<-Math.PI/4&&(C.latitude=he(0,this.minLatitude,this.maxLatitude)),this.cameraMotion.value.fov<60&&(C.fov=this.defaultFov);var Z={workCode:u.pano.workCode,panoIndex:u.pano.panoIndex,mode:this.mode,longitude:(a=C.longitude)!==null&&a!==void 0?a:this.camera.pose.longitude,latitude:(o=C.latitude)!==null&&o!==void 0?o:this.camera.pose.latitude,fov:(s=C.fov)!==null&&s!==void 0?s:this.camera.pose.fov,distance:0,offset:u?u.position.clone():new d.Vector3};return this.emit("pano.select",_("pano.select",{prevPano:this.currentPano,state:Z,userAction:!0,options:C,progress:0,error:null})),u&&u.active?(this.emit("pano.request",_("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:Z,options:C,error:null})),u.pano):null},t.prototype.destroy=function(){n.prototype.destroy.call(this)},t.prototype.isReady=function(){return!1},t.prototype.updateCamera=function(e,r,i){return Promise.resolve()},t.prototype.updateCameraWithKeyframes=function(e,r,i){return Promise.resolve()},t.prototype.updateTime=function(e,r){for(var i=this,a,o,s,l,u,c,f,A,p=[],y=2;y<arguments.length;y++)p[y-2]=arguments[y];this.userAction=!0;var v={},m={},h=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),g=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),b=!1;if(this.cameraMotion.ended===!1&&(this.cameraMotion.update(e),m.longitude=this.cameraMotion.value.longitude,m.latitude=this.cameraMotion.value.latitude,m.fov=this.cameraMotion.value.fov),this.modelAlphaMotion.ended===!1&&(this.modelAlphaMotion.update(e),v.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended===!1&&(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(he(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var w=this.locationMotion.getKeyFrameSegment(e),E=w[0],C=w[1],x=this.panoResourceFromLocationMotionKeyframe(E),M=this.panoResourceFromLocationMotionKeyframe(C),S=new d.Vector3().copy(x.position),P=new d.Vector3().copy(M.position),T=this.locationMotion.value.count-C.value.count+1;v.progress=T,M.leftPanoPicture&&(T<1?x.leftPanoPicture&&(v.pano0=x.leftPanoPicture):v.pano0=M.leftPanoPicture,v.pano1=M.leftPanoPicture),M.effect==="montage"?v.transition="BLACK":M.effect==="spread"?v.transition="SPREAD":v.transition="FADE",T<1&&M.effect!=="fly"&&(v.pano0&&x.leftPanoPicture&&(v.pano0={map:v.pano0.map,luminanceMap:v.pano0.luminanceMap,matrix:x.leftPanoPicture.matrix.clone().setPosition(M.position)}),S.copy(P),b=!0),m.distance=this.locationMotion.value.distance,m.offset=new d.Vector3(S.x+(P.x-S.x)*T,S.y+(P.y-S.y)*T,S.z+(P.z-S.z)*T);for(var B=[],F=[],L=0,O=this.locationMotion.keyframes;L<O.length;L++){var Q=O[L],N=Q.key,H=Q.progress;N!==void 0&&(B.push(N),H>this.locationMotion.progress&&F.push(N))}for(var K=0,U=Object.keys(this.panoResources);K<U.length;K++){var G=U[K];if(!(F.indexOf(G)>=0)){var X=this.panoResources[G];if(X.leftPanoPicture){var Z=X.leftPanoPicture.map;if(Z){if(Z===((a=v.pano0)===null||a===void 0?void 0:a.map)||Z===((o=v.pano1)===null||o===void 0?void 0:o.map))continue;Z instanceof ke&&Z.cubeRenderTarget&&this.colorCubeRenderTargetPool.push(Z.cubeRenderTarget),Z.dispose(),X.leftPanoPicture=null}}B.indexOf(G)>=0||delete this.panoResources[G]}}this.currentPano=ht(M.panoId),this.emit("pano.moving",_("pano.moving",{userAction:this.userAction,prevPano:ht(h.panoId),state:k(k(k(k({},ht(g.panoId)),{mode:this.mode}),je(this.camera.pose)),m),options:{},progress:this.locationMotion.progress,error:null}))}Dt(v)===!1&&(!((s=v.pano0)===null||s===void 0)&&s.map&&v.pano0.map instanceof ke&&!v.pano0.map.cubeRenderTarget&&(v.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((l=v.pano1)===null||l===void 0)&&l.map&&v.pano1.map instanceof ke&&!v.pano1.map.cubeRenderTarget&&(v.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),this.models.setMaterial(v)),Dt(m)===!1&&this.setCamera(m);var q=this.works.getResolvedObserver(this.currentPano),W=p[1];if(!W){console.error("xrFrame丢失,请重试");return}if(!this.xrManager.session){console.error("session丢失,请重试");return}var J=this.xrManager.referenceSpace;if(J){var ve=this.xrManager.cameraVR,re=this.xrManager.cameraL,se=this.xrManager.cameraR,ie=[re,se],pe=W.getViewerPose(J),ne=new d.Vector3(0,0,0);if(pe){var de;de=this.xrManager.session.renderState.baseLayer;var ce=pe.views;if(!de){console.error("no layer found");return}this.renderer.setFramebuffer(de.framebuffer);var fe=!1;ce.length!==ve.cameras.length&&(ve.cameras.length=0,fe=!0),this.parallaxCameraMatrixs=[];var $=new d.Vector3,te=new d.Vector3;new d.Matrix4().fromArray(ce[0].transform.matrix).decompose($,new d.Quaternion,new d.Vector3),new d.Matrix4().fromArray(ce[1].transform.matrix).decompose(te,new d.Quaternion,new d.Vector3),te.clone().sub($).normalize();var j=new d.Vector3,Oe=new d.Quaternion,Ce=new d.Vector3;this.camera.matrix.decompose(j,Oe,Ce);for(var ge=0;ge<ce.length;ge++){var Le=ce[ge],Ne=de.getViewport(Le),De=ie[ge];De.matrix.fromArray(Le.transform.matrix);var We=new d.Vector3,Ae=new d.Quaternion,me=new d.Vector3;De.matrix.decompose(We,Ae,me),ne.copy(j),De.position.copy(j),De.quaternion.copy(Ae),De.scale.copy(me),De.updateMatrix(),De.projectionMatrix.fromArray(Le.projectionMatrix),De.viewport.set(Ne.x,Ne.y,Ne.width,Ne.height),fe===!0&&ve.cameras.push(De)}pe.views[0].transform.position,pe.views[1].transform.position;for(var Te=this.xrManager.session.inputSources,ge=0;ge<this.xrManager.controllers.length;ge++){var Ue=this.xrManager.controllers[ge],Ee=Te[ge];if(Ee){Ue.update(Ee,W,J);var Qe=this.xrManager.getController(ge),Be=new d.Vector3(0,1.2,0),Ge=Qe.position.clone().add(ne).sub(Be);Ee.handedness==="left"?this.xrControllerRay.left.set(Ge,new d.Vector3(0,0,-1).applyEuler(Qe.rotation)):Ee.handedness==="right"&&this.xrControllerRay.right.set(Ge,new d.Vector3(0,0,-1).applyEuler(Qe.rotation)),this.controllerWrappers[ge].position.copy(new d.Vector3(0,0,0).add(ne).sub(Be));var it=this.models.intersectRaycaster(this.xrControllerRay.right);if(it.length===0&&(it=this.xrControllerRay.right.intersectObject(this.boundingMesh,!0).map(function(ot){var At;return k({floor:(At=q==null?void 0:q.floorIndex)!==null&&At!==void 0?At:0},ot)})),it.length>=1&&it[0].face)if(Ee.handedness==="right"){var tt=this.xrControllerRay.right.intersectObject(this.xrCustomObjectsScene,!0),Ut=it[0].face.normal,Zt=Ut.clone().multiplyScalar(.05),Ze=it[0].point.clone().add(Zt);this.intersectMesh.position.copy(Ze);var sr=Ze.clone().add(Zt);if(this.intersectMesh.lookAt(sr),Math.abs(Ut.y)>.99){var zt=this.camera.position.clone().sub(Ze);this.intersectMesh.rotation.z=-Math.atan2(zt.z,zt.x)}this.intersectMesh.visible=!0,this.needsRender=!0,tt.length>0?(this.pointerLines.right.setPoints(Ge,tt[0].point),this.pointerLines.right.points.visible=!0,this.intersectMesh.visible=!1):(this.pointerLines.right.points.visible=!1,this.pointerLines.right.setPoints(Ge,it[0].point));var St=it[0],It=_("intersect.update",{raycaster:(u=this.xrControllerRay.right)!==null&&u!==void 0?u:null,intersection:St!=null?St:null,object:this.intersectMesh});if(this.emit("intersect.update",It),It.defaultPrevented){this.hideIntersectMesh();return}}else this.pointerLines.left.setPoints(Ge,it[0].point)}}if(this.camera.pose.distance>.1||b)for(var Gt=0,Yt=Object.keys(this.panoMeshes);Gt<Yt.length;Gt++){var vt=Yt[Gt],Pe=this.panoMeshes[vt];Pe.setOpacity(0),Pe.setCurrent(!1),Pe.updateTime&&Pe.updateTime(e,r),Pe.visible=!1}else if(q){var ur=or(q.visibleIds,function(rt){var ot=i.works.getResolvedObserver(rt);return ot?q.standingPosition.distanceTo(ot.standingPosition):1/0},!0),Jt=ur[1];Jt=he(Jt,2.5,1/0);for(var dn=q.visibleIds.concat(Ve(this.currentPano)),lr=this.getForwardObserverOrNot(),fn=this.camera.getDirection(new d.Vector3),Lr=0,$t=Object.keys(this.panoMeshes);Lr<$t.length;Lr++){var vt=$t[Lr],Pe=this.panoMeshes[vt],Xe=this.works.getResolvedObserver(vt);if(dn.indexOf(vt)===-1)Pe.setCurrent(!1),Pe.setOpacity(0);else if(!Xe)Pe.setCurrent(!1),Pe.setOpacity(0);else if(!Xe.loadable&&!Xe.active)Pe.setCurrent(!1),Pe.setOpacity(0);else{var Je=Pe.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);Pe.setCurrent(!Pe.loading&&Pe.progress===0&&lr!==null&&lr.panoId===vt),Pe.setOpacity(Je<.01?0:he(Jt/Je*1.2,.65,.98));var Tt=this.camera.position.clone().setY(Pe.position.y),cr=new d.Vector3().copy(Pe.position).sub(Tt).normalize();if(vt===Ve(this.currentPano)){var hn=he((.5-Tt.distanceTo(Pe.position))/.5,0,1);cr.multiplyScalar(1-hn).add(fn.clone().multiplyScalar(hn))}cr.length()>0&&Pe.quaternion.setFromEuler(new d.Euler(0,Math.atan2(cr.x,cr.z),0))}Pe.updateTime&&Pe.updateTime(e,r)}}var Kr=function(){if(i.tileLevelForFov===!1)return 0;var rt=new d.Vector2(4e3,4e3),ot=g.panoId,At=i.works.getResolvedObserver(ot),mt=i.imageOptions.size;if(typeof mt=="undefined"&&At){var Gn=At.images.up.match(/\/cube_(\d+)\//);Gn&&(mt=Number(Gn[1]))}typeof mt=="undefined"&&(mt=2048);var Vr=0;mt>=1024&&(Vr=1),mt>=2048&&(Vr=2),mt>=4096&&(Vr=3),mt>=8192&&(Vr=4);var Nr=i.tileLevelForFov(re.fov,rt);return Nr>Vr?Nr:0}(),pn=function(){var rt=new d.PerspectiveCamera;rt.applyMatrix4(ve.matrix),rt.position.set(0,0,0);var ot=i.works.getResolvedObserver(g.panoId),At=ot!=null?ot:q;At&&rt.quaternion.premultiply(At.quaternion.clone().inverse()),rt.updateProjectionMatrix(),rt.updateMatrixWorld(!0);var mt=new d.Frustum().setFromProjectionMatrix(new d.Matrix4().multiplyMatrices(rt.projectionMatrix,rt.matrixWorldInverse));return mt}();g.panoId===Ve(this.currentPano)&&((c=g.leftPanoPicture)===null||c===void 0?void 0:c.map)instanceof ke&&(g.leftPanoPicture.map.update(pn,Kr),g.leftPanoPicture.map.needsRender===!0&&(this.needsRender=!0));{var zn=this.tiling.object.visible;if(Kr>this.TILED_CUBE_TEXTURE_LEVEL&&this.initAnimationed){var Or=g.panoId,at=this.works.getResolvedObserver(Or);at?Dn(this.camera.position,at.position)&&this.locationMotion.ended?(this.tiling.object.visible=!0,this.tiling.panoId!==Or&&this.tiling.cleanup(),this.tiling.panoId=Or,this.tiling.setResource((A=(f=at.images)===null||f===void 0?void 0:f.tiles)!==null&&A!==void 0?A:[],this.enableIOSEDR&&at.images.luminance?at.images.luminance:null),this.tiling.setFetcher(ut(at.work)),this.tiling.setRotation(at.quaternion),this.tiling.setPosition(at.position),this.tiling.update(pn,Kr,e)):this.tiling.object.visible=!1:this.tiling.object.visible=!1}else this.tiling.object.visible=!1;zn!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0)}this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e),!(!Te||Te.length<1)&&this.updateControllerHelper(Te,e,r)}}},t.prototype.render=function(){var e=this.xrManager.getCamera(this.camera);this.renderer.render(this.scene,e)},t.prototype.onPanGesture=function(){},t.prototype.onTapGesture=function(){},t.prototype.onPinchGesture=function(){},t.prototype.onMouseMove=function(){},t.prototype.onMouseOut=function(){},t.prototype.panoResourceFromLocationMotionKeyframe=function(e){return this.panoResources[e.key]},t.prototype.updateControllerHelper=function(e,r,i){var a=this.xrControllerRay.left,o=this.xrControllerRay.right;if(!(!e||e.length===0)){for(var s={buttons:{X:!1,Y:!1,LeftTrigger:!1,LeftPinch:!1,A:!1,B:!1,RightTrigger:!1,RightPinch:!1}},l=0;l<e.length;l++){var u=e[l].handedness,c=e[l].gamepad;switch(u){case"left":c.axes&&(this.emitEvent(c.axes[2]===-1,"LeftAxesLeft",r),this.emitEvent(c.axes[2]===1,"LeftAxesRight",r),this.emitEvent(c.axes[3]===-1,"LeftAxesUp",r),this.emitEvent(c.axes[3]===1,"LeftAxesDown",r)),c!=null&&c.buttons&&(c.buttons[4]&&this.emitEvent(c.buttons[4].pressed,"X",r),c.buttons[5]&&this.emitEvent(c.buttons[5].pressed,"Y",r),c.buttons[0]&&this.emitEvent(c.buttons[0].pressed,"LeftTrigger",r),c.buttons[1]&&this.emitEvent(c.buttons[1].pressed,"LeftPinch",r));var f={raycaster:a,axes:{up:c.axes&&c.axes[3]<0?Math.abs(c.axes[3]):0,down:c.axes&&c.axes[3]<0?0:Math.abs(c.axes[3]),left:c.axes&&c.axes[2]<0?Math.abs(c.axes[2]):0,right:c.axes&&c.axes[2]<0?0:Math.abs(c.axes[2])},deltaTime:i};s.buttons.X=c.buttons&&c.buttons[4]?c.buttons[4].pressed:!1,s.buttons.Y=c.buttons&&c.buttons[5]?c==null?void 0:c.buttons[5].pressed:!1,s.buttons.LeftTrigger=c.buttons&&c.buttons[0]?c==null?void 0:c.buttons[0].pressed:!1,s.buttons.LeftPinch=c.buttons&&c.buttons[1]?c==null?void 0:c.buttons[1].pressed:!1,s.left=f;break;case"right":c.axes&&(this.emitEvent(c.axes[2]===-1,"RightAxesLeft",r),this.emitEvent(c.axes[2]===1,"RightAxesRight",r),this.emitEvent(c.axes[3]===-1,"RightAxesUp",r),this.emitEvent(c.axes[3]===1,"RightAxesDown",r)),c.buttons&&(c.buttons[4]&&this.emitEvent(c.buttons[4].pressed,"A",r),c.buttons[5]&&this.emitEvent(c.buttons[5].pressed,"B",r),c.buttons[0]&&this.emitEvent(c.buttons[0].pressed,"RightTrigger",r),c.buttons[1]&&this.emitEvent(c.buttons[1].pressed,"RightPinch",r));var A={raycaster:o,axes:{up:c.axes&&c.axes[3]<0?Math.abs(c.axes[3]):0,down:c.axes&&c.axes[3]<0?0:Math.abs(c.axes[3]),left:c.axes&&c.axes[2]<0?Math.abs(c.axes[2]):0,right:c.axes&&c.axes[2]<0?0:Math.abs(c.axes[2])},deltaTime:i};s.right=A,s.buttons.A=c.buttons&&c.buttons[4]?c==null?void 0:c.buttons[4].pressed:!1,s.buttons.B=c.buttons&&c.buttons[5]?c==null?void 0:c.buttons[5].pressed:!1,s.buttons.RightTrigger=c.buttons&&c.buttons[0]?c==null?void 0:c.buttons[0].pressed:!1,s.buttons.RightPinch=c.buttons&&c.buttons[1]?c==null?void 0:c.buttons[1].pressed:!1;break}}this.emit("xr.controller.update",_("xr.controller.update",s))}},t.prototype.emitEvent=function(e,r,i){var a=this.xrControllerRay.left,o=this.xrControllerRay.right;if(e)if(this.xrControllerState[r].touchStart===!1)this.xrControllerState[r].touchStartTime=i,this.xrControllerState[r].touchStart=!0,this.emit("xr.gesture.buttonDown",_("xr.gesture.buttonDown",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!1,isFirst:!0,controllers:{raycaster:{leftRay:a,rightRay:o}}}));else{var s=i-this.xrControllerState[r].touchStartTime;s>Rs&&this.emit("xr.gesture.press",_("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!0,controllers:{raycaster:{leftRay:a,rightRay:o}}}))}else if(this.xrControllerState[r].touchStart===!0){this.emit("xr.gesture.buttonUp",_("xr.gesture.buttonUp",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:a,rightRay:o}}}));var s=i-this.xrControllerState[r].touchStartTime;if(s<=Rs){var l=this.emit("xr.gesture.tap",_("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:a,rightRay:o}}}));l||r==="RightTrigger"&&this.checkSelectedPano(this.xrControllerRay.right)}this.xrControllerState[r].touchStart=!1,this.xrControllerState[r].touchStartTime=0}},t}(Ya),Lt={Floorplan:Sa,Topview:kf,Panorama:Ya,VRPanorama:kh,Model:Oh,Mapview:jh,XRPanorama:pp},ll=["gesture.pan","gesture.tap","gesture.press","gesture.pinch","gesture.mousewheel","gesture.mousemove","gesture.momentum","initAnimation.start","initAnimation.end","camera.update","intersect.update","pano.select","pano.moveTo","pano.moving","pano.arrived","pano.cancel","pano.error","pano.texture.load","pano.texture.progress","pano.texture.success","pano.texture.error","pano.texture.abort","xr.session.start","xr.session.end","xr.gesture.tap","xr.gesture.press","xr.gesture.buttonUp","xr.gesture.buttonDown","xr.controller.update"];function vp(n){n.on("initAnimation.start",function(t){n.emit("initAnimationWillStart",t.state.panoIndex,t.state,t.userAction)}),n.on("initAnimation.end",function(t){n.emit("initAnimationEnded",t.state.panoIndex,t.state,t.userAction)}),n.on("gesture.pan",function(t){var e=!1;e=n.emit("wantsGesture","pan",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPanGesture",t.state,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pan",t.pointers,t.isFinal),n.emit("panGesture",t.state,t.isFinal))}),n.on("gesture.tap",function(t){var e=!1;e=n.emit("wantsGesture","tap",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsTapGesture",t.center.raycaster,t.center.coords,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","tap",t.pointers,t.isFinal),n.emit("tapGesture",t.center.raycaster,t.center.coords,t.isFinal))}),n.on("gesture.press",function(t){var e=!1;e=n.emit("wantsGesture","press",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","press",t.pointers,t.isFinal),n.emit("pressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal))}),n.on("gesture.pinch",function(t){var e=!1;e=n.emit("wantsGesture","pinch",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPinchGesture",t.scale,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pinch",t.pointers,t.isFinal),n.emit("pinchGesture",t.scale,t.state.fov,t.isFinal))}),n.on("gesture.mousewheel",function(t){var e=!1;e=n.emit("wantsGesture","mouseWheel",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsMouseWheel",t.center.delta,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseWheel",t.pointers,t.isFinal),n.emit("mouseWheel",t.center.delta,t.state.fov,t.isFinal))}),n.on("gesture.mousemove",function(t){var e=!1;e=n.emit("wantsGesture","mouseMove",t.pointers,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseMove",t.pointers,t.isFinal),e=n.emit("wantsChangeCameraFov",t.state.fov),e&&t.preventDefault())}),n.on("gesture.momentum",function(t){var e=!1;e=n.emit("wantsInteriaPan",t.state),e&&t.preventDefault(),t.defaultPrevented||n.emit("interiaPan",t.state,t.isFinal)}),n.on("camera.update",function(t){n.emit("cameraFovUpdate",t.state.fov,t.userAction),n.emit("cameraDirectionUpdate",t.state,t.userAction);var e=Vt(t.state);e.setLength(t.state.distance);var r=t.state.offset.clone().sub(e);n.emit("cameraPositionUpdate",r,t.userAction),n.emit("cameraUpdate",t.state,t.userAction)}),n.on("intersect.update",function(t){if(t.intersection){var e=!1;e=n.emit("wantsShowIntersectionOnModel",t.raycaster),e&&t.preventDefault(),t.defaultPrevented||n.emit("intersectionOnModelUpdate",t.intersection,t.object)}else n.emit("intersectionHidden")}),n.on("pano.request",function(t){var e=n.emit("wantsMoveToPano",t.state.panoIndex,t.options,t.userAction);e||(e=n.emit("wantsToMoveToPano",t.state.panoIndex,t.options,t.userAction)),e&&t.preventDefault(),t.defaultPrevented||n.emit("panoWillLoad",t.state.panoIndex)}),n.on("pano.select",function(t){n.emit("panoSelected",t.state.panoIndex)}),n.on("pano.moveTo",function(t){n.emit("panoLoaded",t.state.panoIndex),n.emit("moveToPano",t.state.panoIndex,t.userAction),n.emit("panoWillArrive",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.moving",function(t){n.emit("movingToPano",t.state.panoIndex,t.prevPano.panoIndex,t.progress)}),n.on("pano.arrived",function(t){n.emit("panoArrived",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.cancel",function(t){n.emit("moveToPanoCanceled",t.state.panoIndex)}),n.on("pano.error",function(t){n.emit("panoLoadError",t.error,t.state.panoIndex)}),n.on("pano.texture.load",function(t){n.emit("textureStartLoad",t.pano.panoIndex)}),n.on("pano.texture.success",function(t){n.emit("textureLoaded",t.pano.panoIndex,t.meta)}),n.on("pano.texture.error",function(t){n.emit("textureError",t.error,t.pano.panoIndex)}),n.on("pano.texture.abort",function(t){n.emit("textureAbort",t.pano.panoIndex)}),n.on("pano.texture.progress",function(t){n.emit("textureLoading",t.progress,t.pano.panoIndex)}),n.on("xr.session.start",function(t){n.emit("webXRSessionStart")}),n.on("xr.session.end",function(t){n.emit("webXRSessionEnd")}),n.on("xr.gesture.tap",function(t){n.emit("webXRControllerEvent","tap",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.press",function(t){n.emit("webXRControllerEvent","press",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonUp",function(t){n.emit("webXRControllerEvent","buttonUp",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonDown",function(t){n.emit("webXRControllerEvent","buttonDown",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.controller.update",function(t){n.emit("webXRControllerRayUpdate",{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0}),t.left&&n.emit("webXRAxesUpdate","left",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.left.axes.up,down:t.left.axes.down,left:t.left.axes.left,right:t.left.axes.right},deltaTime:t.left.deltaTime}),t.right&&n.emit("webXRAxesUpdate","right",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.right.axes.up,down:t.right.axes.down,left:t.right.axes.left,right:t.right.axes.right},deltaTime:t.right.deltaTime})}),n.on("works.request",function(t){n.emit("willLoad",t.input,t.works[0],t.state)}),n.on("works.load",function(t){n.emit("load",t.input,t.works[0],t.state)}),n.on("works.ready",function(t){n.emit("loaded",t.input,t.works[0])}),n.on("state.change",function(t){n.emit("stateChange",t.state,t.userAction)}),n.on("currentState.change",function(t){n.emit("currentStateChange",t.state,t.userAction)}),n.on("state.set",function(t){n.emit("setState",t.state)}),n.on("state.synced",function(t){n.emit("stateSynced",t.state)}),n.on("model.request",function(t){n.emit("modelWillLoad",t.work.model)}),n.on("model.error",function(t){n.emit("modelLoadError",t.error,t.model)}),n.on("model.load",function(t){n.emit("modelLoaded",t.model)}),n.on("model.changeShownFloor",function(t){n.emit("modelShownFloorChange",t.model.shownFloor,t.model.floorLength)}),n.on("render",function(t){n.emit("renderFrame",t.needsRender)}),n.on("mode.change.request",function(t){n.emit("wantsChangeMode",t.mode,t.prevMode)}),n.on("mode.change",function(t){n.emit("modeChange",t.mode,t.prevMode,t.state.panoIndex,t.state,t.userAction)}),n.on("helpers.visible",function(t){n.emit("helpersVisibleChange",t.object.visible)}),n.on("network.resource",function(t){n.emit("network",t.source,t.requestType,t.requestState,t.detail)})}function Ap(){if(typeof window!="undefined"){var n=document.createElement("video");n.loop=!0,n.autoplay=!0,n.playsInline=!0,n.muted=!0,n.crossOrigin="";var t=function(){document.removeEventListener("touchstart",t,!1),document.removeEventListener("mousedown",t,!1),n.muted=!1};return document.addEventListener("touchstart",t,!1),document.addEventListener("mousedown",t,!1),n}else return{}}function mp(n){{var t=new d.DirectionalLight(16777215,.5);t.position.copy(new d.Vector3(1,1,1)),n.add(t)}{var t=new d.DirectionalLight(16777215,.3);n.add(t)}{var t=new d.AmbientLight(16777215,.3);n.add(t)}}function gp(n){for(var t,e,r={},i=n.split(/(\;|\,)/),a=0,o=i;a<o.length;a++){var s=o[a],l=s.split("="),u=(t=l[0])===null||t===void 0?void 0:t.trim(),c=(e=l[1])===null||e===void 0?void 0:e.trim();u&&c&&(r[u]=c)}return r}function cl(){var n;if(typeof document!="undefined")for(var t=document.getElementsByTagName("meta"),e=0;e<t.length;e++){var r=t[e];if(r.getAttribute("name")==="viewport"){var i=gp((n=r.getAttribute("content"))!==null&&n!==void 0?n:""),a=Number(i["initial-scale"]);if(!isNaN(a))return a}}return 1}const yp="data:image/png;base64,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";var ks=[351,63],Ls=[20,20],bp=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),wp=new Float32Array([0,0,1,0,0,1,1,1]),Ep=new Uint8Array([0,1,2,1,3,2]),Ti=new d.BufferGeometry;Ti.setAttribute("position",new d.BufferAttribute(bp,3));Ti.setAttribute("uv",new d.BufferAttribute(wp,2));Ti.setIndex(new d.BufferAttribute(Ep,1));var si=new d.MeshBasicMaterial({transparent:!0,depthTest:!1,depthWrite:!1,stencilWrite:!1,fog:!1}),dl=new d.Mesh(Ti,si);dl.matrixAutoUpdate=!1;var ro=new d.Scene;ro.add(dl);ro.matrixAutoUpdate=!1;var Un=new d.OrthographicCamera(-.5,.5,.5,-.5,.1,1);Un.position.set(0,0,.5);Un.lookAt(0,0,0);Un.updateMatrixWorld(!0);Un.matrixAutoUpdate=!1;var xp=new d.Vector4,Cp=new d.Vector4;function Os(n){if(si.map){var r=n.getViewport(xp),i=n.getScissor(Cp),a=n.getScissorTest(),o=n.autoClear,s=i.x+Ls[0]/3,l=i.y+Ls[1]/3,u=ks[0]/3,c=ks[1]/3;n.setViewport(s,l,u,c),n.setScissor(s,l,u,c),n.setScissorTest(!0),n.autoClear=!1,n.render(ro,Un),n.setViewport(r),n.setScissor(i),n.setScissorTest(a),n.autoClear=o}else{var t=new d.Texture,e=new Image;e.onload=function(){t.image=e,t.wrapS=d.ClampToEdgeWrapping,t.wrapT=d.ClampToEdgeWrapping,t.minFilter=d.LinearFilter,t.needsUpdate=!0,t.generateMipmaps=!1,si.needsUpdate=!0,e.onload=D},e.src=yp,si.map=t}}var Mp=800,Sp=function(n){return n.replace("//vrlab-public.ljcdn.com/","//vr-public.realsee-cdn.cn/").replace("//vrlab-image4.ljcdn.com/","//vr-image-4.realsee-cdn.cn/").replace("//vrlab-image3.ljcdn.com/","//vr-image-3.realsee-cdn.cn/").replace("//vrlab-image2.ljcdn.com/","//vr-image-2.realsee-cdn.cn/").replace("//vrlab-image1.ljcdn.com/","//vr-image-1.realsee-cdn.cn/")},Ip=[{name:"Z",transformToUpAxisZ:function(){return new d.Matrix4}},{name:"Y",transformToUpAxisZ:function(){return new d.Matrix4().makeRotationAxis(new d.Vector3(1,0,0),+Math.PI/2)}},{name:"-Y",transformToUpAxisZ:function(){return new d.Matrix4().makeRotationAxis(new d.Vector3(1,0,0),-Math.PI/2)}},{name:"WGS84",transformToEarthCentered:function(){return new d.Matrix4}},{name:"GCJ02",transformToEarthCentered:function(){return new d.Matrix4}},{name:"BD09",transformToEarthCentered:function(){return new d.Matrix4}}],gn=new d.Vector2,ei=new d.Frustum,ti=new d.Matrix4,Vs=new WeakMap,Ns=new WeakMap,Qs=ba([]),fl=function(n){le(t,n);function t(e){e===void 0&&(e={});var r,i,a,o,s,l,u,c,f,A,p=n.call(this)||this;p.ident=wt(),typeof window!="undefined"&&(Ta.instances[p.ident]=p),p.renderSwitch01=0,p.currentMode="Panorama",p.pano={workCode:"",panoIndex:0},p.needsRender=!1,p.onlyRenderIfNeeds=(r=e.onlyRenderIfNeeds)!==null&&r!==void 0?r:!0,p.imageOptions=k({},(i=e.imageOptions)!==null&&i!==void 0?i:{}),p.textureOptions=k({},(a=e.textureOptions)!==null&&a!==void 0?a:{}),p.poweredByRealsee=(o=e.poweredByRealsee)!==null&&o!==void 0?o:!0,p.extraElements=[],p.controllerInits={Panorama:Object.assign({},e.panorama),Model:Object.assign({},e.model),Floorplan:Object.assign({},e.floorplan),Topview:Object.assign({},e.topview),Mapview:Object.assign({},e.mapview),VRPanorama:Object.assign({},e.vrPanorama),XRPanorama:Object.assign({},e.xrPanorama)},p.coordinatesSystemTransformers=pt([],(s=e.coordinatesSystemTransformers)!==null&&s!==void 0?s:[],!0);for(var y=function(F){var L=v.coordinatesSystemTransformers.find(function(O){return O.name===F.name});L||v.coordinatesSystemTransformers.push(k({},F))},v=this,m=0,h=Ip;m<h.length;m++){var g=h[m];y(g)}if(p.fps={testCount:0,testTime:be()},p.info=null,p.modeChangeDuration=(l=e.modeChangeDuration)!==null&&l!==void 0?l:Mp,p.enableWheel=(u=e.enableWheel)!==null&&u!==void 0?u:!0,typeof window!="undefined")if("renderer"in e)e.renderer instanceof Dr&&p.throwError(new Error("cannot render a internal renderer")),p.renderer=e.renderer;else try{p.renderer=new Dr({preserveDrawingBuffer:e.preserveDrawingBuffer,backgroundColor:e.backgroundColor,backgroundAlpha:e.backgroundAlpha,antialias:e.antialias,webgl2:e==null?void 0:e.webgl2});var b=cl();p.renderer.setPixelRatio(b===1?window.devicePixelRatio:1),p.renderer.setSize(512,512)}catch(F){F instanceof Error&&p.throwError(F)}p.getPixelsRenderTarget=new d.WebGLRenderTarget(1,1,{encoding:(f=(c=p.renderer)===null||c===void 0?void 0:c.outputEncoding)!==null&&f!==void 0?f:d.sRGBEncoding}),p.scissor=Object.assign({left:0,bottom:0,width:1,height:1},e.scissor),p.camera=new xi(90),p.scene=new nu,p.xrCustomObjectsScene=new d.Scene,p.scene.add(p.xrCustomObjectsScene),p.scene.matrixAutoUpdate=!1,p.lastLoadWorkTask=Promise.resolve(),p.requestProxy=(A=e.requestProxy)!==null&&A!==void 0?A:Sp,p.networkSubscribe=new js,p.networkSubscribe.on("network",function(F,L,O,Q){var N;p.emit("network.resource",_("network.resource",{source:F,requestType:L,requestState:O,detail:Q})),(N=p.analysis)===null||N===void 0||N.network(p.works,F,L,O,Q)}),p.boundingMesh=Sf(new d.Box3(new d.Vector3(-.5,-.5,-.5),new d.Vector3(.5,.5,.5))),p.boundingMesh.name="bounding",p.scene.add(p.boundingMesh),p.models=ls(),p.models.push(new xa),p.lastModels=ls(),p.lastWorks=ba([]),p.readyCallbacks=[],p.syncingState=!1,p.modelGroup=new d.Group,p.modelGroup.visible=!1,p.modelGroup.name="model",p.modelGroup.matrixAutoUpdate=!1,p.modelGroup.renderOrder=-4,p.scene.add(p.modelGroup),p.helperGroup=new d.Group,p.helperGroup.name="helper",p.helperGroup.matrixAutoUpdate=!1,p.scene.add(p.helperGroup),p.videoTexture=new d.VideoTexture(e.videoInstance||Ap()),mp(p.scene),p.copyEffect=new Si(p.renderer,p.scene,p.camera,p.models),p.state={mode:p.currentMode,workCode:p.pano.workCode,panoIndex:p.pano.panoIndex,longitude:p.camera.pose.longitude,latitude:p.camera.pose.latitude,fov:p.camera.pose.fov,offset:p.camera.pose.offset.clone(),distance:p.camera.pose.distance},p.stateSynced=!1,p._enableIOSEDR=!1,p.destroyed=!1,p.paused=!0,typeof window!="undefined"&&(e.play!==!1&&p.play(),p.stopAnimationLoop=lt.shared.add(function(F,L){for(var O=[],Q=2;Q<arguments.length;Q++)O[Q-2]=arguments[Q];p.updateTime.apply(p,pt([F,L],O,!1))},!1,0,10));var w=function(){typeof document!="undefined"&&document.fullscreenElement===null&&p.currentMode==="VRPanorama"&&p.controller.emit("vr.requestExit",_("vr.requestExit",{}))},E=function(){p.needsRender=!0};if(typeof document!="undefined"&&document.addEventListener("fullscreenchange",w,!1),p.renderer&&p.renderer.domElement.addEventListener("webglcontextrestored",E,!1),p.removeEventListeners=function(){typeof document!="undefined"&&document.removeEventListener("fullscreenchange",w,!1),p.renderer&&p.renderer.domElement.removeEventListener("webglcontextrestored",E,!1)},p.plugins={},e.plugins&&e.plugins.length)for(var C=0,x=e.plugins;C<x.length;C++){var M=x[C];if(typeof M=="function")M(p);else if(Array.isArray(M)){var S=M[0],P=M[1],T=M[2];if(typeof S=="function"){var B=S(p,T);typeof P=="string"&&(p.plugins[P]?p.throwError(new Error("plugin name ".concat(P," is exists."))):p.plugins[P]=B)}}}return p.gpuPickingRenderTarget=new d.WebGLRenderTarget(1,1),p.meshReplaceMaterialMap=new Map,p.meshOriginMaterialMap=new Map,vp(p),p}return Object.defineProperty(t,"version",{get:function(){return"6.0.0-alpha.86"},enumerable:!1,configurable:!0}),Object.defineProperty(t,"dracoPath",{get:function(){return vi.decoderPath},set:function(e){vi.setDecoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t,"ktx2Path",{get:function(){return Pn.transcoderPath},set:function(e){Pn.setTranscoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"panoIndex",{get:function(){return this.pano.panoIndex},enumerable:!1,configurable:!0}),t.prototype.getGPUPicking=function(e,r,i,a,o){var s=this;if(a===void 0&&(a=1),o===void 0&&(o=new d.Vector3(0,0,0)),!this.renderer)throw new Error("renderer is not initialized.");this.models.setMaterial({constantColor:o}),this.scene.traverse(function(f){if(!(!(f instanceof d.Mesh)||f instanceof Mt)){var A=Object.keys(i).filter(function(y){return y===f.uuid})[0];if(A)if(s.meshOriginMaterialMap.set(A,f.material),s.meshReplaceMaterialMap.get(A))f.material=s.meshReplaceMaterialMap.get(A);else{var p=new d.ShaderMaterial({uniforms:{color:{value:i[A]}},vertexShader:`
2012
+ `},to=function(n){le(t,n);function t(e){var r=n.call(this,{uniforms:d.UniformsUtils.clone(ia.uniforms),vertexShader:ia.vertexShader,fragmentShader:ia.fragmentShader,clipping:!0})||this;return r.type="LineMaterial",r.dashed=!1,Object.defineProperties(r,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(i){this.uniforms.diffuse.value=i}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(i){this.uniforms.linewidth.value=i}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(i){this.uniforms.dashScale.value=i}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(i){this.uniforms.dashSize.value=i}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(i){this.uniforms.gapSize.value=i}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(i){this.uniforms.opacity.value=i}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(i){this.uniforms.resolution.value.copy(i)}}}),r.setValues(e),r}return t}(d.ShaderMaterial);Object.assign(to.prototype,{isLineMaterial:!0});var al=function(n){le(t,n);function t(e,r){var i=n.call(this)||this;return i.type="LineSegments2",i.geometry=e!==void 0?e:new eo,i.material=r!==void 0?r:new to({color:Math.random()*16777215}),i}return t.prototype.computeLineDistances=function(){for(var e=this.geometry,r=e.attributes.instanceStart,i=e.attributes.instanceEnd,a=new Float32Array(2*r.count),o=new d.Vector3,s=new d.Vector3,l=0,u=0,c=r.count;l<c;l++,u+=2)o.fromBufferAttribute(r,l),s.fromBufferAttribute(i,l),a[u]=u===0?0:a[u-1],a[u+1]=a[u]+o.distanceTo(s);var f=new d.InstancedInterleavedBuffer(a,2,1);return e.setAttribute("instanceDistanceStart",new d.InterleavedBufferAttribute(f,1,0)),e.setAttribute("instanceDistanceEnd",new d.InterleavedBufferAttribute(f,1,1)),this},t.prototype.raycast=function(e,r){e.camera===null&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var i=e.ray,a=e.camera,o=a.projectionMatrix,s=this.geometry,l=this.material,u=l.resolution,c=l.linewidth,f=s.attributes.instanceStart,A=s.attributes.instanceEnd,p=new d.Vector4,y=new d.Vector4,v=new d.Vector4,m=new d.Vector3,h=new d.Matrix4,g=new d.Line3,b=new d.Vector3;i.at(1,v),v.w=1,v.applyMatrix4(a.matrixWorldInverse),v.applyMatrix4(o),v.multiplyScalar(1/v.w),v.x*=u.x/2,v.y*=u.y/2,v.z=0,m.copy(v);var w=this.matrixWorld;h.multiplyMatrices(a.matrixWorldInverse,w);for(var E=0,C=f.count;E<C;E++){p.fromBufferAttribute(f,E),y.fromBufferAttribute(A,E),p.w=1,y.w=1,p.applyMatrix4(h),y.applyMatrix4(h),p.applyMatrix4(o),y.applyMatrix4(o),p.multiplyScalar(1/p.w),y.multiplyScalar(1/y.w);var x=p.z<-1&&y.z<-1,M=p.z>1&&y.z>1;if(!(x||M)){p.x*=u.x/2,p.y*=u.y/2,y.x*=u.x/2,y.y*=u.y/2,g.start.copy(p),g.start.z=0,g.end.copy(y),g.end.z=0;var S=g.closestPointToPointParameter(m,!0);g.at(S,b);var P=d.MathUtils.lerp(p.z,y.z,S),T=P>=-1&&P<=1,B=m.distanceTo(b)<c*.5;if(T&&B){g.start.fromBufferAttribute(f,E),g.end.fromBufferAttribute(A,E),g.start.applyMatrix4(w),g.end.applyMatrix4(w);var F=new d.Vector3,L=new d.Vector3;i.distanceSqToSegment(g.start,g.end,L,F),r.push({point:L,pointOnLine:F,distance:i.origin.distanceTo(L),object:this,faceIndex:E})}}}},t}(d.Mesh);Object.assign(al.prototype,{isLineSegments2:!0});var ol=function(n){le(t,n);function t(e,r){var i=n.call(this,e,r)||this;return i.type="Line2",i}return t}(al);Object.assign(ol.prototype,{isLine2:!0});var sl=function(n){le(t,n);function t(){var e=n.call(this)||this;return e.type="LineGeometry",e}return t.prototype.setPositions=function(e){for(var r=e.length-3,i=new Float32Array(2*r),a=0;a<r;a+=3)i[2*a]=e[a],i[2*a+1]=e[a+1],i[2*a+2]=e[a+2],i[2*a+3]=e[a+3],i[2*a+4]=e[a+4],i[2*a+5]=e[a+5];return n.prototype.setPositions.call(this,i),this},t.prototype.setColors=function(e){for(var r=e.length-3,i=new Float32Array(2*r),a=0;a<r;a+=3)i[2*a]=e[a],i[2*a+1]=e[a+1],i[2*a+2]=e[a+2],i[2*a+3]=e[a+3],i[2*a+4]=e[a+4],i[2*a+5]=e[a+5];return n.prototype.setColors.call(this,i),this},t.prototype.fromLine=function(e){var r=e.geometry;if(r instanceof d.Geometry){var i=new d.BufferGeometry().fromGeometry(r);this.setPositions(i.attributes.position.array)}else r instanceof d.BufferGeometry&&this.setPositions(r.attributes.position.array);return this},t.prototype.copy=function(){return this},t}(eo);Object.assign(sl.prototype,{isLineGeometry:!0});var Zh="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sHDgwCEMBJZu0AAAAdaVRYdENvbW1lbnQAAAAAAENyZWF0ZWQgd2l0aCBHSU1QZC5lBwAABM5JREFUWMO1V0tPG2cUPZ4Hxh6DazIOrjFNqJs0FIMqWFgWQkatsmvVbtggKlSVRVf5AWz4AWz4AUSKEChll19QJYSXkECuhFxsHjEhxCYm+DWGMZ5HF72DJq4bAzFXurI0M/I5997v3u9cC65vTJVn2lX/xHINQOYSBLTLEuIuCWw4Z3IGAEvf6ASmVHjNzHCXBG4A0AjACsAOwEbO0nsFQBnAGYASAIl+ZRMR7SolMEdsByD09fV5R0ZGgg8ePPjW5/N1iqLYpuu6RZblciKR2I9Go69evnwZnZ+fjwI4IS8AKBIRzeQfJWCANwKwh0KhtrGxsYehUOin1tbW+zzP23ietzY2NnIAoGmaLsuyUiqVyvl8XtrY2NiamZn589mzZxsAUgCOAeQAnFI2tI+VxIjaAeDzoaGh7xYWFuZOTk6OZVk+12uYqqq6JEnn0Wg0OT4+/geAXwGEAdwDIFJQXC1wO4DWR48e/RCPxxclSSroVzRFUbSDg4P848ePFwH8DuAhkWih83TRQWxFOXgAwvDwcOfo6OhvXV1d39tsNtuVBwTDWBwOh1UUxVsMw1hXVlbSdCgNV43uYSvrHg6H24aHh38eHBz85TrgF9FYLHA4HLzH43FvbW2d7u/vG+dANp8FpqIlbd3d3V8Fg8EfBUFw4BONZVmL3+9vHhkZCQL4AoAHgJPK8G+yzC0XDofdoVAo5PP5vkadTBAEtr+/39ff3x8gAp/RPOEqx2qjx+NpvXv3bk9DQ0NDvQgwDIOWlhZrMBj8kgi0UJdxRgYMArzL5XJ7vd57qLPZ7Xamp6fnNgBXtQxcjFuHw+Hyer3t9SYgCAITCAScAJoBNNEY/08GOFVVrfVMv7kMNDntFD1vjIAPrlRN0xjckOm6biFQ3jwNPwDMZrOnqVTqfb3Bi8Wivru7W/VCYkwPlKOjo0IikXh7EwQikYgE4Nw0CfXKDCipVCoTj8df3QABbW1tLUc6oUgkFPMkVACUNjc337148eKvw8PDbJ2jP1taWkoCyNDVXDSECmNSK4qiKNLq6urW8+fPI/UicHx8rD59+jSVy+WOAKSJhKENwFItLtoxk8mwsixzHR0dHe3t7c5PAU+n09rs7OzJkydPYqVSaQfANoDXALIk31S2smU1TWMPDg7K5XKZ7+3t9TudTut1U7+wsFCcmJiIpdPpbQBxADsAknQWymYCOukBHYCuKApisdhpMpnURFEU79y503TVyKenpzOTk5M7e3t7MQKPV0Zv1gNm+awB0MvlshqLxfLb29uyJElWURSbXC4XXyvqxcXFs6mpqeTc3Nzu3t7e3wQcA7BPZ8Cov1pNlJplmQtAG8MwHV6v95tAINA5MDBwPxAIuLu6upr8fr/VAN3c3JQjkcjZ+vp6fnl5+d2bN29SuVzuNYAEpf01CdRChUL+X1VskHACuA3Ay3Fcu9vt7nA6nZ7m5uYWQRCaNE3jVVW15PP580KhIGUymWw2m00DOAJwSP4WwPtq4LX2Ao6USxNlQyS/RcQcdLGwlNIz6vEMAaZpNzCk2Pll94LK/cDYimxERiBwG10sxjgvEZBE0UpE6vxj+0Ct5bTaXthgEhRmja8QWNkkPGsuIpfdjpkK+cZUWTC0KredVmtD/gdlSl6EG4AMvQAAAABJRU5ErkJggg==",Ts=14467195,Yh=8,Jh=2,$h=20,Ps=null,Ia=function(n){le(t,n);function t(e,r){e===void 0&&(e=new d.Vector3),r===void 0&&(r=new d.Vector3);var i=n.call(this)||this;i.type="FiveLine",i.needsRender=!0;var a=new sl,o=new to({color:Ts,linewidth:Jh,dashScale:$h,dashed:!1});i.line=new ol(a,o);var s=new d.BufferGeometry,l=new d.PointsMaterial({color:Ts,size:Yh,map:Ps||(Ps=new d.TextureLoader().load(Zh)),sizeAttenuation:!1,transparent:!0});return i.points=new d.Points(s,l),i.points.renderOrder=11,i.points.frustumCulled=!1,i.setPoints(e,r),i.add(i.line,i.points),i}return Object.defineProperty(t,"version",{get:function(){return"6.0.0-alpha.87"},enumerable:!1,configurable:!0}),t.prototype.setPoints=function(e,r){var i=[].concat(e.toArray(),r.toArray());this.points.geometry.setAttribute("position",new d.BufferAttribute(new Float32Array(i),3)),this.line.geometry.setPositions(i),this.line.computeLineDistances(),this.needsRender=!0},t.prototype.getPoints=function(){var e=this.points.geometry.attributes.position.array;return[new d.Vector3(e[0],e[1],e[2]),new d.Vector3(e[3],e[4],e[5])]},t.prototype.setMaterial=function(e){var r=this.line.material;for(var i in e)if(e.hasOwnProperty(i)){var a=e[i];i==="dashed"?(r.dashed=a,a?r.defines.USE_DASH="":delete r.defines.USE_DASH,r.needsUpdate=!0):r[i]=e[i]}this.needsRender=!0},t.prototype.setResolution=function(e,r){var i=this.line.material.resolution;(i.x!==e||i.y!==r)&&(i.set(e,r),this.needsRender=!0)},t}(d.Object3D);Object.assign(Ia.prototype,{isFiveLine:!0});var Ke={Handedness:Object.freeze({NONE:"none",LEFT:"left",RIGHT:"right"}),ComponentState:Object.freeze({DEFAULT:"default",TOUCHED:"touched",PRESSED:"pressed"}),ComponentProperty:Object.freeze({BUTTON:"button",X_AXIS:"xAxis",Y_AXIS:"yAxis",STATE:"state"}),ComponentType:Object.freeze({TRIGGER:"trigger",SQUEEZE:"squeeze",TOUCHPAD:"touchpad",THUMBSTICK:"thumbstick",BUTTON:"button"}),ButtonTouchThreshold:.05,AxisTouchThreshold:.1,VisualResponseProperty:Object.freeze({TRANSFORM:"transform",VISIBILITY:"visibility"})};function ul(n){return bi(this,void 0,void 0,function(){var t;return wi(this,function(e){switch(e.label){case 0:return[4,fetch(n)];case 1:if(t=e.sent(),t.ok)return[2,t.json()];throw new Error(t.statusText)}})})}function ep(n){return bi(this,void 0,void 0,function(){var t,e;return wi(this,function(r){switch(r.label){case 0:if(!n)throw new Error("No basePath supplied");return t="profilesList.json",[4,ul("".concat(n,"/").concat(t))];case 1:return e=r.sent(),[2,e]}})})}function tp(n,t,e,r){return e===void 0&&(e=null),r===void 0&&(r=!0),bi(this,void 0,void 0,function(){var i,a,o,s,l,u;return wi(this,function(c){switch(c.label){case 0:if(!n)throw new Error("No xrInputSource supplied");if(!t)throw new Error("No basePath supplied");return[4,ep(t)];case 1:if(i=c.sent(),n.profiles.some(function(f){var A=i[f];return A&&(a={profileId:f,profilePath:"".concat(t,"/").concat(A.path),deprecated:!!A.deprecated}),!!a}),!a){if(!e)throw new Error("No matching profile name found");if(o=i[e],!o)throw new Error('No matching profile name found and default profile "'.concat(e,'" missing.'));a={profileId:e,profilePath:"".concat(t,"/").concat(o.path),deprecated:!!o.deprecated}}return[4,ul(a.profilePath)];case 2:if(s=c.sent(),r){if(u=void 0,u=s.layouts[n.handedness],!u)throw new Error("No matching handedness, ".concat(n.handedness,", in profile ").concat(a.profileId));u.assetPath&&(l=a.profilePath.replace("profile.json",u.assetPath))}return[2,{profile:s,assetPath:l}]}})})}var rp={xAxis:0,yAxis:0,button:0,state:Ke.ComponentState.DEFAULT};function np(n,t){n===void 0&&(n=0),t===void 0&&(t=0);var e=n,r=t,i=Math.sqrt(n*n+t*t);if(i>1){var a=Math.atan2(t,n);e=Math.cos(a),r=Math.sin(a)}var o={normalizedXAxis:e*.5+.5,normalizedYAxis:r*.5+.5};return o}var ip=function(){function n(t){this.componentProperty=t.componentProperty,this.states=t.states,this.valueNodeName=t.valueNodeName,this.valueNodeProperty=t.valueNodeProperty,this.valueNodeProperty===Ke.VisualResponseProperty.TRANSFORM&&(this.minNodeName=t.minNodeName,this.maxNodeName=t.maxNodeName),this.value=0,this.updateFromComponent(rp)}return n.prototype.updateFromComponent=function(t){var e=t.xAxis,r=t.yAxis,i=t.button,a=t.state,o=np(e,r),s=o.normalizedXAxis,l=o.normalizedYAxis;switch(this.componentProperty){case Ke.ComponentProperty.X_AXIS:this.value=this.states.includes(a)?s:.5;break;case Ke.ComponentProperty.Y_AXIS:this.value=this.states.includes(a)?l:.5;break;case Ke.ComponentProperty.BUTTON:this.value=this.states.includes(a)?i:0;break;case Ke.ComponentProperty.STATE:this.valueNodeProperty===Ke.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(a):this.value=this.states.includes(a)?1:0;break;default:throw new Error("Unexpected visualResponse componentProperty ".concat(this.componentProperty))}},n}(),ap=function(){function n(t,e){var r=this;if(!t||!e||!e.visualResponses||!e.gamepadIndices||Object.keys(e.gamepadIndices).length===0)throw new Error("Invalid arguments supplied");this.id=t,this.type=e.type,this.rootNodeName=e.rootNodeName,this.touchPointNodeName=e.touchPointNodeName,this.visualResponses={},Object.keys(e.visualResponses).forEach(function(i){var a=new ip(e.visualResponses[i]);r.visualResponses[i]=a}),this.gamepadIndices=Object.assign({},e.gamepadIndices),this.values={state:Ke.ComponentState.DEFAULT,button:this.gamepadIndices.button!==void 0?0:void 0,xAxis:this.gamepadIndices.xAxis!==void 0?0:void 0,yAxis:this.gamepadIndices.yAxis!==void 0?0:void 0}}return Object.defineProperty(n.prototype,"data",{get:function(){var t=k({id:this.id},this.values);return t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(t){var e=this;if(this.values.state=Ke.ComponentState.DEFAULT,this.gamepadIndices.button!==void 0&&t.buttons.length>this.gamepadIndices.button){var r=t.buttons[this.gamepadIndices.button];this.values.button=r.value,this.values.button=this.values.button<0?0:this.values.button,this.values.button=this.values.button>1?1:this.values.button,r.pressed||this.values.button===1?this.values.state=Ke.ComponentState.PRESSED:(r.touched||this.values.button>Ke.ButtonTouchThreshold)&&(this.values.state=Ke.ComponentState.TOUCHED)}this.gamepadIndices.xAxis!==void 0&&t.axes.length>this.gamepadIndices.xAxis&&(this.values.xAxis=t.axes[this.gamepadIndices.xAxis],this.values.xAxis=this.values.xAxis<-1?-1:this.values.xAxis,this.values.xAxis=this.values.xAxis>1?1:this.values.xAxis,this.values.state===Ke.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>Ke.AxisTouchThreshold&&(this.values.state=Ke.ComponentState.TOUCHED)),this.gamepadIndices.yAxis!==void 0&&t.axes.length>this.gamepadIndices.yAxis&&(this.values.yAxis=t.axes[this.gamepadIndices.yAxis],this.values.yAxis=this.values.yAxis<-1?-1:this.values.yAxis,this.values.yAxis=this.values.yAxis>1?1:this.values.yAxis,this.values.state===Ke.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>Ke.AxisTouchThreshold&&(this.values.state=Ke.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach(function(i){i.updateFromComponent(e.values)})},n}(),op=function(){function n(t,e,r){var i=this;if(!t)throw new Error("No xrInputSource supplied");if(!e)throw new Error("No profile supplied");this.xrInputSource=t,this.assetUrl=r,this.id=e.profileId,this.layoutDescription=e.layouts[t.handedness],this.components={},Object.keys(this.layoutDescription.components).forEach(function(a){var o=i.layoutDescription.components[a];i.components[a]=new ap(a,o)}),this.updateFromGamepad()}return Object.defineProperty(n.prototype,"gripSpace",{get:function(){return this.xrInputSource.gripSpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"targetRaySpace",{get:function(){return this.xrInputSource.targetRaySpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"data",{get:function(){var t=[];return Object.values(this.components).forEach(function(e){t.push(e.data)}),t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(){var t=this;Object.values(this.components).forEach(function(e){e.updateFromGamepad(t.xrInputSource.gamepad)})},n}(),sp="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",up="generic-trigger",lp=function(n){le(t,n);function t(){var e=n.call(this)||this;return e.motionController=null,e.envMap=null,e}return t.prototype.setEnvironmentMap=function(e){var r=this;return this.envMap==e?this:(this.envMap=e,this.traverse(function(i){i instanceof d.Mesh&&i.isMesh&&(i.material.envMap=r.envMap,i.material.needsUpdate=!0)}),this)},t.prototype.updateMatrixWorld=function(e){n.prototype.updateMatrixWorld.call(this,e),this.motionController&&(this.motionController.updateFromGamepad(),Object.values(this.motionController.components).forEach(function(r){Object.values(r.visualResponses).forEach(function(i){var a=i.valueNode,o=i.minNode,s=i.maxNode,l=i.value,u=i.valueNodeProperty;a&&(u===Ke.VisualResponseProperty.VISIBILITY?a.visible=l:u===Ke.VisualResponseProperty.TRANSFORM&&(a.quaternion.copy(o.quaternion).slerp(s.quaternion,l),a.position.lerpVectors(o.position,s.position,l)))})}))},t}(Mn.Object3D);function cp(n,t){Object.values(n.components).forEach(function(e){var r=e.type,i=e.touchPointNodeName,a=e.visualResponses;if(r===Ke.ComponentType.TOUCHPAD)if(e.touchPointNode=t.getObjectByName(i),e.touchPointNode){var o=new Mn.SphereGeometry(.001),s=new Mn.MeshBasicMaterial({color:255}),l=new Mn.Mesh(o,s);e.touchPointNode.add(l)}else console.warn("Could not find touch dot, ".concat(e.touchPointNodeName,", in touchpad component ").concat(e.id));Object.values(a).forEach(function(u){var c=u.valueNodeName,f=u.minNodeName,A=u.maxNodeName,p=u.valueNodeProperty;if(p===Ke.VisualResponseProperty.TRANSFORM){if(u.minNode=t.getObjectByName(f),u.maxNode=t.getObjectByName(A),!u.minNode){console.warn("Could not find ".concat(f," in the model"));return}if(!u.maxNode){console.warn("Could not find ".concat(A," in the model"));return}}u.valueNode=t.getObjectByName(c),u.valueNode||console.warn("Could not find ".concat(c," in the model"))})})}function Bs(n,t){cp(n.motionController,t),n.envMap&&t.traverse(function(e){e instanceof d.Mesh&&e.isMesh&&(e.material.envMap=n.envMap,e.material.needsUpdate=!0)}),n.add(t)}var dp=function(){function n(t){t===void 0&&(t=null),this.gltfLoader=t,this.path=sp,this._assetCache={}}return n.prototype.createControllerModel=function(t){var e=this,r=new lp,i=null;return t.addEventListener("connected",function(a){var o=a.data;o.targetRayMode!=="tracked-pointer"||!o.gamepad||tp(o,e.path,up).then(function(s){var l=s.profile,u=s.assetPath;r.motionController=new op(o,l,u);var c=e._assetCache[r.motionController.assetUrl];if(c)i=c.scene.clone(),Bs(r,i);else{if(!e.gltfLoader)throw new Error("GLTFLoader not set.");e.gltfLoader.load(r.motionController.assetUrl,function(f){e._assetCache[r.motionController.assetUrl]=f,i=f.scene.clone(),Bs(r,i)})}}).catch(function(s){console.warn(s)})}),t.addEventListener("disconnected",function(){r.motionController=null,r.remove(i),i=null}),r},n}();function fp(n,t){if(!t)return n;var e=n.match(/\d+_[a-z].png/);return n.substring(0,e.index)+t+"/"+n.substring(e.index)}var Rs=300,hp=new d.Matrix4().makeRotationAxis(new d.Vector3(0,1,0),Math.PI),Fs=new d.Vector3(-1,1,1),pp=function(n){le(t,n);function t(e){var r=n.call(this,e)||this;r.xrManager=new _h(r.renderer,r.renderer.getContext(),{onSessionStart:function(l){r.emit("xr.session.start",_("xr.session.start",{session:l,machineType:r.xrManager.machineType}))},onSessionEnd:function(){r.emit("xr.session.end",_("xr.session.end",{session:null,machineType:r.xrManager.machineType}))}}),r.xrControllerRay={left:new d.Raycaster,right:new d.Raycaster},r.xrControllerRay.left.params.Points={threshold:.1},r.xrControllerRay.right.params.Points={threshold:.1},r.pointerLines={left:new Ia,right:new Ia},r.pointerLines.left.visible=!1,r.pointerLines.right.visible=!0,r.pointerLines.left.setMaterial({color:new d.Vector3(1,1,1)}),r.pointerLines.left.points.material.depthTest=!1,r.pointerLines.right.setMaterial({color:new d.Vector3(1,1,1)}),r.pointerLines.right.points.material.depthTest=!1,r.scene.add(r.pointerLines.left,r.pointerLines.right),r.panoResources={},r.panoResources[r.locationMotion.keyframes[0].key=r.locationMotion.keyframes[1].key=wt()]={panoId:Ve(r.currentPano),leftPanoPicture:null,position:r.camera.pose.offset.clone(),effect:"fade",fixCameraTransform:new d.Matrix4},r.parallaxCameraMatrixs=[];var i=lt.shared.getContext();if(!i)return console.error("获取session失败,请退出重试"),r;r.on("xr.session.end",function(){r.scene.remove(r.pointerLines.left,r.pointerLines.right)}),r.xrManager.setSession(i),r.controllerWrappers=[new d.Group,new d.Group],r.scene.add(r.controllerWrappers[0],r.controllerWrappers[1]);var a=r.xrManager.getController(0);r.controllerWrappers[0].add(a);var o=r.xrManager.getController(1);r.controllerWrappers[1].add(o);var s=new dp;return s.gltfLoader={load:function(l,u){li.ajax(l,{responseType:"arraybuffer"}).then(function(c){var f;return Ua(c.body,{resourcePath:l.slice(0,l.lastIndexOf("/")+1),search:(f=l.split("?")[1])!==null&&f!==void 0?f:"",fetcher:li})}).then(function(c){return u(c)})}},r.on("xr.session.start",function(){var l=r.xrManager.getControllerGrip(0);l.add(s.createControllerModel(l)),r.controllerWrappers[0].add(l);var u=r.xrManager.getControllerGrip(1);u.add(s.createControllerModel(u)),r.controllerWrappers[1].add(u)}),r.xrControllerState={LeftAxesUp:{touchStartTime:0,touchStart:!1},LeftAxesDown:{touchStartTime:0,touchStart:!1},LeftAxesLeft:{touchStartTime:0,touchStart:!1},LeftAxesRight:{touchStartTime:0,touchStart:!1},LeftTrigger:{touchStartTime:0,touchStart:!1},LeftPinch:{touchStartTime:0,touchStart:!1},RightAxesUp:{touchStartTime:0,touchStart:!1},RightAxesDown:{touchStartTime:0,touchStart:!1},RightAxesLeft:{touchStartTime:0,touchStart:!1},RightAxesRight:{touchStartTime:0,touchStart:!1},RightTrigger:{touchStartTime:0,touchStart:!1},RightPinch:{touchStartTime:0,touchStart:!1},Y:{touchStartTime:0,touchStart:!1},X:{touchStartTime:0,touchStart:!1},A:{touchStartTime:0,touchStart:!1},B:{touchStartTime:0,touchStart:!1}},r}return t.parseArgs=function(e){if(e instanceof t)return e;var r=k(k({},e),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2});return n.parseArgs.call(this,r)},t.initAnimationEndState=function(e){var r=this.parseArgs(e),i=n.initAnimationEndState.call(this,r);return k(k({},i),{mode:"XRPanorama"})},t.prototype.moveToPano=function(e,r,i){var a=this,o,s,l,u,c=(o=r.effect)!==null&&o!==void 0?o:"fade";this.userAction=i,this.stopMomentumMovement();var f=this.works.getResolvedObserver(e);if(!f)throw new Error("Invalid PanoIndex");var A=this.imageOptions.size;if(typeof A=="undefined"&&f){var p=f.images.up.match(/\/cube_(\d+)\//);p&&(A=Number(p[1]))}typeof A=="undefined"&&(A=2048);var y=this.imageOptions.transform,v=function(T,B){return fp(ci(T,y,B))},m=k({key:"pano.".concat(f.panoId)},wr(this.imageOptions,["format","size","quality"])),h=f.images,g=(l=(s=f.images.tiles)===null||s===void 0?void 0:s.filter(function(T){return T.size>A}))!==null&&l!==void 0?l:null,b="pano:"+Bn([h,m,y]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===b)return;var w=this.pendingTextureTask.panoId;(u=this.panoMeshes[w])===null||u===void 0||u.setProgress(0),this.emit("pano.texture.abort",_("pano.texture.abort",{error:null,progress:0,meta:null,pano:f.pano})),this.pendingTextureTask.onError(new Error("texture aborted"))}var E=this.models.getMaterial()||{},C=E.pano0,x=E.pano1,M;if((C==null?void 0:C.map.name)===b?M=C:(x==null?void 0:x.map.name)===b&&(M=x),M){var S={panoId:f.panoId,effect:c,leftPanoPicture:{map:M.map,luminanceMap:M.luminanceMap,matrix:new d.Matrix4().compose(f.position,f.quaternion,Fs)},position:f.position.clone(),fixCameraTransform:new d.Matrix4};this.doMoveToPano(f.pano,S,r);return}var P="move-to-pano-"+f.panoId;this.pending.add(P),this.pendingTextureTask={panoId:f.panoId,hash:b,onLoad:function(T){if(a.pending.delete(P),a.destroyed)T.body.dispose();else{T.body.name=b;var B={panoId:f.panoId,effect:c,leftPanoPicture:{map:T.body,luminanceMap:null,matrix:new d.Matrix4().compose(f.position,f.quaternion,Fs)},position:f.position.clone(),fixCameraTransform:new d.Matrix4};a.doMoveToPano(f.pano,B,r)}},onError:function(T){a.pending.delete(P);var B=k(k(k({},f.pano),{mode:a.mode}),je(a.camera.pose));a.emit("pano.error",_("pano.error",{error:T,userAction:a.userAction,options:r,prevPano:a.currentPano,progress:0,state:B})),a.emit("pano.cancel",_("pano.cancel",{error:null,userAction:a.userAction,options:r,prevPano:a.currentPano,progress:0,state:B})),r.moveCancelCallback&&r.moveCancelCallback()}},Promise.all([this.tileLevelForFov&&g&&g.length?this.textureLoader.loadTiledCubeTexture(h,g,{tileMaxLevel:this.TILED_CUBE_TEXTURE_LEVEL,imageURL:{transform:v,options:m},format:d.RGBAFormat,minFilter:d.NearestFilter,magFilter:d.LinearFilter,generateMipmaps:!1,viaAjax:!0,fetcher:ut(f.work)},void 0,void 0,function(T){var B,F;a.emit("pano.texture.progress",_("pano.texture.progress",{error:null,progress:T,meta:null,pano:f.pano})),((B=a.pendingTextureTask)===null||B===void 0?void 0:B.hash)===b&&((F=a.panoMeshes[f.panoId])===null||F===void 0||F.setProgress(T))},this.renderer):this.textureLoader.loadCubeTexture(h,{imageURL:{transform:v,options:m},format:d.RGBAFormat,fetcher:ut(f.work)},void 0,void 0,function(T){var B,F;((B=a.pendingTextureTask)===null||B===void 0?void 0:B.hash)===b&&((F=a.panoMeshes[f.panoId])===null||F===void 0||F.setProgress(T)),a.emit("pano.texture.progress",_("pano.texture.progress",{error:null,progress:T,meta:null,pano:f.pano}))},this.renderer)]).then(function(T){var B,F,L=T[0];((B=a.pendingTextureTask)===null||B===void 0?void 0:B.hash)===b?(a.pendingTextureTask.onLoad(L),(F=a.panoMeshes[f.panoId])===null||F===void 0||F.setProgress(0),delete a.pendingTextureTask,a.emit("pano.texture.success",_("pano.texture.success",{error:null,progress:1,meta:L.meta,pano:f.pano}))):L.body.dispose()}).catch(function(T){var B,F;((B=a.pendingTextureTask)===null||B===void 0?void 0:B.hash)===b&&(a.pendingTextureTask.onError(T),(F=a.panoMeshes[f.panoId])===null||F===void 0||F.setProgress(0),delete a.pendingTextureTask,a.emit("pano.texture.error",_("pano.texture.error",{error:T,progress:0,meta:null,pano:f.pano})),a.emit("error",T))}),this.emit("pano.texture.load",_("pano.texture.load",{error:null,progress:0,meta:null,pano:f.pano}))},t.prototype.doMoveToPano=function(e,r,i){var a=this,o,s,l,u,c,f,A,p,y,v;i===void 0&&(i={});var m=be(),h=wt();this.panoResources[h]=r;var g=1,b,w,E;if(this.locationMotion.ended){var C=this.locationMotion.getKeyFrameSegment(m);C[0];var x=C[1],M=this.locationMotion.value,S=this.panoResourceFromLocationMotionKeyframe(x).position,P=r.position;b=Math.max(S.distanceTo(P),g),w=[{key:x.key,progress:0,value:k(k({},M),{count:0})},{key:h,progress:1,value:{distance:0,count:1}}],E=0}else{var T=this.locationMotion.getKeyFrameSegment(m),B=T[0],x=T[1],M=this.locationMotion.value,F=this.panoResourceFromLocationMotionKeyframe(B).position,S=this.panoResourceFromLocationMotionKeyframe(x).position,P=r.position,L=x.value.count-M.count,O=Math.max(F.distanceTo(S),g)*L,Q=Math.max(S.distanceTo(P),g);b=O+Q,w=[{key:B.key,progress:0,value:k({},M)},{key:x.key,progress:O/b,value:x.value},{key:h,progress:1,value:{count:x.value.count+1,distance:0}}];var N=this.locationMotionKeyframesLength(this.locationMotion.keyframes),H=this.locationMotionKeyframesLength(w);E=this.locationMotion.getProgressVelocity(m)*N/H}var K=r.effect==="instant"?0:this.calculateMovingDuration(i.duration,r.effect==="fly"?b:0),U={longitude:i.longitude,latitude:i.latitude,fov:i.fov},G=k(k({},e),{mode:this.mode,longitude:(o=U.longitude)!==null&&o!==void 0?o:this.camera.pose.longitude,latitude:(s=U.latitude)!==null&&s!==void 0?s:this.camera.pose.latitude,fov:(l=U.fov)!==null&&l!==void 0?l:this.camera.pose.fov,offset:r.position.clone(),distance:0}),X=this.currentPano;this.emit("pano.moveTo",_("pano.moveTo",{options:i,prevPano:X,progress:0,state:G,userAction:this.userAction,error:null})),i.moveStartCallback&&i.moveStartCallback(G),this.videoTexture&&this.videoTexture.image instanceof HTMLVideoElement&&this.videoTexture.image.getAttribute("src")&&(this.videoTexture.image.pause(),this.videoTexture.image.removeAttribute("uuid"),this.videoTexture.image.removeAttribute("src"),this.videoTexture.image.oncanplay=D,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null);var Z=Vt({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),q=Vt({longitude:(u=U.longitude)!==null&&u!==void 0?u:this.cameraMotion.value.longitude,latitude:(c=U.latitude)!==null&&c!==void 0?c:this.cameraMotion.value.latitude}),W=new d.Object3D;W.lookAt(Z);var J=new d.Matrix4().makeRotationFromQuaternion(W.quaternion);W.lookAt(q);for(var ve=new d.Matrix4().makeRotationFromQuaternion(W.quaternion),re=new d.Matrix4().getInverse(J).premultiply(ve),se=0;se<w.length-1;se++){var ie=w[se].key;if(ie){var pe=this.panoResources[ie];pe&&pe.fixCameraTransform.copy(re)}}r.effect==="fly"?this.cameraMotion.set(U,K).catch(D):this.cameraMotion.setKeyframes([{progress:0,value:{longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude,fov:this.cameraMotion.value.fov}},{progress:0,value:{longitude:(f=U.longitude)!==null&&f!==void 0?f:this.cameraMotion.value.longitude,latitude:(A=U.latitude)!==null&&A!==void 0?A:this.cameraMotion.value.latitude,fov:this.cameraMotion.value.fov}},{progress:1,value:{longitude:(p=U.longitude)!==null&&p!==void 0?p:this.cameraMotion.value.longitude,latitude:(y=U.latitude)!==null&&y!==void 0?y:this.cameraMotion.value.latitude,fov:(v=U.fov)!==null&&v!==void 0?v:this.cameraMotion.value.fov}}],K).catch(D);var ne=this.locationMotion.setKeyframes(w,K,E);ne.then(function(){var de,ce,fe,$=k(k({},e),{mode:a.mode,longitude:a.camera.pose.longitude,latitude:a.camera.pose.latitude,fov:a.camera.pose.fov,offset:a.camera.pose.offset.clone(),distance:0});a.emit("pano.arrived",_("pano.arrived",{options:i,prevPano:X,progress:1,state:$,userAction:a.userAction,error:null})),i.moveEndCallback&&i.moveEndCallback($);var te=a.works.getResolvedObserver(a.currentPano);if(te&&te.video&&a.videoTexture&&a.videoTexture.image instanceof HTMLVideoElement){var j=hp.clone().multiply((fe=(ce=(de=a.models.getMaterial())===null||de===void 0?void 0:de.pano1)===null||ce===void 0?void 0:ce.matrix)!==null&&fe!==void 0?fe:new d.Matrix4).multiply(te.video.matrix),Oe={map:a.videoTexture,size:te.video.size,matrix:j,alpha:1},Ce=wt(),ge=a.videoTexture.image;ge.setAttribute("uuid",Ce),_u().then(function(Le){Le&&te.video&&ge.getAttribute("uuid")===Ce&&(ge.oncanplay=function(){ge.oncanplay=D,ge.play()},ge.ontimeupdate=function(){ge.currentTime>.5&&(ge.ontimeupdate=D,a.panoVideo.setMaterial(Oe))},ge.src=te.video.source)}).catch(function(){ge.removeAttribute("uuid")})}},function(){a.emit("pano.cancel",_("pano.cancel",{options:i,prevPano:X,progress:0,state:G,userAction:a.userAction,error:null})),i.moveCancelCallback&&i.moveCancelCallback()})},t.prototype.checkSelectedPano=function(e){var r=this,i,a,o,s;this.stopMomentumMovement();var l=this.camera.getDirection(new d.Vector3).setY(0),u=null,c=this.works.getResolvedObserver(this.currentPano);if(!c)return null;var f=c.accessibleIds.filter(function(q){var W=ht(q);if(Xt(W,r.currentPano))return!1;var J=r.works.getResolvedObserver(W);return!J||J.position.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:J.loadable||J.active}),A=this.models.intersectRaycaster(e)[0];if(A){var p=or(f,function(q){var W=r.works.getResolvedObserver(q);if(!W)return 1/0;var J=W.standingPosition.clone();return J.distanceTo(A.point)},!0),y=p[0],v=p[1];y&&v<this.panoTapTriggerRadius&&(u=(i=this.works.getResolvedObserver(y))!==null&&i!==void 0?i:null)}if(Ss(u)){var m=this.getForwardObserverOrNot(e);m&&(u=m)}for(var h=0,g=this.locationMotion.keyframes;h<g.length;h++){var b=g[h],w=this.panoResourceFromLocationMotionKeyframe(b);if(!(b.progress<this.locationMotion.progress)&&u&&w.panoId===u.panoId){u=null;break}}if(Ss(u))return this.locationMotion.ended===!0&&this.cameraBounce(),null;if(u&&!u.active){var E=u.panoId;this.panoMeshes[E]&&(this.panoMeshes[E].setDisabled(!1),this.panoMeshes[E].setLoading(!0))}var C={};if(u){for(var x=Math.PI/6,M=Math.PI/12,S=new d.Vector3(0,1,0),P=u.position.clone().setY(0).sub(c.position.clone().setY(0)).normalize(),T=P.clone().applyAxisAngle(S,x),B=P.clone().applyAxisAngle(S,-x),F=[],L=[],O=[],Q=0,N=u.accessibleIds;Q<N.length;Q++){var y=N[Q],H=ht(y);if(!(Xt(H,this.currentPano)||Xt(H,u.pano))){var K=this.works.getResolvedObserver(y);if(K){var U=K.position.clone().sub(u.position).setY(0);P.angleTo(U)<x?O.push(U):T.angleTo(U)<x?F.push(U):B.angleTo(U)<x&&L.push(U)}}}var G=O.length>0?O:pt(pt([],F,!0),L,!0),X=G.slice().sort(function(q,W){return q.angleTo(P)-W.angleTo(P)})[0];X&&X.angleTo(l)>M&&(C.longitude=Math.atan2(-X.x,-X.z))}this.cameraMotion.value.latitude<-Math.PI/4&&(C.latitude=he(0,this.minLatitude,this.maxLatitude)),this.cameraMotion.value.fov<60&&(C.fov=this.defaultFov);var Z={workCode:u.pano.workCode,panoIndex:u.pano.panoIndex,mode:this.mode,longitude:(a=C.longitude)!==null&&a!==void 0?a:this.camera.pose.longitude,latitude:(o=C.latitude)!==null&&o!==void 0?o:this.camera.pose.latitude,fov:(s=C.fov)!==null&&s!==void 0?s:this.camera.pose.fov,distance:0,offset:u?u.position.clone():new d.Vector3};return this.emit("pano.select",_("pano.select",{prevPano:this.currentPano,state:Z,userAction:!0,options:C,progress:0,error:null})),u&&u.active?(this.emit("pano.request",_("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:Z,options:C,error:null})),u.pano):null},t.prototype.destroy=function(){n.prototype.destroy.call(this)},t.prototype.isReady=function(){return!1},t.prototype.updateCamera=function(e,r,i){return Promise.resolve()},t.prototype.updateCameraWithKeyframes=function(e,r,i){return Promise.resolve()},t.prototype.updateTime=function(e,r){for(var i=this,a,o,s,l,u,c,f,A,p=[],y=2;y<arguments.length;y++)p[y-2]=arguments[y];this.userAction=!0;var v={},m={},h=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),g=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),b=!1;if(this.cameraMotion.ended===!1&&(this.cameraMotion.update(e),m.longitude=this.cameraMotion.value.longitude,m.latitude=this.cameraMotion.value.latitude,m.fov=this.cameraMotion.value.fov),this.modelAlphaMotion.ended===!1&&(this.modelAlphaMotion.update(e),v.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended===!1&&(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(he(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var w=this.locationMotion.getKeyFrameSegment(e),E=w[0],C=w[1],x=this.panoResourceFromLocationMotionKeyframe(E),M=this.panoResourceFromLocationMotionKeyframe(C),S=new d.Vector3().copy(x.position),P=new d.Vector3().copy(M.position),T=this.locationMotion.value.count-C.value.count+1;v.progress=T,M.leftPanoPicture&&(T<1?x.leftPanoPicture&&(v.pano0=x.leftPanoPicture):v.pano0=M.leftPanoPicture,v.pano1=M.leftPanoPicture),M.effect==="montage"?v.transition="BLACK":M.effect==="spread"?v.transition="SPREAD":v.transition="FADE",T<1&&M.effect!=="fly"&&(v.pano0&&x.leftPanoPicture&&(v.pano0={map:v.pano0.map,luminanceMap:v.pano0.luminanceMap,matrix:x.leftPanoPicture.matrix.clone().setPosition(M.position)}),S.copy(P),b=!0),m.distance=this.locationMotion.value.distance,m.offset=new d.Vector3(S.x+(P.x-S.x)*T,S.y+(P.y-S.y)*T,S.z+(P.z-S.z)*T);for(var B=[],F=[],L=0,O=this.locationMotion.keyframes;L<O.length;L++){var Q=O[L],N=Q.key,H=Q.progress;N!==void 0&&(B.push(N),H>this.locationMotion.progress&&F.push(N))}for(var K=0,U=Object.keys(this.panoResources);K<U.length;K++){var G=U[K];if(!(F.indexOf(G)>=0)){var X=this.panoResources[G];if(X.leftPanoPicture){var Z=X.leftPanoPicture.map;if(Z){if(Z===((a=v.pano0)===null||a===void 0?void 0:a.map)||Z===((o=v.pano1)===null||o===void 0?void 0:o.map))continue;Z instanceof ke&&Z.cubeRenderTarget&&this.colorCubeRenderTargetPool.push(Z.cubeRenderTarget),Z.dispose(),X.leftPanoPicture=null}}B.indexOf(G)>=0||delete this.panoResources[G]}}this.currentPano=ht(M.panoId),this.emit("pano.moving",_("pano.moving",{userAction:this.userAction,prevPano:ht(h.panoId),state:k(k(k(k({},ht(g.panoId)),{mode:this.mode}),je(this.camera.pose)),m),options:{},progress:this.locationMotion.progress,error:null}))}Dt(v)===!1&&(!((s=v.pano0)===null||s===void 0)&&s.map&&v.pano0.map instanceof ke&&!v.pano0.map.cubeRenderTarget&&(v.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((l=v.pano1)===null||l===void 0)&&l.map&&v.pano1.map instanceof ke&&!v.pano1.map.cubeRenderTarget&&(v.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),this.models.setMaterial(v)),Dt(m)===!1&&this.setCamera(m);var q=this.works.getResolvedObserver(this.currentPano),W=p[1];if(!W){console.error("xrFrame丢失,请重试");return}if(!this.xrManager.session){console.error("session丢失,请重试");return}var J=this.xrManager.referenceSpace;if(J){var ve=this.xrManager.cameraVR,re=this.xrManager.cameraL,se=this.xrManager.cameraR,ie=[re,se],pe=W.getViewerPose(J),ne=new d.Vector3(0,0,0);if(pe){var de;de=this.xrManager.session.renderState.baseLayer;var ce=pe.views;if(!de){console.error("no layer found");return}this.renderer.setFramebuffer(de.framebuffer);var fe=!1;ce.length!==ve.cameras.length&&(ve.cameras.length=0,fe=!0),this.parallaxCameraMatrixs=[];var $=new d.Vector3,te=new d.Vector3;new d.Matrix4().fromArray(ce[0].transform.matrix).decompose($,new d.Quaternion,new d.Vector3),new d.Matrix4().fromArray(ce[1].transform.matrix).decompose(te,new d.Quaternion,new d.Vector3),te.clone().sub($).normalize();var j=new d.Vector3,Oe=new d.Quaternion,Ce=new d.Vector3;this.camera.matrix.decompose(j,Oe,Ce);for(var ge=0;ge<ce.length;ge++){var Le=ce[ge],Ne=de.getViewport(Le),De=ie[ge];De.matrix.fromArray(Le.transform.matrix);var We=new d.Vector3,Ae=new d.Quaternion,me=new d.Vector3;De.matrix.decompose(We,Ae,me),ne.copy(j),De.position.copy(j),De.quaternion.copy(Ae),De.scale.copy(me),De.updateMatrix(),De.projectionMatrix.fromArray(Le.projectionMatrix),De.viewport.set(Ne.x,Ne.y,Ne.width,Ne.height),fe===!0&&ve.cameras.push(De)}pe.views[0].transform.position,pe.views[1].transform.position;for(var Te=this.xrManager.session.inputSources,ge=0;ge<this.xrManager.controllers.length;ge++){var Ue=this.xrManager.controllers[ge],Ee=Te[ge];if(Ee){Ue.update(Ee,W,J);var Qe=this.xrManager.getController(ge),Be=new d.Vector3(0,1.2,0),Ge=Qe.position.clone().add(ne).sub(Be);Ee.handedness==="left"?this.xrControllerRay.left.set(Ge,new d.Vector3(0,0,-1).applyEuler(Qe.rotation)):Ee.handedness==="right"&&this.xrControllerRay.right.set(Ge,new d.Vector3(0,0,-1).applyEuler(Qe.rotation)),this.controllerWrappers[ge].position.copy(new d.Vector3(0,0,0).add(ne).sub(Be));var it=this.models.intersectRaycaster(this.xrControllerRay.right);if(it.length===0&&(it=this.xrControllerRay.right.intersectObject(this.boundingMesh,!0).map(function(ot){var At;return k({floor:(At=q==null?void 0:q.floorIndex)!==null&&At!==void 0?At:0},ot)})),it.length>=1&&it[0].face)if(Ee.handedness==="right"){var tt=this.xrControllerRay.right.intersectObject(this.xrCustomObjectsScene,!0),Ut=it[0].face.normal,Zt=Ut.clone().multiplyScalar(.05),Ze=it[0].point.clone().add(Zt);this.intersectMesh.position.copy(Ze);var sr=Ze.clone().add(Zt);if(this.intersectMesh.lookAt(sr),Math.abs(Ut.y)>.99){var zt=this.camera.position.clone().sub(Ze);this.intersectMesh.rotation.z=-Math.atan2(zt.z,zt.x)}this.intersectMesh.visible=!0,this.needsRender=!0,tt.length>0?(this.pointerLines.right.setPoints(Ge,tt[0].point),this.pointerLines.right.points.visible=!0,this.intersectMesh.visible=!1):(this.pointerLines.right.points.visible=!1,this.pointerLines.right.setPoints(Ge,it[0].point));var St=it[0],It=_("intersect.update",{raycaster:(u=this.xrControllerRay.right)!==null&&u!==void 0?u:null,intersection:St!=null?St:null,object:this.intersectMesh});if(this.emit("intersect.update",It),It.defaultPrevented){this.hideIntersectMesh();return}}else this.pointerLines.left.setPoints(Ge,it[0].point)}}if(this.camera.pose.distance>.1||b)for(var Gt=0,Yt=Object.keys(this.panoMeshes);Gt<Yt.length;Gt++){var vt=Yt[Gt],Pe=this.panoMeshes[vt];Pe.setOpacity(0),Pe.setCurrent(!1),Pe.updateTime&&Pe.updateTime(e,r),Pe.visible=!1}else if(q){var ur=or(q.visibleIds,function(rt){var ot=i.works.getResolvedObserver(rt);return ot?q.standingPosition.distanceTo(ot.standingPosition):1/0},!0),Jt=ur[1];Jt=he(Jt,2.5,1/0);for(var dn=q.visibleIds.concat(Ve(this.currentPano)),lr=this.getForwardObserverOrNot(),fn=this.camera.getDirection(new d.Vector3),Lr=0,$t=Object.keys(this.panoMeshes);Lr<$t.length;Lr++){var vt=$t[Lr],Pe=this.panoMeshes[vt],Xe=this.works.getResolvedObserver(vt);if(dn.indexOf(vt)===-1)Pe.setCurrent(!1),Pe.setOpacity(0);else if(!Xe)Pe.setCurrent(!1),Pe.setOpacity(0);else if(!Xe.loadable&&!Xe.active)Pe.setCurrent(!1),Pe.setOpacity(0);else{var Je=Pe.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);Pe.setCurrent(!Pe.loading&&Pe.progress===0&&lr!==null&&lr.panoId===vt),Pe.setOpacity(Je<.01?0:he(Jt/Je*1.2,.65,.98));var Tt=this.camera.position.clone().setY(Pe.position.y),cr=new d.Vector3().copy(Pe.position).sub(Tt).normalize();if(vt===Ve(this.currentPano)){var hn=he((.5-Tt.distanceTo(Pe.position))/.5,0,1);cr.multiplyScalar(1-hn).add(fn.clone().multiplyScalar(hn))}cr.length()>0&&Pe.quaternion.setFromEuler(new d.Euler(0,Math.atan2(cr.x,cr.z),0))}Pe.updateTime&&Pe.updateTime(e,r)}}var Kr=function(){if(i.tileLevelForFov===!1)return 0;var rt=new d.Vector2(4e3,4e3),ot=g.panoId,At=i.works.getResolvedObserver(ot),mt=i.imageOptions.size;if(typeof mt=="undefined"&&At){var Gn=At.images.up.match(/\/cube_(\d+)\//);Gn&&(mt=Number(Gn[1]))}typeof mt=="undefined"&&(mt=2048);var Vr=0;mt>=1024&&(Vr=1),mt>=2048&&(Vr=2),mt>=4096&&(Vr=3),mt>=8192&&(Vr=4);var Nr=i.tileLevelForFov(re.fov,rt);return Nr>Vr?Nr:0}(),pn=function(){var rt=new d.PerspectiveCamera;rt.applyMatrix4(ve.matrix),rt.position.set(0,0,0);var ot=i.works.getResolvedObserver(g.panoId),At=ot!=null?ot:q;At&&rt.quaternion.premultiply(At.quaternion.clone().inverse()),rt.updateProjectionMatrix(),rt.updateMatrixWorld(!0);var mt=new d.Frustum().setFromProjectionMatrix(new d.Matrix4().multiplyMatrices(rt.projectionMatrix,rt.matrixWorldInverse));return mt}();g.panoId===Ve(this.currentPano)&&((c=g.leftPanoPicture)===null||c===void 0?void 0:c.map)instanceof ke&&(g.leftPanoPicture.map.update(pn,Kr),g.leftPanoPicture.map.needsRender===!0&&(this.needsRender=!0));{var zn=this.tiling.object.visible;if(Kr>this.TILED_CUBE_TEXTURE_LEVEL&&this.initAnimationed){var Or=g.panoId,at=this.works.getResolvedObserver(Or);at?Dn(this.camera.position,at.position)&&this.locationMotion.ended?(this.tiling.object.visible=!0,this.tiling.panoId!==Or&&this.tiling.cleanup(),this.tiling.panoId=Or,this.tiling.setResource((A=(f=at.images)===null||f===void 0?void 0:f.tiles)!==null&&A!==void 0?A:[],this.enableIOSEDR&&at.images.luminance?at.images.luminance:null),this.tiling.setFetcher(ut(at.work)),this.tiling.setRotation(at.quaternion),this.tiling.setPosition(at.position),this.tiling.update(pn,Kr,e)):this.tiling.object.visible=!1:this.tiling.object.visible=!1}else this.tiling.object.visible=!1;zn!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0)}this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e),!(!Te||Te.length<1)&&this.updateControllerHelper(Te,e,r)}}},t.prototype.render=function(){var e=this.xrManager.getCamera(this.camera);this.renderer.render(this.scene,e)},t.prototype.onPanGesture=function(){},t.prototype.onTapGesture=function(){},t.prototype.onPinchGesture=function(){},t.prototype.onMouseMove=function(){},t.prototype.onMouseOut=function(){},t.prototype.panoResourceFromLocationMotionKeyframe=function(e){return this.panoResources[e.key]},t.prototype.updateControllerHelper=function(e,r,i){var a=this.xrControllerRay.left,o=this.xrControllerRay.right;if(!(!e||e.length===0)){for(var s={buttons:{X:!1,Y:!1,LeftTrigger:!1,LeftPinch:!1,A:!1,B:!1,RightTrigger:!1,RightPinch:!1}},l=0;l<e.length;l++){var u=e[l].handedness,c=e[l].gamepad;switch(u){case"left":c.axes&&(this.emitEvent(c.axes[2]===-1,"LeftAxesLeft",r),this.emitEvent(c.axes[2]===1,"LeftAxesRight",r),this.emitEvent(c.axes[3]===-1,"LeftAxesUp",r),this.emitEvent(c.axes[3]===1,"LeftAxesDown",r)),c!=null&&c.buttons&&(c.buttons[4]&&this.emitEvent(c.buttons[4].pressed,"X",r),c.buttons[5]&&this.emitEvent(c.buttons[5].pressed,"Y",r),c.buttons[0]&&this.emitEvent(c.buttons[0].pressed,"LeftTrigger",r),c.buttons[1]&&this.emitEvent(c.buttons[1].pressed,"LeftPinch",r));var f={raycaster:a,axes:{up:c.axes&&c.axes[3]<0?Math.abs(c.axes[3]):0,down:c.axes&&c.axes[3]<0?0:Math.abs(c.axes[3]),left:c.axes&&c.axes[2]<0?Math.abs(c.axes[2]):0,right:c.axes&&c.axes[2]<0?0:Math.abs(c.axes[2])},deltaTime:i};s.buttons.X=c.buttons&&c.buttons[4]?c.buttons[4].pressed:!1,s.buttons.Y=c.buttons&&c.buttons[5]?c==null?void 0:c.buttons[5].pressed:!1,s.buttons.LeftTrigger=c.buttons&&c.buttons[0]?c==null?void 0:c.buttons[0].pressed:!1,s.buttons.LeftPinch=c.buttons&&c.buttons[1]?c==null?void 0:c.buttons[1].pressed:!1,s.left=f;break;case"right":c.axes&&(this.emitEvent(c.axes[2]===-1,"RightAxesLeft",r),this.emitEvent(c.axes[2]===1,"RightAxesRight",r),this.emitEvent(c.axes[3]===-1,"RightAxesUp",r),this.emitEvent(c.axes[3]===1,"RightAxesDown",r)),c.buttons&&(c.buttons[4]&&this.emitEvent(c.buttons[4].pressed,"A",r),c.buttons[5]&&this.emitEvent(c.buttons[5].pressed,"B",r),c.buttons[0]&&this.emitEvent(c.buttons[0].pressed,"RightTrigger",r),c.buttons[1]&&this.emitEvent(c.buttons[1].pressed,"RightPinch",r));var A={raycaster:o,axes:{up:c.axes&&c.axes[3]<0?Math.abs(c.axes[3]):0,down:c.axes&&c.axes[3]<0?0:Math.abs(c.axes[3]),left:c.axes&&c.axes[2]<0?Math.abs(c.axes[2]):0,right:c.axes&&c.axes[2]<0?0:Math.abs(c.axes[2])},deltaTime:i};s.right=A,s.buttons.A=c.buttons&&c.buttons[4]?c==null?void 0:c.buttons[4].pressed:!1,s.buttons.B=c.buttons&&c.buttons[5]?c==null?void 0:c.buttons[5].pressed:!1,s.buttons.RightTrigger=c.buttons&&c.buttons[0]?c==null?void 0:c.buttons[0].pressed:!1,s.buttons.RightPinch=c.buttons&&c.buttons[1]?c==null?void 0:c.buttons[1].pressed:!1;break}}this.emit("xr.controller.update",_("xr.controller.update",s))}},t.prototype.emitEvent=function(e,r,i){var a=this.xrControllerRay.left,o=this.xrControllerRay.right;if(e)if(this.xrControllerState[r].touchStart===!1)this.xrControllerState[r].touchStartTime=i,this.xrControllerState[r].touchStart=!0,this.emit("xr.gesture.buttonDown",_("xr.gesture.buttonDown",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!1,isFirst:!0,controllers:{raycaster:{leftRay:a,rightRay:o}}}));else{var s=i-this.xrControllerState[r].touchStartTime;s>Rs&&this.emit("xr.gesture.press",_("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!0,controllers:{raycaster:{leftRay:a,rightRay:o}}}))}else if(this.xrControllerState[r].touchStart===!0){this.emit("xr.gesture.buttonUp",_("xr.gesture.buttonUp",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:a,rightRay:o}}}));var s=i-this.xrControllerState[r].touchStartTime;if(s<=Rs){var l=this.emit("xr.gesture.tap",_("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:a,rightRay:o}}}));l||r==="RightTrigger"&&this.checkSelectedPano(this.xrControllerRay.right)}this.xrControllerState[r].touchStart=!1,this.xrControllerState[r].touchStartTime=0}},t}(Ya),Lt={Floorplan:Sa,Topview:kf,Panorama:Ya,VRPanorama:kh,Model:Oh,Mapview:jh,XRPanorama:pp},ll=["gesture.pan","gesture.tap","gesture.press","gesture.pinch","gesture.mousewheel","gesture.mousemove","gesture.momentum","initAnimation.start","initAnimation.end","camera.update","intersect.update","pano.select","pano.moveTo","pano.moving","pano.arrived","pano.cancel","pano.error","pano.texture.load","pano.texture.progress","pano.texture.success","pano.texture.error","pano.texture.abort","xr.session.start","xr.session.end","xr.gesture.tap","xr.gesture.press","xr.gesture.buttonUp","xr.gesture.buttonDown","xr.controller.update"];function vp(n){n.on("initAnimation.start",function(t){n.emit("initAnimationWillStart",t.state.panoIndex,t.state,t.userAction)}),n.on("initAnimation.end",function(t){n.emit("initAnimationEnded",t.state.panoIndex,t.state,t.userAction)}),n.on("gesture.pan",function(t){var e=!1;e=n.emit("wantsGesture","pan",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPanGesture",t.state,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pan",t.pointers,t.isFinal),n.emit("panGesture",t.state,t.isFinal))}),n.on("gesture.tap",function(t){var e=!1;e=n.emit("wantsGesture","tap",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsTapGesture",t.center.raycaster,t.center.coords,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","tap",t.pointers,t.isFinal),n.emit("tapGesture",t.center.raycaster,t.center.coords,t.isFinal))}),n.on("gesture.press",function(t){var e=!1;e=n.emit("wantsGesture","press",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","press",t.pointers,t.isFinal),n.emit("pressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal))}),n.on("gesture.pinch",function(t){var e=!1;e=n.emit("wantsGesture","pinch",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPinchGesture",t.scale,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pinch",t.pointers,t.isFinal),n.emit("pinchGesture",t.scale,t.state.fov,t.isFinal))}),n.on("gesture.mousewheel",function(t){var e=!1;e=n.emit("wantsGesture","mouseWheel",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsMouseWheel",t.center.delta,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseWheel",t.pointers,t.isFinal),n.emit("mouseWheel",t.center.delta,t.state.fov,t.isFinal))}),n.on("gesture.mousemove",function(t){var e=!1;e=n.emit("wantsGesture","mouseMove",t.pointers,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseMove",t.pointers,t.isFinal),e=n.emit("wantsChangeCameraFov",t.state.fov),e&&t.preventDefault())}),n.on("gesture.momentum",function(t){var e=!1;e=n.emit("wantsInteriaPan",t.state),e&&t.preventDefault(),t.defaultPrevented||n.emit("interiaPan",t.state,t.isFinal)}),n.on("camera.update",function(t){n.emit("cameraFovUpdate",t.state.fov,t.userAction),n.emit("cameraDirectionUpdate",t.state,t.userAction);var e=Vt(t.state);e.setLength(t.state.distance);var r=t.state.offset.clone().sub(e);n.emit("cameraPositionUpdate",r,t.userAction),n.emit("cameraUpdate",t.state,t.userAction)}),n.on("intersect.update",function(t){if(t.intersection){var e=!1;e=n.emit("wantsShowIntersectionOnModel",t.raycaster),e&&t.preventDefault(),t.defaultPrevented||n.emit("intersectionOnModelUpdate",t.intersection,t.object)}else n.emit("intersectionHidden")}),n.on("pano.request",function(t){var e=n.emit("wantsMoveToPano",t.state.panoIndex,t.options,t.userAction);e||(e=n.emit("wantsToMoveToPano",t.state.panoIndex,t.options,t.userAction)),e&&t.preventDefault(),t.defaultPrevented||n.emit("panoWillLoad",t.state.panoIndex)}),n.on("pano.select",function(t){n.emit("panoSelected",t.state.panoIndex)}),n.on("pano.moveTo",function(t){n.emit("panoLoaded",t.state.panoIndex),n.emit("moveToPano",t.state.panoIndex,t.userAction),n.emit("panoWillArrive",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.moving",function(t){n.emit("movingToPano",t.state.panoIndex,t.prevPano.panoIndex,t.progress)}),n.on("pano.arrived",function(t){n.emit("panoArrived",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.cancel",function(t){n.emit("moveToPanoCanceled",t.state.panoIndex)}),n.on("pano.error",function(t){n.emit("panoLoadError",t.error,t.state.panoIndex)}),n.on("pano.texture.load",function(t){n.emit("textureStartLoad",t.pano.panoIndex)}),n.on("pano.texture.success",function(t){n.emit("textureLoaded",t.pano.panoIndex,t.meta)}),n.on("pano.texture.error",function(t){n.emit("textureError",t.error,t.pano.panoIndex)}),n.on("pano.texture.abort",function(t){n.emit("textureAbort",t.pano.panoIndex)}),n.on("pano.texture.progress",function(t){n.emit("textureLoading",t.progress,t.pano.panoIndex)}),n.on("xr.session.start",function(t){n.emit("webXRSessionStart")}),n.on("xr.session.end",function(t){n.emit("webXRSessionEnd")}),n.on("xr.gesture.tap",function(t){n.emit("webXRControllerEvent","tap",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.press",function(t){n.emit("webXRControllerEvent","press",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonUp",function(t){n.emit("webXRControllerEvent","buttonUp",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonDown",function(t){n.emit("webXRControllerEvent","buttonDown",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.controller.update",function(t){n.emit("webXRControllerRayUpdate",{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0}),t.left&&n.emit("webXRAxesUpdate","left",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.left.axes.up,down:t.left.axes.down,left:t.left.axes.left,right:t.left.axes.right},deltaTime:t.left.deltaTime}),t.right&&n.emit("webXRAxesUpdate","right",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.right.axes.up,down:t.right.axes.down,left:t.right.axes.left,right:t.right.axes.right},deltaTime:t.right.deltaTime})}),n.on("works.request",function(t){n.emit("willLoad",t.input,t.works[0],t.state)}),n.on("works.load",function(t){n.emit("load",t.input,t.works[0],t.state)}),n.on("works.ready",function(t){n.emit("loaded",t.input,t.works[0])}),n.on("state.change",function(t){n.emit("stateChange",t.state,t.userAction)}),n.on("currentState.change",function(t){n.emit("currentStateChange",t.state,t.userAction)}),n.on("state.set",function(t){n.emit("setState",t.state)}),n.on("state.synced",function(t){n.emit("stateSynced",t.state)}),n.on("model.request",function(t){n.emit("modelWillLoad",t.work.model)}),n.on("model.error",function(t){n.emit("modelLoadError",t.error,t.model)}),n.on("model.load",function(t){n.emit("modelLoaded",t.model)}),n.on("model.changeShownFloor",function(t){n.emit("modelShownFloorChange",t.model.shownFloor,t.model.floorLength)}),n.on("render",function(t){n.emit("renderFrame",t.needsRender)}),n.on("mode.change.request",function(t){n.emit("wantsChangeMode",t.mode,t.prevMode)}),n.on("mode.change",function(t){n.emit("modeChange",t.mode,t.prevMode,t.state.panoIndex,t.state,t.userAction)}),n.on("helpers.visible",function(t){n.emit("helpersVisibleChange",t.object.visible)}),n.on("network.resource",function(t){n.emit("network",t.source,t.requestType,t.requestState,t.detail)})}function Ap(){if(typeof window!="undefined"){var n=document.createElement("video");n.loop=!0,n.autoplay=!0,n.playsInline=!0,n.muted=!0,n.crossOrigin="";var t=function(){document.removeEventListener("touchstart",t,!1),document.removeEventListener("mousedown",t,!1),n.muted=!1};return document.addEventListener("touchstart",t,!1),document.addEventListener("mousedown",t,!1),n}else return{}}function mp(n){{var t=new d.DirectionalLight(16777215,.5);t.position.copy(new d.Vector3(1,1,1)),n.add(t)}{var t=new d.DirectionalLight(16777215,.3);n.add(t)}{var t=new d.AmbientLight(16777215,.3);n.add(t)}}function gp(n){for(var t,e,r={},i=n.split(/(\;|\,)/),a=0,o=i;a<o.length;a++){var s=o[a],l=s.split("="),u=(t=l[0])===null||t===void 0?void 0:t.trim(),c=(e=l[1])===null||e===void 0?void 0:e.trim();u&&c&&(r[u]=c)}return r}function cl(){var n;if(typeof document!="undefined")for(var t=document.getElementsByTagName("meta"),e=0;e<t.length;e++){var r=t[e];if(r.getAttribute("name")==="viewport"){var i=gp((n=r.getAttribute("content"))!==null&&n!==void 0?n:""),a=Number(i["initial-scale"]);if(!isNaN(a))return a}}return 1}const yp="data:image/png;base64,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";var ks=[351,63],Ls=[20,20],bp=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),wp=new Float32Array([0,0,1,0,0,1,1,1]),Ep=new Uint8Array([0,1,2,1,3,2]),Ti=new d.BufferGeometry;Ti.setAttribute("position",new d.BufferAttribute(bp,3));Ti.setAttribute("uv",new d.BufferAttribute(wp,2));Ti.setIndex(new d.BufferAttribute(Ep,1));var si=new d.MeshBasicMaterial({transparent:!0,depthTest:!1,depthWrite:!1,stencilWrite:!1,fog:!1}),dl=new d.Mesh(Ti,si);dl.matrixAutoUpdate=!1;var ro=new d.Scene;ro.add(dl);ro.matrixAutoUpdate=!1;var Un=new d.OrthographicCamera(-.5,.5,.5,-.5,.1,1);Un.position.set(0,0,.5);Un.lookAt(0,0,0);Un.updateMatrixWorld(!0);Un.matrixAutoUpdate=!1;var xp=new d.Vector4,Cp=new d.Vector4;function Os(n){if(si.map){var r=n.getViewport(xp),i=n.getScissor(Cp),a=n.getScissorTest(),o=n.autoClear,s=i.x+Ls[0]/3,l=i.y+Ls[1]/3,u=ks[0]/3,c=ks[1]/3;n.setViewport(s,l,u,c),n.setScissor(s,l,u,c),n.setScissorTest(!0),n.autoClear=!1,n.render(ro,Un),n.setViewport(r),n.setScissor(i),n.setScissorTest(a),n.autoClear=o}else{var t=new d.Texture,e=new Image;e.onload=function(){t.image=e,t.wrapS=d.ClampToEdgeWrapping,t.wrapT=d.ClampToEdgeWrapping,t.minFilter=d.LinearFilter,t.needsUpdate=!0,t.generateMipmaps=!1,si.needsUpdate=!0,e.onload=D},e.src=yp,si.map=t}}var Mp=800,Sp=function(n){return n.replace("//vrlab-public.ljcdn.com/","//vr-public.realsee-cdn.cn/").replace("//vrlab-image4.ljcdn.com/","//vr-image-4.realsee-cdn.cn/").replace("//vrlab-image3.ljcdn.com/","//vr-image-3.realsee-cdn.cn/").replace("//vrlab-image2.ljcdn.com/","//vr-image-2.realsee-cdn.cn/").replace("//vrlab-image1.ljcdn.com/","//vr-image-1.realsee-cdn.cn/")},Ip=[{name:"Z",transformToUpAxisZ:function(){return new d.Matrix4}},{name:"Y",transformToUpAxisZ:function(){return new d.Matrix4().makeRotationAxis(new d.Vector3(1,0,0),+Math.PI/2)}},{name:"-Y",transformToUpAxisZ:function(){return new d.Matrix4().makeRotationAxis(new d.Vector3(1,0,0),-Math.PI/2)}},{name:"WGS84",transformToEarthCentered:function(){return new d.Matrix4}},{name:"GCJ02",transformToEarthCentered:function(){return new d.Matrix4}},{name:"BD09",transformToEarthCentered:function(){return new d.Matrix4}}],gn=new d.Vector2,ei=new d.Frustum,ti=new d.Matrix4,Vs=new WeakMap,Ns=new WeakMap,Qs=ba([]),fl=function(n){le(t,n);function t(e){e===void 0&&(e={});var r,i,a,o,s,l,u,c,f,A,p=n.call(this)||this;p.ident=wt(),typeof window!="undefined"&&(Ta.instances[p.ident]=p),p.renderSwitch01=0,p.currentMode="Panorama",p.pano={workCode:"",panoIndex:0},p.needsRender=!1,p.onlyRenderIfNeeds=(r=e.onlyRenderIfNeeds)!==null&&r!==void 0?r:!0,p.imageOptions=k({},(i=e.imageOptions)!==null&&i!==void 0?i:{}),p.textureOptions=k({},(a=e.textureOptions)!==null&&a!==void 0?a:{}),p.poweredByRealsee=(o=e.poweredByRealsee)!==null&&o!==void 0?o:!0,p.extraElements=[],p.controllerInits={Panorama:Object.assign({},e.panorama),Model:Object.assign({},e.model),Floorplan:Object.assign({},e.floorplan),Topview:Object.assign({},e.topview),Mapview:Object.assign({},e.mapview),VRPanorama:Object.assign({},e.vrPanorama),XRPanorama:Object.assign({},e.xrPanorama)},p.coordinatesSystemTransformers=pt([],(s=e.coordinatesSystemTransformers)!==null&&s!==void 0?s:[],!0);for(var y=function(F){var L=v.coordinatesSystemTransformers.find(function(O){return O.name===F.name});L||v.coordinatesSystemTransformers.push(k({},F))},v=this,m=0,h=Ip;m<h.length;m++){var g=h[m];y(g)}if(p.fps={testCount:0,testTime:be()},p.info=null,p.modeChangeDuration=(l=e.modeChangeDuration)!==null&&l!==void 0?l:Mp,p.enableWheel=(u=e.enableWheel)!==null&&u!==void 0?u:!0,typeof window!="undefined")if("renderer"in e)e.renderer instanceof Dr&&p.throwError(new Error("cannot render a internal renderer")),p.renderer=e.renderer;else try{p.renderer=new Dr({preserveDrawingBuffer:e.preserveDrawingBuffer,backgroundColor:e.backgroundColor,backgroundAlpha:e.backgroundAlpha,antialias:e.antialias,webgl2:e==null?void 0:e.webgl2});var b=cl();p.renderer.setPixelRatio(b===1?window.devicePixelRatio:1),p.renderer.setSize(512,512)}catch(F){F instanceof Error&&p.throwError(F)}p.getPixelsRenderTarget=new d.WebGLRenderTarget(1,1,{encoding:(f=(c=p.renderer)===null||c===void 0?void 0:c.outputEncoding)!==null&&f!==void 0?f:d.sRGBEncoding}),p.scissor=Object.assign({left:0,bottom:0,width:1,height:1},e.scissor),p.camera=new xi(90),p.scene=new nu,p.xrCustomObjectsScene=new d.Scene,p.scene.add(p.xrCustomObjectsScene),p.scene.matrixAutoUpdate=!1,p.lastLoadWorkTask=Promise.resolve(),p.requestProxy=(A=e.requestProxy)!==null&&A!==void 0?A:Sp,p.networkSubscribe=new js,p.networkSubscribe.on("network",function(F,L,O,Q){var N;p.emit("network.resource",_("network.resource",{source:F,requestType:L,requestState:O,detail:Q})),(N=p.analysis)===null||N===void 0||N.network(p.works,F,L,O,Q)}),p.boundingMesh=Sf(new d.Box3(new d.Vector3(-.5,-.5,-.5),new d.Vector3(.5,.5,.5))),p.boundingMesh.name="bounding",p.scene.add(p.boundingMesh),p.models=ls(),p.models.push(new xa),p.lastModels=ls(),p.lastWorks=ba([]),p.readyCallbacks=[],p.syncingState=!1,p.modelGroup=new d.Group,p.modelGroup.visible=!1,p.modelGroup.name="model",p.modelGroup.matrixAutoUpdate=!1,p.modelGroup.renderOrder=-4,p.scene.add(p.modelGroup),p.helperGroup=new d.Group,p.helperGroup.name="helper",p.helperGroup.matrixAutoUpdate=!1,p.scene.add(p.helperGroup),p.videoTexture=new d.VideoTexture(e.videoInstance||Ap()),mp(p.scene),p.copyEffect=new Si(p.renderer,p.scene,p.camera,p.models),p.state={mode:p.currentMode,workCode:p.pano.workCode,panoIndex:p.pano.panoIndex,longitude:p.camera.pose.longitude,latitude:p.camera.pose.latitude,fov:p.camera.pose.fov,offset:p.camera.pose.offset.clone(),distance:p.camera.pose.distance},p.stateSynced=!1,p._enableIOSEDR=!1,p.destroyed=!1,p.paused=!0,typeof window!="undefined"&&(e.play!==!1&&p.play(),p.stopAnimationLoop=lt.shared.add(function(F,L){for(var O=[],Q=2;Q<arguments.length;Q++)O[Q-2]=arguments[Q];p.updateTime.apply(p,pt([F,L],O,!1))},!1,0,10));var w=function(){typeof document!="undefined"&&document.fullscreenElement===null&&p.currentMode==="VRPanorama"&&p.controller.emit("vr.requestExit",_("vr.requestExit",{}))},E=function(){p.needsRender=!0};if(typeof document!="undefined"&&document.addEventListener("fullscreenchange",w,!1),p.renderer&&p.renderer.domElement.addEventListener("webglcontextrestored",E,!1),p.removeEventListeners=function(){typeof document!="undefined"&&document.removeEventListener("fullscreenchange",w,!1),p.renderer&&p.renderer.domElement.removeEventListener("webglcontextrestored",E,!1)},p.plugins={},e.plugins&&e.plugins.length)for(var C=0,x=e.plugins;C<x.length;C++){var M=x[C];if(typeof M=="function")M(p);else if(Array.isArray(M)){var S=M[0],P=M[1],T=M[2];if(typeof S=="function"){var B=S(p,T);typeof P=="string"&&(p.plugins[P]?p.throwError(new Error("plugin name ".concat(P," is exists."))):p.plugins[P]=B)}}}return p.gpuPickingRenderTarget=new d.WebGLRenderTarget(1,1),p.meshReplaceMaterialMap=new Map,p.meshOriginMaterialMap=new Map,vp(p),p}return Object.defineProperty(t,"version",{get:function(){return"6.0.0-alpha.87"},enumerable:!1,configurable:!0}),Object.defineProperty(t,"dracoPath",{get:function(){return vi.decoderPath},set:function(e){vi.setDecoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t,"ktx2Path",{get:function(){return Pn.transcoderPath},set:function(e){Pn.setTranscoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"panoIndex",{get:function(){return this.pano.panoIndex},enumerable:!1,configurable:!0}),t.prototype.getGPUPicking=function(e,r,i,a,o){var s=this;if(a===void 0&&(a=1),o===void 0&&(o=new d.Vector3(0,0,0)),!this.renderer)throw new Error("renderer is not initialized.");this.models.setMaterial({constantColor:o}),this.scene.traverse(function(f){if(!(!(f instanceof d.Mesh)||f instanceof Mt)){var A=Object.keys(i).filter(function(y){return y===f.uuid})[0];if(A)if(s.meshOriginMaterialMap.set(A,f.material),s.meshReplaceMaterialMap.get(A))f.material=s.meshReplaceMaterialMap.get(A);else{var p=new d.ShaderMaterial({uniforms:{color:{value:i[A]}},vertexShader:`
2013
2013
  void main() {
2014
2014
  vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );
2015
2015
  gl_Position = projectionMatrix * mvPosition;
package/five/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five
4
- * Generated: 2024/4/2
5
- * Version: 6.0.0-alpha.86
4
+ * Generated: 2024/4/17
5
+ * Version: 6.0.0-alpha.87
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -16586,7 +16586,7 @@ void main() {
16586
16586
  /** @class */
16587
16587
  function() {
16588
16588
  function n(t, e, r) {
16589
- this.disposed = !1, this.textureLoader = new mi(), this.minLevel = e, this.level = 0, this.panoId = "[0]", this.pedding = 0, this.tileTree = ia(this.minLevel), this.tileMeshes = /* @__PURE__ */ new Map(), this.resource = [], this.luminance = null, this.imageOptions = r, this.fetcher = t, this.object = new Zf(), this.object.renderOrder = -3;
16589
+ this.disposed = !1, this.textureLoader = new mi(), this.minLevel = e, this.level = 0, this.panoId = "[0]", this.maxPedding = 3, this.pedding = 0, this.tileTree = ia(this.minLevel), this.tileMeshes = /* @__PURE__ */ new Map(), this.resource = [], this.luminance = null, this.imageOptions = r, this.fetcher = t, this.object = new Zf(), this.object.renderOrder = -3;
16590
16590
  }
16591
16591
  return n.prototype.setFetcher = function(t) {
16592
16592
  this.fetcher = t;
@@ -16632,6 +16632,8 @@ void main() {
16632
16632
  return "continue";
16633
16633
  if (l.add(b), c.tileMeshes.has(b))
16634
16634
  return c.tileMeshes.get(b).activeTime = r, "continue";
16635
+ if (c.pedding >= c.maxPedding)
16636
+ return "continue";
16635
16637
  var E = w.size, C = c.imageOptions.transform, x = Math.pow(2, b.level) * b.position.y, M = Math.pow(2, b.level) * b.position.x, S = "".concat(c.panoId, ".").concat(b.face, ".").concat(b.level, ".").concat(x, ".").concat(M), P = k(k({ key: "pano_tile.".concat(S) }, wr(c.imageOptions, ["format", "size", "quality", "sharpen", "mappings"])), { size: E * b.size === Wn ? void 0 : Wn, cut: [
16636
16638
  E * b.position.x,
16637
16639
  E * b.position.y,
@@ -20243,7 +20245,7 @@ var qh = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAA
20243
20245
  }
20244
20246
  return Object.defineProperty(t, "version", {
20245
20247
  get: function() {
20246
- return "6.0.0-alpha.86";
20248
+ return "6.0.0-alpha.87";
20247
20249
  },
20248
20250
  enumerable: !1,
20249
20251
  configurable: !0
@@ -21818,7 +21820,7 @@ var Ep = 800, xp = function(n) {
21818
21820
  }
21819
21821
  return Object.defineProperty(t, "version", {
21820
21822
  get: function() {
21821
- return "6.0.0-alpha.86";
21823
+ return "6.0.0-alpha.87";
21822
21824
  },
21823
21825
  enumerable: !1,
21824
21826
  configurable: !0
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five
4
- * Generated: 2024/4/2
5
- * Version: 6.0.0-alpha.86
4
+ * Generated: 2024/4/17
5
+ * Version: 6.0.0-alpha.87
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -258,4 +258,4 @@
258
258
  `),a=["float glossinessFactor = glossiness;","#ifdef USE_GLOSSINESSMAP"," vec4 texelGlossiness = texture2D( glossinessMap, vUv );"," // reads channel A, compatible with a glTF Specular-Glossiness (RGBA) texture"," glossinessFactor *= texelGlossiness.a;","#endif"].join(`
259
259
  `),i=["PhysicalMaterial material;","material.diffuseColor = diffuseColor.rgb;","vec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );","float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );","material.specularRoughness = max( 1.0 - glossinessFactor, 0.0525 );// 0.0525 corresponds to the base mip of a 256 cubemap.","material.specularRoughness += geometryRoughness;","material.specularRoughness = min( material.specularRoughness, 1.0 );","material.specularColor = specularFactor.rgb;"].join(`
260
260
  `),s={specular:{value:new c.Color().setHex(16777215)},glossiness:{value:1},specularMap:{value:null},glossinessMap:{value:null}};this._extraUniforms=s,this.onBeforeCompile=function(o){for(var f in s)o.uniforms[f]=s[f];o.fragmentShader=o.fragmentShader.replace("uniform float roughness;","uniform vec3 specular;"),o.fragmentShader=o.fragmentShader.replace("uniform float metalness;","uniform float glossiness;"),o.fragmentShader=o.fragmentShader.replace("#include <roughnessmap_pars_fragment>",r),o.fragmentShader=o.fragmentShader.replace("#include <metalnessmap_pars_fragment>",n),o.fragmentShader=o.fragmentShader.replace("#include <roughnessmap_fragment>",t),o.fragmentShader=o.fragmentShader.replace("#include <metalnessmap_fragment>",a),o.fragmentShader=o.fragmentShader.replace("#include <lights_physical_fragment>",i)},Object.defineProperties(this,{specular:{get:function(){return s.specular.value},set:function(o){s.specular.value=o}},specularMap:{get:function(){return s.specularMap.value},set:function(o){s.specularMap.value=o}},glossiness:{get:function(){return s.glossiness.value},set:function(o){s.glossiness.value=o}},glossinessMap:{get:function(){return s.glossinessMap.value},set:function(o){s.glossinessMap.value=o,o?(this.defines.USE_GLOSSINESSMAP="",this.defines.USE_ROUGHNESSMAP=""):(delete this.defines.USE_ROUGHNESSMAP,delete this.defines.USE_GLOSSINESSMAP)}}}),delete this.metalness,delete this.roughness,delete this.metalnessMap,delete this.roughnessMap,this.setValues(e)}b.prototype=Object.create(c.MeshStandardMaterial.prototype),b.prototype.constructor=b,b.prototype.copy=function(e){return c.MeshStandardMaterial.prototype.copy.call(this,e),this.specularMap=e.specularMap,this.specular.copy(e.specular),this.glossinessMap=e.glossinessMap,this.glossiness=e.glossiness,delete this.metalness,delete this.roughness,delete this.metalnessMap,delete this.roughnessMap,this};function V(){return{name:u.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS,specularGlossinessParams:["color","map","lightMap","lightMapIntensity","aoMap","aoMapIntensity","emissive","emissiveIntensity","emissiveMap","bumpMap","bumpScale","normalMap","normalMapType","displacementMap","displacementScale","displacementBias","specularMap","specular","glossinessMap","glossiness","alphaMap","envMap","envMapIntensity","refractionRatio"],getMaterialType:function(){return b},extendParams:function(e,r,n){var t=r.extensions[this.name];e.color=new c.Color(1,1,1),e.opacity=1;var a=[];if(Array.isArray(t.diffuseFactor)){var i=t.diffuseFactor;e.color.fromArray(i),e.opacity=i[3]}if(t.diffuseTexture!==void 0&&a.push(n.assignTexture(e,"map",t.diffuseTexture)),e.emissive=new c.Color(0,0,0),e.glossiness=t.glossinessFactor!==void 0?t.glossinessFactor:1,e.specular=new c.Color(1,1,1),Array.isArray(t.specularFactor)&&e.specular.fromArray(t.specularFactor),t.specularGlossinessTexture!==void 0){var s=t.specularGlossinessTexture;a.push(n.assignTexture(e,"glossinessMap",s)),a.push(n.assignTexture(e,"specularMap",s))}return Promise.all(a)},createMaterial:function(e){var r=new b(e);return r.fog=!0,r.color=e.color,r.map=e.map===void 0?null:e.map,r.lightMap=null,r.lightMapIntensity=1,r.aoMap=e.aoMap===void 0?null:e.aoMap,r.aoMapIntensity=1,r.emissive=e.emissive,r.emissiveIntensity=1,r.emissiveMap=e.emissiveMap===void 0?null:e.emissiveMap,r.bumpMap=e.bumpMap===void 0?null:e.bumpMap,r.bumpScale=1,r.normalMap=e.normalMap===void 0?null:e.normalMap,r.normalMapType=c.TangentSpaceNormalMap,e.normalScale&&(r.normalScale=e.normalScale),r.displacementMap=null,r.displacementScale=1,r.displacementBias=0,r.specularMap=e.specularMap===void 0?null:e.specularMap,r.specular=e.specular,r.glossinessMap=e.glossinessMap===void 0?null:e.glossinessMap,r.glossiness=e.glossiness,r.alphaMap=null,r.envMap=e.envMap===void 0?null:e.envMap,r.envMapIntensity=1,r.refractionRatio=.98,r}}}function $(){this.name=u.KHR_MESH_QUANTIZATION}function P(e,r,n,t){c.Interpolant.call(this,e,r,n,t)}P.prototype=Object.create(c.Interpolant.prototype),P.prototype.constructor=P,P.prototype.copySampleValue_=function(e){for(var r=this.resultBuffer,n=this.sampleValues,t=this.valueSize,a=e*t*3+t,i=0;i!==t;i++)r[i]=n[a+i];return r},P.prototype.beforeStart_=P.prototype.copySampleValue_,P.prototype.afterEnd_=P.prototype.copySampleValue_,P.prototype.interpolate_=function(e,r,n,t){for(var a=this.resultBuffer,i=this.sampleValues,s=this.valueSize,o=s*2,f=s*3,l=t-r,v=(n-r)/l,d=v*v,h=d*v,y=e*f,_=y-f,S=-2*h+3*d,R=h-d,E=1-S,F=R-d+v,G=0;G!==s;G++){var te=i[_+G+s],ne=i[_+G+o]*l,Q=i[y+G+s],B=i[y+G]*l;a[G]=E*te+F*ne+S*Q+R*B}return a};var H={FLOAT:5126,FLOAT_MAT3:35675,FLOAT_MAT4:35676,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,LINEAR:9729,REPEAT:10497,SAMPLER_2D:35678,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123},ee={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},re={9728:c.NearestFilter,9729:c.LinearFilter,9984:c.NearestMipmapNearestFilter,9985:c.LinearMipmapNearestFilter,9986:c.NearestMipmapLinearFilter,9987:c.LinearMipmapLinearFilter},J={33071:c.ClampToEdgeWrapping,33648:c.MirroredRepeatWrapping,10497:c.RepeatWrapping},W={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},j={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv2",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},X={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},ge={CUBICSPLINE:void 0,LINEAR:c.InterpolateLinear,STEP:c.InterpolateDiscrete},ie={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"},fe={"image/png":c.RGBAFormat,"image/jpeg":c.RGBFormat};function de(e,r){return typeof e!="string"||e===""?"":(/^https?:\/\//i.test(r)&&/^\//.test(e)&&(r=r.replace(/(^https?:\/\/[^\/]+).*/i,"$1")),/^(https?:)?\/\//i.test(e)||/^data:.*,.*$/i.test(e)||/^blob:.*$/i.test(e)?e:r+e)}function me(e){return e.DefaultMaterial===void 0&&(e.DefaultMaterial=new c.MeshStandardMaterial({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:c.FrontSide})),e.DefaultMaterial}function se(e,r,n){for(var t in n.extensions)e[t]===void 0&&(r.userData.gltfExtensions=r.userData.gltfExtensions||{},r.userData.gltfExtensions[t]=n.extensions[t])}function Y(e,r){r.extras!==void 0&&(typeof r.extras=="object"?Object.assign(e.userData,r.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+r.extras))}function Ae(e,r,n){for(var t=!1,a=!1,i=0,s=r.length;i<s;i++){var o=r[i];if(o.POSITION!==void 0&&(t=!0),o.NORMAL!==void 0&&(a=!0),t&&a)break}if(!t&&!a)return Promise.resolve(e);for(var f=[],l=[],i=0,s=r.length;i<s;i++){var o=r[i];if(t){var v=o.POSITION!==void 0?n.getDependency("accessor",o.POSITION):e.attributes.position;f.push(v)}if(a){var v=o.NORMAL!==void 0?n.getDependency("accessor",o.NORMAL):e.attributes.normal;l.push(v)}}return Promise.all([Promise.all(f),Promise.all(l)]).then(function(d){var h=d[0],y=d[1];return t&&(e.morphAttributes.position=h),a&&(e.morphAttributes.normal=y),e.morphTargetsRelative=!0,e})}function Se(e,r){if(e.updateMorphTargets(),r.weights!==void 0)for(var n=0,t=r.weights.length;n<t;n++)e.morphTargetInfluences[n]=r.weights[n];if(r.extras&&Array.isArray(r.extras.targetNames)){var a=r.extras.targetNames;if(e.morphTargetInfluences.length===a.length){e.morphTargetDictionary={};for(var n=0,t=a.length;n<t;n++)e.morphTargetDictionary[a[n]]=n}else console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}function ye(e){var r=e.extensions&&e.extensions[u.KHR_DRACO_MESH_COMPRESSION],n;return r?n="draco:"+r.bufferView+":"+r.indices+":"+U(r.attributes):n=e.indices+":"+U(e.attributes)+":"+e.mode,n}function U(e){for(var r="",n=Object.keys(e).sort(),t=0,a=n.length;t<a;t++)r+=n[t]+":"+e[n[t]]+";";return r}function I(e,r,n){this.json=e||{},this.extensions=r||{},this.options=n||{},this.cache=new T,this.associations=new Map,this.primitiveCache={},this.textureLoader=new c.TextureLoader(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.fileLoader=new c.FileLoader(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}I.prototype.parse=function(e,r){var n=this,t=this.json,a=this.extensions;this.cache.removeAll(),this.markDefs(),Promise.all([this.getDependencies("scene"),this.getDependencies("animation"),this.getDependencies("camera")]).then(function(i){var s={scene:i[0][t.scene||0],scenes:i[0],animations:i[1],cameras:i[2],asset:t.asset,parser:n,userData:{}};se(a,s,t),Y(s,t),e(s)}).catch(r)},I.prototype.markDefs=function(){for(var e=this.json.nodes||[],r=this.json.skins||[],n=this.json.meshes||[],t={},a={},i=0,s=r.length;i<s;i++)for(var o=r[i].joints,f=0,l=o.length;f<l;f++)e[o[f]].isBone=!0;for(var v=0,d=e.length;v<d;v++){var h=e[v];h.mesh!==void 0&&(t[h.mesh]===void 0&&(t[h.mesh]=a[h.mesh]=0),t[h.mesh]++,h.skin!==void 0&&(n[h.mesh].isSkinnedMesh=!0))}this.json.meshReferences=t,this.json.meshUses=a},I.prototype.getDependency=function(e,r){var n=e+":"+r,t=this.cache.get(n);if(!t){switch(e){case"scene":t=this.loadScene(r);break;case"node":t=this.loadNode(r);break;case"mesh":t=this.loadMesh(r);break;case"accessor":t=this.loadAccessor(r);break;case"bufferView":t=this.loadBufferView(r);break;case"buffer":t=this.loadBuffer(r);break;case"material":t=this.loadMaterial(r);break;case"texture":t=this.loadTexture(r);break;case"skin":t=this.loadSkin(r);break;case"animation":t=this.loadAnimation(r);break;case"camera":t=this.loadCamera(r);break;case"light":t=this.extensions[u.KHR_LIGHTS_PUNCTUAL].loadLight(r);break;default:throw new Error("Unknown type: "+e)}this.cache.add(n,t)}return t},I.prototype.getDependencies=function(e){var r=this.cache.get(e);if(!r){var n=this,t=this.json[e+(e==="mesh"?"es":"s")]||[];r=Promise.all(t.map(function(a,i){return n.getDependency(e,i)})),this.cache.add(e,r)}return r},I.prototype.loadBuffer=function(e){var r=this.json.buffers[e],n=this.fileLoader;if(r.type&&r.type!=="arraybuffer")throw new Error("THREE.GLTFLoader: "+r.type+" buffer type is not supported.");if(r.uri===void 0&&e===0)return Promise.resolve(this.extensions[u.KHR_BINARY_GLTF].body);var t=this.options;return new Promise(function(a,i){n.load(de(r.uri,t.path),a,void 0,function(){i(new Error('THREE.GLTFLoader: Failed to load buffer "'+r.uri+'".'))})})},I.prototype.loadBufferView=function(e){var r=this.json.bufferViews[e];return this.getDependency("buffer",r.buffer).then(function(n){var t=r.byteLength||0,a=r.byteOffset||0;return n.slice(a,a+t)})},I.prototype.loadAccessor=function(e){var r=this,n=this.json,t=this.json.accessors[e];if(t.bufferView===void 0&&t.sparse===void 0)return Promise.resolve(null);var a=[];return t.bufferView!==void 0?a.push(this.getDependency("bufferView",t.bufferView)):a.push(null),t.sparse!==void 0&&(a.push(this.getDependency("bufferView",t.sparse.indices.bufferView)),a.push(this.getDependency("bufferView",t.sparse.values.bufferView))),Promise.all(a).then(function(i){var s=i[0],o=W[t.type],f=ee[t.componentType],l=f.BYTES_PER_ELEMENT,v=l*o,d=t.byteOffset||0,h=t.bufferView!==void 0?n.bufferViews[t.bufferView].byteStride:void 0,y=t.normalized===!0,_,S;if(h&&h!==v){var R=Math.floor(d/h),E="InterleavedBuffer:"+t.bufferView+":"+t.componentType+":"+R+":"+t.count,F=r.cache.get(E);F||(_=new f(s,R*h,t.count*h/l),F=new c.InterleavedBuffer(_,h/l),r.cache.add(E,F)),S=new c.InterleavedBufferAttribute(F,o,d%h/l,y)}else s===null?_=new f(t.count*o):_=new f(s,d,t.count*o),S=new c.BufferAttribute(_,o,y);if(t.sparse!==void 0){var G=W.SCALAR,te=ee[t.sparse.indices.componentType],ne=t.sparse.indices.byteOffset||0,Q=t.sparse.values.byteOffset||0,B=new te(i[1],ne,t.sparse.count*G),oe=new f(i[2],Q,t.sparse.count*o);s!==null&&(S=new c.BufferAttribute(S.array.slice(),S.itemSize,S.normalized));for(var k=0,Ee=B.length;k<Ee;k++){var ae=B[k];if(S.setX(ae,oe[k*o]),o>=2&&S.setY(ae,oe[k*o+1]),o>=3&&S.setZ(ae,oe[k*o+2]),o>=4&&S.setW(ae,oe[k*o+3]),o>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return S})},I.prototype.loadTexture=function(e){var r=this,n=this.json,t=this.options,a=this.textureLoader,i=self.URL||self.webkitURL,s=n.textures[e],o=s.extensions||{},f;o[u.MSFT_TEXTURE_DDS]?f=n.images[o[u.MSFT_TEXTURE_DDS].source]:f=n.images[s.source];var l=f.uri,v=!1;return f.bufferView!==void 0&&(l=r.getDependency("bufferView",f.bufferView).then(function(d){v=!0;var h=new Blob([d],{type:f.mimeType});return l=i.createObjectURL(h),l})),Promise.resolve(l).then(function(d){var h=t.manager.getHandler(d);return h||(h=o[u.MSFT_TEXTURE_DDS]?r.extensions[u.MSFT_TEXTURE_DDS].ddsLoader:a),new Promise(function(y,_){h.load(de(d,t.path),y,void 0,_)})}).then(function(d){v===!0&&i.revokeObjectURL(l),d.flipY=!1,s.name&&(d.name=s.name),f.mimeType in fe&&(d.format=fe[f.mimeType]);var h=n.samplers||{},y=h[s.sampler]||{};return d.magFilter=re[y.magFilter]||c.LinearFilter,d.minFilter=re[y.minFilter]||c.LinearMipmapLinearFilter,d.wrapS=J[y.wrapS]||c.RepeatWrapping,d.wrapT=J[y.wrapT]||c.RepeatWrapping,r.associations.set(d,{type:"textures",index:e}),d})},I.prototype.assignTexture=function(e,r,n){var t=this;return this.getDependency("texture",n.index).then(function(a){if(!a.isCompressedTexture)switch(r){case"aoMap":case"emissiveMap":case"metalnessMap":case"normalMap":case"roughnessMap":a.format=c.RGBFormat;break}if(n.texCoord!==void 0&&n.texCoord!=0&&!(r==="aoMap"&&n.texCoord==1)&&console.warn("THREE.GLTFLoader: Custom UV set "+n.texCoord+" for texture "+r+" not yet supported."),t.extensions[u.KHR_TEXTURE_TRANSFORM]){var i=n.extensions!==void 0?n.extensions[u.KHR_TEXTURE_TRANSFORM]:void 0;if(i){var s=this.associations.get(a);a=t.extensions[u.KHR_TEXTURE_TRANSFORM].extendTexture(a,i),this.associations.set(a,s)}}e[r]=a})},I.prototype.assignFinalMaterial=function(e){var r=e.geometry,n=e.material,t=r.attributes.tangent!==void 0,a=r.attributes.color!==void 0,i=r.attributes.normal===void 0,s=e.isSkinnedMesh===!0,o=Object.keys(r.morphAttributes).length>0,f=o&&r.morphAttributes.normal!==void 0;if(e.isPoints){var l="PointsMaterial:"+n.uuid,v=this.cache.get(l);v||(v=new c.PointsMaterial,c.Material.prototype.copy.call(v,n),v.color.copy(n.color),v.map=n.map,v.sizeAttenuation=!1,this.cache.add(l,v)),n=v}else if(e.isLine){var l="LineBasicMaterial:"+n.uuid,d=this.cache.get(l);d||(d=new c.LineBasicMaterial,c.Material.prototype.copy.call(d,n),d.color.copy(n.color),this.cache.add(l,d)),n=d}if(t||a||i||s||o){var l="ClonedMaterial:"+n.uuid+":";n.isGLTFSpecularGlossinessMaterial&&(l+="specular-glossiness:"),s&&(l+="skinning:"),t&&(l+="vertex-tangents:"),a&&(l+="vertex-colors:"),i&&(l+="flat-shading:"),o&&(l+="morph-targets:"),f&&(l+="morph-normals:");var h=this.cache.get(l);h||(h=n.clone(),s&&(h.skinning=!0),t&&(h.vertexTangents=!0),a&&(h.vertexColors=!0),i&&(h.flatShading=!0),o&&(h.morphTargets=!0),f&&(h.morphNormals=!0),this.cache.add(l,h),this.associations.set(h,this.associations.get(n))),n=h}n.aoMap&&r.attributes.uv2===void 0&&r.attributes.uv!==void 0&&r.setAttribute("uv2",r.attributes.uv),n.normalScale&&!t&&(n.normalScale.y=-n.normalScale.y),n.clearcoatNormalScale&&!t&&(n.clearcoatNormalScale.y=-n.clearcoatNormalScale.y),e.material=n},I.prototype.loadMaterial=function(e){var r=this,n=this.json,t=this.extensions,a=n.materials[e],i,s={},o=a.extensions||{},f=[];if(o[u.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS]){var l=t[u.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS];i=l.getMaterialType(),f.push(l.extendParams(s,a,r))}else if(o[u.KHR_MATERIALS_UNLIT]){var v=t[u.KHR_MATERIALS_UNLIT];i=v.getMaterialType(),f.push(v.extendParams(s,a,r))}else{i=c.MeshStandardMaterial;var d=a.pbrMetallicRoughness||{};if(s.color=new c.Color(1,1,1),s.opacity=1,Array.isArray(d.baseColorFactor)){var h=d.baseColorFactor;s.color.fromArray(h),s.opacity=h[3]}d.baseColorTexture!==void 0&&f.push(r.assignTexture(s,"map",d.baseColorTexture)),s.metalness=d.metallicFactor!==void 0?d.metallicFactor:1,s.roughness=d.roughnessFactor!==void 0?d.roughnessFactor:1,d.metallicRoughnessTexture!==void 0&&(f.push(r.assignTexture(s,"metalnessMap",d.metallicRoughnessTexture)),f.push(r.assignTexture(s,"roughnessMap",d.metallicRoughnessTexture)))}a.doubleSided===!0&&(s.side=c.DoubleSide);var y=a.alphaMode||ie.OPAQUE;if(y===ie.BLEND?(s.transparent=!0,s.depthWrite=!1):(s.transparent=!1,y===ie.MASK&&(s.alphaTest=a.alphaCutoff!==void 0?a.alphaCutoff:.5)),a.normalTexture!==void 0&&i!==c.MeshBasicMaterial&&(f.push(r.assignTexture(s,"normalMap",a.normalTexture)),s.normalScale=new c.Vector2(1,1),a.normalTexture.scale!==void 0&&s.normalScale.set(a.normalTexture.scale,a.normalTexture.scale)),a.occlusionTexture!==void 0&&i!==c.MeshBasicMaterial&&(f.push(r.assignTexture(s,"aoMap",a.occlusionTexture)),a.occlusionTexture.strength!==void 0&&(s.aoMapIntensity=a.occlusionTexture.strength)),a.emissiveFactor!==void 0&&i!==c.MeshBasicMaterial&&(s.emissive=new c.Color().fromArray(a.emissiveFactor)),a.emissiveTexture!==void 0&&i!==c.MeshBasicMaterial&&f.push(r.assignTexture(s,"emissiveMap",a.emissiveTexture)),o[u.KHR_MATERIALS_CLEARCOAT]){var _=t[u.KHR_MATERIALS_CLEARCOAT];i=_.getMaterialType(),f.push(_.extendParams(s,{extensions:o},r))}if(o[u.KHR_MATERIALS_TRANSMISSION]){var _=t[u.KHR_MATERIALS_TRANSMISSION];i=_.getMaterialType(),f.push(_.extendParams(s,{extensions:o},r))}return Promise.all(f).then(function(){var S;return i===b?S=t[u.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS].createMaterial(s):S=new i(s),a.name&&(S.name=a.name),S.map&&(S.map.encoding=c.sRGBEncoding),S.emissiveMap&&(S.emissiveMap.encoding=c.sRGBEncoding),Y(S,a),r.associations.set(S,{type:"materials",index:e}),a.extensions&&se(t,S,a),S})};function pe(e,r,n){var t=r.attributes,a=new c.Box3;if(t.POSITION!==void 0){var i=n.json.accessors[t.POSITION],s=i.min,o=i.max;if(s!==void 0&&o!==void 0)a.set(new c.Vector3(s[0],s[1],s[2]),new c.Vector3(o[0],o[1],o[2]));else{console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");return}}else return;var f=r.targets;if(f!==void 0){for(var l=new c.Vector3,v=new c.Vector3,d=0,h=f.length;d<h;d++){var y=f[d];if(y.POSITION!==void 0){var i=n.json.accessors[y.POSITION],s=i.min,o=i.max;s!==void 0&&o!==void 0?(v.setX(Math.max(Math.abs(s[0]),Math.abs(o[0]))),v.setY(Math.max(Math.abs(s[1]),Math.abs(o[1]))),v.setZ(Math.max(Math.abs(s[2]),Math.abs(o[2]))),l.max(v)):console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}a.expandByVector(l)}e.boundingBox=a;var _=new c.Sphere;a.getCenter(_.center),_.radius=a.min.distanceTo(a.max)/2,e.boundingSphere=_}function ue(e,r,n){var t=r.attributes,a=[];function i(l,v){return n.getDependency("accessor",l).then(function(d){e.setAttribute(v,d)})}for(var s in t){var o=j[s]||s.toLowerCase();o in e.attributes||a.push(i(t[s],o))}if(r.indices!==void 0&&!e.index){var f=n.getDependency("accessor",r.indices).then(function(l){e.setIndex(l)});a.push(f)}return Y(e,r),pe(e,r,n),Promise.all(a).then(function(){return r.targets!==void 0?Ae(e,r.targets,n):e})}function z(e,r){var n=e.getIndex();if(n===null){var t=[],a=e.getAttribute("position");if(a!==void 0){for(var i=0;i<a.count;i++)t.push(i);e.setIndex(t),n=e.getIndex()}else return console.error("THREE.GLTFLoader.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),e}var s=n.count-2,o=[];if(r===c.TriangleFanDrawMode)for(var i=1;i<=s;i++)o.push(n.getX(0)),o.push(n.getX(i)),o.push(n.getX(i+1));else for(var i=0;i<s;i++)i%2===0?(o.push(n.getX(i)),o.push(n.getX(i+1)),o.push(n.getX(i+2))):(o.push(n.getX(i+2)),o.push(n.getX(i+1)),o.push(n.getX(i)));o.length/3!==s&&console.error("THREE.GLTFLoader.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");var f=e.clone();return f.setIndex(o),f}return I.prototype.loadGeometries=function(e){var r=this,n=this.extensions,t=this.primitiveCache;function a(h){return n[u.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(h,r).then(function(y){return ue(y,h,r)})}for(var i=[],s=0,o=e.length;s<o;s++){var f=e[s],l=ye(f),v=t[l];if(v)i.push(v.promise);else{var d;f.extensions&&f.extensions[u.KHR_DRACO_MESH_COMPRESSION]?d=a(f):d=ue(new c.BufferGeometry,f,r),t[l]={primitive:f,promise:d},i.push(d)}}return Promise.all(i)},I.prototype.loadMesh=function(e){for(var r=this,n=this.json,t=n.meshes[e],a=t.primitives,i=[],s=0,o=a.length;s<o;s++){var f=a[s].material===void 0?me(this.cache):this.getDependency("material",a[s].material);i.push(f)}return i.push(r.loadGeometries(a)),Promise.all(i).then(function(l){for(var v=l.slice(0,l.length-1),d=l[l.length-1],h=[],y=0,_=d.length;y<_;y++){var S=d[y],R=a[y],E,F=v[y];if(R.mode===H.TRIANGLES||R.mode===H.TRIANGLE_STRIP||R.mode===H.TRIANGLE_FAN||R.mode===void 0)E=t.isSkinnedMesh===!0?new c.SkinnedMesh(S,F):new c.Mesh(S,F),E.isSkinnedMesh===!0&&!E.geometry.attributes.skinWeight.normalized&&E.normalizeSkinWeights(),R.mode===H.TRIANGLE_STRIP?E.geometry=z(E.geometry,c.TriangleStripDrawMode):R.mode===H.TRIANGLE_FAN&&(E.geometry=z(E.geometry,c.TriangleFanDrawMode));else if(R.mode===H.LINES)E=new c.LineSegments(S,F);else if(R.mode===H.LINE_STRIP)E=new c.Line(S,F);else if(R.mode===H.LINE_LOOP)E=new c.LineLoop(S,F);else if(R.mode===H.POINTS)E=new c.Points(S,F);else throw new Error("THREE.GLTFLoader: Primitive mode unsupported: "+R.mode);Object.keys(E.geometry.morphAttributes).length>0&&Se(E,t),E.name=t.name||"mesh_"+e,d.length>1&&(E.name+="_"+y),Y(E,t),r.assignFinalMaterial(E),h.push(E)}if(h.length===1)return h[0];for(var G=new c.Group,y=0,_=h.length;y<_;y++)G.add(h[y]);return G})},I.prototype.loadCamera=function(e){var r,n=this.json.cameras[e],t=n[n.type];if(!t){console.warn("THREE.GLTFLoader: Missing camera parameters.");return}return n.type==="perspective"?r=new c.PerspectiveCamera(c.MathUtils.radToDeg(t.yfov),t.aspectRatio||1,t.znear||1,t.zfar||2e6):n.type==="orthographic"&&(r=new c.OrthographicCamera(-t.xmag,t.xmag,t.ymag,-t.ymag,t.znear,t.zfar)),n.name&&(r.name=n.name),Y(r,n),Promise.resolve(r)},I.prototype.loadSkin=function(e){var r=this.json.skins[e],n={joints:r.joints};return r.inverseBindMatrices===void 0?Promise.resolve(n):this.getDependency("accessor",r.inverseBindMatrices).then(function(t){return n.inverseBindMatrices=t,n})},I.prototype.loadAnimation=function(e){for(var r=this.json,n=r.animations[e],t=[],a=[],i=[],s=[],o=[],f=0,l=n.channels.length;f<l;f++){var v=n.channels[f],d=n.samplers[v.sampler],h=v.target,y=h.node!==void 0?h.node:h.id,_=n.parameters!==void 0?n.parameters[d.input]:d.input,S=n.parameters!==void 0?n.parameters[d.output]:d.output;t.push(this.getDependency("node",y)),a.push(this.getDependency("accessor",_)),i.push(this.getDependency("accessor",S)),s.push(d),o.push(h)}return Promise.all([Promise.all(t),Promise.all(a),Promise.all(i),Promise.all(s),Promise.all(o)]).then(function(R){for(var E=R[0],F=R[1],G=R[2],te=R[3],ne=R[4],Q=[],B=0,oe=E.length;B<oe;B++){var k=E[B],Ee=F[B],ae=G[B],Le=te[B],_e=ne[B];if(k!==void 0){k.updateMatrix(),k.matrixAutoUpdate=!0;var he;switch(X[_e.path]){case X.weights:he=c.NumberKeyframeTrack;break;case X.rotation:he=c.QuaternionKeyframeTrack;break;case X.position:case X.scale:default:he=c.VectorKeyframeTrack;break}var Fe=k.name?k.name:k.uuid,De=Le.interpolation!==void 0?ge[Le.interpolation]:c.InterpolateLinear,ve=[];X[_e.path]===X.weights?k.traverse(function(ce){ce.isMesh===!0&&ce.morphTargetInfluences&&ve.push(ce.name?ce.name:ce.uuid)}):ve.push(Fe);var q=ae.array;if(ae.normalized){var le;if(q.constructor===Int8Array)le=1/127;else if(q.constructor===Uint8Array)le=1/255;else if(q.constructor==Int16Array)le=1/32767;else if(q.constructor===Uint16Array)le=1/65535;else throw new Error("THREE.GLTFLoader: Unsupported output accessor component type.");for(var Ie=new Float32Array(q.length),Z=0,Re=q.length;Z<Re;Z++)Ie[Z]=q[Z]*le;q=Ie}for(var Z=0,Re=ve.length;Z<Re;Z++){var Me=new he(ve[Z]+"."+X[_e.path],Ee.array,q,De);Le.interpolation==="CUBICSPLINE"&&(Me.createInterpolant=function(Ue){return new P(this.times,this.values,this.getValueSize()/3,Ue)},Me.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0),Q.push(Me)}}}var Pe=n.name?n.name:"animation_"+e;return new c.AnimationClip(Pe,void 0,Q)})},I.prototype.loadNode=function(e){var r=this.json,n=this.extensions,t=this,a=r.meshReferences,i=r.meshUses,s=r.nodes[e];return function(){var o=[];return s.mesh!==void 0&&o.push(t.getDependency("mesh",s.mesh).then(function(f){var l;if(a[s.mesh]>1){var v=i[s.mesh]++;l=f.clone(),l.name+="_instance_"+v}else l=f;return s.weights!==void 0&&l.traverse(function(d){if(d.isMesh)for(var h=0,y=s.weights.length;h<y;h++)d.morphTargetInfluences[h]=s.weights[h]}),l})),s.camera!==void 0&&o.push(t.getDependency("camera",s.camera)),s.extensions&&s.extensions[u.KHR_LIGHTS_PUNCTUAL]&&s.extensions[u.KHR_LIGHTS_PUNCTUAL].light!==void 0&&o.push(t.getDependency("light",s.extensions[u.KHR_LIGHTS_PUNCTUAL].light)),Promise.all(o)}().then(function(o){var f;if(s.isBone===!0?f=new c.Bone:o.length>1?f=new c.Group:o.length===1?f=o[0]:f=new c.Object3D,f!==o[0])for(var l=0,v=o.length;l<v;l++)f.add(o[l]);if(s.name&&(f.userData.name=s.name,f.name=c.PropertyBinding.sanitizeNodeName(s.name)),Y(f,s),s.extensions&&se(n,f,s),s.matrix!==void 0){var d=new c.Matrix4;d.fromArray(s.matrix),f.applyMatrix4(d)}else s.translation!==void 0&&f.position.fromArray(s.translation),s.rotation!==void 0&&f.quaternion.fromArray(s.rotation),s.scale!==void 0&&f.scale.fromArray(s.scale);return t.associations.set(f,{type:"nodes",index:e}),f})},I.prototype.loadScene=function(){function e(r,n,t,a){var i=t.nodes[r];return a.getDependency("node",r).then(function(s){if(i.skin===void 0)return s;var o;return a.getDependency("skin",i.skin).then(function(f){o=f;for(var l=[],v=0,d=o.joints.length;v<d;v++)l.push(a.getDependency("node",o.joints[v]));return Promise.all(l)}).then(function(f){return s.traverse(function(l){if(l.isMesh){for(var v=[],d=[],h=0,y=f.length;h<y;h++){var _=f[h];if(_){v.push(_);var S=new c.Matrix4;o.inverseBindMatrices!==void 0&&S.fromArray(o.inverseBindMatrices.array,h*16),d.push(S)}else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.',o.joints[h])}l.bind(new c.Skeleton(v,d),l.matrixWorld)}}),s})}).then(function(s){n.add(s);var o=[];if(i.children)for(var f=i.children,l=0,v=f.length;l<v;l++){var d=f[l];o.push(e(d,s,t,a))}return Promise.all(o)})}return function(n){var t=this.json,a=this.extensions,i=this.json.scenes[n],s=this,o=new c.Group;i.name&&(o.name=i.name),Y(o,i),i.extensions&&se(a,o,i);for(var f=i.nodes||[],l=[],v=0,d=f.length;v<d;v++)l.push(e(f[v],o,t,s));return Promise.all(l).then(function(){return o})}}(),p}(),K=function(p){c.Loader.call(this,p),this.decoderPath="",this.decoderConfig={},this.decoderBinary=null,this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL="",this.defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},this.defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"}};K.prototype=Object.assign(Object.create(c.Loader.prototype),{constructor:K,setDecoderPath:function(p){return this.decoderPath=p,this},setDecoderConfig:function(p){return this.decoderConfig=p,this},setWorkerLimit:function(p){return this.workerLimit=p,this},setVerbosity:function(){console.warn("THREE.DRACOLoader: The .setVerbosity() method has been removed.")},setDrawMode:function(){console.warn("THREE.DRACOLoader: The .setDrawMode() method has been removed.")},setSkipDequantization:function(){console.warn("THREE.DRACOLoader: The .setSkipDequantization() method has been removed.")},load:function(p,T,u,m){var g=new c.FileLoader(this.manager);g.setPath(this.path),g.setResponseType("arraybuffer"),this.crossOrigin==="use-credentials"&&g.setWithCredentials(!0),g.load(p,A=>{var L={attributeIDs:this.defaultAttributeIDs,attributeTypes:this.defaultAttributeTypes,useUniqueIDs:!1};this.decodeGeometry(A,L).then(T).catch(m)},u,m)},decodeDracoFile:function(p,T,u,m){var g={attributeIDs:u||this.defaultAttributeIDs,attributeTypes:m||this.defaultAttributeTypes,useUniqueIDs:!!u};this.decodeGeometry(p,g).then(T)},decodeGeometry:function(p,T){for(var u in T.attributeTypes){var m=T.attributeTypes[u];m.BYTES_PER_ELEMENT!==void 0&&(T.attributeTypes[u]=m.name)}var g=JSON.stringify(T);if(K.taskCache.has(p)){var A=K.taskCache.get(p);if(A.key===g)return A.promise;if(p.byteLength===0)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}var L,O=this.workerNextTaskID++,D=p.byteLength,M=this._getWorker(O,D).then(C=>(L=C,new Promise((N,x)=>{L._callbacks[O]={resolve:N,reject:x},L.postMessage({type:"decode",id:O,taskConfig:T,buffer:p},[p])}))).then(C=>this._createGeometry(C.geometry));return M.catch(()=>!0).then(()=>{L&&O&&this._releaseTask(L,O)}),K.taskCache.set(p,{key:g,promise:M}),M},_createGeometry:function(p){var T=new c.BufferGeometry;p.index&&T.setIndex(new c.BufferAttribute(p.index.array,1));for(var u=0;u<p.attributes.length;u++){var m=p.attributes[u],g=m.name,A=m.array,L=m.itemSize;T.setAttribute(g,new c.BufferAttribute(A,L))}return T},_loadLibrary:function(p,T){var u=new c.FileLoader(this.manager);return u.setPath(this.decoderPath),u.setResponseType(T),new Promise((m,g)=>{u.load(p,m,void 0,g)})},preload:function(){return this._initDecoder(),this},_initDecoder:function(){if(this.decoderPending)return this.decoderPending;var p=typeof WebAssembly!="object"||this.decoderConfig.type==="js",T=[];return p?T.push(this._loadLibrary("draco_decoder.js","text")):(T.push(this._loadLibrary("draco_wasm_wrapper.js","text")),T.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(T).then(u=>{var m=u[0];p||(this.decoderConfig.wasmBinary=u[1]);var g=K.DRACOWorker.toString(),A=["/* draco decoder */",m,"","/* worker */",g.substring(g.indexOf("{")+1,g.lastIndexOf("}"))].join(`
261
- `);this.workerSourceURL=URL.createObjectURL(new Blob([A]))}),this.decoderPending},_getWorker:function(p,T){return this._initDecoder().then(()=>{if(this.workerPool.length<this.workerLimit){var u=new Worker(this.workerSourceURL);u._callbacks={},u._taskCosts={},u._taskLoad=0,u.postMessage({type:"init",decoderConfig:this.decoderConfig}),u.onmessage=function(g){var A=g.data;switch(A.type){case"decode":u._callbacks[A.id].resolve(A);break;case"error":u._callbacks[A.id].reject(A);break;default:console.error('THREE.DRACOLoader: Unexpected message, "'+A.type+'"')}},this.workerPool.push(u)}else this.workerPool.sort(function(m,g){return m._taskLoad>g._taskLoad?-1:1});var u=this.workerPool[this.workerPool.length-1];return u._taskCosts[p]=T,u._taskLoad+=T,u})},_releaseTask:function(p,T){p._taskLoad-=p._taskCosts[T],delete p._callbacks[T],delete p._taskCosts[T]},debug:function(){console.log("Task load: ",this.workerPool.map(p=>p._taskLoad))},dispose:function(){for(var p=0;p<this.workerPool.length;++p)this.workerPool[p].terminate();return this.workerPool.length=0,this}});K.DRACOWorker=function(){var p,T;onmessage=function(g){var A=g.data;switch(A.type){case"init":p=A.decoderConfig,T=new Promise(function(D){p.onModuleLoaded=function(M){D({draco:M})},DracoDecoderModule(p)});break;case"decode":var L=A.buffer,O=A.taskConfig;T.then(D=>{var M=D.draco,C=new M.Decoder,N=new M.DecoderBuffer;N.Init(new Int8Array(L),L.byteLength);try{var x=u(M,C,N,O),w=x.attributes.map(b=>b.array.buffer);x.index&&w.push(x.index.array.buffer),self.postMessage({type:"decode",id:A.id,geometry:x},w)}catch(b){console.error(b),self.postMessage({type:"error",id:A.id,error:b.message})}finally{M.destroy(N),M.destroy(C)}});break}};function u(g,A,L,O){var D=O.attributeIDs,M=O.attributeTypes,C,N,x=A.GetEncodedGeometryType(L);if(x===g.TRIANGULAR_MESH)C=new g.Mesh,N=A.DecodeBufferToMesh(L,C);else if(x===g.POINT_CLOUD)C=new g.PointCloud,N=A.DecodeBufferToPointCloud(L,C);else throw new Error("THREE.DRACOLoader: Unexpected geometry type.");if(!N.ok()||C.ptr===0)throw new Error("THREE.DRACOLoader: Decoding failed: "+N.error_msg());var w={index:null,attributes:[]};for(var b in D){var V=self[M[b]],$,P;if(O.useUniqueIDs)P=D[b],$=A.GetAttributeByUniqueId(C,P);else{if(P=A.GetAttributeId(C,g[D[b]]),P===-1)continue;$=A.GetAttribute(C,P)}w.attributes.push(m(g,A,C,b,V,$))}if(x===g.TRIANGULAR_MESH){for(var H=C.num_faces(),ee=H*3,re=new Uint32Array(ee),J=new g.DracoInt32Array,W=0;W<H;++W){A.GetFaceFromMesh(C,W,J);for(var j=0;j<3;++j)re[W*3+j]=J.GetValue(j)}w.index={array:re,itemSize:1},g.destroy(J)}return g.destroy(C),w}function m(g,A,L,O,D,M){var C=M.num_components(),N=L.num_points(),x=N*C,w,b;switch(D){case Float32Array:w=new g.DracoFloat32Array,A.GetAttributeFloatForAllPoints(L,M,w),b=new Float32Array(x);break;case Int8Array:w=new g.DracoInt8Array,A.GetAttributeInt8ForAllPoints(L,M,w),b=new Int8Array(x);break;case Int16Array:w=new g.DracoInt16Array,A.GetAttributeInt16ForAllPoints(L,M,w),b=new Int16Array(x);break;case Int32Array:w=new g.DracoInt32Array,A.GetAttributeInt32ForAllPoints(L,M,w),b=new Int32Array(x);break;case Uint8Array:w=new g.DracoUInt8Array,A.GetAttributeUInt8ForAllPoints(L,M,w),b=new Uint8Array(x);break;case Uint16Array:w=new g.DracoUInt16Array,A.GetAttributeUInt16ForAllPoints(L,M,w),b=new Uint16Array(x);break;case Uint32Array:w=new g.DracoUInt32Array,A.GetAttributeUInt32ForAllPoints(L,M,w),b=new Uint32Array(x);break;default:throw new Error("THREE.DRACOLoader: Unexpected attribute type.")}for(var V=0;V<x;V++)b[V]=w.GetValue(V);return g.destroy(w),{name:O,array:b,itemSize:C}}};K.taskCache=new WeakMap;K.setDecoderPath=function(){console.warn("THREE.DRACOLoader: The .setDecoderPath() method has been removed. Use instance methods.")};K.setDecoderConfig=function(){console.warn("THREE.DRACOLoader: The .setDecoderConfig() method has been removed. Use instance methods.")};K.releaseDecoderModule=function(){console.warn("THREE.DRACOLoader: The .releaseDecoderModule() method has been removed. Use instance methods.")};K.getDecoderModule=function(){console.warn("THREE.DRACOLoader: The .getDecoderModule() method has been removed. Use instance methods.")};var Te=function(p){c.CompressedTextureLoader.call(this,p)};Te.prototype=Object.assign(Object.create(c.CompressedTextureLoader.prototype),{constructor:Te,parse:function(p,T){var u={mipmaps:[],width:0,height:0,format:null,mipmapCount:1},m=542327876,g=131072,A=512,L=1024,O=2048,D=4096,M=8192,C=16384,N=32768,x=4;function w(l){return l.charCodeAt(0)+(l.charCodeAt(1)<<8)+(l.charCodeAt(2)<<16)+(l.charCodeAt(3)<<24)}function b(l){return String.fromCharCode(l&255,l>>8&255,l>>16&255,l>>24&255)}function V(l,v,d,h){for(var y=d*h*4,_=new Uint8Array(l,v,y),S=new Uint8Array(y),R=0,E=0,F=0;F<h;F++)for(var G=0;G<d;G++){var te=_[E];E++;var ne=_[E];E++;var Q=_[E];E++;var B=_[E];E++,S[R]=Q,R++,S[R]=ne,R++,S[R]=te,R++,S[R]=B,R++}return S}var $=w("DXT1"),P=w("DXT3"),H=w("DXT5"),ee=w("ETC1"),re=31,J=0,W=1,j=2,X=3,ge=4,ie=7,fe=20,de=21,me=22,se=23,Y=24,Ae=25,Se=26,ye=28,U=new Int32Array(p,0,re);if(U[J]!==m)return console.error("THREE.DDSLoader.parse: Invalid magic number in DDS header."),u;if(!U[fe]&x)return console.error("THREE.DDSLoader.parse: Unsupported format, must contain a FourCC code."),u;var I,pe=U[de],ue=!1;switch(pe){case $:I=8,u.format=c.RGB_S3TC_DXT1_Format;break;case P:I=16,u.format=c.RGBA_S3TC_DXT3_Format;break;case H:I=16,u.format=c.RGBA_S3TC_DXT5_Format;break;case ee:I=8,u.format=c.RGB_ETC1_Format;break;default:if(U[me]===32&&U[se]&16711680&&U[Y]&65280&&U[Ae]&255&&U[Se]&4278190080)ue=!0,I=64,u.format=c.RGBAFormat;else return console.error("THREE.DDSLoader.parse: Unsupported FourCC code ",b(pe)),u}u.mipmapCount=1,U[j]&g&&T!==!1&&(u.mipmapCount=Math.max(1,U[ie]));var z=U[ye];if(u.isCubemap=!!(z&A),u.isCubemap&&(!(z&L)||!(z&O)||!(z&D)||!(z&M)||!(z&C)||!(z&N)))return console.error("THREE.DDSLoader.parse: Incomplete cubemap faces"),u;u.width=U[ge],u.height=U[X];for(var e=U[W]+4,r=u.isCubemap?6:1,n=0;n<r;n++)for(var t=u.width,a=u.height,i=0;i<u.mipmapCount;i++){if(ue)var s=V(p,e,t,a),o=s.length;else var o=Math.max(4,t)/4*Math.max(4,a)/4*I,s=new Uint8Array(p,e,o);var f={data:s,width:t,height:a};u.mipmaps.push(f),e+=o,t=Math.max(t>>1,1),a=Math.max(a>>1,1)}return u}});var Ce=function(p){xe(T,p);function T(u){var m=p.call(this)||this;return m.needsRender=!0,u&&u.children.length&&m.add.apply(m,u.children),m.mixer=new we.AnimationMixer(m),m}return T.prototype.clone=function(){var u=p.prototype.clone.call(this,!0),m=new we.AnimationMixer(u);return u.mixer=m,u.needsRender=!0,u},T}(we.Group),Ne="https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/draco/1.5.6/",ke=function(p){xe(T,p);function T(u){var m=p.call(this,u)||this;return m.ddsLoader=new Te(u),m.dracoLoader=new K(u),m.dracoLoader.setDecoderPath(Ne),m}return Object.defineProperty(T,"version",{get:function(){return"6.0.0-alpha.86"},enumerable:!1,configurable:!0}),T.prototype.load=function(u,m,g,A){return p.prototype.load.call(this,u,m,g,A)},T.prototype.parse=function(u,m,g,A){return p.prototype.parse.call(this,u,m,function(L){var O=new Ce(L.scene),D=L.scenes.map(function(M){return M===L.scene?O:new Ce(M)});g(Object.assign(L,{scene:O,scenes:D}))},A)},T}(Oe);exports.DDSLoader=Te;exports.DRACOLoader=K;exports.GLTFLoader=ke;exports.GLTFObject=Ce;exports.THREEGLTFLoader=Oe;
261
+ `);this.workerSourceURL=URL.createObjectURL(new Blob([A]))}),this.decoderPending},_getWorker:function(p,T){return this._initDecoder().then(()=>{if(this.workerPool.length<this.workerLimit){var u=new Worker(this.workerSourceURL);u._callbacks={},u._taskCosts={},u._taskLoad=0,u.postMessage({type:"init",decoderConfig:this.decoderConfig}),u.onmessage=function(g){var A=g.data;switch(A.type){case"decode":u._callbacks[A.id].resolve(A);break;case"error":u._callbacks[A.id].reject(A);break;default:console.error('THREE.DRACOLoader: Unexpected message, "'+A.type+'"')}},this.workerPool.push(u)}else this.workerPool.sort(function(m,g){return m._taskLoad>g._taskLoad?-1:1});var u=this.workerPool[this.workerPool.length-1];return u._taskCosts[p]=T,u._taskLoad+=T,u})},_releaseTask:function(p,T){p._taskLoad-=p._taskCosts[T],delete p._callbacks[T],delete p._taskCosts[T]},debug:function(){console.log("Task load: ",this.workerPool.map(p=>p._taskLoad))},dispose:function(){for(var p=0;p<this.workerPool.length;++p)this.workerPool[p].terminate();return this.workerPool.length=0,this}});K.DRACOWorker=function(){var p,T;onmessage=function(g){var A=g.data;switch(A.type){case"init":p=A.decoderConfig,T=new Promise(function(D){p.onModuleLoaded=function(M){D({draco:M})},DracoDecoderModule(p)});break;case"decode":var L=A.buffer,O=A.taskConfig;T.then(D=>{var M=D.draco,C=new M.Decoder,N=new M.DecoderBuffer;N.Init(new Int8Array(L),L.byteLength);try{var x=u(M,C,N,O),w=x.attributes.map(b=>b.array.buffer);x.index&&w.push(x.index.array.buffer),self.postMessage({type:"decode",id:A.id,geometry:x},w)}catch(b){console.error(b),self.postMessage({type:"error",id:A.id,error:b.message})}finally{M.destroy(N),M.destroy(C)}});break}};function u(g,A,L,O){var D=O.attributeIDs,M=O.attributeTypes,C,N,x=A.GetEncodedGeometryType(L);if(x===g.TRIANGULAR_MESH)C=new g.Mesh,N=A.DecodeBufferToMesh(L,C);else if(x===g.POINT_CLOUD)C=new g.PointCloud,N=A.DecodeBufferToPointCloud(L,C);else throw new Error("THREE.DRACOLoader: Unexpected geometry type.");if(!N.ok()||C.ptr===0)throw new Error("THREE.DRACOLoader: Decoding failed: "+N.error_msg());var w={index:null,attributes:[]};for(var b in D){var V=self[M[b]],$,P;if(O.useUniqueIDs)P=D[b],$=A.GetAttributeByUniqueId(C,P);else{if(P=A.GetAttributeId(C,g[D[b]]),P===-1)continue;$=A.GetAttribute(C,P)}w.attributes.push(m(g,A,C,b,V,$))}if(x===g.TRIANGULAR_MESH){for(var H=C.num_faces(),ee=H*3,re=new Uint32Array(ee),J=new g.DracoInt32Array,W=0;W<H;++W){A.GetFaceFromMesh(C,W,J);for(var j=0;j<3;++j)re[W*3+j]=J.GetValue(j)}w.index={array:re,itemSize:1},g.destroy(J)}return g.destroy(C),w}function m(g,A,L,O,D,M){var C=M.num_components(),N=L.num_points(),x=N*C,w,b;switch(D){case Float32Array:w=new g.DracoFloat32Array,A.GetAttributeFloatForAllPoints(L,M,w),b=new Float32Array(x);break;case Int8Array:w=new g.DracoInt8Array,A.GetAttributeInt8ForAllPoints(L,M,w),b=new Int8Array(x);break;case Int16Array:w=new g.DracoInt16Array,A.GetAttributeInt16ForAllPoints(L,M,w),b=new Int16Array(x);break;case Int32Array:w=new g.DracoInt32Array,A.GetAttributeInt32ForAllPoints(L,M,w),b=new Int32Array(x);break;case Uint8Array:w=new g.DracoUInt8Array,A.GetAttributeUInt8ForAllPoints(L,M,w),b=new Uint8Array(x);break;case Uint16Array:w=new g.DracoUInt16Array,A.GetAttributeUInt16ForAllPoints(L,M,w),b=new Uint16Array(x);break;case Uint32Array:w=new g.DracoUInt32Array,A.GetAttributeUInt32ForAllPoints(L,M,w),b=new Uint32Array(x);break;default:throw new Error("THREE.DRACOLoader: Unexpected attribute type.")}for(var V=0;V<x;V++)b[V]=w.GetValue(V);return g.destroy(w),{name:O,array:b,itemSize:C}}};K.taskCache=new WeakMap;K.setDecoderPath=function(){console.warn("THREE.DRACOLoader: The .setDecoderPath() method has been removed. Use instance methods.")};K.setDecoderConfig=function(){console.warn("THREE.DRACOLoader: The .setDecoderConfig() method has been removed. Use instance methods.")};K.releaseDecoderModule=function(){console.warn("THREE.DRACOLoader: The .releaseDecoderModule() method has been removed. Use instance methods.")};K.getDecoderModule=function(){console.warn("THREE.DRACOLoader: The .getDecoderModule() method has been removed. Use instance methods.")};var Te=function(p){c.CompressedTextureLoader.call(this,p)};Te.prototype=Object.assign(Object.create(c.CompressedTextureLoader.prototype),{constructor:Te,parse:function(p,T){var u={mipmaps:[],width:0,height:0,format:null,mipmapCount:1},m=542327876,g=131072,A=512,L=1024,O=2048,D=4096,M=8192,C=16384,N=32768,x=4;function w(l){return l.charCodeAt(0)+(l.charCodeAt(1)<<8)+(l.charCodeAt(2)<<16)+(l.charCodeAt(3)<<24)}function b(l){return String.fromCharCode(l&255,l>>8&255,l>>16&255,l>>24&255)}function V(l,v,d,h){for(var y=d*h*4,_=new Uint8Array(l,v,y),S=new Uint8Array(y),R=0,E=0,F=0;F<h;F++)for(var G=0;G<d;G++){var te=_[E];E++;var ne=_[E];E++;var Q=_[E];E++;var B=_[E];E++,S[R]=Q,R++,S[R]=ne,R++,S[R]=te,R++,S[R]=B,R++}return S}var $=w("DXT1"),P=w("DXT3"),H=w("DXT5"),ee=w("ETC1"),re=31,J=0,W=1,j=2,X=3,ge=4,ie=7,fe=20,de=21,me=22,se=23,Y=24,Ae=25,Se=26,ye=28,U=new Int32Array(p,0,re);if(U[J]!==m)return console.error("THREE.DDSLoader.parse: Invalid magic number in DDS header."),u;if(!U[fe]&x)return console.error("THREE.DDSLoader.parse: Unsupported format, must contain a FourCC code."),u;var I,pe=U[de],ue=!1;switch(pe){case $:I=8,u.format=c.RGB_S3TC_DXT1_Format;break;case P:I=16,u.format=c.RGBA_S3TC_DXT3_Format;break;case H:I=16,u.format=c.RGBA_S3TC_DXT5_Format;break;case ee:I=8,u.format=c.RGB_ETC1_Format;break;default:if(U[me]===32&&U[se]&16711680&&U[Y]&65280&&U[Ae]&255&&U[Se]&4278190080)ue=!0,I=64,u.format=c.RGBAFormat;else return console.error("THREE.DDSLoader.parse: Unsupported FourCC code ",b(pe)),u}u.mipmapCount=1,U[j]&g&&T!==!1&&(u.mipmapCount=Math.max(1,U[ie]));var z=U[ye];if(u.isCubemap=!!(z&A),u.isCubemap&&(!(z&L)||!(z&O)||!(z&D)||!(z&M)||!(z&C)||!(z&N)))return console.error("THREE.DDSLoader.parse: Incomplete cubemap faces"),u;u.width=U[ge],u.height=U[X];for(var e=U[W]+4,r=u.isCubemap?6:1,n=0;n<r;n++)for(var t=u.width,a=u.height,i=0;i<u.mipmapCount;i++){if(ue)var s=V(p,e,t,a),o=s.length;else var o=Math.max(4,t)/4*Math.max(4,a)/4*I,s=new Uint8Array(p,e,o);var f={data:s,width:t,height:a};u.mipmaps.push(f),e+=o,t=Math.max(t>>1,1),a=Math.max(a>>1,1)}return u}});var Ce=function(p){xe(T,p);function T(u){var m=p.call(this)||this;return m.needsRender=!0,u&&u.children.length&&m.add.apply(m,u.children),m.mixer=new we.AnimationMixer(m),m}return T.prototype.clone=function(){var u=p.prototype.clone.call(this,!0),m=new we.AnimationMixer(u);return u.mixer=m,u.needsRender=!0,u},T}(we.Group),Ne="https://vr-public.realsee-cdn.cn/release/static/image/release/five/resource/draco/1.5.6/",ke=function(p){xe(T,p);function T(u){var m=p.call(this,u)||this;return m.ddsLoader=new Te(u),m.dracoLoader=new K(u),m.dracoLoader.setDecoderPath(Ne),m}return Object.defineProperty(T,"version",{get:function(){return"6.0.0-alpha.87"},enumerable:!1,configurable:!0}),T.prototype.load=function(u,m,g,A){return p.prototype.load.call(this,u,m,g,A)},T.prototype.parse=function(u,m,g,A){return p.prototype.parse.call(this,u,m,function(L){var O=new Ce(L.scene),D=L.scenes.map(function(M){return M===L.scene?O:new Ce(M)});g(Object.assign(L,{scene:O,scenes:D}))},A)},T}(Oe);exports.DDSLoader=Te;exports.DRACOLoader=K;exports.GLTFLoader=ke;exports.GLTFObject=Ce;exports.THREEGLTFLoader=Oe;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five
4
- * Generated: 2024/4/2
5
- * Version: 6.0.0-alpha.86
4
+ * Generated: 2024/4/17
5
+ * Version: 6.0.0-alpha.87
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -1683,7 +1683,7 @@ var Je = (
1683
1683
  }
1684
1684
  return Object.defineProperty(T, "version", {
1685
1685
  get: function() {
1686
- return "6.0.0-alpha.86";
1686
+ return "6.0.0-alpha.87";
1687
1687
  },
1688
1688
  enumerable: !1,
1689
1689
  configurable: !0