@needle-tools/engine 5.0.6-next.56fe65a → 5.0.6-next.bb467e1

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.
@@ -2435,9 +2435,9 @@ Lo('if(!globalThis["NEEDLE_PROJECT_BUILD_TIME"]) globalThis["NEEDLE_PROJECT_BUIL
2435
2435
  Lo('if(!globalThis["NEEDLE_PUBLIC_KEY"]) globalThis["NEEDLE_PUBLIC_KEY"] = "unknown";');
2436
2436
  Lo('globalThis["__NEEDLE_ENGINE_VERSION__"] = "5.0.6";');
2437
2437
  Lo('globalThis["__NEEDLE_ENGINE_GENERATOR__"] = "undefined";');
2438
- Lo('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "Wed Apr 29 2026 11:18:55 GMT+0000 (Coordinated Universal Time)";');
2438
+ Lo('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "Tue May 05 2026 15:22:32 GMT+0000 (Coordinated Universal Time)";');
2439
2439
  Lo('globalThis["__NEEDLE_PUBLIC_KEY__"] = "' + NEEDLE_PUBLIC_KEY + '";');
2440
- const Pi = "5.0.6", Lc = "undefined", Yd = "Wed Apr 29 2026 11:18:55 GMT+0000 (Coordinated Universal Time)";
2440
+ const Pi = "5.0.6", Lc = "undefined", Yd = "Tue May 05 2026 15:22:32 GMT+0000 (Coordinated Universal Time)";
2441
2441
  C0 && console.log(`Engine version: ${Pi} (generator: ${Lc})
2442
2442
  Project built at ${Yd}`);
2443
2443
  const _r = NEEDLE_PUBLIC_KEY, Cs = "needle_isActiveInHierarchy", pa = "builtin_components", yd = "needle_editor_guid";
@@ -45793,7 +45793,7 @@ class jD extends p1 {
45793
45793
  if (t.getAttribute("position").isInterleavedBufferAttribute || t.index && t.index.isInterleavedBufferAttribute)
45794
45794
  throw new Error("GenerateMeshBVHWorker: InterleavedBufferAttribute are not supported for the geometry attributes.");
45795
45795
  e.onerror = (c) => {
45796
- o(new Error(`[GenerateMeshBVHWorker] ${c.message || "Unknown error. Please check the server console. If you're using vite try adding 'three-mesh-bvh' to 'optimizeDeps.exclude' in your vite.config.js"}`));
45796
+ o(new Error(`[GenerateMeshBVHWorker] ${c.message || "Could not load worker."}`));
45797
45797
  }, e.onmessage = (c) => {
45798
45798
  const { data: h } = c;
45799
45799
  if (h.error)
@@ -148,7 +148,7 @@ void main(){
148
148
  clip: rect(0, 0, 0, 0);
149
149
  white-space: nowrap;
150
150
  border: 0;
151
- `,this.root.setAttribute("role","region"),this.root.setAttribute("aria-label","3D Needle Engine scene"),this.liveRegion.setAttribute("aria-live","polite"),this.liveRegion.setAttribute("aria-atomic","true"),this.liveRegion.setAttribute("role","status"),this.root.appendChild(this.liveRegion),this.enabled=!0}static _managers=new WeakMap;static get(e){return Mg(e)?this._managers.get(e.context):this._managers.get(e)}_enabled;set enabled(e){e!==this._enabled&&(this._enabled=e,e?(Em._managers.set(this.context,this),(this.context.domElement.shadowRoot||this.context.domElement).prepend(this.root)):this.root.remove())}clear(){this.root.childNodes.forEach(e=>e.remove()),this.root.appendChild(this.liveRegion)}dispose(){this.root.remove(),Em._managers.delete(this.context)}root=document.createElement("div");liveRegion=document.createElement("div");treeElements=new WeakMap;updateElement(e,t){let i=this.treeElements.get(e);i||(i=document.createElement("div"),this.treeElements.set(e,i),this.root.appendChild(i),typeof t=="object"&&(t.role&&i.setAttribute("role",t.role),t.label&&i.setAttribute("aria-label",t.label),t.hidden!==void 0&&i.setAttribute("aria-hidden",String(t.hidden)),t.busy!==void 0&&i.setAttribute("aria-busy",String(t.busy))))}focus(e){const t=this.treeElements.get(e);t&&t.focus()}unfocus(e){const t=this.treeElements.get(e);t&&t.blur()}hover(e,t){const i=this.treeElements.get(e);this.liveRegion.textContent=t||i?.getAttribute("aria-label")||""}removeElement(e){this.treeElements.get(e)?.remove(),this.treeElements.delete(e)}set liveRegionMode(e){this.liveRegion.setAttribute("aria-live",e)}}let sv,rv=null;function kn(){return sv}function av(o){if(o==null){console.warn("Oh no: someone tried registering a non-existend gltf-loader. When you see this log it might mean that needle-engine is being imported multiple times. Please check your project setup.");return}rv!==o&&(rv=o,sv=new o)}const lv=w("debugdefines");ks('if(!globalThis["NEEDLE_ENGINE_VERSION"]) globalThis["NEEDLE_ENGINE_VERSION"] = "0.0.0";'),ks('if(!globalThis["NEEDLE_ENGINE_GENERATOR"]) globalThis["NEEDLE_ENGINE_GENERATOR"] = "unknown";'),ks('if(!globalThis["NEEDLE_PROJECT_BUILD_TIME"]) globalThis["NEEDLE_PROJECT_BUILD_TIME"] = "unknown";'),ks('if(!globalThis["NEEDLE_PUBLIC_KEY"]) globalThis["NEEDLE_PUBLIC_KEY"] = "unknown";'),ks('globalThis["__NEEDLE_ENGINE_VERSION__"] = "5.0.6";'),ks('globalThis["__NEEDLE_ENGINE_GENERATOR__"] = "undefined";'),ks('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "Wed Apr 29 2026 11:18:55 GMT+0000 (Coordinated Universal Time)";'),ks('globalThis["__NEEDLE_PUBLIC_KEY__"] = "'+NEEDLE_PUBLIC_KEY+'";');const mi="5.0.6",Ha="undefined",Sc="Wed Apr 29 2026 11:18:55 GMT+0000 (Coordinated Universal Time)";lv&&console.log(`Engine version: ${mi} (generator: ${Ha})
151
+ `,this.root.setAttribute("role","region"),this.root.setAttribute("aria-label","3D Needle Engine scene"),this.liveRegion.setAttribute("aria-live","polite"),this.liveRegion.setAttribute("aria-atomic","true"),this.liveRegion.setAttribute("role","status"),this.root.appendChild(this.liveRegion),this.enabled=!0}static _managers=new WeakMap;static get(e){return Mg(e)?this._managers.get(e.context):this._managers.get(e)}_enabled;set enabled(e){e!==this._enabled&&(this._enabled=e,e?(Em._managers.set(this.context,this),(this.context.domElement.shadowRoot||this.context.domElement).prepend(this.root)):this.root.remove())}clear(){this.root.childNodes.forEach(e=>e.remove()),this.root.appendChild(this.liveRegion)}dispose(){this.root.remove(),Em._managers.delete(this.context)}root=document.createElement("div");liveRegion=document.createElement("div");treeElements=new WeakMap;updateElement(e,t){let i=this.treeElements.get(e);i||(i=document.createElement("div"),this.treeElements.set(e,i),this.root.appendChild(i),typeof t=="object"&&(t.role&&i.setAttribute("role",t.role),t.label&&i.setAttribute("aria-label",t.label),t.hidden!==void 0&&i.setAttribute("aria-hidden",String(t.hidden)),t.busy!==void 0&&i.setAttribute("aria-busy",String(t.busy))))}focus(e){const t=this.treeElements.get(e);t&&t.focus()}unfocus(e){const t=this.treeElements.get(e);t&&t.blur()}hover(e,t){const i=this.treeElements.get(e);this.liveRegion.textContent=t||i?.getAttribute("aria-label")||""}removeElement(e){this.treeElements.get(e)?.remove(),this.treeElements.delete(e)}set liveRegionMode(e){this.liveRegion.setAttribute("aria-live",e)}}let sv,rv=null;function kn(){return sv}function av(o){if(o==null){console.warn("Oh no: someone tried registering a non-existend gltf-loader. When you see this log it might mean that needle-engine is being imported multiple times. Please check your project setup.");return}rv!==o&&(rv=o,sv=new o)}const lv=w("debugdefines");ks('if(!globalThis["NEEDLE_ENGINE_VERSION"]) globalThis["NEEDLE_ENGINE_VERSION"] = "0.0.0";'),ks('if(!globalThis["NEEDLE_ENGINE_GENERATOR"]) globalThis["NEEDLE_ENGINE_GENERATOR"] = "unknown";'),ks('if(!globalThis["NEEDLE_PROJECT_BUILD_TIME"]) globalThis["NEEDLE_PROJECT_BUILD_TIME"] = "unknown";'),ks('if(!globalThis["NEEDLE_PUBLIC_KEY"]) globalThis["NEEDLE_PUBLIC_KEY"] = "unknown";'),ks('globalThis["__NEEDLE_ENGINE_VERSION__"] = "5.0.6";'),ks('globalThis["__NEEDLE_ENGINE_GENERATOR__"] = "undefined";'),ks('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "Tue May 05 2026 15:22:32 GMT+0000 (Coordinated Universal Time)";'),ks('globalThis["__NEEDLE_PUBLIC_KEY__"] = "'+NEEDLE_PUBLIC_KEY+'";');const mi="5.0.6",Ha="undefined",Sc="Tue May 05 2026 15:22:32 GMT+0000 (Coordinated Universal Time)";lv&&console.log(`Engine version: ${mi} (generator: ${Ha})
152
152
  Project built at ${Sc}`);const Os=NEEDLE_PUBLIC_KEY,Jn="needle_isActiveInHierarchy",Tr="builtin_components",Cc="needle_editor_guid";function ks(o){try{(0,eval)(o)}catch(e){lv&&console.error(e)}}const Rg={experimentalSmartHierarchyUpdate:!1};function Pc(o,e){try{e||o()}catch(t){return console.error(t),!1}return!0}const Tg=w("debugnewscripts"),Gk=w("debughierarchy"),Ae=[];function qk(){return Ae.length>0}function nu(o){if(Tg&&console.log("Register new components",o.new_scripts.length,[...o.new_scripts],o.alias?"element: "+o.alias:o.hash,o),o.new_scripts_pre_setup_callbacks.length>0){for(const e of o.new_scripts_pre_setup_callbacks)e&&e();o.new_scripts_pre_setup_callbacks.length=0}if(!(o.new_scripts.length<=0)){Ae.length=0,o.new_scripts.length>0&&Ae.push(...o.new_scripts),o.new_scripts.length=0;for(let e=0;e<Ae.length;e++)try{const t=Ae[e];if(t.isComponent!==!0){(A()||Tg)&&console.error(`Registered script is not a Needle Engine component.
153
153
  The script will be ignored. Please make sure your component extends "Behaviour" imported from "@needle-tools/engine"
154
154
  `,t),Ae.splice(e,1),e--;continue}if(t.destroyed)continue;if(!t.gameObject){console.warn(`Component can not be initialized: no GameObject assigned.
@@ -1728,4 +1728,4 @@ Needle Engine: Begin loading `+i+`
1728
1728
  Needle Engine: finished loading `+i+`
1729
1729
  `,t,`Aborted? ${d.signal.aborted}`),d.signal.aborted){console.log("Loading finished but aborted...");return}if(this._loadId!==i){console.log("Load id changed during loading process");return}this._loadingProgress01=1,r&&f&&this._loadingView?.onLoadingUpdate(1,"creating scene"),this._didFullyLoad=!0,this.classList.remove("loading"),this.classList.add("loading-finished"),this.dispatchEvent(new CustomEvent("loadfinished",{detail:{context:this._context,src:n,loadedFiles:a}}))}applyAttributes(){const e=this.getOrCreateContext();if(e.renderer){const s=ow(this.toneMapping);s!==void 0&&(e.renderer.toneMapping=s);const r=this.getAttribute("tone-mapping-exposure");if(r!=null){const a=parseFloat(r);isNaN(a)||(e.renderer.toneMappingExposure=a)}}const t=this.getAttribute("background-blurriness");if(t!=null){const s=parseFloat(t);isNaN(s)||(e.scene.backgroundBlurriness=s)}const i=this.getAttribute("environment-intensity");if(i!=null){const s=parseFloat(i);isNaN(s)||(e.scene.environmentIntensity=s)}const n=this.getAttribute("background-color");if(e.renderer)if(typeof n=="string"&&n.length>0){const s=re.fromColorRepresentation(n);Re&&console.debug("<needle-engine> background-color changed, str:",n,"\u2192",s),e.renderer.setClearColor(s,s.alpha),e.scene.background=null}else this.getAttribute("background-image")&&this.setAttribute("background-image",this.getAttribute("background-image"))}onXRSessionStarted=()=>{const e=this.getOrCreateContext(),t=e.xrSessionMode;t==="immersive-ar"?this.onEnterAR(e.xrSession):t==="immersive-vr"&&this.onEnterVR(e.xrSession),e.xrSession?.addEventListener("end",()=>{this.dispatchEvent(new CustomEvent("xr-session-ended",{detail:{session:e.xrSession,context:this._context,sessionMode:t}})),t==="immersive-ar"?this.onExitAR(e.xrSession):t==="immersive-vr"&&this.onExitVR(e.xrSession)})};onReady=()=>this._loadingView?.onLoadingFinished();onError=()=>this._loadingView?.setMessage("Loading failed!");getSourceFiles(){const e=this.getAttribute("src");if(!e)return[];let t;Array.isArray(e)?t=e:e.startsWith("[")&&e.endsWith("]")?t=JSON.parse(e):e.includes(",")?t=e.split(","):t=[e];for(let i=t.length-1;i>=0;i--){const n=t[i];(n==="null"||n==="undefined"||n?.length<=0)&&t.splice(i,1)}return t}checkIfSourceHasChanged(e,t){if(e?.length!==t?.length||e==null&&t!==null||e!==null&&t==null)return!0;if(e!==null&&t!==null){for(let i=0;i<e?.length;i++)if(e[i]!==t[i])return!0}return!1}_previouslyRegisteredMap=new Map;ensureLoadStartIsRegistered(){const e=this.getAttribute("loadstart");e&&this.registerEventFromAttribute("loadstart",e)}registerEventFromAttribute(e,t){const i=this._previouslyRegisteredMap.get(e);if(i&&(this._previouslyRegisteredMap.delete(e),this.removeEventListener(e,i)),typeof t=="string"&&t.length>0)try{const n=(0,eval)(t);typeof n=="function"&&(this._previouslyRegisteredMap.set(e,n),this.addEventListener(e,s=>n?.call(globalThis,this.getOrCreateContext(),s)))}catch(n){console.error("Error registering event "+e+'="'+t+`" failed with the following error:
1730
1730
  `,n)}}setPublicKey(){Os&&Os.length>0&&this.setAttribute("public-key",Os)}setVersion(){mi.length>0&&this.setAttribute("version",mi)}getAROverlayContainer(){return this._overlay_ar.createOverlayContainer(this)}getVROverlayContainer(){for(let e=0;e<this.children.length;e++){const t=this.children[e];if(t.classList.contains("vr"))return t}return null}onEnterAR(e){const t=this.getOrCreateContext();this.onSetupAR();const i=this.getAROverlayContainer();this._overlay_ar.onBegin(t,i,e),this.dispatchEvent(new CustomEvent("enter-ar",{detail:{session:e,context:t,htmlContainer:this._overlay_ar?.ARContainer}}))}onExitAR(e){const t=this.getOrCreateContext();this._overlay_ar.onEnd(t),this.onSetupDesktop(),this.dispatchEvent(new CustomEvent("exit-ar",{detail:{session:e,context:t,htmlContainer:this._overlay_ar?.ARContainer}}))}onEnterVR(e){const t=this.getOrCreateContext();this.onSetupVR(),this.dispatchEvent(new CustomEvent("enter-vr",{detail:{session:e,context:t}}))}onExitVR(e){const t=this.getOrCreateContext();this.onSetupDesktop(),this.dispatchEvent(new CustomEvent("exit-vr",{detail:{session:e,context:t}}))}onSetupAR(){this.classList.add(gd),this.classList.remove(fd);const e=this.getAROverlayContainer();Re&&console.warn("onSetupAR:",e),e&&(e.classList.add(gd),e.classList.remove(fd)),this.foreachHtmlElement(t=>this.setupElementsForMode(t,$S))}onSetupVR(){this.classList.remove(gd),this.classList.remove(fd),this.foreachHtmlElement(e=>this.setupElementsForMode(e,GS))}onSetupDesktop(){this.classList.remove(gd),this.classList.add(fd);const e=this.getAROverlayContainer();e&&(e.classList.remove(gd),e.classList.add(fd)),this.foreachHtmlElement(t=>this.setupElementsForMode(t,qS))}setupElementsForMode(e,t,i=null){if(!(e===this._context?.renderer?.domElement||e.id==="VRButton"||e.id==="ARButton"))if(e.classList.contains(t))e.style.visibility="visible",e.style.display==="none"&&(e.style.display="block");else for(const n of Mj)e.classList.contains(n)&&(e.style.visibility="hidden",e.style.display="none")}foreachHtmlElement(e){for(let t=0;t<this.children.length;t++){const i=this.children[t];i.style&&e(i)}}onBeforeBeginLoading(){const e=this.getAttribute("dracoDecoderPath");e&&(Re&&console.log("using custom draco decoder path",e),q1(e));const t=this.getAttribute("dracoDecoderType");t&&(Re&&console.log("using custom draco decoder type",t),X1(t));const i=this.getAttribute("ktx2DecoderPath");i&&(Re&&console.log("using custom ktx2 decoder path",i),Q1(i))}setAttribute(e,t){super.setAttribute(e,typeof t=="string"?t:String(t))}getAttribute(e){return super.getAttribute(e)}addEventListener(e,t,i){return super.addEventListener(e,t,i)}}function Rj(o){if(o.startsWith("blob:"))return"blob";const e=o.split("/");let t=e[e.length-1];const i=t.indexOf("?");i>0&&(t=t.substring(0,i));const n=t.indexOf("=");n>0&&(t=t.substring(n));const s=t.split(".").pop(),r=s?["glb","gltf","usdz","usd","fbx","obj","mtl"].indexOf(s.toLowerCase()):-1;if(s&&r>=0&&(t=t.substring(0,t.length-s.length-1)),t=decodeURIComponent(t),t.length>3){let a="",l=!1;const c=["(",")","[","]","{","}",":",";",",",".","!","?"];for(let h=0;h<t.length;h++){let d=t[h];(d==="_"||d==="-")&&(d=" "),!(d===" "&&a.length<=0||c.includes(d)||(a.length===0&&(d=d.toUpperCase()),l&&d===" "))&&(l&&(d=d.toUpperCase()),l=!1,a+=d,d===" "&&(l=!0))}return A()&&t!==a&&console.debug('Generated display name: "'+t+'" \u2192 "'+a+'"'),a.trim()}return t}function Tj(o){au(e=>{const t=o.getAttribute("loading-blur");if(t!==null&&t!=="0"&&e.domElement===o){const i=e.lodsManager.manager?.awaitLoading({frames:5,signal:AbortSignal.timeout(1e4),maxPromisesPerObject:1}).catch(r=>{});let n="20px";t.endsWith("px")&&(n=t);const s=170;if(e.scene.background===null){const r=o,a=e.renderer.domElement,l=a.style.filter,c=a.style.overflow;a.style.filter+=`blur(${n})`,r.style.overflow="hidden",i?.then(()=>{const h=a.animate([{filter:"blur(0px)"}],{duration:s,easing:"ease-in"});h.onfinish=()=>{a.style.filter=l,r.style.overflow=c}})}else{const r=document.createElement("div");e.domElement.prepend(r),r.style.cssText="position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 10; pointer-events: none",r.style.backdropFilter=`blur(${n})`,i?.then(()=>{const a=r.animate([{backdropFilter:"blur(0px)",opacity:0}],{duration:s,easing:"ease-in"});a.onfinish=()=>{r.remove()}})}}},{once:!0})}const Aj=Object.freeze(Object.defineProperty({__proto__:null,NeedleEngineWebComponent:fb},Symbol.toStringTag,{value:"Module"}));function Ij(){typeof window>"u"||(window.customElements.get("needle-engine")||window.customElements.define("needle-engine",fb),window.customElements.get("needle-button")||window.customElements.define("needle-button",VS),window.customElements.get("needle-logo-element")||window.customElements.define("needle-logo-element",Tm),window.customElements.get("needle-menu")||window.customElements.define("needle-menu",Od))}let XS=!1;function Lj(){XS||(XS=!0,Ij(),MA(),_x(),Av(),ZE(),Lx(),nw(),DT(),Sj(),sE(),Cj(),hj(),yj(),setTimeout(cR,1e3),KR(),QR(),gT(),sT(),hk())}const Ne=w("debugphysics"),yb=w("debugcolliderplacement"),bb=w("debugcollisions"),jj=w("showcolliders"),Sm=w("debugraycasts"),Oi=Symbol("needle component"),jt=Symbol("physics body"),QS=Symbol("rigidbody");globalThis.NEEDLE_USE_RAPIER=globalThis.NEEDLE_USE_RAPIER!==void 0?globalThis.NEEDLE_USE_RAPIER:!0,Ne&&console.log("Use Rapier",!0,globalThis.NEEDLE_USE_RAPIER),pe.registerCallback(ue.ContextCreationStart,o=>{Ne&&console.log("Register rapier physics backend"),o.context.physics.engine=new dc(o.context)});class dc{debugRenderColliders=!1;debugRenderRaycasts=!1;removeBody(e){if(Ne&&console.log("REMOVE BODY",e?.name,e[jt]),!e)return;this.validate();const t=e[jt];if(e[jt]=null,t&&this.world){const i=this.objects.findIndex(n=>n===e);if(i>=0){const n=this.bodies[i];if(this.bodies.splice(i,1),this.objects.splice(i,1),n instanceof T.RAPIER_PHYSICS.MODULE.Collider){const s=n;this.world?.removeCollider(s,!0);const r=s.parent();r&&r.numColliders()<=0&&(r[Oi]||this.world?.removeRigidBody(r))}else n instanceof T.RAPIER_PHYSICS.MODULE.RigidBody&&(n.numColliders()<=0?this.world?.removeRigidBody(n):A()&&(n.did_log_removing||setTimeout(()=>{n.numColliders()>0&&(n.did_log_removing=!0,console.warn("RapierPhysics: removing rigidbody with colliders from the physics world is not possible right now, please remove the colliders first"))},1)))}}}setColliderEnabled(e,t){const i=e[jt];return i?(i.setEnabled(t),Ne&&console.log("SET COLLIDER ENABLED",e.name,t),!0):!1}updateBody(e,t,i){if(this.validate(),!!this.enabled&&!(e.destroyed||!e.gameObject)&&!(!t&&!i))if(e.isCollider===!0)console.warn("TODO: implement updating collider position");else{const n=e,s=n[jt];s&&this.syncPhysicsBody(n.gameObject,s,t,i)}}updateProperties(e){if(this.validate(),e.isCollider){const t=e,i=t[jt];i&&(this.internalUpdateColliderProperties(t,i),t.sharedMaterial&&this.updatePhysicsMaterial(t))}else{const t=e,i=this.internal_getRigidbody(t);i&&this.internalUpdateRigidbodyProperties(t,i)}}addForce(e,t,i){this.validate();const n=this.internal_getRigidbody(e);n?n.addForce(t,i):this._isInitialized&&console.warn("Physics Body doesn't exist: can not apply force (does your object with the Rigidbody have a collider?)")}addImpulse(e,t,i){this.validate();const n=this.internal_getRigidbody(e);n?n.applyImpulse(t,i):this._isInitialized&&console.warn("Physics Body doesn't exist: can not apply impulse (does your object with the Rigidbody have a collider?)")}getLinearVelocity(e){this.validate();const t=this.internal_getRigidbody(e);return t?t.linvel():null}getAngularVelocity(e){this.validate();const t=this.internal_getRigidbody(e);return t?t.angvel():null}resetForces(e,t){this.validate(),this.internal_getRigidbody(e)?.resetForces(t)}resetTorques(e,t){this.validate(),this.internal_getRigidbody(e)?.resetTorques(t)}applyImpulse(e,t,i){this.validate();const n=this.internal_getRigidbody(e);n?n.applyImpulse(t,i):this._isInitialized&&console.warn("Rigidbody doesn't exist: can not apply impulse (does your object with the Rigidbody have a collider?)")}wakeup(e){this.validate();const t=this.internal_getRigidbody(e);t?t.wakeUp():this._isInitialized&&console.warn("Rigidbody doesn't exist: can not wake up (does your object with the Rigidbody have a collider?)")}isSleeping(e){return this.validate(),this.internal_getRigidbody(e)?.isSleeping()}setAngularVelocity(e,t,i){this.validate();const n=this.internal_getRigidbody(e);n?n.setAngvel(t,i):this._isInitialized&&console.warn("Rigidbody doesn't exist: can not set angular velocity (does your object with the Rigidbody have a collider?)")}setLinearVelocity(e,t,i){this.validate();const n=this.internal_getRigidbody(e);n?n.setLinvel(t,i):this._isInitialized&&console.warn("Rigidbody doesn't exist: can not set linear velocity (does your object with the Rigidbody have a collider?)")}context;_initializePromise;_isInitialized=!1;constructor(e){this.context=e}get isInitialized(){return this._isInitialized}async initialize(){return this._initializePromise||(this._initializePromise=this.internalInitialization()),this._initializePromise}async internalInitialization(){return w("__nophysics")?(console.warn("Physics are disabled"),!1):(Ne&&console.log("Initialize rapier physics engine"),this._hasCreatedWorld?(console.error("Invalid call to create physics world: world is already created"),!0):(this._hasCreatedWorld=!0,T.RAPIER_PHYSICS.MAYBEMODULE==null&&(Ne&&console.trace("Loading rapier physics engine"),await(await T.RAPIER_PHYSICS.load()).init()),Ne&&console.log("Physics engine initialized, creating world..."),this._world=new T.RAPIER_PHYSICS.MODULE.World(this._gravity),this.rapierRay=new T.RAPIER_PHYSICS.MODULE.Ray({x:0,y:0,z:0},{x:0,y:0,z:1}),this.enabled=!0,this._isInitialized=!0,Ne&&console.log("Physics world created"),!0))}validate(){this._isInitialized||Ne&&(this._lastWarnTime=this._lastWarnTime??0,Date.now()-this._lastWarnTime>1e3&&(this._lastWarnTime=Date.now(),console.warn("Physics engine is not initialized")))}rapierRay;raycastVectorsBuffer=new Ii(()=>new b,10);raycast(e,t,i){if(!this._isInitialized)return console.log("Physics engine is not initialized"),null;let n=i?.maxDistance,s=i?.solid;n===void 0&&(n=1/0),s===void 0&&(s=!0);const r=this.getPhysicsRay(this.rapierRay,e,t);if(!r)return null;(this.debugRenderRaycasts||Sm)&&B.DrawRay(r.origin,r.dir,255,1);const a=this.world?.castRay(r,n,s,i?.queryFilterFlags,i?.filterGroups,void 0,void 0,l=>{const c=l[Oi];return i?.filterPredicate?i.filterPredicate(c):i?.useIgnoreRaycastLayer!==!1?!c?.gameObject.layers.isEnabled(2):!0});if(a){const l=r.pointAt(a.timeOfImpact),c=this.raycastVectorsBuffer.get();return c.set(l.x,l.y,l.z),{point:c,collider:a.collider[Oi]}}return null}raycastAndGetNormal(e,t,i){if(!this._isInitialized)return null;let n=i?.maxDistance,s=i?.solid;n===void 0&&(n=1/0),s===void 0&&(s=!0);const r=this.getPhysicsRay(this.rapierRay,e,t);if(!r)return null;(this.debugRenderRaycasts||Sm)&&B.DrawRay(r.origin,r.dir,255,1);const a=this.world?.castRayAndGetNormal(r,n,s,i?.queryFilterFlags,i?.filterGroups,void 0,void 0,l=>{const c=l[Oi];return i?.filterPredicate?i.filterPredicate(c):i?.useIgnoreRaycastLayer!==!1?!c?.gameObject.layers.isEnabled(2):!0});if(a){const l=r.pointAt(a.timeOfImpact),c=a.normal,h=this.raycastVectorsBuffer.get(),d=this.raycastVectorsBuffer.get();return h.set(l.x,l.y,l.z),d.set(c.x,c.y,c.z),{point:h,normal:d,collider:a.collider[Oi]}}return null}getPhysicsRay(e,t,i){const n=this.context?.mainCamera;if(t===void 0){const a=this.context?.input.getPointerPosition(0);if(a)t=a;else return null}if(t.z===void 0){if(!n)return console.error("Can not perform raycast from 2d point - no main camera found"),null;const a=this.raycastVectorsBuffer.get();a.x=t.x,a.y=t.y,a.z=0,(a.x>1||a.y>1||a.y<-1||a.x<-1)&&(Ne&&console.warn("Converting screenspace to raycast space",a),this.context?.input.convertScreenspaceToRaycastSpace(a)),a.unproject(n),t=a}const s=t;e.origin.x=s.x,e.origin.y=s.y,e.origin.z=s.z;const r=this.raycastVectorsBuffer.get();if(i)r.set(i.x,i.y,i.z);else{if(!n)return console.error("Can not perform raycast - no camera found"),null;r.set(e.origin.x,e.origin.y,e.origin.z);const a=ee(n);r.sub(a)}return r.normalize(),e.dir.x=r.x,e.dir.y=r.y,e.dir.z=r.z,e}rapierSphere=null;rapierBox=null;rapierColliderArray=[];rapierIdentityRotation={x:0,y:0,z:0,w:1};rapierForwardVector={x:0,y:0,z:1};sphereOverlap(e,t){return this.rapierSphere??=new T.RAPIER_PHYSICS.MODULE.Ball(t),this.rapierSphere.radius=t,(this.debugRenderRaycasts||Sm)&&B.DrawWireSphere(e,t,3359999,1),this.shapeOverlap(e,this.rapierIdentityRotation,this.rapierSphere)}boxOverlap(e,t,i=null){return i===null&&(i=this.rapierIdentityRotation),this.rapierBox??=new T.RAPIER_PHYSICS.MODULE.Cuboid(1,1,1),this.rapierBox.halfExtents.x=t.x*.5,this.rapierBox.halfExtents.y=t.y*.5,this.rapierBox.halfExtents.z=t.z*.5,(this.debugRenderRaycasts||Sm)&&B.DrawWireBox(e,t,3359999,1,!0,i),this.shapeOverlap(e,i,this.rapierBox)}shapeOverlap(e,t,i){return this.rapierColliderArray.length=0,this._isInitialized?this.world?(this.world.intersectionsWithShape(e,t,i,n=>{const s=n[Oi],r=new ov(s.gameObject,s);return this.rapierColliderArray.push(r),!0},void 0,void 0,void 0,void 0,n=>n.isSensor()?!1:n[Oi].gameObject.layers.isEnabled(2)==!1),this.rapierColliderArray):this.rapierColliderArray:this.rapierColliderArray}enabled=!1;get world(){return this._world}_tempPosition=new b;_tempQuaternion=new N;_tempScale=new b;_tempMatrix=new J;static _didLoadPhysicsEngine=!1;_isUpdatingPhysicsWorld=!1;get isUpdating(){return this._isUpdatingPhysicsWorld}_world;_hasCreatedWorld=!1;eventQueue;collisionHandler;objects=[];bodies=[];_meshCache=new Map;_gravity={x:0,y:-9.81,z:0};get gravity(){return this.world?.gravity??this._gravity}set gravity(e){this.world?this.world.gravity=e:this._gravity=e}clearCaches(){this._meshCache.clear(),this.eventQueue?.raw&&this.eventQueue?.free(),this.world?.bodies&&this.world?.free()}async addBoxCollider(e,t){if(this._isInitialized||await this.initialize(),!e.activeAndEnabled)return;if(!this.enabled){Ne&&console.warn("Physics are disabled");return}const i=e.gameObject,n=Ge(i,this._tempPosition).multiply(t);n.multiplyScalar(.5),n.x<0&&(n.x=Math.abs(n.x)),n.y<0&&(n.y=Math.abs(n.y)),n.z<0&&(n.z=Math.abs(n.z));const s=1e-7;n.x<s&&(n.x=s),n.y<s&&(n.y=s),n.z<s&&(n.z=s);const r=T.RAPIER_PHYSICS.MODULE.ColliderDesc.cuboid(n.x,n.y,n.z);this.createCollider(e,r)}async addSphereCollider(e){if(this._isInitialized||await this.initialize(),!e.activeAndEnabled)return;if(!this.enabled){Ne&&console.warn("Physics are disabled");return}const t=T.RAPIER_PHYSICS.MODULE.ColliderDesc.ball(.5);this.createCollider(e,t),this.updateProperties(e)}async addCapsuleCollider(e,t,i){if(this._isInitialized||await this.initialize(),!e.activeAndEnabled)return;if(!this.enabled){Ne&&console.warn("Physics are disabled");return}const n=e.gameObject.worldScale;n.x=Math.abs(n.x),n.y=Math.abs(n.y);const s=i*n.x;t=Math.max(t,s);const r=D.clamp(t*.5*n.y-i*n.x,0,Number.MAX_SAFE_INTEGER),a=T.RAPIER_PHYSICS.MODULE.ColliderDesc.capsule(r,s);this.createCollider(e,a)}async addMeshCollider(e,t,i,n){let s=t.geometry;if(!s){Ne&&console.warn("Missing mesh geometry",t.name);return}s.index?.array?.length||(console.warn(`Your MeshCollider is missing vertices or indices in the assined mesh "${t.name}". Consider providing an indexed geometry.`),s=QP(s));let r=null;const a=s.getAttribute("position");if(a instanceof Lb){const d=a.count;r=new Float32Array(d*3);for(let p=0;p<d;p++){const m=a.getX(p),f=a.getY(p),g=a.getZ(p);r[p*3]=m,r[p*3+1]=f,r[p*3+2]=g}}else r=a.array;if(await this.initialize(),!this.enabled){Ne&&console.warn("Physics are disabled");return}if(!e.activeAndEnabled)return;const l=s.index?.array,c=e.gameObject.worldScale.clone();if(n&&c.multiply(n),Math.abs(c.x-1)>1e-4||Math.abs(c.y-1)>1e-4||Math.abs(c.z-1)>1e-4){const d=`${s.uuid}_${c.x}_${c.y}_${c.z}_${i}`;if(this._meshCache.has(d))Ne&&console.warn("Use cached mesh collider"),r=this._meshCache.get(d);else{(Ne||A())&&console.debug(`[Performance] Your MeshCollider "${e.name}" is scaled: consider applying the scale to the collider mesh instead (${c.x}, ${c.y}, ${c.z})`);const p=new Float32Array(r.length);for(let m=0;m<r.length;m+=3)p[m]=r[m]*c.x,p[m+1]=r[m+1]*c.y,p[m+2]=r[m+2]*c.z;r=p,this._meshCache.set(d,p)}}const h=i?T.RAPIER_PHYSICS.MODULE.ColliderDesc.convexHull(r):T.RAPIER_PHYSICS.MODULE.ColliderDesc.trimesh(r,l);h&&this.createCollider(e,h)}updatePhysicsMaterial(e){if(!e)return;const t=e.sharedMaterial,i=e[jt];if(i&&t){if(t.bounciness!==void 0&&i.setRestitution(t.bounciness),t.bounceCombine!==void 0)switch(t.bounceCombine){case wt.Average:i.setRestitutionCombineRule(T.RAPIER_PHYSICS.MODULE.CoefficientCombineRule.Average);break;case wt.Maximum:i.setRestitutionCombineRule(T.RAPIER_PHYSICS.MODULE.CoefficientCombineRule.Max);break;case wt.Minimum:i.setRestitutionCombineRule(T.RAPIER_PHYSICS.MODULE.CoefficientCombineRule.Min);break;case wt.Multiply:i.setRestitutionCombineRule(T.RAPIER_PHYSICS.MODULE.CoefficientCombineRule.Multiply);break}if(t.dynamicFriction!==void 0&&i.setFriction(t.dynamicFriction),t.frictionCombine!==void 0)switch(t.frictionCombine){case wt.Average:i.setFrictionCombineRule(T.RAPIER_PHYSICS.MODULE.CoefficientCombineRule.Average);break;case wt.Maximum:i.setFrictionCombineRule(T.RAPIER_PHYSICS.MODULE.CoefficientCombineRule.Max);break;case wt.Minimum:i.setFrictionCombineRule(T.RAPIER_PHYSICS.MODULE.CoefficientCombineRule.Min);break;case wt.Multiply:i.setFrictionCombineRule(T.RAPIER_PHYSICS.MODULE.CoefficientCombineRule.Multiply);break}}}getBody(e){return e?e[jt]:null}getComponent(e){return e?e[Oi]:null}createCollider(e,t){if(!this.world)throw new Error("Physics world not initialized");const i=this._tempMatrix;let n;e.attachedRigidbody?n=this.getRigidbody(e,this._tempMatrix):(Ne&&console.log("Create collider without rigidbody",e.name),i.makeRotationFromQuaternion(_e(e.gameObject)),i.setPosition(ee(e.gameObject))),i.decompose(this._tempPosition,this._tempQuaternion,this._tempScale),this.tryApplyCenter(e,this._tempPosition),t.setTranslation(this._tempPosition.x,this._tempPosition.y,this._tempPosition.z),t.setRotation(this._tempQuaternion),t.setSensor(e.isTrigger);const s=e.sharedMaterial;if(s){if(s.bounciness!==void 0&&t.setRestitution(s.bounciness),s.bounceCombine!==void 0)switch(s.bounceCombine){case wt.Average:t.setRestitutionCombineRule(T.RAPIER_PHYSICS.MODULE.CoefficientCombineRule.Average);break;case wt.Maximum:t.setRestitutionCombineRule(T.RAPIER_PHYSICS.MODULE.CoefficientCombineRule.Max);break;case wt.Minimum:t.setRestitutionCombineRule(T.RAPIER_PHYSICS.MODULE.CoefficientCombineRule.Min);break;case wt.Multiply:t.setRestitutionCombineRule(T.RAPIER_PHYSICS.MODULE.CoefficientCombineRule.Multiply);break}if(s.dynamicFriction!==void 0&&t.setFriction(s.dynamicFriction),s.frictionCombine!==void 0)switch(s.frictionCombine){case wt.Average:t.setFrictionCombineRule(T.RAPIER_PHYSICS.MODULE.CoefficientCombineRule.Average);break;case wt.Maximum:t.setFrictionCombineRule(T.RAPIER_PHYSICS.MODULE.CoefficientCombineRule.Max);break;case wt.Minimum:t.setFrictionCombineRule(T.RAPIER_PHYSICS.MODULE.CoefficientCombineRule.Min);break;case wt.Multiply:t.setFrictionCombineRule(T.RAPIER_PHYSICS.MODULE.CoefficientCombineRule.Multiply);break}}e.attachedRigidbody?.autoMass===!1&&(t.setDensity(1e-6),t.setMass(1e-6));try{const r=this.world.createCollider(t,n);return r[Oi]=e,e[jt]=r,r.setActiveEvents(T.RAPIER_PHYSICS.MODULE.ActiveEvents.COLLISION_EVENTS),r.setActiveCollisionTypes(T.RAPIER_PHYSICS.MODULE.ActiveCollisionTypes.ALL),this.objects.push(e),this.bodies.push(r),this.updateColliderCollisionGroups(e),Ne&&console.log("Created collider",e.name,r),r}catch(r){return console.error('Error creating collider "'+e.name+`"
1731
- Error:`,r),null}}updateColliderCollisionGroups(e){const t=e[jt],i=e.membership;let n=0;if(i==null)n=65535;else for(let a=0;a<i.length;a++){const l=i[a];l>31?console.error(`Rapier only supports 32 layers, layer ${l} is not supported`):n|=1<<Math.floor(l)}const s=e.filter;let r=0;if(s==null)r=65535;else for(let a=0;a<s.length;a++){const l=s[a];l>31?console.error(`Rapier only supports 32 layers, layer ${l} is not supported`):r|=1<<Math.floor(l)}t.setCollisionGroups(n<<16|r)}getRigidbody(e,t){if(!this.world)throw new Error("Physics world not initialized");let i=null;if(e.attachedRigidbody){const n=e.attachedRigidbody;if(i=n[jt],!i){const s=n.isKinematic&&!yb;Ne&&console.log("Create rigidbody",s);const r=s?T.RAPIER_PHYSICS.MODULE.RigidBodyDesc.kinematicPositionBased():T.RAPIER_PHYSICS.MODULE.RigidBodyDesc.dynamic(),a=ee(e.attachedRigidbody.gameObject);r.setTranslation(a.x,a.y,a.z),r.setRotation(_e(e.attachedRigidbody.gameObject)),r.centerOfMass=new T.RAPIER_PHYSICS.MODULE.Vector3(n.centerOfMass.x,n.centerOfMass.y,n.centerOfMass.z),i=this.world.createRigidBody(r),this.bodies.push(i),this.objects.push(n)}i[Oi]=n,n[jt]=i,this.internalUpdateRigidbodyProperties(n,i),this.getRigidbodyRelativeMatrix(e.gameObject,n.gameObject,t),e[QS]=i}else{const n=T.RAPIER_PHYSICS.MODULE.RigidBodyDesc.kinematicPositionBased(),s=ee(e.gameObject);n.setTranslation(s.x,s.y,s.z),n.setRotation(_e(e.gameObject)),i=this.world.createRigidBody(n),t.identity(),i[Oi]=null}return i}internal_getRigidbody(e){return e.isCollider===!0?e[QS]:e[jt]}internalUpdateColliderProperties(e,t){const i=t.shape;let n=!1;switch(i.type){case T.RAPIER_PHYSICS.MODULE.ShapeType.Ball:{const p=i,m=e,f=e.gameObject,g=Ge(f,this._tempPosition),y=Math.abs(m.radius*g.x);n=p.radius!==y,p.radius=y,n&&t.setShape(p);break}case T.RAPIER_PHYSICS.MODULE.ShapeType.Cuboid:const s=i,r=e,a=e.gameObject,l=Ge(a,this._tempPosition),c=Math.abs(r.size.x*.5*l.x),h=Math.abs(r.size.y*.5*l.y),d=Math.abs(r.size.z*.5*l.z);n=s.halfExtents.x!==c||s.halfExtents.y!==h||s.halfExtents.z!==d,s.halfExtents.x=c,s.halfExtents.y=h,s.halfExtents.z=d,n&&t.setShape(s);break}if(n){const s=e.attachedRigidbody;s?.autoMass&&this.getBody(s)?.recomputeMassPropertiesFromColliders()}this.updateColliderCollisionGroups(e),e.isTrigger!==t.isSensor()&&t.setSensor(e.isTrigger)}internalUpdateRigidbodyProperties(e,t){if(t.enableCcd(e.collisionDetectionMode!==Gu.Discrete),t.setLinearDamping(e.drag),t.setAngularDamping(e.angularDrag),t.setGravityScale(e.useGravity?e.gravityScale:0,!0),e.dominanceGroup<=127&&e.dominanceGroup>=-127?t.setDominanceGroup(Math.floor(e.dominanceGroup)):t.setDominanceGroup(0),e.autoMass){t.setAdditionalMass(0,!1);for(let i=0;i<t.numColliders();i++)t.collider(i).setDensity(1);t.recomputeMassPropertiesFromColliders()}else{t.setAdditionalMass(e.mass,!1);for(let i=0;i<t.numColliders();i++)t.collider(i).setDensity(1e-7);t.recomputeMassPropertiesFromColliders()}t.setEnabledRotations(!e.lockRotationX,!e.lockRotationY,!e.lockRotationZ,!1),t.setEnabledTranslations(!e.lockPositionX,!e.lockPositionY,!e.lockPositionZ,!1),e.isKinematic?t.setBodyType(T.RAPIER_PHYSICS.MODULE.RigidBodyType.KinematicPositionBased,!1):t.setBodyType(T.RAPIER_PHYSICS.MODULE.RigidBodyType.Dynamic,!1)}lines;disabledLines;step(e){if(this.world&&this.enabled){if(this._isUpdatingPhysicsWorld=!0,this.eventQueue||(this.eventQueue=new T.RAPIER_PHYSICS.MODULE.EventQueue(!1)),e===void 0||e<=0){this._isUpdatingPhysicsWorld=!1;return}else if(e!==void 0){const t=D.lerp(this.world.timestep,e,.8);this.world.timestep=t}try{this.world.step(this.eventQueue)}catch(t){console.warn("Error running physics step",{timestep:this.world.timestep},t)}this._isUpdatingPhysicsWorld=!1}}postStep(){this.world&&this.enabled&&(this._isUpdatingPhysicsWorld=!0,this.syncObjects(),this._isUpdatingPhysicsWorld=!1,this.eventQueue&&!this.collisionHandler&&(this.collisionHandler=new Dj(this.world,this.eventQueue)),this.collisionHandler&&(this.collisionHandler.handleCollisionEvents(),this.collisionHandler.update()),this.updateDebugRendering(this.world))}updateDebugRendering(e){if(Ne||yb||jj||this.debugRenderColliders===!0){if(!this.lines){const n=new Bd({color:7855479,fog:!1}),s=new Yi;this.lines=new Fm(s,n),this.lines.layers.disableAll(),this.lines.layers.enable(2)}if(!this.disabledLines){const n=new Bd({color:14514039,fog:!1}),s=new Yi;this.disabledLines=new Fm(s,n),this.disabledLines.layers.disableAll(),this.disabledLines.layers.enable(2)}this.lines.parent!==this.context?.scene&&this.context?.scene.add(this.lines),this.disabledLines.parent!==this.context?.scene&&this.context?.scene.add(this.disabledLines);const t=e.debugRender(void 0,n=>n.isEnabled());this.lines.geometry.setAttribute("position",new tt(t.vertices,3)),this.lines.geometry.setAttribute("color",new tt(t.colors,4));const i=e.debugRender(void 0,n=>!n.isEnabled());this.disabledLines.geometry.setAttribute("position",new tt(i.vertices,3)),this.disabledLines.geometry.setAttribute("color",new tt(i.colors,4)),this.disabledLines.visible=i.vertices.length>0,(this.context.time.frame%30===0||this.lines.geometry.boundingSphere?.radius===0)&&(this.lines.geometry.computeBoundingSphere(),this.disabledLines.geometry.computeBoundingSphere())}else this.lines&&this.context?.scene.remove(this.lines),this.disabledLines&&this.context?.scene.remove(this.disabledLines)}syncObjects(){if(!yb)for(let e=0;e<this.bodies.length;e++){const t=this.objects[e],i=this.bodies[e],n=t;if(n?.isCollider===!0&&!n.attachedRigidbody){const l=i.parent();l?this.syncPhysicsBody(t.gameObject,l,!0,!0):this.syncPhysicsBody(t.gameObject,i,!0,!0);continue}const s=i.translation(),r=i.rotation();if(Number.isNaN(s.x)||Number.isNaN(r.x)){!n.__COLLIDER_NAN&&A()&&(console.warn("Collider has NaN values",n.name,n.gameObject,i),n.__COLLIDER_NAN=!0);continue}const a=t.center;if(a&&a.isVector3){this._tempQuaternion.set(r.x,r.y,r.z,r.w);const l=this._tempPosition.copy(a).applyQuaternion(this._tempQuaternion),c=Ge(t.gameObject);l.multiply(c),s.x-=l.x,s.y-=l.y,s.z-=l.z}Or(t.gameObject,s.x,s.y,s.z),bg(t.gameObject,r.x,r.y,r.z,r.w)}}syncPhysicsBody(e,t,i,n){if(t instanceof T.RAPIER_PHYSICS.MODULE.RigidBody){const s=ee(e,this._tempPosition),r=_e(e,this._tempQuaternion);switch(t.bodyType()){case T.RAPIER_PHYSICS.MODULE.RigidBodyType.Fixed:case T.RAPIER_PHYSICS.MODULE.RigidBodyType.KinematicPositionBased:case T.RAPIER_PHYSICS.MODULE.RigidBodyType.KinematicVelocityBased:i&&t.setNextKinematicTranslation(s),n&&t.setNextKinematicRotation(r);break;default:i&&t.setTranslation(s,!1),n&&t.setRotation(r,!1);break}}else if(t instanceof T.RAPIER_PHYSICS.MODULE.Collider){e.matrixWorldNeedsUpdate&&e.updateWorldMatrix(!0,!1),e.matrixWorld.decompose(this._tempPosition,this._tempQuaternion,this._tempScale);const s=this._tempPosition,r=this._tempQuaternion,a=t[Oi];if(this.tryApplyCenter(a,s),i){const l=t.translation();(l.x!==s.x||l.y!==s.y||l.z!==s.z)&&t.setTranslation(s)}if(n){const l=t.rotation();(l.x!==r.x||l.y!==r.y||l.z!==r.z||l.w!==r.w)&&t.setRotation(r)}}}_tempCenterPos=new b;_tempCenterVec=new b;_tempCenterQuaternion=new N;tryApplyCenter(e,t){const i=e.center;i&&e.gameObject&&(i.x!==0||i.y!==0||i.z!==0)&&(this._tempCenterPos.x=i.x,this._tempCenterPos.y=i.y,this._tempCenterPos.z=i.z,Ge(e.gameObject,this._tempCenterVec),this._tempCenterPos.multiply(this._tempCenterVec),e.attachedRigidbody?this._tempCenterPos.applyQuaternion(e.gameObject.quaternion):(_e(e.gameObject,this._tempCenterQuaternion),this._tempCenterPos.applyQuaternion(this._tempCenterQuaternion)),t.x+=this._tempCenterPos.x,t.y+=this._tempCenterPos.y,t.z+=this._tempCenterPos.z)}static _matricesBuffer=[];getRigidbodyRelativeMatrix(e,t,i,n){if(n===void 0&&(n=dc._matricesBuffer,n.length=0),e===t){const s=Ge(e,this._tempPosition);i.makeScale(s.x,s.y,s.z);for(let r=n.length-1;r>=0;r--)i.multiply(n[r]);return i}return n.push(e.matrix),e.parent&&this.getRigidbodyRelativeMatrix(e.parent,t,i,n),i}static centerConnectionPos={x:0,y:0,z:0};static centerConnectionRot={x:0,y:0,z:0,w:1};addFixedJoint(e,t){if(!this.world){console.error("Physics world not initialized");return}const i=e[jt],n=t[jt];this.calculateJointRelativeMatrices(e.gameObject,t.gameObject,this._tempMatrix),this._tempMatrix.decompose(this._tempPosition,this._tempQuaternion,this._tempScale);const s=T.RAPIER_PHYSICS.MODULE.JointData.fixed(dc.centerConnectionPos,dc.centerConnectionRot,this._tempPosition,this._tempQuaternion),r=this.world.createImpulseJoint(s,i,n,!0);Ne&&console.log("ADD FIXED JOINT",r)}addHingeJoint(e,t,i,n){if(!this.world){console.error("Physics world not initialized");return}const s=e[jt],r=t[jt];this.calculateJointRelativeMatrices(e.gameObject,t.gameObject,this._tempMatrix),this._tempMatrix.decompose(this._tempPosition,this._tempQuaternion,this._tempScale);const a=T.RAPIER_PHYSICS.MODULE.JointData.revolute(i,this._tempPosition,n),l=this.world.createImpulseJoint(a,s,r,!0);Ne&&console.log("ADD HINGE JOINT",l)}calculateJointRelativeMatrices(e,t,i){e.updateWorldMatrix(!0,!1),t.updateWorldMatrix(!0,!1);const n=e.matrixWorld,s=t.matrixWorld;n.elements[0]=1,n.elements[5]=1,n.elements[10]=1,s.elements[0]=1,s.elements[5]=1,s.elements[10]=1,i.copy(s).premultiply(n.invert()).invert()}}class Dj{world;eventQueue;constructor(e,t){this.world=e,this.eventQueue=t}activeCollisions=[];activeCollisionsStay=[];activeTriggers=[];handleCollisionEvents(){this.eventQueue&&this.world&&this.eventQueue.drainCollisionEvents((e,t,i)=>{const n=this.world.getCollider(e),s=this.world.getCollider(t);if(!n||!s)return;const r=n[Oi],a=s[Oi];bb&&console.log("EVT",r.name,a.name,i,n,s),r&&a&&(i?(this.onCollisionStarted(r,n,a,s),this.onCollisionStarted(a,s,r,n)):(this.onCollisionEnded(r,a),this.onCollisionEnded(a,r)))})}update(){this.onHandleCollisionStay()}onCollisionStarted(e,t,i,n){let s=null;if(e.isTrigger||i.isTrigger)Wr(e.gameObject,r=>{r.onTriggerEnter&&!r.destroyed&&r.onTriggerEnter(i),this.activeTriggers.push({collider:e,component:r,otherCollider:i})});else{const r=e.gameObject;this.world.contactPair(t,n,(a,l)=>{Wr(r,c=>{if(c.destroyed)return;const h=c.onCollisionEnter||c.onCollisionStay||c.onCollisionExit;if(h||bb){if(!s){const d=[],p=a.normal();i instanceof Ns&&i.convex&&(p.x=-p.x,p.y=-p.y,p.z=-p.z);for(let m=0;m<a.numSolverContacts();m++){const f=a.solverContactPoint(m),g=a.contactImpulse(m);if(f){const y=a.contactDist(m),_=a.solverContactFriction(m),v=a.solverContactTangentVelocity(m),P=new iv(f,y,p,g,_,v);d.push(P),bb&&B.DrawDirection(f,p,16711680,3,!0)}}s=new nv(r,i,d)}if(h){const d={collider:e,component:c,collision:s};this.activeCollisions.push(d),c.onCollisionStay&&this.activeCollisionsStay.push(d),c.onCollisionEnter?.call(c,s)}}})})}}onHandleCollisionStay(){for(const e of this.activeCollisionsStay){const t=e.component;if(!t.destroyed&&t.activeAndEnabled&&t.onCollisionStay){if(e.collision.collider.destroyed)continue;const i=e.collision;t.onCollisionStay(i)}}for(const e of this.activeTriggers){const t=e.component;if(!t.destroyed&&t.activeAndEnabled&&t.onTriggerStay){const i=e.otherCollider;if(i.destroyed)continue;t.onTriggerStay(i)}}}onCollisionEnded(e,t){if(!(e.destroyed||t.destroyed)){for(let i=0;i<this.activeCollisions.length;i++){const n=this.activeCollisions[i],s=n.collider;if(s.destroyed||n.collision.collider.destroyed){this.activeCollisions.splice(i,1),i--;continue}if(s===e&&n.collision.collider===t){const r=n.component;if(this.activeCollisions.splice(i,1),i--,r.activeAndEnabled&&r.onCollisionExit){const a=n.collision;r.onCollisionExit(a)}}}for(let i=0;i<this.activeCollisionsStay.length;i++){const n=this.activeCollisionsStay[i],s=n.collider;if(s.destroyed||n.collision.collider.destroyed){this.activeCollisionsStay.splice(i,1),i--;continue}if(s===e&&n.collision.collider===t){const r=n.component;if(this.activeCollisionsStay.splice(i,1),i--,r.activeAndEnabled&&r.onCollisionExit){const a=n.collision;r.onCollisionExit(a)}}}for(let i=0;i<this.activeTriggers.length;i++){const n=this.activeTriggers[i],s=n.collider;if(s.destroyed||n.otherCollider.destroyed){this.activeTriggers.splice(i,1),i--;continue}if(s===e&&n.otherCollider===t){const r=n.component;if(this.activeTriggers.splice(i,1),i--,r.activeAndEnabled&&r.onTriggerExit){const a=n.otherCollider;r.onTriggerExit(a)}}}}}}let _b=0;function YS(o){o?_b++:_b--}function Bj(){return _b>0}const Fj={binary:!0,animations:!0};async function Uj(o){if(!o.context)throw new Error("No context provided to exportAsGLTF");o.scene||(o.scene=o.context.scene);const e={...Fj,...o},{context:t}=e,i=new Xb;i.register(a=>new g1(a)),i.register(a=>new OA(a)),i.register(a=>new y1(a)),Oy(i,e.context);const n={binary:e.binary,animations:Nj(t,e.scene,[])},s=new zj;console.debug("Exporting GLTF",n),s.onBeforeExport(e),YS(!0);const r=await i.parseAsync(e.scene,n).catch(a=>(console.error(a),null));if(YS(!1),s.onAfterExport(e),!r)throw new Error("Failed to export GLTF");if(e.downloadAs!=null){let a=null;if(r instanceof ArrayBuffer?a=new Blob([r],{type:"application/octet-stream"}):console.error("Can not download GLTF as a blob",r),a){const l=URL.createObjectURL(a),c=document.createElement("a");c.href=l;let h=e.downloadAs;!h.endsWith(".glb")&&!h.endsWith(".gltf")&&(h+=e.binary?".glb":".gltf"),c.download=h,c.click()}}return r}const ZS=Symbol("needle:weight");class zj{_undo=[];onBeforeExport(e){e.context.animations.mixers.forEach(t=>{const i=Kn.tryGetActionsFromMixer(t);if(i)for(let n=0;n<i.length;n++){const s=i[n];s[ZS]=s.weight,s.weight=0,this._undo.push(()=>{s.weight=s[ZS]})}t.update(0)}),e.context.scene.traverse(t=>{if(!Iy(t)){const i=t.parent;i&&(t.removeFromParent(),this._undo.push(()=>i.add(t)))}})}onAfterExport(e){this._undo.forEach(t=>t()),this._undo.length=0}}function Nj(o,e,t){o.animations.mixers.forEach(n=>{const s=Kn.tryGetActionsFromMixer(n);if(s)for(let r=0;r<s.length;r++){const a=s[r].getClip();t.push(a)}}),Array.isArray(e)||(e=[e]);for(const n of e)Kn.tryGetAnimationClipsFromObjectHierarchy(n,t);const i=new Set(t);return Array.from(i)}const yd=w("debugavatar");class vb{root;head;leftHand;rigthHand;get isValid(){return this.head!==null&&this.head!==void 0}constructor(e,t,i,n){this.root=e,this.head=t,this.leftHand=i,this.rigthHand=n,this.root?.traverse(s=>s.layers.set(2))}}class KS{avatarRegistryUrl=null;async getOrCreateNewAvatarInstance(e,t){if(!t)return console.error("Can not create avatar: failed to provide id or root object"),null;let i=null;if(typeof t=="string"){if(i=await this.loadAvatar(e,t),!i){const s=new Gn;i=S.instantiate(za(t,e.scene),s)}}else i=t;if(!i)return null;const n=this.findAvatar(i);return n.isValid?(yd&&console.log("[Custom Avatar] valid config",t,yd?n:""),n):(console.warn("[Custom Avatar] config isn't valid",t,yd?n:""),null)}async loadAvatar(e,t){if(console.assert(t!=null&&typeof t=="string","Avatar id must not be null"),t.length<=0||!t)return null;if(yd&&console.log("[Custom Avatar] "+t+", loading..."),t.endsWith(".glb")||(t+=".glb"),this.avatarRegistryUrl===null){const n=await fetch("./"+t);let s=null;if(n.ok){const r=await n.blob();r&&(s=await r.arrayBuffer())}return s?(await kn().parseSync(e,s,null,0))?.scene??null:null}const i=new Do;return n0(i,e),new Promise((n,s)=>{const r=this.avatarRegistryUrl+"/"+t;i.load(r,async a=>{await kn().createBuiltinComponents(e,r,a,null,void 0),n(a.scene)},a=>{yd&&console.log("[Custom Avatar] "+a.loaded/a.total*100+"% loaded of "+a.total/1024+"kB")},a=>{console.error("[Custom Avatar] Error when loading: "+a),n(null)})})}cacheModel(e,t){}findAvatar(e){const t=e;let i=t;i.children.length==1&&(i=e.children[0]);let n=this.findAvatarPart(i,["head"]);const s=this.findAvatarPart(i,["left","hand"]),r=this.findAvatarPart(i,["right","hand"]);if(!n){n=t;const a=new b;new Nt().setFromObject(n).getSize(a);const l=Math.max(a.x,a.y,a.z);console.warn("[Custom Avatar] Normalizing head scale, it's too big: "+l+" meters! Should be < 0.3m"),l>.3&&n.scale.multiplyScalar(1/l*.3)}return new vb(t,n,s,r)}findAvatarPart(e,t){const i=e.name.toLowerCase();let n=!0;for(const s of t){if(!n)break;i.indexOf(s)===-1&&(n=!1)}if(n)return e;if(e.children)for(const s of e.children){const r=this.findAvatarPart(s,t);if(r)return r}return null}handleCustomAvatarErrors(e){if(!e.ok)throw Error(e.statusText);return e}}class JS{get extensionName(){return"DocumentExtension"}onAfterBuildDocument(e){}}class eC{}const Wj=Object.freeze(Object.defineProperty({__proto__:null,ActionBuilder:fe,ActionCollection:z1,ActionModel:ki,AlignmentConstraint:uh,Animation:Vt,AnimationCurve:jh,AnimationExtension:Ap,AnimationTrackHandler:ah,Animator:vt,AnimatorController:bn,Antialiasing:zh,Attractor:Gl,AudioExtension:Ma,AudioListener:Go,AudioSource:Ui,AudioTrackHandler:_s,Avatar:Gs,AvatarBlink_Simple:Yr,AvatarEyeLook_Rotation:ay,AvatarLoader:KS,AvatarMarker:Le,AvatarModel:vb,Avatar_Brain_LookAt:ph,Avatar_MouthShapes:mh,Avatar_MustacheShake:sy,Avatar_POI:Qr,AxesHelper:fl,BaseUIComponent:gn,BasicIKConstraint:cy,BehaviorExtension:s0,BehaviorModel:Ft,BloomEffect:om,BoxCollider:lp,BoxGizmo:la,BoxHelperComponent:zt,Button:cs,CallInfo:Ho,Camera:_i,CameraTargetReachedEvent:oh,Canvas:Fl,CanvasGroup:Ks,CapsuleCollider:qo,ChangeMaterialOnClick:qy,ChangeTransformOnClick:oa,CharacterController:Zr,CharacterControllerInput:Qo,ChromaticAberration:Nh,ClickThrough:bm,ColorAdjustments:sr,ColorBySpeedModule:$l,ColorOverLifetimeModule:Zp,ContactShadows:fh,ControlTrackHandler:ep,CursorFollow:xa,CustomBranding:aa,Deletable:my,DeleteBox:br,DepthOfField:Nn,DeviceFlag:cp,DocumentExtension:JS,DragControls:Jr,DropListener:Jo,Duplicatable:Ry,EffectWrapper:Vh,EmissionModule:rs,EmphasizeOnClick:Rl,EnvironmentScene:tp,EventList:oe,EventListEvent:Vu,EventSystem:ci,EventTrigger:xp,FieldWithDefault:m1,FixedJoint:S0,Fog:Ul,GltfExport:Dy,GltfExportBox:Ly,Gradient:ha,Graphic:Th,GraphicRaycaster:Xu,GridHelper:zl,GridLayoutGroup:m0,GroundProjectedEnv:so,GroupActionModel:na,HideOnStart:_n,HingeJoint:Lh,HorizontalLayoutGroup:p0,get HoverAnimation(){return Po},Image:Yl,InheritVelocityModule:R0,InputField:tb,InstanceHandle:Ia,InstancingHandler:Ea,Interactable:py,Keyframe:Si,LODGroup:$p,LODModel:Wl,Light:It,LimitVelocityOverLifetimeModule:pt,LogStats:uy,LookAt:ib,LookAtConstraint:Hr,MainModule:Qt,MarkerTrackHandler:Ju,MaskableGraphic:Ah,MeshCollider:Ns,MeshRenderer:_h,MinMaxCurve:Y,MinMaxGradient:da,NeedleMenu:_o,NestedGltf:Vl,Networking:k0,NoiseModule:ve,ObjectRaycaster:nn,OffsetConstraint:ca,OpenURL:Zl,OrbitControls:me,Outline:Dl,Padding:ra,ParticleBurst:Yp,ParticleSubEmitter:T0,ParticleSystem:Fh,ParticleSystemRenderer:dn,PhysicsExtension:r0,PixelationEffect:$h,PlayAnimationOnClick:xh,PlayAudioOnClick:Hs,PlayableDirector:ml,PlayerColor:lc,PointerEventData:Cd,PostProcessingHandler:cc,PreliminaryAction:Tl,PreliminaryTrigger:Sh,RawImage:gm,Rect:Z1,RectTransform:Un,ReflectionProbe:Zo,RegisteredAnimationInfo:_r,RemoteSkybox:sp,Renderer:ni,RendererLightmap:ky,Rigidbody:Je,RotationBySpeedModule:hn,RotationOverLifetimeModule:zn,SceneSwitcher:et,ScreenCapture:rr,ScreenSpaceAmbientOcclusion:as,ScreenSpaceAmbientOcclusionN8:Wn,ScrollFollow:hs,SeeThrough:ls,SetActiveOnClick:Xy,ShadowCatcher:Yh,ShapeModule:E0,SharpeningEffect:Gh,SignalAsset:Ku,SignalReceiver:rh,SignalReceiverEvent:sh,SignalTrackHandler:lh,Size:Y1,SizeBySpeedModule:Ci,SizeOverLifetimeModule:ua,SkinnedMeshRenderer:My,SmoothFollow:cm,SpatialGrabRaycaster:ka,SpatialHtml:td,SpatialTrigger:hm,SpatialTriggerReceiver:So,SpectatorCamera:dm,SphereCollider:yl,SplineContainer:_a,SplineData:Co,SplineWalker:pn,Sprite:ts,SpriteData:Il,SpriteRenderer:wi,SpriteSheet:Al,SubEmitterSystem:tm,SyncedCamera:Q0,SyncedRoom:Vn,SyncedTransform:Ln,TapGestureTrigger:Yy,TeleportTarget:Fp,TestRunner:K0,TestSimulateUserData:J0,Text:Xt,TextBuilder:d0,TextExtension:Wp,TextureSheetAnimationModule:Yt,TiltShiftEffect:xo,ToneMappingEffect:or,TrailModule:Ue,TransformData:Ve,TransformGizmo:va,TriggerBuilder:qt,TriggerModel:mr,UIRaycastUtils:Hf,UIRootComponent:Mh,USDZExporter:wo,USDZText:Bl,USDZUIExtension:y0,UsageMarker:yh,VariantAction:Hy,VelocityOverLifetimeModule:Xe,VerticalLayoutGroup:u0,VideoPlayer:gt,get ViewBox(){return at},Vignette:fa,VisibilityAction:Ch,Voip:zs,Volume:ba,VolumeParameter:U,VolumeProfile:im,WebARCameraBackground:rd,WebARSessionRoot:vn,WebXR:Up,WebXRImageTracking:ad,WebXRImageTrackingModel:us,WebXRPlaneTracking:ps,WebXRTrackedImage:hc,XRControllerFollow:ds,XRControllerModel:is,XRControllerMovement:Wi,XRFlag:sn,XRRig:xm,XRState:li,__Ignore:eC},Symbol.toStringTag,{value:"Module"}));var wb;(o=>{function e(t,i=!1,n=.75){const s=new _a,r=1-D.clamp(n,0,1);return t.forEach((a,l)=>{const c=new b;l<t.length-1?c.subVectors(t[l+1],a).normalize().multiplyScalar(r):i&&t.length>1&&c.subVectors(t[0],a).normalize().multiplyScalar(r);const h=new Co;h.position.copy(a),h.tangentIn.copy(c),h.tangentOut.copy(c),s.addKnot(h)}),s.closed=i,s}o.createFromPoints=e})(wb||(wb={}));class Vj extends rO{constructor(){super(new Worker(URL.createObjectURL(new Blob([`import '${new URL("./generateMeshBVH.worker-DiCnZlf3.js",import.meta.url).toString()}';`],{type:"text/javascript"})),{type:"module"})),this.name="GenerateMeshBVHWorker"}runTask(e,t,i={}){return new Promise((n,s)=>{if(t.getAttribute("position").isInterleavedBufferAttribute||t.index&&t.index.isInterleavedBufferAttribute)throw new Error("GenerateMeshBVHWorker: InterleavedBufferAttribute are not supported for the geometry attributes.");e.onerror=c=>{s(new Error(`[GenerateMeshBVHWorker] ${c.message||"Unknown error. Please check the server console. If you're using vite try adding 'three-mesh-bvh' to 'optimizeDeps.exclude' in your vite.config.js"}`))},e.onmessage=c=>{const{data:h}=c;if(h.error)s(new Error(h.error)),e.onmessage=null;else if(h.serialized){const{serialized:d,position:p}=h,m=aO.deserialize(d,t,{setIndex:!1}),f=Object.assign({setBoundingBox:!0},i);if(t.attributes.position.array=p,d.index)if(t.index)t.index.array=d.index;else{const g=new tt(d.index,1,!1);t.setIndex(g)}f.setBoundingBox&&(t.boundingBox=m.getBoundingBox(new Nt)),i.onProgress&&i.onProgress(h.progress),n(m),e.onmessage=null}else i.onProgress&&i.onProgress(h.progress)};const r=t.index?t.index.array:null,a=t.attributes.position.array,l=[a];r&&l.push(r),e.postMessage({index:r,position:a,options:{...i,onProgress:null,includedProgressCallback:!!i.onProgress,groups:[...t.groups]}},l.map(c=>c.buffer).filter(c=>typeof SharedArrayBuffer>"u"||!(c instanceof SharedArrayBuffer)))})}}const $j=Object.freeze(Object.defineProperty({__proto__:null,GenerateMeshBVHWorker:Vj},Symbol.toStringTag,{value:"Module"}));export{tv as $componentName,Hk as $physicsKey,fe as ActionBuilder,z1 as ActionCollection,ki as ActionModel,Ev as Addressables,uh as AlignmentConstraint,Ka as AmbientMode,Vt as Animation,jh as AnimationCurve,Ap as AnimationExtension,ah as AnimationTrackHandler,Kn as AnimationUtils,vt as Animator,As as AnimatorConditionMode,bn as AnimatorController,Uf as AnimatorControllerParameterType,Qc as AnimatorStateInfo,zh as Antialiasing,Hn as Application,Dw as AssetDatabase,ne as AssetReference,Gl as Attractor,Nf as AudioClip,Ma as AudioExtension,Go as AudioListener,Ui as AudioSource,_s as AudioTrackHandler,Gs as Avatar,Yr as AvatarBlink_Simple,ay as AvatarEyeLook_Rotation,KS as AvatarLoader,Le as AvatarMarker,vb as AvatarModel,ph as Avatar_Brain_LookAt,mh as Avatar_MouthShapes,sy as Avatar_MustacheShake,Qr as Avatar_POI,dl as Axes,fl as AxesHelper,Sc as BUILD_TIME,gn as BaseUIComponent,cy as BasicIKConstraint,s0 as BehaviorExtension,Ft as BehaviorModel,Ar as BlobStorage,om as BloomEffect,lp as BoxCollider,la as BoxGizmo,zt as BoxHelperComponent,cs as Button,fn as ButtonsFactory,zx as CallDirection,Ho as CallInfo,_i as Camera,oh as CameraTargetReachedEvent,Fl as Canvas,Ks as CanvasGroup,qo as CapsuleCollider,qy as ChangeMaterialOnClick,oa as ChangeTransformOnClick,Zr as CharacterController,Qo as CharacterControllerInput,Nh as ChromaticAberration,Ii as CircularBuffer,qr as ClearFlags,bm as ClickThrough,ao as ClipExtrapolation,rn as Collider,nv as Collision,Gu as CollisionDetectionMode,sr as ColorAdjustments,$l as ColorBySpeedModule,Zp as ColorOverLifetimeModule,tR as Component,E as Component$1,Cu as ComponentLifecycleEvents,Wj as Components,Hv as ConnectionEvents,iv as ContactPoint,fh as ContactShadows,z as Context,fE as ContextArgs,ue as ContextEvent,pe as ContextRegistry,ep as ControlTrackHandler,xa as CursorFollow,aa as CustomBranding,Te as CustomShader,_u as DefaultReflectionMode,my as Deletable,br as DeleteBox,Nn as DepthOfField,cp as DeviceFlag,I as DeviceUtilities,JS as DocumentExtension,Jr as DragControls,fy as DragMode,Jo as DropListener,Ry as Duplicatable,Vh as EffectWrapper,rs as EmissionModule,Rl as EmphasizeOnClick,kd as EngineLoadingView,tp as EnvironmentScene,oe as EventList,Vu as EventListEvent,ci as EventSystem,xp as EventTrigger,m1 as FieldWithDefault,Aa as FileReference,Tv as FileReferenceSerializer,VT as FileSpawnModel,Yx as File_Event,S0 as FixedJoint,Ul as Fog,xe as FrameEvent,Ha as GENERATOR,S as GameObject,B as Gizmos,Dy as GltfExport,Ly as GltfExportBox,ha as Gradient,Th as Graphic,Xu as GraphicRaycaster,fr as Graphics,zl as GridHelper,m0 as GridLayoutGroup,so as GroundProjectedEnv,na as GroupActionModel,iu as HideFlags,_n as HideOnStart,Lh as HingeJoint,p0 as HorizontalLayoutGroup,HE as HostData,Po as HoverAnimation,Yl as Image,Ta as ImageReference,Rv as ImageReferenceSerializer,R0 as InheritVelocityModule,Dv as Input,fi as InputEventQueue,Ie as InputEvents,tb as InputField,Ia as InstanceHandle,Ea as InstancingHandler,yn as InstancingUtil,Kw as InstantiateEvent,Ut as InstantiateIdProvider,Gn as InstantiateOptions,py as Interactable,sd as InternalScreenshotUtils,LM as JoinedRoomResponse,OM as KeyEventArgs,Si as Keyframe,$p as LODGroup,Wl as LODModel,jM as LeftRoomResponse,It as Light,Jv as LightData,pt as LimitVelocityOverLifetimeModule,kj as LoadingElementOptions,uy as LogStats,Li as LogType,ib as LookAt,Hr as LookAtConstraint,T as MODULES,Qt as MainModule,Ju as MarkerTrackHandler,Yf as MarkerType,Ah as MaskableGraphic,ys as MaterialPropertyBlock,fp as MaterialX,D as Mathf,Ns as MeshCollider,_h as MeshRenderer,Y as MinMaxCurve,da as MinMaxGradient,Rg as NEEDLE_ENGINE_FEATURE_FLAGS,Rc as NEKeyboardEvent,No as NEPointerEvent,VS as NeedleButtonElement,by as NeedleEngineModelLoader,fb as NeedleEngineWebComponent,_o as NeedleMenu,tu as NeedlePatchesKey,xf as NeedleXRController,Z as NeedleXRSession,Ow as NeedleXRSync,Rw as NeedleXRUtils,Vl as NestedGltf,qv as NetworkConnection,co as NetworkedStreamEvents,Pd as NetworkedStreams,k0 as Networking,ex as NewInstanceModel,ve as NoiseModule,nn as ObjectRaycaster,Rs as ObjectUtils,ca as OffsetConstraint,Gd as OneEuroFilter,ug as OneEuroFilterXYZ,Zl as OpenURL,me as OrbitControls,Dl as Outline,Gv as OwnershipEvent,cf as OwnershipModel,Os as PUBLIC_KEY,ra as Padding,Yp as ParticleBurst,T0 as ParticleSubEmitter,Fh as ParticleSystem,nr as ParticleSystemBaseBehaviour,dn as ParticleSystemRenderer,Qp as ParticleSystemShapeType,vs as PeerHandle,Vv as PeerNetworking,rc as Physics,r0 as PhysicsExtension,wt as PhysicsMaterialCombine,$h as PixelationEffect,xh as PlayAnimationOnClick,Hs as PlayAudioOnClick,ml as PlayableDirector,lc as PlayerColor,ln as PlayerState,$1 as PlayerStateEvent,Jy as PlayerSync,Xv as PlayerView,Qv as PlayerViewManager,Cd as PointerEventData,mu as PointerType,st as PostProcessingEffect,mt as PostProcessingEffectOrder,cc as PostProcessingHandler,Tl as PreliminaryAction,Sh as PreliminaryTrigger,Ws as PreviewHelper,Qa as PrimitiveType,le as Progress,sg as PromiseAllWithErrors,og as PromiseErrorResult,re as RGBAColor,dc as RapierPhysics,gm as RawImage,Ts as RaycastOptions,Z1 as Rect,Un as RectTransform,Zo as ReflectionProbe,_r as RegisteredAnimationInfo,sp as RemoteSkybox,Eo as RenderTexture,gx as RenderTextureSerializer,ni as Renderer,Kv as RendererData,ky as RendererLightmap,Je as Rigidbody,Ke as RigidbodyConstraints,ie as RoomEvents,hn as RotationBySpeedModule,zn as RotationOverLifetimeModule,gp as SceneLightSettings,et as SceneSwitcher,rr as ScreenCapture,as as ScreenSpaceAmbientOcclusion,Wn as ScreenSpaceAmbientOcclusionN8,hs as ScrollFollow,ls as SeeThrough,En as SendQueue,Yg as SerializationContext,Xy as SetActiveOnClick,Yh as ShadowCatcher,E0 as ShapeModule,ov as ShapeOverlapResult,Gh as SharpeningEffect,Ku as SignalAsset,rh as SignalReceiver,sh as SignalReceiverEvent,lh as SignalTrackHandler,Y1 as Size,Ci as SizeBySpeedModule,ua as SizeOverLifetimeModule,My as SkinnedMeshRenderer,cm as SmoothFollow,ka as SpatialGrabRaycaster,td as SpatialHtml,hm as SpatialTrigger,So as SpatialTriggerReceiver,dm as SpectatorCamera,yl as SphereCollider,Tf as SphereIntersection,_a as SplineContainer,Co as SplineData,wb as SplineUtils,pn as SplineWalker,ts as Sprite,Il as SpriteData,wi as SpriteRenderer,Al as SpriteSheet,XE as StateMachineBehaviour,ny as StreamEndedEvent,Ux as StreamReceivedEvent,tm as SubEmitterSystem,Q0 as SyncedCamera,Vn as SyncedRoom,Ln as SyncedTransform,Yy as TapGestureTrigger,Fp as TeleportTarget,K0 as TestRunner,J0 as TestSimulateUserData,Xt as Text,d0 as TextBuilder,Wp as TextExtension,Yt as TextureSheetAnimationModule,xo as TiltShiftEffect,tw as Time,or as ToneMappingEffect,pl as TrackHandler,zi as TrackType,Ue as TrailModule,Ve as TransformData,va as TransformGizmo,qt as TriggerBuilder,mr as TriggerModel,C as TypeStore,Hf as UIRaycastUtils,Mh as UIRootComponent,By as USDDocument,lt as USDObject,S1 as USDWriter,P1 as USDZExporter,wo as USDZExporter$1,Bl as USDZText,y0 as USDZUIExtension,fx as UriSerializer,yh as UsageMarker,DM as UserJoinedOrLeftRoomModel,mi as VERSION,Hy as VariantAction,Xe as VelocityOverLifetimeModule,u0 as VerticalLayoutGroup,gt as VideoPlayer,at as ViewBox,Wo as ViewDevice,fa as Vignette,Ch as VisibilityAction,zs as Voip,ba as Volume,U as VolumeParameter,im as VolumeProfile,xM as WaitForFrames,Iv as WaitForPromise,tf as WaitForSeconds,fs as Watch,rd as WebARCameraBackground,vn as WebARSessionRoot,Up as WebXR,gr as WebXRButtonFactory,ad as WebXRImageTracking,us as WebXRImageTrackingModel,ps as WebXRPlaneTracking,hc as WebXRTrackedImage,ds as XRControllerFollow,is as XRControllerModel,Wi as XRControllerMovement,sn as XRFlag,xm as XRRig,li as XRState,uo as XRStateFlag,eC as __Ignore,BE as __internalNotifyObjectDestroyed,Jn as activeInHierarchyFieldName,ig as addAttributeChangeCallback,Tn as addComponent,pA as addCustomExtensionPlugin,jr as addNewComponent,eu as addPatch,Pu as apply,eR as applyHMRChanges,mw as applyPrototypeExtensions,Jw as beginListenDestroy,ix as beginListenInstantiate,rf as binaryIdentifierCasts,gE as build_scene_functions,Tr as builtinComponentKeyName,gb as calculateProgress01,FO as clearMessages,yx as colorSerializer,xv as compareAssociation,Kc as componentSerializer,B_ as copyTexture,rx as createMotion,yi as debugNet,Ac as debugOwner,R1 as decompressGpuTexture,fc as deepClone,Fo as delay,Wd as delayForFrames,uu as deserializeObject,Bi as destroy,bw as destroyComponentInstance,Zx as determineMimeTypeFromExtension,Me as disposeObjectResources,ho as disposeStream,Cc as editorGuidKeyName,$a as enableSpatialConsole,bx as eventListSerializer,Uj as exportAsGLTF,Lf as findByGuid,nl as findObjectOfType,ww as findObjectsOfType,Af as findResourceUsers,Sx as fitCamera,U_ as fitObjectIntoVolume,Wr as foreachComponent,Fu as foreachComponentEnumerator,nk as forward,lw as generateQRCode,tx as generateSeed,ui as getBoundingBox,C_ as getCameraController,Dr as getComponent,Fc as getComponentInChildren,Uc as getComponentInParent,Bc as getComponents,il as getComponentsInChildren,Ou as getComponentsInParent,_1 as getFormattedDate,kt as getIconElement,gf as getIconTexture,kn as getLoader,Dc as getOrAddComponent,w as getParam,rk as getParentHierarchyPath,fO as getPath,RM as getPeerOptions,Nv as getPeerjsInstance,UE as getResourceUserCount,M_ as getTempColor,di as getTempQuaternion,F as getTempVector,mc as getUrlParams,F_ as getVisibleInCustomShadowRendering,A_ as getWorldDirection,_g as getWorldEuler,ee as getWorldPosition,_e as getWorldQuaternion,Yd as getWorldRotation,Ge as getWorldScale,io as hasCommercialLicense,kc as hasIndieLicense,qu as hasPointerEventComponent,to as hasProLicense,$_ as hideDebugConsole,T1 as imageToCanvas,Av as initAddressableSerializers,_x as initBuiltinSerializers,Lj as initEngine,Lx as initVolumeParameterSerializer,Vr as instantiate,c1 as invokeLoadedImportPluginHooks,rw as invokeXRSessionEnd,sw as invokeXRSessionStart,$w as isActiveInHierarchy,ll as isActiveSelf,xO as isAndroidDevice,D_ as isAnimationAction,Mg as isComponent,uO as isDebugMode,bO as isDesktop,Nr as isDestroyed,A as isDevEnvironment,DE as isDisposed,Bj as isExporting,ev as isGLTFModel,r_ as isHostedOnGlitch,zf as isHotReloadEnabled,KE as isHotReloading,vO as isIPad,cw as isIconElement,Ai as isLocalNetwork,CO as isMacOS,_O as isMobileDevice,SO as isMozillaXR,kO as isQuest,Fw as isResourceTrackingEnabled,OO as isSafari,ju as isUsingInstancing,PO as isiOS,wO as isiPad,_j as loadAsset,iy as loadPMREM,pb as loadSync,Zd as logHierarchy,QO as lookAtInverse,yc as lookAtObject,YO as lookAtScreenPoint,mO as makeId,d_ as makeIdFromRandomWords,Ni as makeNameSafe,Hw as markAsInstancedRendered,MO as microphonePermissionsGranted,dO as nameof,a_ as nameofFactory,Wf as objectSerializer,qM as offXRSessionEnd,GM as offXRSessionStart,eM as onAfterRender,Jk as onBeforeRender,Zk as onClear,Kk as onDestroy,zg as onInitialized,au as onStart,yv as onUpdate,pf as onXRSessionEnd,vu as onXRSessionStart,US as parseSync,z_ as placeOnSurface,xg as postprocessFBXMaterials,OR as prefix,l_ as pushState,gO as randomNumber,af as registerBinaryType,ku as registerComponent,Py as registerComponentExtension,un as registerCustomEffectType,Oy as registerExportExtensions,bp as registerExtensions,cx as registerHotReloadType,av as registerLoader,ox as registerPrefabProvider,_f as registerPrototypeExtensions,Pg as registerType,p_ as relativePathPrefix,ng as removeAttributeChangeCallback,vf as removeComponent,mA as removeCustomImportExtensionType,Wk as removePatch,Qn as resolveUrl,u_ as sanitizeString,IS as saveImage,JL as screenshot,lb as screenshot2,Bf as sendDestroyed,u as serializable,Ov as serializeObject,qe as serializeable,qc as setActive,y_ as setAllowBalloonMessages,LO as setAllowOverlayMessages,Xd as setAutoFitEnabled,pg as setCameraController,qw as setDestroyed,VO as setDevEnvironment,zw as setDisposable,cl as setDontDestroy,Jm as setOrAddParamsToUrl,pO as setParam,gc as setParamWithoutReload,TM as setPeerOptions,jE as setResourceTrackingEnabled,eg as setState,wg as setVisibleInCustomShadowRendering,vg as setWorldEuler,bt as setWorldPosition,Or as setWorldPositionXYZ,On as setWorldQuaternion,bg as setWorldQuaternionXYZW,j_ as setWorldRotation,bc as setWorldRotationXYZ,Va as setWorldScale,wc as showBalloonError,ke as showBalloonMessage,be as showBalloonWarning,Sg as showDebugConsole,O_ as slerp,Xc as syncDestroy,ty as syncField,Ff as syncInstantiate,ak as textureToCanvas,m_ as toSourceId,Uv as tryCastBinary,Jx as tryDetermineMimetypeFromBinary,Kx as tryDetermineMimetypeFromURL,za as tryFindObject,zv as tryGetGuid,hx as unregisterHotReloadType,tg as unwatchWrite,P_ as useForAutoFit,Mt as validate,$d as watchWrite};
1731
+ Error:`,r),null}}updateColliderCollisionGroups(e){const t=e[jt],i=e.membership;let n=0;if(i==null)n=65535;else for(let a=0;a<i.length;a++){const l=i[a];l>31?console.error(`Rapier only supports 32 layers, layer ${l} is not supported`):n|=1<<Math.floor(l)}const s=e.filter;let r=0;if(s==null)r=65535;else for(let a=0;a<s.length;a++){const l=s[a];l>31?console.error(`Rapier only supports 32 layers, layer ${l} is not supported`):r|=1<<Math.floor(l)}t.setCollisionGroups(n<<16|r)}getRigidbody(e,t){if(!this.world)throw new Error("Physics world not initialized");let i=null;if(e.attachedRigidbody){const n=e.attachedRigidbody;if(i=n[jt],!i){const s=n.isKinematic&&!yb;Ne&&console.log("Create rigidbody",s);const r=s?T.RAPIER_PHYSICS.MODULE.RigidBodyDesc.kinematicPositionBased():T.RAPIER_PHYSICS.MODULE.RigidBodyDesc.dynamic(),a=ee(e.attachedRigidbody.gameObject);r.setTranslation(a.x,a.y,a.z),r.setRotation(_e(e.attachedRigidbody.gameObject)),r.centerOfMass=new T.RAPIER_PHYSICS.MODULE.Vector3(n.centerOfMass.x,n.centerOfMass.y,n.centerOfMass.z),i=this.world.createRigidBody(r),this.bodies.push(i),this.objects.push(n)}i[Oi]=n,n[jt]=i,this.internalUpdateRigidbodyProperties(n,i),this.getRigidbodyRelativeMatrix(e.gameObject,n.gameObject,t),e[QS]=i}else{const n=T.RAPIER_PHYSICS.MODULE.RigidBodyDesc.kinematicPositionBased(),s=ee(e.gameObject);n.setTranslation(s.x,s.y,s.z),n.setRotation(_e(e.gameObject)),i=this.world.createRigidBody(n),t.identity(),i[Oi]=null}return i}internal_getRigidbody(e){return e.isCollider===!0?e[QS]:e[jt]}internalUpdateColliderProperties(e,t){const i=t.shape;let n=!1;switch(i.type){case T.RAPIER_PHYSICS.MODULE.ShapeType.Ball:{const p=i,m=e,f=e.gameObject,g=Ge(f,this._tempPosition),y=Math.abs(m.radius*g.x);n=p.radius!==y,p.radius=y,n&&t.setShape(p);break}case T.RAPIER_PHYSICS.MODULE.ShapeType.Cuboid:const s=i,r=e,a=e.gameObject,l=Ge(a,this._tempPosition),c=Math.abs(r.size.x*.5*l.x),h=Math.abs(r.size.y*.5*l.y),d=Math.abs(r.size.z*.5*l.z);n=s.halfExtents.x!==c||s.halfExtents.y!==h||s.halfExtents.z!==d,s.halfExtents.x=c,s.halfExtents.y=h,s.halfExtents.z=d,n&&t.setShape(s);break}if(n){const s=e.attachedRigidbody;s?.autoMass&&this.getBody(s)?.recomputeMassPropertiesFromColliders()}this.updateColliderCollisionGroups(e),e.isTrigger!==t.isSensor()&&t.setSensor(e.isTrigger)}internalUpdateRigidbodyProperties(e,t){if(t.enableCcd(e.collisionDetectionMode!==Gu.Discrete),t.setLinearDamping(e.drag),t.setAngularDamping(e.angularDrag),t.setGravityScale(e.useGravity?e.gravityScale:0,!0),e.dominanceGroup<=127&&e.dominanceGroup>=-127?t.setDominanceGroup(Math.floor(e.dominanceGroup)):t.setDominanceGroup(0),e.autoMass){t.setAdditionalMass(0,!1);for(let i=0;i<t.numColliders();i++)t.collider(i).setDensity(1);t.recomputeMassPropertiesFromColliders()}else{t.setAdditionalMass(e.mass,!1);for(let i=0;i<t.numColliders();i++)t.collider(i).setDensity(1e-7);t.recomputeMassPropertiesFromColliders()}t.setEnabledRotations(!e.lockRotationX,!e.lockRotationY,!e.lockRotationZ,!1),t.setEnabledTranslations(!e.lockPositionX,!e.lockPositionY,!e.lockPositionZ,!1),e.isKinematic?t.setBodyType(T.RAPIER_PHYSICS.MODULE.RigidBodyType.KinematicPositionBased,!1):t.setBodyType(T.RAPIER_PHYSICS.MODULE.RigidBodyType.Dynamic,!1)}lines;disabledLines;step(e){if(this.world&&this.enabled){if(this._isUpdatingPhysicsWorld=!0,this.eventQueue||(this.eventQueue=new T.RAPIER_PHYSICS.MODULE.EventQueue(!1)),e===void 0||e<=0){this._isUpdatingPhysicsWorld=!1;return}else if(e!==void 0){const t=D.lerp(this.world.timestep,e,.8);this.world.timestep=t}try{this.world.step(this.eventQueue)}catch(t){console.warn("Error running physics step",{timestep:this.world.timestep},t)}this._isUpdatingPhysicsWorld=!1}}postStep(){this.world&&this.enabled&&(this._isUpdatingPhysicsWorld=!0,this.syncObjects(),this._isUpdatingPhysicsWorld=!1,this.eventQueue&&!this.collisionHandler&&(this.collisionHandler=new Dj(this.world,this.eventQueue)),this.collisionHandler&&(this.collisionHandler.handleCollisionEvents(),this.collisionHandler.update()),this.updateDebugRendering(this.world))}updateDebugRendering(e){if(Ne||yb||jj||this.debugRenderColliders===!0){if(!this.lines){const n=new Bd({color:7855479,fog:!1}),s=new Yi;this.lines=new Fm(s,n),this.lines.layers.disableAll(),this.lines.layers.enable(2)}if(!this.disabledLines){const n=new Bd({color:14514039,fog:!1}),s=new Yi;this.disabledLines=new Fm(s,n),this.disabledLines.layers.disableAll(),this.disabledLines.layers.enable(2)}this.lines.parent!==this.context?.scene&&this.context?.scene.add(this.lines),this.disabledLines.parent!==this.context?.scene&&this.context?.scene.add(this.disabledLines);const t=e.debugRender(void 0,n=>n.isEnabled());this.lines.geometry.setAttribute("position",new tt(t.vertices,3)),this.lines.geometry.setAttribute("color",new tt(t.colors,4));const i=e.debugRender(void 0,n=>!n.isEnabled());this.disabledLines.geometry.setAttribute("position",new tt(i.vertices,3)),this.disabledLines.geometry.setAttribute("color",new tt(i.colors,4)),this.disabledLines.visible=i.vertices.length>0,(this.context.time.frame%30===0||this.lines.geometry.boundingSphere?.radius===0)&&(this.lines.geometry.computeBoundingSphere(),this.disabledLines.geometry.computeBoundingSphere())}else this.lines&&this.context?.scene.remove(this.lines),this.disabledLines&&this.context?.scene.remove(this.disabledLines)}syncObjects(){if(!yb)for(let e=0;e<this.bodies.length;e++){const t=this.objects[e],i=this.bodies[e],n=t;if(n?.isCollider===!0&&!n.attachedRigidbody){const l=i.parent();l?this.syncPhysicsBody(t.gameObject,l,!0,!0):this.syncPhysicsBody(t.gameObject,i,!0,!0);continue}const s=i.translation(),r=i.rotation();if(Number.isNaN(s.x)||Number.isNaN(r.x)){!n.__COLLIDER_NAN&&A()&&(console.warn("Collider has NaN values",n.name,n.gameObject,i),n.__COLLIDER_NAN=!0);continue}const a=t.center;if(a&&a.isVector3){this._tempQuaternion.set(r.x,r.y,r.z,r.w);const l=this._tempPosition.copy(a).applyQuaternion(this._tempQuaternion),c=Ge(t.gameObject);l.multiply(c),s.x-=l.x,s.y-=l.y,s.z-=l.z}Or(t.gameObject,s.x,s.y,s.z),bg(t.gameObject,r.x,r.y,r.z,r.w)}}syncPhysicsBody(e,t,i,n){if(t instanceof T.RAPIER_PHYSICS.MODULE.RigidBody){const s=ee(e,this._tempPosition),r=_e(e,this._tempQuaternion);switch(t.bodyType()){case T.RAPIER_PHYSICS.MODULE.RigidBodyType.Fixed:case T.RAPIER_PHYSICS.MODULE.RigidBodyType.KinematicPositionBased:case T.RAPIER_PHYSICS.MODULE.RigidBodyType.KinematicVelocityBased:i&&t.setNextKinematicTranslation(s),n&&t.setNextKinematicRotation(r);break;default:i&&t.setTranslation(s,!1),n&&t.setRotation(r,!1);break}}else if(t instanceof T.RAPIER_PHYSICS.MODULE.Collider){e.matrixWorldNeedsUpdate&&e.updateWorldMatrix(!0,!1),e.matrixWorld.decompose(this._tempPosition,this._tempQuaternion,this._tempScale);const s=this._tempPosition,r=this._tempQuaternion,a=t[Oi];if(this.tryApplyCenter(a,s),i){const l=t.translation();(l.x!==s.x||l.y!==s.y||l.z!==s.z)&&t.setTranslation(s)}if(n){const l=t.rotation();(l.x!==r.x||l.y!==r.y||l.z!==r.z||l.w!==r.w)&&t.setRotation(r)}}}_tempCenterPos=new b;_tempCenterVec=new b;_tempCenterQuaternion=new N;tryApplyCenter(e,t){const i=e.center;i&&e.gameObject&&(i.x!==0||i.y!==0||i.z!==0)&&(this._tempCenterPos.x=i.x,this._tempCenterPos.y=i.y,this._tempCenterPos.z=i.z,Ge(e.gameObject,this._tempCenterVec),this._tempCenterPos.multiply(this._tempCenterVec),e.attachedRigidbody?this._tempCenterPos.applyQuaternion(e.gameObject.quaternion):(_e(e.gameObject,this._tempCenterQuaternion),this._tempCenterPos.applyQuaternion(this._tempCenterQuaternion)),t.x+=this._tempCenterPos.x,t.y+=this._tempCenterPos.y,t.z+=this._tempCenterPos.z)}static _matricesBuffer=[];getRigidbodyRelativeMatrix(e,t,i,n){if(n===void 0&&(n=dc._matricesBuffer,n.length=0),e===t){const s=Ge(e,this._tempPosition);i.makeScale(s.x,s.y,s.z);for(let r=n.length-1;r>=0;r--)i.multiply(n[r]);return i}return n.push(e.matrix),e.parent&&this.getRigidbodyRelativeMatrix(e.parent,t,i,n),i}static centerConnectionPos={x:0,y:0,z:0};static centerConnectionRot={x:0,y:0,z:0,w:1};addFixedJoint(e,t){if(!this.world){console.error("Physics world not initialized");return}const i=e[jt],n=t[jt];this.calculateJointRelativeMatrices(e.gameObject,t.gameObject,this._tempMatrix),this._tempMatrix.decompose(this._tempPosition,this._tempQuaternion,this._tempScale);const s=T.RAPIER_PHYSICS.MODULE.JointData.fixed(dc.centerConnectionPos,dc.centerConnectionRot,this._tempPosition,this._tempQuaternion),r=this.world.createImpulseJoint(s,i,n,!0);Ne&&console.log("ADD FIXED JOINT",r)}addHingeJoint(e,t,i,n){if(!this.world){console.error("Physics world not initialized");return}const s=e[jt],r=t[jt];this.calculateJointRelativeMatrices(e.gameObject,t.gameObject,this._tempMatrix),this._tempMatrix.decompose(this._tempPosition,this._tempQuaternion,this._tempScale);const a=T.RAPIER_PHYSICS.MODULE.JointData.revolute(i,this._tempPosition,n),l=this.world.createImpulseJoint(a,s,r,!0);Ne&&console.log("ADD HINGE JOINT",l)}calculateJointRelativeMatrices(e,t,i){e.updateWorldMatrix(!0,!1),t.updateWorldMatrix(!0,!1);const n=e.matrixWorld,s=t.matrixWorld;n.elements[0]=1,n.elements[5]=1,n.elements[10]=1,s.elements[0]=1,s.elements[5]=1,s.elements[10]=1,i.copy(s).premultiply(n.invert()).invert()}}class Dj{world;eventQueue;constructor(e,t){this.world=e,this.eventQueue=t}activeCollisions=[];activeCollisionsStay=[];activeTriggers=[];handleCollisionEvents(){this.eventQueue&&this.world&&this.eventQueue.drainCollisionEvents((e,t,i)=>{const n=this.world.getCollider(e),s=this.world.getCollider(t);if(!n||!s)return;const r=n[Oi],a=s[Oi];bb&&console.log("EVT",r.name,a.name,i,n,s),r&&a&&(i?(this.onCollisionStarted(r,n,a,s),this.onCollisionStarted(a,s,r,n)):(this.onCollisionEnded(r,a),this.onCollisionEnded(a,r)))})}update(){this.onHandleCollisionStay()}onCollisionStarted(e,t,i,n){let s=null;if(e.isTrigger||i.isTrigger)Wr(e.gameObject,r=>{r.onTriggerEnter&&!r.destroyed&&r.onTriggerEnter(i),this.activeTriggers.push({collider:e,component:r,otherCollider:i})});else{const r=e.gameObject;this.world.contactPair(t,n,(a,l)=>{Wr(r,c=>{if(c.destroyed)return;const h=c.onCollisionEnter||c.onCollisionStay||c.onCollisionExit;if(h||bb){if(!s){const d=[],p=a.normal();i instanceof Ns&&i.convex&&(p.x=-p.x,p.y=-p.y,p.z=-p.z);for(let m=0;m<a.numSolverContacts();m++){const f=a.solverContactPoint(m),g=a.contactImpulse(m);if(f){const y=a.contactDist(m),_=a.solverContactFriction(m),v=a.solverContactTangentVelocity(m),P=new iv(f,y,p,g,_,v);d.push(P),bb&&B.DrawDirection(f,p,16711680,3,!0)}}s=new nv(r,i,d)}if(h){const d={collider:e,component:c,collision:s};this.activeCollisions.push(d),c.onCollisionStay&&this.activeCollisionsStay.push(d),c.onCollisionEnter?.call(c,s)}}})})}}onHandleCollisionStay(){for(const e of this.activeCollisionsStay){const t=e.component;if(!t.destroyed&&t.activeAndEnabled&&t.onCollisionStay){if(e.collision.collider.destroyed)continue;const i=e.collision;t.onCollisionStay(i)}}for(const e of this.activeTriggers){const t=e.component;if(!t.destroyed&&t.activeAndEnabled&&t.onTriggerStay){const i=e.otherCollider;if(i.destroyed)continue;t.onTriggerStay(i)}}}onCollisionEnded(e,t){if(!(e.destroyed||t.destroyed)){for(let i=0;i<this.activeCollisions.length;i++){const n=this.activeCollisions[i],s=n.collider;if(s.destroyed||n.collision.collider.destroyed){this.activeCollisions.splice(i,1),i--;continue}if(s===e&&n.collision.collider===t){const r=n.component;if(this.activeCollisions.splice(i,1),i--,r.activeAndEnabled&&r.onCollisionExit){const a=n.collision;r.onCollisionExit(a)}}}for(let i=0;i<this.activeCollisionsStay.length;i++){const n=this.activeCollisionsStay[i],s=n.collider;if(s.destroyed||n.collision.collider.destroyed){this.activeCollisionsStay.splice(i,1),i--;continue}if(s===e&&n.collision.collider===t){const r=n.component;if(this.activeCollisionsStay.splice(i,1),i--,r.activeAndEnabled&&r.onCollisionExit){const a=n.collision;r.onCollisionExit(a)}}}for(let i=0;i<this.activeTriggers.length;i++){const n=this.activeTriggers[i],s=n.collider;if(s.destroyed||n.otherCollider.destroyed){this.activeTriggers.splice(i,1),i--;continue}if(s===e&&n.otherCollider===t){const r=n.component;if(this.activeTriggers.splice(i,1),i--,r.activeAndEnabled&&r.onTriggerExit){const a=n.otherCollider;r.onTriggerExit(a)}}}}}}let _b=0;function YS(o){o?_b++:_b--}function Bj(){return _b>0}const Fj={binary:!0,animations:!0};async function Uj(o){if(!o.context)throw new Error("No context provided to exportAsGLTF");o.scene||(o.scene=o.context.scene);const e={...Fj,...o},{context:t}=e,i=new Xb;i.register(a=>new g1(a)),i.register(a=>new OA(a)),i.register(a=>new y1(a)),Oy(i,e.context);const n={binary:e.binary,animations:Nj(t,e.scene,[])},s=new zj;console.debug("Exporting GLTF",n),s.onBeforeExport(e),YS(!0);const r=await i.parseAsync(e.scene,n).catch(a=>(console.error(a),null));if(YS(!1),s.onAfterExport(e),!r)throw new Error("Failed to export GLTF");if(e.downloadAs!=null){let a=null;if(r instanceof ArrayBuffer?a=new Blob([r],{type:"application/octet-stream"}):console.error("Can not download GLTF as a blob",r),a){const l=URL.createObjectURL(a),c=document.createElement("a");c.href=l;let h=e.downloadAs;!h.endsWith(".glb")&&!h.endsWith(".gltf")&&(h+=e.binary?".glb":".gltf"),c.download=h,c.click()}}return r}const ZS=Symbol("needle:weight");class zj{_undo=[];onBeforeExport(e){e.context.animations.mixers.forEach(t=>{const i=Kn.tryGetActionsFromMixer(t);if(i)for(let n=0;n<i.length;n++){const s=i[n];s[ZS]=s.weight,s.weight=0,this._undo.push(()=>{s.weight=s[ZS]})}t.update(0)}),e.context.scene.traverse(t=>{if(!Iy(t)){const i=t.parent;i&&(t.removeFromParent(),this._undo.push(()=>i.add(t)))}})}onAfterExport(e){this._undo.forEach(t=>t()),this._undo.length=0}}function Nj(o,e,t){o.animations.mixers.forEach(n=>{const s=Kn.tryGetActionsFromMixer(n);if(s)for(let r=0;r<s.length;r++){const a=s[r].getClip();t.push(a)}}),Array.isArray(e)||(e=[e]);for(const n of e)Kn.tryGetAnimationClipsFromObjectHierarchy(n,t);const i=new Set(t);return Array.from(i)}const yd=w("debugavatar");class vb{root;head;leftHand;rigthHand;get isValid(){return this.head!==null&&this.head!==void 0}constructor(e,t,i,n){this.root=e,this.head=t,this.leftHand=i,this.rigthHand=n,this.root?.traverse(s=>s.layers.set(2))}}class KS{avatarRegistryUrl=null;async getOrCreateNewAvatarInstance(e,t){if(!t)return console.error("Can not create avatar: failed to provide id or root object"),null;let i=null;if(typeof t=="string"){if(i=await this.loadAvatar(e,t),!i){const s=new Gn;i=S.instantiate(za(t,e.scene),s)}}else i=t;if(!i)return null;const n=this.findAvatar(i);return n.isValid?(yd&&console.log("[Custom Avatar] valid config",t,yd?n:""),n):(console.warn("[Custom Avatar] config isn't valid",t,yd?n:""),null)}async loadAvatar(e,t){if(console.assert(t!=null&&typeof t=="string","Avatar id must not be null"),t.length<=0||!t)return null;if(yd&&console.log("[Custom Avatar] "+t+", loading..."),t.endsWith(".glb")||(t+=".glb"),this.avatarRegistryUrl===null){const n=await fetch("./"+t);let s=null;if(n.ok){const r=await n.blob();r&&(s=await r.arrayBuffer())}return s?(await kn().parseSync(e,s,null,0))?.scene??null:null}const i=new Do;return n0(i,e),new Promise((n,s)=>{const r=this.avatarRegistryUrl+"/"+t;i.load(r,async a=>{await kn().createBuiltinComponents(e,r,a,null,void 0),n(a.scene)},a=>{yd&&console.log("[Custom Avatar] "+a.loaded/a.total*100+"% loaded of "+a.total/1024+"kB")},a=>{console.error("[Custom Avatar] Error when loading: "+a),n(null)})})}cacheModel(e,t){}findAvatar(e){const t=e;let i=t;i.children.length==1&&(i=e.children[0]);let n=this.findAvatarPart(i,["head"]);const s=this.findAvatarPart(i,["left","hand"]),r=this.findAvatarPart(i,["right","hand"]);if(!n){n=t;const a=new b;new Nt().setFromObject(n).getSize(a);const l=Math.max(a.x,a.y,a.z);console.warn("[Custom Avatar] Normalizing head scale, it's too big: "+l+" meters! Should be < 0.3m"),l>.3&&n.scale.multiplyScalar(1/l*.3)}return new vb(t,n,s,r)}findAvatarPart(e,t){const i=e.name.toLowerCase();let n=!0;for(const s of t){if(!n)break;i.indexOf(s)===-1&&(n=!1)}if(n)return e;if(e.children)for(const s of e.children){const r=this.findAvatarPart(s,t);if(r)return r}return null}handleCustomAvatarErrors(e){if(!e.ok)throw Error(e.statusText);return e}}class JS{get extensionName(){return"DocumentExtension"}onAfterBuildDocument(e){}}class eC{}const Wj=Object.freeze(Object.defineProperty({__proto__:null,ActionBuilder:fe,ActionCollection:z1,ActionModel:ki,AlignmentConstraint:uh,Animation:Vt,AnimationCurve:jh,AnimationExtension:Ap,AnimationTrackHandler:ah,Animator:vt,AnimatorController:bn,Antialiasing:zh,Attractor:Gl,AudioExtension:Ma,AudioListener:Go,AudioSource:Ui,AudioTrackHandler:_s,Avatar:Gs,AvatarBlink_Simple:Yr,AvatarEyeLook_Rotation:ay,AvatarLoader:KS,AvatarMarker:Le,AvatarModel:vb,Avatar_Brain_LookAt:ph,Avatar_MouthShapes:mh,Avatar_MustacheShake:sy,Avatar_POI:Qr,AxesHelper:fl,BaseUIComponent:gn,BasicIKConstraint:cy,BehaviorExtension:s0,BehaviorModel:Ft,BloomEffect:om,BoxCollider:lp,BoxGizmo:la,BoxHelperComponent:zt,Button:cs,CallInfo:Ho,Camera:_i,CameraTargetReachedEvent:oh,Canvas:Fl,CanvasGroup:Ks,CapsuleCollider:qo,ChangeMaterialOnClick:qy,ChangeTransformOnClick:oa,CharacterController:Zr,CharacterControllerInput:Qo,ChromaticAberration:Nh,ClickThrough:bm,ColorAdjustments:sr,ColorBySpeedModule:$l,ColorOverLifetimeModule:Zp,ContactShadows:fh,ControlTrackHandler:ep,CursorFollow:xa,CustomBranding:aa,Deletable:my,DeleteBox:br,DepthOfField:Nn,DeviceFlag:cp,DocumentExtension:JS,DragControls:Jr,DropListener:Jo,Duplicatable:Ry,EffectWrapper:Vh,EmissionModule:rs,EmphasizeOnClick:Rl,EnvironmentScene:tp,EventList:oe,EventListEvent:Vu,EventSystem:ci,EventTrigger:xp,FieldWithDefault:m1,FixedJoint:S0,Fog:Ul,GltfExport:Dy,GltfExportBox:Ly,Gradient:ha,Graphic:Th,GraphicRaycaster:Xu,GridHelper:zl,GridLayoutGroup:m0,GroundProjectedEnv:so,GroupActionModel:na,HideOnStart:_n,HingeJoint:Lh,HorizontalLayoutGroup:p0,get HoverAnimation(){return Po},Image:Yl,InheritVelocityModule:R0,InputField:tb,InstanceHandle:Ia,InstancingHandler:Ea,Interactable:py,Keyframe:Si,LODGroup:$p,LODModel:Wl,Light:It,LimitVelocityOverLifetimeModule:pt,LogStats:uy,LookAt:ib,LookAtConstraint:Hr,MainModule:Qt,MarkerTrackHandler:Ju,MaskableGraphic:Ah,MeshCollider:Ns,MeshRenderer:_h,MinMaxCurve:Y,MinMaxGradient:da,NeedleMenu:_o,NestedGltf:Vl,Networking:k0,NoiseModule:ve,ObjectRaycaster:nn,OffsetConstraint:ca,OpenURL:Zl,OrbitControls:me,Outline:Dl,Padding:ra,ParticleBurst:Yp,ParticleSubEmitter:T0,ParticleSystem:Fh,ParticleSystemRenderer:dn,PhysicsExtension:r0,PixelationEffect:$h,PlayAnimationOnClick:xh,PlayAudioOnClick:Hs,PlayableDirector:ml,PlayerColor:lc,PointerEventData:Cd,PostProcessingHandler:cc,PreliminaryAction:Tl,PreliminaryTrigger:Sh,RawImage:gm,Rect:Z1,RectTransform:Un,ReflectionProbe:Zo,RegisteredAnimationInfo:_r,RemoteSkybox:sp,Renderer:ni,RendererLightmap:ky,Rigidbody:Je,RotationBySpeedModule:hn,RotationOverLifetimeModule:zn,SceneSwitcher:et,ScreenCapture:rr,ScreenSpaceAmbientOcclusion:as,ScreenSpaceAmbientOcclusionN8:Wn,ScrollFollow:hs,SeeThrough:ls,SetActiveOnClick:Xy,ShadowCatcher:Yh,ShapeModule:E0,SharpeningEffect:Gh,SignalAsset:Ku,SignalReceiver:rh,SignalReceiverEvent:sh,SignalTrackHandler:lh,Size:Y1,SizeBySpeedModule:Ci,SizeOverLifetimeModule:ua,SkinnedMeshRenderer:My,SmoothFollow:cm,SpatialGrabRaycaster:ka,SpatialHtml:td,SpatialTrigger:hm,SpatialTriggerReceiver:So,SpectatorCamera:dm,SphereCollider:yl,SplineContainer:_a,SplineData:Co,SplineWalker:pn,Sprite:ts,SpriteData:Il,SpriteRenderer:wi,SpriteSheet:Al,SubEmitterSystem:tm,SyncedCamera:Q0,SyncedRoom:Vn,SyncedTransform:Ln,TapGestureTrigger:Yy,TeleportTarget:Fp,TestRunner:K0,TestSimulateUserData:J0,Text:Xt,TextBuilder:d0,TextExtension:Wp,TextureSheetAnimationModule:Yt,TiltShiftEffect:xo,ToneMappingEffect:or,TrailModule:Ue,TransformData:Ve,TransformGizmo:va,TriggerBuilder:qt,TriggerModel:mr,UIRaycastUtils:Hf,UIRootComponent:Mh,USDZExporter:wo,USDZText:Bl,USDZUIExtension:y0,UsageMarker:yh,VariantAction:Hy,VelocityOverLifetimeModule:Xe,VerticalLayoutGroup:u0,VideoPlayer:gt,get ViewBox(){return at},Vignette:fa,VisibilityAction:Ch,Voip:zs,Volume:ba,VolumeParameter:U,VolumeProfile:im,WebARCameraBackground:rd,WebARSessionRoot:vn,WebXR:Up,WebXRImageTracking:ad,WebXRImageTrackingModel:us,WebXRPlaneTracking:ps,WebXRTrackedImage:hc,XRControllerFollow:ds,XRControllerModel:is,XRControllerMovement:Wi,XRFlag:sn,XRRig:xm,XRState:li,__Ignore:eC},Symbol.toStringTag,{value:"Module"}));var wb;(o=>{function e(t,i=!1,n=.75){const s=new _a,r=1-D.clamp(n,0,1);return t.forEach((a,l)=>{const c=new b;l<t.length-1?c.subVectors(t[l+1],a).normalize().multiplyScalar(r):i&&t.length>1&&c.subVectors(t[0],a).normalize().multiplyScalar(r);const h=new Co;h.position.copy(a),h.tangentIn.copy(c),h.tangentOut.copy(c),s.addKnot(h)}),s.closed=i,s}o.createFromPoints=e})(wb||(wb={}));class Vj extends rO{constructor(){super(new Worker(URL.createObjectURL(new Blob([`import '${new URL("./generateMeshBVH.worker-DiCnZlf3.js",import.meta.url).toString()}';`],{type:"text/javascript"})),{type:"module"})),this.name="GenerateMeshBVHWorker"}runTask(e,t,i={}){return new Promise((n,s)=>{if(t.getAttribute("position").isInterleavedBufferAttribute||t.index&&t.index.isInterleavedBufferAttribute)throw new Error("GenerateMeshBVHWorker: InterleavedBufferAttribute are not supported for the geometry attributes.");e.onerror=c=>{s(new Error(`[GenerateMeshBVHWorker] ${c.message||"Could not load worker."}`))},e.onmessage=c=>{const{data:h}=c;if(h.error)s(new Error(h.error)),e.onmessage=null;else if(h.serialized){const{serialized:d,position:p}=h,m=aO.deserialize(d,t,{setIndex:!1}),f=Object.assign({setBoundingBox:!0},i);if(t.attributes.position.array=p,d.index)if(t.index)t.index.array=d.index;else{const g=new tt(d.index,1,!1);t.setIndex(g)}f.setBoundingBox&&(t.boundingBox=m.getBoundingBox(new Nt)),i.onProgress&&i.onProgress(h.progress),n(m),e.onmessage=null}else i.onProgress&&i.onProgress(h.progress)};const r=t.index?t.index.array:null,a=t.attributes.position.array,l=[a];r&&l.push(r),e.postMessage({index:r,position:a,options:{...i,onProgress:null,includedProgressCallback:!!i.onProgress,groups:[...t.groups]}},l.map(c=>c.buffer).filter(c=>typeof SharedArrayBuffer>"u"||!(c instanceof SharedArrayBuffer)))})}}const $j=Object.freeze(Object.defineProperty({__proto__:null,GenerateMeshBVHWorker:Vj},Symbol.toStringTag,{value:"Module"}));export{tv as $componentName,Hk as $physicsKey,fe as ActionBuilder,z1 as ActionCollection,ki as ActionModel,Ev as Addressables,uh as AlignmentConstraint,Ka as AmbientMode,Vt as Animation,jh as AnimationCurve,Ap as AnimationExtension,ah as AnimationTrackHandler,Kn as AnimationUtils,vt as Animator,As as AnimatorConditionMode,bn as AnimatorController,Uf as AnimatorControllerParameterType,Qc as AnimatorStateInfo,zh as Antialiasing,Hn as Application,Dw as AssetDatabase,ne as AssetReference,Gl as Attractor,Nf as AudioClip,Ma as AudioExtension,Go as AudioListener,Ui as AudioSource,_s as AudioTrackHandler,Gs as Avatar,Yr as AvatarBlink_Simple,ay as AvatarEyeLook_Rotation,KS as AvatarLoader,Le as AvatarMarker,vb as AvatarModel,ph as Avatar_Brain_LookAt,mh as Avatar_MouthShapes,sy as Avatar_MustacheShake,Qr as Avatar_POI,dl as Axes,fl as AxesHelper,Sc as BUILD_TIME,gn as BaseUIComponent,cy as BasicIKConstraint,s0 as BehaviorExtension,Ft as BehaviorModel,Ar as BlobStorage,om as BloomEffect,lp as BoxCollider,la as BoxGizmo,zt as BoxHelperComponent,cs as Button,fn as ButtonsFactory,zx as CallDirection,Ho as CallInfo,_i as Camera,oh as CameraTargetReachedEvent,Fl as Canvas,Ks as CanvasGroup,qo as CapsuleCollider,qy as ChangeMaterialOnClick,oa as ChangeTransformOnClick,Zr as CharacterController,Qo as CharacterControllerInput,Nh as ChromaticAberration,Ii as CircularBuffer,qr as ClearFlags,bm as ClickThrough,ao as ClipExtrapolation,rn as Collider,nv as Collision,Gu as CollisionDetectionMode,sr as ColorAdjustments,$l as ColorBySpeedModule,Zp as ColorOverLifetimeModule,tR as Component,E as Component$1,Cu as ComponentLifecycleEvents,Wj as Components,Hv as ConnectionEvents,iv as ContactPoint,fh as ContactShadows,z as Context,fE as ContextArgs,ue as ContextEvent,pe as ContextRegistry,ep as ControlTrackHandler,xa as CursorFollow,aa as CustomBranding,Te as CustomShader,_u as DefaultReflectionMode,my as Deletable,br as DeleteBox,Nn as DepthOfField,cp as DeviceFlag,I as DeviceUtilities,JS as DocumentExtension,Jr as DragControls,fy as DragMode,Jo as DropListener,Ry as Duplicatable,Vh as EffectWrapper,rs as EmissionModule,Rl as EmphasizeOnClick,kd as EngineLoadingView,tp as EnvironmentScene,oe as EventList,Vu as EventListEvent,ci as EventSystem,xp as EventTrigger,m1 as FieldWithDefault,Aa as FileReference,Tv as FileReferenceSerializer,VT as FileSpawnModel,Yx as File_Event,S0 as FixedJoint,Ul as Fog,xe as FrameEvent,Ha as GENERATOR,S as GameObject,B as Gizmos,Dy as GltfExport,Ly as GltfExportBox,ha as Gradient,Th as Graphic,Xu as GraphicRaycaster,fr as Graphics,zl as GridHelper,m0 as GridLayoutGroup,so as GroundProjectedEnv,na as GroupActionModel,iu as HideFlags,_n as HideOnStart,Lh as HingeJoint,p0 as HorizontalLayoutGroup,HE as HostData,Po as HoverAnimation,Yl as Image,Ta as ImageReference,Rv as ImageReferenceSerializer,R0 as InheritVelocityModule,Dv as Input,fi as InputEventQueue,Ie as InputEvents,tb as InputField,Ia as InstanceHandle,Ea as InstancingHandler,yn as InstancingUtil,Kw as InstantiateEvent,Ut as InstantiateIdProvider,Gn as InstantiateOptions,py as Interactable,sd as InternalScreenshotUtils,LM as JoinedRoomResponse,OM as KeyEventArgs,Si as Keyframe,$p as LODGroup,Wl as LODModel,jM as LeftRoomResponse,It as Light,Jv as LightData,pt as LimitVelocityOverLifetimeModule,kj as LoadingElementOptions,uy as LogStats,Li as LogType,ib as LookAt,Hr as LookAtConstraint,T as MODULES,Qt as MainModule,Ju as MarkerTrackHandler,Yf as MarkerType,Ah as MaskableGraphic,ys as MaterialPropertyBlock,fp as MaterialX,D as Mathf,Ns as MeshCollider,_h as MeshRenderer,Y as MinMaxCurve,da as MinMaxGradient,Rg as NEEDLE_ENGINE_FEATURE_FLAGS,Rc as NEKeyboardEvent,No as NEPointerEvent,VS as NeedleButtonElement,by as NeedleEngineModelLoader,fb as NeedleEngineWebComponent,_o as NeedleMenu,tu as NeedlePatchesKey,xf as NeedleXRController,Z as NeedleXRSession,Ow as NeedleXRSync,Rw as NeedleXRUtils,Vl as NestedGltf,qv as NetworkConnection,co as NetworkedStreamEvents,Pd as NetworkedStreams,k0 as Networking,ex as NewInstanceModel,ve as NoiseModule,nn as ObjectRaycaster,Rs as ObjectUtils,ca as OffsetConstraint,Gd as OneEuroFilter,ug as OneEuroFilterXYZ,Zl as OpenURL,me as OrbitControls,Dl as Outline,Gv as OwnershipEvent,cf as OwnershipModel,Os as PUBLIC_KEY,ra as Padding,Yp as ParticleBurst,T0 as ParticleSubEmitter,Fh as ParticleSystem,nr as ParticleSystemBaseBehaviour,dn as ParticleSystemRenderer,Qp as ParticleSystemShapeType,vs as PeerHandle,Vv as PeerNetworking,rc as Physics,r0 as PhysicsExtension,wt as PhysicsMaterialCombine,$h as PixelationEffect,xh as PlayAnimationOnClick,Hs as PlayAudioOnClick,ml as PlayableDirector,lc as PlayerColor,ln as PlayerState,$1 as PlayerStateEvent,Jy as PlayerSync,Xv as PlayerView,Qv as PlayerViewManager,Cd as PointerEventData,mu as PointerType,st as PostProcessingEffect,mt as PostProcessingEffectOrder,cc as PostProcessingHandler,Tl as PreliminaryAction,Sh as PreliminaryTrigger,Ws as PreviewHelper,Qa as PrimitiveType,le as Progress,sg as PromiseAllWithErrors,og as PromiseErrorResult,re as RGBAColor,dc as RapierPhysics,gm as RawImage,Ts as RaycastOptions,Z1 as Rect,Un as RectTransform,Zo as ReflectionProbe,_r as RegisteredAnimationInfo,sp as RemoteSkybox,Eo as RenderTexture,gx as RenderTextureSerializer,ni as Renderer,Kv as RendererData,ky as RendererLightmap,Je as Rigidbody,Ke as RigidbodyConstraints,ie as RoomEvents,hn as RotationBySpeedModule,zn as RotationOverLifetimeModule,gp as SceneLightSettings,et as SceneSwitcher,rr as ScreenCapture,as as ScreenSpaceAmbientOcclusion,Wn as ScreenSpaceAmbientOcclusionN8,hs as ScrollFollow,ls as SeeThrough,En as SendQueue,Yg as SerializationContext,Xy as SetActiveOnClick,Yh as ShadowCatcher,E0 as ShapeModule,ov as ShapeOverlapResult,Gh as SharpeningEffect,Ku as SignalAsset,rh as SignalReceiver,sh as SignalReceiverEvent,lh as SignalTrackHandler,Y1 as Size,Ci as SizeBySpeedModule,ua as SizeOverLifetimeModule,My as SkinnedMeshRenderer,cm as SmoothFollow,ka as SpatialGrabRaycaster,td as SpatialHtml,hm as SpatialTrigger,So as SpatialTriggerReceiver,dm as SpectatorCamera,yl as SphereCollider,Tf as SphereIntersection,_a as SplineContainer,Co as SplineData,wb as SplineUtils,pn as SplineWalker,ts as Sprite,Il as SpriteData,wi as SpriteRenderer,Al as SpriteSheet,XE as StateMachineBehaviour,ny as StreamEndedEvent,Ux as StreamReceivedEvent,tm as SubEmitterSystem,Q0 as SyncedCamera,Vn as SyncedRoom,Ln as SyncedTransform,Yy as TapGestureTrigger,Fp as TeleportTarget,K0 as TestRunner,J0 as TestSimulateUserData,Xt as Text,d0 as TextBuilder,Wp as TextExtension,Yt as TextureSheetAnimationModule,xo as TiltShiftEffect,tw as Time,or as ToneMappingEffect,pl as TrackHandler,zi as TrackType,Ue as TrailModule,Ve as TransformData,va as TransformGizmo,qt as TriggerBuilder,mr as TriggerModel,C as TypeStore,Hf as UIRaycastUtils,Mh as UIRootComponent,By as USDDocument,lt as USDObject,S1 as USDWriter,P1 as USDZExporter,wo as USDZExporter$1,Bl as USDZText,y0 as USDZUIExtension,fx as UriSerializer,yh as UsageMarker,DM as UserJoinedOrLeftRoomModel,mi as VERSION,Hy as VariantAction,Xe as VelocityOverLifetimeModule,u0 as VerticalLayoutGroup,gt as VideoPlayer,at as ViewBox,Wo as ViewDevice,fa as Vignette,Ch as VisibilityAction,zs as Voip,ba as Volume,U as VolumeParameter,im as VolumeProfile,xM as WaitForFrames,Iv as WaitForPromise,tf as WaitForSeconds,fs as Watch,rd as WebARCameraBackground,vn as WebARSessionRoot,Up as WebXR,gr as WebXRButtonFactory,ad as WebXRImageTracking,us as WebXRImageTrackingModel,ps as WebXRPlaneTracking,hc as WebXRTrackedImage,ds as XRControllerFollow,is as XRControllerModel,Wi as XRControllerMovement,sn as XRFlag,xm as XRRig,li as XRState,uo as XRStateFlag,eC as __Ignore,BE as __internalNotifyObjectDestroyed,Jn as activeInHierarchyFieldName,ig as addAttributeChangeCallback,Tn as addComponent,pA as addCustomExtensionPlugin,jr as addNewComponent,eu as addPatch,Pu as apply,eR as applyHMRChanges,mw as applyPrototypeExtensions,Jw as beginListenDestroy,ix as beginListenInstantiate,rf as binaryIdentifierCasts,gE as build_scene_functions,Tr as builtinComponentKeyName,gb as calculateProgress01,FO as clearMessages,yx as colorSerializer,xv as compareAssociation,Kc as componentSerializer,B_ as copyTexture,rx as createMotion,yi as debugNet,Ac as debugOwner,R1 as decompressGpuTexture,fc as deepClone,Fo as delay,Wd as delayForFrames,uu as deserializeObject,Bi as destroy,bw as destroyComponentInstance,Zx as determineMimeTypeFromExtension,Me as disposeObjectResources,ho as disposeStream,Cc as editorGuidKeyName,$a as enableSpatialConsole,bx as eventListSerializer,Uj as exportAsGLTF,Lf as findByGuid,nl as findObjectOfType,ww as findObjectsOfType,Af as findResourceUsers,Sx as fitCamera,U_ as fitObjectIntoVolume,Wr as foreachComponent,Fu as foreachComponentEnumerator,nk as forward,lw as generateQRCode,tx as generateSeed,ui as getBoundingBox,C_ as getCameraController,Dr as getComponent,Fc as getComponentInChildren,Uc as getComponentInParent,Bc as getComponents,il as getComponentsInChildren,Ou as getComponentsInParent,_1 as getFormattedDate,kt as getIconElement,gf as getIconTexture,kn as getLoader,Dc as getOrAddComponent,w as getParam,rk as getParentHierarchyPath,fO as getPath,RM as getPeerOptions,Nv as getPeerjsInstance,UE as getResourceUserCount,M_ as getTempColor,di as getTempQuaternion,F as getTempVector,mc as getUrlParams,F_ as getVisibleInCustomShadowRendering,A_ as getWorldDirection,_g as getWorldEuler,ee as getWorldPosition,_e as getWorldQuaternion,Yd as getWorldRotation,Ge as getWorldScale,io as hasCommercialLicense,kc as hasIndieLicense,qu as hasPointerEventComponent,to as hasProLicense,$_ as hideDebugConsole,T1 as imageToCanvas,Av as initAddressableSerializers,_x as initBuiltinSerializers,Lj as initEngine,Lx as initVolumeParameterSerializer,Vr as instantiate,c1 as invokeLoadedImportPluginHooks,rw as invokeXRSessionEnd,sw as invokeXRSessionStart,$w as isActiveInHierarchy,ll as isActiveSelf,xO as isAndroidDevice,D_ as isAnimationAction,Mg as isComponent,uO as isDebugMode,bO as isDesktop,Nr as isDestroyed,A as isDevEnvironment,DE as isDisposed,Bj as isExporting,ev as isGLTFModel,r_ as isHostedOnGlitch,zf as isHotReloadEnabled,KE as isHotReloading,vO as isIPad,cw as isIconElement,Ai as isLocalNetwork,CO as isMacOS,_O as isMobileDevice,SO as isMozillaXR,kO as isQuest,Fw as isResourceTrackingEnabled,OO as isSafari,ju as isUsingInstancing,PO as isiOS,wO as isiPad,_j as loadAsset,iy as loadPMREM,pb as loadSync,Zd as logHierarchy,QO as lookAtInverse,yc as lookAtObject,YO as lookAtScreenPoint,mO as makeId,d_ as makeIdFromRandomWords,Ni as makeNameSafe,Hw as markAsInstancedRendered,MO as microphonePermissionsGranted,dO as nameof,a_ as nameofFactory,Wf as objectSerializer,qM as offXRSessionEnd,GM as offXRSessionStart,eM as onAfterRender,Jk as onBeforeRender,Zk as onClear,Kk as onDestroy,zg as onInitialized,au as onStart,yv as onUpdate,pf as onXRSessionEnd,vu as onXRSessionStart,US as parseSync,z_ as placeOnSurface,xg as postprocessFBXMaterials,OR as prefix,l_ as pushState,gO as randomNumber,af as registerBinaryType,ku as registerComponent,Py as registerComponentExtension,un as registerCustomEffectType,Oy as registerExportExtensions,bp as registerExtensions,cx as registerHotReloadType,av as registerLoader,ox as registerPrefabProvider,_f as registerPrototypeExtensions,Pg as registerType,p_ as relativePathPrefix,ng as removeAttributeChangeCallback,vf as removeComponent,mA as removeCustomImportExtensionType,Wk as removePatch,Qn as resolveUrl,u_ as sanitizeString,IS as saveImage,JL as screenshot,lb as screenshot2,Bf as sendDestroyed,u as serializable,Ov as serializeObject,qe as serializeable,qc as setActive,y_ as setAllowBalloonMessages,LO as setAllowOverlayMessages,Xd as setAutoFitEnabled,pg as setCameraController,qw as setDestroyed,VO as setDevEnvironment,zw as setDisposable,cl as setDontDestroy,Jm as setOrAddParamsToUrl,pO as setParam,gc as setParamWithoutReload,TM as setPeerOptions,jE as setResourceTrackingEnabled,eg as setState,wg as setVisibleInCustomShadowRendering,vg as setWorldEuler,bt as setWorldPosition,Or as setWorldPositionXYZ,On as setWorldQuaternion,bg as setWorldQuaternionXYZW,j_ as setWorldRotation,bc as setWorldRotationXYZ,Va as setWorldScale,wc as showBalloonError,ke as showBalloonMessage,be as showBalloonWarning,Sg as showDebugConsole,O_ as slerp,Xc as syncDestroy,ty as syncField,Ff as syncInstantiate,ak as textureToCanvas,m_ as toSourceId,Uv as tryCastBinary,Jx as tryDetermineMimetypeFromBinary,Kx as tryDetermineMimetypeFromURL,za as tryFindObject,zv as tryGetGuid,hx as unregisterHotReloadType,tg as unwatchWrite,P_ as useForAutoFit,Mt as validate,$d as watchWrite};
@@ -1,5 +1,5 @@
1
- import { initEngine as i, GameObject as r, onClear as a, onDestroy as s, onInitialized as l, onAfterRender as d, onBeforeRender as c, onUpdate as m, onStart as p, TypeStore as g, loadAsset as u, NeedleXRSession as S, Context as C, VERSION as y, Component as E, Components as R } from "./needle-engine.bundle-CsY10n4y.js";
2
- import { $componentName as T, $physicsKey as b, ActionBuilder as M, ActionCollection as I, ActionModel as D, Addressables as O, AlignmentConstraint as x, AmbientMode as k, Animation as L, AnimationCurve as N, AnimationExtension as B, AnimationTrackHandler as F, AnimationUtils as w, Animator as U, AnimatorConditionMode as G, AnimatorController as W, AnimatorControllerParameterType as H, AnimatorStateInfo as X, Antialiasing as z, Application as V, AssetDatabase as _, AssetReference as j, Attractor as Z, AudioClip as K, AudioExtension as Q, AudioListener as $, AudioSource as Y, AudioTrackHandler as J, Avatar as q, AvatarBlink_Simple as ee, AvatarEyeLook_Rotation as te, AvatarLoader as oe, AvatarMarker as re, AvatarModel as ne, Avatar_Brain_LookAt as ie, Avatar_MouthShapes as ae, Avatar_MustacheShake as se, Avatar_POI as le, Axes as de, AxesHelper as ce, BUILD_TIME as me, BaseUIComponent as pe, BasicIKConstraint as ge, BehaviorExtension as ue, BehaviorModel as Se, Component$1 as Ce, BlobStorage as ye, BloomEffect as Ee, BoxCollider as Re, BoxGizmo as he, BoxHelperComponent as fe, Button as ve, ButtonsFactory as Pe, CallDirection as Ae, CallInfo as Te, Camera as be, CameraTargetReachedEvent as Me, Canvas as Ie, CanvasGroup as De, CapsuleCollider as Oe, ChangeMaterialOnClick as xe, ChangeTransformOnClick as ke, CharacterController as Le, CharacterControllerInput as Ne, ChromaticAberration as Be, CircularBuffer as Fe, ClearFlags as we, ClickThrough as Ue, ClipExtrapolation as Ge, Collider as We, Collision as He, CollisionDetectionMode as Xe, ColorAdjustments as ze, ColorBySpeedModule as Ve, ColorOverLifetimeModule as _e, Component$1 as je, ComponentLifecycleEvents as Ze, ConnectionEvents as Ke, ContactPoint as Qe, ContactShadows as $e, ContextArgs as Ye, ContextEvent as Je, ContextRegistry as qe, ControlTrackHandler as et, CursorFollow as tt, CustomBranding as ot, CustomShader as rt, DefaultReflectionMode as nt, Deletable as it, DeleteBox as at, DepthOfField as st, DeviceFlag as lt, DeviceUtilities as dt, DocumentExtension as ct, DragControls as mt, DragMode as pt, DropListener as gt, Duplicatable as ut, EffectWrapper as St, EmissionModule as Ct, EmphasizeOnClick as yt, EngineLoadingView as Et, EnvironmentScene as Rt, EventList as ht, EventListEvent as ft, EventSystem as vt, EventTrigger as Pt, FieldWithDefault as At, FileReference as Tt, FileReferenceSerializer as bt, FileSpawnModel as Mt, File_Event as It, FixedJoint as Dt, Fog as Ot, FrameEvent as xt, GENERATOR as kt, Gizmos as Lt, GltfExport as Nt, GltfExportBox as Bt, Gradient as Ft, Graphic as wt, GraphicRaycaster as Ut, Graphics as Gt, GridHelper as Wt, GridLayoutGroup as Ht, GroundProjectedEnv as Xt, GroupActionModel as zt, HideFlags as Vt, HideOnStart as _t, HingeJoint as jt, HorizontalLayoutGroup as Zt, HostData as Kt, HoverAnimation as Qt, Image as $t, ImageReference as Yt, ImageReferenceSerializer as Jt, InheritVelocityModule as qt, Input as eo, InputEventQueue as to, InputEvents as oo, InputField as ro, InstanceHandle as no, InstancingHandler as io, InstancingUtil as ao, InstantiateEvent as so, InstantiateIdProvider as lo, InstantiateOptions as co, Interactable as mo, InternalScreenshotUtils as po, JoinedRoomResponse as go, KeyEventArgs as uo, Keyframe as So, LODGroup as Co, LODModel as yo, LeftRoomResponse as Eo, Light as Ro, LightData as ho, LimitVelocityOverLifetimeModule as fo, LoadingElementOptions as vo, LogStats as Po, LogType as Ao, LookAt as To, LookAtConstraint as bo, MainModule as Mo, MarkerTrackHandler as Io, MarkerType as Do, MaskableGraphic as Oo, MaterialPropertyBlock as xo, MaterialX as ko, Mathf as Lo, MeshCollider as No, MeshRenderer as Bo, MinMaxCurve as Fo, MinMaxGradient as wo, NEEDLE_ENGINE_FEATURE_FLAGS as Uo, MODULES as Go, NEKeyboardEvent as Wo, NEPointerEvent as Ho, NeedleButtonElement as Xo, ContextRegistry as zo, NeedleEngineModelLoader as Vo, NeedleEngineWebComponent as _o, NeedleMenu as jo, NeedlePatchesKey as Zo, USDZExporter as Ko, NeedleXRController as Qo, NeedleXRSync as $o, NeedleXRUtils as Yo, NestedGltf as Jo, NetworkConnection as qo, NetworkedStreamEvents as er, NetworkedStreams as tr, Networking as or, NewInstanceModel as rr, NoiseModule as nr, ObjectRaycaster as ir, ObjectUtils as ar, OffsetConstraint as sr, OneEuroFilter as lr, OneEuroFilterXYZ as dr, OpenURL as cr, OrbitControls as mr, Outline as pr, OwnershipEvent as gr, OwnershipModel as ur, PUBLIC_KEY as Sr, Padding as Cr, ParticleBurst as yr, ParticleSubEmitter as Er, ParticleSystem as Rr, ParticleSystemBaseBehaviour as hr, ParticleSystemRenderer as fr, ParticleSystemShapeType as vr, PeerHandle as Pr, PeerNetworking as Ar, Physics as Tr, PhysicsExtension as br, PhysicsMaterialCombine as Mr, PixelationEffect as Ir, PlayAnimationOnClick as Dr, PlayAudioOnClick as Or, PlayableDirector as xr, PlayerColor as kr, PlayerState as Lr, PlayerStateEvent as Nr, PlayerSync as Br, PlayerView as Fr, PlayerViewManager as wr, PointerEventData as Ur, PointerType as Gr, PostProcessingEffect as Wr, PostProcessingEffectOrder as Hr, PostProcessingHandler as Xr, Volume as zr, PreliminaryAction as Vr, PreliminaryTrigger as _r, PreviewHelper as jr, PrimitiveType as Zr, Progress as Kr, PromiseAllWithErrors as Qr, PromiseErrorResult as $r, RGBAColor as Yr, RapierPhysics as Jr, RawImage as qr, RaycastOptions as en, Rect as tn, RectTransform as on, ReflectionProbe as rn, RegisteredAnimationInfo as nn, RemoteSkybox as an, RenderTexture as sn, RenderTextureSerializer as ln, Renderer as dn, RendererData as cn, RendererLightmap as mn, Rigidbody as pn, RigidbodyConstraints as gn, RoomEvents as un, RotationBySpeedModule as Sn, RotationOverLifetimeModule as Cn, SceneLightSettings as yn, SceneSwitcher as En, ScreenCapture as Rn, ScreenSpaceAmbientOcclusion as hn, ScreenSpaceAmbientOcclusionN8 as fn, ScrollFollow as vn, SeeThrough as Pn, SendQueue as An, SerializationContext as Tn, SetActiveOnClick as bn, ShadowCatcher as Mn, ShapeModule as In, ShapeOverlapResult as Dn, SharpeningEffect as On, SignalAsset as xn, SignalReceiver as kn, SignalReceiverEvent as Ln, SignalTrackHandler as Nn, Size as Bn, SizeBySpeedModule as Fn, SizeOverLifetimeModule as wn, SkinnedMeshRenderer as Un, SmoothFollow as Gn, SpatialGrabRaycaster as Wn, SpatialHtml as Hn, SpatialTrigger as Xn, SpatialTriggerReceiver as zn, SpectatorCamera as Vn, SphereCollider as _n, SphereIntersection as jn, SplineContainer as Zn, SplineData as Kn, SplineUtils as Qn, SplineWalker as $n, Sprite as Yn, SpriteData as Jn, SpriteRenderer as qn, SpriteSheet as ei, StateMachineBehaviour as ti, StreamEndedEvent as oi, StreamReceivedEvent as ri, SubEmitterSystem as ni, SyncedCamera as ii, SyncedRoom as ai, SyncedTransform as si, TapGestureTrigger as li, TeleportTarget as di, TestRunner as ci, TestSimulateUserData as mi, Text as pi, TextBuilder as gi, TextExtension as ui, TextureSheetAnimationModule as Si, TiltShiftEffect as Ci, Time as yi, ToneMappingEffect as Ei, TrackHandler as Ri, TrackType as hi, TrailModule as fi, TransformData as vi, TransformGizmo as Pi, TriggerBuilder as Ai, TriggerModel as Ti, UIRaycastUtils as bi, UIRootComponent as Mi, USDDocument as Ii, USDObject as Di, USDWriter as Oi, USDZExporter$1 as xi, USDZText as ki, USDZUIExtension as Li, UriSerializer as Ni, UsageMarker as Bi, UserJoinedOrLeftRoomModel as Fi, VariantAction as wi, VelocityOverLifetimeModule as Ui, VerticalLayoutGroup as Gi, VideoPlayer as Wi, ViewBox as Hi, ViewDevice as Xi, Vignette as zi, VisibilityAction as Vi, Voip as _i, Volume as ji, VolumeParameter as Zi, VolumeProfile as Ki, WaitForFrames as Qi, WaitForPromise as $i, WaitForSeconds as Yi, Watch as Ji, WebARCameraBackground as qi, WebARSessionRoot as ea, WebXR as ta, WebXRButtonFactory as oa, WebXRImageTracking as ra, WebXRImageTrackingModel as na, WebXRPlaneTracking as ia, WebXRTrackedImage as aa, XRControllerFollow as sa, XRControllerModel as la, XRControllerMovement as da, XRFlag as ca, XRRig as ma, XRState as pa, XRStateFlag as ga, __Ignore as ua, __internalNotifyObjectDestroyed as Sa, activeInHierarchyFieldName as Ca, addAttributeChangeCallback as ya, addComponent as Ea, addCustomExtensionPlugin as Ra, addNewComponent as ha, addPatch as fa, apply as va, applyHMRChanges as Pa, applyPrototypeExtensions as Aa, beginListenDestroy as Ta, beginListenInstantiate as ba, binaryIdentifierCasts as Ma, build_scene_functions as Ia, builtinComponentKeyName as Da, calculateProgress01 as Oa, clearMessages as xa, clearMessages as ka, colorSerializer as La, compareAssociation as Na, componentSerializer as Ba, copyTexture as Fa, createMotion as wa, debugNet as Ua, debugOwner as Ga, decompressGpuTexture as Wa, deepClone as Ha, delay as Xa, delayForFrames as za, deserializeObject as Va, destroy as _a, destroyComponentInstance as ja, determineMimeTypeFromExtension as Za, disposeObjectResources as Ka, disposeStream as Qa, editorGuidKeyName as $a, enableSpatialConsole as Ya, eventListSerializer as Ja, exportAsGLTF as qa, findByGuid as es, findObjectOfType as ts, findObjectsOfType as os, findResourceUsers as rs, fitCamera as ns, fitObjectIntoVolume as is, foreachComponent as as, foreachComponentEnumerator as ss, forward as ls, generateQRCode as ds, generateSeed as cs, getBoundingBox as ms, getCameraController as ps, getComponent as gs, getComponentInChildren as us, getComponentInParent as Ss, getComponents as Cs, getComponentsInChildren as ys, getComponentsInParent as Es, getFormattedDate as Rs, getIconElement as hs, getIconTexture as fs, getLoader as vs, getOrAddComponent as Ps, getParam as As, getParentHierarchyPath as Ts, getPath as bs, getPeerOptions as Ms, getPeerjsInstance as Is, getResourceUserCount as Ds, getTempColor as Os, getTempQuaternion as xs, getTempVector as ks, getUrlParams as Ls, getVisibleInCustomShadowRendering as Ns, getWorldDirection as Bs, getWorldEuler as Fs, getWorldPosition as ws, getWorldQuaternion as Us, getWorldRotation as Gs, getWorldScale as Ws, hasCommercialLicense as Hs, hasIndieLicense as Xs, hasPointerEventComponent as zs, hasProLicense as Vs, hideDebugConsole as _s, imageToCanvas as js, initAddressableSerializers as Zs, initBuiltinSerializers as Ks, initVolumeParameterSerializer as Qs, instantiate as $s, invokeLoadedImportPluginHooks as Ys, invokeXRSessionEnd as Js, invokeXRSessionStart as qs, isActiveInHierarchy as el, isActiveSelf as tl, isAndroidDevice as ol, isAnimationAction as rl, isComponent as nl, isDebugMode as il, isDesktop as al, isDestroyed as sl, isDevEnvironment as ll, isDisposed as dl, isExporting as cl, isGLTFModel as ml, isHostedOnGlitch as pl, isHotReloadEnabled as gl, isHotReloading as ul, isIPad as Sl, isIconElement as Cl, isLocalNetwork as yl, isMacOS as El, isMobileDevice as Rl, isMozillaXR as hl, isQuest as fl, isResourceTrackingEnabled as vl, isSafari as Pl, isUsingInstancing as Al, isiOS as Tl, isiPad as bl, loadPMREM as Ml, loadSync as Il, logHierarchy as Dl, lookAtInverse as Ol, lookAtObject as xl, lookAtScreenPoint as kl, makeId as Ll, makeIdFromRandomWords as Nl, makeNameSafe as Bl, markAsInstancedRendered as Fl, microphonePermissionsGranted as wl, nameof as Ul, nameofFactory as Gl, objectSerializer as Wl, offXRSessionEnd as Hl, offXRSessionStart as Xl, onXRSessionEnd as zl, onXRSessionStart as Vl, parseSync as _l, placeOnSurface as jl, postprocessFBXMaterials as Zl, prefix as Kl, pushState as Ql, randomNumber as $l, registerBinaryType as Yl, registerComponent as Jl, registerComponentExtension as ql, registerCustomEffectType as ed, registerExportExtensions as td, registerExtensions as od, registerHotReloadType as rd, registerLoader as nd, registerPrefabProvider as id, registerPrototypeExtensions as ad, registerType as sd, relativePathPrefix as ld, removeAttributeChangeCallback as dd, removeComponent as cd, removeCustomImportExtensionType as md, removePatch as pd, resolveUrl as gd, sanitizeString as ud, saveImage as Sd, screenshot as Cd, screenshot2 as yd, sendDestroyed as Ed, serializable as Rd, serializeObject as hd, serializeable as fd, setActive as vd, setAllowBalloonMessages as Pd, setAllowOverlayMessages as Ad, setAutoFitEnabled as Td, setCameraController as bd, setDestroyed as Md, setDevEnvironment as Id, setDisposable as Dd, setDontDestroy as Od, setOrAddParamsToUrl as xd, setParam as kd, setParamWithoutReload as Ld, setPeerOptions as Nd, setResourceTrackingEnabled as Bd, setState as Fd, setVisibleInCustomShadowRendering as wd, setWorldEuler as Ud, setWorldPosition as Gd, setWorldPositionXYZ as Wd, setWorldQuaternion as Hd, setWorldQuaternionXYZW as Xd, setWorldRotation as zd, setWorldRotationXYZ as Vd, setWorldScale as _d, showBalloonError as jd, showBalloonMessage as Zd, showBalloonWarning as Kd, showDebugConsole as Qd, slerp as $d, syncDestroy as Yd, syncField as Jd, syncInstantiate as qd, textureToCanvas as ec, toSourceId as tc, tryCastBinary as oc, tryDetermineMimetypeFromBinary as rc, tryDetermineMimetypeFromURL as nc, tryFindObject as ic, tryGetGuid as ac, unregisterHotReloadType as sc, unwatchWrite as lc, useForAutoFit as dc, validate as cc, watchWrite as mc } from "./needle-engine.bundle-CsY10n4y.js";
1
+ import { initEngine as i, GameObject as r, onClear as a, onDestroy as s, onInitialized as l, onAfterRender as d, onBeforeRender as c, onUpdate as m, onStart as p, TypeStore as g, loadAsset as u, NeedleXRSession as S, Context as C, VERSION as y, Component as E, Components as R } from "./needle-engine.bundle-CNoLozgc.js";
2
+ import { $componentName as T, $physicsKey as b, ActionBuilder as M, ActionCollection as I, ActionModel as D, Addressables as O, AlignmentConstraint as x, AmbientMode as k, Animation as L, AnimationCurve as N, AnimationExtension as B, AnimationTrackHandler as F, AnimationUtils as w, Animator as U, AnimatorConditionMode as G, AnimatorController as W, AnimatorControllerParameterType as H, AnimatorStateInfo as X, Antialiasing as z, Application as V, AssetDatabase as _, AssetReference as j, Attractor as Z, AudioClip as K, AudioExtension as Q, AudioListener as $, AudioSource as Y, AudioTrackHandler as J, Avatar as q, AvatarBlink_Simple as ee, AvatarEyeLook_Rotation as te, AvatarLoader as oe, AvatarMarker as re, AvatarModel as ne, Avatar_Brain_LookAt as ie, Avatar_MouthShapes as ae, Avatar_MustacheShake as se, Avatar_POI as le, Axes as de, AxesHelper as ce, BUILD_TIME as me, BaseUIComponent as pe, BasicIKConstraint as ge, BehaviorExtension as ue, BehaviorModel as Se, Component$1 as Ce, BlobStorage as ye, BloomEffect as Ee, BoxCollider as Re, BoxGizmo as he, BoxHelperComponent as fe, Button as ve, ButtonsFactory as Pe, CallDirection as Ae, CallInfo as Te, Camera as be, CameraTargetReachedEvent as Me, Canvas as Ie, CanvasGroup as De, CapsuleCollider as Oe, ChangeMaterialOnClick as xe, ChangeTransformOnClick as ke, CharacterController as Le, CharacterControllerInput as Ne, ChromaticAberration as Be, CircularBuffer as Fe, ClearFlags as we, ClickThrough as Ue, ClipExtrapolation as Ge, Collider as We, Collision as He, CollisionDetectionMode as Xe, ColorAdjustments as ze, ColorBySpeedModule as Ve, ColorOverLifetimeModule as _e, Component$1 as je, ComponentLifecycleEvents as Ze, ConnectionEvents as Ke, ContactPoint as Qe, ContactShadows as $e, ContextArgs as Ye, ContextEvent as Je, ContextRegistry as qe, ControlTrackHandler as et, CursorFollow as tt, CustomBranding as ot, CustomShader as rt, DefaultReflectionMode as nt, Deletable as it, DeleteBox as at, DepthOfField as st, DeviceFlag as lt, DeviceUtilities as dt, DocumentExtension as ct, DragControls as mt, DragMode as pt, DropListener as gt, Duplicatable as ut, EffectWrapper as St, EmissionModule as Ct, EmphasizeOnClick as yt, EngineLoadingView as Et, EnvironmentScene as Rt, EventList as ht, EventListEvent as ft, EventSystem as vt, EventTrigger as Pt, FieldWithDefault as At, FileReference as Tt, FileReferenceSerializer as bt, FileSpawnModel as Mt, File_Event as It, FixedJoint as Dt, Fog as Ot, FrameEvent as xt, GENERATOR as kt, Gizmos as Lt, GltfExport as Nt, GltfExportBox as Bt, Gradient as Ft, Graphic as wt, GraphicRaycaster as Ut, Graphics as Gt, GridHelper as Wt, GridLayoutGroup as Ht, GroundProjectedEnv as Xt, GroupActionModel as zt, HideFlags as Vt, HideOnStart as _t, HingeJoint as jt, HorizontalLayoutGroup as Zt, HostData as Kt, HoverAnimation as Qt, Image as $t, ImageReference as Yt, ImageReferenceSerializer as Jt, InheritVelocityModule as qt, Input as eo, InputEventQueue as to, InputEvents as oo, InputField as ro, InstanceHandle as no, InstancingHandler as io, InstancingUtil as ao, InstantiateEvent as so, InstantiateIdProvider as lo, InstantiateOptions as co, Interactable as mo, InternalScreenshotUtils as po, JoinedRoomResponse as go, KeyEventArgs as uo, Keyframe as So, LODGroup as Co, LODModel as yo, LeftRoomResponse as Eo, Light as Ro, LightData as ho, LimitVelocityOverLifetimeModule as fo, LoadingElementOptions as vo, LogStats as Po, LogType as Ao, LookAt as To, LookAtConstraint as bo, MainModule as Mo, MarkerTrackHandler as Io, MarkerType as Do, MaskableGraphic as Oo, MaterialPropertyBlock as xo, MaterialX as ko, Mathf as Lo, MeshCollider as No, MeshRenderer as Bo, MinMaxCurve as Fo, MinMaxGradient as wo, NEEDLE_ENGINE_FEATURE_FLAGS as Uo, MODULES as Go, NEKeyboardEvent as Wo, NEPointerEvent as Ho, NeedleButtonElement as Xo, ContextRegistry as zo, NeedleEngineModelLoader as Vo, NeedleEngineWebComponent as _o, NeedleMenu as jo, NeedlePatchesKey as Zo, USDZExporter as Ko, NeedleXRController as Qo, NeedleXRSync as $o, NeedleXRUtils as Yo, NestedGltf as Jo, NetworkConnection as qo, NetworkedStreamEvents as er, NetworkedStreams as tr, Networking as or, NewInstanceModel as rr, NoiseModule as nr, ObjectRaycaster as ir, ObjectUtils as ar, OffsetConstraint as sr, OneEuroFilter as lr, OneEuroFilterXYZ as dr, OpenURL as cr, OrbitControls as mr, Outline as pr, OwnershipEvent as gr, OwnershipModel as ur, PUBLIC_KEY as Sr, Padding as Cr, ParticleBurst as yr, ParticleSubEmitter as Er, ParticleSystem as Rr, ParticleSystemBaseBehaviour as hr, ParticleSystemRenderer as fr, ParticleSystemShapeType as vr, PeerHandle as Pr, PeerNetworking as Ar, Physics as Tr, PhysicsExtension as br, PhysicsMaterialCombine as Mr, PixelationEffect as Ir, PlayAnimationOnClick as Dr, PlayAudioOnClick as Or, PlayableDirector as xr, PlayerColor as kr, PlayerState as Lr, PlayerStateEvent as Nr, PlayerSync as Br, PlayerView as Fr, PlayerViewManager as wr, PointerEventData as Ur, PointerType as Gr, PostProcessingEffect as Wr, PostProcessingEffectOrder as Hr, PostProcessingHandler as Xr, Volume as zr, PreliminaryAction as Vr, PreliminaryTrigger as _r, PreviewHelper as jr, PrimitiveType as Zr, Progress as Kr, PromiseAllWithErrors as Qr, PromiseErrorResult as $r, RGBAColor as Yr, RapierPhysics as Jr, RawImage as qr, RaycastOptions as en, Rect as tn, RectTransform as on, ReflectionProbe as rn, RegisteredAnimationInfo as nn, RemoteSkybox as an, RenderTexture as sn, RenderTextureSerializer as ln, Renderer as dn, RendererData as cn, RendererLightmap as mn, Rigidbody as pn, RigidbodyConstraints as gn, RoomEvents as un, RotationBySpeedModule as Sn, RotationOverLifetimeModule as Cn, SceneLightSettings as yn, SceneSwitcher as En, ScreenCapture as Rn, ScreenSpaceAmbientOcclusion as hn, ScreenSpaceAmbientOcclusionN8 as fn, ScrollFollow as vn, SeeThrough as Pn, SendQueue as An, SerializationContext as Tn, SetActiveOnClick as bn, ShadowCatcher as Mn, ShapeModule as In, ShapeOverlapResult as Dn, SharpeningEffect as On, SignalAsset as xn, SignalReceiver as kn, SignalReceiverEvent as Ln, SignalTrackHandler as Nn, Size as Bn, SizeBySpeedModule as Fn, SizeOverLifetimeModule as wn, SkinnedMeshRenderer as Un, SmoothFollow as Gn, SpatialGrabRaycaster as Wn, SpatialHtml as Hn, SpatialTrigger as Xn, SpatialTriggerReceiver as zn, SpectatorCamera as Vn, SphereCollider as _n, SphereIntersection as jn, SplineContainer as Zn, SplineData as Kn, SplineUtils as Qn, SplineWalker as $n, Sprite as Yn, SpriteData as Jn, SpriteRenderer as qn, SpriteSheet as ei, StateMachineBehaviour as ti, StreamEndedEvent as oi, StreamReceivedEvent as ri, SubEmitterSystem as ni, SyncedCamera as ii, SyncedRoom as ai, SyncedTransform as si, TapGestureTrigger as li, TeleportTarget as di, TestRunner as ci, TestSimulateUserData as mi, Text as pi, TextBuilder as gi, TextExtension as ui, TextureSheetAnimationModule as Si, TiltShiftEffect as Ci, Time as yi, ToneMappingEffect as Ei, TrackHandler as Ri, TrackType as hi, TrailModule as fi, TransformData as vi, TransformGizmo as Pi, TriggerBuilder as Ai, TriggerModel as Ti, UIRaycastUtils as bi, UIRootComponent as Mi, USDDocument as Ii, USDObject as Di, USDWriter as Oi, USDZExporter$1 as xi, USDZText as ki, USDZUIExtension as Li, UriSerializer as Ni, UsageMarker as Bi, UserJoinedOrLeftRoomModel as Fi, VariantAction as wi, VelocityOverLifetimeModule as Ui, VerticalLayoutGroup as Gi, VideoPlayer as Wi, ViewBox as Hi, ViewDevice as Xi, Vignette as zi, VisibilityAction as Vi, Voip as _i, Volume as ji, VolumeParameter as Zi, VolumeProfile as Ki, WaitForFrames as Qi, WaitForPromise as $i, WaitForSeconds as Yi, Watch as Ji, WebARCameraBackground as qi, WebARSessionRoot as ea, WebXR as ta, WebXRButtonFactory as oa, WebXRImageTracking as ra, WebXRImageTrackingModel as na, WebXRPlaneTracking as ia, WebXRTrackedImage as aa, XRControllerFollow as sa, XRControllerModel as la, XRControllerMovement as da, XRFlag as ca, XRRig as ma, XRState as pa, XRStateFlag as ga, __Ignore as ua, __internalNotifyObjectDestroyed as Sa, activeInHierarchyFieldName as Ca, addAttributeChangeCallback as ya, addComponent as Ea, addCustomExtensionPlugin as Ra, addNewComponent as ha, addPatch as fa, apply as va, applyHMRChanges as Pa, applyPrototypeExtensions as Aa, beginListenDestroy as Ta, beginListenInstantiate as ba, binaryIdentifierCasts as Ma, build_scene_functions as Ia, builtinComponentKeyName as Da, calculateProgress01 as Oa, clearMessages as xa, clearMessages as ka, colorSerializer as La, compareAssociation as Na, componentSerializer as Ba, copyTexture as Fa, createMotion as wa, debugNet as Ua, debugOwner as Ga, decompressGpuTexture as Wa, deepClone as Ha, delay as Xa, delayForFrames as za, deserializeObject as Va, destroy as _a, destroyComponentInstance as ja, determineMimeTypeFromExtension as Za, disposeObjectResources as Ka, disposeStream as Qa, editorGuidKeyName as $a, enableSpatialConsole as Ya, eventListSerializer as Ja, exportAsGLTF as qa, findByGuid as es, findObjectOfType as ts, findObjectsOfType as os, findResourceUsers as rs, fitCamera as ns, fitObjectIntoVolume as is, foreachComponent as as, foreachComponentEnumerator as ss, forward as ls, generateQRCode as ds, generateSeed as cs, getBoundingBox as ms, getCameraController as ps, getComponent as gs, getComponentInChildren as us, getComponentInParent as Ss, getComponents as Cs, getComponentsInChildren as ys, getComponentsInParent as Es, getFormattedDate as Rs, getIconElement as hs, getIconTexture as fs, getLoader as vs, getOrAddComponent as Ps, getParam as As, getParentHierarchyPath as Ts, getPath as bs, getPeerOptions as Ms, getPeerjsInstance as Is, getResourceUserCount as Ds, getTempColor as Os, getTempQuaternion as xs, getTempVector as ks, getUrlParams as Ls, getVisibleInCustomShadowRendering as Ns, getWorldDirection as Bs, getWorldEuler as Fs, getWorldPosition as ws, getWorldQuaternion as Us, getWorldRotation as Gs, getWorldScale as Ws, hasCommercialLicense as Hs, hasIndieLicense as Xs, hasPointerEventComponent as zs, hasProLicense as Vs, hideDebugConsole as _s, imageToCanvas as js, initAddressableSerializers as Zs, initBuiltinSerializers as Ks, initVolumeParameterSerializer as Qs, instantiate as $s, invokeLoadedImportPluginHooks as Ys, invokeXRSessionEnd as Js, invokeXRSessionStart as qs, isActiveInHierarchy as el, isActiveSelf as tl, isAndroidDevice as ol, isAnimationAction as rl, isComponent as nl, isDebugMode as il, isDesktop as al, isDestroyed as sl, isDevEnvironment as ll, isDisposed as dl, isExporting as cl, isGLTFModel as ml, isHostedOnGlitch as pl, isHotReloadEnabled as gl, isHotReloading as ul, isIPad as Sl, isIconElement as Cl, isLocalNetwork as yl, isMacOS as El, isMobileDevice as Rl, isMozillaXR as hl, isQuest as fl, isResourceTrackingEnabled as vl, isSafari as Pl, isUsingInstancing as Al, isiOS as Tl, isiPad as bl, loadPMREM as Ml, loadSync as Il, logHierarchy as Dl, lookAtInverse as Ol, lookAtObject as xl, lookAtScreenPoint as kl, makeId as Ll, makeIdFromRandomWords as Nl, makeNameSafe as Bl, markAsInstancedRendered as Fl, microphonePermissionsGranted as wl, nameof as Ul, nameofFactory as Gl, objectSerializer as Wl, offXRSessionEnd as Hl, offXRSessionStart as Xl, onXRSessionEnd as zl, onXRSessionStart as Vl, parseSync as _l, placeOnSurface as jl, postprocessFBXMaterials as Zl, prefix as Kl, pushState as Ql, randomNumber as $l, registerBinaryType as Yl, registerComponent as Jl, registerComponentExtension as ql, registerCustomEffectType as ed, registerExportExtensions as td, registerExtensions as od, registerHotReloadType as rd, registerLoader as nd, registerPrefabProvider as id, registerPrototypeExtensions as ad, registerType as sd, relativePathPrefix as ld, removeAttributeChangeCallback as dd, removeComponent as cd, removeCustomImportExtensionType as md, removePatch as pd, resolveUrl as gd, sanitizeString as ud, saveImage as Sd, screenshot as Cd, screenshot2 as yd, sendDestroyed as Ed, serializable as Rd, serializeObject as hd, serializeable as fd, setActive as vd, setAllowBalloonMessages as Pd, setAllowOverlayMessages as Ad, setAutoFitEnabled as Td, setCameraController as bd, setDestroyed as Md, setDevEnvironment as Id, setDisposable as Dd, setDontDestroy as Od, setOrAddParamsToUrl as xd, setParam as kd, setParamWithoutReload as Ld, setPeerOptions as Nd, setResourceTrackingEnabled as Bd, setState as Fd, setVisibleInCustomShadowRendering as wd, setWorldEuler as Ud, setWorldPosition as Gd, setWorldPositionXYZ as Wd, setWorldQuaternion as Hd, setWorldQuaternionXYZW as Xd, setWorldRotation as zd, setWorldRotationXYZ as Vd, setWorldScale as _d, showBalloonError as jd, showBalloonMessage as Zd, showBalloonWarning as Kd, showDebugConsole as Qd, slerp as $d, syncDestroy as Yd, syncField as Jd, syncInstantiate as qd, textureToCanvas as ec, toSourceId as tc, tryCastBinary as oc, tryDetermineMimetypeFromBinary as rc, tryDetermineMimetypeFromURL as nc, tryFindObject as ic, tryGetGuid as ac, unregisterHotReloadType as sc, unwatchWrite as lc, useForAutoFit as dc, validate as cc, watchWrite as mc } from "./needle-engine.bundle-CNoLozgc.js";
3
3
  import { THREE as h } from "./three.js";
