@needle-tools/engine 4.5.8 → 4.6.0-next.16a31e7

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.
Files changed (62) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/{gltf-progressive-Bx_ZJgfQ.min.js → gltf-progressive-Bm9eEfgu.min.js} +1 -1
  3. package/dist/{gltf-progressive-Ccf3INjK.umd.cjs → gltf-progressive-Dn6o99rH.umd.cjs} +1 -1
  4. package/dist/{gltf-progressive-D8GP6sjZ.js → gltf-progressive-GjIqwSG3.js} +2 -2
  5. package/dist/{needle-engine.bundle-DsPSVnUc.min.js → needle-engine.bundle-B3R3Wy6r.min.js} +128 -124
  6. package/dist/{needle-engine.bundle-A-KGqR38.js → needle-engine.bundle-CD_7OoAZ.js} +5920 -5903
  7. package/dist/{needle-engine.bundle-2--i65ba.umd.cjs → needle-engine.bundle-zz9fVYpB.umd.cjs} +141 -137
  8. package/dist/needle-engine.js +4 -4
  9. package/dist/needle-engine.min.js +1 -1
  10. package/dist/needle-engine.umd.cjs +1 -1
  11. package/dist/{postprocessing-CLwnKusi.umd.cjs → postprocessing-CRQa6Qxn.umd.cjs} +177 -97
  12. package/dist/{postprocessing-DS5I4Iim.js → postprocessing-D6W1EyZ-.js} +1095 -1001
  13. package/dist/{postprocessing-CdIScgB8.min.js → postprocessing-DF8AlRgW.min.js} +178 -98
  14. package/dist/{three-CFtLGNtV.min.js → three-Boa-jOq-.min.js} +18 -18
  15. package/dist/{three-1JG7vpNC.js → three-Bz6X1mrw.js} +0 -1
  16. package/dist/{three-f-JuZtOs.umd.cjs → three-DMrv-4ar.umd.cjs} +20 -20
  17. package/dist/{three-examples-BeoqFh8m.umd.cjs → three-examples-C7ryg8vN.umd.cjs} +1 -1
  18. package/dist/{three-examples-CPlN41GO.min.js → three-examples-DuVhxqft.min.js} +1 -1
  19. package/dist/{three-examples-CyWe9wwo.js → three-examples-GggCDHv0.js} +1 -1
  20. package/dist/{three-mesh-ui-B18kdQmk.js → three-mesh-ui-CLNOfsWn.js} +1 -1
  21. package/dist/{three-mesh-ui-BMeLuYD5.min.js → three-mesh-ui-CY6Izc7C.min.js} +1 -1
  22. package/dist/{three-mesh-ui-DMdtSVhY.umd.cjs → three-mesh-ui-CwlN0FUC.umd.cjs} +1 -1
  23. package/dist/{vendor-BbM-oI6p.js → vendor-BSD1RQIh.js} +1 -1
  24. package/dist/{vendor-CJFfVMoq.umd.cjs → vendor-DHr4aqIZ.umd.cjs} +1 -1
  25. package/dist/{vendor-CTtGKiDe.min.js → vendor-zxXa3Dmr.min.js} +1 -1
  26. package/lib/engine/engine_assetdatabase.js +3 -1
  27. package/lib/engine/engine_assetdatabase.js.map +1 -1
  28. package/lib/engine/engine_context.d.ts +2 -2
  29. package/lib/engine/engine_context.js +11 -10
  30. package/lib/engine/engine_context.js.map +1 -1
  31. package/lib/engine/engine_utils.js +1 -1
  32. package/lib/engine/engine_utils.js.map +1 -1
  33. package/lib/engine-components/AudioSource.d.ts +1 -1
  34. package/lib/engine-components/AudioSource.js +5 -4
  35. package/lib/engine-components/AudioSource.js.map +1 -1
  36. package/lib/engine-components/ReflectionProbe.d.ts +2 -1
  37. package/lib/engine-components/ReflectionProbe.js +4 -1
  38. package/lib/engine-components/ReflectionProbe.js.map +1 -1
  39. package/lib/engine-components/Renderer.js +9 -5
  40. package/lib/engine-components/Renderer.js.map +1 -1
  41. package/lib/engine-components/Skybox.d.ts +7 -1
  42. package/lib/engine-components/Skybox.js +30 -9
  43. package/lib/engine-components/Skybox.js.map +1 -1
  44. package/lib/engine-components/postprocessing/Effects/Tonemapping.js +10 -6
  45. package/lib/engine-components/postprocessing/Effects/Tonemapping.js.map +1 -1
  46. package/lib/engine-components/postprocessing/PostProcessingHandler.d.ts +2 -1
  47. package/lib/engine-components/postprocessing/PostProcessingHandler.js +81 -66
  48. package/lib/engine-components/postprocessing/PostProcessingHandler.js.map +1 -1
  49. package/package.json +2 -2
  50. package/plugins/types/userconfig.d.ts +1 -1
  51. package/plugins/vite/asap.js +26 -20
  52. package/plugins/vite/dependency-watcher.js +8 -2
  53. package/plugins/vite/local-files.js +268 -59
  54. package/src/engine/engine_assetdatabase.ts +3 -1
  55. package/src/engine/engine_context.ts +14 -11
  56. package/src/engine/engine_utils.ts +1 -1
  57. package/src/engine-components/AudioSource.ts +5 -5
  58. package/src/engine-components/ReflectionProbe.ts +5 -1
  59. package/src/engine-components/Renderer.ts +10 -7
  60. package/src/engine-components/Skybox.ts +30 -10
  61. package/src/engine-components/postprocessing/Effects/Tonemapping.ts +9 -7
  62. package/src/engine-components/postprocessing/PostProcessingHandler.ts +88 -72
