@needle-tools/engine 4.8.4-next.5c03fe1 → 4.8.4-next.b63dc2f

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 (54) hide show
  1. package/README.md +5 -0
  2. package/dist/{gltf-progressive-PB_58h1b.umd.cjs → gltf-progressive-C-U_onhf.umd.cjs} +1 -1
  3. package/dist/{gltf-progressive-DorC035H.min.js → gltf-progressive-DViD_J_l.min.js} +1 -1
  4. package/dist/{gltf-progressive-B3JW4cAu.js → gltf-progressive-DXRy9EQz.js} +35 -35
  5. package/dist/loader.worker-CiTwpNPW.js +27 -0
  6. package/dist/{needle-engine.bundle-BecMzBfA.js → needle-engine.bundle-BR8P4m1O.js} +6363 -6394
  7. package/dist/{needle-engine.bundle-BDQm33td.umd.cjs → needle-engine.bundle-CuQtpPTN.umd.cjs} +134 -135
  8. package/dist/{needle-engine.bundle-C3oFZgvW.min.js → needle-engine.bundle-DA6dZylq.min.js} +138 -139
  9. package/dist/needle-engine.js +4 -4
  10. package/dist/needle-engine.min.js +1 -1
  11. package/dist/needle-engine.umd.cjs +1 -1
  12. package/dist/{postprocessing-BgC7XZwK.umd.cjs → postprocessing-61aXdqNz.umd.cjs} +1 -1
  13. package/dist/{postprocessing-ChsrvDkI.min.js → postprocessing-Be9Ds4NK.min.js} +1 -1
  14. package/dist/{postprocessing-DddlM3CK.js → postprocessing-D9jDHD0U.js} +2 -2
  15. package/dist/{three-DrqIzZTH.js → three-BRSLmpyi.js} +2966 -2958
  16. package/dist/{three-DuDKwKB8.min.js → three-CsmWHVn7.min.js} +172 -172
  17. package/dist/{three-B_hneGZr.umd.cjs → three-Dceyffus.umd.cjs} +176 -176
  18. package/dist/{three-examples-BIuXQPSf.js → three-examples-BihZ_R96.js} +2761 -2623
  19. package/dist/{three-examples-CNRuT27G.umd.cjs → three-examples-Ce6Th3bv.umd.cjs} +17 -17
  20. package/dist/three-examples-DKY9Nfge.min.js +501 -0
  21. package/dist/{three-mesh-ui-DWcMuyQ_.min.js → three-mesh-ui-Bwy12Qvg.min.js} +1 -1
  22. package/dist/{three-mesh-ui-tt0buEDC.umd.cjs → three-mesh-ui-Cdh2iW8b.umd.cjs} +1 -1
  23. package/dist/{three-mesh-ui-D6Mz5Yl7.js → three-mesh-ui-gqAXlGNB.js} +1 -1
  24. package/dist/{vendor-C31T0mYm.min.js → vendor-BRpzuoJE.min.js} +1 -1
  25. package/dist/{vendor-D51IT5ns.umd.cjs → vendor-Ja-vKV-a.umd.cjs} +1 -1
  26. package/dist/{vendor-B_ytQUuR.js → vendor-p_xp9KuJ.js} +1 -1
  27. package/lib/engine/debug/debug_console.js +3 -33
  28. package/lib/engine/debug/debug_console.js.map +1 -1
  29. package/lib/engine/engine_pmrem.d.ts +2 -0
  30. package/lib/engine/engine_pmrem.js +100 -0
  31. package/lib/engine/engine_pmrem.js.map +1 -0
  32. package/lib/engine-components/Camera.js +1 -1
  33. package/lib/engine-components/Camera.js.map +1 -1
  34. package/lib/engine-components/DragControls.js +0 -1
  35. package/lib/engine-components/DragControls.js.map +1 -1
  36. package/lib/engine-components/Duplicatable.js +5 -2
  37. package/lib/engine-components/Duplicatable.js.map +1 -1
  38. package/lib/engine-components/Skybox.d.ts +0 -2
  39. package/lib/engine-components/Skybox.js +26 -110
  40. package/lib/engine-components/Skybox.js.map +1 -1
  41. package/lib/engine-components/TransformGizmo.js +10 -2
  42. package/lib/engine-components/TransformGizmo.js.map +1 -1
  43. package/package.json +3 -3
  44. package/src/engine/debug/debug_console.ts +3 -33
  45. package/src/engine/engine_pmrem.ts +118 -0
  46. package/src/engine-components/Camera.ts +1 -1
  47. package/src/engine-components/DragControls.ts +0 -1
  48. package/src/engine-components/Duplicatable.ts +3 -2
  49. package/src/engine-components/Skybox.ts +30 -102
  50. package/src/engine-components/TransformGizmo.ts +11 -2
  51. package/src/include/ktx2/basis_transcoder.js +8 -10
  52. package/src/include/ktx2/basis_transcoder.wasm +0 -0
  53. package/dist/loader.worker-CrU5fNbR.js +0 -27
  54. package/dist/three-examples-D2zemuAM.min.js +0 -501