4
4
  import { NEEDLE_progressive as gc } from "./gltf-progressive-Cl167Vjx.js";
5
5
  i();
@@ -1 +1 @@
1
- import{initEngine as y,GameObject as s,onClear as o,onDestroy as r,onInitialized as n,onAfterRender as i,onBeforeRender as l,onUpdate as d,onStart as c,TypeStore as m,loadAsset as p,NeedleXRSession as g,Context as u,VERSION as S,Component as E,Components as R}from"./needle-engine.bundle-Drz4zRYf.min.js";import{$componentName as h,$physicsKey as v,ActionBuilder as f,ActionCollection as P,ActionModel as A,Addressables as T,AlignmentConstraint as b,AmbientMode as M,Animation as I,AnimationCurve as D,AnimationExtension as O,AnimationTrackHandler as x,AnimationUtils as k,Animator as L,AnimatorConditionMode as B,AnimatorController as F,AnimatorControllerParameterType as N,AnimatorStateInfo as w,Antialiasing as W,Application as G,AssetDatabase as U,AssetReference as H,Attractor as X,AudioClip as z,AudioExtension as V,AudioListener as _,AudioSource as j,AudioTrackHandler as K,Avatar as Q,AvatarBlink_Simple as Z,AvatarEyeLook_Rotation as Y,AvatarLoader as J,AvatarMarker as $,AvatarModel as q,Avatar_Brain_LookAt as ee,Avatar_MouthShapes as ae,Avatar_MustacheShake as se,Avatar_POI as te,Axes as oe,AxesHelper as re,BUILD_TIME as ne,BaseUIComponent as ie,BasicIKConstraint as le,BehaviorExtension as de,BehaviorModel as ce,Component$1 as me,BlobStorage as pe,BloomEffect as ge,BoxCollider as ue,BoxGizmo as Se,BoxHelperComponent as Ce,Button as ye,ButtonsFactory as Ee,CallDirection as Re,CallInfo as he,Camera as ve,CameraTargetReachedEvent as fe,Canvas as Pe,CanvasGroup as Ae,CapsuleCollider as Te,ChangeMaterialOnClick as be,ChangeTransformOnClick as Me,CharacterController as Ie,CharacterControllerInput as De,ChromaticAberration as Oe,CircularBuffer as xe,ClearFlags as ke,ClickThrough as Le,ClipExtrapolation as Be,Collider as Fe,Collision as Ne,CollisionDetectionMode as we,ColorAdjustments as We,ColorBySpeedModule as Ge,ColorOverLifetimeModule as Ue,Component$1 as He,ComponentLifecycleEvents as Xe,ConnectionEvents as ze,ContactPoint as Ve,ContactShadows as _e,ContextArgs as je,ContextEvent as Ke,ContextRegistry as Qe,ControlTrackHandler as Ze,CursorFollow as Ye,CustomBranding as Je,CustomShader as $e,DefaultReflectionMode as qe,Deletable as ea,DeleteBox as aa,DepthOfField as sa,DeviceFlag as ta,DeviceUtilities as oa,DocumentExtension as ra,DragControls as na,DragMode as ia,DropListener as la,Duplicatable as da,EffectWrapper as ca,EmissionModule as ma,EmphasizeOnClick as pa,EngineLoadingView as ga,EnvironmentScene as ua,EventList as Sa,EventListEvent as Ca,EventSystem as ya,EventTrigger as Ea,FieldWithDefault as Ra,FileReference as ha,FileReferenceSerializer as va,FileSpawnModel as fa,File_Event as Pa,FixedJoint as Aa,Fog as Ta,FrameEvent as ba,GENERATOR as Ma,Gizmos as Ia,GltfExport as Da,GltfExportBox as Oa,Gradient as xa,Graphic as ka,GraphicRaycaster as La,Graphics as Ba,GridHelper as Fa,GridLayoutGroup as Na,GroundProjectedEnv as wa,GroupActionModel as Wa,HideFlags as Ga,HideOnStart as Ua,HingeJoint as Ha,HorizontalLayoutGroup as Xa,HostData as za,HoverAnimation as Va,Image as _a,ImageReference as ja,ImageReferenceSerializer as Ka,InheritVelocityModule as Qa,Input as Za,InputEventQueue as Ya,InputEvents as Ja,InputField as $a,InstanceHandle as qa,InstancingHandler as es,InstancingUtil as as,InstantiateEvent as ss,InstantiateIdProvider as ts,InstantiateOptions as os,Interactable as rs,InternalScreenshotUtils as ns,JoinedRoomResponse as is,KeyEventArgs as ls,Keyframe as ds,LODGroup as cs,LODModel as ms,LeftRoomResponse as ps,Light as gs,LightData as us,LimitVelocityOverLifetimeModule as Ss,LoadingElementOptions as Cs,LogStats as ys,LogType as Es,LookAt as Rs,LookAtConstraint as hs,MainModule as vs,MarkerTrackHandler as fs,MarkerType as Ps,MaskableGraphic as As,MaterialPropertyBlock as Ts,MaterialX as bs,Mathf as Ms,MeshCollider as Is,MeshRenderer as Ds,MinMaxCurve as Os,MinMaxGradient as xs,NEEDLE_ENGINE_FEATURE_FLAGS as ks,MODULES as Ls,NEKeyboardEvent as Bs,NEPointerEvent as Fs,NeedleButtonElement as Ns,ContextRegistry as ws,NeedleEngineModelLoader as Ws,NeedleEngineWebComponent as Gs,NeedleMenu as Us,NeedlePatchesKey as Hs,USDZExporter as Xs,NeedleXRController as zs,NeedleXRSync as Vs,NeedleXRUtils as _s,NestedGltf as js,NetworkConnection as Ks,NetworkedStreamEvents as Qs,NetworkedStreams as Zs,Networking as Ys,NewInstanceModel as Js,NoiseModule as $s,ObjectRaycaster as qs,ObjectUtils as et,OffsetConstraint as at,OneEuroFilter as st,OneEuroFilterXYZ as tt,OpenURL as ot,OrbitControls as rt,Outline as nt,OwnershipEvent as it,OwnershipModel as lt,PUBLIC_KEY as dt,Padding as ct,ParticleBurst as mt,ParticleSubEmitter as pt,ParticleSystem as gt,ParticleSystemBaseBehaviour as ut,ParticleSystemRenderer as St,ParticleSystemShapeType as Ct,PeerHandle as yt,PeerNetworking as Et,Physics as Rt,PhysicsExtension as ht,PhysicsMaterialCombine as vt,PixelationEffect as ft,PlayAnimationOnClick as Pt,PlayAudioOnClick as At,PlayableDirector as Tt,PlayerColor as bt,PlayerState as Mt,PlayerStateEvent as It,PlayerSync as Dt,PlayerView as Ot,PlayerViewManager as xt,PointerEventData as kt,PointerType as Lt,PostProcessingEffect as Bt,PostProcessingEffectOrder as Ft,PostProcessingHandler as Nt,Volume as wt,PreliminaryAction as Wt,PreliminaryTrigger as Gt,PreviewHelper as Ut,PrimitiveType as Ht,Progress as Xt,PromiseAllWithErrors as zt,PromiseErrorResult as Vt,RGBAColor as _t,RapierPhysics as jt,RawImage as Kt,RaycastOptions as Qt,Rect as Zt,RectTransform as Yt,ReflectionProbe as Jt,RegisteredAnimationInfo as $t,RemoteSkybox as qt,RenderTexture as eo,RenderTextureSerializer as ao,Renderer as so,RendererData as to,RendererLightmap as oo,Rigidbody as ro,RigidbodyConstraints as no,RoomEvents as io,RotationBySpeedModule as lo,RotationOverLifetimeModule as co,SceneLightSettings as mo,SceneSwitcher as po,ScreenCapture as go,ScreenSpaceAmbientOcclusion as uo,ScreenSpaceAmbientOcclusionN8 as So,ScrollFollow as Co,SeeThrough as yo,SendQueue as Eo,SerializationContext as Ro,SetActiveOnClick as ho,ShadowCatcher as vo,ShapeModule as fo,ShapeOverlapResult as Po,SharpeningEffect as Ao,SignalAsset as To,SignalReceiver as bo,SignalReceiverEvent as Mo,SignalTrackHandler as Io,Size as Do,SizeBySpeedModule as Oo,SizeOverLifetimeModule as xo,SkinnedMeshRenderer as ko,SmoothFollow as Lo,SpatialGrabRaycaster as Bo,SpatialHtml as Fo,SpatialTrigger as No,SpatialTriggerReceiver as wo,SpectatorCamera as Wo,SphereCollider as Go,SphereIntersection as Uo,SplineContainer as Ho,SplineData as Xo,SplineUtils as zo,SplineWalker as Vo,Sprite as _o,SpriteData as jo,SpriteRenderer as Ko,SpriteSheet as Qo,StateMachineBehaviour as Zo,StreamEndedEvent as Yo,StreamReceivedEvent as Jo,SubEmitterSystem as $o,SyncedCamera as qo,SyncedRoom as er,SyncedTransform as ar,TapGestureTrigger as sr,TeleportTarget as tr,TestRunner as or,TestSimulateUserData as rr,Text as nr,TextBuilder as ir,TextExtension as lr,TextureSheetAnimationModule as dr,TiltShiftEffect as cr,Time as mr,ToneMappingEffect as pr,TrackHandler as gr,TrackType as ur,TrailModule as Sr,TransformData as Cr,TransformGizmo as yr,TriggerBuilder as Er,TriggerModel as Rr,UIRaycastUtils as hr,UIRootComponent as vr,USDDocument as fr,USDObject as Pr,USDWriter as Ar,USDZExporter$1 as Tr,USDZText as br,USDZUIExtension as Mr,UriSerializer as Ir,UsageMarker as Dr,UserJoinedOrLeftRoomModel as Or,VariantAction as xr,VelocityOverLifetimeModule as kr,VerticalLayoutGroup as Lr,VideoPlayer as Br,ViewBox as Fr,ViewDevice as Nr,Vignette as wr,VisibilityAction as Wr,Voip as Gr,Volume as Ur,VolumeParameter as Hr,VolumeProfile as Xr,WaitForFrames as zr,WaitForPromise as Vr,WaitForSeconds as _r,Watch as jr,WebARCameraBackground as Kr,WebARSessionRoot as Qr,WebXR as Zr,WebXRButtonFactory as Yr,WebXRImageTracking as Jr,WebXRImageTrackingModel as $r,WebXRPlaneTracking as qr,WebXRTrackedImage as en,XRControllerFollow as an,XRControllerModel as sn,XRControllerMovement as tn,XRFlag as on,XRRig as rn,XRState as nn,XRStateFlag as ln,__Ignore as dn,__internalNotifyObjectDestroyed as cn,activeInHierarchyFieldName as mn,addAttributeChangeCallback as pn,addComponent as gn,addCustomExtensionPlugin as un,addNewComponent as Sn,addPatch as Cn,apply as yn,applyHMRChanges as En,applyPrototypeExtensions as Rn,beginListenDestroy as hn,beginListenInstantiate as vn,binaryIdentifierCasts as fn,build_scene_functions as Pn,builtinComponentKeyName as An,calculateProgress01 as Tn,clearMessages as bn,clearMessages as Mn,colorSerializer as In,compareAssociation as Dn,componentSerializer as On,copyTexture as xn,createMotion as kn,debugNet as Ln,debugOwner as Bn,decompressGpuTexture as Fn,deepClone as Nn,delay as wn,delayForFrames as Wn,deserializeObject as Gn,destroy as Un,destroyComponentInstance as Hn,determineMimeTypeFromExtension as Xn,disposeObjectResources as zn,disposeStream as Vn,editorGuidKeyName as _n,enableSpatialConsole as jn,eventListSerializer as Kn,exportAsGLTF as Qn,findByGuid as Zn,findObjectOfType as Yn,findObjectsOfType as Jn,findResourceUsers as $n,fitCamera as qn,fitObjectIntoVolume as ei,foreachComponent as ai,foreachComponentEnumerator as si,forward as ti,generateQRCode as oi,generateSeed as ri,getBoundingBox as ni,getCameraController as ii,getComponent as li,getComponentInChildren as di,getComponentInParent as ci,getComponents as mi,getComponentsInChildren as pi,getComponentsInParent as gi,getFormattedDate as ui,getIconElement as Si,getIconTexture as Ci,getLoader as yi,getOrAddComponent as Ei,getParam as Ri,getParentHierarchyPath as hi,getPath as vi,getPeerOptions as fi,getPeerjsInstance as Pi,getResourceUserCount as Ai,getTempColor as Ti,getTempQuaternion as bi,getTempVector as Mi,getUrlParams as Ii,getVisibleInCustomShadowRendering as Di,getWorldDirection as Oi,getWorldEuler as xi,getWorldPosition as ki,getWorldQuaternion as Li,getWorldRotation as Bi,getWorldScale as Fi,hasCommercialLicense as Ni,hasIndieLicense as wi,hasPointerEventComponent as Wi,hasProLicense as Gi,hideDebugConsole as Ui,imageToCanvas as Hi,initAddressableSerializers as Xi,initBuiltinSerializers as zi,initVolumeParameterSerializer as Vi,instantiate as _i,invokeLoadedImportPluginHooks as ji,invokeXRSessionEnd as Ki,invokeXRSessionStart as Qi,isActiveInHierarchy as Zi,isActiveSelf as Yi,isAndroidDevice as Ji,isAnimationAction as $i,isComponent as qi,isDebugMode as el,isDesktop as al,isDestroyed as sl,isDevEnvironment as tl,isDisposed as ol,isExporting as rl,isGLTFModel as nl,isHostedOnGlitch as il,isHotReloadEnabled as ll,isHotReloading as dl,isIPad as cl,isIconElement as ml,isLocalNetwork as pl,isMacOS as gl,isMobileDevice as ul,isMozillaXR as Sl,isQuest as Cl,isResourceTrackingEnabled as yl,isSafari as El,isUsingInstancing as Rl,isiOS as hl,isiPad as vl,loadPMREM as fl,loadSync as Pl,logHierarchy as Al,lookAtInverse as Tl,lookAtObject as bl,lookAtScreenPoint as Ml,makeId as Il,makeIdFromRandomWords as Dl,makeNameSafe as Ol,markAsInstancedRendered as xl,microphonePermissionsGranted as kl,nameof as Ll,nameofFactory as Bl,objectSerializer as Fl,offXRSessionEnd as Nl,offXRSessionStart as wl,onXRSessionEnd as Wl,onXRSessionStart as Gl,parseSync as Ul,placeOnSurface as Hl,postprocessFBXMaterials as Xl,prefix as zl,pushState as Vl,randomNumber as _l,registerBinaryType as jl,registerComponent as Kl,registerComponentExtension as Ql,registerCustomEffectType as Zl,registerExportExtensions as Yl,registerExtensions as Jl,registerHotReloadType as $l,registerLoader as ql,registerPrefabProvider as ed,registerPrototypeExtensions as ad,registerType as sd,relativePathPrefix as td,removeAttributeChangeCallback as od,removeComponent as rd,removeCustomImportExtensionType as nd,removePatch as id,resolveUrl as ld,sanitizeString as dd,saveImage as cd,screenshot as md,screenshot2 as pd,sendDestroyed as gd,serializable as ud,serializeObject as Sd,serializeable as Cd,setActive as yd,setAllowBalloonMessages as Ed,setAllowOverlayMessages as Rd,setAutoFitEnabled as hd,setCameraController as vd,setDestroyed as fd,setDevEnvironment as Pd,setDisposable as Ad,setDontDestroy as Td,setOrAddParamsToUrl as bd,setParam as Md,setParamWithoutReload as Id,setPeerOptions as Dd,setResourceTrackingEnabled as Od,setState as xd,setVisibleInCustomShadowRendering as kd,setWorldEuler as Ld,setWorldPosition as Bd,setWorldPositionXYZ as Fd,setWorldQuaternion as Nd,setWorldQuaternionXYZW as wd,setWorldRotation as Wd,setWorldRotationXYZ as Gd,setWorldScale as Ud,showBalloonError as Hd,showBalloonMessage as Xd,showBalloonWarning as zd,showDebugConsole as Vd,slerp as _d,syncDestroy as jd,syncField as Kd,syncInstantiate as Qd,textureToCanvas as Zd,toSourceId as Yd,tryCastBinary as Jd,tryDetermineMimetypeFromBinary as $d,tryDetermineMimetypeFromURL as qd,tryFindObject as ec,tryGetGuid as ac,unregisterHotReloadType as sc,unwatchWrite as tc,useForAutoFit as oc,validate as rc,watchWrite as nc}from"./needle-engine.bundle-Drz4zRYf.min.js";import{THREE as ic}from"./three.min.js";import{NEEDLE_progressive as lc}from"./gltf-progressive-BryRjllq.min.js";y();const a={VERSION:S,Context:u,NeedleXRSession:g,assets:{loadFromURL:p},types:m,onStart:c,onUpdate:d,onBeforeRender:l,onAfterRender:i,onInitializedContext:n,onDestroyContext:r,onClearContext:o};globalThis.Needle?.VERSION!==void 0&&console.warn(`Needle Engine is already imported: ${globalThis.Needle.VERSION}`);function C(e){for(const t in e)a[t]=e[t]}C(E),C(R);for(const e of Object.getOwnPropertyNames(s))switch(e){case"prototype":case"constructor":case"length":case"name":continue;default:a[e]=s[e];break}if(!globalThis.Needle)globalThis.Needle=a;else for(const e in a)globalThis.Needle[e]=a[e];globalThis.THREE?console.warn("Three.js is already imported"):globalThis.THREE=ic;export{h as $componentName,v as $physicsKey,f as ActionBuilder,P as ActionCollection,A as ActionModel,T as Addressables,b as AlignmentConstraint,M as AmbientMode,I as Animation,D as AnimationCurve,O as AnimationExtension,x as AnimationTrackHandler,k as AnimationUtils,L as Animator,B as AnimatorConditionMode,F as AnimatorController,N as AnimatorControllerParameterType,w as AnimatorStateInfo,W as Antialiasing,G as Application,U as AssetDatabase,H as AssetReference,X as Attractor,z as AudioClip,V as AudioExtension,_ as AudioListener,j as AudioSource,K as AudioTrackHandler,Q as Avatar,Z as AvatarBlink_Simple,Y as AvatarEyeLook_Rotation,J as AvatarLoader,$ as AvatarMarker,q as AvatarModel,ee as Avatar_Brain_LookAt,ae as Avatar_MouthShapes,se as Avatar_MustacheShake,te as Avatar_POI,oe as Axes,re as AxesHelper,ne as BUILD_TIME,ie as BaseUIComponent,le as BasicIKConstraint,de as BehaviorExtension,ce as BehaviorModel,me as Behaviour,pe as BlobStorage,ge as BloomEffect,ue as BoxCollider,Se as BoxGizmo,Ce as BoxHelperComponent,ye as Button,Ee as ButtonsFactory,Re as CallDirection,he as CallInfo,ve as Camera,fe as CameraTargetReachedEvent,Pe as Canvas,Ae as CanvasGroup,Te as CapsuleCollider,be as ChangeMaterialOnClick,Me as ChangeTransformOnClick,Ie as CharacterController,De as CharacterControllerInput,Oe as ChromaticAberration,xe as CircularBuffer,ke as ClearFlags,Le as ClickThrough,Be as ClipExtrapolation,Fe as Collider,Ne as Collision,we as CollisionDetectionMode,We as ColorAdjustments,Ge as ColorBySpeedModule,Ue as ColorOverLifetimeModule,He as Component,Xe as ComponentLifecycleEvents,ze as ConnectionEvents,Ve as ContactPoint,_e as ContactShadows,u as Context,je as ContextArgs,Ke as ContextEvent,Qe as ContextRegistry,Ze as ControlTrackHandler,Ye as CursorFollow,Je as CustomBranding,$e as CustomShader,qe as DefaultReflectionMode,ea as Deletable,aa as DeleteBox,sa as DepthOfField,ta as DeviceFlag,oa as DeviceUtilities,ra as DocumentExtension,na as DragControls,ia as DragMode,la as DropListener,da as Duplicatable,ca as EffectWrapper,ma as EmissionModule,pa as EmphasizeOnClick,ga as EngineLoadingView,ua as EnvironmentScene,Sa as EventList,Ca as EventListEvent,ya as EventSystem,Ea as EventTrigger,Ra as FieldWithDefault,ha as FileReference,va as FileReferenceSerializer,fa as FileSpawnModel,Pa as File_Event,Aa as FixedJoint,Ta as Fog,ba as FrameEvent,Ma as GENERATOR,s as GameObject,Ia as Gizmos,Da as GltfExport,Oa as GltfExportBox,xa as Gradient,ka as Graphic,La as GraphicRaycaster,Ba as Graphics,Fa as GridHelper,Na as GridLayoutGroup,wa as GroundProjectedEnv,Wa as GroupActionModel,Ga as HideFlags,Ua as HideOnStart,Ha as HingeJoint,Xa as HorizontalLayoutGroup,za as HostData,Va as HoverAnimation,_a as Image,ja as ImageReference,Ka as ImageReferenceSerializer,Qa as InheritVelocityModule,Za as Input,Ya as InputEventQueue,Ja as InputEvents,$a as InputField,qa as InstanceHandle,es as InstancingHandler,as as InstancingUtil,ss as InstantiateEvent,ts as InstantiateIdProvider,os as InstantiateOptions,rs as Interactable,ns as InternalScreenshotUtils,is as JoinedRoomResponse,ls as KeyEventArgs,ds as Keyframe,cs as LODGroup,ms as LODModel,ps as LeftRoomResponse,gs as Light,us as LightData,Ss as LimitVelocityOverLifetimeModule,Cs as LoadingElementOptions,ys as LogStats,Es as LogType,Rs as LookAt,hs as LookAtConstraint,vs as MainModule,fs as MarkerTrackHandler,Ps as MarkerType,As as MaskableGraphic,Ts as MaterialPropertyBlock,bs as MaterialX,Ms as Mathf,Is as MeshCollider,Ds as MeshRenderer,Os as MinMaxCurve,xs as MinMaxGradient,ks as NEEDLE_ENGINE_FEATURE_FLAGS,Ls as NEEDLE_ENGINE_MODULES,lc as NEEDLE_progressive,Bs as NEKeyboardEvent,Fs as NEPointerEvent,Ns as NeedleButtonElement,ws as NeedleEngine,Ws as NeedleEngineModelLoader,Gs as NeedleEngineWebComponent,Us as NeedleMenu,Hs as NeedlePatchesKey,Xs as NeedleUSDZExporter,zs as NeedleXRController,g as NeedleXRSession,Vs as NeedleXRSync,_s as NeedleXRUtils,js as NestedGltf,Ks as NetworkConnection,Qs as NetworkedStreamEvents,Zs as NetworkedStreams,Ys as Networking,Js as NewInstanceModel,$s as NoiseModule,qs as ObjectRaycaster,et as ObjectUtils,at as OffsetConstraint,st as OneEuroFilter,tt as OneEuroFilterXYZ,ot as OpenURL,rt as OrbitControls,nt as Outline,it as OwnershipEvent,lt as OwnershipModel,dt as PUBLIC_KEY,ct as Padding,mt as ParticleBurst,pt as ParticleSubEmitter,gt as ParticleSystem,ut as ParticleSystemBaseBehaviour,St as ParticleSystemRenderer,Ct as ParticleSystemShapeType,yt as PeerHandle,Et as PeerNetworking,Rt as Physics,ht as PhysicsExtension,vt as PhysicsMaterialCombine,ft as PixelationEffect,Pt as PlayAnimationOnClick,At as PlayAudioOnClick,Tt as PlayableDirector,bt as PlayerColor,Mt as PlayerState,It as PlayerStateEvent,Dt as PlayerSync,Ot as PlayerView,xt as PlayerViewManager,kt as PointerEventData,Lt as PointerType,Bt as PostProcessingEffect,Ft as PostProcessingEffectOrder,Nt as PostProcessingHandler,wt as PostProcessingManager,Wt as PreliminaryAction,Gt as PreliminaryTrigger,Ut as PreviewHelper,Ht as PrimitiveType,Xt as Progress,zt as PromiseAllWithErrors,Vt as PromiseErrorResult,_t as RGBAColor,jt as RapierPhysics,Kt as RawImage,Qt as RaycastOptions,Zt as Rect,Yt as RectTransform,Jt as ReflectionProbe,$t as RegisteredAnimationInfo,qt as RemoteSkybox,eo as RenderTexture,ao as RenderTextureSerializer,so as Renderer,to as RendererData,oo as RendererLightmap,ro as Rigidbody,no as RigidbodyConstraints,io as RoomEvents,lo as RotationBySpeedModule,co as RotationOverLifetimeModule,mo as SceneLightSettings,po as SceneSwitcher,go as ScreenCapture,uo as ScreenSpaceAmbientOcclusion,So as ScreenSpaceAmbientOcclusionN8,Co as ScrollFollow,yo as SeeThrough,Eo as SendQueue,Ro as SerializationContext,ho as SetActiveOnClick,vo as ShadowCatcher,fo as ShapeModule,Po as ShapeOverlapResult,Ao as SharpeningEffect,To as SignalAsset,bo as SignalReceiver,Mo as SignalReceiverEvent,Io as SignalTrackHandler,Do as Size,Oo as SizeBySpeedModule,xo as SizeOverLifetimeModule,ko as SkinnedMeshRenderer,Lo as SmoothFollow,Bo as SpatialGrabRaycaster,Fo as SpatialHtml,No as SpatialTrigger,wo as SpatialTriggerReceiver,Wo as SpectatorCamera,Go as SphereCollider,Uo as SphereIntersection,Ho as SplineContainer,Xo as SplineData,zo as SplineUtils,Vo as SplineWalker,_o as Sprite,jo as SpriteData,Ko as SpriteRenderer,Qo as SpriteSheet,Zo as StateMachineBehaviour,Yo as StreamEndedEvent,Jo as StreamReceivedEvent,$o as SubEmitterSystem,qo as SyncedCamera,er as SyncedRoom,ar as SyncedTransform,sr as TapGestureTrigger,tr as TeleportTarget,or as TestRunner,rr as TestSimulateUserData,nr as Text,ir as TextBuilder,lr as TextExtension,dr as TextureSheetAnimationModule,cr as TiltShiftEffect,mr as Time,pr as ToneMappingEffect,gr as TrackHandler,ur as TrackType,Sr as TrailModule,Cr as TransformData,yr as TransformGizmo,Er as TriggerBuilder,Rr as TriggerModel,m as TypeStore,hr as UIRaycastUtils,vr as UIRootComponent,fr as USDDocument,Pr as USDObject,Ar as USDWriter,Tr as USDZExporter,br as USDZText,Mr as USDZUIExtension,Ir as UriSerializer,Dr as UsageMarker,Or as UserJoinedOrLeftRoomModel,S as VERSION,xr as VariantAction,kr as VelocityOverLifetimeModule,Lr as VerticalLayoutGroup,Br as VideoPlayer,Fr as ViewBox,Nr as ViewDevice,wr as Vignette,Wr as VisibilityAction,Gr as Voip,Ur as Volume,Hr as VolumeParameter,Xr as VolumeProfile,zr as WaitForFrames,Vr as WaitForPromise,_r as WaitForSeconds,jr as Watch,Kr as WebARCameraBackground,Qr as WebARSessionRoot,Zr as WebXR,Yr as WebXRButtonFactory,Jr as WebXRImageTracking,$r as WebXRImageTrackingModel,qr as WebXRPlaneTracking,en as WebXRTrackedImage,an as XRControllerFollow,sn as XRControllerModel,tn as XRControllerMovement,on as XRFlag,rn as XRRig,nn as XRState,ln as XRStateFlag,dn as __Ignore,cn as __internalNotifyObjectDestroyed,mn as activeInHierarchyFieldName,pn as addAttributeChangeCallback,gn as addComponent,un as addCustomExtensionPlugin,Sn as addNewComponent,Cn as addPatch,yn as apply,En as applyHMRChanges,Rn as applyPrototypeExtensions,hn as beginListenDestroy,vn as beginListenInstantiate,fn as binaryIdentifierCasts,Pn as build_scene_functions,An as builtinComponentKeyName,Tn as calculateProgress01,bn as clearBalloonMessages,Mn as clearOverlayMessages,In as colorSerializer,Dn as compareAssociation,On as componentSerializer,xn as copyTexture,kn as createMotion,Ln as debugNet,Bn as debugOwner,Fn as decompressGpuTexture,Nn as deepClone,wn as delay,Wn as delayForFrames,Gn as deserializeObject,Un as destroy,Hn as destroyComponentInstance,Xn as determineMimeTypeFromExtension,zn as disposeObjectResources,Vn as disposeStream,_n as editorGuidKeyName,jn as enableSpatialConsole,Kn as eventListSerializer,Qn as exportAsGLTF,Zn as findByGuid,Yn as findObjectOfType,Jn as findObjectsOfType,$n as findResourceUsers,qn as fitCamera,ei as fitObjectIntoVolume,ai as foreachComponent,si as foreachComponentEnumerator,ti as forward,oi as generateQRCode,ri as generateSeed,ni as getBoundingBox,ii as getCameraController,li as getComponent,di as getComponentInChildren,ci as getComponentInParent,mi as getComponents,pi as getComponentsInChildren,gi as getComponentsInParent,ui as getFormattedDate,Si as getIconElement,Ci as getIconTexture,yi as getLoader,Ei as getOrAddComponent,Ri as getParam,hi as getParentHierarchyPath,vi as getPath,fi as getPeerOptions,Pi as getPeerjsInstance,Ai as getResourceUserCount,Ti as getTempColor,bi as getTempQuaternion,Mi as getTempVector,Ii as getUrlParams,Di as getVisibleInCustomShadowRendering,Oi as getWorldDirection,xi as getWorldEuler,ki as getWorldPosition,Li as getWorldQuaternion,Bi as getWorldRotation,Fi as getWorldScale,Ni as hasCommercialLicense,wi as hasIndieLicense,Wi as hasPointerEventComponent,Gi as hasProLicense,Ui as hideDebugConsole,Hi as imageToCanvas,Xi as initAddressableSerializers,zi as initBuiltinSerializers,Vi as initVolumeParameterSerializer,_i as instantiate,ji as invokeLoadedImportPluginHooks,Ki as invokeXRSessionEnd,Qi as invokeXRSessionStart,Zi as isActiveInHierarchy,Yi as isActiveSelf,Ji as isAndroidDevice,$i as isAnimationAction,qi as isComponent,el as isDebugMode,al as isDesktop,sl as isDestroyed,tl as isDevEnvironment,ol as isDisposed,rl as isExporting,nl as isGLTFModel,il as isHostedOnGlitch,ll as isHotReloadEnabled,dl as isHotReloading,cl as isIPad,ml as isIconElement,pl as isLocalNetwork,gl as isMacOS,ul as isMobileDevice,Sl as isMozillaXR,Cl as isQuest,yl as isResourceTrackingEnabled,El as isSafari,Rl as isUsingInstancing,hl as isiOS,vl as isiPad,p as loadAsset,fl as loadPMREM,Pl as loadSync,Al as logHierarchy,Tl as lookAtInverse,bl as lookAtObject,Ml as lookAtScreenPoint,Il as makeId,Dl as makeIdFromRandomWords,Ol as makeNameSafeForUSD,xl as markAsInstancedRendered,kl as microphonePermissionsGranted,Ll as nameof,Bl as nameofFactory,Fl as objectSerializer,Nl as offXRSessionEnd,wl as offXRSessionStart,i as onAfterRender,l as onBeforeRender,o as onClear,r as onDestroy,n as onInitialized,c as onStart,d as onUpdate,Wl as onXRSessionEnd,Gl as onXRSessionStart,Ul as parseSync,Hl as placeOnSurface,Xl as postprocessFBXMaterials,zl as prefix,Vl as pushState,_l as randomNumber,jl as registerBinaryType,Kl as registerComponent,Ql as registerComponentExtension,Zl as registerCustomEffectType,Yl as registerExportExtensions,Jl as registerExtensions,$l as registerHotReloadType,ql as registerLoader,ed as registerPrefabProvider,ad as registerPrototypeExtensions,sd as registerType,td as relativePathPrefix,od as removeAttributeChangeCallback,rd as removeComponent,nd as removeCustomImportExtensionType,id as removePatch,ld as resolveUrl,dd as sanitizeString,cd as saveImage,md as screenshot,pd as screenshot2,gd as sendDestroyed,ud as serializable,Sd as serializeObject,Cd as serializeable,yd as setActive,Ed as setAllowBalloonMessages,Rd as setAllowOverlayMessages,hd as setAutoFitEnabled,vd as setCameraController,fd as setDestroyed,Pd as setDevEnvironment,Ad as setDisposable,Td as setDontDestroy,bd as setOrAddParamsToUrl,Md as setParam,Id as setParamWithoutReload,Dd as setPeerOptions,Od as setResourceTrackingEnabled,xd as setState,kd as setVisibleInCustomShadowRendering,Ld as setWorldEuler,Bd as setWorldPosition,Fd as setWorldPositionXYZ,Nd as setWorldQuaternion,wd as setWorldQuaternionXYZW,Wd as setWorldRotation,Gd as setWorldRotationXYZ,Ud as setWorldScale,Hd as showBalloonError,Xd as showBalloonMessage,zd as showBalloonWarning,Vd as showDebugConsole,_d as slerp,jd as syncDestroy,Kd as syncField,Qd as syncInstantiate,Zd as textureToCanvas,Yd as toSourceId,Jd as tryCastBinary,$d as tryDetermineMimetypeFromBinary,qd as tryDetermineMimetypeFromURL,ec as tryFindObject,ac as tryGetGuid,sc as unregisterHotReloadType,tc as unwatchWrite,oc as useForAutoFit,rc as validate,nc as watchWrite};
1
+ import{initEngine as y,GameObject as s,onClear as o,onDestroy as r,onInitialized as n,onAfterRender as i,onBeforeRender as l,onUpdate as d,onStart as c,TypeStore as m,loadAsset as p,NeedleXRSession as g,Context as u,VERSION as S,Component as E,Components as R}from"./needle-engine.bundle-DNW6Q7aB.min.js";import{$componentName as h,$physicsKey as v,ActionBuilder as f,ActionCollection as P,ActionModel as A,Addressables as T,AlignmentConstraint as b,AmbientMode as M,Animation as I,AnimationCurve as D,AnimationExtension as O,AnimationTrackHandler as x,AnimationUtils as k,Animator as L,AnimatorConditionMode as B,AnimatorController as F,AnimatorControllerParameterType as N,AnimatorStateInfo as w,Antialiasing as W,Application as G,AssetDatabase as U,AssetReference as H,Attractor as X,AudioClip as z,AudioExtension as V,AudioListener as _,AudioSource as j,AudioTrackHandler as K,Avatar as Q,AvatarBlink_Simple as Z,AvatarEyeLook_Rotation as Y,AvatarLoader as J,AvatarMarker as $,AvatarModel as q,Avatar_Brain_LookAt as ee,Avatar_MouthShapes as ae,Avatar_MustacheShake as se,Avatar_POI as te,Axes as oe,AxesHelper as re,BUILD_TIME as ne,BaseUIComponent as ie,BasicIKConstraint as le,BehaviorExtension as de,BehaviorModel as ce,Component$1 as me,BlobStorage as pe,BloomEffect as ge,BoxCollider as ue,BoxGizmo as Se,BoxHelperComponent as Ce,Button as ye,ButtonsFactory as Ee,CallDirection as Re,CallInfo as he,Camera as ve,CameraTargetReachedEvent as fe,Canvas as Pe,CanvasGroup as Ae,CapsuleCollider as Te,ChangeMaterialOnClick as be,ChangeTransformOnClick as Me,CharacterController as Ie,CharacterControllerInput as De,ChromaticAberration as Oe,CircularBuffer as xe,ClearFlags as ke,ClickThrough as Le,ClipExtrapolation as Be,Collider as Fe,Collision as Ne,CollisionDetectionMode as we,ColorAdjustments as We,ColorBySpeedModule as Ge,ColorOverLifetimeModule as Ue,Component$1 as He,ComponentLifecycleEvents as Xe,ConnectionEvents as ze,ContactPoint as Ve,ContactShadows as _e,ContextArgs as je,ContextEvent as Ke,ContextRegistry as Qe,ControlTrackHandler as Ze,CursorFollow as Ye,CustomBranding as Je,CustomShader as $e,DefaultReflectionMode as qe,Deletable as ea,DeleteBox as aa,DepthOfField as sa,DeviceFlag as ta,DeviceUtilities as oa,DocumentExtension as ra,DragControls as na,DragMode as ia,DropListener as la,Duplicatable as da,EffectWrapper as ca,EmissionModule as ma,EmphasizeOnClick as pa,EngineLoadingView as ga,EnvironmentScene as ua,EventList as Sa,EventListEvent as Ca,EventSystem as ya,EventTrigger as Ea,FieldWithDefault as Ra,FileReference as ha,FileReferenceSerializer as va,FileSpawnModel as fa,File_Event as Pa,FixedJoint as Aa,Fog as Ta,FrameEvent as ba,GENERATOR as Ma,Gizmos as Ia,GltfExport as Da,GltfExportBox as Oa,Gradient as xa,Graphic as ka,GraphicRaycaster as La,Graphics as Ba,GridHelper as Fa,GridLayoutGroup as Na,GroundProjectedEnv as wa,GroupActionModel as Wa,HideFlags as Ga,HideOnStart as Ua,HingeJoint as Ha,HorizontalLayoutGroup as Xa,HostData as za,HoverAnimation as Va,Image as _a,ImageReference as ja,ImageReferenceSerializer as Ka,InheritVelocityModule as Qa,Input as Za,InputEventQueue as Ya,InputEvents as Ja,InputField as $a,InstanceHandle as qa,InstancingHandler as es,InstancingUtil as as,InstantiateEvent as ss,InstantiateIdProvider as ts,InstantiateOptions as os,Interactable as rs,InternalScreenshotUtils as ns,JoinedRoomResponse as is,KeyEventArgs as ls,Keyframe as ds,LODGroup as cs,LODModel as ms,LeftRoomResponse as ps,Light as gs,LightData as us,LimitVelocityOverLifetimeModule as Ss,LoadingElementOptions as Cs,LogStats as ys,LogType as Es,LookAt as Rs,LookAtConstraint as hs,MainModule as vs,MarkerTrackHandler as fs,MarkerType as Ps,MaskableGraphic as As,MaterialPropertyBlock as Ts,MaterialX as bs,Mathf as Ms,MeshCollider as Is,MeshRenderer as Ds,MinMaxCurve as Os,MinMaxGradient as xs,NEEDLE_ENGINE_FEATURE_FLAGS as ks,MODULES as Ls,NEKeyboardEvent as Bs,NEPointerEvent as Fs,NeedleButtonElement as Ns,ContextRegistry as ws,NeedleEngineModelLoader as Ws,NeedleEngineWebComponent as Gs,NeedleMenu as Us,NeedlePatchesKey as Hs,USDZExporter as Xs,NeedleXRController as zs,NeedleXRSync as Vs,NeedleXRUtils as _s,NestedGltf as js,NetworkConnection as Ks,NetworkedStreamEvents as Qs,NetworkedStreams as Zs,Networking as Ys,NewInstanceModel as Js,NoiseModule as $s,ObjectRaycaster as qs,ObjectUtils as et,OffsetConstraint as at,OneEuroFilter as st,OneEuroFilterXYZ as tt,OpenURL as ot,OrbitControls as rt,Outline as nt,OwnershipEvent as it,OwnershipModel as lt,PUBLIC_KEY as dt,Padding as ct,ParticleBurst as mt,ParticleSubEmitter as pt,ParticleSystem as gt,ParticleSystemBaseBehaviour as ut,ParticleSystemRenderer as St,ParticleSystemShapeType as Ct,PeerHandle as yt,PeerNetworking as Et,Physics as Rt,PhysicsExtension as ht,PhysicsMaterialCombine as vt,PixelationEffect as ft,PlayAnimationOnClick as Pt,PlayAudioOnClick as At,PlayableDirector as Tt,PlayerColor as bt,PlayerState as Mt,PlayerStateEvent as It,PlayerSync as Dt,PlayerView as Ot,PlayerViewManager as xt,PointerEventData as kt,PointerType as Lt,PostProcessingEffect as Bt,PostProcessingEffectOrder as Ft,PostProcessingHandler as Nt,Volume as wt,PreliminaryAction as Wt,PreliminaryTrigger as Gt,PreviewHelper as Ut,PrimitiveType as Ht,Progress as Xt,PromiseAllWithErrors as zt,PromiseErrorResult as Vt,RGBAColor as _t,RapierPhysics as jt,RawImage as Kt,RaycastOptions as Qt,Rect as Zt,RectTransform as Yt,ReflectionProbe as Jt,RegisteredAnimationInfo as $t,RemoteSkybox as qt,RenderTexture as eo,RenderTextureSerializer as ao,Renderer as so,RendererData as to,RendererLightmap as oo,Rigidbody as ro,RigidbodyConstraints as no,RoomEvents as io,RotationBySpeedModule as lo,RotationOverLifetimeModule as co,SceneLightSettings as mo,SceneSwitcher as po,ScreenCapture as go,ScreenSpaceAmbientOcclusion as uo,ScreenSpaceAmbientOcclusionN8 as So,ScrollFollow as Co,SeeThrough as yo,SendQueue as Eo,SerializationContext as Ro,SetActiveOnClick as ho,ShadowCatcher as vo,ShapeModule as fo,ShapeOverlapResult as Po,SharpeningEffect as Ao,SignalAsset as To,SignalReceiver as bo,SignalReceiverEvent as Mo,SignalTrackHandler as Io,Size as Do,SizeBySpeedModule as Oo,SizeOverLifetimeModule as xo,SkinnedMeshRenderer as ko,SmoothFollow as Lo,SpatialGrabRaycaster as Bo,SpatialHtml as Fo,SpatialTrigger as No,SpatialTriggerReceiver as wo,SpectatorCamera as Wo,SphereCollider as Go,SphereIntersection as Uo,SplineContainer as Ho,SplineData as Xo,SplineUtils as zo,SplineWalker as Vo,Sprite as _o,SpriteData as jo,SpriteRenderer as Ko,SpriteSheet as Qo,StateMachineBehaviour as Zo,StreamEndedEvent as Yo,StreamReceivedEvent as Jo,SubEmitterSystem as $o,SyncedCamera as qo,SyncedRoom as er,SyncedTransform as ar,TapGestureTrigger as sr,TeleportTarget as tr,TestRunner as or,TestSimulateUserData as rr,Text as nr,TextBuilder as ir,TextExtension as lr,TextureSheetAnimationModule as dr,TiltShiftEffect as cr,Time as mr,ToneMappingEffect as pr,TrackHandler as gr,TrackType as ur,TrailModule as Sr,TransformData as Cr,TransformGizmo as yr,TriggerBuilder as Er,TriggerModel as Rr,UIRaycastUtils as hr,UIRootComponent as vr,USDDocument as fr,USDObject as Pr,USDWriter as Ar,USDZExporter$1 as Tr,USDZText as br,USDZUIExtension as Mr,UriSerializer as Ir,UsageMarker as Dr,UserJoinedOrLeftRoomModel as Or,VariantAction as xr,VelocityOverLifetimeModule as kr,VerticalLayoutGroup as Lr,VideoPlayer as Br,ViewBox as Fr,ViewDevice as Nr,Vignette as wr,VisibilityAction as Wr,Voip as Gr,Volume as Ur,VolumeParameter as Hr,VolumeProfile as Xr,WaitForFrames as zr,WaitForPromise as Vr,WaitForSeconds as _r,Watch as jr,WebARCameraBackground as Kr,WebARSessionRoot as Qr,WebXR as Zr,WebXRButtonFactory as Yr,WebXRImageTracking as Jr,WebXRImageTrackingModel as $r,WebXRPlaneTracking as qr,WebXRTrackedImage as en,XRControllerFollow as an,XRControllerModel as sn,XRControllerMovement as tn,XRFlag as on,XRRig as rn,XRState as nn,XRStateFlag as ln,__Ignore as dn,__internalNotifyObjectDestroyed as cn,activeInHierarchyFieldName as mn,addAttributeChangeCallback as pn,addComponent as gn,addCustomExtensionPlugin as un,addNewComponent as Sn,addPatch as Cn,apply as yn,applyHMRChanges as En,applyPrototypeExtensions as Rn,beginListenDestroy as hn,beginListenInstantiate as vn,binaryIdentifierCasts as fn,build_scene_functions as Pn,builtinComponentKeyName as An,calculateProgress01 as Tn,clearMessages as bn,clearMessages as Mn,colorSerializer as In,compareAssociation as Dn,componentSerializer as On,copyTexture as xn,createMotion as kn,debugNet as Ln,debugOwner as Bn,decompressGpuTexture as Fn,deepClone as Nn,delay as wn,delayForFrames as Wn,deserializeObject as Gn,destroy as Un,destroyComponentInstance as Hn,determineMimeTypeFromExtension as Xn,disposeObjectResources as zn,disposeStream as Vn,editorGuidKeyName as _n,enableSpatialConsole as jn,eventListSerializer as Kn,exportAsGLTF as Qn,findByGuid as Zn,findObjectOfType as Yn,findObjectsOfType as Jn,findResourceUsers as $n,fitCamera as qn,fitObjectIntoVolume as ei,foreachComponent as ai,foreachComponentEnumerator as si,forward as ti,generateQRCode as oi,generateSeed as ri,getBoundingBox as ni,getCameraController as ii,getComponent as li,getComponentInChildren as di,getComponentInParent as ci,getComponents as mi,getComponentsInChildren as pi,getComponentsInParent as gi,getFormattedDate as ui,getIconElement as Si,getIconTexture as Ci,getLoader as yi,getOrAddComponent as Ei,getParam as Ri,getParentHierarchyPath as hi,getPath as vi,getPeerOptions as fi,getPeerjsInstance as Pi,getResourceUserCount as Ai,getTempColor as Ti,getTempQuaternion as bi,getTempVector as Mi,getUrlParams as Ii,getVisibleInCustomShadowRendering as Di,getWorldDirection as Oi,getWorldEuler as xi,getWorldPosition as ki,getWorldQuaternion as Li,getWorldRotation as Bi,getWorldScale as Fi,hasCommercialLicense as Ni,hasIndieLicense as wi,hasPointerEventComponent as Wi,hasProLicense as Gi,hideDebugConsole as Ui,imageToCanvas as Hi,initAddressableSerializers as Xi,initBuiltinSerializers as zi,initVolumeParameterSerializer as Vi,instantiate as _i,invokeLoadedImportPluginHooks as ji,invokeXRSessionEnd as Ki,invokeXRSessionStart as Qi,isActiveInHierarchy as Zi,isActiveSelf as Yi,isAndroidDevice as Ji,isAnimationAction as $i,isComponent as qi,isDebugMode as el,isDesktop as al,isDestroyed as sl,isDevEnvironment as tl,isDisposed as ol,isExporting as rl,isGLTFModel as nl,isHostedOnGlitch as il,isHotReloadEnabled as ll,isHotReloading as dl,isIPad as cl,isIconElement as ml,isLocalNetwork as pl,isMacOS as gl,isMobileDevice as ul,isMozillaXR as Sl,isQuest as Cl,isResourceTrackingEnabled as yl,isSafari as El,isUsingInstancing as Rl,isiOS as hl,isiPad as vl,loadPMREM as fl,loadSync as Pl,logHierarchy as Al,lookAtInverse as Tl,lookAtObject as bl,lookAtScreenPoint as Ml,makeId as Il,makeIdFromRandomWords as Dl,makeNameSafe as Ol,markAsInstancedRendered as xl,microphonePermissionsGranted as kl,nameof as Ll,nameofFactory as Bl,objectSerializer as Fl,offXRSessionEnd as Nl,offXRSessionStart as wl,onXRSessionEnd as Wl,onXRSessionStart as Gl,parseSync as Ul,placeOnSurface as Hl,postprocessFBXMaterials as Xl,prefix as zl,pushState as Vl,randomNumber as _l,registerBinaryType as jl,registerComponent as Kl,registerComponentExtension as Ql,registerCustomEffectType as Zl,registerExportExtensions as Yl,registerExtensions as Jl,registerHotReloadType as $l,registerLoader as ql,registerPrefabProvider as ed,registerPrototypeExtensions as ad,registerType as sd,relativePathPrefix as td,removeAttributeChangeCallback as od,removeComponent as rd,removeCustomImportExtensionType as nd,removePatch as id,resolveUrl as ld,sanitizeString as dd,saveImage as cd,screenshot as md,screenshot2 as pd,sendDestroyed as gd,serializable as ud,serializeObject as Sd,serializeable as Cd,setActive as yd,setAllowBalloonMessages as Ed,setAllowOverlayMessages as Rd,setAutoFitEnabled as hd,setCameraController as vd,setDestroyed as fd,setDevEnvironment as Pd,setDisposable as Ad,setDontDestroy as Td,setOrAddParamsToUrl as bd,setParam as Md,setParamWithoutReload as Id,setPeerOptions as Dd,setResourceTrackingEnabled as Od,setState as xd,setVisibleInCustomShadowRendering as kd,setWorldEuler as Ld,setWorldPosition as Bd,setWorldPositionXYZ as Fd,setWorldQuaternion as Nd,setWorldQuaternionXYZW as wd,setWorldRotation as Wd,setWorldRotationXYZ as Gd,setWorldScale as Ud,showBalloonError as Hd,showBalloonMessage as Xd,showBalloonWarning as zd,showDebugConsole as Vd,slerp as _d,syncDestroy as jd,syncField as Kd,syncInstantiate as Qd,textureToCanvas as Zd,toSourceId as Yd,tryCastBinary as Jd,tryDetermineMimetypeFromBinary as $d,tryDetermineMimetypeFromURL as qd,tryFindObject as ec,tryGetGuid as ac,unregisterHotReloadType as sc,unwatchWrite as tc,useForAutoFit as oc,validate as rc,watchWrite as nc}from"./needle-engine.bundle-DNW6Q7aB.min.js";import{THREE as ic}from"./three.min.js";import{NEEDLE_progressive as lc}from"./gltf-progressive-BryRjllq.min.js";y();const a={VERSION:S,Context:u,NeedleXRSession:g,assets:{loadFromURL:p},types:m,onStart:c,onUpdate:d,onBeforeRender:l,onAfterRender:i,onInitializedContext:n,onDestroyContext:r,onClearContext:o};globalThis.Needle?.VERSION!==void 0&&console.warn(`Needle Engine is already imported: ${globalThis.Needle.VERSION}`);function C(e){for(const t in e)a[t]=e[t]}C(E),C(R);for(const e of Object.getOwnPropertyNames(s))switch(e){case"prototype":case"constructor":case"length":case"name":continue;default:a[e]=s[e];break}if(!globalThis.Needle)globalThis.Needle=a;else for(const e in a)globalThis.Needle[e]=a[e];globalThis.THREE?console.warn("Three.js is already imported"):globalThis.THREE=ic;export{h as $componentName,v as $physicsKey,f as ActionBuilder,P as ActionCollection,A as ActionModel,T as Addressables,b as AlignmentConstraint,M as AmbientMode,I as Animation,D as AnimationCurve,O as AnimationExtension,x as AnimationTrackHandler,k as AnimationUtils,L as Animator,B as AnimatorConditionMode,F as AnimatorController,N as AnimatorControllerParameterType,w as AnimatorStateInfo,W as Antialiasing,G as Application,U as AssetDatabase,H as AssetReference,X as Attractor,z as AudioClip,V as AudioExtension,_ as AudioListener,j as AudioSource,K as AudioTrackHandler,Q as Avatar,Z as AvatarBlink_Simple,Y as AvatarEyeLook_Rotation,J as AvatarLoader,$ as AvatarMarker,q as AvatarModel,ee as Avatar_Brain_LookAt,ae as Avatar_MouthShapes,se as Avatar_MustacheShake,te as Avatar_POI,oe as Axes,re as AxesHelper,ne as BUILD_TIME,ie as BaseUIComponent,le as BasicIKConstraint,de as BehaviorExtension,ce as BehaviorModel,me as Behaviour,pe as BlobStorage,ge as BloomEffect,ue as BoxCollider,Se as BoxGizmo,Ce as BoxHelperComponent,ye as Button,Ee as ButtonsFactory,Re as CallDirection,he as CallInfo,ve as Camera,fe as CameraTargetReachedEvent,Pe as Canvas,Ae as CanvasGroup,Te as CapsuleCollider,be as ChangeMaterialOnClick,Me as ChangeTransformOnClick,Ie as CharacterController,De as CharacterControllerInput,Oe as ChromaticAberration,xe as CircularBuffer,ke as ClearFlags,Le as ClickThrough,Be as ClipExtrapolation,Fe as Collider,Ne as Collision,we as CollisionDetectionMode,We as ColorAdjustments,Ge as ColorBySpeedModule,Ue as ColorOverLifetimeModule,He as Component,Xe as ComponentLifecycleEvents,ze as ConnectionEvents,Ve as ContactPoint,_e as ContactShadows,u as Context,je as ContextArgs,Ke as ContextEvent,Qe as ContextRegistry,Ze as ControlTrackHandler,Ye as CursorFollow,Je as CustomBranding,$e as CustomShader,qe as DefaultReflectionMode,ea as Deletable,aa as DeleteBox,sa as DepthOfField,ta as DeviceFlag,oa as DeviceUtilities,ra as DocumentExtension,na as DragControls,ia as DragMode,la as DropListener,da as Duplicatable,ca as EffectWrapper,ma as EmissionModule,pa as EmphasizeOnClick,ga as EngineLoadingView,ua as EnvironmentScene,Sa as EventList,Ca as EventListEvent,ya as EventSystem,Ea as EventTrigger,Ra as FieldWithDefault,ha as FileReference,va as FileReferenceSerializer,fa as FileSpawnModel,Pa as File_Event,Aa as FixedJoint,Ta as Fog,ba as FrameEvent,Ma as GENERATOR,s as GameObject,Ia as Gizmos,Da as GltfExport,Oa as GltfExportBox,xa as Gradient,ka as Graphic,La as GraphicRaycaster,Ba as Graphics,Fa as GridHelper,Na as GridLayoutGroup,wa as GroundProjectedEnv,Wa as GroupActionModel,Ga as HideFlags,Ua as HideOnStart,Ha as HingeJoint,Xa as HorizontalLayoutGroup,za as HostData,Va as HoverAnimation,_a as Image,ja as ImageReference,Ka as ImageReferenceSerializer,Qa as InheritVelocityModule,Za as Input,Ya as InputEventQueue,Ja as InputEvents,$a as InputField,qa as InstanceHandle,es as InstancingHandler,as as InstancingUtil,ss as InstantiateEvent,ts as InstantiateIdProvider,os as InstantiateOptions,rs as Interactable,ns as InternalScreenshotUtils,is as JoinedRoomResponse,ls as KeyEventArgs,ds as Keyframe,cs as LODGroup,ms as LODModel,ps as LeftRoomResponse,gs as Light,us as LightData,Ss as LimitVelocityOverLifetimeModule,Cs as LoadingElementOptions,ys as LogStats,Es as LogType,Rs as LookAt,hs as LookAtConstraint,vs as MainModule,fs as MarkerTrackHandler,Ps as MarkerType,As as MaskableGraphic,Ts as MaterialPropertyBlock,bs as MaterialX,Ms as Mathf,Is as MeshCollider,Ds as MeshRenderer,Os as MinMaxCurve,xs as MinMaxGradient,ks as NEEDLE_ENGINE_FEATURE_FLAGS,Ls as NEEDLE_ENGINE_MODULES,lc as NEEDLE_progressive,Bs as NEKeyboardEvent,Fs as NEPointerEvent,Ns as NeedleButtonElement,ws as NeedleEngine,Ws as NeedleEngineModelLoader,Gs as NeedleEngineWebComponent,Us as NeedleMenu,Hs as NeedlePatchesKey,Xs as NeedleUSDZExporter,zs as NeedleXRController,g as NeedleXRSession,Vs as NeedleXRSync,_s as NeedleXRUtils,js as NestedGltf,Ks as NetworkConnection,Qs as NetworkedStreamEvents,Zs as NetworkedStreams,Ys as Networking,Js as NewInstanceModel,$s as NoiseModule,qs as ObjectRaycaster,et as ObjectUtils,at as OffsetConstraint,st as OneEuroFilter,tt as OneEuroFilterXYZ,ot as OpenURL,rt as OrbitControls,nt as Outline,it as OwnershipEvent,lt as OwnershipModel,dt as PUBLIC_KEY,ct as Padding,mt as ParticleBurst,pt as ParticleSubEmitter,gt as ParticleSystem,ut as ParticleSystemBaseBehaviour,St as ParticleSystemRenderer,Ct as ParticleSystemShapeType,yt as PeerHandle,Et as PeerNetworking,Rt as Physics,ht as PhysicsExtension,vt as PhysicsMaterialCombine,ft as PixelationEffect,Pt as PlayAnimationOnClick,At as PlayAudioOnClick,Tt as PlayableDirector,bt as PlayerColor,Mt as PlayerState,It as PlayerStateEvent,Dt as PlayerSync,Ot as PlayerView,xt as PlayerViewManager,kt as PointerEventData,Lt as PointerType,Bt as PostProcessingEffect,Ft as PostProcessingEffectOrder,Nt as PostProcessingHandler,wt as PostProcessingManager,Wt as PreliminaryAction,Gt as PreliminaryTrigger,Ut as PreviewHelper,Ht as PrimitiveType,Xt as Progress,zt as PromiseAllWithErrors,Vt as PromiseErrorResult,_t as RGBAColor,jt as RapierPhysics,Kt as RawImage,Qt as RaycastOptions,Zt as Rect,Yt as RectTransform,Jt as ReflectionProbe,$t as RegisteredAnimationInfo,qt as RemoteSkybox,eo as RenderTexture,ao as RenderTextureSerializer,so as Renderer,to as RendererData,oo as RendererLightmap,ro as Rigidbody,no as RigidbodyConstraints,io as RoomEvents,lo as RotationBySpeedModule,co as RotationOverLifetimeModule,mo as SceneLightSettings,po as SceneSwitcher,go as ScreenCapture,uo as ScreenSpaceAmbientOcclusion,So as ScreenSpaceAmbientOcclusionN8,Co as ScrollFollow,yo as SeeThrough,Eo as SendQueue,Ro as SerializationContext,ho as SetActiveOnClick,vo as ShadowCatcher,fo as ShapeModule,Po as ShapeOverlapResult,Ao as SharpeningEffect,To as SignalAsset,bo as SignalReceiver,Mo as SignalReceiverEvent,Io as SignalTrackHandler,Do as Size,Oo as SizeBySpeedModule,xo as SizeOverLifetimeModule,ko as SkinnedMeshRenderer,Lo as SmoothFollow,Bo as SpatialGrabRaycaster,Fo as SpatialHtml,No as SpatialTrigger,wo as SpatialTriggerReceiver,Wo as SpectatorCamera,Go as SphereCollider,Uo as SphereIntersection,Ho as SplineContainer,Xo as SplineData,zo as SplineUtils,Vo as SplineWalker,_o as Sprite,jo as SpriteData,Ko as SpriteRenderer,Qo as SpriteSheet,Zo as StateMachineBehaviour,Yo as StreamEndedEvent,Jo as StreamReceivedEvent,$o as SubEmitterSystem,qo as SyncedCamera,er as SyncedRoom,ar as SyncedTransform,sr as TapGestureTrigger,tr as TeleportTarget,or as TestRunner,rr as TestSimulateUserData,nr as Text,ir as TextBuilder,lr as TextExtension,dr as TextureSheetAnimationModule,cr as TiltShiftEffect,mr as Time,pr as ToneMappingEffect,gr as TrackHandler,ur as TrackType,Sr as TrailModule,Cr as TransformData,yr as TransformGizmo,Er as TriggerBuilder,Rr as TriggerModel,m as TypeStore,hr as UIRaycastUtils,vr as UIRootComponent,fr as USDDocument,Pr as USDObject,Ar as USDWriter,Tr as USDZExporter,br as USDZText,Mr as USDZUIExtension,Ir as UriSerializer,Dr as UsageMarker,Or as UserJoinedOrLeftRoomModel,S as VERSION,xr as VariantAction,kr as VelocityOverLifetimeModule,Lr as VerticalLayoutGroup,Br as VideoPlayer,Fr as ViewBox,Nr as ViewDevice,wr as Vignette,Wr as VisibilityAction,Gr as Voip,Ur as Volume,Hr as VolumeParameter,Xr as VolumeProfile,zr as WaitForFrames,Vr as WaitForPromise,_r as WaitForSeconds,jr as Watch,Kr as WebARCameraBackground,Qr as WebARSessionRoot,Zr as WebXR,Yr as WebXRButtonFactory,Jr as WebXRImageTracking,$r as WebXRImageTrackingModel,qr as WebXRPlaneTracking,en as WebXRTrackedImage,an as XRControllerFollow,sn as XRControllerModel,tn as XRControllerMovement,on as XRFlag,rn as XRRig,nn as XRState,ln as XRStateFlag,dn as __Ignore,cn as __internalNotifyObjectDestroyed,mn as activeInHierarchyFieldName,pn as addAttributeChangeCallback,gn as addComponent,un as addCustomExtensionPlugin,Sn as addNewComponent,Cn as addPatch,yn as apply,En as applyHMRChanges,Rn as applyPrototypeExtensions,hn as beginListenDestroy,vn as beginListenInstantiate,fn as binaryIdentifierCasts,Pn as build_scene_functions,An as builtinComponentKeyName,Tn as calculateProgress01,bn as clearBalloonMessages,Mn as clearOverlayMessages,In as colorSerializer,Dn as compareAssociation,On as componentSerializer,xn as copyTexture,kn as createMotion,Ln as debugNet,Bn as debugOwner,Fn as decompressGpuTexture,Nn as deepClone,wn as delay,Wn as delayForFrames,Gn as deserializeObject,Un as destroy,Hn as destroyComponentInstance,Xn as determineMimeTypeFromExtension,zn as disposeObjectResources,Vn as disposeStream,_n as editorGuidKeyName,jn as enableSpatialConsole,Kn as eventListSerializer,Qn as exportAsGLTF,Zn as findByGuid,Yn as findObjectOfType,Jn as findObjectsOfType,$n as findResourceUsers,qn as fitCamera,ei as fitObjectIntoVolume,ai as foreachComponent,si as foreachComponentEnumerator,ti as forward,oi as generateQRCode,ri as generateSeed,ni as getBoundingBox,ii as getCameraController,li as getComponent,di as getComponentInChildren,ci as getComponentInParent,mi as getComponents,pi as getComponentsInChildren,gi as getComponentsInParent,ui as getFormattedDate,Si as getIconElement,Ci as getIconTexture,yi as getLoader,Ei as getOrAddComponent,Ri as getParam,hi as getParentHierarchyPath,vi as getPath,fi as getPeerOptions,Pi as getPeerjsInstance,Ai as getResourceUserCount,Ti as getTempColor,bi as getTempQuaternion,Mi as getTempVector,Ii as getUrlParams,Di as getVisibleInCustomShadowRendering,Oi as getWorldDirection,xi as getWorldEuler,ki as getWorldPosition,Li as getWorldQuaternion,Bi as getWorldRotation,Fi as getWorldScale,Ni as hasCommercialLicense,wi as hasIndieLicense,Wi as hasPointerEventComponent,Gi as hasProLicense,Ui as hideDebugConsole,Hi as imageToCanvas,Xi as initAddressableSerializers,zi as initBuiltinSerializers,Vi as initVolumeParameterSerializer,_i as instantiate,ji as invokeLoadedImportPluginHooks,Ki as invokeXRSessionEnd,Qi as invokeXRSessionStart,Zi as isActiveInHierarchy,Yi as isActiveSelf,Ji as isAndroidDevice,$i as isAnimationAction,qi as isComponent,el as isDebugMode,al as isDesktop,sl as isDestroyed,tl as isDevEnvironment,ol as isDisposed,rl as isExporting,nl as isGLTFModel,il as isHostedOnGlitch,ll as isHotReloadEnabled,dl as isHotReloading,cl as isIPad,ml as isIconElement,pl as isLocalNetwork,gl as isMacOS,ul as isMobileDevice,Sl as isMozillaXR,Cl as isQuest,yl as isResourceTrackingEnabled,El as isSafari,Rl as isUsingInstancing,hl as isiOS,vl as isiPad,p as loadAsset,fl as loadPMREM,Pl as loadSync,Al as logHierarchy,Tl as lookAtInverse,bl as lookAtObject,Ml as lookAtScreenPoint,Il as makeId,Dl as makeIdFromRandomWords,Ol as makeNameSafeForUSD,xl as markAsInstancedRendered,kl as microphonePermissionsGranted,Ll as nameof,Bl as nameofFactory,Fl as objectSerializer,Nl as offXRSessionEnd,wl as offXRSessionStart,i as onAfterRender,l as onBeforeRender,o as onClear,r as onDestroy,n as onInitialized,c as onStart,d as onUpdate,Wl as onXRSessionEnd,Gl as onXRSessionStart,Ul as parseSync,Hl as placeOnSurface,Xl as postprocessFBXMaterials,zl as prefix,Vl as pushState,_l as randomNumber,jl as registerBinaryType,Kl as registerComponent,Ql as registerComponentExtension,Zl as registerCustomEffectType,Yl as registerExportExtensions,Jl as registerExtensions,$l as registerHotReloadType,ql as registerLoader,ed as registerPrefabProvider,ad as registerPrototypeExtensions,sd as registerType,td as relativePathPrefix,od as removeAttributeChangeCallback,rd as removeComponent,nd as removeCustomImportExtensionType,id as removePatch,ld as resolveUrl,dd as sanitizeString,cd as saveImage,md as screenshot,pd as screenshot2,gd as sendDestroyed,ud as serializable,Sd as serializeObject,Cd as serializeable,yd as setActive,Ed as setAllowBalloonMessages,Rd as setAllowOverlayMessages,hd as setAutoFitEnabled,vd as setCameraController,fd as setDestroyed,Pd as setDevEnvironment,Ad as setDisposable,Td as setDontDestroy,bd as setOrAddParamsToUrl,Md as setParam,Id as setParamWithoutReload,Dd as setPeerOptions,Od as setResourceTrackingEnabled,xd as setState,kd as setVisibleInCustomShadowRendering,Ld as setWorldEuler,Bd as setWorldPosition,Fd as setWorldPositionXYZ,Nd as setWorldQuaternion,wd as setWorldQuaternionXYZW,Wd as setWorldRotation,Gd as setWorldRotationXYZ,Ud as setWorldScale,Hd as showBalloonError,Xd as showBalloonMessage,zd as showBalloonWarning,Vd as showDebugConsole,_d as slerp,jd as syncDestroy,Kd as syncField,Qd as syncInstantiate,Zd as textureToCanvas,Yd as toSourceId,Jd as tryCastBinary,$d as tryDetermineMimetypeFromBinary,qd as tryDetermineMimetypeFromURL,ec as tryFindObject,ac as tryGetGuid,sc as unregisterHotReloadType,tc as unwatchWrite,oc as useForAutoFit,rc as validate,nc as watchWrite};