@@ -1,4 +1,4 @@
1
- import{PlaneGeometry as gs,ShaderChunk as Fa,Object3D as vs,Layers as hi,MeshBasicMaterial as _s,DoubleSide as sn,AdditiveBlending as bs,InstancedBufferAttribute as Ct,DynamicDrawUsage as ge,InstancedBufferGeometry as La,Uniform$1 as Le,ShaderMaterial as on,BufferGeometry as ar,BufferAttribute as Te,Mesh as an,MeshStandardMaterial as Va,MeshPhysicalMaterial as ja,Triangle as Pt,Vector3 as I,Plane as xs,Line3 as ht,Vector2 as Vt,Sphere as Ss,Matrix4 as Ve,Box3 as Ye,BackSide as Ja,REVISION as Ga,FrontSide as ws,BatchedMesh as Wa,Ray as Xa,Matrix3 as qa,Vector4 as cn}from"./three-CFtLGNtV.min.js";const ne={ComponentState:Object.freeze({DEFAULT:"default",TOUCHED:"touched",PRESSED:"pressed"}),ComponentProperty:Object.freeze({BUTTON:"button",X_AXIS:"xAxis",Y_AXIS:"yAxis",STATE:"state"}),ButtonTouchThreshold:.05,AxisTouchThreshold:.1,VisualResponseProperty:Object.freeze({TRANSFORM:"transform",VISIBILITY:"visibility"})};async function Ms(n){const e=await fetch(n);if(e.ok)return e.json();throw new Error(e.statusText)}async function Ha(n){return await Ms(`${n}/profilesList.json`)}async function Ya(n,e,t=null,r=!0){if(!n)throw new Error("No xrInputSource supplied");const i=await Ha(e);let s;if(n.profiles.some(c=>{const l=i[c];return l&&(s={profileId:c,profilePath:`${e}/${l.path}`,deprecated:!!l.deprecated}),!!s}),!s){if(!t)throw new Error("No matching profile name found");const c=i[t];if(!c)throw new Error(`No matching profile name found and default profile "${t}" missing.`);s={profileId:t,profilePath:`${e}/${c.path}`,deprecated:!!c.deprecated}}const a=await Ms(s.profilePath);let o;if(r){let c;if(n.handedness==="any"?c=a.layouts[Object.keys(a.layouts)[0]]:c=a.layouts[n.handedness],!c)throw new Error(`No matching handedness, ${n.handedness}, in profile ${s.profileId}`);c.assetPath&&(o=s.profilePath.replace("profile.json",c.assetPath))}return{profile:a,assetPath:o}}const Za={xAxis:0,yAxis:0,button:0,state:ne.ComponentState.DEFAULT};function Qa(n=0,e=0){let t=n,r=e;if(Math.sqrt(n*n+e*e)>1){const i=Math.atan2(e,n);t=Math.cos(i),r=Math.sin(i)}return{normalizedXAxis:t*.5+.5,normalizedYAxis:r*.5+.5}}class Ka{constructor(e){this.componentProperty=e.componentProperty,this.states=e.states,this.valueNodeName=e.valueNodeName,this.valueNodeProperty=e.valueNodeProperty,this.valueNodeProperty===ne.VisualResponseProperty.TRANSFORM&&(this.minNodeName=e.minNodeName,this.maxNodeName=e.maxNodeName),this.value=0,this.updateFromComponent(Za)}updateFromComponent({xAxis:e,yAxis:t,button:r,state:i}){const{normalizedXAxis:s,normalizedYAxis:a}=Qa(e,t);switch(this.componentProperty){case ne.ComponentProperty.X_AXIS:this.value=this.states.includes(i)?s:.5;break;case ne.ComponentProperty.Y_AXIS:this.value=this.states.includes(i)?a:.5;break;case ne.ComponentProperty.BUTTON:this.value=this.states.includes(i)?r:0;break;case ne.ComponentProperty.STATE:this.valueNodeProperty===ne.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(i):this.value=this.states.includes(i)?1:0;break;default:throw new Error(`Unexpected visualResponse componentProperty ${this.componentProperty}`)}}}class $a{constructor(e,t){if(!e||!t||!t.visualResponses||!t.gamepadIndices||Object.keys(t.gamepadIndices).length===0)throw new Error("Invalid arguments supplied");this.id=e,this.type=t.type,this.rootNodeName=t.rootNodeName,this.touchPointNodeName=t.touchPointNodeName,this.visualResponses={},Object.keys(t.visualResponses).forEach(r=>{const i=new Ka(t.visualResponses[r]);this.visualResponses[r]=i}),this.gamepadIndices=Object.assign({},t.gamepadIndices),this.values={state:ne.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}}get data(){return{id:this.id,...this.values}}updateFromGamepad(e){if(this.values.state=ne.ComponentState.DEFAULT,this.gamepadIndices.button!==void 0&&e.buttons.length>this.gamepadIndices.button){const t=e.buttons[this.gamepadIndices.button];this.values.button=t.value,this.values.button=this.values.button<0?0:this.values.button,this.values.button=this.values.button>1?1:this.values.button,t.pressed||this.values.button===1?this.values.state=ne.ComponentState.PRESSED:(t.touched||this.values.button>ne.ButtonTouchThreshold)&&(this.values.state=ne.ComponentState.TOUCHED)}this.gamepadIndices.xAxis!==void 0&&e.axes.length>this.gamepadIndices.xAxis&&(this.values.xAxis=e.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===ne.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>ne.AxisTouchThreshold&&(this.values.state=ne.ComponentState.TOUCHED)),this.gamepadIndices.yAxis!==void 0&&e.axes.length>this.gamepadIndices.yAxis&&(this.values.yAxis=e.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===ne.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>ne.AxisTouchThreshold&&(this.values.state=ne.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach(t=>{t.updateFromComponent(this.values)})}}class ec{constructor(e,t,r){if(!e)throw new Error("No xrInputSource supplied");if(!t)throw new Error("No profile supplied");this.xrInputSource=e,this.assetUrl=r,this.id=t.profileId,this.layoutDescription=t.layouts[e.handedness],this.components={},Object.keys(this.layoutDescription.components).forEach(i=>{const s=this.layoutDescription.components[i];this.components[i]=new $a(i,s)}),this.updateFromGamepad()}get gripSpace(){return this.xrInputSource.gripSpace}get targetRaySpace(){return this.xrInputSource.targetRaySpace}get data(){const e=[];return Object.values(this.components).forEach(t=>{e.push(t.data)}),e}updateFromGamepad(){Object.values(this.components).forEach(e=>{e.updateFromGamepad(this.xrInputSource.gamepad)})}}const ln=2,Ze=4,ut=4,Ts=4,gt=new Int32Array(2),Cs=new Float32Array(gt.buffer),Ps=new Float64Array(gt.buffer),ui=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;class yt{constructor(e,t){this.low=e|0,this.high=t|0}static create(e,t){return e==0&&t==0?yt.ZERO:new yt(e,t)}toFloat64(){return(this.low>>>0)+this.high*4294967296}equals(e){return this.low==e.low&&this.high==e.high}}yt.ZERO=new yt(0,0);var hn;(function(n){n[n.UTF8_BYTES=1]="UTF8_BYTES",n[n.UTF16_STRING=2]="UTF16_STRING"})(hn||(hn={}));class Or{constructor(e){this.bytes_=e,this.position_=0}static allocate(e){return new Or(new Uint8Array(e))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(e){this.position_=e}capacity(){return this.bytes_.length}readInt8(e){return this.readUint8(e)<<24>>24}readUint8(e){return this.bytes_[e]}readInt16(e){return this.readUint16(e)<<16>>16}readUint16(e){return this.bytes_[e]|this.bytes_[e+1]<<8}readInt32(e){return this.bytes_[e]|this.bytes_[e+1]<<8|this.bytes_[e+2]<<16|this.bytes_[e+3]<<24}readUint32(e){return this.readInt32(e)>>>0}readInt64(e){return new yt(this.readInt32(e),this.readInt32(e+4))}readUint64(e){return new yt(this.readUint32(e),this.readUint32(e+4))}readFloat32(e){return gt[0]=this.readInt32(e),Cs[0]}readFloat64(e){return gt[ui?0:1]=this.readInt32(e),gt[ui?1:0]=this.readInt32(e+4),Ps[0]}writeInt8(e,t){this.bytes_[e]=t}writeUint8(e,t){this.bytes_[e]=t}writeInt16(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8}writeUint16(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8}writeInt32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeUint32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeInt64(e,t){this.writeInt32(e,t.low),this.writeInt32(e+4,t.high)}writeUint64(e,t){this.writeUint32(e,t.low),this.writeUint32(e+4,t.high)}writeFloat32(e,t){Cs[0]=t,this.writeInt32(e,gt[0])}writeFloat64(e,t){Ps[0]=t,this.writeInt32(e,gt[ui?0:1]),this.writeInt32(e+4,gt[ui?1:0])}getBufferIdentifier(){if(this.bytes_.length<this.position_+Ze+ut)throw new Error("FlatBuffers: ByteBuffer is too short to contain an identifier.");let e="";for(let t=0;t<ut;t++)e+=String.fromCharCode(this.readInt8(this.position_+Ze+t));return e}__offset(e,t){const r=e-this.readInt32(e);return t<this.readInt16(r)?this.readInt16(r+t):0}__union(e,t){return e.bb_pos=t+this.readInt32(t),e.bb=this,e}__string(e,t){e+=this.readInt32(e);const r=this.readInt32(e);let i="",s=0;if(e+=Ze,t===hn.UTF8_BYTES)return this.bytes_.subarray(e,e+r);for(;s<r;){let a;const o=this.readUint8(e+s++);if(o<192)a=o;else{const c=this.readUint8(e+s++);if(o<224)a=(o&31)<<6|c&63;else{const l=this.readUint8(e+s++);if(o<240)a=(o&15)<<12|(c&63)<<6|l&63;else{const h=this.readUint8(e+s++);a=(o&7)<<18|(c&63)<<12|(l&63)<<6|h&63}}}a<65536?i+=String.fromCharCode(a):(a-=65536,i+=String.fromCharCode((a>>10)+55296,(a&1023)+56320))}return i}__union_with_string(e,t){return typeof e=="string"?this.__string(t):this.__union(e,t)}__indirect(e){return e+this.readInt32(e)}__vector(e){return e+this.readInt32(e)+Ze}__vector_len(e){return this.readInt32(e+this.readInt32(e))}__has_identifier(e){if(e.length!=ut)throw new Error("FlatBuffers: file identifier must be length "+ut);for(let t=0;t<ut;t++)if(e.charCodeAt(t)!=this.readInt8(this.position()+Ze+t))return!1;return!0}createLong(e,t){return yt.create(e,t)}createScalarList(e,t){const r=[];for(let i=0;i<t;++i)e(i)!==null&&r.push(e(i));return r}createObjList(e,t){const r=[];for(let i=0;i<t;++i){const s=e(i);s!==null&&r.push(s.unpack())}return r}}class ms{constructor(e){this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null;let t;e?t=e:t=1024,this.bb=Or.allocate(t),this.space=t}clear(){this.bb.clear(),this.space=this.bb.capacity(),this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null}forceDefaults(e){this.force_defaults=e}dataBuffer(){return this.bb}asUint8Array(){return this.bb.bytes().subarray(this.bb.position(),this.bb.position()+this.offset())}prep(e,t){e>this.minalign&&(this.minalign=e);const r=~(this.bb.capacity()-this.space+t)+1&e-1;for(;this.space<r+e+t;){const i=this.bb.capacity();this.bb=ms.growByteBuffer(this.bb),this.space+=this.bb.capacity()-i}this.pad(r)}pad(e){for(let t=0;t<e;t++)this.bb.writeInt8(--this.space,0)}writeInt8(e){this.bb.writeInt8(this.space-=1,e)}writeInt16(e){this.bb.writeInt16(this.space-=2,e)}writeInt32(e){this.bb.writeInt32(this.space-=4,e)}writeInt64(e){this.bb.writeInt64(this.space-=8,e)}writeFloat32(e){this.bb.writeFloat32(this.space-=4,e)}writeFloat64(e){this.bb.writeFloat64(this.space-=8,e)}addInt8(e){this.prep(1,0),this.writeInt8(e)}addInt16(e){this.prep(2,0),this.writeInt16(e)}addInt32(e){this.prep(4,0),this.writeInt32(e)}addInt64(e){this.prep(8,0),this.writeInt64(e)}addFloat32(e){this.prep(4,0),this.writeFloat32(e)}addFloat64(e){this.prep(8,0),this.writeFloat64(e)}addFieldInt8(e,t,r){(this.force_defaults||t!=r)&&(this.addInt8(t),this.slot(e))}addFieldInt16(e,t,r){(this.force_defaults||t!=r)&&(this.addInt16(t),this.slot(e))}addFieldInt32(e,t,r){(this.force_defaults||t!=r)&&(this.addInt32(t),this.slot(e))}addFieldInt64(e,t,r){(this.force_defaults||!t.equals(r))&&(this.addInt64(t),this.slot(e))}addFieldFloat32(e,t,r){(this.force_defaults||t!=r)&&(this.addFloat32(t),this.slot(e))}addFieldFloat64(e,t,r){(this.force_defaults||t!=r)&&(this.addFloat64(t),this.slot(e))}addFieldOffset(e,t,r){(this.force_defaults||t!=r)&&(this.addOffset(t),this.slot(e))}addFieldStruct(e,t,r){t!=r&&(this.nested(t),this.slot(e))}nested(e){if(e!=this.offset())throw new Error("FlatBuffers: struct must be serialized inline.")}notNested(){if(this.isNested)throw new Error("FlatBuffers: object serialization must not be nested.")}slot(e){this.vtable!==null&&(this.vtable[e]=this.offset())}offset(){return this.bb.capacity()-this.space}static growByteBuffer(e){const t=e.capacity();if(t&3221225472)throw new Error("FlatBuffers: cannot grow buffer beyond 2 gigabytes.");const r=t<<1,i=Or.allocate(r);return i.setPosition(r-t),i.bytes().set(e.bytes(),r-t),i}addOffset(e){this.prep(Ze,0),this.writeInt32(this.offset()-e+Ze)}startObject(e){this.notNested(),this.vtable==null&&(this.vtable=[]),this.vtable_in_use=e;for(let t=0;t<e;t++)this.vtable[t]=0;this.isNested=!0,this.object_start=this.offset()}endObject(){if(this.vtable==null||!this.isNested)throw new Error("FlatBuffers: endObject called without startObject");this.addInt32(0);const e=this.offset();let t=this.vtable_in_use-1;for(;t>=0&&this.vtable[t]==0;t--);const r=t+1;for(;t>=0;t--)this.addInt16(this.vtable[t]!=0?e-this.vtable[t]:0);const i=2;this.addInt16(e-this.object_start);const s=(r+i)*ln;this.addInt16(s);let a=0;const o=this.space;e:for(t=0;t<this.vtables.length;t++){const c=this.bb.capacity()-this.vtables[t];if(s==this.bb.readInt16(c)){for(let l=ln;l<s;l+=ln)if(this.bb.readInt16(o+l)!=this.bb.readInt16(c+l))continue e;a=this.vtables[t];break}}return a?(this.space=this.bb.capacity()-e,this.bb.writeInt32(this.space,a-e)):(this.vtables.push(this.offset()),this.bb.writeInt32(this.bb.capacity()-e,this.offset()-e)),this.isNested=!1,e}finish(e,t,r){const i=r?Ts:0;if(t){const s=t;if(this.prep(this.minalign,Ze+ut+i),s.length!=ut)throw new Error("FlatBuffers: file identifier must be length "+ut);for(let a=ut-1;a>=0;a--)this.writeInt8(s.charCodeAt(a))}this.prep(this.minalign,Ze+i),this.addOffset(e),i&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(e,t){this.finish(e,t,!0)}requiredField(e,t){const r=this.bb.capacity()-e,i=r-this.bb.readInt32(r);if(this.bb.readInt16(i+t)==0)throw new Error("FlatBuffers: field "+t+" must be set")}startVector(e,t,r){this.notNested(),this.vector_num_elems=t,this.prep(Ze,e*t),this.prep(r,e*t)}endVector(){return this.writeInt32(this.vector_num_elems),this.offset()}createSharedString(e){if(!e)return 0;if(this.string_maps||(this.string_maps=new Map),this.string_maps.has(e))return this.string_maps.get(e);const t=this.createString(e);return this.string_maps.set(e,t),t}createString(e){if(!e)return 0;let t;if(e instanceof Uint8Array)t=e;else{t=[];let r=0;for(;r<e.length;){let i;const s=e.charCodeAt(r++);if(s<55296||s>=56320)i=s;else{const a=e.charCodeAt(r++);i=(s<<10)+a+-56613888}i<128?t.push(i):(i<2048?t.push(i>>6&31|192):(i<65536?t.push(i>>12&15|224):t.push(i>>18&7|240,i>>12&63|128),t.push(i>>6&63|128)),t.push(i&63|128))}}this.addInt8(0),this.startVector(1,t.length,1),this.bb.setPosition(this.space-=t.length);for(let r=0,i=this.space,s=this.bb.bytes();r<t.length;r++)s[i++]=t[r];return this.endVector()}createLong(e,t){return yt.create(e,t)}createObjectOffset(e){return e===null?0:typeof e=="string"?this.createString(e):e.pack(this)}createObjectOffsetList(e){const t=[];for(let r=0;r<e.length;++r){const i=e[r];if(i!==null)t.push(this.createObjectOffset(i));else throw new Error("FlatBuffers: Argument for createObjectOffsetList cannot contain null.")}return t}createStructOffsetList(e,t){return t(this,e.length),this.createObjectOffsetList(e),this.endVector()}}function di(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Es={exports:{}},ks;function As(){return ks||(ks=1,function(n){var e={};e.useBlobBuilder=function(){try{return new Blob([]),!1}catch{return!0}}(),e.useArrayBufferView=!e.useBlobBuilder&&function(){try{return new Blob([new Uint8Array([])]).size===0}catch{return!0}}(),n.exports.binaryFeatures=e;var t=n.exports.BlobBuilder;typeof window<"u"&&(t=n.exports.BlobBuilder=window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder||window.BlobBuilder);function r(){this._pieces=[],this._parts=[]}r.prototype.append=function(i){typeof i=="number"?this._pieces.push(i):(this.flush(),this._parts.push(i))},r.prototype.flush=function(){if(this._pieces.length>0){var i=new Uint8Array(this._pieces);e.useArrayBufferView||(i=i.buffer),this._parts.push(i),this._pieces=[]}},r.prototype.getBuffer=function(){if(this.flush(),e.useBlobBuilder){for(var i=new t,s=0,a=this._parts.length;s<a;s++)i.append(this._parts[s]);return i.getBlob()}else return new Blob(this._parts)},n.exports.BufferBuilder=r}(Es)),Es.exports}var un,Rs;function tc(){if(Rs)return un;Rs=1;var n=As().BufferBuilder,e=As().binaryFeatures,t={unpack:function(o){var c=new r(o);return c.unpack()},pack:function(o){var c=new i;c.pack(o);var l=c.getBuffer();return l}};un=t;function r(o){this.index=0,this.dataBuffer=o,this.dataView=new Uint8Array(this.dataBuffer),this.length=this.dataBuffer.byteLength}r.prototype.unpack=function(){var o=this.unpack_uint8();if(o<128)return o;if((o^224)<32)return(o^224)-32;var c;if((c=o^160)<=15)return this.unpack_raw(c);if((c=o^176)<=15)return this.unpack_string(c);if((c=o^144)<=15)return this.unpack_array(c);if((c=o^128)<=15)return this.unpack_map(c);switch(o){case 192:return null;case 193:return;case 194:return!1;case 195:return!0;case 202:return this.unpack_float();case 203:return this.unpack_double();case 204:return this.unpack_uint8();case 205:return this.unpack_uint16();case 206:return this.unpack_uint32();case 207:return this.unpack_uint64();case 208:return this.unpack_int8();case 209:return this.unpack_int16();case 210:return this.unpack_int32();case 211:return this.unpack_int64();case 212:return;case 213:return;case 214:return;case 215:return;case 216:return c=this.unpack_uint16(),this.unpack_string(c);case 217:return c=this.unpack_uint32(),this.unpack_string(c);case 218:return c=this.unpack_uint16(),this.unpack_raw(c);case 219:return c=this.unpack_uint32(),this.unpack_raw(c);case 220:return c=this.unpack_uint16(),this.unpack_array(c);case 221:return c=this.unpack_uint32(),this.unpack_array(c);case 222:return c=this.unpack_uint16(),this.unpack_map(c);case 223:return c=this.unpack_uint32(),this.unpack_map(c)}},r.prototype.unpack_uint8=function(){var o=this.dataView[this.index]&255;return this.index++,o},r.prototype.unpack_uint16=function(){var o=this.read(2),c=(o[0]&255)*256+(o[1]&255);return this.index+=2,c},r.prototype.unpack_uint32=function(){var o=this.read(4),c=((o[0]*256+o[1])*256+o[2])*256+o[3];return this.index+=4,c},r.prototype.unpack_uint64=function(){var o=this.read(8),c=((((((o[0]*256+o[1])*256+o[2])*256+o[3])*256+o[4])*256+o[5])*256+o[6])*256+o[7];return this.index+=8,c},r.prototype.unpack_int8=function(){var o=this.unpack_uint8();return o<128?o:o-256},r.prototype.unpack_int16=function(){var o=this.unpack_uint16();return o<32768?o:o-65536},r.prototype.unpack_int32=function(){var o=this.unpack_uint32();return o<Math.pow(2,31)?o:o-Math.pow(2,32)},r.prototype.unpack_int64=function(){var o=this.unpack_uint64();return o<Math.pow(2,63)?o:o-Math.pow(2,64)},r.prototype.unpack_raw=function(o){if(this.length<this.index+o)throw new Error("BinaryPackFailure: index is out of range "+this.index+" "+o+" "+this.length);var c=this.dataBuffer.slice(this.index,this.index+o);return this.index+=o,c},r.prototype.unpack_string=function(o){for(var c=this.read(o),l=0,h="",u,d;l<o;)u=c[l],u<128?(h+=String.fromCharCode(u),l++):(u^192)<32?(d=(u^192)<<6|c[l+1]&63,h+=String.fromCharCode(d),l+=2):(d=(u&15)<<12|(c[l+1]&63)<<6|c[l+2]&63,h+=String.fromCharCode(d),l+=3);return this.index+=o,h},r.prototype.unpack_array=function(o){for(var c=new Array(o),l=0;l<o;l++)c[l]=this.unpack();return c},r.prototype.unpack_map=function(o){for(var c={},l=0;l<o;l++){var h=this.unpack(),u=this.unpack();c[h]=u}return c},r.prototype.unpack_float=function(){var o=this.unpack_uint32(),c=o>>31,l=(o>>23&255)-127,h=o&8388607|8388608;return(c===0?1:-1)*h*Math.pow(2,l-23)},r.prototype.unpack_double=function(){var o=this.unpack_uint32(),c=this.unpack_uint32(),l=o>>31,h=(o>>20&2047)-1023,u=o&1048575|1048576,d=u*Math.pow(2,h-20)+c*Math.pow(2,h-52);return(l===0?1:-1)*d},r.prototype.read=function(o){var c=this.index;if(c+o<=this.length)return this.dataView.subarray(c,c+o);throw new Error("BinaryPackFailure: read index out of range")};function i(){this.bufferBuilder=new n}i.prototype.getBuffer=function(){return this.bufferBuilder.getBuffer()},i.prototype.pack=function(o){var c=typeof o;if(c==="string")this.pack_string(o);else if(c==="number")Math.floor(o)===o?this.pack_integer(o):this.pack_double(o);else if(c==="boolean")o===!0?this.bufferBuilder.append(195):o===!1&&this.bufferBuilder.append(194);else if(c==="undefined")this.bufferBuilder.append(192);else if(c==="object")if(o===null)this.bufferBuilder.append(192);else{var l=o.constructor;if(l==Array)this.pack_array(o);else if(l==Blob||l==File||o instanceof Blob||o instanceof File)this.pack_bin(o);else if(l==ArrayBuffer)e.useArrayBufferView?this.pack_bin(new Uint8Array(o)):this.pack_bin(o);else if("BYTES_PER_ELEMENT"in o)e.useArrayBufferView?this.pack_bin(new Uint8Array(o.buffer)):this.pack_bin(o.buffer);else if(l==Object||l.toString().startsWith("class"))this.pack_object(o);else if(l==Date)this.pack_string(o.toString());else if(typeof o.toBinaryPack=="function")this.bufferBuilder.append(o.toBinaryPack());else throw new Error('Type "'+l.toString()+'" not yet supported')}else throw new Error('Type "'+c+'" not yet supported');this.bufferBuilder.flush()},i.prototype.pack_bin=function(o){var c=o.length||o.byteLength||o.size;if(c<=15)this.pack_uint8(160+c);else if(c<=65535)this.bufferBuilder.append(218),this.pack_uint16(c);else if(c<=4294967295)this.bufferBuilder.append(219),this.pack_uint32(c);else throw new Error("Invalid length");this.bufferBuilder.append(o)},i.prototype.pack_string=function(o){var c=a(o);if(c<=15)this.pack_uint8(176+c);else if(c<=65535)this.bufferBuilder.append(216),this.pack_uint16(c);else if(c<=4294967295)this.bufferBuilder.append(217),this.pack_uint32(c);else throw new Error("Invalid length");this.bufferBuilder.append(o)},i.prototype.pack_array=function(o){var c=o.length;if(c<=15)this.pack_uint8(144+c);else if(c<=65535)this.bufferBuilder.append(220),this.pack_uint16(c);else if(c<=4294967295)this.bufferBuilder.append(221),this.pack_uint32(c);else throw new Error("Invalid length");for(var l=0;l<c;l++)this.pack(o[l])},i.prototype.pack_integer=function(o){if(o>=-32&&o<=127)this.bufferBuilder.append(o&255);else if(o>=0&&o<=255)this.bufferBuilder.append(204),this.pack_uint8(o);else if(o>=-128&&o<=127)this.bufferBuilder.append(208),this.pack_int8(o);else if(o>=0&&o<=65535)this.bufferBuilder.append(205),this.pack_uint16(o);else if(o>=-32768&&o<=32767)this.bufferBuilder.append(209),this.pack_int16(o);else if(o>=0&&o<=4294967295)this.bufferBuilder.append(206),this.pack_uint32(o);else if(o>=-2147483648&&o<=2147483647)this.bufferBuilder.append(210),this.pack_int32(o);else if(o>=-9223372036854776e3&&o<=9223372036854776e3)this.bufferBuilder.append(211),this.pack_int64(o);else if(o>=0&&o<=18446744073709552e3)this.bufferBuilder.append(207),this.pack_uint64(o);else throw new Error("Invalid integer")},i.prototype.pack_double=function(o){var c=0;o<0&&(c=1,o=-o);var l=Math.floor(Math.log(o)/Math.LN2),h=o/Math.pow(2,l)-1,u=Math.floor(h*Math.pow(2,52)),d=Math.pow(2,32),p=c<<31|l+1023<<20|u/d&1048575,y=u%d;this.bufferBuilder.append(203),this.pack_int32(p),this.pack_int32(y)},i.prototype.pack_object=function(o){var c=Object.keys(o),l=c.length;if(l<=15)this.pack_uint8(128+l);else if(l<=65535)this.bufferBuilder.append(222),this.pack_uint16(l);else if(l<=4294967295)this.bufferBuilder.append(223),this.pack_uint32(l);else throw new Error("Invalid length");for(var h in o)o.hasOwnProperty(h)&&(this.pack(h),this.pack(o[h]))},i.prototype.pack_uint8=function(o){this.bufferBuilder.append(o)},i.prototype.pack_uint16=function(o){this.bufferBuilder.append(o>>8),this.bufferBuilder.append(o&255)},i.prototype.pack_uint32=function(o){var c=o&4294967295;this.bufferBuilder.append((c&4278190080)>>>24),this.bufferBuilder.append((c&16711680)>>>16),this.bufferBuilder.append((c&65280)>>>8),this.bufferBuilder.append(c&255)},i.prototype.pack_uint64=function(o){var c=o/Math.pow(2,32),l=o%Math.pow(2,32);this.bufferBuilder.append((c&4278190080)>>>24),this.bufferBuilder.append((c&16711680)>>>16),this.bufferBuilder.append((c&65280)>>>8),this.bufferBuilder.append(c&255),this.bufferBuilder.append((l&4278190080)>>>24),this.bufferBuilder.append((l&16711680)>>>16),this.bufferBuilder.append((l&65280)>>>8),this.bufferBuilder.append(l&255)},i.prototype.pack_int8=function(o){this.bufferBuilder.append(o&255)},i.prototype.pack_int16=function(o){this.bufferBuilder.append((o&65280)>>8),this.bufferBuilder.append(o&255)},i.prototype.pack_int32=function(o){this.bufferBuilder.append(o>>>24&255),this.bufferBuilder.append((o&16711680)>>>16),this.bufferBuilder.append((o&65280)>>>8),this.bufferBuilder.append(o&255)},i.prototype.pack_int64=function(o){var c=Math.floor(o/Math.pow(2,32)),l=o%Math.pow(2,32);this.bufferBuilder.append((c&4278190080)>>>24),this.bufferBuilder.append((c&16711680)>>>16),this.bufferBuilder.append((c&65280)>>>8),this.bufferBuilder.append(c&255),this.bufferBuilder.append((l&4278190080)>>>24),this.bufferBuilder.append((l&16711680)>>>16),this.bufferBuilder.append((l&65280)>>>8),this.bufferBuilder.append(l&255)};function s(o){var c=o.charCodeAt(0);return c<=2047?"00":c<=65535?"000":c<=2097151?"0000":c<=67108863?"00000":"000000"}function a(o){return o.length>600?new Blob([o]).size:o.replace(/[^\u0000-\u007F]/g,s).length}return un}var rc=tc();const Os=di(rc);let zs=!0,Bs=!0;function cr(n,e,t){const r=n.match(e);return r&&r.length>=t&&parseInt(r[t],10)}function jt(n,e,t){if(!n.RTCPeerConnection)return;const r=n.RTCPeerConnection.prototype,i=r.addEventListener;r.addEventListener=function(a,o){if(a!==e)return i.apply(this,arguments);const c=l=>{const h=t(l);h&&(o.handleEvent?o.handleEvent(h):o(h))};return this._eventMap=this._eventMap||{},this._eventMap[e]||(this._eventMap[e]=new Map),this._eventMap[e].set(o,c),i.apply(this,[a,c])};const s=r.removeEventListener;r.removeEventListener=function(a,o){if(a!==e||!this._eventMap||!this._eventMap[e])return s.apply(this,arguments);if(!this._eventMap[e].has(o))return s.apply(this,arguments);const c=this._eventMap[e].get(o);return this._eventMap[e].delete(o),this._eventMap[e].size===0&&delete this._eventMap[e],Object.keys(this._eventMap).length===0&&delete this._eventMap,s.apply(this,[a,c])},Object.defineProperty(r,"on"+e,{get(){return this["_on"+e]},set(a){this["_on"+e]&&(this.removeEventListener(e,this["_on"+e]),delete this["_on"+e]),a&&this.addEventListener(e,this["_on"+e]=a)},enumerable:!0,configurable:!0})}function ic(n){return typeof n!="boolean"?new Error("Argument type: "+typeof n+". Please use a boolean."):(zs=n,n?"adapter.js logging disabled":"adapter.js logging enabled")}function nc(n){return typeof n!="boolean"?new Error("Argument type: "+typeof n+". Please use a boolean."):(Bs=!n,"adapter.js deprecation warnings "+(n?"disabled":"enabled"))}function dn(){if(typeof window=="object"){if(zs)return;typeof console<"u"&&typeof console.log=="function"&&console.log.apply(console,arguments)}}function pi(n,e){Bs&&console.warn(n+" is deprecated, please use "+e+" instead.")}function sc(n){const e={browser:null,version:null};if(typeof n>"u"||!n.navigator)return e.browser="Not a browser.",e;const{navigator:t}=n;if(t.mozGetUserMedia)e.browser="firefox",e.version=cr(t.userAgent,/Firefox\/(\d+)\./,1);else if(t.webkitGetUserMedia||n.isSecureContext===!1&&n.webkitRTCPeerConnection&&!n.RTCIceGatherer)e.browser="chrome",e.version=cr(t.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else if(t.mediaDevices&&t.userAgent.match(/Edge\/(\d+).(\d+)$/))e.browser="edge",e.version=cr(t.userAgent,/Edge\/(\d+).(\d+)$/,2);else if(n.RTCPeerConnection&&t.userAgent.match(/AppleWebKit\/(\d+)\./))e.browser="safari",e.version=cr(t.userAgent,/AppleWebKit\/(\d+)\./,1),e.supportsUnifiedPlan=n.RTCRtpTransceiver&&"currentDirection"in n.RTCRtpTransceiver.prototype;else return e.browser="Not a supported browser.",e;return e}function Is(n){return Object.prototype.toString.call(n)==="[object Object]"}function Us(n){return Is(n)?Object.keys(n).reduce(function(e,t){const r=Is(n[t]),i=r?Us(n[t]):n[t],s=r&&!Object.keys(i).length;return i===void 0||s?e:Object.assign(e,{[t]:i})},{}):n}function pn(n,e,t){!e||t.has(e.id)||(t.set(e.id,e),Object.keys(e).forEach(r=>{r.endsWith("Id")?pn(n,n.get(e[r]),t):r.endsWith("Ids")&&e[r].forEach(i=>{pn(n,n.get(i),t)})}))}function Ns(n,e,t){const r=t?"outbound-rtp":"inbound-rtp",i=new Map;if(e===null)return i;const s=[];return n.forEach(a=>{a.type==="track"&&a.trackIdentifier===e.id&&s.push(a)}),s.forEach(a=>{n.forEach(o=>{o.type===r&&o.trackId===a.id&&pn(n,o,i)})}),i}const Ds=dn;function Fs(n,e){const t=n&&n.navigator;if(!t.mediaDevices)return;const r=function(o){if(typeof o!="object"||o.mandatory||o.optional)return o;const c={};return Object.keys(o).forEach(l=>{if(l==="require"||l==="advanced"||l==="mediaSource")return;const h=typeof o[l]=="object"?o[l]:{ideal:o[l]};h.exact!==void 0&&typeof h.exact=="number"&&(h.min=h.max=h.exact);const u=function(d,p){return d?d+p.charAt(0).toUpperCase()+p.slice(1):p==="deviceId"?"sourceId":p};if(h.ideal!==void 0){c.optional=c.optional||[];let d={};typeof h.ideal=="number"?(d[u("min",l)]=h.ideal,c.optional.push(d),d={},d[u("max",l)]=h.ideal,c.optional.push(d)):(d[u("",l)]=h.ideal,c.optional.push(d))}h.exact!==void 0&&typeof h.exact!="number"?(c.mandatory=c.mandatory||{},c.mandatory[u("",l)]=h.exact):["min","max"].forEach(d=>{h[d]!==void 0&&(c.mandatory=c.mandatory||{},c.mandatory[u(d,l)]=h[d])})}),o.advanced&&(c.optional=(c.optional||[]).concat(o.advanced)),c},i=function(o,c){if(e.version>=61)return c(o);if(o=JSON.parse(JSON.stringify(o)),o&&typeof o.audio=="object"){const l=function(h,u,d){u in h&&!(d in h)&&(h[d]=h[u],delete h[u])};o=JSON.parse(JSON.stringify(o)),l(o.audio,"autoGainControl","googAutoGainControl"),l(o.audio,"noiseSuppression","googNoiseSuppression"),o.audio=r(o.audio)}if(o&&typeof o.video=="object"){let l=o.video.facingMode;l=l&&(typeof l=="object"?l:{ideal:l});const h=e.version<66;if(l&&(l.exact==="user"||l.exact==="environment"||l.ideal==="user"||l.ideal==="environment")&&!(t.mediaDevices.getSupportedConstraints&&t.mediaDevices.getSupportedConstraints().facingMode&&!h)){delete o.video.facingMode;let u;if(l.exact==="environment"||l.ideal==="environment"?u=["back","rear"]:(l.exact==="user"||l.ideal==="user")&&(u=["front"]),u)return t.mediaDevices.enumerateDevices().then(d=>{d=d.filter(y=>y.kind==="videoinput");let p=d.find(y=>u.some(g=>y.label.toLowerCase().includes(g)));return!p&&d.length&&u.includes("back")&&(p=d[d.length-1]),p&&(o.video.deviceId=l.exact?{exact:p.deviceId}:{ideal:p.deviceId}),o.video=r(o.video),Ds("chrome: "+JSON.stringify(o)),c(o)})}o.video=r(o.video)}return Ds("chrome: "+JSON.stringify(o)),c(o)},s=function(o){return e.version>=64?o:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[o.name]||o.name,message:o.message,constraint:o.constraint||o.constraintName,toString(){return this.name+(this.message&&": ")+this.message}}},a=function(o,c,l){i(o,h=>{t.webkitGetUserMedia(h,c,u=>{l&&l(s(u))})})};if(t.getUserMedia=a.bind(t),t.mediaDevices.getUserMedia){const o=t.mediaDevices.getUserMedia.bind(t.mediaDevices);t.mediaDevices.getUserMedia=function(c){return i(c,l=>o(l).then(h=>{if(l.audio&&!h.getAudioTracks().length||l.video&&!h.getVideoTracks().length)throw h.getTracks().forEach(u=>{u.stop()}),new DOMException("","NotFoundError");return h},h=>Promise.reject(s(h))))}}}function oc(n,e){if(!(n.navigator.mediaDevices&&"getDisplayMedia"in n.navigator.mediaDevices)&&n.navigator.mediaDevices){if(typeof e!="function"){console.error("shimGetDisplayMedia: getSourceId argument is not a function");return}n.navigator.mediaDevices.getDisplayMedia=function(t){return e(t).then(r=>{const i=t.video&&t.video.width,s=t.video&&t.video.height,a=t.video&&t.video.frameRate;return t.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:r,maxFrameRate:a||3}},i&&(t.video.mandatory.maxWidth=i),s&&(t.video.mandatory.maxHeight=s),n.navigator.mediaDevices.getUserMedia(t)})}}}function Ls(n){n.MediaStream=n.MediaStream||n.webkitMediaStream}function Vs(n){if(typeof n=="object"&&n.RTCPeerConnection&&!("ontrack"in n.RTCPeerConnection.prototype)){Object.defineProperty(n.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(t){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=t)},enumerable:!0,configurable:!0});const e=n.RTCPeerConnection.prototype.setRemoteDescription;n.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=t=>{t.stream.addEventListener("addtrack",r=>{let i;n.RTCPeerConnection.prototype.getReceivers?i=this.getReceivers().find(a=>a.track&&a.track.id===r.track.id):i={track:r.track};const s=new Event("track");s.track=r.track,s.receiver=i,s.transceiver={receiver:i},s.streams=[t.stream],this.dispatchEvent(s)}),t.stream.getTracks().forEach(r=>{let i;n.RTCPeerConnection.prototype.getReceivers?i=this.getReceivers().find(a=>a.track&&a.track.id===r.id):i={track:r};const s=new Event("track");s.track=r,s.receiver=i,s.transceiver={receiver:i},s.streams=[t.stream],this.dispatchEvent(s)})},this.addEventListener("addstream",this._ontrackpoly)),e.apply(this,arguments)}}else jt(n,"track",e=>(e.transceiver||Object.defineProperty(e,"transceiver",{value:{receiver:e.receiver}}),e))}function js(n){if(typeof n=="object"&&n.RTCPeerConnection&&!("getSenders"in n.RTCPeerConnection.prototype)&&"createDTMFSender"in n.RTCPeerConnection.prototype){const e=function(i,s){return{track:s,get dtmf(){return this._dtmf===void 0&&(s.kind==="audio"?this._dtmf=i.createDTMFSender(s):this._dtmf=null),this._dtmf},_pc:i}};if(!n.RTCPeerConnection.prototype.getSenders){n.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};const i=n.RTCPeerConnection.prototype.addTrack;n.RTCPeerConnection.prototype.addTrack=function(a,o){let c=i.apply(this,arguments);return c||(c=e(this,a),this._senders.push(c)),c};const s=n.RTCPeerConnection.prototype.removeTrack;n.RTCPeerConnection.prototype.removeTrack=function(a){s.apply(this,arguments);const o=this._senders.indexOf(a);o!==-1&&this._senders.splice(o,1)}}const t=n.RTCPeerConnection.prototype.addStream;n.RTCPeerConnection.prototype.addStream=function(i){this._senders=this._senders||[],t.apply(this,[i]),i.getTracks().forEach(s=>{this._senders.push(e(this,s))})};const r=n.RTCPeerConnection.prototype.removeStream;n.RTCPeerConnection.prototype.removeStream=function(i){this._senders=this._senders||[],r.apply(this,[i]),i.getTracks().forEach(s=>{const a=this._senders.find(o=>o.track===s);a&&this._senders.splice(this._senders.indexOf(a),1)})}}else if(typeof n=="object"&&n.RTCPeerConnection&&"getSenders"in n.RTCPeerConnection.prototype&&"createDTMFSender"in n.RTCPeerConnection.prototype&&n.RTCRtpSender&&!("dtmf"in n.RTCRtpSender.prototype)){const e=n.RTCPeerConnection.prototype.getSenders;n.RTCPeerConnection.prototype.getSenders=function(){const t=e.apply(this,[]);return t.forEach(r=>r._pc=this),t},Object.defineProperty(n.RTCRtpSender.prototype,"dtmf",{get(){return this._dtmf===void 0&&(this.track.kind==="audio"?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function Js(n){if(!n.RTCPeerConnection)return;const e=n.RTCPeerConnection.prototype.getStats;n.RTCPeerConnection.prototype.getStats=function(){const[t,r,i]=arguments;if(arguments.length>0&&typeof t=="function")return e.apply(this,arguments);if(e.length===0&&(arguments.length===0||typeof t!="function"))return e.apply(this,[]);const s=function(o){const c={};return o.result().forEach(l=>{const h={id:l.id,timestamp:l.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[l.type]||l.type};l.names().forEach(u=>{h[u]=l.stat(u)}),c[h.id]=h}),c},a=function(o){return new Map(Object.keys(o).map(c=>[c,o[c]]))};if(arguments.length>=2){const o=function(c){r(a(s(c)))};return e.apply(this,[o,t])}return new Promise((o,c)=>{e.apply(this,[function(l){o(a(s(l)))},c])}).then(r,i)}}function Gs(n){if(!(typeof n=="object"&&n.RTCPeerConnection&&n.RTCRtpSender&&n.RTCRtpReceiver))return;if(!("getStats"in n.RTCRtpSender.prototype)){const t=n.RTCPeerConnection.prototype.getSenders;t&&(n.RTCPeerConnection.prototype.getSenders=function(){const i=t.apply(this,[]);return i.forEach(s=>s._pc=this),i});const r=n.RTCPeerConnection.prototype.addTrack;r&&(n.RTCPeerConnection.prototype.addTrack=function(){const i=r.apply(this,arguments);return i._pc=this,i}),n.RTCRtpSender.prototype.getStats=function(){const i=this;return this._pc.getStats().then(s=>Ns(s,i.track,!0))}}if(!("getStats"in n.RTCRtpReceiver.prototype)){const t=n.RTCPeerConnection.prototype.getReceivers;t&&(n.RTCPeerConnection.prototype.getReceivers=function(){const r=t.apply(this,[]);return r.forEach(i=>i._pc=this),r}),jt(n,"track",r=>(r.receiver._pc=r.srcElement,r)),n.RTCRtpReceiver.prototype.getStats=function(){const r=this;return this._pc.getStats().then(i=>Ns(i,r.track,!1))}}if(!("getStats"in n.RTCRtpSender.prototype&&"getStats"in n.RTCRtpReceiver.prototype))return;const e=n.RTCPeerConnection.prototype.getStats;n.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof n.MediaStreamTrack){const t=arguments[0];let r,i,s;return this.getSenders().forEach(a=>{a.track===t&&(r?s=!0:r=a)}),this.getReceivers().forEach(a=>(a.track===t&&(i?s=!0:i=a),a.track===t)),s||r&&i?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):r?r.getStats():i?i.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return e.apply(this,arguments)}}function Ws(n){n.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(s=>this._shimmedLocalStreams[s][0])};const e=n.RTCPeerConnection.prototype.addTrack;n.RTCPeerConnection.prototype.addTrack=function(s,a){if(!a)return e.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};const o=e.apply(this,arguments);return this._shimmedLocalStreams[a.id]?this._shimmedLocalStreams[a.id].indexOf(o)===-1&&this._shimmedLocalStreams[a.id].push(o):this._shimmedLocalStreams[a.id]=[a,o],o};const t=n.RTCPeerConnection.prototype.addStream;n.RTCPeerConnection.prototype.addStream=function(s){this._shimmedLocalStreams=this._shimmedLocalStreams||{},s.getTracks().forEach(c=>{if(this.getSenders().find(l=>l.track===c))throw new DOMException("Track already exists.","InvalidAccessError")});const a=this.getSenders();t.apply(this,arguments);const o=this.getSenders().filter(c=>a.indexOf(c)===-1);this._shimmedLocalStreams[s.id]=[s].concat(o)};const r=n.RTCPeerConnection.prototype.removeStream;n.RTCPeerConnection.prototype.removeStream=function(s){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[s.id],r.apply(this,arguments)};const i=n.RTCPeerConnection.prototype.removeTrack;n.RTCPeerConnection.prototype.removeTrack=function(s){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},s&&Object.keys(this._shimmedLocalStreams).forEach(a=>{const o=this._shimmedLocalStreams[a].indexOf(s);o!==-1&&this._shimmedLocalStreams[a].splice(o,1),this._shimmedLocalStreams[a].length===1&&delete this._shimmedLocalStreams[a]}),i.apply(this,arguments)}}function Xs(n,e){if(!n.RTCPeerConnection)return;if(n.RTCPeerConnection.prototype.addTrack&&e.version>=65)return Ws(n);const t=n.RTCPeerConnection.prototype.getLocalStreams;n.RTCPeerConnection.prototype.getLocalStreams=function(){const l=t.apply(this);return this._reverseStreams=this._reverseStreams||{},l.map(h=>this._reverseStreams[h.id])};const r=n.RTCPeerConnection.prototype.addStream;n.RTCPeerConnection.prototype.addStream=function(l){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},l.getTracks().forEach(h=>{if(this.getSenders().find(u=>u.track===h))throw new DOMException("Track already exists.","InvalidAccessError")}),!this._reverseStreams[l.id]){const h=new n.MediaStream(l.getTracks());this._streams[l.id]=h,this._reverseStreams[h.id]=l,l=h}r.apply(this,[l])};const i=n.RTCPeerConnection.prototype.removeStream;n.RTCPeerConnection.prototype.removeStream=function(l){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},i.apply(this,[this._streams[l.id]||l]),delete this._reverseStreams[this._streams[l.id]?this._streams[l.id].id:l.id],delete this._streams[l.id]},n.RTCPeerConnection.prototype.addTrack=function(l,h){if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");const u=[].slice.call(arguments,1);if(u.length!==1||!u[0].getTracks().find(p=>p===l))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");if(this.getSenders().find(p=>p.track===l))throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};const d=this._streams[h.id];if(d)d.addTrack(l),Promise.resolve().then(()=>{this.dispatchEvent(new Event("negotiationneeded"))});else{const p=new n.MediaStream([l]);this._streams[h.id]=p,this._reverseStreams[p.id]=h,this.addStream(p)}return this.getSenders().find(p=>p.track===l)};function s(l,h){let u=h.sdp;return Object.keys(l._reverseStreams||[]).forEach(d=>{const p=l._reverseStreams[d],y=l._streams[p.id];u=u.replace(new RegExp(y.id,"g"),p.id)}),new RTCSessionDescription({type:h.type,sdp:u})}function a(l,h){let u=h.sdp;return Object.keys(l._reverseStreams||[]).forEach(d=>{const p=l._reverseStreams[d],y=l._streams[p.id];u=u.replace(new RegExp(p.id,"g"),y.id)}),new RTCSessionDescription({type:h.type,sdp:u})}["createOffer","createAnswer"].forEach(function(l){const h=n.RTCPeerConnection.prototype[l],u={[l](){const d=arguments;return arguments.length&&typeof arguments[0]=="function"?h.apply(this,[p=>{const y=s(this,p);d[0].apply(null,[y])},p=>{d[1]&&d[1].apply(null,p)},arguments[2]]):h.apply(this,arguments).then(p=>s(this,p))}};n.RTCPeerConnection.prototype[l]=u[l]});const o=n.RTCPeerConnection.prototype.setLocalDescription;n.RTCPeerConnection.prototype.setLocalDescription=function(){return!arguments.length||!arguments[0].type?o.apply(this,arguments):(arguments[0]=a(this,arguments[0]),o.apply(this,arguments))};const c=Object.getOwnPropertyDescriptor(n.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(n.RTCPeerConnection.prototype,"localDescription",{get(){const l=c.get.apply(this);return l.type===""?l:s(this,l)}}),n.RTCPeerConnection.prototype.removeTrack=function(l){if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!l._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(l._pc!==this)throw new DOMException("Sender was not created by this connection.","InvalidAccessError");this._streams=this._streams||{};let h;Object.keys(this._streams).forEach(u=>{this._streams[u].getTracks().find(d=>l.track===d)&&(h=this._streams[u])}),h&&(h.getTracks().length===1?this.removeStream(this._reverseStreams[h.id]):h.removeTrack(l.track),this.dispatchEvent(new Event("negotiationneeded")))}}function fn(n,e){!n.RTCPeerConnection&&n.webkitRTCPeerConnection&&(n.RTCPeerConnection=n.webkitRTCPeerConnection),n.RTCPeerConnection&&e.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(t){const r=n.RTCPeerConnection.prototype[t],i={[t](){return arguments[0]=new(t==="addIceCandidate"?n.RTCIceCandidate:n.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}};n.RTCPeerConnection.prototype[t]=i[t]})}function qs(n,e){jt(n,"negotiationneeded",t=>{const r=t.target;if(!((e.version<72||r.getConfiguration&&r.getConfiguration().sdpSemantics==="plan-b")&&r.signalingState!=="stable"))return t})}const Hs=Object.freeze(Object.defineProperty({__proto__:null,fixNegotiationNeeded:qs,shimAddTrackRemoveTrack:Xs,shimAddTrackRemoveTrackWithNative:Ws,shimGetDisplayMedia:oc,shimGetSendersWithDtmf:js,shimGetStats:Js,shimGetUserMedia:Fs,shimMediaStream:Ls,shimOnTrack:Vs,shimPeerConnection:fn,shimSenderReceiverGetStats:Gs},Symbol.toStringTag,{value:"Module"}));function ac(n,e){let t=!1;return n=JSON.parse(JSON.stringify(n)),n.filter(r=>{if(r&&(r.urls||r.url)){let i=r.urls||r.url;r.url&&!r.urls&&pi("RTCIceServer.url","RTCIceServer.urls");const s=typeof i=="string";return s&&(i=[i]),i=i.filter(a=>{if(a.indexOf("stun:")===0)return!1;const o=a.startsWith("turn")&&!a.startsWith("turn:[")&&a.includes("transport=udp");return o&&!t?(t=!0,!0):o&&!t}),delete r.url,r.urls=s?i[0]:i,!!i.length}})}var Ys={exports:{}},Zs;function Qs(){return Zs||(Zs=1,function(n){var e={};e.generateIdentifier=function(){return Math.random().toString(36).substr(2,10)},e.localCName=e.generateIdentifier(),e.splitLines=function(t){return t.trim().split(`
1
+ import{PlaneGeometry as gs,ShaderChunk as Fa,Object3D as vs,Layers as hi,MeshBasicMaterial as _s,DoubleSide as sn,AdditiveBlending as bs,InstancedBufferAttribute as Ct,DynamicDrawUsage as ge,InstancedBufferGeometry as La,Uniform$1 as Le,ShaderMaterial as on,BufferGeometry as ar,BufferAttribute as Te,Mesh as an,MeshStandardMaterial as Va,MeshPhysicalMaterial as ja,Triangle as Pt,Vector3 as I,Plane as xs,Line3 as ht,Vector2 as Vt,Sphere as Ss,Matrix4 as Ve,Box3 as Ye,BackSide as Ja,REVISION as Ga,FrontSide as ws,BatchedMesh as Wa,Ray as Xa,Matrix3 as qa,Vector4 as cn}from"./three-Boa-jOq-.min.js";const ne={ComponentState:Object.freeze({DEFAULT:"default",TOUCHED:"touched",PRESSED:"pressed"}),ComponentProperty:Object.freeze({BUTTON:"button",X_AXIS:"xAxis",Y_AXIS:"yAxis",STATE:"state"}),ButtonTouchThreshold:.05,AxisTouchThreshold:.1,VisualResponseProperty:Object.freeze({TRANSFORM:"transform",VISIBILITY:"visibility"})};async function Ms(n){const e=await fetch(n);if(e.ok)return e.json();throw new Error(e.statusText)}async function Ha(n){return await Ms(`${n}/profilesList.json`)}async function Ya(n,e,t=null,r=!0){if(!n)throw new Error("No xrInputSource supplied");const i=await Ha(e);let s;if(n.profiles.some(c=>{const l=i[c];return l&&(s={profileId:c,profilePath:`${e}/${l.path}`,deprecated:!!l.deprecated}),!!s}),!s){if(!t)throw new Error("No matching profile name found");const c=i[t];if(!c)throw new Error(`No matching profile name found and default profile "${t}" missing.`);s={profileId:t,profilePath:`${e}/${c.path}`,deprecated:!!c.deprecated}}const a=await Ms(s.profilePath);let o;if(r){let c;if(n.handedness==="any"?c=a.layouts[Object.keys(a.layouts)[0]]:c=a.layouts[n.handedness],!c)throw new Error(`No matching handedness, ${n.handedness}, in profile ${s.profileId}`);c.assetPath&&(o=s.profilePath.replace("profile.json",c.assetPath))}return{profile:a,assetPath:o}}const Za={xAxis:0,yAxis:0,button:0,state:ne.ComponentState.DEFAULT};function Qa(n=0,e=0){let t=n,r=e;if(Math.sqrt(n*n+e*e)>1){const i=Math.atan2(e,n);t=Math.cos(i),r=Math.sin(i)}return{normalizedXAxis:t*.5+.5,normalizedYAxis:r*.5+.5}}class Ka{constructor(e){this.componentProperty=e.componentProperty,this.states=e.states,this.valueNodeName=e.valueNodeName,this.valueNodeProperty=e.valueNodeProperty,this.valueNodeProperty===ne.VisualResponseProperty.TRANSFORM&&(this.minNodeName=e.minNodeName,this.maxNodeName=e.maxNodeName),this.value=0,this.updateFromComponent(Za)}updateFromComponent({xAxis:e,yAxis:t,button:r,state:i}){const{normalizedXAxis:s,normalizedYAxis:a}=Qa(e,t);switch(this.componentProperty){case ne.ComponentProperty.X_AXIS:this.value=this.states.includes(i)?s:.5;break;case ne.ComponentProperty.Y_AXIS:this.value=this.states.includes(i)?a:.5;break;case ne.ComponentProperty.BUTTON:this.value=this.states.includes(i)?r:0;break;case ne.ComponentProperty.STATE:this.valueNodeProperty===ne.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(i):this.value=this.states.includes(i)?1:0;break;default:throw new Error(`Unexpected visualResponse componentProperty ${this.componentProperty}`)}}}class $a{constructor(e,t){if(!e||!t||!t.visualResponses||!t.gamepadIndices||Object.keys(t.gamepadIndices).length===0)throw new Error("Invalid arguments supplied");this.id=e,this.type=t.type,this.rootNodeName=t.rootNodeName,this.touchPointNodeName=t.touchPointNodeName,this.visualResponses={},Object.keys(t.visualResponses).forEach(r=>{const i=new Ka(t.visualResponses[r]);this.visualResponses[r]=i}),this.gamepadIndices=Object.assign({},t.gamepadIndices),this.values={state:ne.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}}get data(){return{id:this.id,...this.values}}updateFromGamepad(e){if(this.values.state=ne.ComponentState.DEFAULT,this.gamepadIndices.button!==void 0&&e.buttons.length>this.gamepadIndices.button){const t=e.buttons[this.gamepadIndices.button];this.values.button=t.value,this.values.button=this.values.button<0?0:this.values.button,this.values.button=this.values.button>1?1:this.values.button,t.pressed||this.values.button===1?this.values.state=ne.ComponentState.PRESSED:(t.touched||this.values.button>ne.ButtonTouchThreshold)&&(this.values.state=ne.ComponentState.TOUCHED)}this.gamepadIndices.xAxis!==void 0&&e.axes.length>this.gamepadIndices.xAxis&&(this.values.xAxis=e.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===ne.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>ne.AxisTouchThreshold&&(this.values.state=ne.ComponentState.TOUCHED)),this.gamepadIndices.yAxis!==void 0&&e.axes.length>this.gamepadIndices.yAxis&&(this.values.yAxis=e.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===ne.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>ne.AxisTouchThreshold&&(this.values.state=ne.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach(t=>{t.updateFromComponent(this.values)})}}class ec{constructor(e,t,r){if(!e)throw new Error("No xrInputSource supplied");if(!t)throw new Error("No profile supplied");this.xrInputSource=e,this.assetUrl=r,this.id=t.profileId,this.layoutDescription=t.layouts[e.handedness],this.components={},Object.keys(this.layoutDescription.components).forEach(i=>{const s=this.layoutDescription.components[i];this.components[i]=new $a(i,s)}),this.updateFromGamepad()}get gripSpace(){return this.xrInputSource.gripSpace}get targetRaySpace(){return this.xrInputSource.targetRaySpace}get data(){const e=[];return Object.values(this.components).forEach(t=>{e.push(t.data)}),e}updateFromGamepad(){Object.values(this.components).forEach(e=>{e.updateFromGamepad(this.xrInputSource.gamepad)})}}const ln=2,Ze=4,ut=4,Ts=4,gt=new Int32Array(2),Cs=new Float32Array(gt.buffer),Ps=new Float64Array(gt.buffer),ui=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;class yt{constructor(e,t){this.low=e|0,this.high=t|0}static create(e,t){return e==0&&t==0?yt.ZERO:new yt(e,t)}toFloat64(){return(this.low>>>0)+this.high*4294967296}equals(e){return this.low==e.low&&this.high==e.high}}yt.ZERO=new yt(0,0);var hn;(function(n){n[n.UTF8_BYTES=1]="UTF8_BYTES",n[n.UTF16_STRING=2]="UTF16_STRING"})(hn||(hn={}));class Or{constructor(e){this.bytes_=e,this.position_=0}static allocate(e){return new Or(new Uint8Array(e))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(e){this.position_=e}capacity(){return this.bytes_.length}readInt8(e){return this.readUint8(e)<<24>>24}readUint8(e){return this.bytes_[e]}readInt16(e){return this.readUint16(e)<<16>>16}readUint16(e){return this.bytes_[e]|this.bytes_[e+1]<<8}readInt32(e){return this.bytes_[e]|this.bytes_[e+1]<<8|this.bytes_[e+2]<<16|this.bytes_[e+3]<<24}readUint32(e){return this.readInt32(e)>>>0}readInt64(e){return new yt(this.readInt32(e),this.readInt32(e+4))}readUint64(e){return new yt(this.readUint32(e),this.readUint32(e+4))}readFloat32(e){return gt[0]=this.readInt32(e),Cs[0]}readFloat64(e){return gt[ui?0:1]=this.readInt32(e),gt[ui?1:0]=this.readInt32(e+4),Ps[0]}writeInt8(e,t){this.bytes_[e]=t}writeUint8(e,t){this.bytes_[e]=t}writeInt16(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8}writeUint16(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8}writeInt32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeUint32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeInt64(e,t){this.writeInt32(e,t.low),this.writeInt32(e+4,t.high)}writeUint64(e,t){this.writeUint32(e,t.low),this.writeUint32(e+4,t.high)}writeFloat32(e,t){Cs[0]=t,this.writeInt32(e,gt[0])}writeFloat64(e,t){Ps[0]=t,this.writeInt32(e,gt[ui?0:1]),this.writeInt32(e+4,gt[ui?1:0])}getBufferIdentifier(){if(this.bytes_.length<this.position_+Ze+ut)throw new Error("FlatBuffers: ByteBuffer is too short to contain an identifier.");let e="";for(let t=0;t<ut;t++)e+=String.fromCharCode(this.readInt8(this.position_+Ze+t));return e}__offset(e,t){const r=e-this.readInt32(e);return t<this.readInt16(r)?this.readInt16(r+t):0}__union(e,t){return e.bb_pos=t+this.readInt32(t),e.bb=this,e}__string(e,t){e+=this.readInt32(e);const r=this.readInt32(e);let i="",s=0;if(e+=Ze,t===hn.UTF8_BYTES)return this.bytes_.subarray(e,e+r);for(;s<r;){let a;const o=this.readUint8(e+s++);if(o<192)a=o;else{const c=this.readUint8(e+s++);if(o<224)a=(o&31)<<6|c&63;else{const l=this.readUint8(e+s++);if(o<240)a=(o&15)<<12|(c&63)<<6|l&63;else{const h=this.readUint8(e+s++);a=(o&7)<<18|(c&63)<<12|(l&63)<<6|h&63}}}a<65536?i+=String.fromCharCode(a):(a-=65536,i+=String.fromCharCode((a>>10)+55296,(a&1023)+56320))}return i}__union_with_string(e,t){return typeof e=="string"?this.__string(t):this.__union(e,t)}__indirect(e){return e+this.readInt32(e)}__vector(e){return e+this.readInt32(e)+Ze}__vector_len(e){return this.readInt32(e+this.readInt32(e))}__has_identifier(e){if(e.length!=ut)throw new Error("FlatBuffers: file identifier must be length "+ut);for(let t=0;t<ut;t++)if(e.charCodeAt(t)!=this.readInt8(this.position()+Ze+t))return!1;return!0}createLong(e,t){return yt.create(e,t)}createScalarList(e,t){const r=[];for(let i=0;i<t;++i)e(i)!==null&&r.push(e(i));return r}createObjList(e,t){const r=[];for(let i=0;i<t;++i){const s=e(i);s!==null&&r.push(s.unpack())}return r}}class ms{constructor(e){this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null;let t;e?t=e:t=1024,this.bb=Or.allocate(t),this.space=t}clear(){this.bb.clear(),this.space=this.bb.capacity(),this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null}forceDefaults(e){this.force_defaults=e}dataBuffer(){return this.bb}asUint8Array(){return this.bb.bytes().subarray(this.bb.position(),this.bb.position()+this.offset())}prep(e,t){e>this.minalign&&(this.minalign=e);const r=~(this.bb.capacity()-this.space+t)+1&e-1;for(;this.space<r+e+t;){const i=this.bb.capacity();this.bb=ms.growByteBuffer(this.bb),this.space+=this.bb.capacity()-i}this.pad(r)}pad(e){for(let t=0;t<e;t++)this.bb.writeInt8(--this.space,0)}writeInt8(e){this.bb.writeInt8(this.space-=1,e)}writeInt16(e){this.bb.writeInt16(this.space-=2,e)}writeInt32(e){this.bb.writeInt32(this.space-=4,e)}writeInt64(e){this.bb.writeInt64(this.space-=8,e)}writeFloat32(e){this.bb.writeFloat32(this.space-=4,e)}writeFloat64(e){this.bb.writeFloat64(this.space-=8,e)}addInt8(e){this.prep(1,0),this.writeInt8(e)}addInt16(e){this.prep(2,0),this.writeInt16(e)}addInt32(e){this.prep(4,0),this.writeInt32(e)}addInt64(e){this.prep(8,0),this.writeInt64(e)}addFloat32(e){this.prep(4,0),this.writeFloat32(e)}addFloat64(e){this.prep(8,0),this.writeFloat64(e)}addFieldInt8(e,t,r){(this.force_defaults||t!=r)&&(this.addInt8(t),this.slot(e))}addFieldInt16(e,t,r){(this.force_defaults||t!=r)&&(this.addInt16(t),this.slot(e))}addFieldInt32(e,t,r){(this.force_defaults||t!=r)&&(this.addInt32(t),this.slot(e))}addFieldInt64(e,t,r){(this.force_defaults||!t.equals(r))&&(this.addInt64(t),this.slot(e))}addFieldFloat32(e,t,r){(this.force_defaults||t!=r)&&(this.addFloat32(t),this.slot(e))}addFieldFloat64(e,t,r){(this.force_defaults||t!=r)&&(this.addFloat64(t),this.slot(e))}addFieldOffset(e,t,r){(this.force_defaults||t!=r)&&(this.addOffset(t),this.slot(e))}addFieldStruct(e,t,r){t!=r&&(this.nested(t),this.slot(e))}nested(e){if(e!=this.offset())throw new Error("FlatBuffers: struct must be serialized inline.")}notNested(){if(this.isNested)throw new Error("FlatBuffers: object serialization must not be nested.")}slot(e){this.vtable!==null&&(this.vtable[e]=this.offset())}offset(){return this.bb.capacity()-this.space}static growByteBuffer(e){const t=e.capacity();if(t&3221225472)throw new Error("FlatBuffers: cannot grow buffer beyond 2 gigabytes.");const r=t<<1,i=Or.allocate(r);return i.setPosition(r-t),i.bytes().set(e.bytes(),r-t),i}addOffset(e){this.prep(Ze,0),this.writeInt32(this.offset()-e+Ze)}startObject(e){this.notNested(),this.vtable==null&&(this.vtable=[]),this.vtable_in_use=e;for(let t=0;t<e;t++)this.vtable[t]=0;this.isNested=!0,this.object_start=this.offset()}endObject(){if(this.vtable==null||!this.isNested)throw new Error("FlatBuffers: endObject called without startObject");this.addInt32(0);const e=this.offset();let t=this.vtable_in_use-1;for(;t>=0&&this.vtable[t]==0;t--);const r=t+1;for(;t>=0;t--)this.addInt16(this.vtable[t]!=0?e-this.vtable[t]:0);const i=2;this.addInt16(e-this.object_start);const s=(r+i)*ln;this.addInt16(s);let a=0;const o=this.space;e:for(t=0;t<this.vtables.length;t++){const c=this.bb.capacity()-this.vtables[t];if(s==this.bb.readInt16(c)){for(let l=ln;l<s;l+=ln)if(this.bb.readInt16(o+l)!=this.bb.readInt16(c+l))continue e;a=this.vtables[t];break}}return a?(this.space=this.bb.capacity()-e,this.bb.writeInt32(this.space,a-e)):(this.vtables.push(this.offset()),this.bb.writeInt32(this.bb.capacity()-e,this.offset()-e)),this.isNested=!1,e}finish(e,t,r){const i=r?Ts:0;if(t){const s=t;if(this.prep(this.minalign,Ze+ut+i),s.length!=ut)throw new Error("FlatBuffers: file identifier must be length "+ut);for(let a=ut-1;a>=0;a--)this.writeInt8(s.charCodeAt(a))}this.prep(this.minalign,Ze+i),this.addOffset(e),i&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(e,t){this.finish(e,t,!0)}requiredField(e,t){const r=this.bb.capacity()-e,i=r-this.bb.readInt32(r);if(this.bb.readInt16(i+t)==0)throw new Error("FlatBuffers: field "+t+" must be set")}startVector(e,t,r){this.notNested(),this.vector_num_elems=t,this.prep(Ze,e*t),this.prep(r,e*t)}endVector(){return this.writeInt32(this.vector_num_elems),this.offset()}createSharedString(e){if(!e)return 0;if(this.string_maps||(this.string_maps=new Map),this.string_maps.has(e))return this.string_maps.get(e);const t=this.createString(e);return this.string_maps.set(e,t),t}createString(e){if(!e)return 0;let t;if(e instanceof Uint8Array)t=e;else{t=[];let r=0;for(;r<e.length;){let i;const s=e.charCodeAt(r++);if(s<55296||s>=56320)i=s;else{const a=e.charCodeAt(r++);i=(s<<10)+a+-56613888}i<128?t.push(i):(i<2048?t.push(i>>6&31|192):(i<65536?t.push(i>>12&15|224):t.push(i>>18&7|240,i>>12&63|128),t.push(i>>6&63|128)),t.push(i&63|128))}}this.addInt8(0),this.startVector(1,t.length,1),this.bb.setPosition(this.space-=t.length);for(let r=0,i=this.space,s=this.bb.bytes();r<t.length;r++)s[i++]=t[r];return this.endVector()}createLong(e,t){return yt.create(e,t)}createObjectOffset(e){return e===null?0:typeof e=="string"?this.createString(e):e.pack(this)}createObjectOffsetList(e){const t=[];for(let r=0;r<e.length;++r){const i=e[r];if(i!==null)t.push(this.createObjectOffset(i));else throw new Error("FlatBuffers: Argument for createObjectOffsetList cannot contain null.")}return t}createStructOffsetList(e,t){return t(this,e.length),this.createObjectOffsetList(e),this.endVector()}}function di(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Es={exports:{}},ks;function As(){return ks||(ks=1,function(n){var e={};e.useBlobBuilder=function(){try{return new Blob([]),!1}catch{return!0}}(),e.useArrayBufferView=!e.useBlobBuilder&&function(){try{return new Blob([new Uint8Array([])]).size===0}catch{return!0}}(),n.exports.binaryFeatures=e;var t=n.exports.BlobBuilder;typeof window<"u"&&(t=n.exports.BlobBuilder=window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder||window.BlobBuilder);function r(){this._pieces=[],this._parts=[]}r.prototype.append=function(i){typeof i=="number"?this._pieces.push(i):(this.flush(),this._parts.push(i))},r.prototype.flush=function(){if(this._pieces.length>0){var i=new Uint8Array(this._pieces);e.useArrayBufferView||(i=i.buffer),this._parts.push(i),this._pieces=[]}},r.prototype.getBuffer=function(){if(this.flush(),e.useBlobBuilder){for(var i=new t,s=0,a=this._parts.length;s<a;s++)i.append(this._parts[s]);return i.getBlob()}else return new Blob(this._parts)},n.exports.BufferBuilder=r}(Es)),Es.exports}var un,Rs;function tc(){if(Rs)return un;Rs=1;var n=As().BufferBuilder,e=As().binaryFeatures,t={unpack:function(o){var c=new r(o);return c.unpack()},pack:function(o){var c=new i;c.pack(o);var l=c.getBuffer();return l}};un=t;function r(o){this.index=0,this.dataBuffer=o,this.dataView=new Uint8Array(this.dataBuffer),this.length=this.dataBuffer.byteLength}r.prototype.unpack=function(){var o=this.unpack_uint8();if(o<128)return o;if((o^224)<32)return(o^224)-32;var c;if((c=o^160)<=15)return this.unpack_raw(c);if((c=o^176)<=15)return this.unpack_string(c);if((c=o^144)<=15)return this.unpack_array(c);if((c=o^128)<=15)return this.unpack_map(c);switch(o){case 192:return null;case 193:return;case 194:return!1;case 195:return!0;case 202:return this.unpack_float();case 203:return this.unpack_double();case 204:return this.unpack_uint8();case 205:return this.unpack_uint16();case 206:return this.unpack_uint32();case 207:return this.unpack_uint64();case 208:return this.unpack_int8();case 209:return this.unpack_int16();case 210:return this.unpack_int32();case 211:return this.unpack_int64();case 212:return;case 213:return;case 214:return;case 215:return;case 216:return c=this.unpack_uint16(),this.unpack_string(c);case 217:return c=this.unpack_uint32(),this.unpack_string(c);case 218:return c=this.unpack_uint16(),this.unpack_raw(c);case 219:return c=this.unpack_uint32(),this.unpack_raw(c);case 220:return c=this.unpack_uint16(),this.unpack_array(c);case 221:return c=this.unpack_uint32(),this.unpack_array(c);case 222:return c=this.unpack_uint16(),this.unpack_map(c);case 223:return c=this.unpack_uint32(),this.unpack_map(c)}},r.prototype.unpack_uint8=function(){var o=this.dataView[this.index]&255;return this.index++,o},r.prototype.unpack_uint16=function(){var o=this.read(2),c=(o[0]&255)*256+(o[1]&255);return this.index+=2,c},r.prototype.unpack_uint32=function(){var o=this.read(4),c=((o[0]*256+o[1])*256+o[2])*256+o[3];return this.index+=4,c},r.prototype.unpack_uint64=function(){var o=this.read(8),c=((((((o[0]*256+o[1])*256+o[2])*256+o[3])*256+o[4])*256+o[5])*256+o[6])*256+o[7];return this.index+=8,c},r.prototype.unpack_int8=function(){var o=this.unpack_uint8();return o<128?o:o-256},r.prototype.unpack_int16=function(){var o=this.unpack_uint16();return o<32768?o:o-65536},r.prototype.unpack_int32=function(){var o=this.unpack_uint32();return o<Math.pow(2,31)?o:o-Math.pow(2,32)},r.prototype.unpack_int64=function(){var o=this.unpack_uint64();return o<Math.pow(2,63)?o:o-Math.pow(2,64)},r.prototype.unpack_raw=function(o){if(this.length<this.index+o)throw new Error("BinaryPackFailure: index is out of range "+this.index+" "+o+" "+this.length);var c=this.dataBuffer.slice(this.index,this.index+o);return this.index+=o,c},r.prototype.unpack_string=function(o){for(var c=this.read(o),l=0,h="",u,d;l<o;)u=c[l],u<128?(h+=String.fromCharCode(u),l++):(u^192)<32?(d=(u^192)<<6|c[l+1]&63,h+=String.fromCharCode(d),l+=2):(d=(u&15)<<12|(c[l+1]&63)<<6|c[l+2]&63,h+=String.fromCharCode(d),l+=3);return this.index+=o,h},r.prototype.unpack_array=function(o){for(var c=new Array(o),l=0;l<o;l++)c[l]=this.unpack();return c},r.prototype.unpack_map=function(o){for(var c={},l=0;l<o;l++){var h=this.unpack(),u=this.unpack();c[h]=u}return c},r.prototype.unpack_float=function(){var o=this.unpack_uint32(),c=o>>31,l=(o>>23&255)-127,h=o&8388607|8388608;return(c===0?1:-1)*h*Math.pow(2,l-23)},r.prototype.unpack_double=function(){var o=this.unpack_uint32(),c=this.unpack_uint32(),l=o>>31,h=(o>>20&2047)-1023,u=o&1048575|1048576,d=u*Math.pow(2,h-20)+c*Math.pow(2,h-52);return(l===0?1:-1)*d},r.prototype.read=function(o){var c=this.index;if(c+o<=this.length)return this.dataView.subarray(c,c+o);throw new Error("BinaryPackFailure: read index out of range")};function i(){this.bufferBuilder=new n}i.prototype.getBuffer=function(){return this.bufferBuilder.getBuffer()},i.prototype.pack=function(o){var c=typeof o;if(c==="string")this.pack_string(o);else if(c==="number")Math.floor(o)===o?this.pack_integer(o):this.pack_double(o);else if(c==="boolean")o===!0?this.bufferBuilder.append(195):o===!1&&this.bufferBuilder.append(194);else if(c==="undefined")this.bufferBuilder.append(192);else if(c==="object")if(o===null)this.bufferBuilder.append(192);else{var l=o.constructor;if(l==Array)this.pack_array(o);else if(l==Blob||l==File||o instanceof Blob||o instanceof File)this.pack_bin(o);else if(l==ArrayBuffer)e.useArrayBufferView?this.pack_bin(new Uint8Array(o)):this.pack_bin(o);else if("BYTES_PER_ELEMENT"in o)e.useArrayBufferView?this.pack_bin(new Uint8Array(o.buffer)):this.pack_bin(o.buffer);else if(l==Object||l.toString().startsWith("class"))this.pack_object(o);else if(l==Date)this.pack_string(o.toString());else if(typeof o.toBinaryPack=="function")this.bufferBuilder.append(o.toBinaryPack());else throw new Error('Type "'+l.toString()+'" not yet supported')}else throw new Error('Type "'+c+'" not yet supported');this.bufferBuilder.flush()},i.prototype.pack_bin=function(o){var c=o.length||o.byteLength||o.size;if(c<=15)this.pack_uint8(160+c);else if(c<=65535)this.bufferBuilder.append(218),this.pack_uint16(c);else if(c<=4294967295)this.bufferBuilder.append(219),this.pack_uint32(c);else throw new Error("Invalid length");this.bufferBuilder.append(o)},i.prototype.pack_string=function(o){var c=a(o);if(c<=15)this.pack_uint8(176+c);else if(c<=65535)this.bufferBuilder.append(216),this.pack_uint16(c);else if(c<=4294967295)this.bufferBuilder.append(217),this.pack_uint32(c);else throw new Error("Invalid length");this.bufferBuilder.append(o)},i.prototype.pack_array=function(o){var c=o.length;if(c<=15)this.pack_uint8(144+c);else if(c<=65535)this.bufferBuilder.append(220),this.pack_uint16(c);else if(c<=4294967295)this.bufferBuilder.append(221),this.pack_uint32(c);else throw new Error("Invalid length");for(var l=0;l<c;l++)this.pack(o[l])},i.prototype.pack_integer=function(o){if(o>=-32&&o<=127)this.bufferBuilder.append(o&255);else if(o>=0&&o<=255)this.bufferBuilder.append(204),this.pack_uint8(o);else if(o>=-128&&o<=127)this.bufferBuilder.append(208),this.pack_int8(o);else if(o>=0&&o<=65535)this.bufferBuilder.append(205),this.pack_uint16(o);else if(o>=-32768&&o<=32767)this.bufferBuilder.append(209),this.pack_int16(o);else if(o>=0&&o<=4294967295)this.bufferBuilder.append(206),this.pack_uint32(o);else if(o>=-2147483648&&o<=2147483647)this.bufferBuilder.append(210),this.pack_int32(o);else if(o>=-9223372036854776e3&&o<=9223372036854776e3)this.bufferBuilder.append(211),this.pack_int64(o);else if(o>=0&&o<=18446744073709552e3)this.bufferBuilder.append(207),this.pack_uint64(o);else throw new Error("Invalid integer")},i.prototype.pack_double=function(o){var c=0;o<0&&(c=1,o=-o);var l=Math.floor(Math.log(o)/Math.LN2),h=o/Math.pow(2,l)-1,u=Math.floor(h*Math.pow(2,52)),d=Math.pow(2,32),p=c<<31|l+1023<<20|u/d&1048575,y=u%d;this.bufferBuilder.append(203),this.pack_int32(p),this.pack_int32(y)},i.prototype.pack_object=function(o){var c=Object.keys(o),l=c.length;if(l<=15)this.pack_uint8(128+l);else if(l<=65535)this.bufferBuilder.append(222),this.pack_uint16(l);else if(l<=4294967295)this.bufferBuilder.append(223),this.pack_uint32(l);else throw new Error("Invalid length");for(var h in o)o.hasOwnProperty(h)&&(this.pack(h),this.pack(o[h]))},i.prototype.pack_uint8=function(o){this.bufferBuilder.append(o)},i.prototype.pack_uint16=function(o){this.bufferBuilder.append(o>>8),this.bufferBuilder.append(o&255)},i.prototype.pack_uint32=function(o){var c=o&4294967295;this.bufferBuilder.append((c&4278190080)>>>24),this.bufferBuilder.append((c&16711680)>>>16),this.bufferBuilder.append((c&65280)>>>8),this.bufferBuilder.append(c&255)},i.prototype.pack_uint64=function(o){var c=o/Math.pow(2,32),l=o%Math.pow(2,32);this.bufferBuilder.append((c&4278190080)>>>24),this.bufferBuilder.append((c&16711680)>>>16),this.bufferBuilder.append((c&65280)>>>8),this.bufferBuilder.append(c&255),this.bufferBuilder.append((l&4278190080)>>>24),this.bufferBuilder.append((l&16711680)>>>16),this.bufferBuilder.append((l&65280)>>>8),this.bufferBuilder.append(l&255)},i.prototype.pack_int8=function(o){this.bufferBuilder.append(o&255)},i.prototype.pack_int16=function(o){this.bufferBuilder.append((o&65280)>>8),this.bufferBuilder.append(o&255)},i.prototype.pack_int32=function(o){this.bufferBuilder.append(o>>>24&255),this.bufferBuilder.append((o&16711680)>>>16),this.bufferBuilder.append((o&65280)>>>8),this.bufferBuilder.append(o&255)},i.prototype.pack_int64=function(o){var c=Math.floor(o/Math.pow(2,32)),l=o%Math.pow(2,32);this.bufferBuilder.append((c&4278190080)>>>24),this.bufferBuilder.append((c&16711680)>>>16),this.bufferBuilder.append((c&65280)>>>8),this.bufferBuilder.append(c&255),this.bufferBuilder.append((l&4278190080)>>>24),this.bufferBuilder.append((l&16711680)>>>16),this.bufferBuilder.append((l&65280)>>>8),this.bufferBuilder.append(l&255)};function s(o){var c=o.charCodeAt(0);return c<=2047?"00":c<=65535?"000":c<=2097151?"0000":c<=67108863?"00000":"000000"}function a(o){return o.length>600?new Blob([o]).size:o.replace(/[^\u0000-\u007F]/g,s).length}return un}var rc=tc();const Os=di(rc);let zs=!0,Bs=!0;function cr(n,e,t){const r=n.match(e);return r&&r.length>=t&&parseInt(r[t],10)}function jt(n,e,t){if(!n.RTCPeerConnection)return;const r=n.RTCPeerConnection.prototype,i=r.addEventListener;r.addEventListener=function(a,o){if(a!==e)return i.apply(this,arguments);const c=l=>{const h=t(l);h&&(o.handleEvent?o.handleEvent(h):o(h))};return this._eventMap=this._eventMap||{},this._eventMap[e]||(this._eventMap[e]=new Map),this._eventMap[e].set(o,c),i.apply(this,[a,c])};const s=r.removeEventListener;r.removeEventListener=function(a,o){if(a!==e||!this._eventMap||!this._eventMap[e])return s.apply(this,arguments);if(!this._eventMap[e].has(o))return s.apply(this,arguments);const c=this._eventMap[e].get(o);return this._eventMap[e].delete(o),this._eventMap[e].size===0&&delete this._eventMap[e],Object.keys(this._eventMap).length===0&&delete this._eventMap,s.apply(this,[a,c])},Object.defineProperty(r,"on"+e,{get(){return this["_on"+e]},set(a){this["_on"+e]&&(this.removeEventListener(e,this["_on"+e]),delete this["_on"+e]),a&&this.addEventListener(e,this["_on"+e]=a)},enumerable:!0,configurable:!0})}function ic(n){return typeof n!="boolean"?new Error("Argument type: "+typeof n+". Please use a boolean."):(zs=n,n?"adapter.js logging disabled":"adapter.js logging enabled")}function nc(n){return typeof n!="boolean"?new Error("Argument type: "+typeof n+". Please use a boolean."):(Bs=!n,"adapter.js deprecation warnings "+(n?"disabled":"enabled"))}function dn(){if(typeof window=="object"){if(zs)return;typeof console<"u"&&typeof console.log=="function"&&console.log.apply(console,arguments)}}function pi(n,e){Bs&&console.warn(n+" is deprecated, please use "+e+" instead.")}function sc(n){const e={browser:null,version:null};if(typeof n>"u"||!n.navigator)return e.browser="Not a browser.",e;const{navigator:t}=n;if(t.mozGetUserMedia)e.browser="firefox",e.version=cr(t.userAgent,/Firefox\/(\d+)\./,1);else if(t.webkitGetUserMedia||n.isSecureContext===!1&&n.webkitRTCPeerConnection&&!n.RTCIceGatherer)e.browser="chrome",e.version=cr(t.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else if(t.mediaDevices&&t.userAgent.match(/Edge\/(\d+).(\d+)$/))e.browser="edge",e.version=cr(t.userAgent,/Edge\/(\d+).(\d+)$/,2);else if(n.RTCPeerConnection&&t.userAgent.match(/AppleWebKit\/(\d+)\./))e.browser="safari",e.version=cr(t.userAgent,/AppleWebKit\/(\d+)\./,1),e.supportsUnifiedPlan=n.RTCRtpTransceiver&&"currentDirection"in n.RTCRtpTransceiver.prototype;else return e.browser="Not a supported browser.",e;return e}function Is(n){return Object.prototype.toString.call(n)==="[object Object]"}function Us(n){return Is(n)?Object.keys(n).reduce(function(e,t){const r=Is(n[t]),i=r?Us(n[t]):n[t],s=r&&!Object.keys(i).length;return i===void 0||s?e:Object.assign(e,{[t]:i})},{}):n}function pn(n,e,t){!e||t.has(e.id)||(t.set(e.id,e),Object.keys(e).forEach(r=>{r.endsWith("Id")?pn(n,n.get(e[r]),t):r.endsWith("Ids")&&e[r].forEach(i=>{pn(n,n.get(i),t)})}))}function Ns(n,e,t){const r=t?"outbound-rtp":"inbound-rtp",i=new Map;if(e===null)return i;const s=[];return n.forEach(a=>{a.type==="track"&&a.trackIdentifier===e.id&&s.push(a)}),s.forEach(a=>{n.forEach(o=>{o.type===r&&o.trackId===a.id&&pn(n,o,i)})}),i}const Ds=dn;function Fs(n,e){const t=n&&n.navigator;if(!t.mediaDevices)return;const r=function(o){if(typeof o!="object"||o.mandatory||o.optional)return o;const c={};return Object.keys(o).forEach(l=>{if(l==="require"||l==="advanced"||l==="mediaSource")return;const h=typeof o[l]=="object"?o[l]:{ideal:o[l]};h.exact!==void 0&&typeof h.exact=="number"&&(h.min=h.max=h.exact);const u=function(d,p){return d?d+p.charAt(0).toUpperCase()+p.slice(1):p==="deviceId"?"sourceId":p};if(h.ideal!==void 0){c.optional=c.optional||[];let d={};typeof h.ideal=="number"?(d[u("min",l)]=h.ideal,c.optional.push(d),d={},d[u("max",l)]=h.ideal,c.optional.push(d)):(d[u("",l)]=h.ideal,c.optional.push(d))}h.exact!==void 0&&typeof h.exact!="number"?(c.mandatory=c.mandatory||{},c.mandatory[u("",l)]=h.exact):["min","max"].forEach(d=>{h[d]!==void 0&&(c.mandatory=c.mandatory||{},c.mandatory[u(d,l)]=h[d])})}),o.advanced&&(c.optional=(c.optional||[]).concat(o.advanced)),c},i=function(o,c){if(e.version>=61)return c(o);if(o=JSON.parse(JSON.stringify(o)),o&&typeof o.audio=="object"){const l=function(h,u,d){u in h&&!(d in h)&&(h[d]=h[u],delete h[u])};o=JSON.parse(JSON.stringify(o)),l(o.audio,"autoGainControl","googAutoGainControl"),l(o.audio,"noiseSuppression","googNoiseSuppression"),o.audio=r(o.audio)}if(o&&typeof o.video=="object"){let l=o.video.facingMode;l=l&&(typeof l=="object"?l:{ideal:l});const h=e.version<66;if(l&&(l.exact==="user"||l.exact==="environment"||l.ideal==="user"||l.ideal==="environment")&&!(t.mediaDevices.getSupportedConstraints&&t.mediaDevices.getSupportedConstraints().facingMode&&!h)){delete o.video.facingMode;let u;if(l.exact==="environment"||l.ideal==="environment"?u=["back","rear"]:(l.exact==="user"||l.ideal==="user")&&(u=["front"]),u)return t.mediaDevices.enumerateDevices().then(d=>{d=d.filter(y=>y.kind==="videoinput");let p=d.find(y=>u.some(g=>y.label.toLowerCase().includes(g)));return!p&&d.length&&u.includes("back")&&(p=d[d.length-1]),p&&(o.video.deviceId=l.exact?{exact:p.deviceId}:{ideal:p.deviceId}),o.video=r(o.video),Ds("chrome: "+JSON.stringify(o)),c(o)})}o.video=r(o.video)}return Ds("chrome: "+JSON.stringify(o)),c(o)},s=function(o){return e.version>=64?o:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[o.name]||o.name,message:o.message,constraint:o.constraint||o.constraintName,toString(){return this.name+(this.message&&": ")+this.message}}},a=function(o,c,l){i(o,h=>{t.webkitGetUserMedia(h,c,u=>{l&&l(s(u))})})};if(t.getUserMedia=a.bind(t),t.mediaDevices.getUserMedia){const o=t.mediaDevices.getUserMedia.bind(t.mediaDevices);t.mediaDevices.getUserMedia=function(c){return i(c,l=>o(l).then(h=>{if(l.audio&&!h.getAudioTracks().length||l.video&&!h.getVideoTracks().length)throw h.getTracks().forEach(u=>{u.stop()}),new DOMException("","NotFoundError");return h},h=>Promise.reject(s(h))))}}}function oc(n,e){if(!(n.navigator.mediaDevices&&"getDisplayMedia"in n.navigator.mediaDevices)&&n.navigator.mediaDevices){if(typeof e!="function"){console.error("shimGetDisplayMedia: getSourceId argument is not a function");return}n.navigator.mediaDevices.getDisplayMedia=function(t){return e(t).then(r=>{const i=t.video&&t.video.width,s=t.video&&t.video.height,a=t.video&&t.video.frameRate;return t.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:r,maxFrameRate:a||3}},i&&(t.video.mandatory.maxWidth=i),s&&(t.video.mandatory.maxHeight=s),n.navigator.mediaDevices.getUserMedia(t)})}}}function Ls(n){n.MediaStream=n.MediaStream||n.webkitMediaStream}function Vs(n){if(typeof n=="object"&&n.RTCPeerConnection&&!("ontrack"in n.RTCPeerConnection.prototype)){Object.defineProperty(n.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(t){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=t)},enumerable:!0,configurable:!0});const e=n.RTCPeerConnection.prototype.setRemoteDescription;n.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=t=>{t.stream.addEventListener("addtrack",r=>{let i;n.RTCPeerConnection.prototype.getReceivers?i=this.getReceivers().find(a=>a.track&&a.track.id===r.track.id):i={track:r.track};const s=new Event("track");s.track=r.track,s.receiver=i,s.transceiver={receiver:i},s.streams=[t.stream],this.dispatchEvent(s)}),t.stream.getTracks().forEach(r=>{let i;n.RTCPeerConnection.prototype.getReceivers?i=this.getReceivers().find(a=>a.track&&a.track.id===r.id):i={track:r};const s=new Event("track");s.track=r,s.receiver=i,s.transceiver={receiver:i},s.streams=[t.stream],this.dispatchEvent(s)})},this.addEventListener("addstream",this._ontrackpoly)),e.apply(this,arguments)}}else jt(n,"track",e=>(e.transceiver||Object.defineProperty(e,"transceiver",{value:{receiver:e.receiver}}),e))}function js(n){if(typeof n=="object"&&n.RTCPeerConnection&&!("getSenders"in n.RTCPeerConnection.prototype)&&"createDTMFSender"in n.RTCPeerConnection.prototype){const e=function(i,s){return{track:s,get dtmf(){return this._dtmf===void 0&&(s.kind==="audio"?this._dtmf=i.createDTMFSender(s):this._dtmf=null),this._dtmf},_pc:i}};if(!n.RTCPeerConnection.prototype.getSenders){n.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};const i=n.RTCPeerConnection.prototype.addTrack;n.RTCPeerConnection.prototype.addTrack=function(a,o){let c=i.apply(this,arguments);return c||(c=e(this,a),this._senders.push(c)),c};const s=n.RTCPeerConnection.prototype.removeTrack;n.RTCPeerConnection.prototype.removeTrack=function(a){s.apply(this,arguments);const o=this._senders.indexOf(a);o!==-1&&this._senders.splice(o,1)}}const t=n.RTCPeerConnection.prototype.addStream;n.RTCPeerConnection.prototype.addStream=function(i){this._senders=this._senders||[],t.apply(this,[i]),i.getTracks().forEach(s=>{this._senders.push(e(this,s))})};const r=n.RTCPeerConnection.prototype.removeStream;n.RTCPeerConnection.prototype.removeStream=function(i){this._senders=this._senders||[],r.apply(this,[i]),i.getTracks().forEach(s=>{const a=this._senders.find(o=>o.track===s);a&&this._senders.splice(this._senders.indexOf(a),1)})}}else if(typeof n=="object"&&n.RTCPeerConnection&&"getSenders"in n.RTCPeerConnection.prototype&&"createDTMFSender"in n.RTCPeerConnection.prototype&&n.RTCRtpSender&&!("dtmf"in n.RTCRtpSender.prototype)){const e=n.RTCPeerConnection.prototype.getSenders;n.RTCPeerConnection.prototype.getSenders=function(){const t=e.apply(this,[]);return t.forEach(r=>r._pc=this),t},Object.defineProperty(n.RTCRtpSender.prototype,"dtmf",{get(){return this._dtmf===void 0&&(this.track.kind==="audio"?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function Js(n){if(!n.RTCPeerConnection)return;const e=n.RTCPeerConnection.prototype.getStats;n.RTCPeerConnection.prototype.getStats=function(){const[t,r,i]=arguments;if(arguments.length>0&&typeof t=="function")return e.apply(this,arguments);if(e.length===0&&(arguments.length===0||typeof t!="function"))return e.apply(this,[]);const s=function(o){const c={};return o.result().forEach(l=>{const h={id:l.id,timestamp:l.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[l.type]||l.type};l.names().forEach(u=>{h[u]=l.stat(u)}),c[h.id]=h}),c},a=function(o){return new Map(Object.keys(o).map(c=>[c,o[c]]))};if(arguments.length>=2){const o=function(c){r(a(s(c)))};return e.apply(this,[o,t])}return new Promise((o,c)=>{e.apply(this,[function(l){o(a(s(l)))},c])}).then(r,i)}}function Gs(n){if(!(typeof n=="object"&&n.RTCPeerConnection&&n.RTCRtpSender&&n.RTCRtpReceiver))return;if(!("getStats"in n.RTCRtpSender.prototype)){const t=n.RTCPeerConnection.prototype.getSenders;t&&(n.RTCPeerConnection.prototype.getSenders=function(){const i=t.apply(this,[]);return i.forEach(s=>s._pc=this),i});const r=n.RTCPeerConnection.prototype.addTrack;r&&(n.RTCPeerConnection.prototype.addTrack=function(){const i=r.apply(this,arguments);return i._pc=this,i}),n.RTCRtpSender.prototype.getStats=function(){const i=this;return this._pc.getStats().then(s=>Ns(s,i.track,!0))}}if(!("getStats"in n.RTCRtpReceiver.prototype)){const t=n.RTCPeerConnection.prototype.getReceivers;t&&(n.RTCPeerConnection.prototype.getReceivers=function(){const r=t.apply(this,[]);return r.forEach(i=>i._pc=this),r}),jt(n,"track",r=>(r.receiver._pc=r.srcElement,r)),n.RTCRtpReceiver.prototype.getStats=function(){const r=this;return this._pc.getStats().then(i=>Ns(i,r.track,!1))}}if(!("getStats"in n.RTCRtpSender.prototype&&"getStats"in n.RTCRtpReceiver.prototype))return;const e=n.RTCPeerConnection.prototype.getStats;n.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof n.MediaStreamTrack){const t=arguments[0];let r,i,s;return this.getSenders().forEach(a=>{a.track===t&&(r?s=!0:r=a)}),this.getReceivers().forEach(a=>(a.track===t&&(i?s=!0:i=a),a.track===t)),s||r&&i?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):r?r.getStats():i?i.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return e.apply(this,arguments)}}function Ws(n){n.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(s=>this._shimmedLocalStreams[s][0])};const e=n.RTCPeerConnection.prototype.addTrack;n.RTCPeerConnection.prototype.addTrack=function(s,a){if(!a)return e.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};const o=e.apply(this,arguments);return this._shimmedLocalStreams[a.id]?this._shimmedLocalStreams[a.id].indexOf(o)===-1&&this._shimmedLocalStreams[a.id].push(o):this._shimmedLocalStreams[a.id]=[a,o],o};const t=n.RTCPeerConnection.prototype.addStream;n.RTCPeerConnection.prototype.addStream=function(s){this._shimmedLocalStreams=this._shimmedLocalStreams||{},s.getTracks().forEach(c=>{if(this.getSenders().find(l=>l.track===c))throw new DOMException("Track already exists.","InvalidAccessError")});const a=this.getSenders();t.apply(this,arguments);const o=this.getSenders().filter(c=>a.indexOf(c)===-1);this._shimmedLocalStreams[s.id]=[s].concat(o)};const r=n.RTCPeerConnection.prototype.removeStream;n.RTCPeerConnection.prototype.removeStream=function(s){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[s.id],r.apply(this,arguments)};const i=n.RTCPeerConnection.prototype.removeTrack;n.RTCPeerConnection.prototype.removeTrack=function(s){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},s&&Object.keys(this._shimmedLocalStreams).forEach(a=>{const o=this._shimmedLocalStreams[a].indexOf(s);o!==-1&&this._shimmedLocalStreams[a].splice(o,1),this._shimmedLocalStreams[a].length===1&&delete this._shimmedLocalStreams[a]}),i.apply(this,arguments)}}function Xs(n,e){if(!n.RTCPeerConnection)return;if(n.RTCPeerConnection.prototype.addTrack&&e.version>=65)return Ws(n);const t=n.RTCPeerConnection.prototype.getLocalStreams;n.RTCPeerConnection.prototype.getLocalStreams=function(){const l=t.apply(this);return this._reverseStreams=this._reverseStreams||{},l.map(h=>this._reverseStreams[h.id])};const r=n.RTCPeerConnection.prototype.addStream;n.RTCPeerConnection.prototype.addStream=function(l){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},l.getTracks().forEach(h=>{if(this.getSenders().find(u=>u.track===h))throw new DOMException("Track already exists.","InvalidAccessError")}),!this._reverseStreams[l.id]){const h=new n.MediaStream(l.getTracks());this._streams[l.id]=h,this._reverseStreams[h.id]=l,l=h}r.apply(this,[l])};const i=n.RTCPeerConnection.prototype.removeStream;n.RTCPeerConnection.prototype.removeStream=function(l){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},i.apply(this,[this._streams[l.id]||l]),delete this._reverseStreams[this._streams[l.id]?this._streams[l.id].id:l.id],delete this._streams[l.id]},n.RTCPeerConnection.prototype.addTrack=function(l,h){if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");const u=[].slice.call(arguments,1);if(u.length!==1||!u[0].getTracks().find(p=>p===l))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");if(this.getSenders().find(p=>p.track===l))throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};const d=this._streams[h.id];if(d)d.addTrack(l),Promise.resolve().then(()=>{this.dispatchEvent(new Event("negotiationneeded"))});else{const p=new n.MediaStream([l]);this._streams[h.id]=p,this._reverseStreams[p.id]=h,this.addStream(p)}return this.getSenders().find(p=>p.track===l)};function s(l,h){let u=h.sdp;return Object.keys(l._reverseStreams||[]).forEach(d=>{const p=l._reverseStreams[d],y=l._streams[p.id];u=u.replace(new RegExp(y.id,"g"),p.id)}),new RTCSessionDescription({type:h.type,sdp:u})}function a(l,h){let u=h.sdp;return Object.keys(l._reverseStreams||[]).forEach(d=>{const p=l._reverseStreams[d],y=l._streams[p.id];u=u.replace(new RegExp(p.id,"g"),y.id)}),new RTCSessionDescription({type:h.type,sdp:u})}["createOffer","createAnswer"].forEach(function(l){const h=n.RTCPeerConnection.prototype[l],u={[l](){const d=arguments;return arguments.length&&typeof arguments[0]=="function"?h.apply(this,[p=>{const y=s(this,p);d[0].apply(null,[y])},p=>{d[1]&&d[1].apply(null,p)},arguments[2]]):h.apply(this,arguments).then(p=>s(this,p))}};n.RTCPeerConnection.prototype[l]=u[l]});const o=n.RTCPeerConnection.prototype.setLocalDescription;n.RTCPeerConnection.prototype.setLocalDescription=function(){return!arguments.length||!arguments[0].type?o.apply(this,arguments):(arguments[0]=a(this,arguments[0]),o.apply(this,arguments))};const c=Object.getOwnPropertyDescriptor(n.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(n.RTCPeerConnection.prototype,"localDescription",{get(){const l=c.get.apply(this);return l.type===""?l:s(this,l)}}),n.RTCPeerConnection.prototype.removeTrack=function(l){if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!l._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(l._pc!==this)throw new DOMException("Sender was not created by this connection.","InvalidAccessError");this._streams=this._streams||{};let h;Object.keys(this._streams).forEach(u=>{this._streams[u].getTracks().find(d=>l.track===d)&&(h=this._streams[u])}),h&&(h.getTracks().length===1?this.removeStream(this._reverseStreams[h.id]):h.removeTrack(l.track),this.dispatchEvent(new Event("negotiationneeded")))}}function fn(n,e){!n.RTCPeerConnection&&n.webkitRTCPeerConnection&&(n.RTCPeerConnection=n.webkitRTCPeerConnection),n.RTCPeerConnection&&e.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(t){const r=n.RTCPeerConnection.prototype[t],i={[t](){return arguments[0]=new(t==="addIceCandidate"?n.RTCIceCandidate:n.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}};n.RTCPeerConnection.prototype[t]=i[t]})}function qs(n,e){jt(n,"negotiationneeded",t=>{const r=t.target;if(!((e.version<72||r.getConfiguration&&r.getConfiguration().sdpSemantics==="plan-b")&&r.signalingState!=="stable"))return t})}const Hs=Object.freeze(Object.defineProperty({__proto__:null,fixNegotiationNeeded:qs,shimAddTrackRemoveTrack:Xs,shimAddTrackRemoveTrackWithNative:Ws,shimGetDisplayMedia:oc,shimGetSendersWithDtmf:js,shimGetStats:Js,shimGetUserMedia:Fs,shimMediaStream:Ls,shimOnTrack:Vs,shimPeerConnection:fn,shimSenderReceiverGetStats:Gs},Symbol.toStringTag,{value:"Module"}));function ac(n,e){let t=!1;return n=JSON.parse(JSON.stringify(n)),n.filter(r=>{if(r&&(r.urls||r.url)){let i=r.urls||r.url;r.url&&!r.urls&&pi("RTCIceServer.url","RTCIceServer.urls");const s=typeof i=="string";return s&&(i=[i]),i=i.filter(a=>{if(a.indexOf("stun:")===0)return!1;const o=a.startsWith("turn")&&!a.startsWith("turn:[")&&a.includes("transport=udp");return o&&!t?(t=!0,!0):o&&!t}),delete r.url,r.urls=s?i[0]:i,!!i.length}})}var Ys={exports:{}},Zs;function Qs(){return Zs||(Zs=1,function(n){var e={};e.generateIdentifier=function(){return Math.random().toString(36).substr(2,10)},e.localCName=e.generateIdentifier(),e.splitLines=function(t){return t.trim().split(`
2
2
  `).map(function(r){return r.trim()})},e.splitSections=function(t){var r=t.split(`
3
3
  m=`);return r.map(function(i,s){return(s>0?"m="+i:i).trim()+`\r
4
4
  `})},e.getDescription=function(t){var r=e.splitSections(t);return r&&r[0]},e.getMediaSections=function(t){var r=e.splitSections(t);return r.shift(),r},e.matchPrefix=function(t,r){return e.splitLines(t).filter(function(i){return i.indexOf(r)===0})},e.parseCandidate=function(t){var r;t.indexOf("a=candidate:")===0?r=t.substring(12).split(" "):r=t.substring(10).split(" ");for(var i={foundation:r[0],component:parseInt(r[1],10),protocol:r[2].toLowerCase(),priority:parseInt(r[3],10),ip:r[4],address:r[4],port:parseInt(r[5],10),type:r[7]},s=8;s<r.length;s+=2)switch(r[s]){case"raddr":i.relatedAddress=r[s+1];break;case"rport":i.relatedPort=parseInt(r[s+1],10);break;case"tcptype":i.tcpType=r[s+1];break;case"ufrag":i.ufrag=r[s+1],i.usernameFragment=r[s+1];break;default:i[r[s]]=r[s+1];break}return i},e.writeCandidate=function(t){var r=[];r.push(t.foundation),r.push(t.component),r.push(t.protocol.toUpperCase()),r.push(t.priority),r.push(t.address||t.ip),r.push(t.port);var i=t.type;return r.push("typ"),r.push(i),i!=="host"&&t.relatedAddress&&t.relatedPort&&(r.push("raddr"),r.push(t.relatedAddress),r.push("rport"),r.push(t.relatedPort)),t.tcpType&&t.protocol.toLowerCase()==="tcp"&&(r.push("tcptype"),r.push(t.tcpType)),(t.usernameFragment||t.ufrag)&&(r.push("ufrag"),r.push(t.usernameFragment||t.ufrag)),"candidate:"+r.join(" ")},e.parseIceOptions=function(t){return t.substr(14).split(" ")},e.parseRtpMap=function(t){var r=t.substr(9).split(" "),i={payloadType:parseInt(r.shift(),10)};return r=r[0].split("/"),i.name=r[0],i.clockRate=parseInt(r[1],10),i.channels=r.length===3?parseInt(r[2],10):1,i.numChannels=i.channels,i},e.writeRtpMap=function(t){var r=t.payloadType;t.preferredPayloadType!==void 0&&(r=t.preferredPayloadType);var i=t.channels||t.numChannels||1;return"a=rtpmap:"+r+" "+t.name+"/"+t.clockRate+(i!==1?"/"+i:"")+`\r
@@ -56,7 +56,9 @@ export function disposeObjectResources(obj) {
56
56
  console.warn("Object is marked as not disposable", obj);
57
57
  return;
58
58
  }
59
- obj[$disposed] = true;
59
+ if (typeof obj === "object") {
60
+ obj[$disposed] = true;
61
+ }
60
62
  if (obj instanceof Scene) {
61
63
  disposeObjectResources(obj.environment);
62
64
  disposeObjectResources(obj.background);
@@ -1 +1 @@
1
- {"version":3,"file":"engine_assetdatabase.js","sourceRoot":"","sources":["../../src/engine/engine_assetdatabase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_assetdatabase.js","sourceRoot":"","sources":["../../src/engine/engine_assetdatabase.ts"],"names":[],"mappings":"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"}
@@ -404,8 +404,8 @@ export declare class Context implements IContext {
404
404
  * Remove the camera from the mainCamera stack (if it has been set before with `setCurrentCamera`)
405
405
  */
406
406
  removeCamera(cam?: ICamera | null): void;
407
- private _onBeforeRenderListeners;
408
- private _onAfterRenderListeners;
407
+ private readonly _onBeforeRenderListeners;
408
+ private readonly _onAfterRenderListeners;
409
409
  /** Use to subscribe to onBeforeRender events on threejs objects.
410
410
  * @link https://threejs.org/docs/#api/en/core/Object3D.onBeforeRender
411
411
  */
@@ -670,6 +670,8 @@ export class Context {
670
670
  this.lightmaps?.clear();
671
671
  this.physics?.engine?.clearCaches();
672
672
  this.lodsManager.disable();
673
+ this._onBeforeRenderListeners.clear();
674
+ this._onAfterRenderListeners.clear();
673
675
  if (!this.isManagedExternally) {
674
676
  if (this.renderer) {
675
677
  this.renderer.renderLists.dispose();
@@ -805,8 +807,9 @@ export class Context {
805
807
  */
806
808
  addBeforeRenderListener(target, callback) {
807
809
  if (!this._onBeforeRenderListeners.has(target.uuid)) {
808
- this._onBeforeRenderListeners.set(target.uuid, []);
809
- target.onBeforeRender = this._createRenderCallbackWrapper(target, this._onBeforeRenderListeners);
810
+ const arr = [];
811
+ this._onBeforeRenderListeners.set(target.uuid, arr);
812
+ target.onBeforeRender = this._createRenderCallbackWrapper(arr);
810
813
  }
811
814
  this._onBeforeRenderListeners.get(target.uuid).push(callback);
812
815
  }
@@ -827,8 +830,9 @@ export class Context {
827
830
  */
828
831
  addAfterRenderListener(target, callback) {
829
832
  if (!this._onAfterRenderListeners.has(target.uuid)) {
830
- this._onAfterRenderListeners.set(target.uuid, []);
831
- target.onAfterRender = this._createRenderCallbackWrapper(target, this._onAfterRenderListeners);
833
+ const arr = [];
834
+ this._onAfterRenderListeners.set(target.uuid, arr);
835
+ target.onAfterRender = this._createRenderCallbackWrapper(arr);
832
836
  }
833
837
  this._onAfterRenderListeners.get(target.uuid)?.push(callback);
834
838
  }
@@ -844,13 +848,10 @@ export class Context {
844
848
  arr.splice(idx, 1);
845
849
  }
846
850
  }
847
- _createRenderCallbackWrapper(target, array) {
851
+ _createRenderCallbackWrapper(array) {
848
852
  return (renderer, scene, camera, geometry, material, group) => {
849
- const arr = array.get(target.uuid);
850
- if (!arr)
851
- return;
852
- for (let i = 0; i < arr.length; i++) {
853
- const fn = arr[i];
853
+ for (let i = 0; i < array.length; i++) {
854
+ const fn = array[i];
854
855
  fn(renderer, scene, camera, geometry, material, group);
855
856
  }
856
857
  };
@@ -1 +1 @@
1
- {"version":3,"file":"engine_context.js","sourceRoot":"","sources":["../../src/engine/engine_context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine_context.js","sourceRoot":"","sources":["../../src/engine/engine_context.ts"],"names":[],"mappings":"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"}