@@ -1,4 +1,4 @@
1
- "use strict";const M=require("./three-B_hneGZr.umd.cjs"),st={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 uo(n){const t=await fetch(n);if(t.ok)return t.json();throw new Error(t.statusText)}async function ga(n){return await uo(`${n}/profilesList.json`)}async function va(n,t,e=null,i=!0){if(!n)throw new Error("No xrInputSource supplied");const r=await ga(t);let s;if(n.profiles.some(c=>{const l=r[c];return l&&(s={profileId:c,profilePath:`${t}/${l.path}`,deprecated:!!l.deprecated}),!!s}),!s){if(!e)throw new Error("No matching profile name found");const c=r[e];if(!c)throw new Error(`No matching profile name found and default profile "${e}" missing.`);s={profileId:e,profilePath:`${t}/${c.path}`,deprecated:!!c.deprecated}}const a=await uo(s.profilePath);let o;if(i){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 _a={xAxis:0,yAxis:0,button:0,state:st.ComponentState.DEFAULT};function xa(n=0,t=0){let e=n,i=t;if(Math.sqrt(n*n+t*t)>1){const a=Math.atan2(t,n);e=Math.cos(a),i=Math.sin(a)}return{normalizedXAxis:e*.5+.5,normalizedYAxis:i*.5+.5}}class Sa{constructor(t){this.componentProperty=t.componentProperty,this.states=t.states,this.valueNodeName=t.valueNodeName,this.valueNodeProperty=t.valueNodeProperty,this.valueNodeProperty===st.VisualResponseProperty.TRANSFORM&&(this.minNodeName=t.minNodeName,this.maxNodeName=t.maxNodeName),this.value=0,this.updateFromComponent(_a)}updateFromComponent({xAxis:t,yAxis:e,button:i,state:r}){const{normalizedXAxis:s,normalizedYAxis:a}=xa(t,e);switch(this.componentProperty){case st.ComponentProperty.X_AXIS:this.value=this.states.includes(r)?s:.5;break;case st.ComponentProperty.Y_AXIS:this.value=this.states.includes(r)?a:.5;break;case st.ComponentProperty.BUTTON:this.value=this.states.includes(r)?i:0;break;case st.ComponentProperty.STATE:this.valueNodeProperty===st.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(r):this.value=this.states.includes(r)?1:0;break;default:throw new Error(`Unexpected visualResponse componentProperty ${this.componentProperty}`)}}}class ba{constructor(t,e){if(!t||!e||!e.visualResponses||!e.gamepadIndices||Object.keys(e.gamepadIndices).length===0)throw new Error("Invalid arguments supplied");this.id=t,this.type=e.type,this.rootNodeName=e.rootNodeName,this.touchPointNodeName=e.touchPointNodeName,this.visualResponses={},Object.keys(e.visualResponses).forEach(i=>{const r=new Sa(e.visualResponses[i]);this.visualResponses[i]=r}),this.gamepadIndices=Object.assign({},e.gamepadIndices),this.values={state:st.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(t){if(this.values.state=st.ComponentState.DEFAULT,this.gamepadIndices.button!==void 0&&t.buttons.length>this.gamepadIndices.button){const e=t.buttons[this.gamepadIndices.button];this.values.button=e.value,this.values.button=this.values.button<0?0:this.values.button,this.values.button=this.values.button>1?1:this.values.button,e.pressed||this.values.button===1?this.values.state=st.ComponentState.PRESSED:(e.touched||this.values.button>st.ButtonTouchThreshold)&&(this.values.state=st.ComponentState.TOUCHED)}this.gamepadIndices.xAxis!==void 0&&t.axes.length>this.gamepadIndices.xAxis&&(this.values.xAxis=t.axes[this.gamepadIndices.xAxis],this.values.xAxis=this.values.xAxis<-1?-1:this.values.xAxis,this.values.xAxis=this.values.xAxis>1?1:this.values.xAxis,this.values.state===st.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>st.AxisTouchThreshold&&(this.values.state=st.ComponentState.TOUCHED)),this.gamepadIndices.yAxis!==void 0&&t.axes.length>this.gamepadIndices.yAxis&&(this.values.yAxis=t.axes[this.gamepadIndices.yAxis],this.values.yAxis=this.values.yAxis<-1?-1:this.values.yAxis,this.values.yAxis=this.values.yAxis>1?1:this.values.yAxis,this.values.state===st.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>st.AxisTouchThreshold&&(this.values.state=st.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach(e=>{e.updateFromComponent(this.values)})}}class Ta{constructor(t,e,i){if(!t)throw new Error("No xrInputSource supplied");if(!e)throw new Error("No profile supplied");this.xrInputSource=t,this.assetUrl=i,this.id=e.profileId,this.layoutDescription=e.layouts[t.handedness],this.components={},Object.keys(this.layoutDescription.components).forEach(r=>{const s=this.layoutDescription.components[r];this.components[r]=new ba(r,s)}),this.updateFromGamepad()}get gripSpace(){return this.xrInputSource.gripSpace}get targetRaySpace(){return this.xrInputSource.targetRaySpace}get data(){const t=[];return Object.values(this.components).forEach(e=>{t.push(e.data)}),t}updateFromGamepad(){Object.values(this.components).forEach(t=>{t.updateFromGamepad(this.xrInputSource.gamepad)})}}const Xr=2,qt=4,oe=4,ho=4,de=new Int32Array(2),os=new Float32Array(de.buffer),as=new Float64Array(de.buffer),tr=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;class ce{constructor(t,e){this.low=t|0,this.high=e|0}static create(t,e){return t==0&&e==0?ce.ZERO:new ce(t,e)}toFloat64(){return(this.low>>>0)+this.high*4294967296}equals(t){return this.low==t.low&&this.high==t.high}}ce.ZERO=new ce(0,0);var Pn;(function(n){n[n.UTF8_BYTES=1]="UTF8_BYTES",n[n.UTF16_STRING=2]="UTF16_STRING"})(Pn||(Pn={}));class gi{constructor(t){this.bytes_=t,this.position_=0}static allocate(t){return new gi(new Uint8Array(t))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(t){this.position_=t}capacity(){return this.bytes_.length}readInt8(t){return this.readUint8(t)<<24>>24}readUint8(t){return this.bytes_[t]}readInt16(t){return this.readUint16(t)<<16>>16}readUint16(t){return this.bytes_[t]|this.bytes_[t+1]<<8}readInt32(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24}readUint32(t){return this.readInt32(t)>>>0}readInt64(t){return new ce(this.readInt32(t),this.readInt32(t+4))}readUint64(t){return new ce(this.readUint32(t),this.readUint32(t+4))}readFloat32(t){return de[0]=this.readInt32(t),os[0]}readFloat64(t){return de[tr?0:1]=this.readInt32(t),de[tr?1:0]=this.readInt32(t+4),as[0]}writeInt8(t,e){this.bytes_[t]=e}writeUint8(t,e){this.bytes_[t]=e}writeInt16(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8}writeUint16(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8}writeInt32(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24}writeUint32(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24}writeInt64(t,e){this.writeInt32(t,e.low),this.writeInt32(t+4,e.high)}writeUint64(t,e){this.writeUint32(t,e.low),this.writeUint32(t+4,e.high)}writeFloat32(t,e){os[0]=e,this.writeInt32(t,de[0])}writeFloat64(t,e){as[0]=e,this.writeInt32(t,de[tr?0:1]),this.writeInt32(t+4,de[tr?1:0])}getBufferIdentifier(){if(this.bytes_.length<this.position_+qt+oe)throw new Error("FlatBuffers: ByteBuffer is too short to contain an identifier.");let t="";for(let e=0;e<oe;e++)t+=String.fromCharCode(this.readInt8(this.position_+qt+e));return t}__offset(t,e){const i=t-this.readInt32(t);return e<this.readInt16(i)?this.readInt16(i+e):0}__union(t,e){return t.bb_pos=e+this.readInt32(e),t.bb=this,t}__string(t,e){t+=this.readInt32(t);const i=this.readInt32(t);let r="",s=0;if(t+=qt,e===Pn.UTF8_BYTES)return this.bytes_.subarray(t,t+i);for(;s<i;){let a;const o=this.readUint8(t+s++);if(o<192)a=o;else{const c=this.readUint8(t+s++);if(o<224)a=(o&31)<<6|c&63;else{const l=this.readUint8(t+s++);if(o<240)a=(o&15)<<12|(c&63)<<6|l&63;else{const u=this.readUint8(t+s++);a=(o&7)<<18|(c&63)<<12|(l&63)<<6|u&63}}}a<65536?r+=String.fromCharCode(a):(a-=65536,r+=String.fromCharCode((a>>10)+55296,(a&1023)+56320))}return r}__union_with_string(t,e){return typeof t=="string"?this.__string(e):this.__union(t,e)}__indirect(t){return t+this.readInt32(t)}__vector(t){return t+this.readInt32(t)+qt}__vector_len(t){return this.readInt32(t+this.readInt32(t))}__has_identifier(t){if(t.length!=oe)throw new Error("FlatBuffers: file identifier must be length "+oe);for(let e=0;e<oe;e++)if(t.charCodeAt(e)!=this.readInt8(this.position()+qt+e))return!1;return!0}createLong(t,e){return ce.create(t,e)}createScalarList(t,e){const i=[];for(let r=0;r<e;++r)t(r)!==null&&i.push(t(r));return i}createObjList(t,e){const i=[];for(let r=0;r<e;++r){const s=t(r);s!==null&&i.push(s.unpack())}return i}}class Wn{constructor(t){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 e;t?e=t:e=1024,this.bb=gi.allocate(e),this.space=e}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(t){this.force_defaults=t}dataBuffer(){return this.bb}asUint8Array(){return this.bb.bytes().subarray(this.bb.position(),this.bb.position()+this.offset())}prep(t,e){t>this.minalign&&(this.minalign=t);const i=~(this.bb.capacity()-this.space+e)+1&t-1;for(;this.space<i+t+e;){const r=this.bb.capacity();this.bb=Wn.growByteBuffer(this.bb),this.space+=this.bb.capacity()-r}this.pad(i)}pad(t){for(let e=0;e<t;e++)this.bb.writeInt8(--this.space,0)}writeInt8(t){this.bb.writeInt8(this.space-=1,t)}writeInt16(t){this.bb.writeInt16(this.space-=2,t)}writeInt32(t){this.bb.writeInt32(this.space-=4,t)}writeInt64(t){this.bb.writeInt64(this.space-=8,t)}writeFloat32(t){this.bb.writeFloat32(this.space-=4,t)}writeFloat64(t){this.bb.writeFloat64(this.space-=8,t)}addInt8(t){this.prep(1,0),this.writeInt8(t)}addInt16(t){this.prep(2,0),this.writeInt16(t)}addInt32(t){this.prep(4,0),this.writeInt32(t)}addInt64(t){this.prep(8,0),this.writeInt64(t)}addFloat32(t){this.prep(4,0),this.writeFloat32(t)}addFloat64(t){this.prep(8,0),this.writeFloat64(t)}addFieldInt8(t,e,i){(this.force_defaults||e!=i)&&(this.addInt8(e),this.slot(t))}addFieldInt16(t,e,i){(this.force_defaults||e!=i)&&(this.addInt16(e),this.slot(t))}addFieldInt32(t,e,i){(this.force_defaults||e!=i)&&(this.addInt32(e),this.slot(t))}addFieldInt64(t,e,i){(this.force_defaults||!e.equals(i))&&(this.addInt64(e),this.slot(t))}addFieldFloat32(t,e,i){(this.force_defaults||e!=i)&&(this.addFloat32(e),this.slot(t))}addFieldFloat64(t,e,i){(this.force_defaults||e!=i)&&(this.addFloat64(e),this.slot(t))}addFieldOffset(t,e,i){(this.force_defaults||e!=i)&&(this.addOffset(e),this.slot(t))}addFieldStruct(t,e,i){e!=i&&(this.nested(e),this.slot(t))}nested(t){if(t!=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(t){this.vtable!==null&&(this.vtable[t]=this.offset())}offset(){return this.bb.capacity()-this.space}static growByteBuffer(t){const e=t.capacity();if(e&3221225472)throw new Error("FlatBuffers: cannot grow buffer beyond 2 gigabytes.");const i=e<<1,r=gi.allocate(i);return r.setPosition(i-e),r.bytes().set(t.bytes(),i-e),r}addOffset(t){this.prep(qt,0),this.writeInt32(this.offset()-t+qt)}startObject(t){this.notNested(),this.vtable==null&&(this.vtable=[]),this.vtable_in_use=t;for(let e=0;e<t;e++)this.vtable[e]=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 t=this.offset();let e=this.vtable_in_use-1;for(;e>=0&&this.vtable[e]==0;e--);const i=e+1;for(;e>=0;e--)this.addInt16(this.vtable[e]!=0?t-this.vtable[e]:0);const r=2;this.addInt16(t-this.object_start);const s=(i+r)*Xr;this.addInt16(s);let a=0;const o=this.space;t:for(e=0;e<this.vtables.length;e++){const c=this.bb.capacity()-this.vtables[e];if(s==this.bb.readInt16(c)){for(let l=Xr;l<s;l+=Xr)if(this.bb.readInt16(o+l)!=this.bb.readInt16(c+l))continue t;a=this.vtables[e];break}}return a?(this.space=this.bb.capacity()-t,this.bb.writeInt32(this.space,a-t)):(this.vtables.push(this.offset()),this.bb.writeInt32(this.bb.capacity()-t,this.offset()-t)),this.isNested=!1,t}finish(t,e,i){const r=i?ho:0;if(e){const s=e;if(this.prep(this.minalign,qt+oe+r),s.length!=oe)throw new Error("FlatBuffers: file identifier must be length "+oe);for(let a=oe-1;a>=0;a--)this.writeInt8(s.charCodeAt(a))}this.prep(this.minalign,qt+r),this.addOffset(t),r&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(t,e){this.finish(t,e,!0)}requiredField(t,e){const i=this.bb.capacity()-t,r=i-this.bb.readInt32(i);if(!(this.bb.readInt16(r+e)!=0))throw new Error("FlatBuffers: field "+e+" must be set")}startVector(t,e,i){this.notNested(),this.vector_num_elems=e,this.prep(qt,t*e),this.prep(i,t*e)}endVector(){return this.writeInt32(this.vector_num_elems),this.offset()}createSharedString(t){if(!t)return 0;if(this.string_maps||(this.string_maps=new Map),this.string_maps.has(t))return this.string_maps.get(t);const e=this.createString(t);return this.string_maps.set(t,e),e}createString(t){if(!t)return 0;let e;if(t instanceof Uint8Array)e=t;else{e=[];let i=0;for(;i<t.length;){let r;const s=t.charCodeAt(i++);if(s<55296||s>=56320)r=s;else{const a=t.charCodeAt(i++);r=(s<<10)+a+-56613888}r<128?e.push(r):(r<2048?e.push(r>>6&31|192):(r<65536?e.push(r>>12&15|224):e.push(r>>18&7|240,r>>12&63|128),e.push(r>>6&63|128)),e.push(r&63|128))}}this.addInt8(0),this.startVector(1,e.length,1),this.bb.setPosition(this.space-=e.length);for(let i=0,r=this.space,s=this.bb.bytes();i<e.length;i++)s[r++]=e[i];return this.endVector()}createLong(t,e){return ce.create(t,e)}createObjectOffset(t){return t===null?0:typeof t=="string"?this.createString(t):t.pack(this)}createObjectOffsetList(t){const e=[];for(let i=0;i<t.length;++i){const r=t[i];if(r!==null)e.push(this.createObjectOffset(r));else throw new Error("FlatBuffers: Argument for createObjectOffsetList cannot contain null.")}return e}createStructOffsetList(t,e){return e(this,t.length),this.createObjectOffsetList(t),this.endVector()}}function Vr(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Wr={exports:{}},cs;function ls(){return cs||(cs=1,(function(n){var t={};t.useBlobBuilder=(function(){try{return new Blob([]),!1}catch{return!0}})(),t.useArrayBufferView=!t.useBlobBuilder&&(function(){try{return new Blob([new Uint8Array([])]).size===0}catch{return!0}})(),n.exports.binaryFeatures=t;var e=n.exports.BlobBuilder;typeof window<"u"&&(e=n.exports.BlobBuilder=window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder||window.BlobBuilder);function i(){this._pieces=[],this._parts=[]}i.prototype.append=function(r){typeof r=="number"?this._pieces.push(r):(this.flush(),this._parts.push(r))},i.prototype.flush=function(){if(this._pieces.length>0){var r=new Uint8Array(this._pieces);t.useArrayBufferView||(r=r.buffer),this._parts.push(r),this._pieces=[]}},i.prototype.getBuffer=function(){if(this.flush(),t.useBlobBuilder){for(var r=new e,s=0,a=this._parts.length;s<a;s++)r.append(this._parts[s]);return r.getBlob()}else return new Blob(this._parts)},n.exports.BufferBuilder=i})(Wr)),Wr.exports}var Hr,us;function Ma(){if(us)return Hr;us=1;var n=ls().BufferBuilder,t=ls().binaryFeatures,e={unpack:function(o){var c=new i(o);return c.unpack()},pack:function(o){var c=new r;c.pack(o);var l=c.getBuffer();return l}};Hr=e;function i(o){this.index=0,this.dataBuffer=o,this.dataView=new Uint8Array(this.dataBuffer),this.length=this.dataBuffer.byteLength}i.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)}},i.prototype.unpack_uint8=function(){var o=this.dataView[this.index]&255;return this.index++,o},i.prototype.unpack_uint16=function(){var o=this.read(2),c=(o[0]&255)*256+(o[1]&255);return this.index+=2,c},i.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},i.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},i.prototype.unpack_int8=function(){var o=this.unpack_uint8();return o<128?o:o-256},i.prototype.unpack_int16=function(){var o=this.unpack_uint16();return o<32768?o:o-65536},i.prototype.unpack_int32=function(){var o=this.unpack_uint32();return o<Math.pow(2,31)?o:o-Math.pow(2,32)},i.prototype.unpack_int64=function(){var o=this.unpack_uint64();return o<Math.pow(2,63)?o:o-Math.pow(2,64)},i.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},i.prototype.unpack_string=function(o){for(var c=this.read(o),l=0,u="",h,f;l<o;)h=c[l],h<128?(u+=String.fromCharCode(h),l++):(h^192)<32?(f=(h^192)<<6|c[l+1]&63,u+=String.fromCharCode(f),l+=2):(f=(h&15)<<12|(c[l+1]&63)<<6|c[l+2]&63,u+=String.fromCharCode(f),l+=3);return this.index+=o,u},i.prototype.unpack_array=function(o){for(var c=new Array(o),l=0;l<o;l++)c[l]=this.unpack();return c},i.prototype.unpack_map=function(o){for(var c={},l=0;l<o;l++){var u=this.unpack(),h=this.unpack();c[u]=h}return c},i.prototype.unpack_float=function(){var o=this.unpack_uint32(),c=o>>31,l=(o>>23&255)-127,u=o&8388607|8388608;return(c===0?1:-1)*u*Math.pow(2,l-23)},i.prototype.unpack_double=function(){var o=this.unpack_uint32(),c=this.unpack_uint32(),l=o>>31,u=(o>>20&2047)-1023,h=o&1048575|1048576,f=h*Math.pow(2,u-20)+c*Math.pow(2,u-52);return(l===0?1:-1)*f},i.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 r(){this.bufferBuilder=new n}r.prototype.getBuffer=function(){return this.bufferBuilder.getBuffer()},r.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)t.useArrayBufferView?this.pack_bin(new Uint8Array(o)):this.pack_bin(o);else if("BYTES_PER_ELEMENT"in o)t.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()},r.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)},r.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)},r.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])},r.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")},r.prototype.pack_double=function(o){var c=0;o<0&&(c=1,o=-o);var l=Math.floor(Math.log(o)/Math.LN2),u=o/Math.pow(2,l)-1,h=Math.floor(u*Math.pow(2,52)),f=Math.pow(2,32),d=c<<31|l+1023<<20|h/f&1048575,y=h%f;this.bufferBuilder.append(203),this.pack_int32(d),this.pack_int32(y)},r.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 u in o)o.hasOwnProperty(u)&&(this.pack(u),this.pack(o[u]))},r.prototype.pack_uint8=function(o){this.bufferBuilder.append(o)},r.prototype.pack_uint16=function(o){this.bufferBuilder.append(o>>8),this.bufferBuilder.append(o&255)},r.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)},r.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)},r.prototype.pack_int8=function(o){this.bufferBuilder.append(o&255)},r.prototype.pack_int16=function(o){this.bufferBuilder.append((o&65280)>>8),this.bufferBuilder.append(o&255)},r.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)},r.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 Hr}var Ca=Ma();const hs=Vr(Ca);let fo=!0,po=!0;function li(n,t,e){const i=n.match(t);return i&&i.length>=e&&parseInt(i[e],10)}function $e(n,t,e){if(!n.RTCPeerConnection)return;const i=n.RTCPeerConnection.prototype,r=i.addEventListener;i.addEventListener=function(a,o){if(a!==t)return r.apply(this,arguments);const c=l=>{const u=e(l);u&&(o.handleEvent?o.handleEvent(u):o(u))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(o,c),r.apply(this,[a,c])};const s=i.removeEventListener;i.removeEventListener=function(a,o){if(a!==t||!this._eventMap||!this._eventMap[t])return s.apply(this,arguments);if(!this._eventMap[t].has(o))return s.apply(this,arguments);const c=this._eventMap[t].get(o);return this._eventMap[t].delete(o),this._eventMap[t].size===0&&delete this._eventMap[t],Object.keys(this._eventMap).length===0&&delete this._eventMap,s.apply(this,[a,c])},Object.defineProperty(i,"on"+t,{get(){return this["_on"+t]},set(a){this["_on"+t]&&(this.removeEventListener(t,this["_on"+t]),delete this["_on"+t]),a&&this.addEventListener(t,this["_on"+t]=a)},enumerable:!0,configurable:!0})}function Pa(n){return typeof n!="boolean"?new Error("Argument type: "+typeof n+". Please use a boolean."):(fo=n,n?"adapter.js logging disabled":"adapter.js logging enabled")}function wa(n){return typeof n!="boolean"?new Error("Argument type: "+typeof n+". Please use a boolean."):(po=!n,"adapter.js deprecation warnings "+(n?"disabled":"enabled"))}function Hn(){if(typeof window=="object"){if(fo)return;typeof console<"u"&&typeof console.log=="function"&&console.log.apply(console,arguments)}}function Jr(n,t){po&&console.warn(n+" is deprecated, please use "+t+" instead.")}function Ea(n){const t={browser:null,version:null};if(typeof n>"u"||!n.navigator)return t.browser="Not a browser.",t;const{navigator:e}=n;if(e.mozGetUserMedia)t.browser="firefox",t.version=li(e.userAgent,/Firefox\/(\d+)\./,1);else if(e.webkitGetUserMedia||n.isSecureContext===!1&&n.webkitRTCPeerConnection&&!n.RTCIceGatherer)t.browser="chrome",t.version=li(e.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else if(e.mediaDevices&&e.userAgent.match(/Edge\/(\d+).(\d+)$/))t.browser="edge",t.version=li(e.userAgent,/Edge\/(\d+).(\d+)$/,2);else if(n.RTCPeerConnection&&e.userAgent.match(/AppleWebKit\/(\d+)\./))t.browser="safari",t.version=li(e.userAgent,/AppleWebKit\/(\d+)\./,1),t.supportsUnifiedPlan=n.RTCRtpTransceiver&&"currentDirection"in n.RTCRtpTransceiver.prototype;else return t.browser="Not a supported browser.",t;return t}function fs(n){return Object.prototype.toString.call(n)==="[object Object]"}function mo(n){return fs(n)?Object.keys(n).reduce(function(t,e){const i=fs(n[e]),r=i?mo(n[e]):n[e],s=i&&!Object.keys(r).length;return r===void 0||s?t:Object.assign(t,{[e]:r})},{}):n}function wn(n,t,e){!t||e.has(t.id)||(e.set(t.id,t),Object.keys(t).forEach(i=>{i.endsWith("Id")?wn(n,n.get(t[i]),e):i.endsWith("Ids")&&t[i].forEach(r=>{wn(n,n.get(r),e)})}))}function ds(n,t,e){const i=e?"outbound-rtp":"inbound-rtp",r=new Map;if(t===null)return r;const s=[];return n.forEach(a=>{a.type==="track"&&a.trackIdentifier===t.id&&s.push(a)}),s.forEach(a=>{n.forEach(o=>{o.type===i&&o.trackId===a.id&&wn(n,o,r)})}),r}const ps=Hn;function yo(n,t){const e=n&&n.navigator;if(!e.mediaDevices)return;const i=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 u=typeof o[l]=="object"?o[l]:{ideal:o[l]};u.exact!==void 0&&typeof u.exact=="number"&&(u.min=u.max=u.exact);const h=function(f,d){return f?f+d.charAt(0).toUpperCase()+d.slice(1):d==="deviceId"?"sourceId":d};if(u.ideal!==void 0){c.optional=c.optional||[];let f={};typeof u.ideal=="number"?(f[h("min",l)]=u.ideal,c.optional.push(f),f={},f[h("max",l)]=u.ideal,c.optional.push(f)):(f[h("",l)]=u.ideal,c.optional.push(f))}u.exact!==void 0&&typeof u.exact!="number"?(c.mandatory=c.mandatory||{},c.mandatory[h("",l)]=u.exact):["min","max"].forEach(f=>{u[f]!==void 0&&(c.mandatory=c.mandatory||{},c.mandatory[h(f,l)]=u[f])})}),o.advanced&&(c.optional=(c.optional||[]).concat(o.advanced)),c},r=function(o,c){if(t.version>=61)return c(o);if(o=JSON.parse(JSON.stringify(o)),o&&typeof o.audio=="object"){const l=function(u,h,f){h in u&&!(f in u)&&(u[f]=u[h],delete u[h])};o=JSON.parse(JSON.stringify(o)),l(o.audio,"autoGainControl","googAutoGainControl"),l(o.audio,"noiseSuppression","googNoiseSuppression"),o.audio=i(o.audio)}if(o&&typeof o.video=="object"){let l=o.video.facingMode;l=l&&(typeof l=="object"?l:{ideal:l});const u=t.version<66;if(l&&(l.exact==="user"||l.exact==="environment"||l.ideal==="user"||l.ideal==="environment")&&!(e.mediaDevices.getSupportedConstraints&&e.mediaDevices.getSupportedConstraints().facingMode&&!u)){delete o.video.facingMode;let h;if(l.exact==="environment"||l.ideal==="environment"?h=["back","rear"]:(l.exact==="user"||l.ideal==="user")&&(h=["front"]),h)return e.mediaDevices.enumerateDevices().then(f=>{f=f.filter(y=>y.kind==="videoinput");let d=f.find(y=>h.some(_=>y.label.toLowerCase().includes(_)));return!d&&f.length&&h.includes("back")&&(d=f[f.length-1]),d&&(o.video.deviceId=l.exact?{exact:d.deviceId}:{ideal:d.deviceId}),o.video=i(o.video),ps("chrome: "+JSON.stringify(o)),c(o)})}o.video=i(o.video)}return ps("chrome: "+JSON.stringify(o)),c(o)},s=function(o){return t.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){r(o,u=>{e.webkitGetUserMedia(u,c,h=>{l&&l(s(h))})})};if(e.getUserMedia=a.bind(e),e.mediaDevices.getUserMedia){const o=e.mediaDevices.getUserMedia.bind(e.mediaDevices);Object.getOwnPropertyDescriptor(e.mediaDevices,"getUserMedia")?.writable&&(e.mediaDevices.getUserMedia=function(c){return r(c,l=>o(l).then(u=>{if(l.audio&&!u.getAudioTracks().length||l.video&&!u.getVideoTracks().length)throw u.getTracks().forEach(h=>{h.stop()}),new DOMException("","NotFoundError");return u},u=>Promise.reject(s(u))))})}}function Ra(n,t){if(!(n.navigator.mediaDevices&&"getDisplayMedia"in n.navigator.mediaDevices)&&n.navigator.mediaDevices){if(typeof t!="function"){console.error("shimGetDisplayMedia: getSourceId argument is not a function");return}n.navigator.mediaDevices.getDisplayMedia=function(i){return t(i).then(r=>{const s=i.video&&i.video.width,a=i.video&&i.video.height,o=i.video&&i.video.frameRate;return i.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:r,maxFrameRate:o||3}},s&&(i.video.mandatory.maxWidth=s),a&&(i.video.mandatory.maxHeight=a),n.navigator.mediaDevices.getUserMedia(i)})}}}function go(n){n.MediaStream=n.MediaStream||n.webkitMediaStream}function vo(n){if(typeof n=="object"&&n.RTCPeerConnection&&!("ontrack"in n.RTCPeerConnection.prototype)){Object.defineProperty(n.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(e){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=e)},enumerable:!0,configurable:!0});const t=n.RTCPeerConnection.prototype.setRemoteDescription;n.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=i=>{i.stream.addEventListener("addtrack",r=>{let s;n.RTCPeerConnection.prototype.getReceivers?s=this.getReceivers().find(o=>o.track&&o.track.id===r.track.id):s={track:r.track};const a=new Event("track");a.track=r.track,a.receiver=s,a.transceiver={receiver:s},a.streams=[i.stream],this.dispatchEvent(a)}),i.stream.getTracks().forEach(r=>{let s;n.RTCPeerConnection.prototype.getReceivers?s=this.getReceivers().find(o=>o.track&&o.track.id===r.id):s={track:r};const a=new Event("track");a.track=r,a.receiver=s,a.transceiver={receiver:s},a.streams=[i.stream],this.dispatchEvent(a)})},this.addEventListener("addstream",this._ontrackpoly)),t.apply(this,arguments)}}else $e(n,"track",t=>(t.transceiver||Object.defineProperty(t,"transceiver",{value:{receiver:t.receiver}}),t))}function _o(n){if(typeof n=="object"&&n.RTCPeerConnection&&!("getSenders"in n.RTCPeerConnection.prototype)&&"createDTMFSender"in n.RTCPeerConnection.prototype){const t=function(r,s){return{track:s,get dtmf(){return this._dtmf===void 0&&(s.kind==="audio"?this._dtmf=r.createDTMFSender(s):this._dtmf=null),this._dtmf},_pc:r}};if(!n.RTCPeerConnection.prototype.getSenders){n.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};const r=n.RTCPeerConnection.prototype.addTrack;n.RTCPeerConnection.prototype.addTrack=function(o,c){let l=r.apply(this,arguments);return l||(l=t(this,o),this._senders.push(l)),l};const s=n.RTCPeerConnection.prototype.removeTrack;n.RTCPeerConnection.prototype.removeTrack=function(o){s.apply(this,arguments);const c=this._senders.indexOf(o);c!==-1&&this._senders.splice(c,1)}}const e=n.RTCPeerConnection.prototype.addStream;n.RTCPeerConnection.prototype.addStream=function(s){this._senders=this._senders||[],e.apply(this,[s]),s.getTracks().forEach(a=>{this._senders.push(t(this,a))})};const i=n.RTCPeerConnection.prototype.removeStream;n.RTCPeerConnection.prototype.removeStream=function(s){this._senders=this._senders||[],i.apply(this,[s]),s.getTracks().forEach(a=>{const o=this._senders.find(c=>c.track===a);o&&this._senders.splice(this._senders.indexOf(o),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 t=n.RTCPeerConnection.prototype.getSenders;n.RTCPeerConnection.prototype.getSenders=function(){const i=t.apply(this,[]);return i.forEach(r=>r._pc=this),i},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 xo(n){if(!n.RTCPeerConnection)return;const t=n.RTCPeerConnection.prototype.getStats;n.RTCPeerConnection.prototype.getStats=function(){const[i,r,s]=arguments;if(arguments.length>0&&typeof i=="function")return t.apply(this,arguments);if(t.length===0&&(arguments.length===0||typeof i!="function"))return t.apply(this,[]);const a=function(c){const l={};return c.result().forEach(h=>{const f={id:h.id,timestamp:h.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[h.type]||h.type};h.names().forEach(d=>{f[d]=h.stat(d)}),l[f.id]=f}),l},o=function(c){return new Map(Object.keys(c).map(l=>[l,c[l]]))};if(arguments.length>=2){const c=function(l){r(o(a(l)))};return t.apply(this,[c,i])}return new Promise((c,l)=>{t.apply(this,[function(u){c(o(a(u)))},l])}).then(r,s)}}function So(n){if(!(typeof n=="object"&&n.RTCPeerConnection&&n.RTCRtpSender&&n.RTCRtpReceiver))return;if(!("getStats"in n.RTCRtpSender.prototype)){const e=n.RTCPeerConnection.prototype.getSenders;e&&(n.RTCPeerConnection.prototype.getSenders=function(){const s=e.apply(this,[]);return s.forEach(a=>a._pc=this),s});const i=n.RTCPeerConnection.prototype.addTrack;i&&(n.RTCPeerConnection.prototype.addTrack=function(){const s=i.apply(this,arguments);return s._pc=this,s}),n.RTCRtpSender.prototype.getStats=function(){const s=this;return this._pc.getStats().then(a=>ds(a,s.track,!0))}}if(!("getStats"in n.RTCRtpReceiver.prototype)){const e=n.RTCPeerConnection.prototype.getReceivers;e&&(n.RTCPeerConnection.prototype.getReceivers=function(){const r=e.apply(this,[]);return r.forEach(s=>s._pc=this),r}),$e(n,"track",i=>(i.receiver._pc=i.srcElement,i)),n.RTCRtpReceiver.prototype.getStats=function(){const r=this;return this._pc.getStats().then(s=>ds(s,r.track,!1))}}if(!("getStats"in n.RTCRtpSender.prototype&&"getStats"in n.RTCRtpReceiver.prototype))return;const t=n.RTCPeerConnection.prototype.getStats;n.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof n.MediaStreamTrack){const i=arguments[0];let r,s,a;return this.getSenders().forEach(o=>{o.track===i&&(r?a=!0:r=o)}),this.getReceivers().forEach(o=>(o.track===i&&(s?a=!0:s=o),o.track===i)),a||r&&s?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):r?r.getStats():s?s.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return t.apply(this,arguments)}}function bo(n){n.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(a=>this._shimmedLocalStreams[a][0])};const t=n.RTCPeerConnection.prototype.addTrack;n.RTCPeerConnection.prototype.addTrack=function(a,o){if(!o)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};const c=t.apply(this,arguments);return this._shimmedLocalStreams[o.id]?this._shimmedLocalStreams[o.id].indexOf(c)===-1&&this._shimmedLocalStreams[o.id].push(c):this._shimmedLocalStreams[o.id]=[o,c],c};const e=n.RTCPeerConnection.prototype.addStream;n.RTCPeerConnection.prototype.addStream=function(a){this._shimmedLocalStreams=this._shimmedLocalStreams||{},a.getTracks().forEach(l=>{if(this.getSenders().find(h=>h.track===l))throw new DOMException("Track already exists.","InvalidAccessError")});const o=this.getSenders();e.apply(this,arguments);const c=this.getSenders().filter(l=>o.indexOf(l)===-1);this._shimmedLocalStreams[a.id]=[a].concat(c)};const i=n.RTCPeerConnection.prototype.removeStream;n.RTCPeerConnection.prototype.removeStream=function(a){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[a.id],i.apply(this,arguments)};const r=n.RTCPeerConnection.prototype.removeTrack;n.RTCPeerConnection.prototype.removeTrack=function(a){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},a&&Object.keys(this._shimmedLocalStreams).forEach(o=>{const c=this._shimmedLocalStreams[o].indexOf(a);c!==-1&&this._shimmedLocalStreams[o].splice(c,1),this._shimmedLocalStreams[o].length===1&&delete this._shimmedLocalStreams[o]}),r.apply(this,arguments)}}function To(n,t){if(!n.RTCPeerConnection)return;if(n.RTCPeerConnection.prototype.addTrack&&t.version>=65)return bo(n);const e=n.RTCPeerConnection.prototype.getLocalStreams;n.RTCPeerConnection.prototype.getLocalStreams=function(){const u=e.apply(this);return this._reverseStreams=this._reverseStreams||{},u.map(h=>this._reverseStreams[h.id])};const i=n.RTCPeerConnection.prototype.addStream;n.RTCPeerConnection.prototype.addStream=function(u){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},u.getTracks().forEach(h=>{if(this.getSenders().find(d=>d.track===h))throw new DOMException("Track already exists.","InvalidAccessError")}),!this._reverseStreams[u.id]){const h=new n.MediaStream(u.getTracks());this._streams[u.id]=h,this._reverseStreams[h.id]=u,u=h}i.apply(this,[u])};const r=n.RTCPeerConnection.prototype.removeStream;n.RTCPeerConnection.prototype.removeStream=function(u){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},r.apply(this,[this._streams[u.id]||u]),delete this._reverseStreams[this._streams[u.id]?this._streams[u.id].id:u.id],delete this._streams[u.id]},n.RTCPeerConnection.prototype.addTrack=function(u,h){if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");const f=[].slice.call(arguments,1);if(f.length!==1||!f[0].getTracks().find(_=>_===u))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(_=>_.track===u))throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};const y=this._streams[h.id];if(y)y.addTrack(u),Promise.resolve().then(()=>{this.dispatchEvent(new Event("negotiationneeded"))});else{const _=new n.MediaStream([u]);this._streams[h.id]=_,this._reverseStreams[_.id]=h,this.addStream(_)}return this.getSenders().find(_=>_.track===u)};function s(l,u){let h=u.sdp;return Object.keys(l._reverseStreams||[]).forEach(f=>{const d=l._reverseStreams[f],y=l._streams[d.id];h=h.replace(new RegExp(y.id,"g"),d.id)}),new RTCSessionDescription({type:u.type,sdp:h})}function a(l,u){let h=u.sdp;return Object.keys(l._reverseStreams||[]).forEach(f=>{const d=l._reverseStreams[f],y=l._streams[d.id];h=h.replace(new RegExp(d.id,"g"),y.id)}),new RTCSessionDescription({type:u.type,sdp:h})}["createOffer","createAnswer"].forEach(function(l){const u=n.RTCPeerConnection.prototype[l],h={[l](){const f=arguments;return arguments.length&&typeof arguments[0]=="function"?u.apply(this,[y=>{const _=s(this,y);f[0].apply(null,[_])},y=>{f[1]&&f[1].apply(null,y)},arguments[2]]):u.apply(this,arguments).then(y=>s(this,y))}};n.RTCPeerConnection.prototype[l]=h[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(u){if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!u._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(!(u._pc===this))throw new DOMException("Sender was not created by this connection.","InvalidAccessError");this._streams=this._streams||{};let f;Object.keys(this._streams).forEach(d=>{this._streams[d].getTracks().find(_=>u.track===_)&&(f=this._streams[d])}),f&&(f.getTracks().length===1?this.removeStream(this._reverseStreams[f.id]):f.removeTrack(u.track),this.dispatchEvent(new Event("negotiationneeded")))}}function En(n,t){!n.RTCPeerConnection&&n.webkitRTCPeerConnection&&(n.RTCPeerConnection=n.webkitRTCPeerConnection),n.RTCPeerConnection&&t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(e){const i=n.RTCPeerConnection.prototype[e],r={[e](){return arguments[0]=new(e==="addIceCandidate"?n.RTCIceCandidate:n.RTCSessionDescription)(arguments[0]),i.apply(this,arguments)}};n.RTCPeerConnection.prototype[e]=r[e]})}function Mo(n,t){$e(n,"negotiationneeded",e=>{const i=e.target;if(!((t.version<72||i.getConfiguration&&i.getConfiguration().sdpSemantics==="plan-b")&&i.signalingState!=="stable"))return e})}const ms=Object.freeze(Object.defineProperty({__proto__:null,fixNegotiationNeeded:Mo,shimAddTrackRemoveTrack:To,shimAddTrackRemoveTrackWithNative:bo,shimGetDisplayMedia:Ra,shimGetSendersWithDtmf:_o,shimGetStats:xo,shimGetUserMedia:yo,shimMediaStream:go,shimOnTrack:vo,shimPeerConnection:En,shimSenderReceiverGetStats:So},Symbol.toStringTag,{value:"Module"}));function Aa(n,t){let e=!1;return n=JSON.parse(JSON.stringify(n)),n.filter(i=>{if(i&&(i.urls||i.url)){let r=i.urls||i.url;i.url&&!i.urls&&Jr("RTCIceServer.url","RTCIceServer.urls");const s=typeof r=="string";return s&&(r=[r]),r=r.filter(a=>{if(a.indexOf("stun:")===0)return!1;const o=a.startsWith("turn")&&!a.startsWith("turn:[")&&a.includes("transport=udp");return o&&!e?(e=!0,!0):o&&!e}),delete i.url,i.urls=s?r[0]:r,!!r.length}})}var Yr={exports:{}},ys;function Co(){return ys||(ys=1,(function(n){var t={};t.generateIdentifier=function(){return Math.random().toString(36).substr(2,10)},t.localCName=t.generateIdentifier(),t.splitLines=function(e){return e.trim().split(`
1
+ "use strict";const M=require("./three-Dceyffus.umd.cjs"),st={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 uo(n){const t=await fetch(n);if(t.ok)return t.json();throw new Error(t.statusText)}async function ga(n){return await uo(`${n}/profilesList.json`)}async function va(n,t,e=null,i=!0){if(!n)throw new Error("No xrInputSource supplied");const r=await ga(t);let s;if(n.profiles.some(c=>{const l=r[c];return l&&(s={profileId:c,profilePath:`${t}/${l.path}`,deprecated:!!l.deprecated}),!!s}),!s){if(!e)throw new Error("No matching profile name found");const c=r[e];if(!c)throw new Error(`No matching profile name found and default profile "${e}" missing.`);s={profileId:e,profilePath:`${t}/${c.path}`,deprecated:!!c.deprecated}}const a=await uo(s.profilePath);let o;if(i){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 _a={xAxis:0,yAxis:0,button:0,state:st.ComponentState.DEFAULT};function xa(n=0,t=0){let e=n,i=t;if(Math.sqrt(n*n+t*t)>1){const a=Math.atan2(t,n);e=Math.cos(a),i=Math.sin(a)}return{normalizedXAxis:e*.5+.5,normalizedYAxis:i*.5+.5}}class Sa{constructor(t){this.componentProperty=t.componentProperty,this.states=t.states,this.valueNodeName=t.valueNodeName,this.valueNodeProperty=t.valueNodeProperty,this.valueNodeProperty===st.VisualResponseProperty.TRANSFORM&&(this.minNodeName=t.minNodeName,this.maxNodeName=t.maxNodeName),this.value=0,this.updateFromComponent(_a)}updateFromComponent({xAxis:t,yAxis:e,button:i,state:r}){const{normalizedXAxis:s,normalizedYAxis:a}=xa(t,e);switch(this.componentProperty){case st.ComponentProperty.X_AXIS:this.value=this.states.includes(r)?s:.5;break;case st.ComponentProperty.Y_AXIS:this.value=this.states.includes(r)?a:.5;break;case st.ComponentProperty.BUTTON:this.value=this.states.includes(r)?i:0;break;case st.ComponentProperty.STATE:this.valueNodeProperty===st.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(r):this.value=this.states.includes(r)?1:0;break;default:throw new Error(`Unexpected visualResponse componentProperty ${this.componentProperty}`)}}}class ba{constructor(t,e){if(!t||!e||!e.visualResponses||!e.gamepadIndices||Object.keys(e.gamepadIndices).length===0)throw new Error("Invalid arguments supplied");this.id=t,this.type=e.type,this.rootNodeName=e.rootNodeName,this.touchPointNodeName=e.touchPointNodeName,this.visualResponses={},Object.keys(e.visualResponses).forEach(i=>{const r=new Sa(e.visualResponses[i]);this.visualResponses[i]=r}),this.gamepadIndices=Object.assign({},e.gamepadIndices),this.values={state:st.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(t){if(this.values.state=st.ComponentState.DEFAULT,this.gamepadIndices.button!==void 0&&t.buttons.length>this.gamepadIndices.button){const e=t.buttons[this.gamepadIndices.button];this.values.button=e.value,this.values.button=this.values.button<0?0:this.values.button,this.values.button=this.values.button>1?1:this.values.button,e.pressed||this.values.button===1?this.values.state=st.ComponentState.PRESSED:(e.touched||this.values.button>st.ButtonTouchThreshold)&&(this.values.state=st.ComponentState.TOUCHED)}this.gamepadIndices.xAxis!==void 0&&t.axes.length>this.gamepadIndices.xAxis&&(this.values.xAxis=t.axes[this.gamepadIndices.xAxis],this.values.xAxis=this.values.xAxis<-1?-1:this.values.xAxis,this.values.xAxis=this.values.xAxis>1?1:this.values.xAxis,this.values.state===st.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>st.AxisTouchThreshold&&(this.values.state=st.ComponentState.TOUCHED)),this.gamepadIndices.yAxis!==void 0&&t.axes.length>this.gamepadIndices.yAxis&&(this.values.yAxis=t.axes[this.gamepadIndices.yAxis],this.values.yAxis=this.values.yAxis<-1?-1:this.values.yAxis,this.values.yAxis=this.values.yAxis>1?1:this.values.yAxis,this.values.state===st.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>st.AxisTouchThreshold&&(this.values.state=st.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach(e=>{e.updateFromComponent(this.values)})}}class Ta{constructor(t,e,i){if(!t)throw new Error("No xrInputSource supplied");if(!e)throw new Error("No profile supplied");this.xrInputSource=t,this.assetUrl=i,this.id=e.profileId,this.layoutDescription=e.layouts[t.handedness],this.components={},Object.keys(this.layoutDescription.components).forEach(r=>{const s=this.layoutDescription.components[r];this.components[r]=new ba(r,s)}),this.updateFromGamepad()}get gripSpace(){return this.xrInputSource.gripSpace}get targetRaySpace(){return this.xrInputSource.targetRaySpace}get data(){const t=[];return Object.values(this.components).forEach(e=>{t.push(e.data)}),t}updateFromGamepad(){Object.values(this.components).forEach(t=>{t.updateFromGamepad(this.xrInputSource.gamepad)})}}const Xr=2,qt=4,oe=4,ho=4,de=new Int32Array(2),os=new Float32Array(de.buffer),as=new Float64Array(de.buffer),tr=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;class ce{constructor(t,e){this.low=t|0,this.high=e|0}static create(t,e){return t==0&&e==0?ce.ZERO:new ce(t,e)}toFloat64(){return(this.low>>>0)+this.high*4294967296}equals(t){return this.low==t.low&&this.high==t.high}}ce.ZERO=new ce(0,0);var Pn;(function(n){n[n.UTF8_BYTES=1]="UTF8_BYTES",n[n.UTF16_STRING=2]="UTF16_STRING"})(Pn||(Pn={}));class gi{constructor(t){this.bytes_=t,this.position_=0}static allocate(t){return new gi(new Uint8Array(t))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(t){this.position_=t}capacity(){return this.bytes_.length}readInt8(t){return this.readUint8(t)<<24>>24}readUint8(t){return this.bytes_[t]}readInt16(t){return this.readUint16(t)<<16>>16}readUint16(t){return this.bytes_[t]|this.bytes_[t+1]<<8}readInt32(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24}readUint32(t){return this.readInt32(t)>>>0}readInt64(t){return new ce(this.readInt32(t),this.readInt32(t+4))}readUint64(t){return new ce(this.readUint32(t),this.readUint32(t+4))}readFloat32(t){return de[0]=this.readInt32(t),os[0]}readFloat64(t){return de[tr?0:1]=this.readInt32(t),de[tr?1:0]=this.readInt32(t+4),as[0]}writeInt8(t,e){this.bytes_[t]=e}writeUint8(t,e){this.bytes_[t]=e}writeInt16(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8}writeUint16(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8}writeInt32(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24}writeUint32(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24}writeInt64(t,e){this.writeInt32(t,e.low),this.writeInt32(t+4,e.high)}writeUint64(t,e){this.writeUint32(t,e.low),this.writeUint32(t+4,e.high)}writeFloat32(t,e){os[0]=e,this.writeInt32(t,de[0])}writeFloat64(t,e){as[0]=e,this.writeInt32(t,de[tr?0:1]),this.writeInt32(t+4,de[tr?1:0])}getBufferIdentifier(){if(this.bytes_.length<this.position_+qt+oe)throw new Error("FlatBuffers: ByteBuffer is too short to contain an identifier.");let t="";for(let e=0;e<oe;e++)t+=String.fromCharCode(this.readInt8(this.position_+qt+e));return t}__offset(t,e){const i=t-this.readInt32(t);return e<this.readInt16(i)?this.readInt16(i+e):0}__union(t,e){return t.bb_pos=e+this.readInt32(e),t.bb=this,t}__string(t,e){t+=this.readInt32(t);const i=this.readInt32(t);let r="",s=0;if(t+=qt,e===Pn.UTF8_BYTES)return this.bytes_.subarray(t,t+i);for(;s<i;){let a;const o=this.readUint8(t+s++);if(o<192)a=o;else{const c=this.readUint8(t+s++);if(o<224)a=(o&31)<<6|c&63;else{const l=this.readUint8(t+s++);if(o<240)a=(o&15)<<12|(c&63)<<6|l&63;else{const u=this.readUint8(t+s++);a=(o&7)<<18|(c&63)<<12|(l&63)<<6|u&63}}}a<65536?r+=String.fromCharCode(a):(a-=65536,r+=String.fromCharCode((a>>10)+55296,(a&1023)+56320))}return r}__union_with_string(t,e){return typeof t=="string"?this.__string(e):this.__union(t,e)}__indirect(t){return t+this.readInt32(t)}__vector(t){return t+this.readInt32(t)+qt}__vector_len(t){return this.readInt32(t+this.readInt32(t))}__has_identifier(t){if(t.length!=oe)throw new Error("FlatBuffers: file identifier must be length "+oe);for(let e=0;e<oe;e++)if(t.charCodeAt(e)!=this.readInt8(this.position()+qt+e))return!1;return!0}createLong(t,e){return ce.create(t,e)}createScalarList(t,e){const i=[];for(let r=0;r<e;++r)t(r)!==null&&i.push(t(r));return i}createObjList(t,e){const i=[];for(let r=0;r<e;++r){const s=t(r);s!==null&&i.push(s.unpack())}return i}}class Wn{constructor(t){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 e;t?e=t:e=1024,this.bb=gi.allocate(e),this.space=e}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(t){this.force_defaults=t}dataBuffer(){return this.bb}asUint8Array(){return this.bb.bytes().subarray(this.bb.position(),this.bb.position()+this.offset())}prep(t,e){t>this.minalign&&(this.minalign=t);const i=~(this.bb.capacity()-this.space+e)+1&t-1;for(;this.space<i+t+e;){const r=this.bb.capacity();this.bb=Wn.growByteBuffer(this.bb),this.space+=this.bb.capacity()-r}this.pad(i)}pad(t){for(let e=0;e<t;e++)this.bb.writeInt8(--this.space,0)}writeInt8(t){this.bb.writeInt8(this.space-=1,t)}writeInt16(t){this.bb.writeInt16(this.space-=2,t)}writeInt32(t){this.bb.writeInt32(this.space-=4,t)}writeInt64(t){this.bb.writeInt64(this.space-=8,t)}writeFloat32(t){this.bb.writeFloat32(this.space-=4,t)}writeFloat64(t){this.bb.writeFloat64(this.space-=8,t)}addInt8(t){this.prep(1,0),this.writeInt8(t)}addInt16(t){this.prep(2,0),this.writeInt16(t)}addInt32(t){this.prep(4,0),this.writeInt32(t)}addInt64(t){this.prep(8,0),this.writeInt64(t)}addFloat32(t){this.prep(4,0),this.writeFloat32(t)}addFloat64(t){this.prep(8,0),this.writeFloat64(t)}addFieldInt8(t,e,i){(this.force_defaults||e!=i)&&(this.addInt8(e),this.slot(t))}addFieldInt16(t,e,i){(this.force_defaults||e!=i)&&(this.addInt16(e),this.slot(t))}addFieldInt32(t,e,i){(this.force_defaults||e!=i)&&(this.addInt32(e),this.slot(t))}addFieldInt64(t,e,i){(this.force_defaults||!e.equals(i))&&(this.addInt64(e),this.slot(t))}addFieldFloat32(t,e,i){(this.force_defaults||e!=i)&&(this.addFloat32(e),this.slot(t))}addFieldFloat64(t,e,i){(this.force_defaults||e!=i)&&(this.addFloat64(e),this.slot(t))}addFieldOffset(t,e,i){(this.force_defaults||e!=i)&&(this.addOffset(e),this.slot(t))}addFieldStruct(t,e,i){e!=i&&(this.nested(e),this.slot(t))}nested(t){if(t!=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(t){this.vtable!==null&&(this.vtable[t]=this.offset())}offset(){return this.bb.capacity()-this.space}static growByteBuffer(t){const e=t.capacity();if(e&3221225472)throw new Error("FlatBuffers: cannot grow buffer beyond 2 gigabytes.");const i=e<<1,r=gi.allocate(i);return r.setPosition(i-e),r.bytes().set(t.bytes(),i-e),r}addOffset(t){this.prep(qt,0),this.writeInt32(this.offset()-t+qt)}startObject(t){this.notNested(),this.vtable==null&&(this.vtable=[]),this.vtable_in_use=t;for(let e=0;e<t;e++)this.vtable[e]=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 t=this.offset();let e=this.vtable_in_use-1;for(;e>=0&&this.vtable[e]==0;e--);const i=e+1;for(;e>=0;e--)this.addInt16(this.vtable[e]!=0?t-this.vtable[e]:0);const r=2;this.addInt16(t-this.object_start);const s=(i+r)*Xr;this.addInt16(s);let a=0;const o=this.space;t:for(e=0;e<this.vtables.length;e++){const c=this.bb.capacity()-this.vtables[e];if(s==this.bb.readInt16(c)){for(let l=Xr;l<s;l+=Xr)if(this.bb.readInt16(o+l)!=this.bb.readInt16(c+l))continue t;a=this.vtables[e];break}}return a?(this.space=this.bb.capacity()-t,this.bb.writeInt32(this.space,a-t)):(this.vtables.push(this.offset()),this.bb.writeInt32(this.bb.capacity()-t,this.offset()-t)),this.isNested=!1,t}finish(t,e,i){const r=i?ho:0;if(e){const s=e;if(this.prep(this.minalign,qt+oe+r),s.length!=oe)throw new Error("FlatBuffers: file identifier must be length "+oe);for(let a=oe-1;a>=0;a--)this.writeInt8(s.charCodeAt(a))}this.prep(this.minalign,qt+r),this.addOffset(t),r&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(t,e){this.finish(t,e,!0)}requiredField(t,e){const i=this.bb.capacity()-t,r=i-this.bb.readInt32(i);if(!(this.bb.readInt16(r+e)!=0))throw new Error("FlatBuffers: field "+e+" must be set")}startVector(t,e,i){this.notNested(),this.vector_num_elems=e,this.prep(qt,t*e),this.prep(i,t*e)}endVector(){return this.writeInt32(this.vector_num_elems),this.offset()}createSharedString(t){if(!t)return 0;if(this.string_maps||(this.string_maps=new Map),this.string_maps.has(t))return this.string_maps.get(t);const e=this.createString(t);return this.string_maps.set(t,e),e}createString(t){if(!t)return 0;let e;if(t instanceof Uint8Array)e=t;else{e=[];let i=0;for(;i<t.length;){let r;const s=t.charCodeAt(i++);if(s<55296||s>=56320)r=s;else{const a=t.charCodeAt(i++);r=(s<<10)+a+-56613888}r<128?e.push(r):(r<2048?e.push(r>>6&31|192):(r<65536?e.push(r>>12&15|224):e.push(r>>18&7|240,r>>12&63|128),e.push(r>>6&63|128)),e.push(r&63|128))}}this.addInt8(0),this.startVector(1,e.length,1),this.bb.setPosition(this.space-=e.length);for(let i=0,r=this.space,s=this.bb.bytes();i<e.length;i++)s[r++]=e[i];return this.endVector()}createLong(t,e){return ce.create(t,e)}createObjectOffset(t){return t===null?0:typeof t=="string"?this.createString(t):t.pack(this)}createObjectOffsetList(t){const e=[];for(let i=0;i<t.length;++i){const r=t[i];if(r!==null)e.push(this.createObjectOffset(r));else throw new Error("FlatBuffers: Argument for createObjectOffsetList cannot contain null.")}return e}createStructOffsetList(t,e){return e(this,t.length),this.createObjectOffsetList(t),this.endVector()}}function Vr(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Wr={exports:{}},cs;function ls(){return cs||(cs=1,(function(n){var t={};t.useBlobBuilder=(function(){try{return new Blob([]),!1}catch{return!0}})(),t.useArrayBufferView=!t.useBlobBuilder&&(function(){try{return new Blob([new Uint8Array([])]).size===0}catch{return!0}})(),n.exports.binaryFeatures=t;var e=n.exports.BlobBuilder;typeof window<"u"&&(e=n.exports.BlobBuilder=window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder||window.BlobBuilder);function i(){this._pieces=[],this._parts=[]}i.prototype.append=function(r){typeof r=="number"?this._pieces.push(r):(this.flush(),this._parts.push(r))},i.prototype.flush=function(){if(this._pieces.length>0){var r=new Uint8Array(this._pieces);t.useArrayBufferView||(r=r.buffer),this._parts.push(r),this._pieces=[]}},i.prototype.getBuffer=function(){if(this.flush(),t.useBlobBuilder){for(var r=new e,s=0,a=this._parts.length;s<a;s++)r.append(this._parts[s]);return r.getBlob()}else return new Blob(this._parts)},n.exports.BufferBuilder=i})(Wr)),Wr.exports}var Hr,us;function Ma(){if(us)return Hr;us=1;var n=ls().BufferBuilder,t=ls().binaryFeatures,e={unpack:function(o){var c=new i(o);return c.unpack()},pack:function(o){var c=new r;c.pack(o);var l=c.getBuffer();return l}};Hr=e;function i(o){this.index=0,this.dataBuffer=o,this.dataView=new Uint8Array(this.dataBuffer),this.length=this.dataBuffer.byteLength}i.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)}},i.prototype.unpack_uint8=function(){var o=this.dataView[this.index]&255;return this.index++,o},i.prototype.unpack_uint16=function(){var o=this.read(2),c=(o[0]&255)*256+(o[1]&255);return this.index+=2,c},i.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},i.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},i.prototype.unpack_int8=function(){var o=this.unpack_uint8();return o<128?o:o-256},i.prototype.unpack_int16=function(){var o=this.unpack_uint16();return o<32768?o:o-65536},i.prototype.unpack_int32=function(){var o=this.unpack_uint32();return o<Math.pow(2,31)?o:o-Math.pow(2,32)},i.prototype.unpack_int64=function(){var o=this.unpack_uint64();return o<Math.pow(2,63)?o:o-Math.pow(2,64)},i.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},i.prototype.unpack_string=function(o){for(var c=this.read(o),l=0,u="",h,f;l<o;)h=c[l],h<128?(u+=String.fromCharCode(h),l++):(h^192)<32?(f=(h^192)<<6|c[l+1]&63,u+=String.fromCharCode(f),l+=2):(f=(h&15)<<12|(c[l+1]&63)<<6|c[l+2]&63,u+=String.fromCharCode(f),l+=3);return this.index+=o,u},i.prototype.unpack_array=function(o){for(var c=new Array(o),l=0;l<o;l++)c[l]=this.unpack();return c},i.prototype.unpack_map=function(o){for(var c={},l=0;l<o;l++){var u=this.unpack(),h=this.unpack();c[u]=h}return c},i.prototype.unpack_float=function(){var o=this.unpack_uint32(),c=o>>31,l=(o>>23&255)-127,u=o&8388607|8388608;return(c===0?1:-1)*u*Math.pow(2,l-23)},i.prototype.unpack_double=function(){var o=this.unpack_uint32(),c=this.unpack_uint32(),l=o>>31,u=(o>>20&2047)-1023,h=o&1048575|1048576,f=h*Math.pow(2,u-20)+c*Math.pow(2,u-52);return(l===0?1:-1)*f},i.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 r(){this.bufferBuilder=new n}r.prototype.getBuffer=function(){return this.bufferBuilder.getBuffer()},r.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)t.useArrayBufferView?this.pack_bin(new Uint8Array(o)):this.pack_bin(o);else if("BYTES_PER_ELEMENT"in o)t.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()},r.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)},r.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)},r.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])},r.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")},r.prototype.pack_double=function(o){var c=0;o<0&&(c=1,o=-o);var l=Math.floor(Math.log(o)/Math.LN2),u=o/Math.pow(2,l)-1,h=Math.floor(u*Math.pow(2,52)),f=Math.pow(2,32),d=c<<31|l+1023<<20|h/f&1048575,y=h%f;this.bufferBuilder.append(203),this.pack_int32(d),this.pack_int32(y)},r.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 u in o)o.hasOwnProperty(u)&&(this.pack(u),this.pack(o[u]))},r.prototype.pack_uint8=function(o){this.bufferBuilder.append(o)},r.prototype.pack_uint16=function(o){this.bufferBuilder.append(o>>8),this.bufferBuilder.append(o&255)},r.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)},r.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)},r.prototype.pack_int8=function(o){this.bufferBuilder.append(o&255)},r.prototype.pack_int16=function(o){this.bufferBuilder.append((o&65280)>>8),this.bufferBuilder.append(o&255)},r.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)},r.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 Hr}var Ca=Ma();const hs=Vr(Ca);let fo=!0,po=!0;function li(n,t,e){const i=n.match(t);return i&&i.length>=e&&parseInt(i[e],10)}function $e(n,t,e){if(!n.RTCPeerConnection)return;const i=n.RTCPeerConnection.prototype,r=i.addEventListener;i.addEventListener=function(a,o){if(a!==t)return r.apply(this,arguments);const c=l=>{const u=e(l);u&&(o.handleEvent?o.handleEvent(u):o(u))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(o,c),r.apply(this,[a,c])};const s=i.removeEventListener;i.removeEventListener=function(a,o){if(a!==t||!this._eventMap||!this._eventMap[t])return s.apply(this,arguments);if(!this._eventMap[t].has(o))return s.apply(this,arguments);const c=this._eventMap[t].get(o);return this._eventMap[t].delete(o),this._eventMap[t].size===0&&delete this._eventMap[t],Object.keys(this._eventMap).length===0&&delete this._eventMap,s.apply(this,[a,c])},Object.defineProperty(i,"on"+t,{get(){return this["_on"+t]},set(a){this["_on"+t]&&(this.removeEventListener(t,this["_on"+t]),delete this["_on"+t]),a&&this.addEventListener(t,this["_on"+t]=a)},enumerable:!0,configurable:!0})}function Pa(n){return typeof n!="boolean"?new Error("Argument type: "+typeof n+". Please use a boolean."):(fo=n,n?"adapter.js logging disabled":"adapter.js logging enabled")}function wa(n){return typeof n!="boolean"?new Error("Argument type: "+typeof n+". Please use a boolean."):(po=!n,"adapter.js deprecation warnings "+(n?"disabled":"enabled"))}function Hn(){if(typeof window=="object"){if(fo)return;typeof console<"u"&&typeof console.log=="function"&&console.log.apply(console,arguments)}}function Jr(n,t){po&&console.warn(n+" is deprecated, please use "+t+" instead.")}function Ea(n){const t={browser:null,version:null};if(typeof n>"u"||!n.navigator)return t.browser="Not a browser.",t;const{navigator:e}=n;if(e.mozGetUserMedia)t.browser="firefox",t.version=li(e.userAgent,/Firefox\/(\d+)\./,1);else if(e.webkitGetUserMedia||n.isSecureContext===!1&&n.webkitRTCPeerConnection&&!n.RTCIceGatherer)t.browser="chrome",t.version=li(e.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else if(e.mediaDevices&&e.userAgent.match(/Edge\/(\d+).(\d+)$/))t.browser="edge",t.version=li(e.userAgent,/Edge\/(\d+).(\d+)$/,2);else if(n.RTCPeerConnection&&e.userAgent.match(/AppleWebKit\/(\d+)\./))t.browser="safari",t.version=li(e.userAgent,/AppleWebKit\/(\d+)\./,1),t.supportsUnifiedPlan=n.RTCRtpTransceiver&&"currentDirection"in n.RTCRtpTransceiver.prototype;else return t.browser="Not a supported browser.",t;return t}function fs(n){return Object.prototype.toString.call(n)==="[object Object]"}function mo(n){return fs(n)?Object.keys(n).reduce(function(t,e){const i=fs(n[e]),r=i?mo(n[e]):n[e],s=i&&!Object.keys(r).length;return r===void 0||s?t:Object.assign(t,{[e]:r})},{}):n}function wn(n,t,e){!t||e.has(t.id)||(e.set(t.id,t),Object.keys(t).forEach(i=>{i.endsWith("Id")?wn(n,n.get(t[i]),e):i.endsWith("Ids")&&t[i].forEach(r=>{wn(n,n.get(r),e)})}))}function ds(n,t,e){const i=e?"outbound-rtp":"inbound-rtp",r=new Map;if(t===null)return r;const s=[];return n.forEach(a=>{a.type==="track"&&a.trackIdentifier===t.id&&s.push(a)}),s.forEach(a=>{n.forEach(o=>{o.type===i&&o.trackId===a.id&&wn(n,o,r)})}),r}const ps=Hn;function yo(n,t){const e=n&&n.navigator;if(!e.mediaDevices)return;const i=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 u=typeof o[l]=="object"?o[l]:{ideal:o[l]};u.exact!==void 0&&typeof u.exact=="number"&&(u.min=u.max=u.exact);const h=function(f,d){return f?f+d.charAt(0).toUpperCase()+d.slice(1):d==="deviceId"?"sourceId":d};if(u.ideal!==void 0){c.optional=c.optional||[];let f={};typeof u.ideal=="number"?(f[h("min",l)]=u.ideal,c.optional.push(f),f={},f[h("max",l)]=u.ideal,c.optional.push(f)):(f[h("",l)]=u.ideal,c.optional.push(f))}u.exact!==void 0&&typeof u.exact!="number"?(c.mandatory=c.mandatory||{},c.mandatory[h("",l)]=u.exact):["min","max"].forEach(f=>{u[f]!==void 0&&(c.mandatory=c.mandatory||{},c.mandatory[h(f,l)]=u[f])})}),o.advanced&&(c.optional=(c.optional||[]).concat(o.advanced)),c},r=function(o,c){if(t.version>=61)return c(o);if(o=JSON.parse(JSON.stringify(o)),o&&typeof o.audio=="object"){const l=function(u,h,f){h in u&&!(f in u)&&(u[f]=u[h],delete u[h])};o=JSON.parse(JSON.stringify(o)),l(o.audio,"autoGainControl","googAutoGainControl"),l(o.audio,"noiseSuppression","googNoiseSuppression"),o.audio=i(o.audio)}if(o&&typeof o.video=="object"){let l=o.video.facingMode;l=l&&(typeof l=="object"?l:{ideal:l});const u=t.version<66;if(l&&(l.exact==="user"||l.exact==="environment"||l.ideal==="user"||l.ideal==="environment")&&!(e.mediaDevices.getSupportedConstraints&&e.mediaDevices.getSupportedConstraints().facingMode&&!u)){delete o.video.facingMode;let h;if(l.exact==="environment"||l.ideal==="environment"?h=["back","rear"]:(l.exact==="user"||l.ideal==="user")&&(h=["front"]),h)return e.mediaDevices.enumerateDevices().then(f=>{f=f.filter(y=>y.kind==="videoinput");let d=f.find(y=>h.some(_=>y.label.toLowerCase().includes(_)));return!d&&f.length&&h.includes("back")&&(d=f[f.length-1]),d&&(o.video.deviceId=l.exact?{exact:d.deviceId}:{ideal:d.deviceId}),o.video=i(o.video),ps("chrome: "+JSON.stringify(o)),c(o)})}o.video=i(o.video)}return ps("chrome: "+JSON.stringify(o)),c(o)},s=function(o){return t.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){r(o,u=>{e.webkitGetUserMedia(u,c,h=>{l&&l(s(h))})})};if(e.getUserMedia=a.bind(e),e.mediaDevices.getUserMedia){const o=e.mediaDevices.getUserMedia.bind(e.mediaDevices);Object.getOwnPropertyDescriptor(e.mediaDevices,"getUserMedia")?.writable&&(e.mediaDevices.getUserMedia=function(c){return r(c,l=>o(l).then(u=>{if(l.audio&&!u.getAudioTracks().length||l.video&&!u.getVideoTracks().length)throw u.getTracks().forEach(h=>{h.stop()}),new DOMException("","NotFoundError");return u},u=>Promise.reject(s(u))))})}}function Ra(n,t){if(!(n.navigator.mediaDevices&&"getDisplayMedia"in n.navigator.mediaDevices)&&n.navigator.mediaDevices){if(typeof t!="function"){console.error("shimGetDisplayMedia: getSourceId argument is not a function");return}n.navigator.mediaDevices.getDisplayMedia=function(i){return t(i).then(r=>{const s=i.video&&i.video.width,a=i.video&&i.video.height,o=i.video&&i.video.frameRate;return i.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:r,maxFrameRate:o||3}},s&&(i.video.mandatory.maxWidth=s),a&&(i.video.mandatory.maxHeight=a),n.navigator.mediaDevices.getUserMedia(i)})}}}function go(n){n.MediaStream=n.MediaStream||n.webkitMediaStream}function vo(n){if(typeof n=="object"&&n.RTCPeerConnection&&!("ontrack"in n.RTCPeerConnection.prototype)){Object.defineProperty(n.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(e){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=e)},enumerable:!0,configurable:!0});const t=n.RTCPeerConnection.prototype.setRemoteDescription;n.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=i=>{i.stream.addEventListener("addtrack",r=>{let s;n.RTCPeerConnection.prototype.getReceivers?s=this.getReceivers().find(o=>o.track&&o.track.id===r.track.id):s={track:r.track};const a=new Event("track");a.track=r.track,a.receiver=s,a.transceiver={receiver:s},a.streams=[i.stream],this.dispatchEvent(a)}),i.stream.getTracks().forEach(r=>{let s;n.RTCPeerConnection.prototype.getReceivers?s=this.getReceivers().find(o=>o.track&&o.track.id===r.id):s={track:r};const a=new Event("track");a.track=r,a.receiver=s,a.transceiver={receiver:s},a.streams=[i.stream],this.dispatchEvent(a)})},this.addEventListener("addstream",this._ontrackpoly)),t.apply(this,arguments)}}else $e(n,"track",t=>(t.transceiver||Object.defineProperty(t,"transceiver",{value:{receiver:t.receiver}}),t))}function _o(n){if(typeof n=="object"&&n.RTCPeerConnection&&!("getSenders"in n.RTCPeerConnection.prototype)&&"createDTMFSender"in n.RTCPeerConnection.prototype){const t=function(r,s){return{track:s,get dtmf(){return this._dtmf===void 0&&(s.kind==="audio"?this._dtmf=r.createDTMFSender(s):this._dtmf=null),this._dtmf},_pc:r}};if(!n.RTCPeerConnection.prototype.getSenders){n.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};const r=n.RTCPeerConnection.prototype.addTrack;n.RTCPeerConnection.prototype.addTrack=function(o,c){let l=r.apply(this,arguments);return l||(l=t(this,o),this._senders.push(l)),l};const s=n.RTCPeerConnection.prototype.removeTrack;n.RTCPeerConnection.prototype.removeTrack=function(o){s.apply(this,arguments);const c=this._senders.indexOf(o);c!==-1&&this._senders.splice(c,1)}}const e=n.RTCPeerConnection.prototype.addStream;n.RTCPeerConnection.prototype.addStream=function(s){this._senders=this._senders||[],e.apply(this,[s]),s.getTracks().forEach(a=>{this._senders.push(t(this,a))})};const i=n.RTCPeerConnection.prototype.removeStream;n.RTCPeerConnection.prototype.removeStream=function(s){this._senders=this._senders||[],i.apply(this,[s]),s.getTracks().forEach(a=>{const o=this._senders.find(c=>c.track===a);o&&this._senders.splice(this._senders.indexOf(o),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 t=n.RTCPeerConnection.prototype.getSenders;n.RTCPeerConnection.prototype.getSenders=function(){const i=t.apply(this,[]);return i.forEach(r=>r._pc=this),i},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 xo(n){if(!n.RTCPeerConnection)return;const t=n.RTCPeerConnection.prototype.getStats;n.RTCPeerConnection.prototype.getStats=function(){const[i,r,s]=arguments;if(arguments.length>0&&typeof i=="function")return t.apply(this,arguments);if(t.length===0&&(arguments.length===0||typeof i!="function"))return t.apply(this,[]);const a=function(c){const l={};return c.result().forEach(h=>{const f={id:h.id,timestamp:h.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[h.type]||h.type};h.names().forEach(d=>{f[d]=h.stat(d)}),l[f.id]=f}),l},o=function(c){return new Map(Object.keys(c).map(l=>[l,c[l]]))};if(arguments.length>=2){const c=function(l){r(o(a(l)))};return t.apply(this,[c,i])}return new Promise((c,l)=>{t.apply(this,[function(u){c(o(a(u)))},l])}).then(r,s)}}function So(n){if(!(typeof n=="object"&&n.RTCPeerConnection&&n.RTCRtpSender&&n.RTCRtpReceiver))return;if(!("getStats"in n.RTCRtpSender.prototype)){const e=n.RTCPeerConnection.prototype.getSenders;e&&(n.RTCPeerConnection.prototype.getSenders=function(){const s=e.apply(this,[]);return s.forEach(a=>a._pc=this),s});const i=n.RTCPeerConnection.prototype.addTrack;i&&(n.RTCPeerConnection.prototype.addTrack=function(){const s=i.apply(this,arguments);return s._pc=this,s}),n.RTCRtpSender.prototype.getStats=function(){const s=this;return this._pc.getStats().then(a=>ds(a,s.track,!0))}}if(!("getStats"in n.RTCRtpReceiver.prototype)){const e=n.RTCPeerConnection.prototype.getReceivers;e&&(n.RTCPeerConnection.prototype.getReceivers=function(){const r=e.apply(this,[]);return r.forEach(s=>s._pc=this),r}),$e(n,"track",i=>(i.receiver._pc=i.srcElement,i)),n.RTCRtpReceiver.prototype.getStats=function(){const r=this;return this._pc.getStats().then(s=>ds(s,r.track,!1))}}if(!("getStats"in n.RTCRtpSender.prototype&&"getStats"in n.RTCRtpReceiver.prototype))return;const t=n.RTCPeerConnection.prototype.getStats;n.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof n.MediaStreamTrack){const i=arguments[0];let r,s,a;return this.getSenders().forEach(o=>{o.track===i&&(r?a=!0:r=o)}),this.getReceivers().forEach(o=>(o.track===i&&(s?a=!0:s=o),o.track===i)),a||r&&s?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):r?r.getStats():s?s.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return t.apply(this,arguments)}}function bo(n){n.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(a=>this._shimmedLocalStreams[a][0])};const t=n.RTCPeerConnection.prototype.addTrack;n.RTCPeerConnection.prototype.addTrack=function(a,o){if(!o)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};const c=t.apply(this,arguments);return this._shimmedLocalStreams[o.id]?this._shimmedLocalStreams[o.id].indexOf(c)===-1&&this._shimmedLocalStreams[o.id].push(c):this._shimmedLocalStreams[o.id]=[o,c],c};const e=n.RTCPeerConnection.prototype.addStream;n.RTCPeerConnection.prototype.addStream=function(a){this._shimmedLocalStreams=this._shimmedLocalStreams||{},a.getTracks().forEach(l=>{if(this.getSenders().find(h=>h.track===l))throw new DOMException("Track already exists.","InvalidAccessError")});const o=this.getSenders();e.apply(this,arguments);const c=this.getSenders().filter(l=>o.indexOf(l)===-1);this._shimmedLocalStreams[a.id]=[a].concat(c)};const i=n.RTCPeerConnection.prototype.removeStream;n.RTCPeerConnection.prototype.removeStream=function(a){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[a.id],i.apply(this,arguments)};const r=n.RTCPeerConnection.prototype.removeTrack;n.RTCPeerConnection.prototype.removeTrack=function(a){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},a&&Object.keys(this._shimmedLocalStreams).forEach(o=>{const c=this._shimmedLocalStreams[o].indexOf(a);c!==-1&&this._shimmedLocalStreams[o].splice(c,1),this._shimmedLocalStreams[o].length===1&&delete this._shimmedLocalStreams[o]}),r.apply(this,arguments)}}function To(n,t){if(!n.RTCPeerConnection)return;if(n.RTCPeerConnection.prototype.addTrack&&t.version>=65)return bo(n);const e=n.RTCPeerConnection.prototype.getLocalStreams;n.RTCPeerConnection.prototype.getLocalStreams=function(){const u=e.apply(this);return this._reverseStreams=this._reverseStreams||{},u.map(h=>this._reverseStreams[h.id])};const i=n.RTCPeerConnection.prototype.addStream;n.RTCPeerConnection.prototype.addStream=function(u){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},u.getTracks().forEach(h=>{if(this.getSenders().find(d=>d.track===h))throw new DOMException("Track already exists.","InvalidAccessError")}),!this._reverseStreams[u.id]){const h=new n.MediaStream(u.getTracks());this._streams[u.id]=h,this._reverseStreams[h.id]=u,u=h}i.apply(this,[u])};const r=n.RTCPeerConnection.prototype.removeStream;n.RTCPeerConnection.prototype.removeStream=function(u){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},r.apply(this,[this._streams[u.id]||u]),delete this._reverseStreams[this._streams[u.id]?this._streams[u.id].id:u.id],delete this._streams[u.id]},n.RTCPeerConnection.prototype.addTrack=function(u,h){if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");const f=[].slice.call(arguments,1);if(f.length!==1||!f[0].getTracks().find(_=>_===u))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(_=>_.track===u))throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};const y=this._streams[h.id];if(y)y.addTrack(u),Promise.resolve().then(()=>{this.dispatchEvent(new Event("negotiationneeded"))});else{const _=new n.MediaStream([u]);this._streams[h.id]=_,this._reverseStreams[_.id]=h,this.addStream(_)}return this.getSenders().find(_=>_.track===u)};function s(l,u){let h=u.sdp;return Object.keys(l._reverseStreams||[]).forEach(f=>{const d=l._reverseStreams[f],y=l._streams[d.id];h=h.replace(new RegExp(y.id,"g"),d.id)}),new RTCSessionDescription({type:u.type,sdp:h})}function a(l,u){let h=u.sdp;return Object.keys(l._reverseStreams||[]).forEach(f=>{const d=l._reverseStreams[f],y=l._streams[d.id];h=h.replace(new RegExp(d.id,"g"),y.id)}),new RTCSessionDescription({type:u.type,sdp:h})}["createOffer","createAnswer"].forEach(function(l){const u=n.RTCPeerConnection.prototype[l],h={[l](){const f=arguments;return arguments.length&&typeof arguments[0]=="function"?u.apply(this,[y=>{const _=s(this,y);f[0].apply(null,[_])},y=>{f[1]&&f[1].apply(null,y)},arguments[2]]):u.apply(this,arguments).then(y=>s(this,y))}};n.RTCPeerConnection.prototype[l]=h[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(u){if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!u._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(!(u._pc===this))throw new DOMException("Sender was not created by this connection.","InvalidAccessError");this._streams=this._streams||{};let f;Object.keys(this._streams).forEach(d=>{this._streams[d].getTracks().find(_=>u.track===_)&&(f=this._streams[d])}),f&&(f.getTracks().length===1?this.removeStream(this._reverseStreams[f.id]):f.removeTrack(u.track),this.dispatchEvent(new Event("negotiationneeded")))}}function En(n,t){!n.RTCPeerConnection&&n.webkitRTCPeerConnection&&(n.RTCPeerConnection=n.webkitRTCPeerConnection),n.RTCPeerConnection&&t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(e){const i=n.RTCPeerConnection.prototype[e],r={[e](){return arguments[0]=new(e==="addIceCandidate"?n.RTCIceCandidate:n.RTCSessionDescription)(arguments[0]),i.apply(this,arguments)}};n.RTCPeerConnection.prototype[e]=r[e]})}function Mo(n,t){$e(n,"negotiationneeded",e=>{const i=e.target;if(!((t.version<72||i.getConfiguration&&i.getConfiguration().sdpSemantics==="plan-b")&&i.signalingState!=="stable"))return e})}const ms=Object.freeze(Object.defineProperty({__proto__:null,fixNegotiationNeeded:Mo,shimAddTrackRemoveTrack:To,shimAddTrackRemoveTrackWithNative:bo,shimGetDisplayMedia:Ra,shimGetSendersWithDtmf:_o,shimGetStats:xo,shimGetUserMedia:yo,shimMediaStream:go,shimOnTrack:vo,shimPeerConnection:En,shimSenderReceiverGetStats:So},Symbol.toStringTag,{value:"Module"}));function Aa(n,t){let e=!1;return n=JSON.parse(JSON.stringify(n)),n.filter(i=>{if(i&&(i.urls||i.url)){let r=i.urls||i.url;i.url&&!i.urls&&Jr("RTCIceServer.url","RTCIceServer.urls");const s=typeof r=="string";return s&&(r=[r]),r=r.filter(a=>{if(a.indexOf("stun:")===0)return!1;const o=a.startsWith("turn")&&!a.startsWith("turn:[")&&a.includes("transport=udp");return o&&!e?(e=!0,!0):o&&!e}),delete i.url,i.urls=s?r[0]:r,!!r.length}})}var Yr={exports:{}},ys;function Co(){return ys||(ys=1,(function(n){var t={};t.generateIdentifier=function(){return Math.random().toString(36).substr(2,10)},t.localCName=t.generateIdentifier(),t.splitLines=function(e){return e.trim().split(`
2
2
  `).map(function(i){return i.trim()})},t.splitSections=function(e){var i=e.split(`
3
3
  m=`);return i.map(function(r,s){return(s>0?"m="+r:r).trim()+`\r
4
4
  `})},t.getDescription=function(e){var i=t.splitSections(e);return i&&i[0]},t.getMediaSections=function(e){var i=t.splitSections(e);return i.shift(),i},t.matchPrefix=function(e,i){return t.splitLines(e).filter(function(r){return r.indexOf(i)===0})},t.parseCandidate=function(e){var i;e.indexOf("a=candidate:")===0?i=e.substring(12).split(" "):i=e.substring(10).split(" ");for(var r={foundation:i[0],component:parseInt(i[1],10),protocol:i[2].toLowerCase(),priority:parseInt(i[3],10),ip:i[4],address:i[4],port:parseInt(i[5],10),type:i[7]},s=8;s<i.length;s+=2)switch(i[s]){case"raddr":r.relatedAddress=i[s+1];break;case"rport":r.relatedPort=parseInt(i[s+1],10);break;case"tcptype":r.tcpType=i[s+1];break;case"ufrag":r.ufrag=i[s+1],r.usernameFragment=i[s+1];break;default:r[i[s]]=i[s+1];break}return r},t.writeCandidate=function(e){var i=[];i.push(e.foundation),i.push(e.component),i.push(e.protocol.toUpperCase()),i.push(e.priority),i.push(e.address||e.ip),i.push(e.port);var r=e.type;return i.push("typ"),i.push(r),r!=="host"&&e.relatedAddress&&e.relatedPort&&(i.push("raddr"),i.push(e.relatedAddress),i.push("rport"),i.push(e.relatedPort)),e.tcpType&&e.protocol.toLowerCase()==="tcp"&&(i.push("tcptype"),i.push(e.tcpType)),(e.usernameFragment||e.ufrag)&&(i.push("ufrag"),i.push(e.usernameFragment||e.ufrag)),"candidate:"+i.join(" ")},t.parseIceOptions=function(e){return e.substr(14).split(" ")},t.parseRtpMap=function(e){var i=e.substr(9).split(" "),r={payloadType:parseInt(i.shift(),10)};return i=i[0].split("/"),r.name=i[0],r.clockRate=parseInt(i[1],10),r.channels=i.length===3?parseInt(i[2],10):1,r.numChannels=r.channels,r},t.writeRtpMap=function(e){var i=e.payloadType;e.preferredPayloadType!==void 0&&(i=e.preferredPayloadType);var r=e.channels||e.numChannels||1;return"a=rtpmap:"+i+" "+e.name+"/"+e.clockRate+(r!==1?"/"+r:"")+`\r
@@ -1,4 +1,4 @@
1
- import { PlaneGeometry as Eo, ShaderChunk as Fa, Object3D as ko, Layers as Ir, MeshBasicMaterial as Ss, DoubleSide as Nn, AdditiveBlending as Ao, InstancedBufferAttribute as Pe, DynamicDrawUsage as gt, InstancedBufferGeometry as Da, Uniform$1 as Lt, ShaderMaterial as Un, BufferGeometry as Ci, BufferAttribute as Mt, Mesh as cs, MeshStandardMaterial as La, MeshPhysicalMaterial as Va, Triangle as Ie, Vector3 as N, Plane as Ro, Line3 as pe, Vector2 as Ye, Sphere as zo, Matrix4 as Jt, Box3 as Kt, BackSide as Ja, REVISION as Ga, FrontSide as bs, BatchedMesh as ja, Ray as $a, Matrix3 as qa, Vector4 as ls } from "./three-DrqIzZTH.js";
1
+ import { PlaneGeometry as Eo, ShaderChunk as Fa, Object3D as ko, Layers as Ir, MeshBasicMaterial as Ss, DoubleSide as Nn, AdditiveBlending as Ao, InstancedBufferAttribute as Pe, DynamicDrawUsage as gt, InstancedBufferGeometry as Da, Uniform$1 as Lt, ShaderMaterial as Un, BufferGeometry as Ci, BufferAttribute as Mt, Mesh as cs, MeshStandardMaterial as La, MeshPhysicalMaterial as Va, Triangle as Ie, Vector3 as N, Plane as Ro, Line3 as pe, Vector2 as Ye, Sphere as zo, Matrix4 as Jt, Box3 as Kt, BackSide as Ja, REVISION as Ga, FrontSide as bs, BatchedMesh as ja, Ray as $a, Matrix3 as qa, Vector4 as ls } from "./three-BRSLmpyi.js";
2
2
  const ot = {
3
3
  ComponentState: Object.freeze({
4
4
  DEFAULT: "default",
@@ -1,7 +1,5 @@
1
- import { isLocalNetwork } from "../engine_networking_utils.js";
2
- import { DeviceUtilities, getParam } from "../engine_utils.js";
3
- import { isDevEnvironment } from "./debug.js";
4
- import { getErrorCount, makeErrorsVisibleForDevelopment } from "./debug_overlay.js";
1
+ import { getParam } from "../engine_utils.js";
2
+ import { getErrorCount } from "./debug_overlay.js";
5
3
  let consoleInstance = undefined;
6
4
  let consoleHtmlElement = null;
7
5
  let consoleSwitchButton = null;
@@ -10,37 +8,9 @@ let isVisible = false;
10
8
  let watchInterval = null;
11
9
  const defaultButtonIcon = "terminal";
12
10
  const showConsole = getParam("console");
13
- const suppressConsole = getParam("noerrors") || getParam("noconsole") || window.crossOriginIsolated;
14
11
  if (showConsole) {
15
12
  showDebugConsole();
16
13
  }
17
- if (!suppressConsole && (showConsole || isLocalNetwork())) {
18
- if (isLocalNetwork() && !showConsole) {
19
- const consoleUrl = new URL(window.location.href);
20
- consoleUrl.searchParams.set("console", "1");
21
- console.log("🌵 Tip: You can add the \"?console\" query parameter to the url to show the debug console (on mobile it will automatically open in the bottom right corner when your get errors during development. In VR a spatial console will appear.)", "\nOpen this page to get the console: " + consoleUrl.toString());
22
- }
23
- const enableConsole = DeviceUtilities.isMobileDevice() || (DeviceUtilities.isQuest() && isDevEnvironment());
24
- if (enableConsole || showConsole) {
25
- // we need to invoke this here - otherwise we will miss errors that happen after the console is loaded
26
- // and calling the method from the root needle-engine.ts import is evaluated later (if we import the method from the toplevel file and then invoke it)
27
- makeErrorsVisibleForDevelopment();
28
- beginWatchingLogs();
29
- createConsole(true);
30
- if (enableConsole) {
31
- const engineElement = document.querySelector("needle-engine");
32
- engineElement?.addEventListener("enter-ar", () => {
33
- if (showConsole || consoleInstance || getErrorCount() > 0) {
34
- if (getParam("noerrors"))
35
- return;
36
- }
37
- });
38
- engineElement?.addEventListener("exit-ar", () => {
39
- onResetConsoleElementToDefaultParent();
40
- });
41
- }
42
- }
43
- }
44
14
  const $defaultConsoleParent = Symbol("consoleParent");
45
15
  export function showDebugConsole() {
46
16
  if (consoleInstance) {
@@ -214,7 +184,7 @@ function createConsole(startHidden = false) {
214
184
  isLoading = false;
215
185
  consoleInstance = null;
216
186
  };
217
- script.src = "https://cdn.jsdelivr.net/npm/vconsole@3.9.1/dist/vconsole.min.js";
187
+ script.src = "https://cdn.jsdelivr.net/npm/vconsole@3.15.1/dist/vconsole.min.js";
218
188
  document.body.appendChild(script);
219
189
  }
220
190
  function createInspectPlugin() {
@@ -1 +1 @@
1
- {"version":3,"file":"debug_console.js","sourceRoot":"","sources":["../../../src/engine/debug/debug_console.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debug_console.js","sourceRoot":"","sources":["../../../src/engine/debug/debug_console.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,IAAI,eAAe,GAAgC,SAAS,CAAC;AAC7D,IAAI,kBAAkB,GAAuB,IAAI,CAAC;AAClD,IAAI,mBAAmB,GAAuB,IAAI,CAAC;AACnD,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,IAAI,aAAa,GAAQ,IAAI,CAAC;AAC9B,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAErC,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;AACxC,IAAI,WAAW,EAAE;IACb,gBAAgB,EAAE,CAAC;CACtB;AAED,MAAM,qBAAqB,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAEtD,MAAM,UAAU,gBAAgB;IAE5B,IAAI,eAAe,EAAE;QACjB,SAAS,GAAG,IAAI,CAAC;QACjB,eAAe,CAAC,UAAU,EAAE,CAAC;QAC7B,OAAO;KACV;IACD,aAAa,EAAE,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC5B,IAAI,CAAC,eAAe;QAAE,OAAO;IAC7B,SAAS,GAAG,KAAK,CAAC;IAClB,eAAe,CAAC,IAAI,EAAE,CAAC;IACvB,eAAe,CAAC,UAAU,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,iBAAiB;IACtB,IAAI,aAAa;QAAE,OAAO;IAC1B,aAAa,GAAG,WAAW,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;AACnE,CAAC;AAED,IAAI,cAAc,GAAG,CAAC,CAAC;AACvB,SAAS,4BAA4B;IACjC,MAAM,YAAY,GAAG,aAAa,EAAE,CAAC;IACrC,MAAM,iBAAiB,GAAG,YAAY,KAAK,cAAc,CAAC;IAC1D,cAAc,GAAG,YAAY,CAAC;IAC9B,IAAI,iBAAiB,EAAE;QACnB,kBAAkB,EAAE,CAAC;KACxB;AACL,CAAC;AAED,SAAS,kBAAkB;IACvB,gBAAgB,EAAE,CAAC;IACnB,IAAI,mBAAmB,EAAE;QACrB,mBAAmB,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAClD,mBAAmB,CAAC,SAAS,GAAG,IAAI,CAAA;KACvC;AACL,CAAC;AAED,SAAS,4BAA4B;IACjC,IAAI,mBAAmB,EAAE;QACrB,mBAAmB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC7C,mBAAmB,CAAC,SAAS,GAAG,iBAAiB,CAAC;KACrD;AACL,CAAC;AAED,SAAS,oCAAoC;IACzC,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,qBAAqB,CAAC,EAAE;QACjE,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;KAC7E;AACL,CAAC;AAuBD,SAAS,aAAa,CAAC,cAAuB,KAAK;IAC/C,IAAI,eAAe,KAAK,SAAS;QAAE,OAAO;IAC1C,IAAI,SAAS;QAAE,OAAO;IACtB,SAAS,GAAG,IAAI,CAAC;IAEjB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;QACjB,iDAAiD;QACjD,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;YACtB,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YACjD,SAAS,GAAG,KAAK,CAAC;YAClB,eAAe,GAAG,IAAI,CAAC;YACvB,OAAO;SACV;QACD,SAAS,GAAG,KAAK,CAAC;QAClB,SAAS,GAAG,IAAI,CAAC;QACjB,iBAAiB,EAAE,CAAC;QACpB,eAAe,GAAG,IAAI,QAAQ,CAAC;YAC3B,yCAAyC;YACzC,WAAW,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;SAC7C,CAAa,CAAC;QAEf,MAAM,KAAK,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC;QACjD,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,eAAe,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC;SACpD;QAED,kBAAkB,GAAG,iBAAiB,EAAE,CAAC;QACzC,IAAI,kBAAkB,EAAE;YACpB,kBAAkB,CAAC,qBAAqB,CAAC,GAAG,kBAAkB,CAAC,aAAa,CAAC;YAC7E,kBAAkB,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;YAC/C,kBAAkB,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YACrE,+CAA+C;YAC/C,oDAAoD;YACpD,4CAA4C;YAC5C,gEAAgE;YAChE,kEAAkE;YAClE,qDAAqD;YACrD,4DAA4D;YAC5D,sDAAsD;YACtD,iEAAiE;YACjE,mEAAmE;YACnE,kDAAkD;YAClD,YAAY;YACZ,oDAAoD;YACpD,QAAQ;YACR,IAAI;SACP;QACD,eAAe,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1C,mBAAmB,GAAG,sBAAsB,EAAE,CAAC;QAC/C,IAAI,mBAAmB,EAAE;YACrB,mBAAmB,CAAC,SAAS,GAAG,iBAAiB,CAAC;YAClD,mBAAmB,CAAC,gBAAgB,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;YAC5E,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,EAAE,CAAC;YAChB,MAAM,CAAC,SAAS,GAAG;;;;6BAIF,IAAI;8BACH,IAAI;;mCAEC,IAAI;iCACN,IAAI,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAmD7B,CAAC;YACF,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,WAAW,KAAK,IAAI,IAAI,aAAa,EAAE,IAAI,CAAC;gBAC5C,gBAAgB,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;SAC9C;IAEL,CAAC,CAAC;IACF,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE;QAClB,OAAO,CAAC,IAAI,CAAC,kCAAkC,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,iFAAiF,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzK,SAAS,GAAG,KAAK,CAAC;QAClB,eAAe,GAAG,IAAI,CAAC;IAC3B,CAAC,CAAC;IACF,MAAM,CAAC,GAAG,GAAG,mEAAmE,CAAC;IACjF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,mBAAmB;IACxB,IAAI,CAAC,UAAU,CAAC,QAAQ;QAAE,OAAO;IACjC,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,cAAc,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;IAChF,MAAM,SAAS,GAAG,GAAG,EAAE;QACnB,OAAO,QAAQ,CAAC,aAAa,CAAC,aAAa,GAAG,MAAM,CAAC,GAAG,GAAG,SAAS,CAAsB,CAAC;IAC/F,CAAC,CAAA;IACD,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,UAAS,QAAQ;QACpC,MAAM,KAAK,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACzC,IAAI,KAAK,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,KAAK,GAAG,CAAC,CAAC;YAAE,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,mBAAmB,GAAG,QAAQ,CAAC,QAAQ,GAAG,IAAI,GAAG,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACzF,MAAM,WAAW,GAAG,mBAAmB,GAAG,GAAG,GAAG,KAAK,CAAC;QACtD,MAAM,UAAU,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,CAAC,OAAO,GAAG,2CAA2C,GAAG,UAAU,CAAC;QAC1E,IAAI,IAAI,GAAG,0EAA0E,CAAC;QACtF,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE;QACd,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;QACzB,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,OAAO;YAAE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC;IACvE,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE;QACd,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;QACzB,IAAI,IAAI;YAAE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH;;;;;;;;;;MAUE;IACF,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,UAAS,QAAQ;QACpC,IAAI,OAAO,GAAG,IAAI,KAAK,EAAa,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EAAE,UAAS,MAAM;gBACpB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACtC,eAAe,EAAE,IAAI,EAAE,CAAC;YAC5B,CAAC;SACJ,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAS,MAAM;gBACpB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;gBAC3B,IAAI,MAAM;oBAAE,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC;YAC5C,CAAC;SACJ,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,UAAS,MAAM;gBACpB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;gBAC3B,IAAI,MAAM,CAAC,iBAAiB,EAAE;oBAC1B,MAAM,CAAC,iBAAiB,EAAE,CAAC;iBAC9B;qBAAM,IAAI,MAAM,CAAC,yBAAyB,CAAC,YAAY,QAAQ,EAAE;oBAC9D,MAAM,CAAC,yBAAyB,CAAC,EAAE,CAAC;iBACvC;YACL,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,sBAAsB;IAC3B,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;IAC5D,IAAI,EAAE;QAAE,OAAO,EAAiB,CAAC;IACjC,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB;IACtB,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IACjD,IAAI,EAAE;QAAE,OAAO,EAAiB,CAAC;IACjC,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Texture, WebGLRenderer } from "three";
2
+ export declare function loadPMREM(url: string, renderer: WebGLRenderer): Promise<Texture | null>;
@@ -0,0 +1,100 @@
1
+ import { createLoaders } from "@needle-tools/gltf-progressive";
2
+ import { CubeUVReflectionMapping, SRGBColorSpace, TextureLoader } from "three";
3
+ import { EXRLoader } from "three/examples/jsm/loaders/EXRLoader";
4
+ import { RGBELoader } from "three/examples/jsm/loaders/RGBELoader";
5
+ import { disposeObjectResources, setDisposable } from "./engine_assetdatabase.js";
6
+ const running = new Map();
7
+ // #region api
8
+ export function loadPMREM(url, renderer) {
9
+ if (running.has(url)) {
10
+ return running.get(url);
11
+ }
12
+ const actualUrl = new URL(url, window.location.href);
13
+ const promise = internalLoadPMREM(actualUrl, renderer);
14
+ running.set(url, promise);
15
+ return promise;
16
+ }
17
+ function ensureGlobalCache() {
18
+ if (!globalThis["NEEDLE_ENGINE_SKYBOX_TEXTURES"])
19
+ globalThis["NEEDLE_ENGINE_SKYBOX_TEXTURES"] = new Array();
20
+ return globalThis["NEEDLE_ENGINE_SKYBOX_TEXTURES"];
21
+ }
22
+ function tryGetPreviouslyLoadedTexture(src) {
23
+ const cache = ensureGlobalCache();
24
+ const found = cache.find(x => x.src === src);
25
+ if (found) {
26
+ return found.texture;
27
+ }
28
+ return null;
29
+ }
30
+ async function disposeCachedTexture(tex) {
31
+ const texture = await tex;
32
+ if (!texture)
33
+ return;
34
+ setDisposable(texture, true);
35
+ disposeObjectResources(texture);
36
+ }
37
+ function registerPromise(src, texture) {
38
+ const cache = ensureGlobalCache();
39
+ // Make sure the cache doesnt get too big
40
+ while (cache.length > 5) {
41
+ const entry = cache.shift();
42
+ if (entry) {
43
+ disposeCachedTexture(entry.texture);
44
+ }
45
+ }
46
+ texture.then(t => { return setDisposable(t, false); });
47
+ cache.push({ src, texture });
48
+ }
49
+ // #region loading
50
+ async function internalLoadPMREM(url, renderer) {
51
+ if (!url)
52
+ return Promise.resolve(null);
53
+ const pathname = url.pathname;
54
+ const isPMREM_URL = url.toString().toLowerCase().includes("pmrem") || url.searchParams.get("pmrem") != null;
55
+ const cached = tryGetPreviouslyLoadedTexture(pathname);
56
+ if (cached) {
57
+ const res = await cached;
58
+ if (res?.source?.data?.length > 0 || res?.source?.data?.data?.length)
59
+ return res;
60
+ }
61
+ const isEXR = pathname.endsWith(".exr");
62
+ const isHdr = pathname.endsWith(".hdr");
63
+ const isKtx2 = pathname.endsWith(".ktx2");
64
+ let loader;
65
+ if (isEXR) {
66
+ loader = new EXRLoader();
67
+ }
68
+ else if (isHdr) {
69
+ loader = new RGBELoader();
70
+ }
71
+ else if (isKtx2) {
72
+ const { ktx2Loader } = createLoaders(renderer);
73
+ loader = ktx2Loader;
74
+ }
75
+ else {
76
+ loader = new TextureLoader();
77
+ }
78
+ const str = url.toString();
79
+ const promise = loader.loadAsync(str)
80
+ .then(tex => {
81
+ if (tex) {
82
+ const nameIndex = pathname.lastIndexOf("/");
83
+ tex.name = pathname.substring(nameIndex >= 0 ? nameIndex + 1 : 0);
84
+ if (isPMREM_URL) {
85
+ tex.mapping = CubeUVReflectionMapping;
86
+ }
87
+ if (loader instanceof TextureLoader) {
88
+ tex.colorSpace = SRGBColorSpace;
89
+ }
90
+ }
91
+ return tex;
92
+ });
93
+ registerPromise(str, promise);
94
+ const texture = await promise.catch(_err => {
95
+ console.warn("Failed to load texture from url:", url);
96
+ return null;
97
+ });
98
+ return texture;
99
+ }
100
+ //# sourceMappingURL=engine_pmrem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine_pmrem.js","sourceRoot":"","sources":["../../src/engine/engine_pmrem.ts"],"names":[],"mappings":"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"}
@@ -675,7 +675,7 @@ class CameraSkybox {
675
675
  }
676
676
  }
677
677
  else if (this.context.scene.background !== this._skybox) {
678
- const hasBackgroundAttribute = this.context.domElement.getAttribute("background-image") || this.context.domElement.getAttribute("background-color") || this.context.domElement.getAttribute("skybox-image");
678
+ const hasBackgroundAttribute = this.context.domElement.getAttribute("background-image") || this.context.domElement.getAttribute("background-color");
679
679
  if (debug)
680
680
  console.debug(`[Camera] Apply Skybox ${this._skybox?.name} ${hasBackgroundAttribute} - \"${this._camera.name}\"`);
681
681
  if (!hasBackgroundAttribute?.length) {
@@ -1 +1 @@
1
- {"version":3,"file":"Camera.js","sourceRoot":"","sources":["../../src/engine-components/Camera.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Camera.js","sourceRoot":"","sources":["../../src/engine-components/Camera.ts"],"names":[],"mappings":"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"}
@@ -411,7 +411,6 @@ export class DragControls extends Behaviour {
411
411
  const sync = GameObject.getComponentInChildren(evt.object, SyncedTransform);
412
412
  if (sync) {
413
413
  sync.fastMode = false;
414
- // sync?.requestOwnership();
415
414
  }
416
415
  }
417
416
  if (this._marker)