@realsee/five 6.2.0-alpha.0 → 6.2.0-alpha.1

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
@@ -2,7 +2,7 @@
2
2
  * @license
3
3
  * @realsee/five
4
4
  * Generated: 2024/8/21
5
- * Version: 6.2.0-alpha.0
5
+ * Version: 6.2.0-alpha.1
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -2058,7 +2058,7 @@ void main() {
2058
2058
  #include <premultiplied_alpha_fragment>
2059
2059
 
2060
2060
  }
2061
- `},go=function(n){ue(t,n);function t(e){var r=n.call(this,{uniforms:d.UniformsUtils.clone(ya.uniforms),vertexShader:ya.vertexShader,fragmentShader:ya.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(go.prototype,{isLineMaterial:!0});var wu=function(n){ue(t,n);function t(e,r){var i=n.call(this)||this;return i.type="LineSegments2",i.geometry=e!==void 0?e:new mo,i.material=r!==void 0?r:new go({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,u=0,l=0,c=r.count;u<c;u++,l+=2)o.fromBufferAttribute(r,u),s.fromBufferAttribute(i,u),a[l]=l===0?0:a[l-1],a[l+1]=a[l]+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,u=this.material,l=u.resolution,c=u.linewidth,f=s.attributes.instanceStart,A=s.attributes.instanceEnd,m=new d.Vector4,h=new d.Vector4,v=new d.Vector4,g=new d.Vector3,p=new d.Matrix4,y=new d.Line3,x=new d.Vector3;i.at(1,v),v.w=1,v.applyMatrix4(a.matrixWorldInverse),v.applyMatrix4(o),v.multiplyScalar(1/v.w),v.x*=l.x/2,v.y*=l.y/2,v.z=0,g.copy(v);var b=this.matrixWorld;p.multiplyMatrices(a.matrixWorldInverse,b);for(var w=0,C=f.count;w<C;w++){m.fromBufferAttribute(f,w),h.fromBufferAttribute(A,w),m.w=1,h.w=1,m.applyMatrix4(p),h.applyMatrix4(p),m.applyMatrix4(o),h.applyMatrix4(o),m.multiplyScalar(1/m.w),h.multiplyScalar(1/h.w);var M=m.z<-1&&h.z<-1,E=m.z>1&&h.z>1;if(!(M||E)){m.x*=l.x/2,m.y*=l.y/2,h.x*=l.x/2,h.y*=l.y/2,y.start.copy(m),y.start.z=0,y.end.copy(h),y.end.z=0;var S=y.closestPointToPointParameter(g,!0);y.at(S,x);var I=d.MathUtils.lerp(m.z,h.z,S),P=I>=-1&&I<=1,B=g.distanceTo(x)<c*.5;if(P&&B){y.start.fromBufferAttribute(f,w),y.end.fromBufferAttribute(A,w),y.start.applyMatrix4(b),y.end.applyMatrix4(b);var L=new d.Vector3,k=new d.Vector3;i.distanceSqToSegment(y.start,y.end,k,L),r.push({point:k,pointOnLine:L,distance:i.origin.distanceTo(k),object:this,faceIndex:w})}}}},t}(d.Mesh);Object.assign(wu.prototype,{isLineSegments2:!0});var Eu=function(n){ue(t,n);function t(e,r){var i=n.call(this,e,r)||this;return i.type="Line2",i}return t}(wu);Object.assign(Eu.prototype,{isLine2:!0});var Cu=function(n){ue(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}(mo);Object.assign(Cu.prototype,{isLineGeometry:!0});var kp="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==",zs=14467195,Fp=8,Lp=2,Op=20,Ds=null,Da=function(n){ue(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 Cu,o=new go({color:zs,linewidth:Lp,dashScale:Op,dashed:!1});i.line=new Eu(a,o);var s=new d.BufferGeometry,u=new d.PointsMaterial({color:zs,size:Fp,map:Ds||(Ds=new d.TextureLoader().load(kp)),sizeAttenuation:!1,transparent:!0});return i.points=new d.Points(s,u),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.2.0-alpha.0"},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(Da.prototype,{isFiveLine:!0});var We={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 Mu(n){return Bi(this,void 0,void 0,function(){var t;return Ri(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 Vp(n){return Bi(this,void 0,void 0,function(){var t,e;return Ri(this,function(r){switch(r.label){case 0:if(!n)throw new Error("No basePath supplied");return t="profilesList.json",[4,Mu("".concat(n,"/").concat(t))];case 1:return e=r.sent(),[2,e]}})})}function Np(n,t){return Bi(this,arguments,void 0,function(e,r,i,a){var o,s,u,l,c,f;return i===void 0&&(i=null),a===void 0&&(a=!0),Ri(this,function(A){switch(A.label){case 0:if(!e)throw new Error("No xrInputSource supplied");if(!r)throw new Error("No basePath supplied");return[4,Vp(r)];case 1:if(o=A.sent(),e.profiles.some(function(m){var h=o[m];return h&&(s={profileId:m,profilePath:"".concat(r,"/").concat(h.path),deprecated:!!h.deprecated}),!!s}),!s){if(!i)throw new Error("No matching profile name found");if(u=o[i],!u)throw new Error('No matching profile name found and default profile "'.concat(i,'" missing.'));s={profileId:i,profilePath:"".concat(r,"/").concat(u.path),deprecated:!!u.deprecated}}return[4,Mu(s.profilePath)];case 2:if(l=A.sent(),a){if(f=void 0,f=l.layouts[e.handedness],!f)throw new Error("No matching handedness, ".concat(e.handedness,", in profile ").concat(s.profileId));f.assetPath&&(c=s.profilePath.replace("profile.json",f.assetPath))}return[2,{profile:l,assetPath:c}]}})})}var Qp={xAxis:0,yAxis:0,button:0,state:We.ComponentState.DEFAULT};function zp(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 Dp=function(){function n(t){this.componentProperty=t.componentProperty,this.states=t.states,this.valueNodeName=t.valueNodeName,this.valueNodeProperty=t.valueNodeProperty,this.valueNodeProperty===We.VisualResponseProperty.TRANSFORM&&(this.minNodeName=t.minNodeName,this.maxNodeName=t.maxNodeName),this.value=0,this.updateFromComponent(Qp)}return n.prototype.updateFromComponent=function(t){var e=t.xAxis,r=t.yAxis,i=t.button,a=t.state,o=zp(e,r),s=o.normalizedXAxis,u=o.normalizedYAxis;switch(this.componentProperty){case We.ComponentProperty.X_AXIS:this.value=this.states.includes(a)?s:.5;break;case We.ComponentProperty.Y_AXIS:this.value=this.states.includes(a)?u:.5;break;case We.ComponentProperty.BUTTON:this.value=this.states.includes(a)?i:0;break;case We.ComponentProperty.STATE:this.valueNodeProperty===We.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}(),Up=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 Dp(e.visualResponses[i]);r.visualResponses[i]=a}),this.gamepadIndices=Object.assign({},e.gamepadIndices),this.values={state:We.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=F({id:this.id},this.values);return t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(t){var e=this;if(this.values.state=We.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=We.ComponentState.PRESSED:(r.touched||this.values.button>We.ButtonTouchThreshold)&&(this.values.state=We.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===We.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>We.AxisTouchThreshold&&(this.values.state=We.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===We.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>We.AxisTouchThreshold&&(this.values.state=We.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach(function(i){i.updateFromComponent(e.values)})},n}(),Hp=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 Up(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}(),qp="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",Gp="generic-trigger",Kp=function(n){ue(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,u=i.value,l=i.valueNodeProperty;a&&(l===We.VisualResponseProperty.VISIBILITY?a.visible=u:l===We.VisualResponseProperty.TRANSFORM&&(a.quaternion.copy(o.quaternion).slerp(s.quaternion,u),a.position.lerpVectors(o.position,s.position,u)))})}))},t}(Qn.Object3D);function jp(n,t){Object.values(n.components).forEach(function(e){var r=e.type,i=e.touchPointNodeName,a=e.visualResponses;if(r===We.ComponentType.TOUCHPAD)if(e.touchPointNode=t.getObjectByName(i),e.touchPointNode){var o=new Qn.SphereGeometry(.001),s=new Qn.MeshBasicMaterial({color:255}),u=new Qn.Mesh(o,s);e.touchPointNode.add(u)}else console.warn("Could not find touch dot, ".concat(e.touchPointNodeName,", in touchpad component ").concat(e.id));Object.values(a).forEach(function(l){var c=l.valueNodeName,f=l.minNodeName,A=l.maxNodeName,m=l.valueNodeProperty;if(m===We.VisualResponseProperty.TRANSFORM){if(l.minNode=t.getObjectByName(f),l.maxNode=t.getObjectByName(A),!l.minNode){console.warn("Could not find ".concat(f," in the model"));return}if(!l.maxNode){console.warn("Could not find ".concat(A," in the model"));return}}l.valueNode=t.getObjectByName(c),l.valueNode||console.warn("Could not find ".concat(c," in the model"))})})}function Us(n,t){jp(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 Jp=function(){function n(t){t===void 0&&(t=null),this.gltfLoader=t,this.path=qp,this._assetCache={}}return n.prototype.createControllerModel=function(t){var e=this,r=new Kp,i=null;return t.addEventListener("connected",function(a){var o=a.data;o.targetRayMode!=="tracked-pointer"||!o.gamepad||Np(o,e.path,Gp).then(function(s){var u=s.profile,l=s.assetPath;r.motionController=new Hp(o,u,l);var c=e._assetCache[r.motionController.assetUrl];if(c)i=c.scene.clone(),Us(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(),Us(r,i)})}}).catch(function(s){console.warn(s)})}),t.addEventListener("disconnected",function(){r.motionController=null,r.remove(i),i=null}),r},n}();function Wp(n,t){return n}var Hs=300,Xp=new d.Matrix4().makeRotationAxis(new d.Vector3(0,1,0),Math.PI),qs=new d.Vector3(-1,1,1),_p=function(n){ue(t,n);function t(e){var r=n.call(this,e)||this;r.xrManager=new Rp(r.renderer,r.renderer.getContext(),{onSessionStart:function(u){r.emit("xr.session.start",W("xr.session.start",{session:u,machineType:r.xrManager.machineType}))},onSessionEnd:function(){r.emit("xr.session.end",W("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.gazeRay=null,r.pointerLines={left:new Da,right:new Da},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.controllerWrappers=[new d.Group,new d.Group];var i=r.xrManager.getController(0);r.controllerWrappers[0].add(i);var a=r.xrManager.getController(1);r.controllerWrappers[1].add(a);var o=new Jp;o.gltfLoader={load:function(u,l){yi.ajax(u,{responseType:"arraybuffer"}).then(function(c){var f;return eo(c.body,{resourcePath:u.slice(0,u.lastIndexOf("/")+1),search:(f=u.split("?")[1])!==null&&f!==void 0?f:"",fetcher:yi})}).then(function(c){return l(c)})}},(r.xrManager.machineType==="Oculus"||r.xrManager.machineType==="Pico")&&r.scene.add(r.pointerLines.left,r.pointerLines.right,r.controllerWrappers[0],r.controllerWrappers[1]),r.panoResources={},r.panoResources[r.locationMotion.keyframes[0].key=r.locationMotion.keyframes[1].key=xt()]={panoId:Ue(r.currentPano),leftPanoPicture:null,position:r.camera.pose.offset.clone(),effect:"fade",fixCameraTransform:new d.Matrix4},r.parallaxCameraMatrixs=[];var s=pt.shared.getContext();return s?(r.on("xr.session.end",function(){r.scene.remove(r.pointerLines.left,r.pointerLines.right)}),r.xrManager.setSession(s),r.on("xr.session.start",function(){var u=r.xrManager.getControllerGrip(0);u.add(o.createControllerModel(u)),r.controllerWrappers[0].add(u);var l=r.xrManager.getControllerGrip(1);l.add(o.createControllerModel(l)),r.controllerWrappers[1].add(l)}),r.xrHandleState={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.xrManager.machineType==="VP"&&r.initHandEvent(),r):(console.error("获取session失败,请退出重试"),r)}return t.parseArgs=function(e){if(e instanceof t)return e;var r=F(F({},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 F(F({},i),{mode:"XRPanorama"})},t.prototype.moveToPano=function(e,r,i){var a=this,o,s,u,l,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=Kn(f.images.up),m=this.imageOptions.size;typeof m=="undefined"&&f&&A&&(m=Number(A)),typeof m=="undefined"&&(m=2048);var h=this.imageOptions.transform,v=function(P,B){return Wp(bi(P,h,B))},g=F({key:"pano.".concat(f.panoId)},Cr(this.imageOptions,["format","size","quality"])),p=f.images,y=(u=(s=f.images.tiles)===null||s===void 0?void 0:s.filter(function(P){return P.size>m}))!==null&&u!==void 0?u:null,x="pano:"+Cn([p,g,h]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===x)return;var b=this.pendingTextureTask.panoId;(l=this.panoMeshes[b])===null||l===void 0||l.setProgress(0),this.emit("pano.texture.abort",W("pano.texture.abort",{error:null,progress:0,meta:null,pano:f.pano})),this.pendingTextureTask.onError(new Error("texture aborted"))}var w=this.models.getMaterial()||{},C=w.pano0,M=w.pano1,E;if((C==null?void 0:C.map.name)===x?E=C:(M==null?void 0:M.map.name)===x&&(E=M),E){var S={panoId:f.panoId,effect:c,leftPanoPicture:{zoom:1,map:E.map,luminanceMap:E.luminanceMap,matrix:new d.Matrix4().compose(f.position,f.quaternion,qs)},position:f.position.clone(),fixCameraTransform:new d.Matrix4};this.doMoveToPano(f.pano,S,r);return}var I="move-to-pano-"+f.panoId;this.pending.add(I),this.pendingTextureTask={panoId:f.panoId,hash:x,onLoad:function(P){if(a.pending.delete(I),a.destroyed)P.body.dispose();else{P.body.name=x;var B={panoId:f.panoId,effect:c,leftPanoPicture:{zoom:1,map:P.body,luminanceMap:null,matrix:new d.Matrix4().compose(f.position,f.quaternion,qs)},position:f.position.clone(),fixCameraTransform:new d.Matrix4};a.doMoveToPano(f.pano,B,r)}},onError:function(P){a.pending.delete(I);var B=F(F(F({},f.pano),{mode:a.mode}),_e(a.camera.pose));a.emit("pano.error",W("pano.error",{error:P,userAction:a.userAction,options:r,prevPano:a.currentPano,progress:0,state:B})),a.emit("pano.cancel",W("pano.cancel",{error:null,userAction:a.userAction,options:r,prevPano:a.currentPano,progress:0,state:B})),r.moveCancelCallback&&r.moveCancelCallback()}},Promise.all([this.tileLevelForFov&&y&&y.length?this.textureLoader.loadTiledCubeTexture(p,y,{tileMaxLevel:this.TILED_CUBE_TEXTURE_LEVEL,imageURL:{transform:v,options:g},format:d.RGBAFormat,minFilter:d.LinearFilter,magFilter:d.LinearFilter,generateMipmaps:!1,viaAjax:!0,fetcher:it(f.work)},void 0,void 0,function(P){var B,L;a.emit("pano.texture.progress",W("pano.texture.progress",{error:null,progress:P,meta:null,pano:f.pano})),((B=a.pendingTextureTask)===null||B===void 0?void 0:B.hash)===x&&((L=a.panoMeshes[f.panoId])===null||L===void 0||L.setProgress(P))},this.renderer):this.textureLoader.loadCubeTexture(p,{imageURL:{transform:v,options:g},format:d.RGBAFormat,fetcher:it(f.work)},void 0,void 0,function(P){var B,L;((B=a.pendingTextureTask)===null||B===void 0?void 0:B.hash)===x&&((L=a.panoMeshes[f.panoId])===null||L===void 0||L.setProgress(P)),a.emit("pano.texture.progress",W("pano.texture.progress",{error:null,progress:P,meta:null,pano:f.pano}))},this.renderer)]).then(function(P){var B,L,k=P[0];((B=a.pendingTextureTask)===null||B===void 0?void 0:B.hash)===x?(a.pendingTextureTask.onLoad(k),(L=a.panoMeshes[f.panoId])===null||L===void 0||L.setProgress(0),delete a.pendingTextureTask,a.emit("pano.texture.success",W("pano.texture.success",{error:null,progress:1,meta:k.meta,pano:f.pano}))):k.body.dispose()}).catch(function(P){var B,L;((B=a.pendingTextureTask)===null||B===void 0?void 0:B.hash)===x&&(a.pendingTextureTask.onError(P),(L=a.panoMeshes[f.panoId])===null||L===void 0||L.setProgress(0),delete a.pendingTextureTask,a.emit("pano.texture.error",W("pano.texture.error",{error:P,progress:0,meta:null,pano:f.pano})),a.emit("error",P))}),this.emit("pano.texture.load",W("pano.texture.load",{error:null,progress:0,meta:null,pano:f.pano}))},t.prototype.doMoveToPano=function(e,r,i){var a=this,o,s,u,l,c,f,A,m,h,v;i===void 0&&(i={});var g=Me(),p=xt();this.panoResources[p]=r;var y=1,x,b,w;if(this.locationMotion.ended){var C=this.locationMotion.getKeyFrameSegment(g);C[0];var M=C[1],E=this.locationMotion.value,S=this.panoResourceFromLocationMotionKeyframe(M).position,I=r.position;x=Math.max(S.distanceTo(I),y),b=[{key:M.key,progress:0,value:F(F({},E),{count:0})},{key:p,progress:1,value:{distance:0,count:1}}],w=0}else{var P=this.locationMotion.getKeyFrameSegment(g),B=P[0],M=P[1],E=this.locationMotion.value,L=this.panoResourceFromLocationMotionKeyframe(B).position,S=this.panoResourceFromLocationMotionKeyframe(M).position,I=r.position,k=M.value.count-E.count,O=Math.max(L.distanceTo(S),y)*k,Q=Math.max(S.distanceTo(I),y);x=O+Q,b=[{key:B.key,progress:0,value:F({},E)},{key:M.key,progress:O/x,value:M.value},{key:p,progress:1,value:{count:M.value.count+1,distance:0}}];var N=this.locationMotionKeyframesLength(this.locationMotion.keyframes),X=this.locationMotionKeyframesLength(b);w=this.locationMotion.getProgressVelocity(g)*N/X}var G=r.effect==="instant"?0:this.calculateMovingDuration(i.duration,r.effect==="fly"?x:0),D={longitude:i.longitude,latitude:i.latitude,fov:i.fov},K=F(F({},e),{mode:this.mode,longitude:(o=D.longitude)!==null&&o!==void 0?o:this.camera.pose.longitude,latitude:(s=D.latitude)!==null&&s!==void 0?s:this.camera.pose.latitude,fov:(u=D.fov)!==null&&u!==void 0?u:this.camera.pose.fov,offset:r.position.clone(),distance:0}),j=this.currentPano;if(this.emit("pano.moveTo",W("pano.moveTo",{options:i,prevPano:j,progress:0,state:K,userAction:this.userAction,error:null})),i.moveStartCallback&&i.moveStartCallback(K),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=z,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null),r.effect==="fly")this.cameraMotion.set(D,G).catch(z);else{var q=Ft({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),J=Ft({longitude:(l=D.longitude)!==null&&l!==void 0?l:this.cameraMotion.value.longitude,latitude:(c=D.latitude)!==null&&c!==void 0?c:this.cameraMotion.value.latitude}),Z=new d.Object3D;Z.lookAt(q);var Y=new d.Matrix4().makeRotationFromQuaternion(Z.quaternion);Z.lookAt(J);var pe=new d.Matrix4().makeRotationFromQuaternion(Z.quaternion),ee=new d.Matrix4().getInverse(Y).premultiply(pe),oe=this.cameraMotion.value.fov,ie=(f=D.fov)!==null&&f!==void 0?f:this.cameraMotion.value.fov,de=1;r.effect==="zoomin"?de=1.5:r.effect==="zoomout"&&(de=.4);for(var ne=ie*de,ae=0;ae<b.length-1;ae++){var fe=b[ae].key;if(fe){var ve=this.panoResources[fe];ve&&(ve.fixCameraTransform.copy(ee),ve.leftPanoPicture&&(ve.leftPanoPicture.zoom=Math.tan(oe/2/180*Math.PI)/Math.tan(ne/2/180*Math.PI)))}}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:(A=D.longitude)!==null&&A!==void 0?A:this.cameraMotion.value.longitude,latitude:(m=D.latitude)!==null&&m!==void 0?m:this.cameraMotion.value.latitude,fov:ne}},{progress:1,value:{longitude:(h=D.longitude)!==null&&h!==void 0?h:this.cameraMotion.value.longitude,latitude:(v=D.latitude)!==null&&v!==void 0?v:this.cameraMotion.value.latitude,fov:ie}}],G).catch(z)}var xe=this.locationMotion.setKeyframes(b,G,w);xe.then(function(){for(var Ce,Be,$,te=0,U=a.models;te<U.length;te++){var Le=U[te];Le.show()}var Pe=F(F({},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",W("pano.arrived",{options:i,prevPano:j,progress:1,state:Pe,userAction:a.userAction,error:null})),i.moveEndCallback&&i.moveEndCallback(Pe);var Se=a.works.getResolvedObserver(a.currentPano);if(Se&&Se.video&&a.videoTexture&&a.videoTexture.image instanceof HTMLVideoElement){var De=Xp.clone().multiply(($=(Be=(Ce=a.models.getMaterial())===null||Ce===void 0?void 0:Ce.pano1)===null||Be===void 0?void 0:Be.matrix)!==null&&$!==void 0?$:new d.Matrix4).multiply(Se.video.matrix),be={map:a.videoTexture,size:Se.video.size,matrix:De,alpha:1},ye=xt(),ge=a.videoTexture.image;ge.setAttribute("uuid",ye),hu().then(function(me){me&&Se.video&&ge.getAttribute("uuid")===ye&&(ge.oncanplay=function(){ge.oncanplay=z,ge.play()},ge.ontimeupdate=function(){ge.currentTime>.5&&(ge.ontimeupdate=z,a.panoVideo.setMaterial(be))},ge.src=Se.video.source)}).catch(function(){ge.removeAttribute("uuid")})}},function(){a.emit("pano.cancel",W("pano.cancel",{options:i,prevPano:j,progress:0,state:K,userAction:a.userAction,error:null})),i.moveCancelCallback&&i.moveCancelCallback()})},t.prototype.checkSelectedPano=function(e){var r=this,i,a,o,s;this.stopMomentumMovement();var u=this.camera.getDirection(new d.Vector3).setY(0),l=null,c=this.works.getResolvedObserver(this.currentPano);if(!c)return null;var f=c.accessibleIds.filter(function(J){var Z=ht(J);if(_t(Z,r.currentPano))return!1;var Y=r.works.getResolvedObserver(Z);return!Y||Y.position.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:Y.loadable||Y.active}),A=this.models.intersectRaycaster(e)[0];if(A){var m=ur(f,function(J){var Z=r.works.getResolvedObserver(J);if(!Z)return 1/0;var Y=Z.standingPosition.clone();return Y.distanceTo(A.point)},!0),h=m[0],v=m[1];h&&v<this.panoTapTriggerRadius&&(l=(i=this.works.getResolvedObserver(h))!==null&&i!==void 0?i:null)}if(Ns(l)){var g=this.getForwardObserverOrNot(e);g&&(l=g)}for(var p=0,y=this.locationMotion.keyframes;p<y.length;p++){var x=y[p],b=this.panoResourceFromLocationMotionKeyframe(x);if(!(x.progress<this.locationMotion.progress)&&l&&b.panoId===l.panoId){l=null;break}}if(Ns(l))return this.locationMotion.ended===!0&&this.cameraBounce(),null;if(l&&!l.active){var w=l.panoId;this.panoMeshes[w]&&(this.panoMeshes[w].setDisabled(!1),this.panoMeshes[w].setLoading(!0))}var C={};if(l){for(var M=Math.PI/6,E=Math.PI/12,S=new d.Vector3(0,1,0),I=l.position.clone().setY(0).sub(c.position.clone().setY(0)).normalize(),P=I.clone().applyAxisAngle(S,M),B=I.clone().applyAxisAngle(S,-M),L=[],k=[],O=[],Q=0,N=l.accessibleIds;Q<N.length;Q++){var h=N[Q],X=ht(h);if(!(_t(X,this.currentPano)||_t(X,l.pano))){var G=this.works.getResolvedObserver(h);if(G){var D=G.position.clone().sub(l.position).setY(0);I.angleTo(D)<M?O.push(D):P.angleTo(D)<M?L.push(D):B.angleTo(D)<M&&k.push(D)}}}var K=O.length>0?O:yt(yt([],L,!0),k,!0),j=K.slice().sort(function(J,Z){return J.angleTo(I)-Z.angleTo(I)})[0];j&&j.angleTo(u)>E&&(C.longitude=Math.atan2(-j.x,-j.z))}this.cameraMotion.value.latitude<-Math.PI/4&&(C.latitude=le(0,this.minLatitude,this.maxLatitude)),this.cameraMotion.value.fov<60&&(C.fov=this.defaultFov);var q={workCode:l.pano.workCode,panoIndex:l.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:l?l.position.clone():new d.Vector3};return this.emit("pano.select",W("pano.select",{prevPano:this.currentPano,state:q,userAction:!0,options:C,progress:0,error:null})),l&&l.active?(this.emit("pano.request",W("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:q,options:C,error:null})),l.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,u,l,c,f,A,m=[],h=2;h<arguments.length;h++)m[h-2]=arguments[h];this.userAction=!0;var v={},g={},p=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),y=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),x=!1;if(this.cameraMotion.ended===!1&&(this.cameraMotion.update(e),g.longitude=this.cameraMotion.value.longitude,g.latitude=this.cameraMotion.value.latitude,g.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(le(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var b=this.locationMotion.getKeyFrameSegment(e),w=b[0],C=b[1],M=this.panoResourceFromLocationMotionKeyframe(w),E=this.panoResourceFromLocationMotionKeyframe(C),S=new d.Vector3().copy(M.position),I=new d.Vector3().copy(E.position),P=this.locationMotion.value.count-C.value.count+1;v.progress=P,E.leftPanoPicture&&(P<1?M.leftPanoPicture&&(v.pano0=M.leftPanoPicture):v.pano0=E.leftPanoPicture,v.pano1=E.leftPanoPicture),E.effect==="montage"?v.transition="BLACK":E.effect==="spread"?v.transition="SPREAD":v.transition="FADE",(E.effect==="zoomin"||E.effect==="zoomout")&&(v.progress=Math.pow(P,3)),P<1&&E.effect!=="fly"&&(v.pano0&&M.leftPanoPicture&&(v.pano0={map:v.pano0.map,zoom:v.pano0.zoom,luminanceMap:v.pano0.luminanceMap,matrix:M.leftPanoPicture.matrix.clone().setPosition(E.position)}),S.copy(I),x=!0),g.distance=this.locationMotion.value.distance,g.offset=new d.Vector3(S.x+(I.x-S.x)*P,S.y+(I.y-S.y)*P,S.z+(I.z-S.z)*P);for(var B=[],L=[],k=0,O=this.locationMotion.keyframes;k<O.length;k++){var Q=O[k],N=Q.key,X=Q.progress;N!==void 0&&(B.push(N),X>this.locationMotion.progress&&L.push(N))}for(var G=0,D=Object.keys(this.panoResources);G<D.length;G++){var K=D[G];if(!(L.indexOf(K)>=0)){var j=this.panoResources[K];if(j.leftPanoPicture){var q=j.leftPanoPicture.map;if(q){if(q===((a=v.pano0)===null||a===void 0?void 0:a.map)||q===((o=v.pano1)===null||o===void 0?void 0:o.map))continue;q instanceof Qe&&q.cubeRenderTarget&&this.colorCubeRenderTargetPool.push(q.cubeRenderTarget),q.dispose(),j.leftPanoPicture=null}}B.indexOf(K)>=0||delete this.panoResources[K]}}this.currentPano=ht(E.panoId),this.emit("pano.moving",W("pano.moving",{userAction:this.userAction,prevPano:ht(p.panoId),state:F(F(F(F({},ht(y.panoId)),{mode:this.mode}),_e(this.camera.pose)),g),options:{},progress:this.locationMotion.progress,error:null}))}Nt(v)===!1&&(!((s=v.pano0)===null||s===void 0)&&s.map&&v.pano0.map instanceof Qe&&!v.pano0.map.cubeRenderTarget&&(v.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((u=v.pano1)===null||u===void 0)&&u.map&&v.pano1.map instanceof Qe&&!v.pano1.map.cubeRenderTarget&&(v.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),this.models.setMaterial(v)),Nt(g)===!1&&this.setCamera(g);var J=this.works.getResolvedObserver(this.currentPano),Z=m[1];if(!Z){console.error("xrFrame丢失,请重试");return}if(!this.xrManager.session){console.error("session丢失,请重试");return}var Y=this.xrManager.referenceSpace;if(Y){var pe=this.xrManager.cameraVR,ee=this.xrManager.cameraL,oe=this.xrManager.cameraR,ie=[ee,oe],de=Z.getViewerPose(Y),ne=new d.Vector3(0,0,0);if(de){var ae;ae=this.xrManager.session.renderState.baseLayer;var fe=de.views;if(!ae){console.error("no layer found");return}this.renderer.setFramebuffer(ae.framebuffer);var ve=!1;fe.length!==pe.cameras.length&&(pe.cameras.length=0,ve=!0),this.parallaxCameraMatrixs=[];var xe=new d.Vector3,Ce=new d.Vector3;new d.Matrix4().fromArray(fe[0].transform.matrix).decompose(xe,new d.Quaternion,new d.Vector3),new d.Matrix4().fromArray(fe[1].transform.matrix).decompose(Ce,new d.Quaternion,new d.Vector3),Ce.clone().sub(xe).normalize();var Be=new d.Vector3,$=new d.Quaternion,te=new d.Vector3;this.camera.matrix.decompose(Be,$,te);for(var U=0;U<fe.length;U++){var Le=fe[U],Pe=ae.getViewport(Le),Se=ie[U];Se.matrix.fromArray(Le.transform.matrix);var De=new d.Vector3,be=new d.Quaternion,ye=new d.Vector3;Se.matrix.decompose(De,be,ye),ne.copy(Be),Se.position.copy(Be),Se.quaternion.copy(be),Se.scale.copy(ye),Se.updateMatrix(),Se.projectionMatrix.fromArray(Le.projectionMatrix),Se.viewport.set(Pe.x,Pe.y,Pe.width,Pe.height),ve===!0&&pe.cameras.push(Se)}if(this.xrManager.session&&this.xrManager.session.inputSources){for(var U=0;U<this.xrManager.session.inputSources.length;U++)if(this.xrManager.session.inputSources[U]&&this.xrManager.session.inputSources[U].targetRayMode==="transient-pointer"){var ge=Z.getPose(this.xrManager.session.inputSources[U].targetRaySpace,Y);if(ge){var me=new d.Vector3(0,0,-1).applyQuaternion(ge.transform.orientation),Ae=new d.Raycaster(this.camera.position,me);this.gazeRay=Ae}}}if(this.xrManager.machineType==="Oculus"||this.xrManager.machineType==="Pico"){for(var Ne=this.xrManager.session.inputSources,U=0;U<Ne.length;U++){var ze=this.xrManager.controllers[U],je=Ne[U];if(je){ze&&ze.update(je,Z,Y);var Ae=this.xrManager.getController(U),cr=new d.Vector3(0,1.2,0),Fe=Ae.position.clone().add(ne).sub(cr);je.handedness==="left"?this.xrControllerRay.left.set(Fe,new d.Vector3(0,0,-1).applyEuler(Ae.rotation)):je.handedness==="right"&&this.xrControllerRay.right.set(Fe,new d.Vector3(0,0,-1).applyEuler(Ae.rotation)),this.controllerWrappers[U].position.copy(new d.Vector3(0,0,0).add(ne).sub(cr));var Ye=this.models.intersectRaycaster(this.xrControllerRay.right);if(Ye.length===0&&(Ye=this.xrControllerRay.right.intersectObject(this.boundingMesh,!0).map(function(Sr){var Wr;return F({floor:(Wr=J==null?void 0:J.floorIndex)!==null&&Wr!==void 0?Wr:0},Sr)})),Ye.length>=1&&Ye[0].face)if(je.handedness==="right"){var wt=this.xrControllerRay.right.intersectObject(this.xrCustomObjectsScene,!0),Yt=Ye[0].face.normal,on=Yt.clone(),$t=Ye[0].point.clone();this.intersectMesh.position.copy($t);var It=$t.clone().add(on);if(this.intersectMesh.lookAt(It),Math.abs(Yt.y)>.99){var er=this.camera.position.clone().sub($t);this.intersectMesh.rotation.z=-Math.atan2(er.z,er.x)}this.intersectMesh.visible=!0,this.needsRender=!0,wt.length>0?(this.pointerLines.right.setPoints(Fe,wt[0].point),this.pointerLines.right.points.visible=!0,this.intersectMesh.visible=!1):(this.pointerLines.right.points.visible=!1,this.pointerLines.right.setPoints(Fe,Ye[0].point));var Mr=Ye[0],Qt=W("intersect.update",{raycaster:(l=this.xrControllerRay.right)!==null&&l!==void 0?l:null,intersection:Mr!=null?Mr:null,object:this.intersectMesh});if(this.emit("intersect.update",Qt),Qt.defaultPrevented){this.hideIntersectMesh();return}}else this.pointerLines.left.setPoints(Fe,Ye[0].point)}}this.updateControllerHelper(Ne,e,r)}if(this.camera.pose.distance>.1||x)for(var tr=0,zt=Object.keys(this.panoMeshes);tr<zt.length;tr++){var ut=zt[tr],Oe=this.panoMeshes[ut];Oe.setOpacity(0),Oe.setCurrent(!1),Oe.updateTime&&Oe.updateTime(e,r),Oe.visible=!1}else if(J){var dr=ur(J.visibleIds,function(lt){var Ht=i.works.getResolvedObserver(lt);return Ht?J.standingPosition.distanceTo(Ht.standingPosition):1/0},!0),vt=dr[1];vt=le(vt,2.5,1/0);for(var fr=J.visibleIds.concat(Ue(this.currentPano)),hr=this.getForwardObserverOrNot(),Dt=this.camera.getDirection(new d.Vector3),Et=0,pr=Object.keys(this.panoMeshes);Et<pr.length;Et++){var ut=pr[Et],Oe=this.panoMeshes[ut],Ir=this.works.getResolvedObserver(ut);if(fr.indexOf(ut)===-1)Oe.setCurrent(!1),Oe.setOpacity(0);else if(!Ir)Oe.setCurrent(!1),Oe.setOpacity(0);else if(!Ir.loadable&&!Ir.active)Oe.setCurrent(!1),Oe.setOpacity(0);else{var sn=Oe.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);Oe.setCurrent(!Oe.loading&&Oe.progress===0&&hr!==null&&hr.panoId===ut),Oe.setOpacity(sn<.01?0:le(vt/sn*1.2,.65,.98));var jr=this.camera.position.clone().setY(Oe.position.y),me=new d.Vector3().copy(Oe.position).sub(jr).normalize();if(ut===Ue(this.currentPano)){var Jr=le((.5-jr.distanceTo(Oe.position))/.5,0,1);me.multiplyScalar(1-Jr).add(Dt.clone().multiplyScalar(Jr))}me.length()>0&&Oe.quaternion.setFromEuler(new d.Euler(0,Math.atan2(me.x,me.z),0))}Oe.updateTime&&Oe.updateTime(e,r)}}var Ut=function(){return 4}(),et=function(){var lt=new d.PerspectiveCamera;lt.applyMatrix4(pe.matrix),lt.position.set(0,0,0);var Ht=i.works.getResolvedObserver(y.panoId),Sr=Ht!=null?Ht:J;Sr&&lt.quaternion.premultiply(Sr.quaternion.clone().inverse()),lt.updateProjectionMatrix(),lt.updateMatrixWorld(!0);var Wr=new d.Frustum().setFromProjectionMatrix(new d.Matrix4().multiplyMatrices(lt.projectionMatrix,lt.matrixWorldInverse));return Wr}();y.panoId===Ue(this.currentPano)&&((c=y.leftPanoPicture)===null||c===void 0?void 0:c.map)instanceof Qe&&(y.leftPanoPicture.map.update(et,Ut),y.leftPanoPicture.map.needsRender===!0&&(this.needsRender=!0,this.modelSceneNeedsRender=!0));{var Ge=this.tiling.object.visible;if(Ut>this.TILED_CUBE_TEXTURE_LEVEL&&this.initAnimationed){var nt=y.panoId,At=this.works.getResolvedObserver(nt);At?Zn(this.camera.position,At.position)&&this.locationMotion.ended?(this.tiling.object.visible=!0,this.tiling.panoId!==nt&&this.tiling.cleanup(),this.tiling.panoId=nt,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(it(At.work)),this.tiling.setRotation(At.quaternion),this.tiling.setPosition(At.position),this.tiling.update(et,Ut,e)):this.tiling.object.visible=!1:this.tiling.object.visible=!1}else this.tiling.object.visible=!1;Ge!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0,this.modelSceneNeedsRender=!0)}this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e)}}},t.prototype.render=function(){var e=this.xrManager.getCamera(this.camera);this.renderer.render(this.modelScene,e),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,e),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0},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}},u=0;u<e.length;u++){var l=e[u].handedness,c=e[u].gamepad;switch(l){case"left":c.axes&&(this.emitHandleEvent(c.axes[2]===-1,"LeftAxesLeft",r),this.emitHandleEvent(c.axes[2]===1,"LeftAxesRight",r),this.emitHandleEvent(c.axes[3]===-1,"LeftAxesUp",r),this.emitHandleEvent(c.axes[3]===1,"LeftAxesDown",r)),c!=null&&c.buttons&&(c.buttons[4]&&this.emitHandleEvent(c.buttons[4].pressed,"X",r),c.buttons[5]&&this.emitHandleEvent(c.buttons[5].pressed,"Y",r),c.buttons[0]&&this.emitHandleEvent(c.buttons[0].pressed,"LeftTrigger",r),c.buttons[1]&&this.emitHandleEvent(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.emitHandleEvent(c.axes[2]===-1,"RightAxesLeft",r),this.emitHandleEvent(c.axes[2]===1,"RightAxesRight",r),this.emitHandleEvent(c.axes[3]===-1,"RightAxesUp",r),this.emitHandleEvent(c.axes[3]===1,"RightAxesDown",r)),c.buttons&&(c.buttons[4]&&this.emitHandleEvent(c.buttons[4].pressed,"A",r),c.buttons[5]&&this.emitHandleEvent(c.buttons[5].pressed,"B",r),c.buttons[0]&&this.emitHandleEvent(c.buttons[0].pressed,"RightTrigger",r),c.buttons[1]&&this.emitHandleEvent(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",W("xr.controller.update",s))}},t.prototype.emitHandleEvent=function(e,r,i){var a=this.xrControllerRay.left,o=this.xrControllerRay.right;if(e)if(this.xrHandleState[r].touchStart===!1)this.xrHandleState[r].touchStartTime=i,this.xrHandleState[r].touchStart=!0,this.emit("xr.gesture.buttonDown",W("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.xrHandleState[r].touchStartTime;s>Hs&&this.emit("xr.gesture.press",W("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.xrHandleState[r].touchStart===!0){this.emit("xr.gesture.buttonUp",W("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.xrHandleState[r].touchStartTime;if(s<=Hs){var u=W("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:a,rightRay:o}}}),l=this.emit("xr.gesture.tap",u);!l&&!u.defaultPrevented&&r==="RightTrigger"&&this.checkSelectedPano(this.xrControllerRay.right)}this.xrHandleState[r].touchStart=!1,this.xrHandleState[r].touchStartTime=0}},t.prototype.initHandEvent=function(){var e=this;if(!this.xrManager.session)throw new Error("初始化失败");this.xrManager.session.addEventListener("select",function(r){e.gazeRay&&e.checkSelectedPano(e.gazeRay)})},t}(po),Pt={Floorplan:za,Topview:wh,Panorama:po,VRPanorama:vp,Model:mp,Mapview:Tp,XRPanorama:_p},Iu=["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 Zp(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=Ft(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 Yp(){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 Gs(n){{var t=new d.DirectionalLight(16777215,.3);t.position.copy(new d.Vector3(1,1,1)),n.add(t)}{var t=new d.DirectionalLight(16777215,.1);t.position.copy(new d.Vector3(-1,-1,-1)),n.add(t)}{var t=new d.DirectionalLight(16777215,.1);n.add(t)}{var t=new d.AmbientLight(16777215,.6);n.add(t)}}function $p(n){for(var t,e,r={},i=n.split(/(\;|\,)/),a=0,o=i;a<o.length;a++){var s=o[a],u=s.split("="),l=(t=u[0])===null||t===void 0?void 0:t.trim(),c=(e=u[1])===null||e===void 0?void 0:e.trim();l&&c&&(r[l]=c)}return r}function Su(){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=$p((n=r.getAttribute("content"))!==null&&n!==void 0?n:""),a=Number(i["initial-scale"]);if(!isNaN(a))return a}}return 1}const ev="data:image/png;base64,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";var Ks=[351,63],js=[20,20],tv=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),rv=new Float32Array([0,0,1,0,0,1,1,1]),nv=new Uint8Array([0,1,2,1,3,2]),Ni=new d.BufferGeometry;Ni.setAttribute("position",new d.BufferAttribute(tv,3));Ni.setAttribute("uv",new d.BufferAttribute(rv,2));Ni.setIndex(new d.BufferAttribute(nv,1));var mi=new d.MeshBasicMaterial({transparent:!0,depthTest:!1,depthWrite:!1,stencilWrite:!1,fog:!1}),Tu=new d.Mesh(Ni,mi);Tu.matrixAutoUpdate=!1;var yo=new d.Scene;yo.add(Tu);yo.matrixAutoUpdate=!1;var Yn=new d.OrthographicCamera(-.5,.5,.5,-.5,.1,1);Yn.position.set(0,0,.5);Yn.lookAt(0,0,0);Yn.updateMatrixWorld(!0);Yn.matrixAutoUpdate=!1;var iv=new d.Vector4,av=new d.Vector4;function ov(n){if(mi.map){var r=n.getViewport(iv),i=n.getScissor(av),a=n.getScissorTest(),o=n.autoClear,s=i.x+js[0]/3,u=i.y+js[1]/3,l=Ks[0]/3,c=Ks[1]/3;n.setViewport(s,u,l,c),n.setScissor(s,u,l,c),n.setScissorTest(!0),n.autoClear=!1,n.render(yo,Yn),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,mi.needsUpdate=!0,e.onload=z},e.src=ev,mi.map=t}}var sv=800,Js=90,uv=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/")},lv=new d.Vector2,li=new d.Frustum,ci=new d.Matrix4,Ws=new WeakMap,ba=new WeakMap,Xs=La([]),Pu=function(n){ue(t,n);function t(e){e===void 0&&(e={});var r,i,a,o,s,u,l,c,f,A,m,h=n.call(this)||this;if(h.ident=xt(),typeof window!="undefined"&&(Ua.instances[h.ident]=h),h.renderSwitch01=0,h.currentMode="Panorama",h.pano={workCode:"",panoIndex:0},h.needsRender=!1,h.modelSceneNeedsRender=!1,h.onlyRenderIfNeeds=(r=e.onlyRenderIfNeeds)!==null&&r!==void 0?r:!0,h.imageOptions=F({},(i=e.imageOptions)!==null&&i!==void 0?i:{}),h.textureOptions=F({},(a=e.textureOptions)!==null&&a!==void 0?a:{}),h.poweredByRealsee=(o=e.poweredByRealsee)!==null&&o!==void 0?o:!0,h.extraElements=[],h.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)},h.fps={testCount:0,testTime:Me()},h.info=null,h.modeChangeDuration=(s=e.modeChangeDuration)!==null&&s!==void 0?s:sv,h.enableWheel=(u=e.enableWheel)!==null&&u!==void 0?u:!0,typeof window!="undefined")if("renderer"in e)e.renderer instanceof Yr&&h.throwError(new Error("cannot render a internal renderer")),h.renderer=e.renderer;else try{h.renderer=new Yr({preserveDrawingBuffer:e.preserveDrawingBuffer,backgroundColor:e.backgroundColor,backgroundAlpha:e.backgroundAlpha,antialias:e.antialias,webgl2:e==null?void 0:e.webgl2});var v=Su();h.renderer.setPixelRatio(v===1?window.devicePixelRatio:1),h.renderer.setSize(512,512)}catch(I){I instanceof Error&&h.throwError(I)}h.getPixelsRenderTarget=new d.WebGLRenderTarget(1,1,{encoding:(c=(l=h.renderer)===null||l===void 0?void 0:l.outputEncoding)!==null&&c!==void 0?c:d.sRGBEncoding});var g=new d.DepthTexture(1,1);g.format=d.DepthStencilFormat,g.type=d.UnsignedInt248Type,h.modelRenderTarget=new d.WebGLRenderTarget(1,1,{encoding:(A=(f=h.renderer)===null||f===void 0?void 0:f.outputEncoding)!==null&&A!==void 0?A:d.sRGBEncoding,depthTexture:g,depthBuffer:!0,stencilBuffer:!0}),h.scissor=Object.assign({left:0,bottom:0,width:1,height:1},e.scissor),h.camera=new Fi(Js),h.scene=new v0,h.xrCustomObjectsScene=new d.Scene,h.scene.add(h.xrCustomObjectsScene),h.scene.matrixAutoUpdate=!1,h.lastLoadWorkTask=Promise.resolve(),h.requestProxy=(m=e.requestProxy)!==null&&m!==void 0?m:uv,h.networkSubscribe=new n0,h.networkSubscribe.on("network",function(I,P,B,L){var k;h.emit("network.resource",W("network.resource",{source:I,requestType:P,requestState:B,detail:L})),(k=h.analysis)===null||k===void 0||k.network(h.works,I,P,B,L)}),h.boundingMesh=oh(new d.Box3(new d.Vector3(-.5,-.5,-.5),new d.Vector3(.5,.5,.5))),h.boundingMesh.name="bounding",h.models=ys(),h.models.push(new Va),h.lastModels=ys(),h.lastWorks=La([]),h.readyCallbacks=[],h.syncingState=!1,h.helperGroup=new d.Group,h.helperGroup.name="helper",h.helperGroup.matrixAutoUpdate=!1,h.scene.add(h.helperGroup),h.modelGroup=new d.Group,h.modelGroup.visible=!1,h.modelGroup.name="model",h.modelGroup.matrixAutoUpdate=!1,h.modelScene=new d.Scene,h.modelScene.add(h.modelGroup),h.modelScene.add(h.boundingMesh),h.modelScene.matrixAutoUpdate=!1,h.videoTexture=new d.VideoTexture(e.videoInstance||Yp()),Gs(h.scene),Gs(h.modelScene),h.state={mode:h.currentMode,workCode:h.pano.workCode,panoIndex:h.pano.panoIndex,longitude:h.camera.pose.longitude,latitude:h.camera.pose.latitude,fov:h.camera.pose.fov,offset:h.camera.pose.offset.clone(),distance:h.camera.pose.distance},h.stateSynced=!1,h._enablePostProcessing=!1,h._enableIOSEDR=!1,h._enableEDL=!1,h._enableHQ=!1,h.destroyed=!1,h.paused=!0,typeof window!="undefined"&&(e.play!==!1&&h.play(),h.stopAnimationLoop=pt.shared.add(function(I,P){for(var B=[],L=2;L<arguments.length;L++)B[L-2]=arguments[L];h.updateTime.apply(h,yt([I,P],B,!1))},!1,0,10));var p=function(){typeof document!="undefined"&&document.fullscreenElement===null&&h.currentMode==="VRPanorama"&&h.controller.emit("vr.requestExit",W("vr.requestExit",{}))},y=function(){h.needsRender=!0,h.modelSceneNeedsRender=!0};if(typeof document!="undefined"&&document.addEventListener("fullscreenchange",p,!1),h.renderer&&h.renderer.domElement.addEventListener("webglcontextrestored",y,!1),h.removeEventListeners=function(){typeof document!="undefined"&&document.removeEventListener("fullscreenchange",p,!1),h.renderer&&h.renderer.domElement.removeEventListener("webglcontextrestored",y,!1)},h.plugins={},e.plugins&&e.plugins.length)for(var x=0,b=e.plugins;x<b.length;x++){var w=b[x];if(typeof w=="function")w(h);else if(Array.isArray(w)){var C=w[0],M=w[1],E=w[2];if(typeof C=="function"){var S=C(h,E);typeof M=="string"&&(h.plugins[M]?h.throwError(new Error("plugin name ".concat(M," is exists."))):h.plugins[M]=S)}}}return h.gpuPickingRenderTarget=new d.WebGLRenderTarget(1,1),h.meshReplaceMaterialMap=new Map,h.meshOriginMaterialMap=new Map,Zp(h),h}return Object.defineProperty(t,"version",{get:function(){return"6.2.0-alpha.0"},enumerable:!1,configurable:!0}),Object.defineProperty(t,"dracoPath",{get:function(){return Mi.decoderPath},set:function(e){Mi.setDecoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t,"ktx2Path",{get:function(){return Hn.transcoderPath},set:function(e){Hn.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 Vt)){var A=Object.keys(i).filter(function(h){return h===f.uuid})[0];if(A)if(s.meshOriginMaterialMap.set(A,f.material),s.meshReplaceMaterialMap.get(A))f.material=s.meshReplaceMaterialMap.get(A);else{var m=new d.ShaderMaterial({uniforms:{color:{value:i[A]}},vertexShader:`
2061
+ `},go=function(n){ue(t,n);function t(e){var r=n.call(this,{uniforms:d.UniformsUtils.clone(ya.uniforms),vertexShader:ya.vertexShader,fragmentShader:ya.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(go.prototype,{isLineMaterial:!0});var wu=function(n){ue(t,n);function t(e,r){var i=n.call(this)||this;return i.type="LineSegments2",i.geometry=e!==void 0?e:new mo,i.material=r!==void 0?r:new go({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,u=0,l=0,c=r.count;u<c;u++,l+=2)o.fromBufferAttribute(r,u),s.fromBufferAttribute(i,u),a[l]=l===0?0:a[l-1],a[l+1]=a[l]+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,u=this.material,l=u.resolution,c=u.linewidth,f=s.attributes.instanceStart,A=s.attributes.instanceEnd,m=new d.Vector4,h=new d.Vector4,v=new d.Vector4,g=new d.Vector3,p=new d.Matrix4,y=new d.Line3,x=new d.Vector3;i.at(1,v),v.w=1,v.applyMatrix4(a.matrixWorldInverse),v.applyMatrix4(o),v.multiplyScalar(1/v.w),v.x*=l.x/2,v.y*=l.y/2,v.z=0,g.copy(v);var b=this.matrixWorld;p.multiplyMatrices(a.matrixWorldInverse,b);for(var w=0,C=f.count;w<C;w++){m.fromBufferAttribute(f,w),h.fromBufferAttribute(A,w),m.w=1,h.w=1,m.applyMatrix4(p),h.applyMatrix4(p),m.applyMatrix4(o),h.applyMatrix4(o),m.multiplyScalar(1/m.w),h.multiplyScalar(1/h.w);var M=m.z<-1&&h.z<-1,E=m.z>1&&h.z>1;if(!(M||E)){m.x*=l.x/2,m.y*=l.y/2,h.x*=l.x/2,h.y*=l.y/2,y.start.copy(m),y.start.z=0,y.end.copy(h),y.end.z=0;var S=y.closestPointToPointParameter(g,!0);y.at(S,x);var I=d.MathUtils.lerp(m.z,h.z,S),P=I>=-1&&I<=1,B=g.distanceTo(x)<c*.5;if(P&&B){y.start.fromBufferAttribute(f,w),y.end.fromBufferAttribute(A,w),y.start.applyMatrix4(b),y.end.applyMatrix4(b);var L=new d.Vector3,k=new d.Vector3;i.distanceSqToSegment(y.start,y.end,k,L),r.push({point:k,pointOnLine:L,distance:i.origin.distanceTo(k),object:this,faceIndex:w})}}}},t}(d.Mesh);Object.assign(wu.prototype,{isLineSegments2:!0});var Eu=function(n){ue(t,n);function t(e,r){var i=n.call(this,e,r)||this;return i.type="Line2",i}return t}(wu);Object.assign(Eu.prototype,{isLine2:!0});var Cu=function(n){ue(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}(mo);Object.assign(Cu.prototype,{isLineGeometry:!0});var kp="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==",zs=14467195,Fp=8,Lp=2,Op=20,Ds=null,Da=function(n){ue(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 Cu,o=new go({color:zs,linewidth:Lp,dashScale:Op,dashed:!1});i.line=new Eu(a,o);var s=new d.BufferGeometry,u=new d.PointsMaterial({color:zs,size:Fp,map:Ds||(Ds=new d.TextureLoader().load(kp)),sizeAttenuation:!1,transparent:!0});return i.points=new d.Points(s,u),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.2.0-alpha.1"},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(Da.prototype,{isFiveLine:!0});var We={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 Mu(n){return Bi(this,void 0,void 0,function(){var t;return Ri(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 Vp(n){return Bi(this,void 0,void 0,function(){var t,e;return Ri(this,function(r){switch(r.label){case 0:if(!n)throw new Error("No basePath supplied");return t="profilesList.json",[4,Mu("".concat(n,"/").concat(t))];case 1:return e=r.sent(),[2,e]}})})}function Np(n,t){return Bi(this,arguments,void 0,function(e,r,i,a){var o,s,u,l,c,f;return i===void 0&&(i=null),a===void 0&&(a=!0),Ri(this,function(A){switch(A.label){case 0:if(!e)throw new Error("No xrInputSource supplied");if(!r)throw new Error("No basePath supplied");return[4,Vp(r)];case 1:if(o=A.sent(),e.profiles.some(function(m){var h=o[m];return h&&(s={profileId:m,profilePath:"".concat(r,"/").concat(h.path),deprecated:!!h.deprecated}),!!s}),!s){if(!i)throw new Error("No matching profile name found");if(u=o[i],!u)throw new Error('No matching profile name found and default profile "'.concat(i,'" missing.'));s={profileId:i,profilePath:"".concat(r,"/").concat(u.path),deprecated:!!u.deprecated}}return[4,Mu(s.profilePath)];case 2:if(l=A.sent(),a){if(f=void 0,f=l.layouts[e.handedness],!f)throw new Error("No matching handedness, ".concat(e.handedness,", in profile ").concat(s.profileId));f.assetPath&&(c=s.profilePath.replace("profile.json",f.assetPath))}return[2,{profile:l,assetPath:c}]}})})}var Qp={xAxis:0,yAxis:0,button:0,state:We.ComponentState.DEFAULT};function zp(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 Dp=function(){function n(t){this.componentProperty=t.componentProperty,this.states=t.states,this.valueNodeName=t.valueNodeName,this.valueNodeProperty=t.valueNodeProperty,this.valueNodeProperty===We.VisualResponseProperty.TRANSFORM&&(this.minNodeName=t.minNodeName,this.maxNodeName=t.maxNodeName),this.value=0,this.updateFromComponent(Qp)}return n.prototype.updateFromComponent=function(t){var e=t.xAxis,r=t.yAxis,i=t.button,a=t.state,o=zp(e,r),s=o.normalizedXAxis,u=o.normalizedYAxis;switch(this.componentProperty){case We.ComponentProperty.X_AXIS:this.value=this.states.includes(a)?s:.5;break;case We.ComponentProperty.Y_AXIS:this.value=this.states.includes(a)?u:.5;break;case We.ComponentProperty.BUTTON:this.value=this.states.includes(a)?i:0;break;case We.ComponentProperty.STATE:this.valueNodeProperty===We.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}(),Up=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 Dp(e.visualResponses[i]);r.visualResponses[i]=a}),this.gamepadIndices=Object.assign({},e.gamepadIndices),this.values={state:We.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=F({id:this.id},this.values);return t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(t){var e=this;if(this.values.state=We.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=We.ComponentState.PRESSED:(r.touched||this.values.button>We.ButtonTouchThreshold)&&(this.values.state=We.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===We.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>We.AxisTouchThreshold&&(this.values.state=We.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===We.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>We.AxisTouchThreshold&&(this.values.state=We.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach(function(i){i.updateFromComponent(e.values)})},n}(),Hp=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 Up(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}(),qp="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",Gp="generic-trigger",Kp=function(n){ue(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,u=i.value,l=i.valueNodeProperty;a&&(l===We.VisualResponseProperty.VISIBILITY?a.visible=u:l===We.VisualResponseProperty.TRANSFORM&&(a.quaternion.copy(o.quaternion).slerp(s.quaternion,u),a.position.lerpVectors(o.position,s.position,u)))})}))},t}(Qn.Object3D);function jp(n,t){Object.values(n.components).forEach(function(e){var r=e.type,i=e.touchPointNodeName,a=e.visualResponses;if(r===We.ComponentType.TOUCHPAD)if(e.touchPointNode=t.getObjectByName(i),e.touchPointNode){var o=new Qn.SphereGeometry(.001),s=new Qn.MeshBasicMaterial({color:255}),u=new Qn.Mesh(o,s);e.touchPointNode.add(u)}else console.warn("Could not find touch dot, ".concat(e.touchPointNodeName,", in touchpad component ").concat(e.id));Object.values(a).forEach(function(l){var c=l.valueNodeName,f=l.minNodeName,A=l.maxNodeName,m=l.valueNodeProperty;if(m===We.VisualResponseProperty.TRANSFORM){if(l.minNode=t.getObjectByName(f),l.maxNode=t.getObjectByName(A),!l.minNode){console.warn("Could not find ".concat(f," in the model"));return}if(!l.maxNode){console.warn("Could not find ".concat(A," in the model"));return}}l.valueNode=t.getObjectByName(c),l.valueNode||console.warn("Could not find ".concat(c," in the model"))})})}function Us(n,t){jp(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 Jp=function(){function n(t){t===void 0&&(t=null),this.gltfLoader=t,this.path=qp,this._assetCache={}}return n.prototype.createControllerModel=function(t){var e=this,r=new Kp,i=null;return t.addEventListener("connected",function(a){var o=a.data;o.targetRayMode!=="tracked-pointer"||!o.gamepad||Np(o,e.path,Gp).then(function(s){var u=s.profile,l=s.assetPath;r.motionController=new Hp(o,u,l);var c=e._assetCache[r.motionController.assetUrl];if(c)i=c.scene.clone(),Us(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(),Us(r,i)})}}).catch(function(s){console.warn(s)})}),t.addEventListener("disconnected",function(){r.motionController=null,r.remove(i),i=null}),r},n}();function Wp(n,t){return n}var Hs=300,Xp=new d.Matrix4().makeRotationAxis(new d.Vector3(0,1,0),Math.PI),qs=new d.Vector3(-1,1,1),_p=function(n){ue(t,n);function t(e){var r=n.call(this,e)||this;r.xrManager=new Rp(r.renderer,r.renderer.getContext(),{onSessionStart:function(u){r.emit("xr.session.start",W("xr.session.start",{session:u,machineType:r.xrManager.machineType}))},onSessionEnd:function(){r.emit("xr.session.end",W("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.gazeRay=null,r.pointerLines={left:new Da,right:new Da},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.controllerWrappers=[new d.Group,new d.Group];var i=r.xrManager.getController(0);r.controllerWrappers[0].add(i);var a=r.xrManager.getController(1);r.controllerWrappers[1].add(a);var o=new Jp;o.gltfLoader={load:function(u,l){yi.ajax(u,{responseType:"arraybuffer"}).then(function(c){var f;return eo(c.body,{resourcePath:u.slice(0,u.lastIndexOf("/")+1),search:(f=u.split("?")[1])!==null&&f!==void 0?f:"",fetcher:yi})}).then(function(c){return l(c)})}},(r.xrManager.machineType==="Oculus"||r.xrManager.machineType==="Pico")&&r.scene.add(r.pointerLines.left,r.pointerLines.right,r.controllerWrappers[0],r.controllerWrappers[1]),r.panoResources={},r.panoResources[r.locationMotion.keyframes[0].key=r.locationMotion.keyframes[1].key=xt()]={panoId:Ue(r.currentPano),leftPanoPicture:null,position:r.camera.pose.offset.clone(),effect:"fade",fixCameraTransform:new d.Matrix4},r.parallaxCameraMatrixs=[];var s=pt.shared.getContext();return s?(r.on("xr.session.end",function(){r.scene.remove(r.pointerLines.left,r.pointerLines.right)}),r.xrManager.setSession(s),r.on("xr.session.start",function(){var u=r.xrManager.getControllerGrip(0);u.add(o.createControllerModel(u)),r.controllerWrappers[0].add(u);var l=r.xrManager.getControllerGrip(1);l.add(o.createControllerModel(l)),r.controllerWrappers[1].add(l)}),r.xrHandleState={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.xrManager.machineType==="VP"&&r.initHandEvent(),r):(console.error("获取session失败,请退出重试"),r)}return t.parseArgs=function(e){if(e instanceof t)return e;var r=F(F({},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 F(F({},i),{mode:"XRPanorama"})},t.prototype.moveToPano=function(e,r,i){var a=this,o,s,u,l,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=Kn(f.images.up),m=this.imageOptions.size;typeof m=="undefined"&&f&&A&&(m=Number(A)),typeof m=="undefined"&&(m=2048);var h=this.imageOptions.transform,v=function(P,B){return Wp(bi(P,h,B))},g=F({key:"pano.".concat(f.panoId)},Cr(this.imageOptions,["format","size","quality"])),p=f.images,y=(u=(s=f.images.tiles)===null||s===void 0?void 0:s.filter(function(P){return P.size>m}))!==null&&u!==void 0?u:null,x="pano:"+Cn([p,g,h]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===x)return;var b=this.pendingTextureTask.panoId;(l=this.panoMeshes[b])===null||l===void 0||l.setProgress(0),this.emit("pano.texture.abort",W("pano.texture.abort",{error:null,progress:0,meta:null,pano:f.pano})),this.pendingTextureTask.onError(new Error("texture aborted"))}var w=this.models.getMaterial()||{},C=w.pano0,M=w.pano1,E;if((C==null?void 0:C.map.name)===x?E=C:(M==null?void 0:M.map.name)===x&&(E=M),E){var S={panoId:f.panoId,effect:c,leftPanoPicture:{zoom:1,map:E.map,luminanceMap:E.luminanceMap,matrix:new d.Matrix4().compose(f.position,f.quaternion,qs)},position:f.position.clone(),fixCameraTransform:new d.Matrix4};this.doMoveToPano(f.pano,S,r);return}var I="move-to-pano-"+f.panoId;this.pending.add(I),this.pendingTextureTask={panoId:f.panoId,hash:x,onLoad:function(P){if(a.pending.delete(I),a.destroyed)P.body.dispose();else{P.body.name=x;var B={panoId:f.panoId,effect:c,leftPanoPicture:{zoom:1,map:P.body,luminanceMap:null,matrix:new d.Matrix4().compose(f.position,f.quaternion,qs)},position:f.position.clone(),fixCameraTransform:new d.Matrix4};a.doMoveToPano(f.pano,B,r)}},onError:function(P){a.pending.delete(I);var B=F(F(F({},f.pano),{mode:a.mode}),_e(a.camera.pose));a.emit("pano.error",W("pano.error",{error:P,userAction:a.userAction,options:r,prevPano:a.currentPano,progress:0,state:B})),a.emit("pano.cancel",W("pano.cancel",{error:null,userAction:a.userAction,options:r,prevPano:a.currentPano,progress:0,state:B})),r.moveCancelCallback&&r.moveCancelCallback()}},Promise.all([this.tileLevelForFov&&y&&y.length?this.textureLoader.loadTiledCubeTexture(p,y,{tileMaxLevel:this.TILED_CUBE_TEXTURE_LEVEL,imageURL:{transform:v,options:g},format:d.RGBAFormat,minFilter:d.LinearFilter,magFilter:d.LinearFilter,generateMipmaps:!1,viaAjax:!0,fetcher:it(f.work)},void 0,void 0,function(P){var B,L;a.emit("pano.texture.progress",W("pano.texture.progress",{error:null,progress:P,meta:null,pano:f.pano})),((B=a.pendingTextureTask)===null||B===void 0?void 0:B.hash)===x&&((L=a.panoMeshes[f.panoId])===null||L===void 0||L.setProgress(P))},this.renderer):this.textureLoader.loadCubeTexture(p,{imageURL:{transform:v,options:g},format:d.RGBAFormat,fetcher:it(f.work)},void 0,void 0,function(P){var B,L;((B=a.pendingTextureTask)===null||B===void 0?void 0:B.hash)===x&&((L=a.panoMeshes[f.panoId])===null||L===void 0||L.setProgress(P)),a.emit("pano.texture.progress",W("pano.texture.progress",{error:null,progress:P,meta:null,pano:f.pano}))},this.renderer)]).then(function(P){var B,L,k=P[0];((B=a.pendingTextureTask)===null||B===void 0?void 0:B.hash)===x?(a.pendingTextureTask.onLoad(k),(L=a.panoMeshes[f.panoId])===null||L===void 0||L.setProgress(0),delete a.pendingTextureTask,a.emit("pano.texture.success",W("pano.texture.success",{error:null,progress:1,meta:k.meta,pano:f.pano}))):k.body.dispose()}).catch(function(P){var B,L;((B=a.pendingTextureTask)===null||B===void 0?void 0:B.hash)===x&&(a.pendingTextureTask.onError(P),(L=a.panoMeshes[f.panoId])===null||L===void 0||L.setProgress(0),delete a.pendingTextureTask,a.emit("pano.texture.error",W("pano.texture.error",{error:P,progress:0,meta:null,pano:f.pano})),a.emit("error",P))}),this.emit("pano.texture.load",W("pano.texture.load",{error:null,progress:0,meta:null,pano:f.pano}))},t.prototype.doMoveToPano=function(e,r,i){var a=this,o,s,u,l,c,f,A,m,h,v;i===void 0&&(i={});var g=Me(),p=xt();this.panoResources[p]=r;var y=1,x,b,w;if(this.locationMotion.ended){var C=this.locationMotion.getKeyFrameSegment(g);C[0];var M=C[1],E=this.locationMotion.value,S=this.panoResourceFromLocationMotionKeyframe(M).position,I=r.position;x=Math.max(S.distanceTo(I),y),b=[{key:M.key,progress:0,value:F(F({},E),{count:0})},{key:p,progress:1,value:{distance:0,count:1}}],w=0}else{var P=this.locationMotion.getKeyFrameSegment(g),B=P[0],M=P[1],E=this.locationMotion.value,L=this.panoResourceFromLocationMotionKeyframe(B).position,S=this.panoResourceFromLocationMotionKeyframe(M).position,I=r.position,k=M.value.count-E.count,O=Math.max(L.distanceTo(S),y)*k,Q=Math.max(S.distanceTo(I),y);x=O+Q,b=[{key:B.key,progress:0,value:F({},E)},{key:M.key,progress:O/x,value:M.value},{key:p,progress:1,value:{count:M.value.count+1,distance:0}}];var N=this.locationMotionKeyframesLength(this.locationMotion.keyframes),X=this.locationMotionKeyframesLength(b);w=this.locationMotion.getProgressVelocity(g)*N/X}var G=r.effect==="instant"?0:this.calculateMovingDuration(i.duration,r.effect==="fly"?x:0),D={longitude:i.longitude,latitude:i.latitude,fov:i.fov},K=F(F({},e),{mode:this.mode,longitude:(o=D.longitude)!==null&&o!==void 0?o:this.camera.pose.longitude,latitude:(s=D.latitude)!==null&&s!==void 0?s:this.camera.pose.latitude,fov:(u=D.fov)!==null&&u!==void 0?u:this.camera.pose.fov,offset:r.position.clone(),distance:0}),j=this.currentPano;if(this.emit("pano.moveTo",W("pano.moveTo",{options:i,prevPano:j,progress:0,state:K,userAction:this.userAction,error:null})),i.moveStartCallback&&i.moveStartCallback(K),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=z,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null),r.effect==="fly")this.cameraMotion.set(D,G).catch(z);else{var q=Ft({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),J=Ft({longitude:(l=D.longitude)!==null&&l!==void 0?l:this.cameraMotion.value.longitude,latitude:(c=D.latitude)!==null&&c!==void 0?c:this.cameraMotion.value.latitude}),Z=new d.Object3D;Z.lookAt(q);var Y=new d.Matrix4().makeRotationFromQuaternion(Z.quaternion);Z.lookAt(J);var pe=new d.Matrix4().makeRotationFromQuaternion(Z.quaternion),ee=new d.Matrix4().getInverse(Y).premultiply(pe),oe=this.cameraMotion.value.fov,ie=(f=D.fov)!==null&&f!==void 0?f:this.cameraMotion.value.fov,de=1;r.effect==="zoomin"?de=1.5:r.effect==="zoomout"&&(de=.4);for(var ne=ie*de,ae=0;ae<b.length-1;ae++){var fe=b[ae].key;if(fe){var ve=this.panoResources[fe];ve&&(ve.fixCameraTransform.copy(ee),ve.leftPanoPicture&&(ve.leftPanoPicture.zoom=Math.tan(oe/2/180*Math.PI)/Math.tan(ne/2/180*Math.PI)))}}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:(A=D.longitude)!==null&&A!==void 0?A:this.cameraMotion.value.longitude,latitude:(m=D.latitude)!==null&&m!==void 0?m:this.cameraMotion.value.latitude,fov:ne}},{progress:1,value:{longitude:(h=D.longitude)!==null&&h!==void 0?h:this.cameraMotion.value.longitude,latitude:(v=D.latitude)!==null&&v!==void 0?v:this.cameraMotion.value.latitude,fov:ie}}],G).catch(z)}var xe=this.locationMotion.setKeyframes(b,G,w);xe.then(function(){for(var Ce,Be,$,te=0,U=a.models;te<U.length;te++){var Le=U[te];Le.show()}var Pe=F(F({},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",W("pano.arrived",{options:i,prevPano:j,progress:1,state:Pe,userAction:a.userAction,error:null})),i.moveEndCallback&&i.moveEndCallback(Pe);var Se=a.works.getResolvedObserver(a.currentPano);if(Se&&Se.video&&a.videoTexture&&a.videoTexture.image instanceof HTMLVideoElement){var De=Xp.clone().multiply(($=(Be=(Ce=a.models.getMaterial())===null||Ce===void 0?void 0:Ce.pano1)===null||Be===void 0?void 0:Be.matrix)!==null&&$!==void 0?$:new d.Matrix4).multiply(Se.video.matrix),be={map:a.videoTexture,size:Se.video.size,matrix:De,alpha:1},ye=xt(),ge=a.videoTexture.image;ge.setAttribute("uuid",ye),hu().then(function(me){me&&Se.video&&ge.getAttribute("uuid")===ye&&(ge.oncanplay=function(){ge.oncanplay=z,ge.play()},ge.ontimeupdate=function(){ge.currentTime>.5&&(ge.ontimeupdate=z,a.panoVideo.setMaterial(be))},ge.src=Se.video.source)}).catch(function(){ge.removeAttribute("uuid")})}},function(){a.emit("pano.cancel",W("pano.cancel",{options:i,prevPano:j,progress:0,state:K,userAction:a.userAction,error:null})),i.moveCancelCallback&&i.moveCancelCallback()})},t.prototype.checkSelectedPano=function(e){var r=this,i,a,o,s;this.stopMomentumMovement();var u=this.camera.getDirection(new d.Vector3).setY(0),l=null,c=this.works.getResolvedObserver(this.currentPano);if(!c)return null;var f=c.accessibleIds.filter(function(J){var Z=ht(J);if(_t(Z,r.currentPano))return!1;var Y=r.works.getResolvedObserver(Z);return!Y||Y.position.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:Y.loadable||Y.active}),A=this.models.intersectRaycaster(e)[0];if(A){var m=ur(f,function(J){var Z=r.works.getResolvedObserver(J);if(!Z)return 1/0;var Y=Z.standingPosition.clone();return Y.distanceTo(A.point)},!0),h=m[0],v=m[1];h&&v<this.panoTapTriggerRadius&&(l=(i=this.works.getResolvedObserver(h))!==null&&i!==void 0?i:null)}if(Ns(l)){var g=this.getForwardObserverOrNot(e);g&&(l=g)}for(var p=0,y=this.locationMotion.keyframes;p<y.length;p++){var x=y[p],b=this.panoResourceFromLocationMotionKeyframe(x);if(!(x.progress<this.locationMotion.progress)&&l&&b.panoId===l.panoId){l=null;break}}if(Ns(l))return this.locationMotion.ended===!0&&this.cameraBounce(),null;if(l&&!l.active){var w=l.panoId;this.panoMeshes[w]&&(this.panoMeshes[w].setDisabled(!1),this.panoMeshes[w].setLoading(!0))}var C={};if(l){for(var M=Math.PI/6,E=Math.PI/12,S=new d.Vector3(0,1,0),I=l.position.clone().setY(0).sub(c.position.clone().setY(0)).normalize(),P=I.clone().applyAxisAngle(S,M),B=I.clone().applyAxisAngle(S,-M),L=[],k=[],O=[],Q=0,N=l.accessibleIds;Q<N.length;Q++){var h=N[Q],X=ht(h);if(!(_t(X,this.currentPano)||_t(X,l.pano))){var G=this.works.getResolvedObserver(h);if(G){var D=G.position.clone().sub(l.position).setY(0);I.angleTo(D)<M?O.push(D):P.angleTo(D)<M?L.push(D):B.angleTo(D)<M&&k.push(D)}}}var K=O.length>0?O:yt(yt([],L,!0),k,!0),j=K.slice().sort(function(J,Z){return J.angleTo(I)-Z.angleTo(I)})[0];j&&j.angleTo(u)>E&&(C.longitude=Math.atan2(-j.x,-j.z))}this.cameraMotion.value.latitude<-Math.PI/4&&(C.latitude=le(0,this.minLatitude,this.maxLatitude)),this.cameraMotion.value.fov<60&&(C.fov=this.defaultFov);var q={workCode:l.pano.workCode,panoIndex:l.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:l?l.position.clone():new d.Vector3};return this.emit("pano.select",W("pano.select",{prevPano:this.currentPano,state:q,userAction:!0,options:C,progress:0,error:null})),l&&l.active?(this.emit("pano.request",W("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:q,options:C,error:null})),l.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,u,l,c,f,A,m=[],h=2;h<arguments.length;h++)m[h-2]=arguments[h];this.userAction=!0;var v={},g={},p=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[0]),y=this.panoResourceFromLocationMotionKeyframe(this.locationMotion.keyframes[this.locationMotion.keyframes.length-1]),x=!1;if(this.cameraMotion.ended===!1&&(this.cameraMotion.update(e),g.longitude=this.cameraMotion.value.longitude,g.latitude=this.cameraMotion.value.latitude,g.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(le(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var b=this.locationMotion.getKeyFrameSegment(e),w=b[0],C=b[1],M=this.panoResourceFromLocationMotionKeyframe(w),E=this.panoResourceFromLocationMotionKeyframe(C),S=new d.Vector3().copy(M.position),I=new d.Vector3().copy(E.position),P=this.locationMotion.value.count-C.value.count+1;v.progress=P,E.leftPanoPicture&&(P<1?M.leftPanoPicture&&(v.pano0=M.leftPanoPicture):v.pano0=E.leftPanoPicture,v.pano1=E.leftPanoPicture),E.effect==="montage"?v.transition="BLACK":E.effect==="spread"?v.transition="SPREAD":v.transition="FADE",(E.effect==="zoomin"||E.effect==="zoomout")&&(v.progress=Math.pow(P,3)),P<1&&E.effect!=="fly"&&(v.pano0&&M.leftPanoPicture&&(v.pano0={map:v.pano0.map,zoom:v.pano0.zoom,luminanceMap:v.pano0.luminanceMap,matrix:M.leftPanoPicture.matrix.clone().setPosition(E.position)}),S.copy(I),x=!0),g.distance=this.locationMotion.value.distance,g.offset=new d.Vector3(S.x+(I.x-S.x)*P,S.y+(I.y-S.y)*P,S.z+(I.z-S.z)*P);for(var B=[],L=[],k=0,O=this.locationMotion.keyframes;k<O.length;k++){var Q=O[k],N=Q.key,X=Q.progress;N!==void 0&&(B.push(N),X>this.locationMotion.progress&&L.push(N))}for(var G=0,D=Object.keys(this.panoResources);G<D.length;G++){var K=D[G];if(!(L.indexOf(K)>=0)){var j=this.panoResources[K];if(j.leftPanoPicture){var q=j.leftPanoPicture.map;if(q){if(q===((a=v.pano0)===null||a===void 0?void 0:a.map)||q===((o=v.pano1)===null||o===void 0?void 0:o.map))continue;q instanceof Qe&&q.cubeRenderTarget&&this.colorCubeRenderTargetPool.push(q.cubeRenderTarget),q.dispose(),j.leftPanoPicture=null}}B.indexOf(K)>=0||delete this.panoResources[K]}}this.currentPano=ht(E.panoId),this.emit("pano.moving",W("pano.moving",{userAction:this.userAction,prevPano:ht(p.panoId),state:F(F(F(F({},ht(y.panoId)),{mode:this.mode}),_e(this.camera.pose)),g),options:{},progress:this.locationMotion.progress,error:null}))}Nt(v)===!1&&(!((s=v.pano0)===null||s===void 0)&&s.map&&v.pano0.map instanceof Qe&&!v.pano0.map.cubeRenderTarget&&(v.pano0.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),!((u=v.pano1)===null||u===void 0)&&u.map&&v.pano1.map instanceof Qe&&!v.pano1.map.cubeRenderTarget&&(v.pano1.map.cubeRenderTarget=this.colorCubeRenderTargetPool.pop()),this.models.setMaterial(v)),Nt(g)===!1&&this.setCamera(g);var J=this.works.getResolvedObserver(this.currentPano),Z=m[1];if(!Z){console.error("xrFrame丢失,请重试");return}if(!this.xrManager.session){console.error("session丢失,请重试");return}var Y=this.xrManager.referenceSpace;if(Y){var pe=this.xrManager.cameraVR,ee=this.xrManager.cameraL,oe=this.xrManager.cameraR,ie=[ee,oe],de=Z.getViewerPose(Y),ne=new d.Vector3(0,0,0);if(de){var ae;ae=this.xrManager.session.renderState.baseLayer;var fe=de.views;if(!ae){console.error("no layer found");return}this.renderer.setFramebuffer(ae.framebuffer);var ve=!1;fe.length!==pe.cameras.length&&(pe.cameras.length=0,ve=!0),this.parallaxCameraMatrixs=[];var xe=new d.Vector3,Ce=new d.Vector3;new d.Matrix4().fromArray(fe[0].transform.matrix).decompose(xe,new d.Quaternion,new d.Vector3),new d.Matrix4().fromArray(fe[1].transform.matrix).decompose(Ce,new d.Quaternion,new d.Vector3),Ce.clone().sub(xe).normalize();var Be=new d.Vector3,$=new d.Quaternion,te=new d.Vector3;this.camera.matrix.decompose(Be,$,te);for(var U=0;U<fe.length;U++){var Le=fe[U],Pe=ae.getViewport(Le),Se=ie[U];Se.matrix.fromArray(Le.transform.matrix);var De=new d.Vector3,be=new d.Quaternion,ye=new d.Vector3;Se.matrix.decompose(De,be,ye),ne.copy(Be),Se.position.copy(Be),Se.quaternion.copy(be),Se.scale.copy(ye),Se.updateMatrix(),Se.projectionMatrix.fromArray(Le.projectionMatrix),Se.viewport.set(Pe.x,Pe.y,Pe.width,Pe.height),ve===!0&&pe.cameras.push(Se)}if(this.xrManager.session&&this.xrManager.session.inputSources){for(var U=0;U<this.xrManager.session.inputSources.length;U++)if(this.xrManager.session.inputSources[U]&&this.xrManager.session.inputSources[U].targetRayMode==="transient-pointer"){var ge=Z.getPose(this.xrManager.session.inputSources[U].targetRaySpace,Y);if(ge){var me=new d.Vector3(0,0,-1).applyQuaternion(ge.transform.orientation),Ae=new d.Raycaster(this.camera.position,me);this.gazeRay=Ae}}}if(this.xrManager.machineType==="Oculus"||this.xrManager.machineType==="Pico"){for(var Ne=this.xrManager.session.inputSources,U=0;U<Ne.length;U++){var ze=this.xrManager.controllers[U],je=Ne[U];if(je){ze&&ze.update(je,Z,Y);var Ae=this.xrManager.getController(U),cr=new d.Vector3(0,1.2,0),Fe=Ae.position.clone().add(ne).sub(cr);je.handedness==="left"?this.xrControllerRay.left.set(Fe,new d.Vector3(0,0,-1).applyEuler(Ae.rotation)):je.handedness==="right"&&this.xrControllerRay.right.set(Fe,new d.Vector3(0,0,-1).applyEuler(Ae.rotation)),this.controllerWrappers[U].position.copy(new d.Vector3(0,0,0).add(ne).sub(cr));var Ye=this.models.intersectRaycaster(this.xrControllerRay.right);if(Ye.length===0&&(Ye=this.xrControllerRay.right.intersectObject(this.boundingMesh,!0).map(function(Sr){var Wr;return F({floor:(Wr=J==null?void 0:J.floorIndex)!==null&&Wr!==void 0?Wr:0},Sr)})),Ye.length>=1&&Ye[0].face)if(je.handedness==="right"){var wt=this.xrControllerRay.right.intersectObject(this.xrCustomObjectsScene,!0),Yt=Ye[0].face.normal,on=Yt.clone(),$t=Ye[0].point.clone();this.intersectMesh.position.copy($t);var It=$t.clone().add(on);if(this.intersectMesh.lookAt(It),Math.abs(Yt.y)>.99){var er=this.camera.position.clone().sub($t);this.intersectMesh.rotation.z=-Math.atan2(er.z,er.x)}this.intersectMesh.visible=!0,this.needsRender=!0,wt.length>0?(this.pointerLines.right.setPoints(Fe,wt[0].point),this.pointerLines.right.points.visible=!0,this.intersectMesh.visible=!1):(this.pointerLines.right.points.visible=!1,this.pointerLines.right.setPoints(Fe,Ye[0].point));var Mr=Ye[0],Qt=W("intersect.update",{raycaster:(l=this.xrControllerRay.right)!==null&&l!==void 0?l:null,intersection:Mr!=null?Mr:null,object:this.intersectMesh});if(this.emit("intersect.update",Qt),Qt.defaultPrevented){this.hideIntersectMesh();return}}else this.pointerLines.left.setPoints(Fe,Ye[0].point)}}this.updateControllerHelper(Ne,e,r)}if(this.camera.pose.distance>.1||x)for(var tr=0,zt=Object.keys(this.panoMeshes);tr<zt.length;tr++){var ut=zt[tr],Oe=this.panoMeshes[ut];Oe.setOpacity(0),Oe.setCurrent(!1),Oe.updateTime&&Oe.updateTime(e,r),Oe.visible=!1}else if(J){var dr=ur(J.visibleIds,function(lt){var Ht=i.works.getResolvedObserver(lt);return Ht?J.standingPosition.distanceTo(Ht.standingPosition):1/0},!0),vt=dr[1];vt=le(vt,2.5,1/0);for(var fr=J.visibleIds.concat(Ue(this.currentPano)),hr=this.getForwardObserverOrNot(),Dt=this.camera.getDirection(new d.Vector3),Et=0,pr=Object.keys(this.panoMeshes);Et<pr.length;Et++){var ut=pr[Et],Oe=this.panoMeshes[ut],Ir=this.works.getResolvedObserver(ut);if(fr.indexOf(ut)===-1)Oe.setCurrent(!1),Oe.setOpacity(0);else if(!Ir)Oe.setCurrent(!1),Oe.setOpacity(0);else if(!Ir.loadable&&!Ir.active)Oe.setCurrent(!1),Oe.setOpacity(0);else{var sn=Oe.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);Oe.setCurrent(!Oe.loading&&Oe.progress===0&&hr!==null&&hr.panoId===ut),Oe.setOpacity(sn<.01?0:le(vt/sn*1.2,.65,.98));var jr=this.camera.position.clone().setY(Oe.position.y),me=new d.Vector3().copy(Oe.position).sub(jr).normalize();if(ut===Ue(this.currentPano)){var Jr=le((.5-jr.distanceTo(Oe.position))/.5,0,1);me.multiplyScalar(1-Jr).add(Dt.clone().multiplyScalar(Jr))}me.length()>0&&Oe.quaternion.setFromEuler(new d.Euler(0,Math.atan2(me.x,me.z),0))}Oe.updateTime&&Oe.updateTime(e,r)}}var Ut=function(){return 4}(),et=function(){var lt=new d.PerspectiveCamera;lt.applyMatrix4(pe.matrix),lt.position.set(0,0,0);var Ht=i.works.getResolvedObserver(y.panoId),Sr=Ht!=null?Ht:J;Sr&&lt.quaternion.premultiply(Sr.quaternion.clone().inverse()),lt.updateProjectionMatrix(),lt.updateMatrixWorld(!0);var Wr=new d.Frustum().setFromProjectionMatrix(new d.Matrix4().multiplyMatrices(lt.projectionMatrix,lt.matrixWorldInverse));return Wr}();y.panoId===Ue(this.currentPano)&&((c=y.leftPanoPicture)===null||c===void 0?void 0:c.map)instanceof Qe&&(y.leftPanoPicture.map.update(et,Ut),y.leftPanoPicture.map.needsRender===!0&&(this.needsRender=!0,this.modelSceneNeedsRender=!0));{var Ge=this.tiling.object.visible;if(Ut>this.TILED_CUBE_TEXTURE_LEVEL&&this.initAnimationed){var nt=y.panoId,At=this.works.getResolvedObserver(nt);At?Zn(this.camera.position,At.position)&&this.locationMotion.ended?(this.tiling.object.visible=!0,this.tiling.panoId!==nt&&this.tiling.cleanup(),this.tiling.panoId=nt,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(it(At.work)),this.tiling.setRotation(At.quaternion),this.tiling.setPosition(At.position),this.tiling.update(et,Ut,e)):this.tiling.object.visible=!1:this.tiling.object.visible=!1}else this.tiling.object.visible=!1;Ge!==this.tiling.object.visible&&(this.tiling.object.needsRender=!0,this.modelSceneNeedsRender=!0)}this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e)}}},t.prototype.render=function(){var e=this.xrManager.getCamera(this.camera);this.renderer.render(this.modelScene,e),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,e),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0},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}},u=0;u<e.length;u++){var l=e[u].handedness,c=e[u].gamepad;switch(l){case"left":c.axes&&(this.emitHandleEvent(c.axes[2]===-1,"LeftAxesLeft",r),this.emitHandleEvent(c.axes[2]===1,"LeftAxesRight",r),this.emitHandleEvent(c.axes[3]===-1,"LeftAxesUp",r),this.emitHandleEvent(c.axes[3]===1,"LeftAxesDown",r)),c!=null&&c.buttons&&(c.buttons[4]&&this.emitHandleEvent(c.buttons[4].pressed,"X",r),c.buttons[5]&&this.emitHandleEvent(c.buttons[5].pressed,"Y",r),c.buttons[0]&&this.emitHandleEvent(c.buttons[0].pressed,"LeftTrigger",r),c.buttons[1]&&this.emitHandleEvent(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.emitHandleEvent(c.axes[2]===-1,"RightAxesLeft",r),this.emitHandleEvent(c.axes[2]===1,"RightAxesRight",r),this.emitHandleEvent(c.axes[3]===-1,"RightAxesUp",r),this.emitHandleEvent(c.axes[3]===1,"RightAxesDown",r)),c.buttons&&(c.buttons[4]&&this.emitHandleEvent(c.buttons[4].pressed,"A",r),c.buttons[5]&&this.emitHandleEvent(c.buttons[5].pressed,"B",r),c.buttons[0]&&this.emitHandleEvent(c.buttons[0].pressed,"RightTrigger",r),c.buttons[1]&&this.emitHandleEvent(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",W("xr.controller.update",s))}},t.prototype.emitHandleEvent=function(e,r,i){var a=this.xrControllerRay.left,o=this.xrControllerRay.right;if(e)if(this.xrHandleState[r].touchStart===!1)this.xrHandleState[r].touchStartTime=i,this.xrHandleState[r].touchStart=!0,this.emit("xr.gesture.buttonDown",W("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.xrHandleState[r].touchStartTime;s>Hs&&this.emit("xr.gesture.press",W("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.xrHandleState[r].touchStart===!0){this.emit("xr.gesture.buttonUp",W("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.xrHandleState[r].touchStartTime;if(s<=Hs){var u=W("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:a,rightRay:o}}}),l=this.emit("xr.gesture.tap",u);!l&&!u.defaultPrevented&&r==="RightTrigger"&&this.checkSelectedPano(this.xrControllerRay.right)}this.xrHandleState[r].touchStart=!1,this.xrHandleState[r].touchStartTime=0}},t.prototype.initHandEvent=function(){var e=this;if(!this.xrManager.session)throw new Error("初始化失败");this.xrManager.session.addEventListener("select",function(r){e.gazeRay&&e.checkSelectedPano(e.gazeRay)})},t}(po),Pt={Floorplan:za,Topview:wh,Panorama:po,VRPanorama:vp,Model:mp,Mapview:Tp,XRPanorama:_p},Iu=["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 Zp(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=Ft(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 Yp(){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 Gs(n){{var t=new d.DirectionalLight(16777215,.3);t.position.copy(new d.Vector3(1,1,1)),n.add(t)}{var t=new d.DirectionalLight(16777215,.1);t.position.copy(new d.Vector3(-1,-1,-1)),n.add(t)}{var t=new d.DirectionalLight(16777215,.1);n.add(t)}{var t=new d.AmbientLight(16777215,.6);n.add(t)}}function $p(n){for(var t,e,r={},i=n.split(/(\;|\,)/),a=0,o=i;a<o.length;a++){var s=o[a],u=s.split("="),l=(t=u[0])===null||t===void 0?void 0:t.trim(),c=(e=u[1])===null||e===void 0?void 0:e.trim();l&&c&&(r[l]=c)}return r}function Su(){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=$p((n=r.getAttribute("content"))!==null&&n!==void 0?n:""),a=Number(i["initial-scale"]);if(!isNaN(a))return a}}return 1}const ev="data:image/png;base64,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";var Ks=[351,63],js=[20,20],tv=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),rv=new Float32Array([0,0,1,0,0,1,1,1]),nv=new Uint8Array([0,1,2,1,3,2]),Ni=new d.BufferGeometry;Ni.setAttribute("position",new d.BufferAttribute(tv,3));Ni.setAttribute("uv",new d.BufferAttribute(rv,2));Ni.setIndex(new d.BufferAttribute(nv,1));var mi=new d.MeshBasicMaterial({transparent:!0,depthTest:!1,depthWrite:!1,stencilWrite:!1,fog:!1}),Tu=new d.Mesh(Ni,mi);Tu.matrixAutoUpdate=!1;var yo=new d.Scene;yo.add(Tu);yo.matrixAutoUpdate=!1;var Yn=new d.OrthographicCamera(-.5,.5,.5,-.5,.1,1);Yn.position.set(0,0,.5);Yn.lookAt(0,0,0);Yn.updateMatrixWorld(!0);Yn.matrixAutoUpdate=!1;var iv=new d.Vector4,av=new d.Vector4;function ov(n){if(mi.map){var r=n.getViewport(iv),i=n.getScissor(av),a=n.getScissorTest(),o=n.autoClear,s=i.x+js[0]/3,u=i.y+js[1]/3,l=Ks[0]/3,c=Ks[1]/3;n.setViewport(s,u,l,c),n.setScissor(s,u,l,c),n.setScissorTest(!0),n.autoClear=!1,n.render(yo,Yn),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,mi.needsUpdate=!0,e.onload=z},e.src=ev,mi.map=t}}var sv=800,Js=90,uv=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/")},lv=new d.Vector2,li=new d.Frustum,ci=new d.Matrix4,Ws=new WeakMap,ba=new WeakMap,Xs=La([]),Pu=function(n){ue(t,n);function t(e){e===void 0&&(e={});var r,i,a,o,s,u,l,c,f,A,m,h=n.call(this)||this;if(h.ident=xt(),typeof window!="undefined"&&(Ua.instances[h.ident]=h),h.renderSwitch01=0,h.currentMode="Panorama",h.pano={workCode:"",panoIndex:0},h.needsRender=!1,h.modelSceneNeedsRender=!1,h.onlyRenderIfNeeds=(r=e.onlyRenderIfNeeds)!==null&&r!==void 0?r:!0,h.imageOptions=F({},(i=e.imageOptions)!==null&&i!==void 0?i:{}),h.textureOptions=F({},(a=e.textureOptions)!==null&&a!==void 0?a:{}),h.poweredByRealsee=(o=e.poweredByRealsee)!==null&&o!==void 0?o:!0,h.extraElements=[],h.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)},h.fps={testCount:0,testTime:Me()},h.info=null,h.modeChangeDuration=(s=e.modeChangeDuration)!==null&&s!==void 0?s:sv,h.enableWheel=(u=e.enableWheel)!==null&&u!==void 0?u:!0,typeof window!="undefined")if("renderer"in e)e.renderer instanceof Yr&&h.throwError(new Error("cannot render a internal renderer")),h.renderer=e.renderer;else try{h.renderer=new Yr({preserveDrawingBuffer:e.preserveDrawingBuffer,backgroundColor:e.backgroundColor,backgroundAlpha:e.backgroundAlpha,antialias:e.antialias,webgl2:e==null?void 0:e.webgl2});var v=Su();h.renderer.setPixelRatio(v===1?window.devicePixelRatio:1),h.renderer.setSize(512,512)}catch(I){I instanceof Error&&h.throwError(I)}h.getPixelsRenderTarget=new d.WebGLRenderTarget(1,1,{encoding:(c=(l=h.renderer)===null||l===void 0?void 0:l.outputEncoding)!==null&&c!==void 0?c:d.sRGBEncoding});var g=new d.DepthTexture(1,1);g.format=d.DepthStencilFormat,g.type=d.UnsignedInt248Type,h.modelRenderTarget=new d.WebGLRenderTarget(1,1,{encoding:(A=(f=h.renderer)===null||f===void 0?void 0:f.outputEncoding)!==null&&A!==void 0?A:d.sRGBEncoding,depthTexture:g,depthBuffer:!0,stencilBuffer:!0}),h.scissor=Object.assign({left:0,bottom:0,width:1,height:1},e.scissor),h.camera=new Fi(Js),h.scene=new v0,h.xrCustomObjectsScene=new d.Scene,h.scene.add(h.xrCustomObjectsScene),h.scene.matrixAutoUpdate=!1,h.lastLoadWorkTask=Promise.resolve(),h.requestProxy=(m=e.requestProxy)!==null&&m!==void 0?m:uv,h.networkSubscribe=new n0,h.networkSubscribe.on("network",function(I,P,B,L){var k;h.emit("network.resource",W("network.resource",{source:I,requestType:P,requestState:B,detail:L})),(k=h.analysis)===null||k===void 0||k.network(h.works,I,P,B,L)}),h.boundingMesh=oh(new d.Box3(new d.Vector3(-.5,-.5,-.5),new d.Vector3(.5,.5,.5))),h.boundingMesh.name="bounding",h.models=ys(),h.models.push(new Va),h.lastModels=ys(),h.lastWorks=La([]),h.readyCallbacks=[],h.syncingState=!1,h.helperGroup=new d.Group,h.helperGroup.name="helper",h.helperGroup.matrixAutoUpdate=!1,h.scene.add(h.helperGroup),h.modelGroup=new d.Group,h.modelGroup.visible=!1,h.modelGroup.name="model",h.modelGroup.matrixAutoUpdate=!1,h.modelScene=new d.Scene,h.modelScene.add(h.modelGroup),h.modelScene.add(h.boundingMesh),h.modelScene.matrixAutoUpdate=!1,h.videoTexture=new d.VideoTexture(e.videoInstance||Yp()),Gs(h.scene),Gs(h.modelScene),h.state={mode:h.currentMode,workCode:h.pano.workCode,panoIndex:h.pano.panoIndex,longitude:h.camera.pose.longitude,latitude:h.camera.pose.latitude,fov:h.camera.pose.fov,offset:h.camera.pose.offset.clone(),distance:h.camera.pose.distance},h.stateSynced=!1,h._enablePostProcessing=!1,h._enableIOSEDR=!1,h._enableEDL=!1,h._enableHQ=!1,h.destroyed=!1,h.paused=!0,typeof window!="undefined"&&(e.play!==!1&&h.play(),h.stopAnimationLoop=pt.shared.add(function(I,P){for(var B=[],L=2;L<arguments.length;L++)B[L-2]=arguments[L];h.updateTime.apply(h,yt([I,P],B,!1))},!1,0,10));var p=function(){typeof document!="undefined"&&document.fullscreenElement===null&&h.currentMode==="VRPanorama"&&h.controller.emit("vr.requestExit",W("vr.requestExit",{}))},y=function(){h.needsRender=!0,h.modelSceneNeedsRender=!0};if(typeof document!="undefined"&&document.addEventListener("fullscreenchange",p,!1),h.renderer&&h.renderer.domElement.addEventListener("webglcontextrestored",y,!1),h.removeEventListeners=function(){typeof document!="undefined"&&document.removeEventListener("fullscreenchange",p,!1),h.renderer&&h.renderer.domElement.removeEventListener("webglcontextrestored",y,!1)},h.plugins={},e.plugins&&e.plugins.length)for(var x=0,b=e.plugins;x<b.length;x++){var w=b[x];if(typeof w=="function")w(h);else if(Array.isArray(w)){var C=w[0],M=w[1],E=w[2];if(typeof C=="function"){var S=C(h,E);typeof M=="string"&&(h.plugins[M]?h.throwError(new Error("plugin name ".concat(M," is exists."))):h.plugins[M]=S)}}}return h.gpuPickingRenderTarget=new d.WebGLRenderTarget(1,1),h.meshReplaceMaterialMap=new Map,h.meshOriginMaterialMap=new Map,Zp(h),h}return Object.defineProperty(t,"version",{get:function(){return"6.2.0-alpha.1"},enumerable:!1,configurable:!0}),Object.defineProperty(t,"dracoPath",{get:function(){return Mi.decoderPath},set:function(e){Mi.setDecoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t,"ktx2Path",{get:function(){return Hn.transcoderPath},set:function(e){Hn.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 Vt)){var A=Object.keys(i).filter(function(h){return h===f.uuid})[0];if(A)if(s.meshOriginMaterialMap.set(A,f.material),s.meshReplaceMaterialMap.get(A))f.material=s.meshReplaceMaterialMap.get(A);else{var m=new d.ShaderMaterial({uniforms:{color:{value:i[A]}},vertexShader:`
2062
2062
  void main() {
2063
2063
  vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );
2064
2064
  gl_Position = projectionMatrix * mvPosition;
package/five/index.mjs CHANGED
@@ -2,7 +2,7 @@
2
2
  * @license
3
3
  * @realsee/five
4
4
  * Generated: 2024/8/21
5
- * Version: 6.2.0-alpha.0
5
+ * Version: 6.2.0-alpha.1
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -20793,7 +20793,7 @@ var Sp = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAA
20793
20793
  }
20794
20794
  return Object.defineProperty(t, "version", {
20795
20795
  get: function() {
20796
- return "6.2.0-alpha.0";
20796
+ return "6.2.0-alpha.1";
20797
20797
  },
20798
20798
  enumerable: !1,
20799
20799
  configurable: !0
@@ -22343,7 +22343,7 @@ var iv = 800, qs = 90, av = function(n) {
22343
22343
  }
22344
22344
  return Object.defineProperty(t, "version", {
22345
22345
  get: function() {
22346
- return "6.2.0-alpha.0";
22346
+ return "6.2.0-alpha.1";
22347
22347
  },
22348
22348
  enumerable: !1,
22349
22349
  configurable: !0
@@ -2,7 +2,7 @@
2
2
  * @license
3
3
  * @realsee/five
4
4
  * Generated: 2024/8/21
5
- * Version: 6.2.0-alpha.0
5
+ * Version: 6.2.0-alpha.1
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.2.0-alpha.0"},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.2.0-alpha.1"},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;
@@ -2,7 +2,7 @@
2
2
  * @license
3
3
  * @realsee/five
4
4
  * Generated: 2024/8/21
5
- * Version: 6.2.0-alpha.0
5
+ * Version: 6.2.0-alpha.1
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -1676,7 +1676,7 @@ var Je = (
1676
1676
  }
1677
1677
  return Object.defineProperty(T, "version", {
1678
1678
  get: function() {
1679
- return "6.2.0-alpha.0";
1679
+ return "6.2.0-alpha.1";
1680
1680
  },
1681
1681
  enumerable: !1,
1682
1682
  configurable: !0
package/line/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  * @license
3
3
  * @realsee/five
4
4
  * Generated: 2024/8/21
5
- * Version: 6.2.0-alpha.0
5
+ * Version: 6.2.0-alpha.1
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -451,4 +451,4 @@
451
451
  #include <premultiplied_alpha_fragment>
452
452
 
453
453
  }
454
- `},g=function(a){y(r,a);function r(t){var n=a.call(this,{uniforms:o.UniformsUtils.clone(B.uniforms),vertexShader:B.vertexShader,fragmentShader:B.fragmentShader,clipping:!0})||this;return n.type="LineMaterial",n.dashed=!1,Object.defineProperties(n,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(e){this.uniforms.diffuse.value=e}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(e){this.uniforms.linewidth.value=e}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(e){this.uniforms.dashScale.value=e}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(e){this.uniforms.dashSize.value=e}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(e){this.uniforms.gapSize.value=e}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(e){this.uniforms.opacity.value=e}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(e){this.uniforms.resolution.value.copy(e)}}}),n.setValues(t),n}return r}(o.ShaderMaterial);Object.assign(g.prototype,{isLineMaterial:!0});var M=function(a){y(r,a);function r(t,n){var e=a.call(this)||this;return e.type="LineSegments2",e.geometry=t!==void 0?t:new A,e.material=n!==void 0?n:new g({color:Math.random()*16777215}),e}return r.prototype.computeLineDistances=function(){for(var t=this.geometry,n=t.attributes.instanceStart,e=t.attributes.instanceEnd,i=new Float32Array(2*n.count),s=new o.Vector3,c=new o.Vector3,p=0,u=0,S=n.count;p<S;p++,u+=2)s.fromBufferAttribute(n,p),c.fromBufferAttribute(e,p),i[u]=u===0?0:i[u-1],i[u+1]=i[u]+s.distanceTo(c);var h=new o.InstancedInterleavedBuffer(i,2,1);return t.setAttribute("instanceDistanceStart",new o.InterleavedBufferAttribute(h,1,0)),t.setAttribute("instanceDistanceEnd",new o.InterleavedBufferAttribute(h,1,1)),this},r.prototype.raycast=function(t,n){t.camera===null&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var e=t.ray,i=t.camera,s=i.projectionMatrix,c=this.geometry,p=this.material,u=p.resolution,S=p.linewidth,h=c.attributes.instanceStart,U=c.attributes.instanceEnd,l=new o.Vector4,f=new o.Vector4,v=new o.Vector4,b=new o.Vector3,w=new o.Matrix4,d=new o.Line3,z=new o.Vector3;e.at(1,v),v.w=1,v.applyMatrix4(i.matrixWorldInverse),v.applyMatrix4(s),v.multiplyScalar(1/v.w),v.x*=u.x/2,v.y*=u.y/2,v.z=0,b.copy(v);var x=this.matrixWorld;w.multiplyMatrices(i.matrixWorldInverse,x);for(var m=0,N=h.count;m<N;m++){l.fromBufferAttribute(h,m),f.fromBufferAttribute(U,m),l.w=1,f.w=1,l.applyMatrix4(w),f.applyMatrix4(w),l.applyMatrix4(s),f.applyMatrix4(s),l.multiplyScalar(1/l.w),f.multiplyScalar(1/f.w);var j=l.z<-1&&f.z<-1,G=l.z>1&&f.z>1;if(!(j||G)){l.x*=u.x/2,l.y*=u.y/2,f.x*=u.x/2,f.y*=u.y/2,d.start.copy(l),d.start.z=0,d.end.copy(f),d.end.z=0;var D=d.closestPointToPointParameter(b,!0);d.at(D,z);var O=o.MathUtils.lerp(l.z,f.z,D),W=O>=-1&&O<=1,T=b.distanceTo(z)<S*.5;if(W&&T){d.start.fromBufferAttribute(h,m),d.end.fromBufferAttribute(U,m),d.start.applyMatrix4(x),d.end.applyMatrix4(x);var V=new o.Vector3,E=new o.Vector3;e.distanceSqToSegment(d.start,d.end,E,V),n.push({point:E,pointOnLine:V,distance:e.origin.distanceTo(E),object:this,faceIndex:m})}}}},r}(o.Mesh);Object.assign(M.prototype,{isLineSegments2:!0});var C=function(a){y(r,a);function r(t,n){var e=a.call(this,t,n)||this;return e.type="Line2",e}return r}(M);Object.assign(C.prototype,{isLine2:!0});var P=function(a){y(r,a);function r(){var t=a.call(this)||this;return t.type="LineGeometry",t}return r.prototype.setPositions=function(t){for(var n=t.length-3,e=new Float32Array(2*n),i=0;i<n;i+=3)e[2*i]=t[i],e[2*i+1]=t[i+1],e[2*i+2]=t[i+2],e[2*i+3]=t[i+3],e[2*i+4]=t[i+4],e[2*i+5]=t[i+5];return a.prototype.setPositions.call(this,e),this},r.prototype.setColors=function(t){for(var n=t.length-3,e=new Float32Array(2*n),i=0;i<n;i+=3)e[2*i]=t[i],e[2*i+1]=t[i+1],e[2*i+2]=t[i+2],e[2*i+3]=t[i+3],e[2*i+4]=t[i+4],e[2*i+5]=t[i+5];return a.prototype.setColors.call(this,e),this},r.prototype.fromLine=function(t){var n=t.geometry;if(n instanceof o.Geometry){var e=new o.BufferGeometry().fromGeometry(n);this.setPositions(e.attributes.position.array)}else n instanceof o.BufferGeometry&&this.setPositions(n.attributes.position.array);return this},r.prototype.copy=function(){return this},r}(A);Object.assign(P.prototype,{isLineGeometry:!0});var k="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==",F=14467195,Q=8,Z=2,X=20,I=null,_=function(a){y(r,a);function r(t,n){t===void 0&&(t=new o.Vector3),n===void 0&&(n=new o.Vector3);var e=a.call(this)||this;e.type="FiveLine",e.needsRender=!0;var i=new P,s=new g({color:F,linewidth:Z,dashScale:X,dashed:!1});e.line=new C(i,s);var c=new o.BufferGeometry,p=new o.PointsMaterial({color:F,size:Q,map:I||(I=new o.TextureLoader().load(k)),sizeAttenuation:!1,transparent:!0});return e.points=new o.Points(c,p),e.points.renderOrder=11,e.points.frustumCulled=!1,e.setPoints(t,n),e.add(e.line,e.points),e}return Object.defineProperty(r,"version",{get:function(){return"6.2.0-alpha.0"},enumerable:!1,configurable:!0}),r.prototype.setPoints=function(t,n){var e=[].concat(t.toArray(),n.toArray());this.points.geometry.setAttribute("position",new o.BufferAttribute(new Float32Array(e),3)),this.line.geometry.setPositions(e),this.line.computeLineDistances(),this.needsRender=!0},r.prototype.getPoints=function(){var t=this.points.geometry.attributes.position.array;return[new o.Vector3(t[0],t[1],t[2]),new o.Vector3(t[3],t[4],t[5])]},r.prototype.setMaterial=function(t){var n=this.line.material;for(var e in t)if(t.hasOwnProperty(e)){var i=t[e];e==="dashed"?(n.dashed=i,i?n.defines.USE_DASH="":delete n.defines.USE_DASH,n.needsUpdate=!0):n[e]=t[e]}this.needsRender=!0},r.prototype.setResolution=function(t,n){var e=this.line.material.resolution;(e.x!==t||e.y!==n)&&(e.set(t,n),this.needsRender=!0)},r}(o.Object3D);Object.assign(_.prototype,{isFiveLine:!0});exports.Line=_;exports.LineGeometry=P;exports.LineMaterial=g;exports.LineSegmentsGeometry=A;exports.THREE_Line2=C;exports.THREE_LineSegments2=M;
454
+ `},g=function(a){y(r,a);function r(t){var n=a.call(this,{uniforms:o.UniformsUtils.clone(B.uniforms),vertexShader:B.vertexShader,fragmentShader:B.fragmentShader,clipping:!0})||this;return n.type="LineMaterial",n.dashed=!1,Object.defineProperties(n,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(e){this.uniforms.diffuse.value=e}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(e){this.uniforms.linewidth.value=e}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(e){this.uniforms.dashScale.value=e}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(e){this.uniforms.dashSize.value=e}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(e){this.uniforms.gapSize.value=e}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(e){this.uniforms.opacity.value=e}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(e){this.uniforms.resolution.value.copy(e)}}}),n.setValues(t),n}return r}(o.ShaderMaterial);Object.assign(g.prototype,{isLineMaterial:!0});var M=function(a){y(r,a);function r(t,n){var e=a.call(this)||this;return e.type="LineSegments2",e.geometry=t!==void 0?t:new A,e.material=n!==void 0?n:new g({color:Math.random()*16777215}),e}return r.prototype.computeLineDistances=function(){for(var t=this.geometry,n=t.attributes.instanceStart,e=t.attributes.instanceEnd,i=new Float32Array(2*n.count),s=new o.Vector3,c=new o.Vector3,p=0,u=0,S=n.count;p<S;p++,u+=2)s.fromBufferAttribute(n,p),c.fromBufferAttribute(e,p),i[u]=u===0?0:i[u-1],i[u+1]=i[u]+s.distanceTo(c);var h=new o.InstancedInterleavedBuffer(i,2,1);return t.setAttribute("instanceDistanceStart",new o.InterleavedBufferAttribute(h,1,0)),t.setAttribute("instanceDistanceEnd",new o.InterleavedBufferAttribute(h,1,1)),this},r.prototype.raycast=function(t,n){t.camera===null&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var e=t.ray,i=t.camera,s=i.projectionMatrix,c=this.geometry,p=this.material,u=p.resolution,S=p.linewidth,h=c.attributes.instanceStart,U=c.attributes.instanceEnd,l=new o.Vector4,f=new o.Vector4,v=new o.Vector4,b=new o.Vector3,w=new o.Matrix4,d=new o.Line3,z=new o.Vector3;e.at(1,v),v.w=1,v.applyMatrix4(i.matrixWorldInverse),v.applyMatrix4(s),v.multiplyScalar(1/v.w),v.x*=u.x/2,v.y*=u.y/2,v.z=0,b.copy(v);var x=this.matrixWorld;w.multiplyMatrices(i.matrixWorldInverse,x);for(var m=0,N=h.count;m<N;m++){l.fromBufferAttribute(h,m),f.fromBufferAttribute(U,m),l.w=1,f.w=1,l.applyMatrix4(w),f.applyMatrix4(w),l.applyMatrix4(s),f.applyMatrix4(s),l.multiplyScalar(1/l.w),f.multiplyScalar(1/f.w);var j=l.z<-1&&f.z<-1,G=l.z>1&&f.z>1;if(!(j||G)){l.x*=u.x/2,l.y*=u.y/2,f.x*=u.x/2,f.y*=u.y/2,d.start.copy(l),d.start.z=0,d.end.copy(f),d.end.z=0;var D=d.closestPointToPointParameter(b,!0);d.at(D,z);var O=o.MathUtils.lerp(l.z,f.z,D),W=O>=-1&&O<=1,T=b.distanceTo(z)<S*.5;if(W&&T){d.start.fromBufferAttribute(h,m),d.end.fromBufferAttribute(U,m),d.start.applyMatrix4(x),d.end.applyMatrix4(x);var V=new o.Vector3,E=new o.Vector3;e.distanceSqToSegment(d.start,d.end,E,V),n.push({point:E,pointOnLine:V,distance:e.origin.distanceTo(E),object:this,faceIndex:m})}}}},r}(o.Mesh);Object.assign(M.prototype,{isLineSegments2:!0});var C=function(a){y(r,a);function r(t,n){var e=a.call(this,t,n)||this;return e.type="Line2",e}return r}(M);Object.assign(C.prototype,{isLine2:!0});var P=function(a){y(r,a);function r(){var t=a.call(this)||this;return t.type="LineGeometry",t}return r.prototype.setPositions=function(t){for(var n=t.length-3,e=new Float32Array(2*n),i=0;i<n;i+=3)e[2*i]=t[i],e[2*i+1]=t[i+1],e[2*i+2]=t[i+2],e[2*i+3]=t[i+3],e[2*i+4]=t[i+4],e[2*i+5]=t[i+5];return a.prototype.setPositions.call(this,e),this},r.prototype.setColors=function(t){for(var n=t.length-3,e=new Float32Array(2*n),i=0;i<n;i+=3)e[2*i]=t[i],e[2*i+1]=t[i+1],e[2*i+2]=t[i+2],e[2*i+3]=t[i+3],e[2*i+4]=t[i+4],e[2*i+5]=t[i+5];return a.prototype.setColors.call(this,e),this},r.prototype.fromLine=function(t){var n=t.geometry;if(n instanceof o.Geometry){var e=new o.BufferGeometry().fromGeometry(n);this.setPositions(e.attributes.position.array)}else n instanceof o.BufferGeometry&&this.setPositions(n.attributes.position.array);return this},r.prototype.copy=function(){return this},r}(A);Object.assign(P.prototype,{isLineGeometry:!0});var k="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==",F=14467195,Q=8,Z=2,X=20,I=null,_=function(a){y(r,a);function r(t,n){t===void 0&&(t=new o.Vector3),n===void 0&&(n=new o.Vector3);var e=a.call(this)||this;e.type="FiveLine",e.needsRender=!0;var i=new P,s=new g({color:F,linewidth:Z,dashScale:X,dashed:!1});e.line=new C(i,s);var c=new o.BufferGeometry,p=new o.PointsMaterial({color:F,size:Q,map:I||(I=new o.TextureLoader().load(k)),sizeAttenuation:!1,transparent:!0});return e.points=new o.Points(c,p),e.points.renderOrder=11,e.points.frustumCulled=!1,e.setPoints(t,n),e.add(e.line,e.points),e}return Object.defineProperty(r,"version",{get:function(){return"6.2.0-alpha.1"},enumerable:!1,configurable:!0}),r.prototype.setPoints=function(t,n){var e=[].concat(t.toArray(),n.toArray());this.points.geometry.setAttribute("position",new o.BufferAttribute(new Float32Array(e),3)),this.line.geometry.setPositions(e),this.line.computeLineDistances(),this.needsRender=!0},r.prototype.getPoints=function(){var t=this.points.geometry.attributes.position.array;return[new o.Vector3(t[0],t[1],t[2]),new o.Vector3(t[3],t[4],t[5])]},r.prototype.setMaterial=function(t){var n=this.line.material;for(var e in t)if(t.hasOwnProperty(e)){var i=t[e];e==="dashed"?(n.dashed=i,i?n.defines.USE_DASH="":delete n.defines.USE_DASH,n.needsUpdate=!0):n[e]=t[e]}this.needsRender=!0},r.prototype.setResolution=function(t,n){var e=this.line.material.resolution;(e.x!==t||e.y!==n)&&(e.set(t,n),this.needsRender=!0)},r}(o.Object3D);Object.assign(_.prototype,{isFiveLine:!0});exports.Line=_;exports.LineGeometry=P;exports.LineMaterial=g;exports.LineSegmentsGeometry=A;exports.THREE_Line2=C;exports.THREE_LineSegments2=M;