@needle-tools/engine 4.11.5-next.b4a2f9e → 4.11.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -5
- package/dist/{needle-engine.bundle-DG38kMjs.umd.cjs → needle-engine.bundle-DMqWdPzL.umd.cjs} +2 -2
- package/dist/{needle-engine.bundle-DnJ3q6Oa.js → needle-engine.bundle-DSm5itjo.js} +3 -3
- package/dist/{needle-engine.bundle-D2_8tEN0.min.js → needle-engine.bundle-DYdft7n9.min.js} +1 -1
- package/dist/needle-engine.js +2 -2
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -4,11 +4,13 @@ All notable changes to this package will be documented in this file.
|
|
|
4
4
|
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
|
5
5
|
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
-
## [4.11.5
|
|
8
|
-
- Fix: Timeline `instantiate`
|
|
9
|
-
- Fix: Renderer `sharedMaterials` being
|
|
10
|
-
- Fix:
|
|
11
|
-
-
|
|
7
|
+
## [4.11.5] - 2025-10-31
|
|
8
|
+
- Fix: Timeline cloning with `instantiate` ([forum 2733](<https://forum.needle.tools/t/2733>))
|
|
9
|
+
- Fix: Renderer `sharedMaterials` being null in awake
|
|
10
|
+
- Fix: Issue where lightmapped materials were cloned
|
|
11
|
+
- Fix: Apply lighting intensity multiplier in root scene
|
|
12
|
+
- Fix: GLTF extensions when loading scene with Blob URL
|
|
13
|
+
- Improve JSDoc documentation
|
|
12
14
|
|
|
13
15
|
## [4.11.4] - 2025-10-24
|
|
14
16
|
- Add: `qrcode-logo-src` attribute to `<needle-engine>` web component to override the logo displayed in the QR code button. Requires PRO license.
|
package/dist/{needle-engine.bundle-DG38kMjs.umd.cjs → needle-engine.bundle-DMqWdPzL.umd.cjs}
RENAMED
|
@@ -141,7 +141,7 @@ void main(){
|
|
|
141
141
|
#__vconsole .vc-mask {
|
|
142
142
|
overflow: hidden;
|
|
143
143
|
}
|
|
144
|
-
`,Co?.prepend(i),s===!0&&Ab()<=0&&Yb(),console.log("🌵 Debug console has loaded")}},e.onerror=()=>{console.warn("🌵 Debug console failed to load."+(window.crossOriginIsolated?"This page is using cross-origin isolation, so external scripts can't be loaded.":"")),sl=!1,Ri=null},e.src="https://cdn.jsdelivr.net/npm/vconsole@3.15.1/dist/vconsole.min.js",document.body.appendChild(e)}function PS(){if(!globalThis.VConsole)return;const s=new VConsole.VConsolePlugin("needle-console","🌵 Inspect glTF"),e=()=>document.querySelector("#__vc_plug_"+s._id+" iframe");return s.on("renderTab",function(t){const i=globalThis["needle:codegen_files"];if(!i||i.length===0)return;let n=globalThis["needle:codegen_files"][0];const o=n.indexOf("?");o>-1&&(n=n.substring(0,o));const a=location.protocol+"//"+location.host+location.pathname+"/"+n,l=encodeURIComponent(a);s.fullUrl="https://viewer.needle.tools?inspect&file="+l;var h='<iframe src="" style="width: 100%; height: 99%; border: none;"></iframe>';t(h)}),s.on("show",function(){const t=e();t&&t.src!==s.fullUrl&&(t.src=s.fullUrl)}),s.on("hide",function(){const t=e();t&&(t.src="")}),s.on("addTopBar",function(t){var i=new Array;i.push({name:"Open in new window ↗",onClick:function(n){window.open(s.fullUrl,"_blank"),Ri?.hide()}}),i.push({name:"Reload",onClick:function(n){const o=e();o&&(o.src=s.fullUrl)}}),i.push({name:"Fullscreen",onClick:function(n){const o=e();o.requestFullscreen?o.requestFullscreen():o.webkitRequestFullscreen instanceof Function&&o.webkitRequestFullscreen()}}),t(i)}),s}function OS(){const s=document.querySelector("#__vconsole .vc-switch");return s||null}function MS(){const s=document.querySelector("#__vconsole");return s||null}const Kb=x("debugdefines");ro('if(!globalThis["NEEDLE_ENGINE_VERSION"]) globalThis["NEEDLE_ENGINE_VERSION"] = "0.0.0";');ro('if(!globalThis["NEEDLE_ENGINE_GENERATOR"]) globalThis["NEEDLE_ENGINE_GENERATOR"] = "unknown";');ro('if(!globalThis["NEEDLE_PROJECT_BUILD_TIME"]) globalThis["NEEDLE_PROJECT_BUILD_TIME"] = "unknown";');ro('if(!globalThis["NEEDLE_PUBLIC_KEY"]) globalThis["NEEDLE_PUBLIC_KEY"] = "unknown";');ro('globalThis["__NEEDLE_ENGINE_VERSION__"] = "4.11.5
|
|
144
|
+
`,Co?.prepend(i),s===!0&&Ab()<=0&&Yb(),console.log("🌵 Debug console has loaded")}},e.onerror=()=>{console.warn("🌵 Debug console failed to load."+(window.crossOriginIsolated?"This page is using cross-origin isolation, so external scripts can't be loaded.":"")),sl=!1,Ri=null},e.src="https://cdn.jsdelivr.net/npm/vconsole@3.15.1/dist/vconsole.min.js",document.body.appendChild(e)}function PS(){if(!globalThis.VConsole)return;const s=new VConsole.VConsolePlugin("needle-console","🌵 Inspect glTF"),e=()=>document.querySelector("#__vc_plug_"+s._id+" iframe");return s.on("renderTab",function(t){const i=globalThis["needle:codegen_files"];if(!i||i.length===0)return;let n=globalThis["needle:codegen_files"][0];const o=n.indexOf("?");o>-1&&(n=n.substring(0,o));const a=location.protocol+"//"+location.host+location.pathname+"/"+n,l=encodeURIComponent(a);s.fullUrl="https://viewer.needle.tools?inspect&file="+l;var h='<iframe src="" style="width: 100%; height: 99%; border: none;"></iframe>';t(h)}),s.on("show",function(){const t=e();t&&t.src!==s.fullUrl&&(t.src=s.fullUrl)}),s.on("hide",function(){const t=e();t&&(t.src="")}),s.on("addTopBar",function(t){var i=new Array;i.push({name:"Open in new window ↗",onClick:function(n){window.open(s.fullUrl,"_blank"),Ri?.hide()}}),i.push({name:"Reload",onClick:function(n){const o=e();o&&(o.src=s.fullUrl)}}),i.push({name:"Fullscreen",onClick:function(n){const o=e();o.requestFullscreen?o.requestFullscreen():o.webkitRequestFullscreen instanceof Function&&o.webkitRequestFullscreen()}}),t(i)}),s}function OS(){const s=document.querySelector("#__vconsole .vc-switch");return s||null}function MS(){const s=document.querySelector("#__vconsole");return s||null}const Kb=x("debugdefines");ro('if(!globalThis["NEEDLE_ENGINE_VERSION"]) globalThis["NEEDLE_ENGINE_VERSION"] = "0.0.0";');ro('if(!globalThis["NEEDLE_ENGINE_GENERATOR"]) globalThis["NEEDLE_ENGINE_GENERATOR"] = "unknown";');ro('if(!globalThis["NEEDLE_PROJECT_BUILD_TIME"]) globalThis["NEEDLE_PROJECT_BUILD_TIME"] = "unknown";');ro('if(!globalThis["NEEDLE_PUBLIC_KEY"]) globalThis["NEEDLE_PUBLIC_KEY"] = "unknown";');ro('globalThis["__NEEDLE_ENGINE_VERSION__"] = "4.11.5";');ro('globalThis["__NEEDLE_ENGINE_GENERATOR__"] = "undefined";');ro('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "Fri Oct 31 2025 07:52:00 GMT+0000 (Coordinated Universal Time)";');ro('globalThis["__NEEDLE_PUBLIC_KEY__"] = "'+NEEDLE_PUBLIC_KEY+'";');const tn="4.11.5",Kd="undefined",Sm="Fri Oct 31 2025 07:52:00 GMT+0000 (Coordinated Universal Time)";Kb&&console.log(`Engine version: ${tn} (generator: ${Kd})
|
|
145
145
|
Project built at ${Sm}`);const ea=NEEDLE_PUBLIC_KEY,ls="needle_isActiveInHierarchy",Do="builtin_components",Ul="needle_editor_guid";function ro(s){try{(0,eval)(s)}catch(e){Kb&&console.error(e)}}let Zb,Iy=null;function rn(){return Zb}function Cm(s){if(s==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}Iy!==s&&(Iy=s,Zb=new s)}const ai=Symbol("shadowDomOwner"),kS=x("debugpatch");function Zd(s,e,t,i){const n=kS===e;if(!t&&!i)return;const o=e+"___needle";RS(s,e,t,i);const r=Object.getOwnPropertyDescriptor(s,e),a=s[e];n&&console.log("Patch",s.constructor.name,e,r,a),r?(n&&console.log("Apply patch with existing descriptor",s.constructor.name,e,r),typeof r.value=="function"&&(s[e]=By(r.value,s,e))):(n&&console.log("Create patch with new property",s.constructor.name,e,r),Object.defineProperty(s,e,{set:function(l){if(typeof l=="function")this[o]=By(l,s,e);else{const h=this[o];Jb(s,e,this,h,l),this[o]=l,e0(s,e,this,h,l)}},get:function(){const l=this[o];return typeof l=="function"&&l[o]?l[o]:l}}))}function ES(s,e,t){const i=Pm(s,e);if(i)for(let n=i.length-1;n>=0;n--){const o=i[n];o.prefix===t&&(o.prefix=null),o.postfix===t&&(o.postfix=null),!o.prefix&&!o.postfix&&i.splice(n,1)}}const jy=Symbol("Needle:Patches:WrappedFunction");function By(s,e,t){if(s[jy])return s;const i=function(...n){Jb(e,t,this,...n);const o=s.apply(this,n);return e0(e,t,this,o,...n),o};return i[jy]=!0,i}const Jh="Needle:Patches";function wp(){return globalThis[Jh]||(globalThis[Jh]=new WeakMap),globalThis[Jh]}function Pm(s,e){const t=wp().get(s);return t?t.get(e):null}function RS(s,e,t,i){let n=wp().get(s);n||(n=new Map,wp().set(s,n));let o=n.get(e);o||(o=[],n.set(e,o)),o.push({prefix:t,postfix:i})}function Jb(s,e,t,...i){if(!t)return;const n=Pm(s,e);if(n)for(const o of n)o.prefix?.call(t,...i)}function e0(s,e,t,i,...n){if(!t)return;const o=Pm(s,e);if(o)for(const r of o)r.postfix?.call(t,i,...n)}const ya=[];function Jd(s){ya.indexOf(s)===-1&&ya.push(s)}function TS(s){const e=ya.indexOf(s);e!==-1&&ya.splice(e,1)}const _a=[];function Om(s){_a.indexOf(s)===-1&&_a.push(s)}function AS(s){const e=_a.indexOf(s);e!==-1&&_a.splice(e,1)}function t0(s){globalThis.dispatchEvent(new CustomEvent("needle-xrsession-start",{detail:s}));for(let e=0;e<ya.length;e++)ya[e](s)}function i0(s){globalThis.dispatchEvent(new CustomEvent("needle-xrsession-end",{detail:s}));for(let e=0;e<_a.length;e++)_a[e](s)}const Xe=x("debuginput");var eu=(s=>(s.Mouse="mouse",s.Touch="touch",s.Controller="controller",s.Hand="hand",s))(eu||{}),xe=(s=>(s.PointerDown="pointerdown",s.PointerUp="pointerup",s.PointerMove="pointermove",s.KeyDown="keydown",s.KeyUp="keyup",s.KeyPressed="keypress",s))(xe||{});class Zn extends PointerEvent{clientZ;deviceIndex;origin;source;mode;get isSpatial(){return this.mode!="screen"}get ray(){return this._ray||(this._ray=new c.Ray(this.space.worldPosition.clone(),this.space.worldForward.clone())),this._ray}set ray(e){this._ray=e}get hasRay(){return this._ray!==void 0}_ray;space;isClick=!1;isDoubleClick=!1;get used(){return this._used}_used=!1;use(){this._used=!0}get pointerId(){return this._pointerid}_pointerid;get pointerType(){return this._pointerType}_pointerType;get type(){return this._type}_type;metadata={};intersections=new Array;constructor(e,t,i){super(e,i),this.clientZ=i.clientZ,this._pointerid=i.pointerId,this._pointerType=i.pointerType,this._type=e,this.deviceIndex=i.deviceIndex,this.origin=i.origin,this.source=t,this.mode=i.mode,this._ray=i.ray,this.space=i.device}_immediatePropagationStopped=!1;get immediatePropagationStopped(){return this._immediatePropagationStopped}_propagationStopped=!1;get propagationStopped(){return this._immediatePropagationStopped||this._propagationStopped}stopImmediatePropagation(){this._immediatePropagationStopped=!0,super.stopImmediatePropagation(),this.source?.stopImmediatePropagation()}stopPropagation(){this._propagationStopped=!0,super.stopPropagation(),this.source?.stopPropagation(),Xe&&console.warn("Stop propagation...",this.pointerId,this.pointerType)}}class wl extends KeyboardEvent{source;constructor(e,t,i){super(e,i),this.source=t}stopImmediatePropagation(){super.stopImmediatePropagation(),this.source?.stopImmediatePropagation()}}class DS{key;keyType;source;constructor(e){this.key=e.key,this.keyType=e.type,this.source=e}}var Xt=(s=>(s[s.Early=-100]="Early",s[s.Default=0]="Default",s[s.Late=100]="Late",s))(Xt||{});class n0{_eventListeners={};addEventListener(e,t,i){if(this._eventListeners[e]||(this._eventListeners[e]=[]),!t||typeof t!="function"){console.error("Invalid call to addEventListener: callback is required and must be a function!");return}i?i={...i}:i={};let n=0;i?.queue!=null&&(n=i.queue);const o=this._eventListeners[e],r=o.find(a=>a.priority===n);r?r.listeners.push({callback:t,options:i}):(o.push({priority:n,listeners:[{callback:t,options:i}]}),o.sort((a,l)=>a.priority-l.priority))}removeEventListener(e,t,i){if(!this._eventListeners[e]||!t)return;const n=this._eventListeners[e];if(i?.queue!=null){const o=n.find(a=>a.priority===i.queue);if(!o)return;const r=o.listeners.findIndex(a=>a.callback===t);r>=0&&o.listeners.splice(r,1)}else for(const o of n){const r=o.listeners.findIndex(a=>a.callback===t);r>=0&&o.listeners.splice(r,1)}}dispatchEvent(e){let t=!1;if(e instanceof wl){const i=this._eventListeners[e.type];if(i)for(const n of i)for(let o=0;o<n.listeners.length;o++){const r=n.listeners[o];if(r.options?.signal?.aborted){n.listeners.splice(o,1),o--;continue}r.options.once&&(n.listeners.splice(o,1),o--),r.callback(e)}}if(e instanceof Zn){const i=this._eventListeners[e.type];if(i)for(const n of i){if(t)break;for(let o=0;o<n.listeners.length;o++){const r=n.listeners[o];if(r.options?.signal?.aborted){n.listeners.splice(o,1),o--;continue}if(e.immediatePropagationStopped){t=!0,Xe&&console.log("immediatePropagationStopped",e.type);break}else e.propagationStopped&&(t=!0,Xe&&console.log("propagationStopped",e.type));r.options.once&&(n.listeners.splice(o,1),o--),r.callback(e)}}}}_doubleClickTimeThreshold=.2;_longPressTimeThreshold=1;get mousePosition(){return this._pointerPositions[0]}get mousePositionRC(){return this._pointerPositionsRC[0]}get mouseDown(){return this._pointerDown[0]}get mouseUp(){return this._pointerUp[0]}get mouseClick(){return this._pointerClick[0]}get mouseDoubleClick(){return this._pointerDoubleClick[0]}get mousePressed(){return this._pointerPressed[0]}get mouseWheelChanged(){return this.getMouseWheelChanged(0)}get click(){return this._pointerClick[0]}get doubleClick(){return this._pointerDoubleClick[0]}getGamepad(e=0){return typeof navigator<"u"&&"getGamepads"in navigator&&navigator.getGamepads()[e]||null}_setCursorTypes=[];setCursorPointer(){this.setCursor("pointer")}setCursorNormal(){this.unsetCursor("pointer")}setCursor(e){this._setCursorTypes.push(e),this._setCursorTypes.length>10&&this._setCursorTypes.shift(),this.updateCursor()}unsetCursor(e){for(let t=this._setCursorTypes.length-1;t>=0;t--)if(this._setCursorTypes[t]===e){this._setCursorTypes.splice(t,1),this.updateCursor();break}}updateCursor(){this._setCursorTypes?.length==0?this.context.domElement.style.cursor="default":this.context.domElement.style.cursor=this._setCursorTypes[this._setCursorTypes.length-1]}getIsPointerIdInUse(e){for(const t of this._pointerEventsPressed)if(t.pointerId===e&&t.used)return!0;return!1}getPointerPressedCount(){let e=0;for(let t=0;t<this._pointerPressed.length;t++)this._pointerPressed[t]&&e++;return e}getPointerPosition(e){return e>=this._pointerPositions.length?null:this._pointerPositions[e]}getPointerPositionLastFrame(e){return e>=this._pointerPositionsLastFrame.length?null:this._pointerPositionsLastFrame[e]}getPointerPositionDelta(e){return e>=this._pointerPositionsDelta.length?null:this._pointerPositionsDelta[e]}getPointerPositionRC(e){return e>=this._pointerPositionsRC.length?null:this._pointerPositionsRC[e]}getPointerDown(e){return e>=this._pointerDown.length?!1:this._pointerDown[e]}getPointerUp(e){return e>=this._pointerUp.length?!1:this._pointerUp[e]}getPointerPressed(e){return e>=this._pointerPressed.length?!1:this._pointerPressed[e]}getPointerClicked(e){return e>=this._pointerClick.length?!1:this._pointerClick[e]}getPointerDoubleClicked(e){return e>=this._pointerDoubleClick.length?!1:this._pointerDoubleClick[e]}getPointerDownTime(e){return e>=this._pointerDownTime.length?-1:this._pointerDownTime[e]}getPointerUpTime(e){return e>=this._pointerUpTime.length?-1:this._pointerUpTime[e]}getPointerLongPress(e){return e>=this._pointerDownTime.length?!1:this.getPointerPressed(e)&&this.context.time.time-this._pointerDownTime[e]>this._longPressTimeThreshold}getIsMouse(e){return e<0||e>=this._pointerTypes.length?!1:this._pointerTypes[e]==="mouse"}getIsTouch(e){return e<0||e>=this._pointerTypes.length?!1:this._pointerTypes[e]==="touch"}getTouchesPressedCount(){let e=0;for(let t=0;t<this._pointerPressed.length;t++)this._pointerPressed[t]&&this.getIsTouch(t)&&e++;return e}getMouseWheelChanged(e=0){return e>=this._mouseWheelChanged.length?!1:this._mouseWheelChanged[e]}getMouseWheelDeltaY(e=0){return e>=this._mouseWheelDeltaY.length?0:this._mouseWheelDeltaY[e]}getPointerEvent(e){if(!(e>=this._pointerEvent.length))return this._pointerEvent[e]??void 0}*foreachPointerId(e){for(let t=0;t<this._pointerTypes.length;t++)if(this._pointerIsActive(t)){if(e!==void 0){const i=this._pointerTypes[t];if(Array.isArray(e)){let n=!1;for(const o of e)if(i===o){n=!0;break}if(!n)continue}else if(e!==i)continue}yield t}}*foreachTouchId(){for(let e=0;e<this._pointerTypes.length;e++)this._pointerTypes[e]==="touch"&&this._pointerIsActive[e]&&(yield e)}_pointerIsActive(e){return e<0?!1:this._pointerPressed[e]||this._pointerDown[e]||this._pointerUp[e]}context;_pointerDown=[!1];_pointerUp=[!1];_pointerClick=[!1];_pointerDoubleClick=[!1];_pointerPressed=[!1];_pointerPositions=[new c.Vector2];_pointerPositionsLastFrame=[new c.Vector2];_pointerPositionsDelta=[new c.Vector2];_pointerPositionsRC=[new c.Vector2];_pointerPositionDown=[new c.Vector3];_pointerDownTime=[];_pointerUpTime=[];_pointerUpTimestamp=[];_pointerIds=[];_pointerTypes=[""];_mouseWheelChanged=[!1];_mouseWheelDeltaY=[0];_pointerEvent=[];_pointerEventsPressed=[];_pointerSpace=[];_pressedStack=new Map;onDownButton(e,t){let i=this._pressedStack.get(e);i||(i=[],this._pressedStack.set(e,i)),i.push(t)}onReleaseButton(e,t){const i=this._pressedStack.get(e);if(!i)return;const n=i.indexOf(t);n>=0&&i.splice(n,1)}getFirstPressedButtonForPointer(e){const t=this._pressedStack.get(e);if(t)return t[0]}getLatestPressedButtonForPointer(e){const t=this._pressedStack.get(e);if(t)return t[t.length-1]}getKeyDown(e){if(e!==void 0)return this.isKeyDown(e);for(const t in this.keysPressed){const i=this.keysPressed[t];if(i.startFrame===this.context.time.frameCount)return i.key}return null}getKeyPressed(e){if(e!==void 0)return this.isKeyPressed(e);for(const t in this.keysPressed){const i=this.keysPressed[t];if(i.pressed)return i.key}return null}getKeyUp(e){if(e!==void 0)return this.isKeyUp(e);for(const t in this.keysPressed){const i=this.keysPressed[t];return i.pressed===!1&&i.frame===this.context.time.frameCount}return null}isKeyDown(e){if(!this.context.application.isVisible||!this.context.application.hasFocus)return!1;const t=this.getCodeForCommonKeyName(e);if(t!==null){for(const n of t)if(this.isKeyDown(n))return!0;return!1}const i=this.keysPressed[e];return i?i.startFrame===this.context.time.frameCount&&i.pressed:!1}isKeyUp(e){if(!this.context.application.isVisible||!this.context.application.hasFocus)return!1;const t=this.getCodeForCommonKeyName(e);if(t!==null){for(const n of t)if(this.isKeyUp(n))return!0;return!1}const i=this.keysPressed[e];return i?i.frame===this.context.time.frameCount&&i.pressed===!1:!1}isKeyPressed(e){if(!this.context.application.isVisible||!this.context.application.hasFocus)return!1;const t=this.getCodeForCommonKeyName(e);if(t!==null){for(const n of t)if(this.isKeyPressed(n))return!0;return!1}const i=this.keysPressed[e];return i&&i.pressed||!1}getCodeForCommonKeyName(e){if(e.length===1){if(e>="0"&&e<="9")return["Digit"+e];if(e>="a"&&e<="z")return["Key"+e.toUpperCase()];if(e==" ")return["Space"]}switch(e){case"shift":case"Shift":return["ShiftLeft","ShiftRight"];case"control":case"Control":return["ControlLeft","ControlRight"];case"alt":case"Alt":return["AltLeft","AltRight"]}return null}createInputEvent(e){switch(e.type){case"pointerdown":Xe&&Ce("Create Pointer down"),this.onDownButton(e.deviceIndex,e.button),this.onDown(e);break;case"pointermove":Xe&&Ce("Create Pointer move"),this.onMove(e);break;case"pointerup":Xe&&Ce("Create Pointer up"),this.onUp(e),this.onReleaseButton(e.deviceIndex,e.button);break}}convertScreenspaceToRaycastSpace(e){return e.x=(e.x-this.context.domX)/this.context.domWidth*2-1,e.y=-((e.y-this.context.domY)/this.context.domHeight)*2+1,e}constructor(e){this.context=e,this.context.post_render_callbacks.push(this.onEndOfFrame)}_htmlEventSource;bindEvents(){this.unbindEvents(),this._htmlEventSource=this.context.renderer.domElement,window.addEventListener("contextmenu",this.onContextMenu),this._htmlEventSource.addEventListener("pointerdown",this.onPointerDown,{passive:!0}),window.addEventListener("pointermove",this.onPointerMove,{passive:!0,capture:!0}),window.addEventListener("pointerup",this.onPointerUp,{passive:!0}),window.addEventListener("pointercancel",this.onPointerCancel,{passive:!0}),window.addEventListener("touchstart",this.onTouchStart,{passive:!0}),window.addEventListener("touchmove",this.onTouchMove,{passive:!0}),window.addEventListener("touchend",this.onTouchEnd,{passive:!0}),this._htmlEventSource.addEventListener("wheel",this.onMouseWheel,{passive:!0}),window.addEventListener("wheel",this.onWheelWindow,{passive:!0}),window.addEventListener("keydown",this.onKeyDown,!1),window.addEventListener("keypress",this.onKeyPressed,!1),window.addEventListener("keyup",this.onKeyUp,!1),window.addEventListener("blur",this.onLostFocus)}unbindEvents(){for(const e in this._eventListeners)this._eventListeners[e].length=0;window.removeEventListener("contextmenu",this.onContextMenu),this._htmlEventSource?.removeEventListener("pointerdown",this.onPointerDown),window.removeEventListener("pointermove",this.onPointerMove),window.removeEventListener("pointerup",this.onPointerUp),window.removeEventListener("pointercancel",this.onPointerCancel),window.removeEventListener("touchstart",this.onTouchStart),window.removeEventListener("touchmove",this.onTouchMove),window.removeEventListener("touchend",this.onTouchEnd),this._htmlEventSource?.removeEventListener("wheel",this.onMouseWheel,!1),window.removeEventListener("wheel",this.onWheelWindow,!1),window.removeEventListener("keydown",this.onKeyDown,!1),window.removeEventListener("keypress",this.onKeyPressed,!1),window.removeEventListener("keyup",this.onKeyUp,!1),window.removeEventListener("blur",this.onLostFocus)}dispose(){const e=this.context.post_render_callbacks.indexOf(this.onEndOfFrame);e>=0&&this.context.post_render_callbacks.splice(e,1),this.unbindEvents()}onLostFocus=()=>{for(const e in this.keysPressed)this.keysPressed[e].pressed=!1};_receivedPointerMoveEventsThisFrame=new Array;onEndOfFrame=()=>{this._receivedPointerMoveEventsThisFrame.length=0;for(let e=0;e<this._pointerUp.length;e++)this._pointerUp[e]=!1;for(let e=0;e<this._pointerDown.length;e++)this._pointerDown[e]=!1;for(let e=0;e<this._pointerClick.length;e++)this._pointerClick[e]=!1;for(let e=0;e<this._pointerDoubleClick.length;e++)this._pointerDoubleClick[e]=!1;for(const e of this._pointerPositionsDelta)e.set(0,0);for(let e=0;e<this._mouseWheelChanged.length;e++)this._mouseWheelChanged[e]=!1;for(let e=0;e<this._mouseWheelDeltaY.length;e++)this._mouseWheelDeltaY[e]=0};canReceiveInput(e){return e.target===this.context.renderer?.domElement||e.target===this.context.domElement||this.context.isInAR||this.context.isInAR&&e.target===document.body&&exports.DeviceUtilities.isMozillaXR()?!0:(Xe&&console.warn("CanReceiveInput:False for",e.target),!1)}onContextMenu=e=>{this.canReceiveInput(e)!==!1&&e instanceof PointerEvent&&e.pointerType};keysPressed={};onKeyDown=e=>{if(Xe&&console.log(`key down ${e.code}, ${this.context.application.hasFocus}`,e),!this.context.application.hasFocus)return;const t=this.keysPressed[e.code];if(t&&t.pressed)return;this.keysPressed[e.code]={pressed:!0,frame:this.context.time.frameCount+1,startFrame:this.context.time.frameCount+1,key:e.key,code:e.code};const i=new wl("keydown",e,e);this.onDispatchEvent(i)};onKeyPressed=e=>{if(!this.context.application.hasFocus)return;const t=this.keysPressed[e.code];if(!t)return;t.pressed=!0,t.frame=this.context.time.frameCount+1;const i=new wl("keypress",e,e);this.onDispatchEvent(i)};onKeyUp=e=>{if(!this.context.application.hasFocus)return;const t=this.keysPressed[e.code];if(!t)return;t.pressed=!1,t.frame=this.context.time.frameCount+1;const i=new wl("keyup",e,e);this.onDispatchEvent(i)};onWheelWindow=e=>{document.pointerLockElement&&this.onMouseWheel(e)};onMouseWheel=e=>{if(this.canReceiveInput(e)===!1)return;this._mouseWheelDeltaY.length<=0&&this._mouseWheelDeltaY.push(0),this._mouseWheelChanged.length<=0&&this._mouseWheelChanged.push(!1),this._mouseWheelChanged[0]=!0;const t=this._mouseWheelDeltaY[0];this._mouseWheelDeltaY[0]=t+e.deltaY};onPointerDown=e=>{if(this.context.isInAR||this.canReceiveInput(e)===!1)return;e.target instanceof HTMLElement&&e.target.setPointerCapture(e.pointerId);const t=this.getPointerId(e);Xe&&Ce(`pointer down #${t}, identifier:${e.pointerId}`);const i=this.getAndUpdateSpatialObjectForScreenPosition(t,e.clientX,e.clientY),n=new Zn("pointerdown",e,{origin:this,mode:"screen",deviceIndex:0,pointerId:t,button:e.button,clientX:e.clientX,clientY:e.clientY,pointerType:e.pointerType,buttonName:this.getButtonName(e),device:i,pressure:e.pressure});this.onDown(n)};onPointerMove=e=>{if(this.context.isInAR||this._receivedPointerMoveEventsThisFrame.includes(e.pointerId))return;this._receivedPointerMoveEventsThisFrame.push(e.pointerId);let t=e.button;e.pointerType==="mouse"&&(t=this.getFirstPressedButtonForPointer(0)??0);const i=this.getPointerId(e,t);t===-1&&(t=i);const n=this.getAndUpdateSpatialObjectForScreenPosition(i,e.clientX,e.clientY),o=new Zn("pointermove",e,{origin:this,mode:"screen",deviceIndex:0,pointerId:i,button:t,clientX:e.clientX,clientY:e.clientY,pointerType:e.pointerType,buttonName:this.getButtonName(e),device:n,pressure:e.pressure});this.onMove(o)};onPointerCancel=e=>{this.context.isInAR||(Xe&&console.log("Pointer cancel",e),this.onPointerUp(e))};onPointerUp=e=>{if(this.context.isInAR)return;e.target instanceof HTMLElement&&e.target.releasePointerCapture(e.pointerId);const t=this.getPointerId(e),i=new Zn("pointerup",e,{origin:this,mode:"screen",deviceIndex:0,pointerId:t,button:e.button,clientX:e.clientX,clientY:e.clientY,pointerType:e.pointerType,buttonName:this.getButtonName(e),device:this.getAndUpdateSpatialObjectForScreenPosition(t,e.clientX,e.clientY),pressure:e.pressure});this.onUp(i),this._pointerIds[t]=-1,Xe&&console.log("ID="+t,"PointerId="+e.pointerId,"ALL:",[...this._pointerIds])};getPointerId(e,t){return e.pointerType==="mouse"?0+(t??e.button):this.getPointerIndex(e.pointerId)}getButtonName(e){const t=e.button;if(e.pointerType==="mouse")switch(t){case 0:return"left";case 1:return"middle";case 2:return"right"}return"unknown"}onTouchStart=e=>{if(this.context.isInAR)for(let t=0;t<e.changedTouches.length;t++){const i=e.changedTouches[t],n=this.getPointerIndex(i.identifier),o=this.getAndUpdateSpatialObjectForScreenPosition(n,i.clientX,i.clientY),r=new Zn("pointerdown",e,{origin:this,mode:"screen",deviceIndex:0,pointerId:n,button:0,clientX:i.clientX,clientY:i.clientY,pointerType:"touch",buttonName:"unknown",device:o,pressure:i.force});this.onDown(r)}};onTouchMove=e=>{if(this.context.isInAR)for(let t=0;t<e.changedTouches.length;t++){const i=e.changedTouches[t],n=this.getPointerIndex(i.identifier),o=this.getAndUpdateSpatialObjectForScreenPosition(n,i.clientX,i.clientY),r=new Zn("pointermove",e,{origin:this,mode:"screen",deviceIndex:0,pointerId:n,button:0,clientX:i.clientX,clientY:i.clientY,pointerType:"touch",buttonName:"unknown",device:o,pressure:i.force});this.onMove(r)}};onTouchEnd=e=>{if(this.context.isInAR)for(let t=0;t<e.changedTouches.length;t++){const i=e.changedTouches[t],n=this.getPointerIndex(i.identifier),o=new Zn("pointerup",e,{origin:this,mode:"screen",deviceIndex:0,pointerId:n,button:0,clientX:i.clientX,clientY:i.clientY,pointerType:"touch",buttonName:"unknown",device:this.getAndUpdateSpatialObjectForScreenPosition(n,i.clientX,i.clientY),pressure:i.force});this.onUp(o),this._pointerIds[n]=-1}};tempNearPlaneVector=new c.Vector3;tempFarPlaneVector=new c.Vector3;tempLookMatrix=new c.Matrix4;getAndUpdateSpatialObjectForScreenPosition(e,t,i){let n=this._pointerSpace[e];n||(n=new c.Object3D,this._pointerSpace[e]=n),this._pointerSpace[e]=n;const o=this.context.mainCamera;if(o){const r=this.tempNearPlaneVector.set(t,i,-1);this.convertScreenspaceToRaycastSpace(r);const a=this.tempFarPlaneVector.set(r.x,r.y,1);r.unproject(o),a.unproject(o);const l=o.worldUp||j(0,1,0).applyQuaternion(ue(o));this.tempLookMatrix.lookAt(a,r,l),n.position.set(r.x,r.y,r.z),n.quaternion.setFromRotationMatrix(this.tempLookMatrix)}return n}isInRect(e){if(this.context.isInXR)return!0;const t=this.context.domElement.getBoundingClientRect(),i=e.clientX,n=e.clientY,o=i>=t.x&&i<=t.right&&n>=t.y&&n<=t.bottom;return Xe&&!o&&console.log("Not in rect",t,i,n),o}onDown(e){const t=e.pointerId;if(this.getPointerPressed(t)&&console.warn(`Received pointerDown for pointerId that is already pressed: ${t}`,Xe?e:""),Xe&&console.log(e.pointerType,"DOWN",t),!!this.isInRect(e)){for(this.setPointerState(t,this._pointerPressed,!0),this.setPointerState(t,this._pointerDown,!0),this.setPointerStateT(t,this._pointerEvent,e.source);t>=this._pointerTypes.length;)this._pointerTypes.push(e.pointerType);for(this._pointerTypes[t]=e.pointerType;t>=this._pointerPositionDown.length;)this._pointerPositionDown.push(new c.Vector3);for(this._pointerPositionDown[t].set(e.clientX,e.clientY,e.clientZ??0);t>=this._pointerPositions.length;)this._pointerPositions.push(new c.Vector2);this._pointerPositions[t].set(e.clientX,e.clientY),t>=this._pointerDownTime.length&&this._pointerDownTime.push(0),this._pointerDownTime[t]=this.context.time.realtimeSinceStartup,this.updatePointerPosition(e),this._pointerEventsPressed.push(e),this.onDispatchEvent(e)}}onMove(e){const t=e.pointerId,i=this.getPointerPressed(t);i===!1&&!this.isInRect(e)||e.pointerType==="touch"&&!i||(this.updatePointerPosition(e),this.setPointerStateT(t,this._pointerEvent,e.source),this.onDispatchEvent(e))}onUp(e){const t=e.pointerId;if(!this.getPointerPressed(t)){Xe&&console.log(e.pointerType,"UP",t,"was not down");return}Xe&&console.log(e.pointerType,"UP",t),this.setPointerState(t,this._pointerPressed,!1),this.setPointerStateT(t,this._pointerEvent,e.source),this.setPointerState(t,this._pointerUp,!0),this.updatePointerPosition(e);for(let l=this._pointerEventsPressed.length-1;l>=0;l--)if(this._pointerEventsPressed[l].pointerId===t){this._pointerEventsPressed.splice(l,1);break}if(!this._pointerPositionDown[t]){Xe&&de("Received pointer up event without matching down event for button: "+t),console.warn("Received pointer up event without matching down event for button: "+t);return}const n=this._pointerUpTime[t],o=this._pointerDownTime[t],r=this.context.time.realtimeSinceStartup,a=r-o;if(t>=this._pointerUpTime.length&&this._pointerUpTime.push(-99),this._pointerUpTime[t]=r,a<1){let l=e.clientX-this._pointerPositionDown[t].x,h=e.clientY-this._pointerPositionDown[t].y,d=0;if(e.isSpatial&&e.clientZ!=null&&(d=e.clientZ-this._pointerPositionDown[t].z,l*=200,h*=200,d*=200),Math.abs(l)<5&&Math.abs(h)<5&&Math.abs(d)<5){this.setPointerState(t,this._pointerClick,!0),e.isClick=!0;const u=r-n;Xe&&console.log("CLICK",t,l,h,d,u),u<this._doubleClickTimeThreshold&&u>0&&(this.setPointerState(t,this._pointerDoubleClick,!0),e.isDoubleClick=!0)}}this.onDispatchEvent(e)}updatePointerPosition(e){const t=e.pointerId;for(;t>=this._pointerPositions.length;)this._pointerPositions.push(new c.Vector2);for(;t>=this._pointerPositionsLastFrame.length;)this._pointerPositionsLastFrame.push(new c.Vector2);for(;t>=this._pointerPositionsDelta.length;)this._pointerPositionsDelta.push(new c.Vector2);const i=this._pointerPositionsLastFrame[t];i.copy(this._pointerPositions[t]);const n=this._pointerPositionsDelta[t];let o=e.clientX-i.x,r=e.clientY-i.y;if(e.source instanceof MouseEvent||e.source instanceof TouchEvent){const d=e.source;o===0&&d.movementX!==0&&(o=d.movementX||0),r===0&&d.movementY!==0&&(r=d.movementY||0)}n.x+=o,n.y+=r,this._pointerPositions[t].x=e.clientX,this._pointerPositions[t].y=e.clientY;const a=e.clientX,l=e.clientY;for(;t>=this._pointerPositionsRC.length;)this._pointerPositionsRC.push(new c.Vector2);const h=this._pointerPositionsRC[t];h.set(a,l),this.convertScreenspaceToRaycastSpace(h)}getPointerIndex(e){let t=-1;for(let i=0;i<this._pointerIds.length;i++){if(this._pointerIds[i]===e)return i;t===-1&&this._pointerIds[i]===-1&&(t=i)}return t!==-1?(this._pointerIds[t]=e,t):(Xe&&console.log("PUSH pointerId:",e),this._pointerIds.push(e),this._pointerIds.length-1)}setPointerState(e,t,i){t[e]=i}setPointerStateT(e,t,i){return t[e]=i,i}onDispatchEvent(e){const t=N.Current;try{N.Current=this.context,this.dispatchEvent(e)}finally{N.Current=t}}}const aa=new c.Matrix4().makeRotationY(Math.PI),ki=new c.Quaternion().setFromAxisAngle(new c.Vector3(0,1,0),Math.PI),LS=x("debugwebxr");class IS{priority=-1e5;gameObject;isXRRig(){return!0}get isActive(){return this.gameObject.visible}constructor(){if(this.gameObject=new c.Object3D,this.gameObject.name="Implicit XR Rig",LS){const e=Dm(16733661);e.position.y+=.5,this.gameObject.add(e)}}}const Hn=x("debugwebxr"),vh=x("debugcustomgesture"),jS="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",BS="generic-trigger",FS=new c.Quaternion().setFromEuler(new c.Euler(c.MathUtils.degToRad(0),c.MathUtils.degToRad(-90),c.MathUtils.degToRad(-90))),US=new c.Vector3(.04,-.04,0);class Mm{xr;get context(){return this.xr.context}inputSource;index=0;emitEvents=!0;get connected(){return this._connected}_connected=!0;get isTracking(){return this._isTracking}_isTracking=!1;get gamepad(){return this.__gamepad??=this.inputSource.gamepad}__gamepad;get isHand(){return this.hand!=null}get hand(){return this.__hand??=this.inputSource.hand}__hand;get handObject(){return this.context.renderer.xr.getHand(this.index)}get profiles(){return this.inputSource.profiles}get layout(){return this._layout}get targetRayMode(){return this.inputSource.targetRayMode}get targetRaySpace(){return this.inputSource.targetRaySpace}get gripSpace(){return this.inputSource.gripSpace}get side(){return this.__side??=this.inputSource.handedness}__side=void 0;get isRight(){return this.side==="right"}get isLeft(){return this.side==="left"}get isStylus(){return this._isMxInk}getHitTestSource(){return this._hitTestSource||this._requestHitTestSource(),this._hitTestSource}get hasHitTestSource(){return this._hitTestSource}cancelHitTestSource(){this._hitTestSource&&(this._hitTestSource.cancel(),this._hitTestSource=void 0)}_hitTestSource=void 0;_hasSelectEvent=!1;get hasSelectEvent(){return this._hasSelectEvent}_isMxInk=!1;_isMetaQuestTouchController=!1;getHitTest(){return this.xr.getHitTest(this)}_handJointPoses=new Map;getHandJointPose(e,t){if(t=t||this.xr.frame,!this.hand||!t?.getJointPose||!this.xr.referenceSpace)return null;let i=this._handJointPoses?.get(e);return i||(i=t.getJointPose(e,this.xr.referenceSpace),i&&this._handJointPoses.set(e,i),i)}_gripMatrix=new c.Matrix4;_gripPosition=new c.Vector3;_gripQuaternion=new c.Quaternion;_linearVelocity=new c.Vector3;_rayPositionRaw=new c.Vector3;_rayRotationRaw=new c.Quaternion;_rayMatrix=new c.Matrix4;_rayPosition=new c.Vector3;_rayQuaternion=new c.Quaternion;get gripPosition(){return j(this._gripPosition)}get gripQuaternion(){return qt(this._gripQuaternion)}get gripMatrix(){return this._gripMatrix}get gripLinearVelocity(){return j(this._linearVelocity).applyQuaternion(ki)}get rayPosition(){return j(this._rayPosition)}get rayQuaternion(){return qt(this._rayQuaternion)}get gripWorldPosition(){return j(this._gripWorldPosition)}_gripWorldPosition=new c.Vector3;get gripWorldQuaternion(){return qt(this._gripWorldQuaternion)}_gripWorldQuaternion=new c.Quaternion;get rayWorldPosition(){return j(this._rayWorldPosition)}_rayWorldPosition=new c.Vector3;updateRayWorldPosition(){const e=this.xr.context.mainCamera?.parent;this._rayWorldPosition.copy(this._rayPositionRaw),e&&this._rayWorldPosition.applyMatrix4(e.matrixWorld)}get rayWorldQuaternion(){return qt(this._rayWorldQuaternion)}_rayWorldQuaternion=new c.Quaternion;get pinchPosition(){return j(this._pinchPosition)}_pinchPosition=new c.Vector3;updateRayWorldQuaternion(){const e=this.xr.context.mainCamera?.parent,t=e?ue(e):void 0;this._rayWorldQuaternion.copy(this._rayRotationRaw).multiply(ki),t&&this._rayWorldQuaternion.premultiply(t)}get ray(){return this._ray.origin.copy(this.rayWorldPosition),this._ray.direction.copy(j(0,0,1).applyQuaternion(this.rayWorldQuaternion)),this._ray}_ray;_hand_wristDotUp=void 0;get handWristDotUp(){if(this._hand_wristDotUp!==void 0)return this._hand_wristDotUp;const e=this.handObject?.joints.wrist;if(e){const t=j(0,1,0).applyQuaternion(e.quaternion),i=j(0,1,0).dot(t);return this._hand_wristDotUp=i}}get isHandUpsideDown(){return this.handWristDotUp!==void 0?this.handWristDotUp<-.7:!1}get isTeleportGesture(){return this.isHandUpsideDown&&this.getGesture("pinch")?.isDown}get object(){return this._object}_object;_gripSpaceObject;_raySpaceObject;model=null;_debugAxesHelper=new c.AxesHelper(.15);_debugGripAxesHelper=new c.AxesHelper(.07);_debugRayAxesHelper=new c.AxesHelper(.07);async getModelUrl(){return this.getMotionController?.then(e=>e?.assetUrl||null)}constructor(e,t,i){this.xr=e,this.inputSource=t,this.index=i,this._object=new c.Object3D,this._object.name=`NeedleXRController_${i}`,Hn&&(this._object.add(this._debugAxesHelper),this._gripSpaceObject=new c.Object3D,this._raySpaceObject=new c.Object3D,this._gripSpaceObject.name=`NeedleXRController_${i}_gripSpace`,this._raySpaceObject.name=`NeedleXRController_${i}_raySpace`,this._gripSpaceObject.add(this._debugGripAxesHelper),this._raySpaceObject.add(this._debugRayAxesHelper),this.xr.context.scene.add(this._gripSpaceObject),this.xr.context.scene.add(this._raySpaceObject)),this.xr.context.scene.add(this._object),this._ray=new c.Ray,this.pointerInit={origin:this,pointerType:this.hand?"hand":"controller",deviceIndex:this.index,pointerId:-1,mode:this.inputSource.targetRayMode,ray:this._ray,device:this._object,buttonName:"none"},this.initialize(),this.subscribeEvents()}_hitTestSourcePromise=null;_requestHitTestSource(){return this._hitTestSourcePromise?this._hitTestSourcePromise:this.xr.mode==="immersive-ar"&&this.inputSource.targetRayMode==="tracked-pointer"&&this.xr.session.requestHitTestSourceForTransientInput?this._hitTestSourcePromise=this.xr.session.requestHitTestSourceForTransientInput({profile:this.inputSource.profiles[0],offsetRay:new XRRay})?.then(e=>(this._hitTestSourcePromise=null,this.connected?this._hitTestSource=e:(e.cancel(),null)))??null:null}onPointerHits=e=>{};onUpdate(e){this.onUpdateFrame(e),this.updateInputEvents(),this.onUpdateMove()}onRenderDebug(){B.DrawSphere(this.rayWorldPosition,.003),B.DrawDirection(this.rayWorldPosition,j(0,0,10).applyQuaternion(this.rayWorldQuaternion));const t=(this.inputSource.gripSpace?this.gripWorldPosition:this.object.worldPosition).sub(this.object.worldForward.multiplyScalar(.1)),i=this.inputSource.profiles.join(`
|
|
146
146
|
`);let n=`Controller[${this.index}] (${this.inputSource.targetRayMode}, ${this.side})
|
|
147
147
|
C:${this.connected?"x":"-"} T:${this.isTracking?"x":"-"} Hand:${this.inputSource.hand?"x":"-"} Pen: ${this._isMxInk?"x":"-"}`;if(this.inputSource.hand&&(n+=`
|
|
@@ -1649,4 +1649,4 @@ Error:`,r),null}}updateColliderCollisionGroups(e){const t=e[wt],i=e.membership;l
|
|
|
1649
1649
|
justify-content: center;
|
|
1650
1650
|
gap: .5rem;
|
|
1651
1651
|
}
|
|
1652
|
-
`),this.#n.innerHTML=this.#e.innerHTML,this.#n.style.cssText="display: flex; align-items: center; justify-content: center;",this.#e.innerHTML=this.#n.outerHTML,this.#t.innerHTML=this.#e.outerHTML,this.#t.prepend(this.#s),Ad(Bp,{element:this.#t}),this.#o?.disconnect(),this.#o??=new MutationObserver(()=>this.#l()),this.#o.observe(this.#e,{attributes:!0}),fp&&console.log("Needle Button updated")}#l(){this.#e&&(this.#e.style.display==="none"?this.style.display="none":this.style.display==="none"&&(this.style.display=""))}#r=e=>{fp&&console.log("Needle Button clicked"),!e.defaultPrevented&&this.#e&&this.#e.click()}}typeof window<"u"&&!window.customElements.get(Cb)&&window.customElements.define(Cb,cx);const vl=x("debugavatar");class wy{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(o=>o.layers.set(2))}}class hx{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 o=new hn;i=S.instantiate(ma(t,e.scene),o)}}else i=t;if(!i)return null;const n=this.findAvatar(i);return n.isValid?(vl&&console.log("[Custom Avatar] valid config",t,vl?n:""),n):(console.warn("[Custom Avatar] config isn't valid",t,vl?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(vl&&console.log("[Custom Avatar] "+t+", loading..."),t.endsWith(".glb")||(t+=".glb"),this.avatarRegistryUrl===null){const n=await fetch("./"+t);let o=null;if(n.ok){const a=await n.blob();a&&(o=await a.arrayBuffer())}return o?(await rn().parseSync(e,o,null,0))?.scene??null:null}const i=new q.GLTFLoader;return Xm(i,e),new Promise((n,o)=>{const r=this.avatarRegistryUrl+"/"+t;i.load(r,async a=>{await rn().createBuiltinComponents(e,r,a,null,void 0),n(a.scene)},a=>{vl&&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 o=this.findAvatarPart(i,["left","hand"]),r=this.findAvatarPart(i,["right","hand"]);if(!n){n=t;const l=new c.Vector3;new c.Box3().setFromObject(n).getSize(l);const h=Math.max(l.x,l.y,l.z);console.warn("[Custom Avatar] Normalizing head scale, it's too big: "+h+" meters! Should be < 0.3m"),h>.3&&n.scale.multiplyScalar(1/h*.3)}return new wy(t,n,o,r)}findAvatarPart(e,t){const i=e.name.toLowerCase();let n=!0;for(const o of t){if(!n)break;i.indexOf(o)===-1&&(n=!1)}if(n)return e;if(e.children)for(const o of e.children){const r=this.findAvatarPart(o,t);if(r)return r}return null}handleCustomAvatarErrors(e){if(!e.ok)throw Error(e.statusText);return e}}class dx{get extensionName(){return"DocumentExtension"}onAfterBuildDocument(e){}}class ux{}const rT=Object.freeze(Object.defineProperty({__proto__:null,ActionBuilder:le,ActionCollection:gw,ActionModel:Gt,AlignmentConstraint:Ac,Animation:Ct,AnimationCurve:Zc,AnimationExtension:xu,AnimationTrackHandler:mc,Animator:rt,AnimatorController:Li,Antialiasing:eh,Attractor:$a,AudioExtension:br,AudioListener:ss,AudioSource:pi,AudioTrackHandler:rs,Avatar:io,AvatarBlink_Simple:mr,AvatarEyeLook_Rotation:ng,AvatarLoader:hx,AvatarMarker:Se,AvatarModel:wy,Avatar_Brain_LookAt:cc,Avatar_MouthShapes:jc,Avatar_MustacheShake:tg,Avatar_POI:Yo,AxesHelper:Ra,BaseUIComponent:Bi,BasicIKConstraint:og,BehaviorExtension:Ig,BehaviorModel:gt,BloomEffect:Iu,BoxCollider:yu,BoxGizmo:Sr,BoxHelperComponent:nt,Button:Ss,CallInfo:ns,Camera:Qt,CameraTargetReachedEvent:lc,Canvas:Ca,CanvasGroup:no,CapsuleCollider:hs,ChangeMaterialOnClick:Og,ChangeTransformOnClick:vr,CharacterController:gr,CharacterControllerInput:ps,ChromaticAberration:th,ClickThrough:Zu,Collider:Jt,ColorAdjustments:_o,ColorBySpeedModule:Va,ColorOverLifetimeModule:Au,ContactShadows:Bc,ControlTrackHandler:Hu,CursorFollow:Dr,CustomBranding:xr,Deletable:cg,DeleteBox:Ys,DepthOfField:fn,DeviceFlag:_u,DocumentExtension:dx,DragControls:Fo,DropListener:gs,Duplicatable:yg,EffectWrapper:pc,EmissionModule:vs,EmphasizeOnClick:La,EnvironmentScene:Yu,EventList:oe,EventListEvent:uu,EventSystem:Bt,EventTrigger:vu,FieldWithDefault:Kv,FixedJoint:Qg,Fog:Ua,GltfExport:xg,GltfExportBox:vg,Gradient:Pr,Graphic:Gc,GraphicRaycaster:fu,GridHelper:za,GridLayoutGroup:Ng,GroundProjectedEnv:Un,GroupActionModel:Uo,HideOnStart:Ei,HingeJoint:Xc,HorizontalLayoutGroup:zg,get HoverAnimation(){return exports.HoverAnimation},Image:Qa,InheritVelocityModule:Jg,InputField:fy,InstanceHandle:Ko,InstancingHandler:or,Interactable:lg,Keyframe:Yt,LODGroup:Yc,LODModel:Na,Light:ii,LimitVelocityOverLifetimeModule:et,LogStats:ag,LookAt:py,LookAtConstraint:pr,MainModule:Mt,MarkerTrackHandler:Wu,MaskableGraphic:qc,MeshCollider:ho,MeshRenderer:Uc,MinMaxCurve:H,MinMaxGradient:Or,NeedleMenu:Nn,NestedGltf:Kc,Networking:Kg,NoiseModule:fe,ObjectRaycaster:fi,OffsetConstraint:Cr,OpenURL:Ya,OrbitControls:ce,Outline:Fa,Padding:wr,ParticleBurst:Wd,ParticleSubEmitter:ey,ParticleSystem:fc,ParticleSystemRenderer:Vi,PhysicsExtension:jg,PixelationEffect:ih,PlayAnimationOnClick:dc,PlayAudioOnClick:to,PlayableDirector:lr,PlayerColor:Pa,PointerEventData:Lc,PostProcessingHandler:oy,PreliminaryAction:Ia,PreliminaryTrigger:Vc,RawImage:Xu,Rect:ww,RectTransform:cn,ReflectionProbe:hc,RegisteredAnimationInfo:qs,RemoteSkybox:Bu,Renderer:Ut,RendererLightmap:pg,Rigidbody:Ve,RotationBySpeedModule:Ni,RotationOverLifetimeModule:un,SceneSwitcher:Fe,ScreenCapture:bo,ScreenSpaceAmbientOcclusion:ws,ScreenSpaceAmbientOcclusionN8:pn,ScrollFollow:Cs,SeeThrough:xs,SetActiveOnClick:Mg,ShadowCatcher:rh,ShapeModule:Zg,SharpeningEffect:sh,SignalAsset:$u,SignalReceiver:dh,SignalReceiverEvent:hh,SignalTrackHandler:gc,Size:vw,SizeBySpeedModule:ni,SizeOverLifetimeModule:Mr,SkinnedMeshRenderer:mg,SmoothFollow:Uu,SpatialGrabRaycaster:nr,SpatialHtml:fh,SpatialTrigger:zu,SpatialTriggerReceiver:jn,SpectatorCamera:Nu,SphereCollider:Ta,SplineContainer:Tr,SplineData:Fn,SplineWalker:Wi,Sprite:ys,SpriteData:fa,SpriteRenderer:ei,SpriteSheet:Sa,SubEmitterSystem:Hd,SyncedCamera:ay,SyncedRoom:mn,SyncedTransform:ln,TapGestureTrigger:Eg,TeleportTarget:Mu,TestRunner:ly,TestSimulateUserData:cy,Text:Ot,TextBuilder:Fg,TextExtension:Eu,TextureSheetAnimationModule:kt,TiltShiftEffect:Wn,ToneMappingEffect:so,TrailModule:Re,TransformData:ke,TransformGizmo:Ar,TriggerBuilder:St,TriggerModel:Ks,UIRaycastUtils:Km,UIRootComponent:Wc,USDZExporter:sn,USDZText:oa,USDZUIExtension:$g,UsageMarker:Fc,VariantAction:Pg,VelocityOverLifetimeModule:De,VerticalLayoutGroup:Ug,VideoPlayer:Ze,get ViewBox(){return exports.ViewBox},Vignette:Rr,VisibilityAction:$c,Voip:co,Volume:Ha,VolumeParameter:F,VolumeProfile:Du,WebARCameraBackground:mh,WebARSessionRoot:di,WebXR:ku,WebXRImageTracking:gh,WebXRImageTrackingModel:Os,WebXRPlaneTracking:Ms,WebXRTrackedImage:Oa,XRControllerFollow:Ps,XRControllerModel:ds,XRControllerMovement:gi,XRFlag:Ti,XRRig:tf,XRState:jt,__Ignore:ux},Symbol.toStringTag,{value:"Module"})),_c=x("debugmissingcamera");ae.registerCallback(re.MissingCamera,s=>{_c&&console.warn("Creating missing camera");const e=s.context.scene,t=new c.PerspectiveCamera;t.name="Default Fallback Camera",e.add(t);const i=new Qt;if(i.sourceId=s.files?.[0]?.src??"unknown",i.fieldOfView=35,s.context.domElement.getAttribute("transparent")!=null)i.clearFlags=Qo.Uninitialized;else if(s.context.domElement.getAttribute("background-image")?.length||s.context.lightmaps.tryGetSkybox(i.sourceId))i.clearFlags=Qo.Skybox;else{if(i.clearFlags=Qo.SolidColor,!s.context.domElement.getAttribute("background-color")){let a="#efefef";typeof window!==void 0&&window.matchMedia("(prefers-color-scheme: dark)").matches&&(a="#1f1f1f"),e.background=new c.Color(a)}if(!e.environment){const a=new c.PMREMGenerator$1(s.context.renderer),l=new Yu("neutral");e.environment=a.fromScene(l,.025).texture}}const o=Wo(t,i,!0);return t.position.x=0,t.position.y=1,t.position.z=2,s.context.domElement?.cameraControls!=!1&&fx(s.context,o),o});ae.registerCallback(re.ContextCreated,s=>{if(!s.context.mainCamera){_c&&console.log("Will not auto-fit because a default camera exists");return}if(s.context.domElement?.cameraControls==!0){if(Bb(s.context.mainCamera)?.isCameraController==!0){_c&&console.log("Will not auto-fit because a camera controller exists");return}fx(s.context)}});function fx(s,e){e=e??s.mainCameraComponent;const t=e?.gameObject;if(_c&&console.log("Creating default camera controls",e?.name),t){const i=Mc(t,ce);i.sourceId=e?.sourceId??"unknown";const n=s.domElement.getAttribute("auto-rotate");i.autoRotate=n!="0"&&n?.toLowerCase()!="false";const o=Number.parseFloat(n||".5");i.autoRotateSpeed=isNaN(o)?.5:o,_c&&console.log("Auto-rotate",i.autoRotate,"speed:",i.autoRotateSpeed);const r=s.domElement.getAttribute("auto-fit");i.autoFit=r!=="0"&&r?.toLowerCase()!="false",i.autoTarget=!0}else console.warn("Missing camera object, can not add orbit controls")}ae.registerCallback(re.ContextCreated,s=>{const e=s.context.domElement.getAttribute("autoplay");if(e!==void 0&&(e===""||e==="true"||e==="1")&&s.files)for(const t of s.files)S.foreachComponent(t.file.scene,n=>{if(n.enabled!==!1){if(n instanceof Ct&&n.playAutomatically||n instanceof rt||n instanceof lr&&n.playOnAwake===!0)return!0;if(n instanceof Ct)return n.playAutomatically=!0,!0;if(n instanceof lr)return n.playOnAwake=!0,!0}},!0)!==!0&&eo.autoplayAnimations(t.file)});exports.SplineUtils=void 0;(s=>{function e(t,i=!1,n=.75){const o=new Tr,r=1-L.clamp(n,0,1);return t.forEach((a,l)=>{const h=new c.Vector3;l<t.length-1?h.subVectors(t[l+1],a).normalize().multiplyScalar(r):i&&t.length>1&&h.subVectors(t[0],a).normalize().multiplyScalar(r);const d=new Fn;d.position.copy(a),d.tangentIn.copy(h),d.tangentOut.copy(h),o.addKnot(d)}),o.closed=i,o}s.createFromPoints=e})(exports.SplineUtils||(exports.SplineUtils={}));class aT extends se.WorkerBase{constructor(){super(new Worker(new URL("/generateMeshBVH.worker-B9bjdr6J.js",typeof document>"u"?require("url").pathToFileURL(__filename).href:sf&&sf.tagName.toUpperCase()==="SCRIPT"&&sf.src||new URL("needle-engine.bundle-DG38kMjs.umd.cjs",document.baseURI).href),{type:"module"})),this.name="GenerateMeshBVHWorker"}runTask(e,t,i={}){return new Promise((n,o)=>{if(t.getAttribute("position").isInterleavedBufferAttribute||t.index&&t.index.isInterleavedBufferAttribute)throw new Error("GenerateMeshBVHWorker: InterleavedBufferAttribute are not supported for the geometry attributes.");e.onerror=h=>{o(new Error(`[GenerateMeshBVHWorker] ${h.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=h=>{const{data:d}=h;if(d.error)o(new Error(d.error)),e.onmessage=null;else if(d.serialized){const{serialized:u,position:p}=d,m=se.MeshBVH.deserialize(u,t,{setIndex:!1}),y=Object.assign({setBoundingBox:!0},i);if(t.attributes.position.array=p,u.index)if(t.index)t.index.array=u.index;else{const _=new c.BufferAttribute(u.index,1,!1);t.setIndex(_)}y.setBoundingBox&&(t.boundingBox=m.getBoundingBox(new c.Box3)),i.onProgress&&i.onProgress(d.progress),n(m),e.onmessage=null}else i.onProgress&&i.onProgress(d.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(h=>h.buffer).filter(h=>typeof SharedArrayBuffer>"u"||!(h instanceof SharedArrayBuffer)))})}}const lT=Object.freeze(Object.defineProperty({__proto__:null,GenerateMeshBVHWorker:aT},Symbol.toStringTag,{value:"Module"}));exports.$physicsKey=IP;exports.ActionBuilder=le;exports.ActionCollection=gw;exports.ActionModel=Gt;exports.Addressables=Z0;exports.AlignmentConstraint=Ac;exports.AmbientMode=da;exports.Animation=Ct;exports.AnimationCurve=Zc;exports.AnimationExtension=xu;exports.AnimationTrackHandler=mc;exports.AnimationUtils=eo;exports.Animator=rt;exports.AnimatorConditionMode=Vs;exports.AnimatorController=Li;exports.AnimatorControllerParameterType=Qm;exports.AnimatorStateInfo=Pl;exports.Antialiasing=eh;exports.Application=an;exports.AssetDatabase=m0;exports.AssetReference=Y;exports.Attractor=$a;exports.AudioExtension=br;exports.AudioListener=ss;exports.AudioSource=pi;exports.AudioTrackHandler=rs;exports.Avatar=io;exports.AvatarBlink_Simple=mr;exports.AvatarEyeLook_Rotation=ng;exports.AvatarLoader=hx;exports.AvatarMarker=Se;exports.AvatarModel=wy;exports.Avatar_Brain_LookAt=cc;exports.Avatar_MouthShapes=jc;exports.Avatar_MustacheShake=tg;exports.Avatar_POI=Yo;exports.Axes=na;exports.AxesHelper=Ra;exports.BUILD_TIME=Sm;exports.BaseUIComponent=Bi;exports.BasicIKConstraint=og;exports.BehaviorExtension=Ig;exports.BehaviorModel=gt;exports.BloomEffect=Iu;exports.BoxCollider=yu;exports.BoxGizmo=Sr;exports.BoxHelperComponent=nt;exports.Button=Ss;exports.ButtonsFactory=Ji;exports.CallDirection=Iv;exports.CallInfo=ns;exports.Camera=Qt;exports.CameraTargetReachedEvent=lc;exports.Canvas=Ca;exports.CanvasGroup=no;exports.CapsuleCollider=hs;exports.ChangeMaterialOnClick=Og;exports.ChangeTransformOnClick=vr;exports.CharacterController=gr;exports.CharacterControllerInput=ps;exports.ChromaticAberration=th;exports.CircularBuffer=ui;exports.ClearFlags=Qo;exports.ClickThrough=Zu;exports.ClipExtrapolation=xn;exports.Collider=Jt;exports.Collision=Av;exports.CollisionDetectionMode=du;exports.ColorAdjustments=_o;exports.ColorBySpeedModule=Va;exports.ColorOverLifetimeModule=Au;exports.Component=V1;exports.Component$1=E;exports.ComponentLifecycleEvents=iu;exports.Components=rT;exports.ConnectionEvents=c0;exports.ContactPoint=Tv;exports.ContactShadows=Bc;exports.Context=N;exports.ContextArgs=M1;exports.ContextEvent=re;exports.ContextRegistry=ae;exports.ControlTrackHandler=Hu;exports.CursorFollow=Dr;exports.CustomBranding=xr;exports.CustomShader=ye;exports.DefaultReflectionMode=Rd;exports.Deletable=cg;exports.DeleteBox=Ys;exports.DepthOfField=fn;exports.DeviceFlag=_u;exports.DocumentExtension=dx;exports.DragControls=Fo;exports.DragMode=hg;exports.DropListener=gs;exports.Duplicatable=yg;exports.EffectWrapper=pc;exports.EmissionModule=vs;exports.EmphasizeOnClick=La;exports.EngineLoadingView=yc;exports.EnvironmentScene=Yu;exports.EventList=oe;exports.EventListEvent=uu;exports.EventSystem=Bt;exports.EventTrigger=vu;exports.FieldWithDefault=Kv;exports.FileReference=qo;exports.FileReferenceSerializer=ev;exports.FileSpawnModel=sO;exports.File_Event=Vv;exports.FixedJoint=Qg;exports.Fog=Ua;exports.FrameEvent=pe;exports.GENERATOR=Kd;exports.GameObject=S;exports.Gizmos=B;exports.GltfExport=xg;exports.GltfExportBox=vg;exports.Gradient=Pr;exports.Graphic=Gc;exports.GraphicRaycaster=fu;exports.Graphics=Js;exports.GridHelper=za;exports.GridLayoutGroup=Ng;exports.GroundProjectedEnv=Un;exports.GroupActionModel=Uo;exports.HideFlags=pu;exports.HideOnStart=Ei;exports.HingeJoint=Xc;exports.HorizontalLayoutGroup=zg;exports.HostData=vC;exports.Image=Qa;exports.ImageReference=Go;exports.ImageReferenceSerializer=J0;exports.InheritVelocityModule=Jg;exports.Input=n0;exports.InputEventQueue=Xt;exports.InputEvents=xe;exports.InputField=fy;exports.InstanceHandle=Ko;exports.InstancingHandler=or;exports.InstancingUtil=Di;exports.InstantiateEvent=O0;exports.InstantiateIdProvider=mt;exports.InstantiateOptions=hn;exports.Interactable=lg;exports.JoinedRoomResponse=WS;exports.KeyEventArgs=DS;exports.Keyframe=Yt;exports.LODGroup=Yc;exports.LODModel=Na;exports.LeftRoomResponse=HS;exports.Light=ii;exports.LightData=ov;exports.LimitVelocityOverLifetimeModule=et;exports.LoadingElementOptions=HR;exports.LogStats=ag;exports.LogType=hi;exports.LookAt=py;exports.LookAtConstraint=pr;exports.MainModule=Mt;exports.MarkerTrackHandler=Wu;exports.MarkerType=hy;exports.MaskableGraphic=qc;exports.Mathf=L;exports.MeshCollider=ho;exports.MeshRenderer=Uc;exports.MinMaxCurve=H;exports.MinMaxGradient=Or;exports.NEKeyboardEvent=wl;exports.NEPointerEvent=Zn;exports.NeedleButtonElement=cx;exports.NeedleEngineWebComponent=vy;exports.NeedleMenu=Nn;exports.NeedlePatchesKey=Jh;exports.NeedleXRController=Mm;exports.NeedleXRSession=G;exports.NeedleXRSync=u0;exports.NeedleXRUtils=p0;exports.NestedGltf=Kc;exports.NetworkConnection=d0;exports.NetworkedStreamEvents=Rn;exports.NetworkedStreams=Ic;exports.Networking=Kg;exports.NewInstanceModel=k0;exports.NoiseModule=fe;exports.ObjectRaycaster=fi;exports.ObjectUtils=hr;exports.OffsetConstraint=Cr;exports.OneEuroFilter=Kh;exports.OneEuroFilterXYZ=mm;exports.OpenURL=Ya;exports.OrbitControls=ce;exports.Outline=Fa;exports.OwnershipEvent=h0;exports.OwnershipModel=Tm;exports.PUBLIC_KEY=ea;exports.Padding=wr;exports.ParticleBurst=Wd;exports.ParticleSubEmitter=ey;exports.ParticleSystem=fc;exports.ParticleSystemBaseBehaviour=yo;exports.ParticleSystemRenderer=Vi;exports.ParticleSystemShapeType=$d;exports.PeerHandle=os;exports.PeerNetworking=l0;exports.Physics=va;exports.PhysicsExtension=jg;exports.PhysicsMaterialCombine=it;exports.PixelationEffect=ih;exports.PlayAnimationOnClick=dc;exports.PlayAudioOnClick=to;exports.PlayableDirector=lr;exports.PlayerColor=Pa;exports.PlayerState=en;exports.PlayerStateEvent=bw;exports.PlayerSync=Dg;exports.PlayerView=iv;exports.PlayerViewManager=nv;exports.PointerEventData=Lc;exports.PointerType=eu;exports.PostProcessingEffect=$e;exports.PostProcessingEffectOrder=Ke;exports.PostProcessingHandler=oy;exports.PreliminaryAction=Ia;exports.PreliminaryTrigger=Vc;exports.PrimitiveType=Jo;exports.Progress=ie;exports.PromiseAllWithErrors=fm;exports.PromiseErrorResult=gp;exports.RGBAColor=Z;exports.RapierPhysics=pa;exports.RawImage=Xu;exports.RaycastOptions=lo;exports.Rect=ww;exports.RectTransform=cn;exports.ReflectionProbe=hc;exports.RegisteredAnimationInfo=qs;exports.RemoteSkybox=Bu;exports.RenderTexture=En;exports.RenderTextureSerializer=Mv;exports.Renderer=Ut;exports.RendererData=sv;exports.RendererLightmap=pg;exports.Rigidbody=Ve;exports.RigidbodyConstraints=Ie;exports.RoomEvents=Q;exports.RotationBySpeedModule=Ni;exports.RotationOverLifetimeModule=un;exports.SceneLightSettings=Fd;exports.SceneSwitcher=Fe;exports.ScreenCapture=bo;exports.ScreenSpaceAmbientOcclusion=ws;exports.ScreenSpaceAmbientOcclusionN8=pn;exports.ScrollFollow=Cs;exports.SeeThrough=xs;exports.SendQueue=Zi;exports.SerializationContext=Vm;exports.SetActiveOnClick=Mg;exports.ShadowCatcher=rh;exports.ShapeModule=Zg;exports.ShapeOverlapResult=Dv;exports.SharpeningEffect=sh;exports.SignalAsset=$u;exports.SignalReceiver=dh;exports.SignalReceiverEvent=hh;exports.SignalTrackHandler=gc;exports.Size=vw;exports.SizeBySpeedModule=ni;exports.SizeOverLifetimeModule=Mr;exports.SkinnedMeshRenderer=mg;exports.SmoothFollow=Uu;exports.SpatialGrabRaycaster=nr;exports.SpatialHtml=fh;exports.SpatialTrigger=zu;exports.SpatialTriggerReceiver=jn;exports.SpectatorCamera=Nu;exports.SphereCollider=Ta;exports.SphereIntersection=Lm;exports.SplineContainer=Tr;exports.SplineData=Fn;exports.SplineWalker=Wi;exports.Sprite=ys;exports.SpriteData=fa;exports.SpriteRenderer=ei;exports.SpriteSheet=Sa;exports.StateMachineBehaviour=X1;exports.StreamEndedEvent=Jm;exports.StreamReceivedEvent=Lv;exports.SubEmitterSystem=Hd;exports.SyncedCamera=ay;exports.SyncedRoom=mn;exports.SyncedTransform=ln;exports.TapGestureTrigger=Eg;exports.TeleportTarget=Mu;exports.TestRunner=ly;exports.TestSceneUtils=eT;exports.TestSimulateUserData=cy;exports.Text=Ot;exports.TextBuilder=Fg;exports.TextExtension=Eu;exports.TextureSheetAnimationModule=kt;exports.TiltShiftEffect=Wn;exports.Time=rv;exports.ToneMappingEffect=so;exports.TrackHandler=Xa;exports.TrackType=ri;exports.TrailModule=Re;exports.TransformData=ke;exports.TransformGizmo=Ar;exports.TriggerBuilder=St;exports.TriggerModel=Ks;exports.TypeStore=P;exports.UIRaycastUtils=Km;exports.UIRootComponent=Wc;exports.USDDocument=Sg;exports.USDObject=Ne;exports.USDWriter=aw;exports.USDZExporter=sn;exports.USDZExporter$1=lw;exports.USDZText=oa;exports.USDZUIExtension=$g;exports.UriSerializer=kv;exports.UsageMarker=Fc;exports.UserJoinedOrLeftRoomModel=GS;exports.VERSION=tn;exports.VariantAction=Pg;exports.VelocityOverLifetimeModule=De;exports.VerticalLayoutGroup=Ug;exports.VideoPlayer=Ze;exports.ViewDevice=Xs;exports.Vignette=Rr;exports.VisibilityAction=$c;exports.Voip=co;exports.Volume=Ha;exports.VolumeParameter=F;exports.VolumeProfile=Du;exports.WaitForFrames=ZC;exports.WaitForPromise=tv;exports.WaitForSeconds=Hm;exports.Watch=as;exports.WebARCameraBackground=mh;exports.WebARSessionRoot=di;exports.WebXR=ku;exports.WebXRButtonFactory=Zs;exports.WebXRImageTracking=gh;exports.WebXRImageTrackingModel=Os;exports.WebXRPlaneTracking=Ms;exports.WebXRTrackedImage=Oa;exports.XRControllerFollow=Ps;exports.XRControllerModel=ds;exports.XRControllerMovement=gi;exports.XRFlag=Ti;exports.XRRig=tf;exports.XRState=jt;exports.XRStateFlag=Mn;exports.__Ignore=ux;exports.__internalNotifyObjectDestroyed=cC;exports.activeInHierarchyFieldName=ls;exports.addAttributeChangeCallback=dm;exports.addComponent=nn;exports.addCustomExtensionPlugin=vO;exports.addNewComponent=Wo;exports.addPatch=Zd;exports.apply=su;exports.applyHMRChanges=N1;exports.applyPrototypeExtensions=z0;exports.beginListenDestroy=M0;exports.beginListenInstantiate=R0;exports.binaryIdentifierCasts=km;exports.build_scene_functions=O1;exports.builtinComponentKeyName=Do;exports.calculateProgress01=by;exports.clearMessages=Vx;exports.colorSerializer=dP;exports.compareAssociation=L0;exports.componentSerializer=ld;exports.copyTexture=Wb;exports.createMotion=xv;exports.debugNet=Nt;exports.debugOwner=xl;exports.decompressGpuTexture=uw;exports.deepClone=vc;exports.delay=Bn;exports.delayForFrames=wc;exports.deserializeObject=kd;exports.destroy=ji;exports.destroyComponentInstance=$0;exports.determineMimeTypeFromExtension=$v;exports.disposeObjectResources=_e;exports.disposeStream=Tn;exports.editorGuidKeyName=Ul;exports.enableSpatialConsole=No;exports.euler=fP;exports.eventListSerializer=yP;exports.exportAsGLTF=nT;exports.findByGuid=Wm;exports.findObjectOfType=ka;exports.findObjectsOfType=H0;exports.findResourceUsers=Im;exports.fitCamera=Sv;exports.fitObjectIntoVolume=Gb;exports.foreachComponent=tr;exports.foreachComponentEnumerator=ru;exports.forward=rS;exports.generateQRCode=cv;exports.generateSeed=E0;exports.getBoundingBox=Ft;exports.getCameraController=Bb;exports.getComponent=ur;exports.getComponentInChildren=Ec;exports.getComponentInParent=oc;exports.getComponents=kc;exports.getComponentsInChildren=Ma;exports.getComponentsInParent=nu;exports.getFormattedDate=nw;exports.getIconElement=pt;exports.getIconTexture=jp;exports.getLoader=rn;exports.getOrAddComponent=Mc;exports.getParam=x;exports.getParentHierarchyPath=cS;exports.getPath=vx;exports.getPeerOptions=zS;exports.getPeerjsInstance=a0;exports.getResourceUserCount=dC;exports.getTempColor=zb;exports.getTempQuaternion=qt;exports.getTempVector=j;exports.getUrlParams=bc;exports.getVisibleInCustomShadowRendering=Hb;exports.getWorldDirection=Nb;exports.getWorldEuler=_m;exports.getWorldPosition=X;exports.getWorldQuaternion=ue;exports.getWorldRotation=Yd;exports.getWorldScale=je;exports.hasCommercialLicense=cs;exports.hasIndieLicense=Tc;exports.hasPointerEventComponent=Id;exports.hasProLicense=In;exports.hideDebugConsole=Yb;exports.imageToCanvas=fw;exports.instantiate=ir;exports.invokeLoadedImportPluginHooks=Yv;exports.invokeXRSessionEnd=i0;exports.invokeXRSessionStart=t0;exports.isActiveInHierarchy=G0;exports.isActiveSelf=Ea;exports.isAndroidDevice=Ox;exports.isAnimationAction=$b;exports.isComponent=Rv;exports.isDebugMode=gx;exports.isDesktop=xx;exports.isDestroyed=er;exports.isDevEnvironment=A;exports.isDisposed=lC;exports.isExporting=tT;exports.isGLTFModel=Ev;exports.isHostedOnGlitch=Pb;exports.isHotReloadEnabled=Np;exports.isHotReloading=U1;exports.isIPad=Cx;exports.isIconElement=hv;exports.isLocalNetwork=Ii;exports.isMacOS=kx;exports.isMobileDevice=Sx;exports.isMozillaXR=Mx;exports.isQuest=Tx;exports.isResourceTrackingEnabled=y0;exports.isSafari=Rx;exports.isUsingInstancing=ou;exports.isiOS=Ex;exports.isiPad=Px;exports.loadAsset=UR;exports.loadPMREM=$w;exports.loadSync=_y;exports.logHierarchy=vd;exports.lookAtInverse=Zx;exports.lookAtObject=xc;exports.lookAtScreenPoint=Jx;exports.makeId=_x;exports.makeIdFromRandomWords=kb;exports.makeNameSafe=mi;exports.markAsInstancedRendered=q0;exports.microphonePermissionsGranted=Ax;exports.nameof=mx;exports.nameofFactory=Ob;exports.objectSerializer=Ov;exports.offXRSessionEnd=AS;exports.offXRSessionStart=TS;exports.onAfterRender=B1;exports.onBeforeRender=j1;exports.onClear=L1;exports.onDestroy=I1;exports.onInitialized=mv;exports.onStart=cu;exports.onUpdate=gv;exports.onXRSessionEnd=Om;exports.onXRSessionStart=Jd;exports.parseSync=sx;exports.placeOnSurface=qb;exports.postprocessFBXMaterials=wm;exports.prefix=oP;exports.pushState=Mb;exports.randomNumber=bx;exports.registerBinaryType=Em;exports.registerComponent=lu;exports.registerComponentExtension=ug;exports.registerCustomEffectType=$i;exports.registerExportExtensions=fg;exports.registerExtensions=zd;exports.registerHotReloadType=_v;exports.registerLoader=Cm;exports.registerPrefabProvider=A0;exports.registerPrototypeExtensions=N0;exports.registerType=Um;exports.relativePathPrefix=Rb;exports.removeAttributeChangeCallback=um;exports.removeComponent=$m;exports.removeCustomImportExtensionType=wO;exports.removePatch=ES;exports.resolveUrl=oo;exports.sanitizeString=Eb;exports.saveImage=ex;exports.screenshot=xR;exports.screenshot2=yy;exports.sendDestroyed=Bm;exports.serializable=f;exports.serializeObject=j0;exports.serializeable=Be;exports.setActive=Vl;exports.setAllowBalloonMessages=Lb;exports.setAllowOverlayMessages=Fx;exports.setAutoFitEnabled=_d;exports.setCameraController=_p;exports.setDestroyed=Q0;exports.setDevEnvironment=yS;exports.setDisposable=b0;exports.setDontDestroy=qr;exports.setOrAddParamsToUrl=mp;exports.setParam=yx;exports.setParamWithoutReload=tc;exports.setPeerOptions=NS;exports.setResourceTrackingEnabled=aC;exports.setState=cm;exports.setVisibleInCustomShadowRendering=vm;exports.setWorldEuler=bm;exports.setWorldPosition=ot;exports.setWorldPositionXYZ=Zo;exports.setWorldQuaternion=on;exports.setWorldQuaternionXYZW=ym;exports.setWorldRotation=Vb;exports.setWorldRotationXYZ=Sc;exports.setWorldScale=ga;exports.showBalloonError=Cc;exports.showBalloonMessage=Ce;exports.showBalloonWarning=de;exports.showDebugConsole=xm;exports.slerp=Kx;exports.syncDestroy=Pc;exports.syncField=Ag;exports.syncInstantiate=Fm;exports.textureToCanvas=hS;exports.toSourceId=Tb;exports.tryCastBinary=o0;exports.tryDetermineMimetypeFromBinary=Hv;exports.tryDetermineMimetypeFromURL=Wv;exports.tryFindObject=ma;exports.tryGetGuid=r0;exports.unregisterHotReloadType=bv;exports.unwatchWrite=hm;exports.useForAutoFit=Fb;exports.validate=yt;exports.watchWrite=Qd;
|
|
1652
|
+
`),this.#n.innerHTML=this.#e.innerHTML,this.#n.style.cssText="display: flex; align-items: center; justify-content: center;",this.#e.innerHTML=this.#n.outerHTML,this.#t.innerHTML=this.#e.outerHTML,this.#t.prepend(this.#s),Ad(Bp,{element:this.#t}),this.#o?.disconnect(),this.#o??=new MutationObserver(()=>this.#l()),this.#o.observe(this.#e,{attributes:!0}),fp&&console.log("Needle Button updated")}#l(){this.#e&&(this.#e.style.display==="none"?this.style.display="none":this.style.display==="none"&&(this.style.display=""))}#r=e=>{fp&&console.log("Needle Button clicked"),!e.defaultPrevented&&this.#e&&this.#e.click()}}typeof window<"u"&&!window.customElements.get(Cb)&&window.customElements.define(Cb,cx);const vl=x("debugavatar");class wy{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(o=>o.layers.set(2))}}class hx{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 o=new hn;i=S.instantiate(ma(t,e.scene),o)}}else i=t;if(!i)return null;const n=this.findAvatar(i);return n.isValid?(vl&&console.log("[Custom Avatar] valid config",t,vl?n:""),n):(console.warn("[Custom Avatar] config isn't valid",t,vl?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(vl&&console.log("[Custom Avatar] "+t+", loading..."),t.endsWith(".glb")||(t+=".glb"),this.avatarRegistryUrl===null){const n=await fetch("./"+t);let o=null;if(n.ok){const a=await n.blob();a&&(o=await a.arrayBuffer())}return o?(await rn().parseSync(e,o,null,0))?.scene??null:null}const i=new q.GLTFLoader;return Xm(i,e),new Promise((n,o)=>{const r=this.avatarRegistryUrl+"/"+t;i.load(r,async a=>{await rn().createBuiltinComponents(e,r,a,null,void 0),n(a.scene)},a=>{vl&&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 o=this.findAvatarPart(i,["left","hand"]),r=this.findAvatarPart(i,["right","hand"]);if(!n){n=t;const l=new c.Vector3;new c.Box3().setFromObject(n).getSize(l);const h=Math.max(l.x,l.y,l.z);console.warn("[Custom Avatar] Normalizing head scale, it's too big: "+h+" meters! Should be < 0.3m"),h>.3&&n.scale.multiplyScalar(1/h*.3)}return new wy(t,n,o,r)}findAvatarPart(e,t){const i=e.name.toLowerCase();let n=!0;for(const o of t){if(!n)break;i.indexOf(o)===-1&&(n=!1)}if(n)return e;if(e.children)for(const o of e.children){const r=this.findAvatarPart(o,t);if(r)return r}return null}handleCustomAvatarErrors(e){if(!e.ok)throw Error(e.statusText);return e}}class dx{get extensionName(){return"DocumentExtension"}onAfterBuildDocument(e){}}class ux{}const rT=Object.freeze(Object.defineProperty({__proto__:null,ActionBuilder:le,ActionCollection:gw,ActionModel:Gt,AlignmentConstraint:Ac,Animation:Ct,AnimationCurve:Zc,AnimationExtension:xu,AnimationTrackHandler:mc,Animator:rt,AnimatorController:Li,Antialiasing:eh,Attractor:$a,AudioExtension:br,AudioListener:ss,AudioSource:pi,AudioTrackHandler:rs,Avatar:io,AvatarBlink_Simple:mr,AvatarEyeLook_Rotation:ng,AvatarLoader:hx,AvatarMarker:Se,AvatarModel:wy,Avatar_Brain_LookAt:cc,Avatar_MouthShapes:jc,Avatar_MustacheShake:tg,Avatar_POI:Yo,AxesHelper:Ra,BaseUIComponent:Bi,BasicIKConstraint:og,BehaviorExtension:Ig,BehaviorModel:gt,BloomEffect:Iu,BoxCollider:yu,BoxGizmo:Sr,BoxHelperComponent:nt,Button:Ss,CallInfo:ns,Camera:Qt,CameraTargetReachedEvent:lc,Canvas:Ca,CanvasGroup:no,CapsuleCollider:hs,ChangeMaterialOnClick:Og,ChangeTransformOnClick:vr,CharacterController:gr,CharacterControllerInput:ps,ChromaticAberration:th,ClickThrough:Zu,Collider:Jt,ColorAdjustments:_o,ColorBySpeedModule:Va,ColorOverLifetimeModule:Au,ContactShadows:Bc,ControlTrackHandler:Hu,CursorFollow:Dr,CustomBranding:xr,Deletable:cg,DeleteBox:Ys,DepthOfField:fn,DeviceFlag:_u,DocumentExtension:dx,DragControls:Fo,DropListener:gs,Duplicatable:yg,EffectWrapper:pc,EmissionModule:vs,EmphasizeOnClick:La,EnvironmentScene:Yu,EventList:oe,EventListEvent:uu,EventSystem:Bt,EventTrigger:vu,FieldWithDefault:Kv,FixedJoint:Qg,Fog:Ua,GltfExport:xg,GltfExportBox:vg,Gradient:Pr,Graphic:Gc,GraphicRaycaster:fu,GridHelper:za,GridLayoutGroup:Ng,GroundProjectedEnv:Un,GroupActionModel:Uo,HideOnStart:Ei,HingeJoint:Xc,HorizontalLayoutGroup:zg,get HoverAnimation(){return exports.HoverAnimation},Image:Qa,InheritVelocityModule:Jg,InputField:fy,InstanceHandle:Ko,InstancingHandler:or,Interactable:lg,Keyframe:Yt,LODGroup:Yc,LODModel:Na,Light:ii,LimitVelocityOverLifetimeModule:et,LogStats:ag,LookAt:py,LookAtConstraint:pr,MainModule:Mt,MarkerTrackHandler:Wu,MaskableGraphic:qc,MeshCollider:ho,MeshRenderer:Uc,MinMaxCurve:H,MinMaxGradient:Or,NeedleMenu:Nn,NestedGltf:Kc,Networking:Kg,NoiseModule:fe,ObjectRaycaster:fi,OffsetConstraint:Cr,OpenURL:Ya,OrbitControls:ce,Outline:Fa,Padding:wr,ParticleBurst:Wd,ParticleSubEmitter:ey,ParticleSystem:fc,ParticleSystemRenderer:Vi,PhysicsExtension:jg,PixelationEffect:ih,PlayAnimationOnClick:dc,PlayAudioOnClick:to,PlayableDirector:lr,PlayerColor:Pa,PointerEventData:Lc,PostProcessingHandler:oy,PreliminaryAction:Ia,PreliminaryTrigger:Vc,RawImage:Xu,Rect:ww,RectTransform:cn,ReflectionProbe:hc,RegisteredAnimationInfo:qs,RemoteSkybox:Bu,Renderer:Ut,RendererLightmap:pg,Rigidbody:Ve,RotationBySpeedModule:Ni,RotationOverLifetimeModule:un,SceneSwitcher:Fe,ScreenCapture:bo,ScreenSpaceAmbientOcclusion:ws,ScreenSpaceAmbientOcclusionN8:pn,ScrollFollow:Cs,SeeThrough:xs,SetActiveOnClick:Mg,ShadowCatcher:rh,ShapeModule:Zg,SharpeningEffect:sh,SignalAsset:$u,SignalReceiver:dh,SignalReceiverEvent:hh,SignalTrackHandler:gc,Size:vw,SizeBySpeedModule:ni,SizeOverLifetimeModule:Mr,SkinnedMeshRenderer:mg,SmoothFollow:Uu,SpatialGrabRaycaster:nr,SpatialHtml:fh,SpatialTrigger:zu,SpatialTriggerReceiver:jn,SpectatorCamera:Nu,SphereCollider:Ta,SplineContainer:Tr,SplineData:Fn,SplineWalker:Wi,Sprite:ys,SpriteData:fa,SpriteRenderer:ei,SpriteSheet:Sa,SubEmitterSystem:Hd,SyncedCamera:ay,SyncedRoom:mn,SyncedTransform:ln,TapGestureTrigger:Eg,TeleportTarget:Mu,TestRunner:ly,TestSimulateUserData:cy,Text:Ot,TextBuilder:Fg,TextExtension:Eu,TextureSheetAnimationModule:kt,TiltShiftEffect:Wn,ToneMappingEffect:so,TrailModule:Re,TransformData:ke,TransformGizmo:Ar,TriggerBuilder:St,TriggerModel:Ks,UIRaycastUtils:Km,UIRootComponent:Wc,USDZExporter:sn,USDZText:oa,USDZUIExtension:$g,UsageMarker:Fc,VariantAction:Pg,VelocityOverLifetimeModule:De,VerticalLayoutGroup:Ug,VideoPlayer:Ze,get ViewBox(){return exports.ViewBox},Vignette:Rr,VisibilityAction:$c,Voip:co,Volume:Ha,VolumeParameter:F,VolumeProfile:Du,WebARCameraBackground:mh,WebARSessionRoot:di,WebXR:ku,WebXRImageTracking:gh,WebXRImageTrackingModel:Os,WebXRPlaneTracking:Ms,WebXRTrackedImage:Oa,XRControllerFollow:Ps,XRControllerModel:ds,XRControllerMovement:gi,XRFlag:Ti,XRRig:tf,XRState:jt,__Ignore:ux},Symbol.toStringTag,{value:"Module"})),_c=x("debugmissingcamera");ae.registerCallback(re.MissingCamera,s=>{_c&&console.warn("Creating missing camera");const e=s.context.scene,t=new c.PerspectiveCamera;t.name="Default Fallback Camera",e.add(t);const i=new Qt;if(i.sourceId=s.files?.[0]?.src??"unknown",i.fieldOfView=35,s.context.domElement.getAttribute("transparent")!=null)i.clearFlags=Qo.Uninitialized;else if(s.context.domElement.getAttribute("background-image")?.length||s.context.lightmaps.tryGetSkybox(i.sourceId))i.clearFlags=Qo.Skybox;else{if(i.clearFlags=Qo.SolidColor,!s.context.domElement.getAttribute("background-color")){let a="#efefef";typeof window!==void 0&&window.matchMedia("(prefers-color-scheme: dark)").matches&&(a="#1f1f1f"),e.background=new c.Color(a)}if(!e.environment){const a=new c.PMREMGenerator$1(s.context.renderer),l=new Yu("neutral");e.environment=a.fromScene(l,.025).texture}}const o=Wo(t,i,!0);return t.position.x=0,t.position.y=1,t.position.z=2,s.context.domElement?.cameraControls!=!1&&fx(s.context,o),o});ae.registerCallback(re.ContextCreated,s=>{if(!s.context.mainCamera){_c&&console.log("Will not auto-fit because a default camera exists");return}if(s.context.domElement?.cameraControls==!0){if(Bb(s.context.mainCamera)?.isCameraController==!0){_c&&console.log("Will not auto-fit because a camera controller exists");return}fx(s.context)}});function fx(s,e){e=e??s.mainCameraComponent;const t=e?.gameObject;if(_c&&console.log("Creating default camera controls",e?.name),t){const i=Mc(t,ce);i.sourceId=e?.sourceId??"unknown";const n=s.domElement.getAttribute("auto-rotate");i.autoRotate=n!="0"&&n?.toLowerCase()!="false";const o=Number.parseFloat(n||".5");i.autoRotateSpeed=isNaN(o)?.5:o,_c&&console.log("Auto-rotate",i.autoRotate,"speed:",i.autoRotateSpeed);const r=s.domElement.getAttribute("auto-fit");i.autoFit=r!=="0"&&r?.toLowerCase()!="false",i.autoTarget=!0}else console.warn("Missing camera object, can not add orbit controls")}ae.registerCallback(re.ContextCreated,s=>{const e=s.context.domElement.getAttribute("autoplay");if(e!==void 0&&(e===""||e==="true"||e==="1")&&s.files)for(const t of s.files)S.foreachComponent(t.file.scene,n=>{if(n.enabled!==!1){if(n instanceof Ct&&n.playAutomatically||n instanceof rt||n instanceof lr&&n.playOnAwake===!0)return!0;if(n instanceof Ct)return n.playAutomatically=!0,!0;if(n instanceof lr)return n.playOnAwake=!0,!0}},!0)!==!0&&eo.autoplayAnimations(t.file)});exports.SplineUtils=void 0;(s=>{function e(t,i=!1,n=.75){const o=new Tr,r=1-L.clamp(n,0,1);return t.forEach((a,l)=>{const h=new c.Vector3;l<t.length-1?h.subVectors(t[l+1],a).normalize().multiplyScalar(r):i&&t.length>1&&h.subVectors(t[0],a).normalize().multiplyScalar(r);const d=new Fn;d.position.copy(a),d.tangentIn.copy(h),d.tangentOut.copy(h),o.addKnot(d)}),o.closed=i,o}s.createFromPoints=e})(exports.SplineUtils||(exports.SplineUtils={}));class aT extends se.WorkerBase{constructor(){super(new Worker(new URL("/generateMeshBVH.worker-B9bjdr6J.js",typeof document>"u"?require("url").pathToFileURL(__filename).href:sf&&sf.tagName.toUpperCase()==="SCRIPT"&&sf.src||new URL("needle-engine.bundle-DMqWdPzL.umd.cjs",document.baseURI).href),{type:"module"})),this.name="GenerateMeshBVHWorker"}runTask(e,t,i={}){return new Promise((n,o)=>{if(t.getAttribute("position").isInterleavedBufferAttribute||t.index&&t.index.isInterleavedBufferAttribute)throw new Error("GenerateMeshBVHWorker: InterleavedBufferAttribute are not supported for the geometry attributes.");e.onerror=h=>{o(new Error(`[GenerateMeshBVHWorker] ${h.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=h=>{const{data:d}=h;if(d.error)o(new Error(d.error)),e.onmessage=null;else if(d.serialized){const{serialized:u,position:p}=d,m=se.MeshBVH.deserialize(u,t,{setIndex:!1}),y=Object.assign({setBoundingBox:!0},i);if(t.attributes.position.array=p,u.index)if(t.index)t.index.array=u.index;else{const _=new c.BufferAttribute(u.index,1,!1);t.setIndex(_)}y.setBoundingBox&&(t.boundingBox=m.getBoundingBox(new c.Box3)),i.onProgress&&i.onProgress(d.progress),n(m),e.onmessage=null}else i.onProgress&&i.onProgress(d.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(h=>h.buffer).filter(h=>typeof SharedArrayBuffer>"u"||!(h instanceof SharedArrayBuffer)))})}}const lT=Object.freeze(Object.defineProperty({__proto__:null,GenerateMeshBVHWorker:aT},Symbol.toStringTag,{value:"Module"}));exports.$physicsKey=IP;exports.ActionBuilder=le;exports.ActionCollection=gw;exports.ActionModel=Gt;exports.Addressables=Z0;exports.AlignmentConstraint=Ac;exports.AmbientMode=da;exports.Animation=Ct;exports.AnimationCurve=Zc;exports.AnimationExtension=xu;exports.AnimationTrackHandler=mc;exports.AnimationUtils=eo;exports.Animator=rt;exports.AnimatorConditionMode=Vs;exports.AnimatorController=Li;exports.AnimatorControllerParameterType=Qm;exports.AnimatorStateInfo=Pl;exports.Antialiasing=eh;exports.Application=an;exports.AssetDatabase=m0;exports.AssetReference=Y;exports.Attractor=$a;exports.AudioExtension=br;exports.AudioListener=ss;exports.AudioSource=pi;exports.AudioTrackHandler=rs;exports.Avatar=io;exports.AvatarBlink_Simple=mr;exports.AvatarEyeLook_Rotation=ng;exports.AvatarLoader=hx;exports.AvatarMarker=Se;exports.AvatarModel=wy;exports.Avatar_Brain_LookAt=cc;exports.Avatar_MouthShapes=jc;exports.Avatar_MustacheShake=tg;exports.Avatar_POI=Yo;exports.Axes=na;exports.AxesHelper=Ra;exports.BUILD_TIME=Sm;exports.BaseUIComponent=Bi;exports.BasicIKConstraint=og;exports.BehaviorExtension=Ig;exports.BehaviorModel=gt;exports.BloomEffect=Iu;exports.BoxCollider=yu;exports.BoxGizmo=Sr;exports.BoxHelperComponent=nt;exports.Button=Ss;exports.ButtonsFactory=Ji;exports.CallDirection=Iv;exports.CallInfo=ns;exports.Camera=Qt;exports.CameraTargetReachedEvent=lc;exports.Canvas=Ca;exports.CanvasGroup=no;exports.CapsuleCollider=hs;exports.ChangeMaterialOnClick=Og;exports.ChangeTransformOnClick=vr;exports.CharacterController=gr;exports.CharacterControllerInput=ps;exports.ChromaticAberration=th;exports.CircularBuffer=ui;exports.ClearFlags=Qo;exports.ClickThrough=Zu;exports.ClipExtrapolation=xn;exports.Collider=Jt;exports.Collision=Av;exports.CollisionDetectionMode=du;exports.ColorAdjustments=_o;exports.ColorBySpeedModule=Va;exports.ColorOverLifetimeModule=Au;exports.Component=V1;exports.Component$1=E;exports.ComponentLifecycleEvents=iu;exports.Components=rT;exports.ConnectionEvents=c0;exports.ContactPoint=Tv;exports.ContactShadows=Bc;exports.Context=N;exports.ContextArgs=M1;exports.ContextEvent=re;exports.ContextRegistry=ae;exports.ControlTrackHandler=Hu;exports.CursorFollow=Dr;exports.CustomBranding=xr;exports.CustomShader=ye;exports.DefaultReflectionMode=Rd;exports.Deletable=cg;exports.DeleteBox=Ys;exports.DepthOfField=fn;exports.DeviceFlag=_u;exports.DocumentExtension=dx;exports.DragControls=Fo;exports.DragMode=hg;exports.DropListener=gs;exports.Duplicatable=yg;exports.EffectWrapper=pc;exports.EmissionModule=vs;exports.EmphasizeOnClick=La;exports.EngineLoadingView=yc;exports.EnvironmentScene=Yu;exports.EventList=oe;exports.EventListEvent=uu;exports.EventSystem=Bt;exports.EventTrigger=vu;exports.FieldWithDefault=Kv;exports.FileReference=qo;exports.FileReferenceSerializer=ev;exports.FileSpawnModel=sO;exports.File_Event=Vv;exports.FixedJoint=Qg;exports.Fog=Ua;exports.FrameEvent=pe;exports.GENERATOR=Kd;exports.GameObject=S;exports.Gizmos=B;exports.GltfExport=xg;exports.GltfExportBox=vg;exports.Gradient=Pr;exports.Graphic=Gc;exports.GraphicRaycaster=fu;exports.Graphics=Js;exports.GridHelper=za;exports.GridLayoutGroup=Ng;exports.GroundProjectedEnv=Un;exports.GroupActionModel=Uo;exports.HideFlags=pu;exports.HideOnStart=Ei;exports.HingeJoint=Xc;exports.HorizontalLayoutGroup=zg;exports.HostData=vC;exports.Image=Qa;exports.ImageReference=Go;exports.ImageReferenceSerializer=J0;exports.InheritVelocityModule=Jg;exports.Input=n0;exports.InputEventQueue=Xt;exports.InputEvents=xe;exports.InputField=fy;exports.InstanceHandle=Ko;exports.InstancingHandler=or;exports.InstancingUtil=Di;exports.InstantiateEvent=O0;exports.InstantiateIdProvider=mt;exports.InstantiateOptions=hn;exports.Interactable=lg;exports.JoinedRoomResponse=WS;exports.KeyEventArgs=DS;exports.Keyframe=Yt;exports.LODGroup=Yc;exports.LODModel=Na;exports.LeftRoomResponse=HS;exports.Light=ii;exports.LightData=ov;exports.LimitVelocityOverLifetimeModule=et;exports.LoadingElementOptions=HR;exports.LogStats=ag;exports.LogType=hi;exports.LookAt=py;exports.LookAtConstraint=pr;exports.MainModule=Mt;exports.MarkerTrackHandler=Wu;exports.MarkerType=hy;exports.MaskableGraphic=qc;exports.Mathf=L;exports.MeshCollider=ho;exports.MeshRenderer=Uc;exports.MinMaxCurve=H;exports.MinMaxGradient=Or;exports.NEKeyboardEvent=wl;exports.NEPointerEvent=Zn;exports.NeedleButtonElement=cx;exports.NeedleEngineWebComponent=vy;exports.NeedleMenu=Nn;exports.NeedlePatchesKey=Jh;exports.NeedleXRController=Mm;exports.NeedleXRSession=G;exports.NeedleXRSync=u0;exports.NeedleXRUtils=p0;exports.NestedGltf=Kc;exports.NetworkConnection=d0;exports.NetworkedStreamEvents=Rn;exports.NetworkedStreams=Ic;exports.Networking=Kg;exports.NewInstanceModel=k0;exports.NoiseModule=fe;exports.ObjectRaycaster=fi;exports.ObjectUtils=hr;exports.OffsetConstraint=Cr;exports.OneEuroFilter=Kh;exports.OneEuroFilterXYZ=mm;exports.OpenURL=Ya;exports.OrbitControls=ce;exports.Outline=Fa;exports.OwnershipEvent=h0;exports.OwnershipModel=Tm;exports.PUBLIC_KEY=ea;exports.Padding=wr;exports.ParticleBurst=Wd;exports.ParticleSubEmitter=ey;exports.ParticleSystem=fc;exports.ParticleSystemBaseBehaviour=yo;exports.ParticleSystemRenderer=Vi;exports.ParticleSystemShapeType=$d;exports.PeerHandle=os;exports.PeerNetworking=l0;exports.Physics=va;exports.PhysicsExtension=jg;exports.PhysicsMaterialCombine=it;exports.PixelationEffect=ih;exports.PlayAnimationOnClick=dc;exports.PlayAudioOnClick=to;exports.PlayableDirector=lr;exports.PlayerColor=Pa;exports.PlayerState=en;exports.PlayerStateEvent=bw;exports.PlayerSync=Dg;exports.PlayerView=iv;exports.PlayerViewManager=nv;exports.PointerEventData=Lc;exports.PointerType=eu;exports.PostProcessingEffect=$e;exports.PostProcessingEffectOrder=Ke;exports.PostProcessingHandler=oy;exports.PreliminaryAction=Ia;exports.PreliminaryTrigger=Vc;exports.PrimitiveType=Jo;exports.Progress=ie;exports.PromiseAllWithErrors=fm;exports.PromiseErrorResult=gp;exports.RGBAColor=Z;exports.RapierPhysics=pa;exports.RawImage=Xu;exports.RaycastOptions=lo;exports.Rect=ww;exports.RectTransform=cn;exports.ReflectionProbe=hc;exports.RegisteredAnimationInfo=qs;exports.RemoteSkybox=Bu;exports.RenderTexture=En;exports.RenderTextureSerializer=Mv;exports.Renderer=Ut;exports.RendererData=sv;exports.RendererLightmap=pg;exports.Rigidbody=Ve;exports.RigidbodyConstraints=Ie;exports.RoomEvents=Q;exports.RotationBySpeedModule=Ni;exports.RotationOverLifetimeModule=un;exports.SceneLightSettings=Fd;exports.SceneSwitcher=Fe;exports.ScreenCapture=bo;exports.ScreenSpaceAmbientOcclusion=ws;exports.ScreenSpaceAmbientOcclusionN8=pn;exports.ScrollFollow=Cs;exports.SeeThrough=xs;exports.SendQueue=Zi;exports.SerializationContext=Vm;exports.SetActiveOnClick=Mg;exports.ShadowCatcher=rh;exports.ShapeModule=Zg;exports.ShapeOverlapResult=Dv;exports.SharpeningEffect=sh;exports.SignalAsset=$u;exports.SignalReceiver=dh;exports.SignalReceiverEvent=hh;exports.SignalTrackHandler=gc;exports.Size=vw;exports.SizeBySpeedModule=ni;exports.SizeOverLifetimeModule=Mr;exports.SkinnedMeshRenderer=mg;exports.SmoothFollow=Uu;exports.SpatialGrabRaycaster=nr;exports.SpatialHtml=fh;exports.SpatialTrigger=zu;exports.SpatialTriggerReceiver=jn;exports.SpectatorCamera=Nu;exports.SphereCollider=Ta;exports.SphereIntersection=Lm;exports.SplineContainer=Tr;exports.SplineData=Fn;exports.SplineWalker=Wi;exports.Sprite=ys;exports.SpriteData=fa;exports.SpriteRenderer=ei;exports.SpriteSheet=Sa;exports.StateMachineBehaviour=X1;exports.StreamEndedEvent=Jm;exports.StreamReceivedEvent=Lv;exports.SubEmitterSystem=Hd;exports.SyncedCamera=ay;exports.SyncedRoom=mn;exports.SyncedTransform=ln;exports.TapGestureTrigger=Eg;exports.TeleportTarget=Mu;exports.TestRunner=ly;exports.TestSceneUtils=eT;exports.TestSimulateUserData=cy;exports.Text=Ot;exports.TextBuilder=Fg;exports.TextExtension=Eu;exports.TextureSheetAnimationModule=kt;exports.TiltShiftEffect=Wn;exports.Time=rv;exports.ToneMappingEffect=so;exports.TrackHandler=Xa;exports.TrackType=ri;exports.TrailModule=Re;exports.TransformData=ke;exports.TransformGizmo=Ar;exports.TriggerBuilder=St;exports.TriggerModel=Ks;exports.TypeStore=P;exports.UIRaycastUtils=Km;exports.UIRootComponent=Wc;exports.USDDocument=Sg;exports.USDObject=Ne;exports.USDWriter=aw;exports.USDZExporter=sn;exports.USDZExporter$1=lw;exports.USDZText=oa;exports.USDZUIExtension=$g;exports.UriSerializer=kv;exports.UsageMarker=Fc;exports.UserJoinedOrLeftRoomModel=GS;exports.VERSION=tn;exports.VariantAction=Pg;exports.VelocityOverLifetimeModule=De;exports.VerticalLayoutGroup=Ug;exports.VideoPlayer=Ze;exports.ViewDevice=Xs;exports.Vignette=Rr;exports.VisibilityAction=$c;exports.Voip=co;exports.Volume=Ha;exports.VolumeParameter=F;exports.VolumeProfile=Du;exports.WaitForFrames=ZC;exports.WaitForPromise=tv;exports.WaitForSeconds=Hm;exports.Watch=as;exports.WebARCameraBackground=mh;exports.WebARSessionRoot=di;exports.WebXR=ku;exports.WebXRButtonFactory=Zs;exports.WebXRImageTracking=gh;exports.WebXRImageTrackingModel=Os;exports.WebXRPlaneTracking=Ms;exports.WebXRTrackedImage=Oa;exports.XRControllerFollow=Ps;exports.XRControllerModel=ds;exports.XRControllerMovement=gi;exports.XRFlag=Ti;exports.XRRig=tf;exports.XRState=jt;exports.XRStateFlag=Mn;exports.__Ignore=ux;exports.__internalNotifyObjectDestroyed=cC;exports.activeInHierarchyFieldName=ls;exports.addAttributeChangeCallback=dm;exports.addComponent=nn;exports.addCustomExtensionPlugin=vO;exports.addNewComponent=Wo;exports.addPatch=Zd;exports.apply=su;exports.applyHMRChanges=N1;exports.applyPrototypeExtensions=z0;exports.beginListenDestroy=M0;exports.beginListenInstantiate=R0;exports.binaryIdentifierCasts=km;exports.build_scene_functions=O1;exports.builtinComponentKeyName=Do;exports.calculateProgress01=by;exports.clearMessages=Vx;exports.colorSerializer=dP;exports.compareAssociation=L0;exports.componentSerializer=ld;exports.copyTexture=Wb;exports.createMotion=xv;exports.debugNet=Nt;exports.debugOwner=xl;exports.decompressGpuTexture=uw;exports.deepClone=vc;exports.delay=Bn;exports.delayForFrames=wc;exports.deserializeObject=kd;exports.destroy=ji;exports.destroyComponentInstance=$0;exports.determineMimeTypeFromExtension=$v;exports.disposeObjectResources=_e;exports.disposeStream=Tn;exports.editorGuidKeyName=Ul;exports.enableSpatialConsole=No;exports.euler=fP;exports.eventListSerializer=yP;exports.exportAsGLTF=nT;exports.findByGuid=Wm;exports.findObjectOfType=ka;exports.findObjectsOfType=H0;exports.findResourceUsers=Im;exports.fitCamera=Sv;exports.fitObjectIntoVolume=Gb;exports.foreachComponent=tr;exports.foreachComponentEnumerator=ru;exports.forward=rS;exports.generateQRCode=cv;exports.generateSeed=E0;exports.getBoundingBox=Ft;exports.getCameraController=Bb;exports.getComponent=ur;exports.getComponentInChildren=Ec;exports.getComponentInParent=oc;exports.getComponents=kc;exports.getComponentsInChildren=Ma;exports.getComponentsInParent=nu;exports.getFormattedDate=nw;exports.getIconElement=pt;exports.getIconTexture=jp;exports.getLoader=rn;exports.getOrAddComponent=Mc;exports.getParam=x;exports.getParentHierarchyPath=cS;exports.getPath=vx;exports.getPeerOptions=zS;exports.getPeerjsInstance=a0;exports.getResourceUserCount=dC;exports.getTempColor=zb;exports.getTempQuaternion=qt;exports.getTempVector=j;exports.getUrlParams=bc;exports.getVisibleInCustomShadowRendering=Hb;exports.getWorldDirection=Nb;exports.getWorldEuler=_m;exports.getWorldPosition=X;exports.getWorldQuaternion=ue;exports.getWorldRotation=Yd;exports.getWorldScale=je;exports.hasCommercialLicense=cs;exports.hasIndieLicense=Tc;exports.hasPointerEventComponent=Id;exports.hasProLicense=In;exports.hideDebugConsole=Yb;exports.imageToCanvas=fw;exports.instantiate=ir;exports.invokeLoadedImportPluginHooks=Yv;exports.invokeXRSessionEnd=i0;exports.invokeXRSessionStart=t0;exports.isActiveInHierarchy=G0;exports.isActiveSelf=Ea;exports.isAndroidDevice=Ox;exports.isAnimationAction=$b;exports.isComponent=Rv;exports.isDebugMode=gx;exports.isDesktop=xx;exports.isDestroyed=er;exports.isDevEnvironment=A;exports.isDisposed=lC;exports.isExporting=tT;exports.isGLTFModel=Ev;exports.isHostedOnGlitch=Pb;exports.isHotReloadEnabled=Np;exports.isHotReloading=U1;exports.isIPad=Cx;exports.isIconElement=hv;exports.isLocalNetwork=Ii;exports.isMacOS=kx;exports.isMobileDevice=Sx;exports.isMozillaXR=Mx;exports.isQuest=Tx;exports.isResourceTrackingEnabled=y0;exports.isSafari=Rx;exports.isUsingInstancing=ou;exports.isiOS=Ex;exports.isiPad=Px;exports.loadAsset=UR;exports.loadPMREM=$w;exports.loadSync=_y;exports.logHierarchy=vd;exports.lookAtInverse=Zx;exports.lookAtObject=xc;exports.lookAtScreenPoint=Jx;exports.makeId=_x;exports.makeIdFromRandomWords=kb;exports.makeNameSafe=mi;exports.markAsInstancedRendered=q0;exports.microphonePermissionsGranted=Ax;exports.nameof=mx;exports.nameofFactory=Ob;exports.objectSerializer=Ov;exports.offXRSessionEnd=AS;exports.offXRSessionStart=TS;exports.onAfterRender=B1;exports.onBeforeRender=j1;exports.onClear=L1;exports.onDestroy=I1;exports.onInitialized=mv;exports.onStart=cu;exports.onUpdate=gv;exports.onXRSessionEnd=Om;exports.onXRSessionStart=Jd;exports.parseSync=sx;exports.placeOnSurface=qb;exports.postprocessFBXMaterials=wm;exports.prefix=oP;exports.pushState=Mb;exports.randomNumber=bx;exports.registerBinaryType=Em;exports.registerComponent=lu;exports.registerComponentExtension=ug;exports.registerCustomEffectType=$i;exports.registerExportExtensions=fg;exports.registerExtensions=zd;exports.registerHotReloadType=_v;exports.registerLoader=Cm;exports.registerPrefabProvider=A0;exports.registerPrototypeExtensions=N0;exports.registerType=Um;exports.relativePathPrefix=Rb;exports.removeAttributeChangeCallback=um;exports.removeComponent=$m;exports.removeCustomImportExtensionType=wO;exports.removePatch=ES;exports.resolveUrl=oo;exports.sanitizeString=Eb;exports.saveImage=ex;exports.screenshot=xR;exports.screenshot2=yy;exports.sendDestroyed=Bm;exports.serializable=f;exports.serializeObject=j0;exports.serializeable=Be;exports.setActive=Vl;exports.setAllowBalloonMessages=Lb;exports.setAllowOverlayMessages=Fx;exports.setAutoFitEnabled=_d;exports.setCameraController=_p;exports.setDestroyed=Q0;exports.setDevEnvironment=yS;exports.setDisposable=b0;exports.setDontDestroy=qr;exports.setOrAddParamsToUrl=mp;exports.setParam=yx;exports.setParamWithoutReload=tc;exports.setPeerOptions=NS;exports.setResourceTrackingEnabled=aC;exports.setState=cm;exports.setVisibleInCustomShadowRendering=vm;exports.setWorldEuler=bm;exports.setWorldPosition=ot;exports.setWorldPositionXYZ=Zo;exports.setWorldQuaternion=on;exports.setWorldQuaternionXYZW=ym;exports.setWorldRotation=Vb;exports.setWorldRotationXYZ=Sc;exports.setWorldScale=ga;exports.showBalloonError=Cc;exports.showBalloonMessage=Ce;exports.showBalloonWarning=de;exports.showDebugConsole=xm;exports.slerp=Kx;exports.syncDestroy=Pc;exports.syncField=Ag;exports.syncInstantiate=Fm;exports.textureToCanvas=hS;exports.toSourceId=Tb;exports.tryCastBinary=o0;exports.tryDetermineMimetypeFromBinary=Hv;exports.tryDetermineMimetypeFromURL=Wv;exports.tryFindObject=ma;exports.tryGetGuid=r0;exports.unregisterHotReloadType=bv;exports.unwatchWrite=hm;exports.useForAutoFit=Fb;exports.validate=yt;exports.watchWrite=Qd;
|
|
@@ -1700,11 +1700,11 @@ wo('if(!globalThis["NEEDLE_ENGINE_VERSION"]) globalThis["NEEDLE_ENGINE_VERSION"]
|
|
|
1700
1700
|
wo('if(!globalThis["NEEDLE_ENGINE_GENERATOR"]) globalThis["NEEDLE_ENGINE_GENERATOR"] = "unknown";');
|
|
1701
1701
|
wo('if(!globalThis["NEEDLE_PROJECT_BUILD_TIME"]) globalThis["NEEDLE_PROJECT_BUILD_TIME"] = "unknown";');
|
|
1702
1702
|
wo('if(!globalThis["NEEDLE_PUBLIC_KEY"]) globalThis["NEEDLE_PUBLIC_KEY"] = "unknown";');
|
|
1703
|
-
wo('globalThis["__NEEDLE_ENGINE_VERSION__"] = "4.11.5
|
|
1703
|
+
wo('globalThis["__NEEDLE_ENGINE_VERSION__"] = "4.11.5";');
|
|
1704
1704
|
wo('globalThis["__NEEDLE_ENGINE_GENERATOR__"] = "undefined";');
|
|
1705
|
-
wo('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "
|
|
1705
|
+
wo('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "Fri Oct 31 2025 07:52:00 GMT+0000 (Coordinated Universal Time)";');
|
|
1706
1706
|
wo('globalThis["__NEEDLE_PUBLIC_KEY__"] = "' + NEEDLE_PUBLIC_KEY + '";');
|
|
1707
|
-
const Un = "4.11.5
|
|
1707
|
+
const Un = "4.11.5", Zm = "undefined", A0 = "Fri Oct 31 2025 07:52:00 GMT+0000 (Coordinated Universal Time)";
|
|
1708
1708
|
E0 && console.log(`Engine version: ${Un} (generator: ${Zm})
|
|
1709
1709
|
Project built at ${A0}`);
|
|
1710
1710
|
const zl = NEEDLE_PUBLIC_KEY, po = "needle_isActiveInHierarchy", Zr = "builtin_components", Kh = "needle_editor_guid";
|
|
@@ -141,7 +141,7 @@ void main(){
|
|
|
141
141
|
#__vconsole .vc-mask {
|
|
142
142
|
overflow: hidden;
|
|
143
143
|
}
|
|
144
|
-
`,br?.prepend(i),o===!0&&Nb()<=0&&p_(),console.log("\u{1F335} Debug console has loaded")}},e.onerror=()=>{console.warn("\u{1F335} Debug console failed to load."+(window.crossOriginIsolated?"This page is using cross-origin isolation, so external scripts can't be loaded.":"")),lc=!1,Hi=null},e.src="https://cdn.jsdelivr.net/npm/vconsole@3.15.1/dist/vconsole.min.js",document.body.appendChild(e)}function RO(){if(!globalThis.VConsole)return;const o=new VConsole.VConsolePlugin("needle-console","\u{1F335} Inspect glTF"),e=()=>document.querySelector("#__vc_plug_"+o._id+" iframe");return o.on("renderTab",function(t){const i=globalThis["needle:codegen_files"];if(!i||i.length===0)return;let n=globalThis["needle:codegen_files"][0];const s=n.indexOf("?");s>-1&&(n=n.substring(0,s));const r=location.protocol+"//"+location.host+location.pathname+"/"+n,a=encodeURIComponent(r);o.fullUrl="https://viewer.needle.tools?inspect&file="+a;var l='<iframe src="" style="width: 100%; height: 99%; border: none;"></iframe>';t(l)}),o.on("show",function(){const t=e();t&&t.src!==o.fullUrl&&(t.src=o.fullUrl)}),o.on("hide",function(){const t=e();t&&(t.src="")}),o.on("addTopBar",function(t){var i=new Array;i.push({name:"Open in new window \u2197",onClick:function(n){window.open(o.fullUrl,"_blank"),Hi?.hide()}}),i.push({name:"Reload",onClick:function(n){const s=e();s&&(s.src=o.fullUrl)}}),i.push({name:"Fullscreen",onClick:function(n){const s=e();s.requestFullscreen?s.requestFullscreen():s.webkitRequestFullscreen instanceof Function&&s.webkitRequestFullscreen()}}),t(i)}),o}function TO(){return document.querySelector("#__vconsole .vc-switch")||null}function EO(){return document.querySelector("#__vconsole")||null}const g_=v("debugdefines");fs('if(!globalThis["NEEDLE_ENGINE_VERSION"]) globalThis["NEEDLE_ENGINE_VERSION"] = "0.0.0";'),fs('if(!globalThis["NEEDLE_ENGINE_GENERATOR"]) globalThis["NEEDLE_ENGINE_GENERATOR"] = "unknown";'),fs('if(!globalThis["NEEDLE_PROJECT_BUILD_TIME"]) globalThis["NEEDLE_PROJECT_BUILD_TIME"] = "unknown";'),fs('if(!globalThis["NEEDLE_PUBLIC_KEY"]) globalThis["NEEDLE_PUBLIC_KEY"] = "unknown";'),fs('globalThis["__NEEDLE_ENGINE_VERSION__"] = "4.11.5
|
|
144
|
+
`,br?.prepend(i),o===!0&&Nb()<=0&&p_(),console.log("\u{1F335} Debug console has loaded")}},e.onerror=()=>{console.warn("\u{1F335} Debug console failed to load."+(window.crossOriginIsolated?"This page is using cross-origin isolation, so external scripts can't be loaded.":"")),lc=!1,Hi=null},e.src="https://cdn.jsdelivr.net/npm/vconsole@3.15.1/dist/vconsole.min.js",document.body.appendChild(e)}function RO(){if(!globalThis.VConsole)return;const o=new VConsole.VConsolePlugin("needle-console","\u{1F335} Inspect glTF"),e=()=>document.querySelector("#__vc_plug_"+o._id+" iframe");return o.on("renderTab",function(t){const i=globalThis["needle:codegen_files"];if(!i||i.length===0)return;let n=globalThis["needle:codegen_files"][0];const s=n.indexOf("?");s>-1&&(n=n.substring(0,s));const r=location.protocol+"//"+location.host+location.pathname+"/"+n,a=encodeURIComponent(r);o.fullUrl="https://viewer.needle.tools?inspect&file="+a;var l='<iframe src="" style="width: 100%; height: 99%; border: none;"></iframe>';t(l)}),o.on("show",function(){const t=e();t&&t.src!==o.fullUrl&&(t.src=o.fullUrl)}),o.on("hide",function(){const t=e();t&&(t.src="")}),o.on("addTopBar",function(t){var i=new Array;i.push({name:"Open in new window \u2197",onClick:function(n){window.open(o.fullUrl,"_blank"),Hi?.hide()}}),i.push({name:"Reload",onClick:function(n){const s=e();s&&(s.src=o.fullUrl)}}),i.push({name:"Fullscreen",onClick:function(n){const s=e();s.requestFullscreen?s.requestFullscreen():s.webkitRequestFullscreen instanceof Function&&s.webkitRequestFullscreen()}}),t(i)}),o}function TO(){return document.querySelector("#__vconsole .vc-switch")||null}function EO(){return document.querySelector("#__vconsole")||null}const g_=v("debugdefines");fs('if(!globalThis["NEEDLE_ENGINE_VERSION"]) globalThis["NEEDLE_ENGINE_VERSION"] = "0.0.0";'),fs('if(!globalThis["NEEDLE_ENGINE_GENERATOR"]) globalThis["NEEDLE_ENGINE_GENERATOR"] = "unknown";'),fs('if(!globalThis["NEEDLE_PROJECT_BUILD_TIME"]) globalThis["NEEDLE_PROJECT_BUILD_TIME"] = "unknown";'),fs('if(!globalThis["NEEDLE_PUBLIC_KEY"]) globalThis["NEEDLE_PUBLIC_KEY"] = "unknown";'),fs('globalThis["__NEEDLE_ENGINE_VERSION__"] = "4.11.5";'),fs('globalThis["__NEEDLE_ENGINE_GENERATOR__"] = "undefined";'),fs('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "Fri Oct 31 2025 07:52:00 GMT+0000 (Coordinated Universal Time)";'),fs('globalThis["__NEEDLE_PUBLIC_KEY__"] = "'+NEEDLE_PUBLIC_KEY+'";');const bn="4.11.5",Bd="undefined",sg="Fri Oct 31 2025 07:52:00 GMT+0000 (Coordinated Universal Time)";g_&&console.log(`Engine version: ${bn} (generator: ${Bd})
|
|
145
145
|
Project built at ${sg}`);const Ea=NEEDLE_PUBLIC_KEY,ko="needle_isActiveInHierarchy",_r="builtin_components",cc="needle_editor_guid";function fs(o){try{(0,eval)(o)}catch(e){g_&&console.error(e)}}let f_,y_=null;function _n(){return f_}function rg(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}y_!==o&&(y_=o,f_=new o)}const ki=Symbol("shadowDomOwner"),AO=v("debugpatch");function Fd(o,e,t,i){const n=AO===e;if(!t&&!i)return;const s=e+"___needle";LO(o,e,t,i);const r=Object.getOwnPropertyDescriptor(o,e),a=o[e];n&&console.log("Patch",o.constructor.name,e,r,a),r?(n&&console.log("Apply patch with existing descriptor",o.constructor.name,e,r),typeof r.value=="function"&&(o[e]=__(r.value,o,e))):(n&&console.log("Create patch with new property",o.constructor.name,e,r),Object.defineProperty(o,e,{set:function(l){if(typeof l=="function")this[s]=__(l,o,e);else{const c=this[s];v_(o,e,this,c,l),this[s]=l,w_(o,e,this,c,l)}},get:function(){const l=this[s];return typeof l=="function"&&l[s]?l[s]:l}}))}function IO(o,e,t){const i=lg(o,e);if(i)for(let n=i.length-1;n>=0;n--){const s=i[n];s.prefix===t&&(s.prefix=null),s.postfix===t&&(s.postfix=null),!s.prefix&&!s.postfix&&i.splice(n,1)}}const b_=Symbol("Needle:Patches:WrappedFunction");function __(o,e,t){if(o[b_])return o;const i=function(...n){v_(e,t,this,...n);const s=o.apply(this,n);return w_(e,t,this,s,...n),s};return i[b_]=!0,i}const Ud="Needle:Patches";function ag(){return globalThis[Ud]||(globalThis[Ud]=new WeakMap),globalThis[Ud]}function lg(o,e){const t=ag().get(o);return t?t.get(e):null}function LO(o,e,t,i){let n=ag().get(o);n||(n=new Map,ag().set(o,n));let s=n.get(e);s||(s=[],n.set(e,s)),s.push({prefix:t,postfix:i})}function v_(o,e,t,...i){if(!t)return;const n=lg(o,e);if(n)for(const s of n)s.prefix?.call(t,...i)}function w_(o,e,t,i,...n){if(!t)return;const s=lg(o,e);if(s)for(const r of s)r.postfix?.call(t,i,...n)}const Aa=[];function zd(o){Aa.indexOf(o)===-1&&Aa.push(o)}function jO(o){const e=Aa.indexOf(o);e!==-1&&Aa.splice(e,1)}const Ia=[];function cg(o){Ia.indexOf(o)===-1&&Ia.push(o)}function DO(o){const e=Ia.indexOf(o);e!==-1&&Ia.splice(e,1)}function x_(o){globalThis.dispatchEvent(new CustomEvent("needle-xrsession-start",{detail:o}));for(let e=0;e<Aa.length;e++)Aa[e](o)}function S_(o){globalThis.dispatchEvent(new CustomEvent("needle-xrsession-end",{detail:o}));for(let e=0;e<Ia.length;e++)Ia[e](o)}const st=v("debuginput");var Nd=(o=>(o.Mouse="mouse",o.Touch="touch",o.Controller="controller",o.Hand="hand",o))(Nd||{}),Ee=(o=>(o.PointerDown="pointerdown",o.PointerUp="pointerup",o.PointerMove="pointermove",o.KeyDown="keydown",o.KeyUp="keyup",o.KeyPressed="keypress",o))(Ee||{});class Mo extends PointerEvent{clientZ;deviceIndex;origin;source;mode;get isSpatial(){return this.mode!="screen"}get ray(){return this._ray||(this._ray=new vo(this.space.worldPosition.clone(),this.space.worldForward.clone())),this._ray}set ray(e){this._ray=e}get hasRay(){return this._ray!==void 0}_ray;space;isClick=!1;isDoubleClick=!1;get used(){return this._used}_used=!1;use(){this._used=!0}get pointerId(){return this._pointerid}_pointerid;get pointerType(){return this._pointerType}_pointerType;get type(){return this._type}_type;metadata={};intersections=new Array;constructor(e,t,i){super(e,i),this.clientZ=i.clientZ,this._pointerid=i.pointerId,this._pointerType=i.pointerType,this._type=e,this.deviceIndex=i.deviceIndex,this.origin=i.origin,this.source=t,this.mode=i.mode,this._ray=i.ray,this.space=i.device}_immediatePropagationStopped=!1;get immediatePropagationStopped(){return this._immediatePropagationStopped}_propagationStopped=!1;get propagationStopped(){return this._immediatePropagationStopped||this._propagationStopped}stopImmediatePropagation(){this._immediatePropagationStopped=!0,super.stopImmediatePropagation(),this.source?.stopImmediatePropagation()}stopPropagation(){this._propagationStopped=!0,super.stopPropagation(),this.source?.stopPropagation(),st&&console.warn("Stop propagation...",this.pointerId,this.pointerType)}}class hc extends KeyboardEvent{source;constructor(e,t,i){super(e,i),this.source=t}stopImmediatePropagation(){super.stopImmediatePropagation(),this.source?.stopImmediatePropagation()}}class BO{key;keyType;source;constructor(e){this.key=e.key,this.keyType=e.type,this.source=e}}var oi=(o=>(o[o.Early=-100]="Early",o[o.Default=0]="Default",o[o.Late=100]="Late",o))(oi||{});class C_{_eventListeners={};addEventListener(e,t,i){if(this._eventListeners[e]||(this._eventListeners[e]=[]),!t||typeof t!="function"){console.error("Invalid call to addEventListener: callback is required and must be a function!");return}i?i={...i}:i={};let n=0;i?.queue!=null&&(n=i.queue);const s=this._eventListeners[e],r=s.find(a=>a.priority===n);r?r.listeners.push({callback:t,options:i}):(s.push({priority:n,listeners:[{callback:t,options:i}]}),s.sort((a,l)=>a.priority-l.priority))}removeEventListener(e,t,i){if(!this._eventListeners[e]||!t)return;const n=this._eventListeners[e];if(i?.queue!=null){const s=n.find(a=>a.priority===i.queue);if(!s)return;const r=s.listeners.findIndex(a=>a.callback===t);r>=0&&s.listeners.splice(r,1)}else for(const s of n){const r=s.listeners.findIndex(a=>a.callback===t);r>=0&&s.listeners.splice(r,1)}}dispatchEvent(e){let t=!1;if(e instanceof hc){const i=this._eventListeners[e.type];if(i)for(const n of i)for(let s=0;s<n.listeners.length;s++){const r=n.listeners[s];if(r.options?.signal?.aborted){n.listeners.splice(s,1),s--;continue}r.options.once&&(n.listeners.splice(s,1),s--),r.callback(e)}}if(e instanceof Mo){const i=this._eventListeners[e.type];if(i)for(const n of i){if(t)break;for(let s=0;s<n.listeners.length;s++){const r=n.listeners[s];if(r.options?.signal?.aborted){n.listeners.splice(s,1),s--;continue}if(e.immediatePropagationStopped){t=!0,st&&console.log("immediatePropagationStopped",e.type);break}else e.propagationStopped&&(t=!0,st&&console.log("propagationStopped",e.type));r.options.once&&(n.listeners.splice(s,1),s--),r.callback(e)}}}}_doubleClickTimeThreshold=.2;_longPressTimeThreshold=1;get mousePosition(){return this._pointerPositions[0]}get mousePositionRC(){return this._pointerPositionsRC[0]}get mouseDown(){return this._pointerDown[0]}get mouseUp(){return this._pointerUp[0]}get mouseClick(){return this._pointerClick[0]}get mouseDoubleClick(){return this._pointerDoubleClick[0]}get mousePressed(){return this._pointerPressed[0]}get mouseWheelChanged(){return this.getMouseWheelChanged(0)}get click(){return this._pointerClick[0]}get doubleClick(){return this._pointerDoubleClick[0]}getGamepad(e=0){return typeof navigator<"u"&&"getGamepads"in navigator&&navigator.getGamepads()[e]||null}_setCursorTypes=[];setCursorPointer(){this.setCursor("pointer")}setCursorNormal(){this.unsetCursor("pointer")}setCursor(e){this._setCursorTypes.push(e),this._setCursorTypes.length>10&&this._setCursorTypes.shift(),this.updateCursor()}unsetCursor(e){for(let t=this._setCursorTypes.length-1;t>=0;t--)if(this._setCursorTypes[t]===e){this._setCursorTypes.splice(t,1),this.updateCursor();break}}updateCursor(){this._setCursorTypes?.length==0?this.context.domElement.style.cursor="default":this.context.domElement.style.cursor=this._setCursorTypes[this._setCursorTypes.length-1]}getIsPointerIdInUse(e){for(const t of this._pointerEventsPressed)if(t.pointerId===e&&t.used)return!0;return!1}getPointerPressedCount(){let e=0;for(let t=0;t<this._pointerPressed.length;t++)this._pointerPressed[t]&&e++;return e}getPointerPosition(e){return e>=this._pointerPositions.length?null:this._pointerPositions[e]}getPointerPositionLastFrame(e){return e>=this._pointerPositionsLastFrame.length?null:this._pointerPositionsLastFrame[e]}getPointerPositionDelta(e){return e>=this._pointerPositionsDelta.length?null:this._pointerPositionsDelta[e]}getPointerPositionRC(e){return e>=this._pointerPositionsRC.length?null:this._pointerPositionsRC[e]}getPointerDown(e){return e>=this._pointerDown.length?!1:this._pointerDown[e]}getPointerUp(e){return e>=this._pointerUp.length?!1:this._pointerUp[e]}getPointerPressed(e){return e>=this._pointerPressed.length?!1:this._pointerPressed[e]}getPointerClicked(e){return e>=this._pointerClick.length?!1:this._pointerClick[e]}getPointerDoubleClicked(e){return e>=this._pointerDoubleClick.length?!1:this._pointerDoubleClick[e]}getPointerDownTime(e){return e>=this._pointerDownTime.length?-1:this._pointerDownTime[e]}getPointerUpTime(e){return e>=this._pointerUpTime.length?-1:this._pointerUpTime[e]}getPointerLongPress(e){return e>=this._pointerDownTime.length?!1:this.getPointerPressed(e)&&this.context.time.time-this._pointerDownTime[e]>this._longPressTimeThreshold}getIsMouse(e){return e<0||e>=this._pointerTypes.length?!1:this._pointerTypes[e]==="mouse"}getIsTouch(e){return e<0||e>=this._pointerTypes.length?!1:this._pointerTypes[e]==="touch"}getTouchesPressedCount(){let e=0;for(let t=0;t<this._pointerPressed.length;t++)this._pointerPressed[t]&&this.getIsTouch(t)&&e++;return e}getMouseWheelChanged(e=0){return e>=this._mouseWheelChanged.length?!1:this._mouseWheelChanged[e]}getMouseWheelDeltaY(e=0){return e>=this._mouseWheelDeltaY.length?0:this._mouseWheelDeltaY[e]}getPointerEvent(e){if(!(e>=this._pointerEvent.length))return this._pointerEvent[e]??void 0}*foreachPointerId(e){for(let t=0;t<this._pointerTypes.length;t++)if(this._pointerIsActive(t)){if(e!==void 0){const i=this._pointerTypes[t];if(Array.isArray(e)){let n=!1;for(const s of e)if(i===s){n=!0;break}if(!n)continue}else if(e!==i)continue}yield t}}*foreachTouchId(){for(let e=0;e<this._pointerTypes.length;e++)this._pointerTypes[e]==="touch"&&this._pointerIsActive[e]&&(yield e)}_pointerIsActive(e){return e<0?!1:this._pointerPressed[e]||this._pointerDown[e]||this._pointerUp[e]}context;_pointerDown=[!1];_pointerUp=[!1];_pointerClick=[!1];_pointerDoubleClick=[!1];_pointerPressed=[!1];_pointerPositions=[new ee];_pointerPositionsLastFrame=[new ee];_pointerPositionsDelta=[new ee];_pointerPositionsRC=[new ee];_pointerPositionDown=[new b];_pointerDownTime=[];_pointerUpTime=[];_pointerUpTimestamp=[];_pointerIds=[];_pointerTypes=[""];_mouseWheelChanged=[!1];_mouseWheelDeltaY=[0];_pointerEvent=[];_pointerEventsPressed=[];_pointerSpace=[];_pressedStack=new Map;onDownButton(e,t){let i=this._pressedStack.get(e);i||(i=[],this._pressedStack.set(e,i)),i.push(t)}onReleaseButton(e,t){const i=this._pressedStack.get(e);if(!i)return;const n=i.indexOf(t);n>=0&&i.splice(n,1)}getFirstPressedButtonForPointer(e){const t=this._pressedStack.get(e);if(t)return t[0]}getLatestPressedButtonForPointer(e){const t=this._pressedStack.get(e);if(t)return t[t.length-1]}getKeyDown(e){if(e!==void 0)return this.isKeyDown(e);for(const t in this.keysPressed){const i=this.keysPressed[t];if(i.startFrame===this.context.time.frameCount)return i.key}return null}getKeyPressed(e){if(e!==void 0)return this.isKeyPressed(e);for(const t in this.keysPressed){const i=this.keysPressed[t];if(i.pressed)return i.key}return null}getKeyUp(e){if(e!==void 0)return this.isKeyUp(e);for(const t in this.keysPressed){const i=this.keysPressed[t];return i.pressed===!1&&i.frame===this.context.time.frameCount}return null}isKeyDown(e){if(!this.context.application.isVisible||!this.context.application.hasFocus)return!1;const t=this.getCodeForCommonKeyName(e);if(t!==null){for(const n of t)if(this.isKeyDown(n))return!0;return!1}const i=this.keysPressed[e];return i?i.startFrame===this.context.time.frameCount&&i.pressed:!1}isKeyUp(e){if(!this.context.application.isVisible||!this.context.application.hasFocus)return!1;const t=this.getCodeForCommonKeyName(e);if(t!==null){for(const n of t)if(this.isKeyUp(n))return!0;return!1}const i=this.keysPressed[e];return i?i.frame===this.context.time.frameCount&&i.pressed===!1:!1}isKeyPressed(e){if(!this.context.application.isVisible||!this.context.application.hasFocus)return!1;const t=this.getCodeForCommonKeyName(e);if(t!==null){for(const n of t)if(this.isKeyPressed(n))return!0;return!1}const i=this.keysPressed[e];return i&&i.pressed||!1}getCodeForCommonKeyName(e){if(e.length===1){if(e>="0"&&e<="9")return["Digit"+e];if(e>="a"&&e<="z")return["Key"+e.toUpperCase()];if(e==" ")return["Space"]}switch(e){case"shift":case"Shift":return["ShiftLeft","ShiftRight"];case"control":case"Control":return["ControlLeft","ControlRight"];case"alt":case"Alt":return["AltLeft","AltRight"]}return null}createInputEvent(e){switch(e.type){case"pointerdown":st&&Te("Create Pointer down"),this.onDownButton(e.deviceIndex,e.button),this.onDown(e);break;case"pointermove":st&&Te("Create Pointer move"),this.onMove(e);break;case"pointerup":st&&Te("Create Pointer up"),this.onUp(e),this.onReleaseButton(e.deviceIndex,e.button);break}}convertScreenspaceToRaycastSpace(e){return e.x=(e.x-this.context.domX)/this.context.domWidth*2-1,e.y=-((e.y-this.context.domY)/this.context.domHeight)*2+1,e}constructor(e){this.context=e,this.context.post_render_callbacks.push(this.onEndOfFrame)}_htmlEventSource;bindEvents(){this.unbindEvents(),this._htmlEventSource=this.context.renderer.domElement,window.addEventListener("contextmenu",this.onContextMenu),this._htmlEventSource.addEventListener("pointerdown",this.onPointerDown,{passive:!0}),window.addEventListener("pointermove",this.onPointerMove,{passive:!0,capture:!0}),window.addEventListener("pointerup",this.onPointerUp,{passive:!0}),window.addEventListener("pointercancel",this.onPointerCancel,{passive:!0}),window.addEventListener("touchstart",this.onTouchStart,{passive:!0}),window.addEventListener("touchmove",this.onTouchMove,{passive:!0}),window.addEventListener("touchend",this.onTouchEnd,{passive:!0}),this._htmlEventSource.addEventListener("wheel",this.onMouseWheel,{passive:!0}),window.addEventListener("wheel",this.onWheelWindow,{passive:!0}),window.addEventListener("keydown",this.onKeyDown,!1),window.addEventListener("keypress",this.onKeyPressed,!1),window.addEventListener("keyup",this.onKeyUp,!1),window.addEventListener("blur",this.onLostFocus)}unbindEvents(){for(const e in this._eventListeners)this._eventListeners[e].length=0;window.removeEventListener("contextmenu",this.onContextMenu),this._htmlEventSource?.removeEventListener("pointerdown",this.onPointerDown),window.removeEventListener("pointermove",this.onPointerMove),window.removeEventListener("pointerup",this.onPointerUp),window.removeEventListener("pointercancel",this.onPointerCancel),window.removeEventListener("touchstart",this.onTouchStart),window.removeEventListener("touchmove",this.onTouchMove),window.removeEventListener("touchend",this.onTouchEnd),this._htmlEventSource?.removeEventListener("wheel",this.onMouseWheel,!1),window.removeEventListener("wheel",this.onWheelWindow,!1),window.removeEventListener("keydown",this.onKeyDown,!1),window.removeEventListener("keypress",this.onKeyPressed,!1),window.removeEventListener("keyup",this.onKeyUp,!1),window.removeEventListener("blur",this.onLostFocus)}dispose(){const e=this.context.post_render_callbacks.indexOf(this.onEndOfFrame);e>=0&&this.context.post_render_callbacks.splice(e,1),this.unbindEvents()}onLostFocus=()=>{for(const e in this.keysPressed)this.keysPressed[e].pressed=!1};_receivedPointerMoveEventsThisFrame=new Array;onEndOfFrame=()=>{this._receivedPointerMoveEventsThisFrame.length=0;for(let e=0;e<this._pointerUp.length;e++)this._pointerUp[e]=!1;for(let e=0;e<this._pointerDown.length;e++)this._pointerDown[e]=!1;for(let e=0;e<this._pointerClick.length;e++)this._pointerClick[e]=!1;for(let e=0;e<this._pointerDoubleClick.length;e++)this._pointerDoubleClick[e]=!1;for(const e of this._pointerPositionsDelta)e.set(0,0);for(let e=0;e<this._mouseWheelChanged.length;e++)this._mouseWheelChanged[e]=!1;for(let e=0;e<this._mouseWheelDeltaY.length;e++)this._mouseWheelDeltaY[e]=0};canReceiveInput(e){return e.target===this.context.renderer?.domElement||e.target===this.context.domElement||this.context.isInAR||this.context.isInAR&&e.target===document.body&&q.isMozillaXR()?!0:(st&&console.warn("CanReceiveInput:False for",e.target),!1)}onContextMenu=e=>{this.canReceiveInput(e)!==!1&&e instanceof PointerEvent&&e.pointerType};keysPressed={};onKeyDown=e=>{if(st&&console.log(`key down ${e.code}, ${this.context.application.hasFocus}`,e),!this.context.application.hasFocus)return;const t=this.keysPressed[e.code];if(t&&t.pressed)return;this.keysPressed[e.code]={pressed:!0,frame:this.context.time.frameCount+1,startFrame:this.context.time.frameCount+1,key:e.key,code:e.code};const i=new hc("keydown",e,e);this.onDispatchEvent(i)};onKeyPressed=e=>{if(!this.context.application.hasFocus)return;const t=this.keysPressed[e.code];if(!t)return;t.pressed=!0,t.frame=this.context.time.frameCount+1;const i=new hc("keypress",e,e);this.onDispatchEvent(i)};onKeyUp=e=>{if(!this.context.application.hasFocus)return;const t=this.keysPressed[e.code];if(!t)return;t.pressed=!1,t.frame=this.context.time.frameCount+1;const i=new hc("keyup",e,e);this.onDispatchEvent(i)};onWheelWindow=e=>{document.pointerLockElement&&this.onMouseWheel(e)};onMouseWheel=e=>{if(this.canReceiveInput(e)===!1)return;this._mouseWheelDeltaY.length<=0&&this._mouseWheelDeltaY.push(0),this._mouseWheelChanged.length<=0&&this._mouseWheelChanged.push(!1),this._mouseWheelChanged[0]=!0;const t=this._mouseWheelDeltaY[0];this._mouseWheelDeltaY[0]=t+e.deltaY};onPointerDown=e=>{if(this.context.isInAR||this.canReceiveInput(e)===!1)return;e.target instanceof HTMLElement&&e.target.setPointerCapture(e.pointerId);const t=this.getPointerId(e);st&&Te(`pointer down #${t}, identifier:${e.pointerId}`);const i=this.getAndUpdateSpatialObjectForScreenPosition(t,e.clientX,e.clientY),n=new Mo("pointerdown",e,{origin:this,mode:"screen",deviceIndex:0,pointerId:t,button:e.button,clientX:e.clientX,clientY:e.clientY,pointerType:e.pointerType,buttonName:this.getButtonName(e),device:i,pressure:e.pressure});this.onDown(n)};onPointerMove=e=>{if(this.context.isInAR||this._receivedPointerMoveEventsThisFrame.includes(e.pointerId))return;this._receivedPointerMoveEventsThisFrame.push(e.pointerId);let t=e.button;e.pointerType==="mouse"&&(t=this.getFirstPressedButtonForPointer(0)??0);const i=this.getPointerId(e,t);t===-1&&(t=i);const n=this.getAndUpdateSpatialObjectForScreenPosition(i,e.clientX,e.clientY),s=new Mo("pointermove",e,{origin:this,mode:"screen",deviceIndex:0,pointerId:i,button:t,clientX:e.clientX,clientY:e.clientY,pointerType:e.pointerType,buttonName:this.getButtonName(e),device:n,pressure:e.pressure});this.onMove(s)};onPointerCancel=e=>{this.context.isInAR||(st&&console.log("Pointer cancel",e),this.onPointerUp(e))};onPointerUp=e=>{if(this.context.isInAR)return;e.target instanceof HTMLElement&&e.target.releasePointerCapture(e.pointerId);const t=this.getPointerId(e),i=new Mo("pointerup",e,{origin:this,mode:"screen",deviceIndex:0,pointerId:t,button:e.button,clientX:e.clientX,clientY:e.clientY,pointerType:e.pointerType,buttonName:this.getButtonName(e),device:this.getAndUpdateSpatialObjectForScreenPosition(t,e.clientX,e.clientY),pressure:e.pressure});this.onUp(i),this._pointerIds[t]=-1,st&&console.log("ID="+t,"PointerId="+e.pointerId,"ALL:",[...this._pointerIds])};getPointerId(e,t){return e.pointerType==="mouse"?0+(t??e.button):this.getPointerIndex(e.pointerId)}getButtonName(e){const t=e.button;if(e.pointerType==="mouse")switch(t){case 0:return"left";case 1:return"middle";case 2:return"right"}return"unknown"}onTouchStart=e=>{if(this.context.isInAR)for(let t=0;t<e.changedTouches.length;t++){const i=e.changedTouches[t],n=this.getPointerIndex(i.identifier),s=this.getAndUpdateSpatialObjectForScreenPosition(n,i.clientX,i.clientY),r=new Mo("pointerdown",e,{origin:this,mode:"screen",deviceIndex:0,pointerId:n,button:0,clientX:i.clientX,clientY:i.clientY,pointerType:"touch",buttonName:"unknown",device:s,pressure:i.force});this.onDown(r)}};onTouchMove=e=>{if(this.context.isInAR)for(let t=0;t<e.changedTouches.length;t++){const i=e.changedTouches[t],n=this.getPointerIndex(i.identifier),s=this.getAndUpdateSpatialObjectForScreenPosition(n,i.clientX,i.clientY),r=new Mo("pointermove",e,{origin:this,mode:"screen",deviceIndex:0,pointerId:n,button:0,clientX:i.clientX,clientY:i.clientY,pointerType:"touch",buttonName:"unknown",device:s,pressure:i.force});this.onMove(r)}};onTouchEnd=e=>{if(this.context.isInAR)for(let t=0;t<e.changedTouches.length;t++){const i=e.changedTouches[t],n=this.getPointerIndex(i.identifier),s=new Mo("pointerup",e,{origin:this,mode:"screen",deviceIndex:0,pointerId:n,button:0,clientX:i.clientX,clientY:i.clientY,pointerType:"touch",buttonName:"unknown",device:this.getAndUpdateSpatialObjectForScreenPosition(n,i.clientX,i.clientY),pressure:i.force});this.onUp(s),this._pointerIds[n]=-1}};tempNearPlaneVector=new b;tempFarPlaneVector=new b;tempLookMatrix=new K;getAndUpdateSpatialObjectForScreenPosition(e,t,i){let n=this._pointerSpace[e];n||(n=new O,this._pointerSpace[e]=n),this._pointerSpace[e]=n;const s=this.context.mainCamera;if(s){const r=this.tempNearPlaneVector.set(t,i,-1);this.convertScreenspaceToRaycastSpace(r);const a=this.tempFarPlaneVector.set(r.x,r.y,1);r.unproject(s),a.unproject(s);const l=s.worldUp||D(0,1,0).applyQuaternion(be(s));this.tempLookMatrix.lookAt(a,r,l),n.position.set(r.x,r.y,r.z),n.quaternion.setFromRotationMatrix(this.tempLookMatrix)}return n}isInRect(e){if(this.context.isInXR)return!0;const t=this.context.domElement.getBoundingClientRect(),i=e.clientX,n=e.clientY,s=i>=t.x&&i<=t.right&&n>=t.y&&n<=t.bottom;return st&&!s&&console.log("Not in rect",t,i,n),s}onDown(e){const t=e.pointerId;if(this.getPointerPressed(t)&&console.warn(`Received pointerDown for pointerId that is already pressed: ${t}`,st?e:""),st&&console.log(e.pointerType,"DOWN",t),!!this.isInRect(e)){for(this.setPointerState(t,this._pointerPressed,!0),this.setPointerState(t,this._pointerDown,!0),this.setPointerStateT(t,this._pointerEvent,e.source);t>=this._pointerTypes.length;)this._pointerTypes.push(e.pointerType);for(this._pointerTypes[t]=e.pointerType;t>=this._pointerPositionDown.length;)this._pointerPositionDown.push(new b);for(this._pointerPositionDown[t].set(e.clientX,e.clientY,e.clientZ??0);t>=this._pointerPositions.length;)this._pointerPositions.push(new ee);this._pointerPositions[t].set(e.clientX,e.clientY),t>=this._pointerDownTime.length&&this._pointerDownTime.push(0),this._pointerDownTime[t]=this.context.time.realtimeSinceStartup,this.updatePointerPosition(e),this._pointerEventsPressed.push(e),this.onDispatchEvent(e)}}onMove(e){const t=e.pointerId,i=this.getPointerPressed(t);i===!1&&!this.isInRect(e)||e.pointerType==="touch"&&!i||(this.updatePointerPosition(e),this.setPointerStateT(t,this._pointerEvent,e.source),this.onDispatchEvent(e))}onUp(e){const t=e.pointerId;if(!this.getPointerPressed(t)){st&&console.log(e.pointerType,"UP",t,"was not down");return}st&&console.log(e.pointerType,"UP",t),this.setPointerState(t,this._pointerPressed,!1),this.setPointerStateT(t,this._pointerEvent,e.source),this.setPointerState(t,this._pointerUp,!0),this.updatePointerPosition(e);for(let a=this._pointerEventsPressed.length-1;a>=0;a--)if(this._pointerEventsPressed[a].pointerId===t){this._pointerEventsPressed.splice(a,1);break}if(!this._pointerPositionDown[t]){st&&ye("Received pointer up event without matching down event for button: "+t),console.warn("Received pointer up event without matching down event for button: "+t);return}const i=this._pointerUpTime[t],n=this._pointerDownTime[t],s=this.context.time.realtimeSinceStartup,r=s-n;if(t>=this._pointerUpTime.length&&this._pointerUpTime.push(-99),this._pointerUpTime[t]=s,r<1){let a=e.clientX-this._pointerPositionDown[t].x,l=e.clientY-this._pointerPositionDown[t].y,c=0;if(e.isSpatial&&e.clientZ!=null&&(c=e.clientZ-this._pointerPositionDown[t].z,a*=200,l*=200,c*=200),Math.abs(a)<5&&Math.abs(l)<5&&Math.abs(c)<5){this.setPointerState(t,this._pointerClick,!0),e.isClick=!0;const h=s-i;st&&console.log("CLICK",t,a,l,c,h),h<this._doubleClickTimeThreshold&&h>0&&(this.setPointerState(t,this._pointerDoubleClick,!0),e.isDoubleClick=!0)}}this.onDispatchEvent(e)}updatePointerPosition(e){const t=e.pointerId;for(;t>=this._pointerPositions.length;)this._pointerPositions.push(new ee);for(;t>=this._pointerPositionsLastFrame.length;)this._pointerPositionsLastFrame.push(new ee);for(;t>=this._pointerPositionsDelta.length;)this._pointerPositionsDelta.push(new ee);const i=this._pointerPositionsLastFrame[t];i.copy(this._pointerPositions[t]);const n=this._pointerPositionsDelta[t];let s=e.clientX-i.x,r=e.clientY-i.y;if(e.source instanceof MouseEvent||e.source instanceof TouchEvent){const h=e.source;s===0&&h.movementX!==0&&(s=h.movementX||0),r===0&&h.movementY!==0&&(r=h.movementY||0)}n.x+=s,n.y+=r,this._pointerPositions[t].x=e.clientX,this._pointerPositions[t].y=e.clientY;const a=e.clientX,l=e.clientY;for(;t>=this._pointerPositionsRC.length;)this._pointerPositionsRC.push(new ee);const c=this._pointerPositionsRC[t];c.set(a,l),this.convertScreenspaceToRaycastSpace(c)}getPointerIndex(e){let t=-1;for(let i=0;i<this._pointerIds.length;i++){if(this._pointerIds[i]===e)return i;t===-1&&this._pointerIds[i]===-1&&(t=i)}return t!==-1?(this._pointerIds[t]=e,t):(st&&console.log("PUSH pointerId:",e),this._pointerIds.push(e),this._pointerIds.length-1)}setPointerState(e,t,i){t[e]=i}setPointerStateT(e,t,i){return t[e]=i,i}onDispatchEvent(e){const t=z.Current;try{z.Current=this.context,this.dispatchEvent(e)}finally{z.Current=t}}}const La=new K().makeRotationY(Math.PI),Gi=new U().setFromAxisAngle(new b(0,1,0),Math.PI),FO=v("debugwebxr");class UO{priority=-1e5;gameObject;isXRRig(){return!0}get isActive(){return this.gameObject.visible}constructor(){if(this.gameObject=new O,this.gameObject.name="Implicit XR Rig",FO){const e=Cg(16733661);e.position.y+=.5,this.gameObject.add(e)}}}const Ro=v("debugwebxr"),Vd=v("debugcustomgesture"),zO="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",NO="generic-trigger",VO=new U().setFromEuler(new ot(wo.degToRad(0),wo.degToRad(-90),wo.degToRad(-90))),WO=new b(.04,-.04,0);class hg{xr;get context(){return this.xr.context}inputSource;index=0;emitEvents=!0;get connected(){return this._connected}_connected=!0;get isTracking(){return this._isTracking}_isTracking=!1;get gamepad(){return this.__gamepad??=this.inputSource.gamepad}__gamepad;get isHand(){return this.hand!=null}get hand(){return this.__hand??=this.inputSource.hand}__hand;get handObject(){return this.context.renderer.xr.getHand(this.index)}get profiles(){return this.inputSource.profiles}get layout(){return this._layout}get targetRayMode(){return this.inputSource.targetRayMode}get targetRaySpace(){return this.inputSource.targetRaySpace}get gripSpace(){return this.inputSource.gripSpace}get side(){return this.__side??=this.inputSource.handedness}__side=void 0;get isRight(){return this.side==="right"}get isLeft(){return this.side==="left"}get isStylus(){return this._isMxInk}getHitTestSource(){return this._hitTestSource||this._requestHitTestSource(),this._hitTestSource}get hasHitTestSource(){return this._hitTestSource}cancelHitTestSource(){this._hitTestSource&&(this._hitTestSource.cancel(),this._hitTestSource=void 0)}_hitTestSource=void 0;_hasSelectEvent=!1;get hasSelectEvent(){return this._hasSelectEvent}_isMxInk=!1;_isMetaQuestTouchController=!1;getHitTest(){return this.xr.getHitTest(this)}_handJointPoses=new Map;getHandJointPose(e,t){if(t=t||this.xr.frame,!this.hand||!t?.getJointPose||!this.xr.referenceSpace)return null;let i=this._handJointPoses?.get(e);return i||(i=t.getJointPose(e,this.xr.referenceSpace),i&&this._handJointPoses.set(e,i),i)}_gripMatrix=new K;_gripPosition=new b;_gripQuaternion=new U;_linearVelocity=new b;_rayPositionRaw=new b;_rayRotationRaw=new U;_rayMatrix=new K;_rayPosition=new b;_rayQuaternion=new U;get gripPosition(){return D(this._gripPosition)}get gripQuaternion(){return ni(this._gripQuaternion)}get gripMatrix(){return this._gripMatrix}get gripLinearVelocity(){return D(this._linearVelocity).applyQuaternion(Gi)}get rayPosition(){return D(this._rayPosition)}get rayQuaternion(){return ni(this._rayQuaternion)}get gripWorldPosition(){return D(this._gripWorldPosition)}_gripWorldPosition=new b;get gripWorldQuaternion(){return ni(this._gripWorldQuaternion)}_gripWorldQuaternion=new U;get rayWorldPosition(){return D(this._rayWorldPosition)}_rayWorldPosition=new b;updateRayWorldPosition(){const e=this.xr.context.mainCamera?.parent;this._rayWorldPosition.copy(this._rayPositionRaw),e&&this._rayWorldPosition.applyMatrix4(e.matrixWorld)}get rayWorldQuaternion(){return ni(this._rayWorldQuaternion)}_rayWorldQuaternion=new U;get pinchPosition(){return D(this._pinchPosition)}_pinchPosition=new b;updateRayWorldQuaternion(){const e=this.xr.context.mainCamera?.parent,t=e?be(e):void 0;this._rayWorldQuaternion.copy(this._rayRotationRaw).multiply(Gi),t&&this._rayWorldQuaternion.premultiply(t)}get ray(){return this._ray.origin.copy(this.rayWorldPosition),this._ray.direction.copy(D(0,0,1).applyQuaternion(this.rayWorldQuaternion)),this._ray}_ray;_hand_wristDotUp=void 0;get handWristDotUp(){if(this._hand_wristDotUp!==void 0)return this._hand_wristDotUp;const e=this.handObject?.joints.wrist;if(e){const t=D(0,1,0).applyQuaternion(e.quaternion),i=D(0,1,0).dot(t);return this._hand_wristDotUp=i}}get isHandUpsideDown(){return this.handWristDotUp!==void 0?this.handWristDotUp<-.7:!1}get isTeleportGesture(){return this.isHandUpsideDown&&this.getGesture("pinch")?.isDown}get object(){return this._object}_object;_gripSpaceObject;_raySpaceObject;model=null;_debugAxesHelper=new xi(.15);_debugGripAxesHelper=new xi(.07);_debugRayAxesHelper=new xi(.07);async getModelUrl(){return this.getMotionController?.then(e=>e?.assetUrl||null)}constructor(e,t,i){this.xr=e,this.inputSource=t,this.index=i,this._object=new O,this._object.name=`NeedleXRController_${i}`,Ro&&(this._object.add(this._debugAxesHelper),this._gripSpaceObject=new O,this._raySpaceObject=new O,this._gripSpaceObject.name=`NeedleXRController_${i}_gripSpace`,this._raySpaceObject.name=`NeedleXRController_${i}_raySpace`,this._gripSpaceObject.add(this._debugGripAxesHelper),this._raySpaceObject.add(this._debugRayAxesHelper),this.xr.context.scene.add(this._gripSpaceObject),this.xr.context.scene.add(this._raySpaceObject)),this.xr.context.scene.add(this._object),this._ray=new vo,this.pointerInit={origin:this,pointerType:this.hand?"hand":"controller",deviceIndex:this.index,pointerId:-1,mode:this.inputSource.targetRayMode,ray:this._ray,device:this._object,buttonName:"none"},this.initialize(),this.subscribeEvents()}_hitTestSourcePromise=null;_requestHitTestSource(){return this._hitTestSourcePromise?this._hitTestSourcePromise:this.xr.mode==="immersive-ar"&&this.inputSource.targetRayMode==="tracked-pointer"&&this.xr.session.requestHitTestSourceForTransientInput?this._hitTestSourcePromise=this.xr.session.requestHitTestSourceForTransientInput({profile:this.inputSource.profiles[0],offsetRay:new XRRay})?.then(e=>(this._hitTestSourcePromise=null,this.connected?this._hitTestSource=e:(e.cancel(),null)))??null:null}onPointerHits=e=>{};onUpdate(e){this.onUpdateFrame(e),this.updateInputEvents(),this.onUpdateMove()}onRenderDebug(){B.DrawSphere(this.rayWorldPosition,.003),B.DrawDirection(this.rayWorldPosition,D(0,0,10).applyQuaternion(this.rayWorldQuaternion));const e=(this.inputSource.gripSpace?this.gripWorldPosition:this.object.worldPosition).sub(this.object.worldForward.multiplyScalar(.1)),t=this.inputSource.profiles.join(`
|
|
146
146
|
`);let i=`Controller[${this.index}] (${this.inputSource.targetRayMode}, ${this.side})
|
|
147
147
|
C:${this.connected?"x":"-"} T:${this.isTracking?"x":"-"} Hand:${this.inputSource.hand?"x":"-"} Pen: ${this._isMxInk?"x":"-"}`;if(this.inputSource.hand&&(i+=`
|
package/dist/needle-engine.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { GameObject as r, onClear as i, onDestroy as a, onInitialized as s, onAfterRender as l, onBeforeRender as d, onUpdate as c, onStart as m, loadAsset as p, NeedleXRSession as g, Context as u, VERSION as S, Component as C, Components as y } from "./needle-engine.bundle-
|
|
2
|
-
import { $physicsKey as P, ActionBuilder as T, ActionCollection as A, ActionModel as b, Addressables as M, AlignmentConstraint as I, AmbientMode as D, Animation as O, AnimationCurve as x, AnimationExtension as k, AnimationTrackHandler as L, AnimationUtils as N, Animator as B, AnimatorConditionMode as F, AnimatorController as w, AnimatorControllerParameterType as U, AnimatorStateInfo as G, Antialiasing as W, Application as H, AssetDatabase as X, AssetReference as z, Attractor as V, AudioExtension as _, AudioListener as j, AudioSource as K, AudioTrackHandler as Z, Avatar as Q, AvatarBlink_Simple as Y, AvatarEyeLook_Rotation as $, AvatarLoader as J, AvatarMarker as q, AvatarModel as ee, Avatar_Brain_LookAt as te, Avatar_MouthShapes as oe, Avatar_MustacheShake as re, Avatar_POI as ne, Axes as ie, AxesHelper as ae, BUILD_TIME as se, BaseUIComponent as le, BasicIKConstraint as de, BehaviorExtension as ce, BehaviorModel as me, Component$1 as pe, BlobStorage as ge, BloomEffect as ue, BoxCollider as Se, BoxGizmo as Ce, BoxHelperComponent as ye, Button as Ee, ButtonsFactory as Re, CallDirection as he, CallInfo as fe, Camera as ve, CameraTargetReachedEvent as Pe, Canvas as Te, CanvasGroup as Ae, CapsuleCollider as be, ChangeMaterialOnClick as Me, ChangeTransformOnClick as Ie, CharacterController as De, CharacterControllerInput as Oe, ChromaticAberration as xe, CircularBuffer as ke, ClearFlags as Le, ClickThrough as Ne, ClipExtrapolation as Be, Collider as Fe, Collision as we, CollisionDetectionMode as Ue, ColorAdjustments as Ge, ColorBySpeedModule as We, ColorOverLifetimeModule as He, Component$1 as Xe, ComponentLifecycleEvents as ze, ConnectionEvents as Ve, ContactPoint as _e, ContactShadows as je, ContextArgs as Ke, ContextEvent as Ze, ContextRegistry as Qe, ControlTrackHandler as Ye, CursorFollow as $e, CustomBranding as Je, CustomShader as qe, DefaultReflectionMode as et, Deletable as tt, DeleteBox as ot, DepthOfField as rt, DeviceFlag as nt, DeviceUtilities as it, DocumentExtension as at, DragControls as st, DragMode as lt, DropListener as dt, Duplicatable as ct, EffectWrapper as mt, EmissionModule as pt, EmphasizeOnClick as gt, EngineLoadingView as ut, EnvironmentScene as St, EventList as Ct, EventListEvent as yt, EventSystem as Et, EventTrigger as Rt, FieldWithDefault as ht, FileReference as ft, FileReferenceSerializer as vt, FileSpawnModel as Pt, File_Event as Tt, FixedJoint as At, Fog as bt, FrameEvent as Mt, GENERATOR as It, Gizmos as Dt, GltfExport as Ot, GltfExportBox as xt, Gradient as kt, Graphic as Lt, GraphicRaycaster as Nt, Graphics as Bt, GridHelper as Ft, GridLayoutGroup as wt, GroundProjectedEnv as Ut, GroupActionModel as Gt, HideFlags as Wt, HideOnStart as Ht, HingeJoint as Xt, HorizontalLayoutGroup as zt, HostData as Vt, HoverAnimation as _t, Image as jt, ImageReference as Kt, ImageReferenceSerializer as Zt, InheritVelocityModule as Qt, Input as Yt, InputEventQueue as $t, InputEvents as Jt, InputField as qt, InstanceHandle as eo, InstancingHandler as to, InstancingUtil as oo, InstantiateEvent as ro, InstantiateIdProvider as no, InstantiateOptions as io, Interactable as ao, InternalScreenshotUtils as so, JoinedRoomResponse as lo, KeyEventArgs as co, Keyframe as mo, LODGroup as po, LODModel as go, LeftRoomResponse as uo, Light as So, LightData as Co, LimitVelocityOverLifetimeModule as yo, LoadingElementOptions as Eo, LogStats as Ro, LogType as ho, LookAt as fo, LookAtConstraint as vo, MainModule as Po, MarkerTrackHandler as To, MarkerType as Ao, MaskableGraphic as bo, Mathf as Mo, MeshCollider as Io, MeshRenderer as Do, MinMaxCurve as Oo, MinMaxGradient as xo, NEEDLE_ENGINE_FEATURE_FLAGS as ko, MODULES as Lo, NEKeyboardEvent as No, NEPointerEvent as Bo, NeedleButtonElement as Fo, ContextRegistry as wo, NeedleEngineModelLoader as Uo, NeedleEngineWebComponent as Go, NeedleMenu as Wo, NeedlePatchesKey as Ho, USDZExporter$1 as Xo, NeedleXRController as zo, NeedleXRSync as Vo, NeedleXRUtils as _o, NestedGltf as jo, NetworkConnection as Ko, NetworkedStreamEvents as Zo, NetworkedStreams as Qo, Networking as Yo, NewInstanceModel as $o, NoiseModule as Jo, ObjectRaycaster as qo, ObjectUtils as er, OffsetConstraint as tr, OneEuroFilter as or, OneEuroFilterXYZ as rr, OpenURL as nr, OrbitControls as ir, Outline as ar, OwnershipEvent as sr, OwnershipModel as lr, PUBLIC_KEY as dr, Padding as cr, ParticleBurst as mr, ParticleSubEmitter as pr, ParticleSystem as gr, ParticleSystemBaseBehaviour as ur, ParticleSystemRenderer as Sr, ParticleSystemShapeType as Cr, PeerHandle as yr, PeerNetworking as Er, Physics as Rr, PhysicsExtension as hr, PhysicsMaterialCombine as fr, PixelationEffect as vr, PlayAnimationOnClick as Pr, PlayAudioOnClick as Tr, PlayableDirector as Ar, PlayerColor as br, PlayerState as Mr, PlayerStateEvent as Ir, PlayerSync as Dr, PlayerView as Or, PlayerViewManager as xr, PointerEventData as kr, PointerType as Lr, PostProcessingEffect as Nr, PostProcessingEffectOrder as Br, PostProcessingHandler as Fr, Volume as wr, PreliminaryAction as Ur, PreliminaryTrigger as Gr, PreviewHelper as Wr, PrimitiveType as Hr, Progress as Xr, PromiseAllWithErrors as zr, PromiseErrorResult as Vr, RGBAColor as _r, RapierPhysics as jr, RawImage as Kr, RaycastOptions as Zr, Rect as Qr, RectTransform as Yr, ReflectionProbe as $r, RegisteredAnimationInfo as Jr, RemoteSkybox as qr, RenderTexture as en, RenderTextureSerializer as tn, Renderer as on, RendererData as rn, RendererLightmap as nn, Rigidbody as an, RigidbodyConstraints as sn, RoomEvents as ln, RotationBySpeedModule as dn, RotationOverLifetimeModule as cn, SceneLightSettings as mn, SceneSwitcher as pn, ScreenCapture as gn, ScreenSpaceAmbientOcclusion as un, ScreenSpaceAmbientOcclusionN8 as Sn, ScrollFollow as Cn, SeeThrough as yn, SendQueue as En, SerializationContext as Rn, SetActiveOnClick as hn, ShadowCatcher as fn, ShapeModule as vn, ShapeOverlapResult as Pn, SharpeningEffect as Tn, SignalAsset as An, SignalReceiver as bn, SignalReceiverEvent as Mn, SignalTrackHandler as In, Size as Dn, SizeBySpeedModule as On, SizeOverLifetimeModule as xn, SkinnedMeshRenderer as kn, SmoothFollow as Ln, SpatialGrabRaycaster as Nn, SpatialHtml as Bn, SpatialTrigger as Fn, SpatialTriggerReceiver as wn, SpectatorCamera as Un, SphereCollider as Gn, SphereIntersection as Wn, SplineContainer as Hn, SplineData as Xn, SplineUtils as zn, SplineWalker as Vn, Sprite as _n, SpriteData as jn, SpriteRenderer as Kn, SpriteSheet as Zn, StateMachineBehaviour as Qn, StreamEndedEvent as Yn, StreamReceivedEvent as $n, SubEmitterSystem as Jn, SyncedCamera as qn, SyncedRoom as ei, SyncedTransform as ti, TapGestureTrigger as oi, TeleportTarget as ri, TestRunner as ni, TestSceneUtils as ii, TestSimulateUserData as ai, Text as si, TextBuilder as li, TextExtension as di, TextureSheetAnimationModule as ci, TiltShiftEffect as mi, Time as pi, ToneMappingEffect as gi, TrackHandler as ui, TrackType as Si, TrailModule as Ci, TransformData as yi, TransformGizmo as Ei, TriggerBuilder as Ri, TriggerModel as hi, TypeStore as fi, UIRaycastUtils as vi, UIRootComponent as Pi, USDDocument as Ti, USDObject as Ai, USDWriter as bi, USDZExporter as Mi, USDZText as Ii, USDZUIExtension as Di, UriSerializer as Oi, UsageMarker as xi, UserJoinedOrLeftRoomModel as ki, VariantAction as Li, VelocityOverLifetimeModule as Ni, VerticalLayoutGroup as Bi, VideoPlayer as Fi, ViewBox as wi, ViewDevice as Ui, Vignette as Gi, VisibilityAction as Wi, Voip as Hi, Volume as Xi, VolumeParameter as zi, VolumeProfile as Vi, WaitForFrames as _i, WaitForPromise as ji, WaitForSeconds as Ki, Watch as Zi, WebARCameraBackground as Qi, WebARSessionRoot as Yi, WebXR as $i, WebXRButtonFactory as Ji, WebXRImageTracking as qi, WebXRImageTrackingModel as ea, WebXRPlaneTracking as ta, WebXRTrackedImage as oa, XRControllerFollow as ra, XRControllerModel as na, XRControllerMovement as ia, XRFlag as aa, XRRig as sa, XRState as la, XRStateFlag as da, __Ignore as ca, __internalNotifyObjectDestroyed as ma, activeInHierarchyFieldName as pa, addAttributeChangeCallback as ga, addComponent as ua, addCustomExtensionPlugin as Sa, addNewComponent as Ca, addPatch as ya, apply as Ea, applyHMRChanges as Ra, applyPrototypeExtensions as ha, beginListenDestroy as fa, beginListenInstantiate as va, binaryIdentifierCasts as Pa, build_scene_functions as Ta, builtinComponentKeyName as Aa, calculateProgress01 as ba, clearMessages as Ma, clearMessages as Ia, colorSerializer as Da, compareAssociation as Oa, componentSerializer as xa, copyTexture as ka, createMotion as La, debugNet as Na, debugOwner as Ba, decompressGpuTexture as Fa, deepClone as wa, delay as Ua, delayForFrames as Ga, deserializeObject as Wa, destroy as Ha, destroyComponentInstance as Xa, determineMimeTypeFromExtension as za, disposeObjectResources as Va, disposeStream as _a, editorGuidKeyName as ja, enableSpatialConsole as Ka, euler as Za, eventListSerializer as Qa, exportAsGLTF as Ya, findByGuid as $a, findObjectOfType as Ja, findObjectsOfType as qa, findResourceUsers as es, fitCamera as ts, fitObjectIntoVolume as os, foreachComponent as rs, foreachComponentEnumerator as ns, forward as is, generateQRCode as as, generateSeed as ss, getBoundingBox as ls, getCameraController as ds, getComponent as cs, getComponentInChildren as ms, getComponentInParent as ps, getComponents as gs, getComponentsInChildren as us, getComponentsInParent as Ss, getFormattedDate as Cs, getIconElement as ys, getIconTexture as Es, getLoader as Rs, getOrAddComponent as hs, getParam as fs, getParentHierarchyPath as vs, getPath as Ps, getPeerOptions as Ts, getPeerjsInstance as As, getResourceUserCount as bs, getTempColor as Ms, getTempQuaternion as Is, getTempVector as Ds, getUrlParams as Os, getVisibleInCustomShadowRendering as xs, getWorldDirection as ks, getWorldEuler as Ls, getWorldPosition as Ns, getWorldQuaternion as Bs, getWorldRotation as Fs, getWorldScale as ws, hasCommercialLicense as Us, hasIndieLicense as Gs, hasPointerEventComponent as Ws, hasProLicense as Hs, hideDebugConsole as Xs, imageToCanvas as zs, instantiate as Vs, invokeLoadedImportPluginHooks as _s, invokeXRSessionEnd as js, invokeXRSessionStart as Ks, isActiveInHierarchy as Zs, isActiveSelf as Qs, isAndroidDevice as Ys, isAnimationAction as $s, isComponent as Js, isDebugMode as qs, isDesktop as el, isDestroyed as tl, isDevEnvironment as ol, isDisposed as rl, isExporting as nl, isGLTFModel as il, isHostedOnGlitch as al, isHotReloadEnabled as sl, isHotReloading as ll, isIPad as dl, isIconElement as cl, isLocalNetwork as ml, isMacOS as pl, isMobileDevice as gl, isMozillaXR as ul, isQuest as Sl, isResourceTrackingEnabled as Cl, isSafari as yl, isUsingInstancing as El, isiOS as Rl, isiPad as hl, loadPMREM as fl, loadSync as vl, logHierarchy as Pl, lookAtInverse as Tl, lookAtObject as Al, lookAtScreenPoint as bl, makeId as Ml, makeIdFromRandomWords as Il, makeNameSafe as Dl, markAsInstancedRendered as Ol, microphonePermissionsGranted as xl, nameof as kl, nameofFactory as Ll, objectSerializer as Nl, offXRSessionEnd as Bl, offXRSessionStart as Fl, onXRSessionEnd as wl, onXRSessionStart as Ul, parseSync as Gl, placeOnSurface as Wl, postprocessFBXMaterials as Hl, prefix as Xl, pushState as zl, randomNumber as Vl, registerBinaryType as _l, registerComponent as jl, registerComponentExtension as Kl, registerCustomEffectType as Zl, registerExportExtensions as Ql, registerExtensions as Yl, registerHotReloadType as $l, registerLoader as Jl, registerPrefabProvider as ql, registerPrototypeExtensions as ed, registerType as td, relativePathPrefix as od, removeAttributeChangeCallback as rd, removeComponent as nd, removeCustomImportExtensionType as id, removePatch as ad, resolveUrl as sd, sanitizeString as ld, saveImage as dd, screenshot as cd, screenshot2 as md, sendDestroyed as pd, serializable as gd, serializeObject as ud, serializeable as Sd, setActive as Cd, setAllowBalloonMessages as yd, setAllowOverlayMessages as Ed, setAutoFitEnabled as Rd, setCameraController as hd, setDestroyed as fd, setDevEnvironment as vd, setDisposable as Pd, setDontDestroy as Td, setOrAddParamsToUrl as Ad, setParam as bd, setParamWithoutReload as Md, setPeerOptions as Id, setResourceTrackingEnabled as Dd, setState as Od, setVisibleInCustomShadowRendering as xd, setWorldEuler as kd, setWorldPosition as Ld, setWorldPositionXYZ as Nd, setWorldQuaternion as Bd, setWorldQuaternionXYZW as Fd, setWorldRotation as wd, setWorldRotationXYZ as Ud, setWorldScale as Gd, showBalloonError as Wd, showBalloonMessage as Hd, showBalloonWarning as Xd, showDebugConsole as zd, slerp as Vd, syncDestroy as _d, syncField as jd, syncInstantiate as Kd, textureToCanvas as Zd, toSourceId as Qd, tryCastBinary as Yd, tryDetermineMimetypeFromBinary as $d, tryDetermineMimetypeFromURL as Jd, tryFindObject as qd, tryGetGuid as ec, unregisterHotReloadType as tc, unwatchWrite as oc, useForAutoFit as rc, validate as nc, watchWrite as ic } from "./needle-engine.bundle-DnJ3q6Oa.js";
|
|
1
|
+
import { GameObject as r, onClear as i, onDestroy as a, onInitialized as s, onAfterRender as l, onBeforeRender as d, onUpdate as c, onStart as m, loadAsset as p, NeedleXRSession as g, Context as u, VERSION as S, Component as C, Components as y } from "./needle-engine.bundle-DSm5itjo.js";
|
|
2
|
+
import { $physicsKey as P, ActionBuilder as T, ActionCollection as A, ActionModel as b, Addressables as M, AlignmentConstraint as I, AmbientMode as D, Animation as O, AnimationCurve as x, AnimationExtension as k, AnimationTrackHandler as L, AnimationUtils as N, Animator as B, AnimatorConditionMode as F, AnimatorController as w, AnimatorControllerParameterType as U, AnimatorStateInfo as G, Antialiasing as W, Application as H, AssetDatabase as X, AssetReference as z, Attractor as V, AudioExtension as _, AudioListener as j, AudioSource as K, AudioTrackHandler as Z, Avatar as Q, AvatarBlink_Simple as Y, AvatarEyeLook_Rotation as $, AvatarLoader as J, AvatarMarker as q, AvatarModel as ee, Avatar_Brain_LookAt as te, Avatar_MouthShapes as oe, Avatar_MustacheShake as re, Avatar_POI as ne, Axes as ie, AxesHelper as ae, BUILD_TIME as se, BaseUIComponent as le, BasicIKConstraint as de, BehaviorExtension as ce, BehaviorModel as me, Component$1 as pe, BlobStorage as ge, BloomEffect as ue, BoxCollider as Se, BoxGizmo as Ce, BoxHelperComponent as ye, Button as Ee, ButtonsFactory as Re, CallDirection as he, CallInfo as fe, Camera as ve, CameraTargetReachedEvent as Pe, Canvas as Te, CanvasGroup as Ae, CapsuleCollider as be, ChangeMaterialOnClick as Me, ChangeTransformOnClick as Ie, CharacterController as De, CharacterControllerInput as Oe, ChromaticAberration as xe, CircularBuffer as ke, ClearFlags as Le, ClickThrough as Ne, ClipExtrapolation as Be, Collider as Fe, Collision as we, CollisionDetectionMode as Ue, ColorAdjustments as Ge, ColorBySpeedModule as We, ColorOverLifetimeModule as He, Component$1 as Xe, ComponentLifecycleEvents as ze, ConnectionEvents as Ve, ContactPoint as _e, ContactShadows as je, ContextArgs as Ke, ContextEvent as Ze, ContextRegistry as Qe, ControlTrackHandler as Ye, CursorFollow as $e, CustomBranding as Je, CustomShader as qe, DefaultReflectionMode as et, Deletable as tt, DeleteBox as ot, DepthOfField as rt, DeviceFlag as nt, DeviceUtilities as it, DocumentExtension as at, DragControls as st, DragMode as lt, DropListener as dt, Duplicatable as ct, EffectWrapper as mt, EmissionModule as pt, EmphasizeOnClick as gt, EngineLoadingView as ut, EnvironmentScene as St, EventList as Ct, EventListEvent as yt, EventSystem as Et, EventTrigger as Rt, FieldWithDefault as ht, FileReference as ft, FileReferenceSerializer as vt, FileSpawnModel as Pt, File_Event as Tt, FixedJoint as At, Fog as bt, FrameEvent as Mt, GENERATOR as It, Gizmos as Dt, GltfExport as Ot, GltfExportBox as xt, Gradient as kt, Graphic as Lt, GraphicRaycaster as Nt, Graphics as Bt, GridHelper as Ft, GridLayoutGroup as wt, GroundProjectedEnv as Ut, GroupActionModel as Gt, HideFlags as Wt, HideOnStart as Ht, HingeJoint as Xt, HorizontalLayoutGroup as zt, HostData as Vt, HoverAnimation as _t, Image as jt, ImageReference as Kt, ImageReferenceSerializer as Zt, InheritVelocityModule as Qt, Input as Yt, InputEventQueue as $t, InputEvents as Jt, InputField as qt, InstanceHandle as eo, InstancingHandler as to, InstancingUtil as oo, InstantiateEvent as ro, InstantiateIdProvider as no, InstantiateOptions as io, Interactable as ao, InternalScreenshotUtils as so, JoinedRoomResponse as lo, KeyEventArgs as co, Keyframe as mo, LODGroup as po, LODModel as go, LeftRoomResponse as uo, Light as So, LightData as Co, LimitVelocityOverLifetimeModule as yo, LoadingElementOptions as Eo, LogStats as Ro, LogType as ho, LookAt as fo, LookAtConstraint as vo, MainModule as Po, MarkerTrackHandler as To, MarkerType as Ao, MaskableGraphic as bo, Mathf as Mo, MeshCollider as Io, MeshRenderer as Do, MinMaxCurve as Oo, MinMaxGradient as xo, NEEDLE_ENGINE_FEATURE_FLAGS as ko, MODULES as Lo, NEKeyboardEvent as No, NEPointerEvent as Bo, NeedleButtonElement as Fo, ContextRegistry as wo, NeedleEngineModelLoader as Uo, NeedleEngineWebComponent as Go, NeedleMenu as Wo, NeedlePatchesKey as Ho, USDZExporter$1 as Xo, NeedleXRController as zo, NeedleXRSync as Vo, NeedleXRUtils as _o, NestedGltf as jo, NetworkConnection as Ko, NetworkedStreamEvents as Zo, NetworkedStreams as Qo, Networking as Yo, NewInstanceModel as $o, NoiseModule as Jo, ObjectRaycaster as qo, ObjectUtils as er, OffsetConstraint as tr, OneEuroFilter as or, OneEuroFilterXYZ as rr, OpenURL as nr, OrbitControls as ir, Outline as ar, OwnershipEvent as sr, OwnershipModel as lr, PUBLIC_KEY as dr, Padding as cr, ParticleBurst as mr, ParticleSubEmitter as pr, ParticleSystem as gr, ParticleSystemBaseBehaviour as ur, ParticleSystemRenderer as Sr, ParticleSystemShapeType as Cr, PeerHandle as yr, PeerNetworking as Er, Physics as Rr, PhysicsExtension as hr, PhysicsMaterialCombine as fr, PixelationEffect as vr, PlayAnimationOnClick as Pr, PlayAudioOnClick as Tr, PlayableDirector as Ar, PlayerColor as br, PlayerState as Mr, PlayerStateEvent as Ir, PlayerSync as Dr, PlayerView as Or, PlayerViewManager as xr, PointerEventData as kr, PointerType as Lr, PostProcessingEffect as Nr, PostProcessingEffectOrder as Br, PostProcessingHandler as Fr, Volume as wr, PreliminaryAction as Ur, PreliminaryTrigger as Gr, PreviewHelper as Wr, PrimitiveType as Hr, Progress as Xr, PromiseAllWithErrors as zr, PromiseErrorResult as Vr, RGBAColor as _r, RapierPhysics as jr, RawImage as Kr, RaycastOptions as Zr, Rect as Qr, RectTransform as Yr, ReflectionProbe as $r, RegisteredAnimationInfo as Jr, RemoteSkybox as qr, RenderTexture as en, RenderTextureSerializer as tn, Renderer as on, RendererData as rn, RendererLightmap as nn, Rigidbody as an, RigidbodyConstraints as sn, RoomEvents as ln, RotationBySpeedModule as dn, RotationOverLifetimeModule as cn, SceneLightSettings as mn, SceneSwitcher as pn, ScreenCapture as gn, ScreenSpaceAmbientOcclusion as un, ScreenSpaceAmbientOcclusionN8 as Sn, ScrollFollow as Cn, SeeThrough as yn, SendQueue as En, SerializationContext as Rn, SetActiveOnClick as hn, ShadowCatcher as fn, ShapeModule as vn, ShapeOverlapResult as Pn, SharpeningEffect as Tn, SignalAsset as An, SignalReceiver as bn, SignalReceiverEvent as Mn, SignalTrackHandler as In, Size as Dn, SizeBySpeedModule as On, SizeOverLifetimeModule as xn, SkinnedMeshRenderer as kn, SmoothFollow as Ln, SpatialGrabRaycaster as Nn, SpatialHtml as Bn, SpatialTrigger as Fn, SpatialTriggerReceiver as wn, SpectatorCamera as Un, SphereCollider as Gn, SphereIntersection as Wn, SplineContainer as Hn, SplineData as Xn, SplineUtils as zn, SplineWalker as Vn, Sprite as _n, SpriteData as jn, SpriteRenderer as Kn, SpriteSheet as Zn, StateMachineBehaviour as Qn, StreamEndedEvent as Yn, StreamReceivedEvent as $n, SubEmitterSystem as Jn, SyncedCamera as qn, SyncedRoom as ei, SyncedTransform as ti, TapGestureTrigger as oi, TeleportTarget as ri, TestRunner as ni, TestSceneUtils as ii, TestSimulateUserData as ai, Text as si, TextBuilder as li, TextExtension as di, TextureSheetAnimationModule as ci, TiltShiftEffect as mi, Time as pi, ToneMappingEffect as gi, TrackHandler as ui, TrackType as Si, TrailModule as Ci, TransformData as yi, TransformGizmo as Ei, TriggerBuilder as Ri, TriggerModel as hi, TypeStore as fi, UIRaycastUtils as vi, UIRootComponent as Pi, USDDocument as Ti, USDObject as Ai, USDWriter as bi, USDZExporter as Mi, USDZText as Ii, USDZUIExtension as Di, UriSerializer as Oi, UsageMarker as xi, UserJoinedOrLeftRoomModel as ki, VariantAction as Li, VelocityOverLifetimeModule as Ni, VerticalLayoutGroup as Bi, VideoPlayer as Fi, ViewBox as wi, ViewDevice as Ui, Vignette as Gi, VisibilityAction as Wi, Voip as Hi, Volume as Xi, VolumeParameter as zi, VolumeProfile as Vi, WaitForFrames as _i, WaitForPromise as ji, WaitForSeconds as Ki, Watch as Zi, WebARCameraBackground as Qi, WebARSessionRoot as Yi, WebXR as $i, WebXRButtonFactory as Ji, WebXRImageTracking as qi, WebXRImageTrackingModel as ea, WebXRPlaneTracking as ta, WebXRTrackedImage as oa, XRControllerFollow as ra, XRControllerModel as na, XRControllerMovement as ia, XRFlag as aa, XRRig as sa, XRState as la, XRStateFlag as da, __Ignore as ca, __internalNotifyObjectDestroyed as ma, activeInHierarchyFieldName as pa, addAttributeChangeCallback as ga, addComponent as ua, addCustomExtensionPlugin as Sa, addNewComponent as Ca, addPatch as ya, apply as Ea, applyHMRChanges as Ra, applyPrototypeExtensions as ha, beginListenDestroy as fa, beginListenInstantiate as va, binaryIdentifierCasts as Pa, build_scene_functions as Ta, builtinComponentKeyName as Aa, calculateProgress01 as ba, clearMessages as Ma, clearMessages as Ia, colorSerializer as Da, compareAssociation as Oa, componentSerializer as xa, copyTexture as ka, createMotion as La, debugNet as Na, debugOwner as Ba, decompressGpuTexture as Fa, deepClone as wa, delay as Ua, delayForFrames as Ga, deserializeObject as Wa, destroy as Ha, destroyComponentInstance as Xa, determineMimeTypeFromExtension as za, disposeObjectResources as Va, disposeStream as _a, editorGuidKeyName as ja, enableSpatialConsole as Ka, euler as Za, eventListSerializer as Qa, exportAsGLTF as Ya, findByGuid as $a, findObjectOfType as Ja, findObjectsOfType as qa, findResourceUsers as es, fitCamera as ts, fitObjectIntoVolume as os, foreachComponent as rs, foreachComponentEnumerator as ns, forward as is, generateQRCode as as, generateSeed as ss, getBoundingBox as ls, getCameraController as ds, getComponent as cs, getComponentInChildren as ms, getComponentInParent as ps, getComponents as gs, getComponentsInChildren as us, getComponentsInParent as Ss, getFormattedDate as Cs, getIconElement as ys, getIconTexture as Es, getLoader as Rs, getOrAddComponent as hs, getParam as fs, getParentHierarchyPath as vs, getPath as Ps, getPeerOptions as Ts, getPeerjsInstance as As, getResourceUserCount as bs, getTempColor as Ms, getTempQuaternion as Is, getTempVector as Ds, getUrlParams as Os, getVisibleInCustomShadowRendering as xs, getWorldDirection as ks, getWorldEuler as Ls, getWorldPosition as Ns, getWorldQuaternion as Bs, getWorldRotation as Fs, getWorldScale as ws, hasCommercialLicense as Us, hasIndieLicense as Gs, hasPointerEventComponent as Ws, hasProLicense as Hs, hideDebugConsole as Xs, imageToCanvas as zs, instantiate as Vs, invokeLoadedImportPluginHooks as _s, invokeXRSessionEnd as js, invokeXRSessionStart as Ks, isActiveInHierarchy as Zs, isActiveSelf as Qs, isAndroidDevice as Ys, isAnimationAction as $s, isComponent as Js, isDebugMode as qs, isDesktop as el, isDestroyed as tl, isDevEnvironment as ol, isDisposed as rl, isExporting as nl, isGLTFModel as il, isHostedOnGlitch as al, isHotReloadEnabled as sl, isHotReloading as ll, isIPad as dl, isIconElement as cl, isLocalNetwork as ml, isMacOS as pl, isMobileDevice as gl, isMozillaXR as ul, isQuest as Sl, isResourceTrackingEnabled as Cl, isSafari as yl, isUsingInstancing as El, isiOS as Rl, isiPad as hl, loadPMREM as fl, loadSync as vl, logHierarchy as Pl, lookAtInverse as Tl, lookAtObject as Al, lookAtScreenPoint as bl, makeId as Ml, makeIdFromRandomWords as Il, makeNameSafe as Dl, markAsInstancedRendered as Ol, microphonePermissionsGranted as xl, nameof as kl, nameofFactory as Ll, objectSerializer as Nl, offXRSessionEnd as Bl, offXRSessionStart as Fl, onXRSessionEnd as wl, onXRSessionStart as Ul, parseSync as Gl, placeOnSurface as Wl, postprocessFBXMaterials as Hl, prefix as Xl, pushState as zl, randomNumber as Vl, registerBinaryType as _l, registerComponent as jl, registerComponentExtension as Kl, registerCustomEffectType as Zl, registerExportExtensions as Ql, registerExtensions as Yl, registerHotReloadType as $l, registerLoader as Jl, registerPrefabProvider as ql, registerPrototypeExtensions as ed, registerType as td, relativePathPrefix as od, removeAttributeChangeCallback as rd, removeComponent as nd, removeCustomImportExtensionType as id, removePatch as ad, resolveUrl as sd, sanitizeString as ld, saveImage as dd, screenshot as cd, screenshot2 as md, sendDestroyed as pd, serializable as gd, serializeObject as ud, serializeable as Sd, setActive as Cd, setAllowBalloonMessages as yd, setAllowOverlayMessages as Ed, setAutoFitEnabled as Rd, setCameraController as hd, setDestroyed as fd, setDevEnvironment as vd, setDisposable as Pd, setDontDestroy as Td, setOrAddParamsToUrl as Ad, setParam as bd, setParamWithoutReload as Md, setPeerOptions as Id, setResourceTrackingEnabled as Dd, setState as Od, setVisibleInCustomShadowRendering as xd, setWorldEuler as kd, setWorldPosition as Ld, setWorldPositionXYZ as Nd, setWorldQuaternion as Bd, setWorldQuaternionXYZW as Fd, setWorldRotation as wd, setWorldRotationXYZ as Ud, setWorldScale as Gd, showBalloonError as Wd, showBalloonMessage as Hd, showBalloonWarning as Xd, showDebugConsole as zd, slerp as Vd, syncDestroy as _d, syncField as jd, syncInstantiate as Kd, textureToCanvas as Zd, toSourceId as Qd, tryCastBinary as Yd, tryDetermineMimetypeFromBinary as $d, tryDetermineMimetypeFromURL as Jd, tryFindObject as qd, tryGetGuid as ec, unregisterHotReloadType as tc, unwatchWrite as oc, useForAutoFit as rc, validate as nc, watchWrite as ic } from "./needle-engine.bundle-DSm5itjo.js";
|
|
3
3
|
import { NEEDLE_progressive as sc } from "./gltf-progressive-BvlZQAkt.js";
|
|
4
4
|
import { THREE as E } from "./three-MHVqtJYj.js";
|
|
5
5
|
const t = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{GameObject as s,onClear as o,onDestroy as r,onInitialized as n,onAfterRender as i,onBeforeRender as l,onUpdate as d,onStart as c,loadAsset as m,NeedleXRSession as p,Context as g,VERSION as u,Component as C,Components as y}from"./needle-engine.bundle-D2_8tEN0.min.js";import{$physicsKey as E,ActionBuilder as R,ActionCollection as h,ActionModel as v,Addressables as f,AlignmentConstraint as P,AmbientMode as A,Animation as T,AnimationCurve as b,AnimationExtension as M,AnimationTrackHandler as I,AnimationUtils as D,Animator as O,AnimatorConditionMode as x,AnimatorController as k,AnimatorControllerParameterType as L,AnimatorStateInfo as B,Antialiasing as F,Application as N,AssetDatabase as w,AssetReference as U,Attractor as W,AudioExtension as G,AudioListener as H,AudioSource as X,AudioTrackHandler as z,Avatar as V,AvatarBlink_Simple as _,AvatarEyeLook_Rotation as j,AvatarLoader as K,AvatarMarker as Q,AvatarModel as Z,Avatar_Brain_LookAt as Y,Avatar_MouthShapes as J,Avatar_MustacheShake as $,Avatar_POI as q,Axes as ee,AxesHelper as ae,BUILD_TIME as se,BaseUIComponent as te,BasicIKConstraint as oe,BehaviorExtension as re,BehaviorModel as ne,Component$1 as ie,BlobStorage as le,BloomEffect as de,BoxCollider as ce,BoxGizmo as me,BoxHelperComponent as pe,Button as ge,ButtonsFactory as ue,CallDirection as Se,CallInfo as Ce,Camera as ye,CameraTargetReachedEvent as Ee,Canvas as Re,CanvasGroup as he,CapsuleCollider as ve,ChangeMaterialOnClick as fe,ChangeTransformOnClick as Pe,CharacterController as Ae,CharacterControllerInput as Te,ChromaticAberration as be,CircularBuffer as Me,ClearFlags as Ie,ClickThrough as De,ClipExtrapolation as Oe,Collider as xe,Collision as ke,CollisionDetectionMode as Le,ColorAdjustments as Be,ColorBySpeedModule as Fe,ColorOverLifetimeModule as Ne,Component$1 as we,ComponentLifecycleEvents as Ue,ConnectionEvents as We,ContactPoint as Ge,ContactShadows as He,ContextArgs as Xe,ContextEvent as ze,ContextRegistry as Ve,ControlTrackHandler as _e,CursorFollow as je,CustomBranding as Ke,CustomShader as Qe,DefaultReflectionMode as Ze,Deletable as Ye,DeleteBox as Je,DepthOfField as $e,DeviceFlag as qe,DeviceUtilities as ea,DocumentExtension as aa,DragControls as sa,DragMode as ta,DropListener as oa,Duplicatable as ra,EffectWrapper as na,EmissionModule as ia,EmphasizeOnClick as la,EngineLoadingView as da,EnvironmentScene as ca,EventList as ma,EventListEvent as pa,EventSystem as ga,EventTrigger as ua,FieldWithDefault as Sa,FileReference as Ca,FileReferenceSerializer as ya,FileSpawnModel as Ea,File_Event as Ra,FixedJoint as ha,Fog as va,FrameEvent as fa,GENERATOR as Pa,Gizmos as Aa,GltfExport as Ta,GltfExportBox as ba,Gradient as Ma,Graphic as Ia,GraphicRaycaster as Da,Graphics as Oa,GridHelper as xa,GridLayoutGroup as ka,GroundProjectedEnv as La,GroupActionModel as Ba,HideFlags as Fa,HideOnStart as Na,HingeJoint as wa,HorizontalLayoutGroup as Ua,HostData as Wa,HoverAnimation as Ga,Image as Ha,ImageReference as Xa,ImageReferenceSerializer as za,InheritVelocityModule as Va,Input as _a,InputEventQueue as ja,InputEvents as Ka,InputField as Qa,InstanceHandle as Za,InstancingHandler as Ya,InstancingUtil as Ja,InstantiateEvent as $a,InstantiateIdProvider as qa,InstantiateOptions as es,Interactable as as,InternalScreenshotUtils as ss,JoinedRoomResponse as ts,KeyEventArgs as os,Keyframe as rs,LODGroup as ns,LODModel as is,LeftRoomResponse as ls,Light as ds,LightData as cs,LimitVelocityOverLifetimeModule as ms,LoadingElementOptions as ps,LogStats as gs,LogType as us,LookAt as Ss,LookAtConstraint as Cs,MainModule as ys,MarkerTrackHandler as Es,MarkerType as Rs,MaskableGraphic as hs,Mathf as vs,MeshCollider as fs,MeshRenderer as Ps,MinMaxCurve as As,MinMaxGradient as Ts,NEEDLE_ENGINE_FEATURE_FLAGS as bs,MODULES as Ms,NEKeyboardEvent as Is,NEPointerEvent as Ds,NeedleButtonElement as Os,ContextRegistry as xs,NeedleEngineModelLoader as ks,NeedleEngineWebComponent as Ls,NeedleMenu as Bs,NeedlePatchesKey as Fs,USDZExporter$1 as Ns,NeedleXRController as ws,NeedleXRSync as Us,NeedleXRUtils as Ws,NestedGltf as Gs,NetworkConnection as Hs,NetworkedStreamEvents as Xs,NetworkedStreams as zs,Networking as Vs,NewInstanceModel as _s,NoiseModule as js,ObjectRaycaster as Ks,ObjectUtils as Qs,OffsetConstraint as Zs,OneEuroFilter as Ys,OneEuroFilterXYZ as Js,OpenURL as $s,OrbitControls as qs,Outline as et,OwnershipEvent as at,OwnershipModel as st,PUBLIC_KEY as tt,Padding as ot,ParticleBurst as rt,ParticleSubEmitter as nt,ParticleSystem as it,ParticleSystemBaseBehaviour as lt,ParticleSystemRenderer as dt,ParticleSystemShapeType as ct,PeerHandle as mt,PeerNetworking as pt,Physics as gt,PhysicsExtension as ut,PhysicsMaterialCombine as St,PixelationEffect as Ct,PlayAnimationOnClick as yt,PlayAudioOnClick as Et,PlayableDirector as Rt,PlayerColor as ht,PlayerState as vt,PlayerStateEvent as ft,PlayerSync as Pt,PlayerView as At,PlayerViewManager as Tt,PointerEventData as bt,PointerType as Mt,PostProcessingEffect as It,PostProcessingEffectOrder as Dt,PostProcessingHandler as Ot,Volume as xt,PreliminaryAction as kt,PreliminaryTrigger as Lt,PreviewHelper as Bt,PrimitiveType as Ft,Progress as Nt,PromiseAllWithErrors as wt,PromiseErrorResult as Ut,RGBAColor as Wt,RapierPhysics as Gt,RawImage as Ht,RaycastOptions as Xt,Rect as zt,RectTransform as Vt,ReflectionProbe as _t,RegisteredAnimationInfo as jt,RemoteSkybox as Kt,RenderTexture as Qt,RenderTextureSerializer as Zt,Renderer as Yt,RendererData as Jt,RendererLightmap as $t,Rigidbody as qt,RigidbodyConstraints as eo,RoomEvents as ao,RotationBySpeedModule as so,RotationOverLifetimeModule as to,SceneLightSettings as oo,SceneSwitcher as ro,ScreenCapture as no,ScreenSpaceAmbientOcclusion as io,ScreenSpaceAmbientOcclusionN8 as lo,ScrollFollow as co,SeeThrough as mo,SendQueue as po,SerializationContext as go,SetActiveOnClick as uo,ShadowCatcher as So,ShapeModule as Co,ShapeOverlapResult as yo,SharpeningEffect as Eo,SignalAsset as Ro,SignalReceiver as ho,SignalReceiverEvent as vo,SignalTrackHandler as fo,Size as Po,SizeBySpeedModule as Ao,SizeOverLifetimeModule as To,SkinnedMeshRenderer as bo,SmoothFollow as Mo,SpatialGrabRaycaster as Io,SpatialHtml as Do,SpatialTrigger as Oo,SpatialTriggerReceiver as xo,SpectatorCamera as ko,SphereCollider as Lo,SphereIntersection as Bo,SplineContainer as Fo,SplineData as No,SplineUtils as wo,SplineWalker as Uo,Sprite as Wo,SpriteData as Go,SpriteRenderer as Ho,SpriteSheet as Xo,StateMachineBehaviour as zo,StreamEndedEvent as Vo,StreamReceivedEvent as _o,SubEmitterSystem as jo,SyncedCamera as Ko,SyncedRoom as Qo,SyncedTransform as Zo,TapGestureTrigger as Yo,TeleportTarget as Jo,TestRunner as $o,TestSceneUtils as qo,TestSimulateUserData as er,Text as ar,TextBuilder as sr,TextExtension as tr,TextureSheetAnimationModule as or,TiltShiftEffect as rr,Time as nr,ToneMappingEffect as ir,TrackHandler as lr,TrackType as dr,TrailModule as cr,TransformData as mr,TransformGizmo as pr,TriggerBuilder as gr,TriggerModel as ur,TypeStore as Sr,UIRaycastUtils as Cr,UIRootComponent as yr,USDDocument as Er,USDObject as Rr,USDWriter as hr,USDZExporter as vr,USDZText as fr,USDZUIExtension as Pr,UriSerializer as Ar,UsageMarker as Tr,UserJoinedOrLeftRoomModel as br,VariantAction as Mr,VelocityOverLifetimeModule as Ir,VerticalLayoutGroup as Dr,VideoPlayer as Or,ViewBox as xr,ViewDevice as kr,Vignette as Lr,VisibilityAction as Br,Voip as Fr,Volume as Nr,VolumeParameter as wr,VolumeProfile as Ur,WaitForFrames as Wr,WaitForPromise as Gr,WaitForSeconds as Hr,Watch as Xr,WebARCameraBackground as zr,WebARSessionRoot as Vr,WebXR as _r,WebXRButtonFactory as jr,WebXRImageTracking as Kr,WebXRImageTrackingModel as Qr,WebXRPlaneTracking as Zr,WebXRTrackedImage as Yr,XRControllerFollow as Jr,XRControllerModel as $r,XRControllerMovement as qr,XRFlag as en,XRRig as an,XRState as sn,XRStateFlag as tn,__Ignore as on,__internalNotifyObjectDestroyed as rn,activeInHierarchyFieldName as nn,addAttributeChangeCallback as ln,addComponent as dn,addCustomExtensionPlugin as cn,addNewComponent as mn,addPatch as pn,apply as gn,applyHMRChanges as un,applyPrototypeExtensions as Sn,beginListenDestroy as Cn,beginListenInstantiate as yn,binaryIdentifierCasts as En,build_scene_functions as Rn,builtinComponentKeyName as hn,calculateProgress01 as vn,clearMessages as fn,clearMessages as Pn,colorSerializer as An,compareAssociation as Tn,componentSerializer as bn,copyTexture as Mn,createMotion as In,debugNet as Dn,debugOwner as On,decompressGpuTexture as xn,deepClone as kn,delay as Ln,delayForFrames as Bn,deserializeObject as Fn,destroy as Nn,destroyComponentInstance as wn,determineMimeTypeFromExtension as Un,disposeObjectResources as Wn,disposeStream as Gn,editorGuidKeyName as Hn,enableSpatialConsole as Xn,euler as zn,eventListSerializer as Vn,exportAsGLTF as _n,findByGuid as jn,findObjectOfType as Kn,findObjectsOfType as Qn,findResourceUsers as Zn,fitCamera as Yn,fitObjectIntoVolume as Jn,foreachComponent as $n,foreachComponentEnumerator as qn,forward as ei,generateQRCode as ai,generateSeed as si,getBoundingBox as ti,getCameraController as oi,getComponent as ri,getComponentInChildren as ni,getComponentInParent as ii,getComponents as li,getComponentsInChildren as di,getComponentsInParent as ci,getFormattedDate as mi,getIconElement as pi,getIconTexture as gi,getLoader as ui,getOrAddComponent as Si,getParam as Ci,getParentHierarchyPath as yi,getPath as Ei,getPeerOptions as Ri,getPeerjsInstance as hi,getResourceUserCount as vi,getTempColor as fi,getTempQuaternion as Pi,getTempVector as Ai,getUrlParams as Ti,getVisibleInCustomShadowRendering as bi,getWorldDirection as Mi,getWorldEuler as Ii,getWorldPosition as Di,getWorldQuaternion as Oi,getWorldRotation as xi,getWorldScale as ki,hasCommercialLicense as Li,hasIndieLicense as Bi,hasPointerEventComponent as Fi,hasProLicense as Ni,hideDebugConsole as wi,imageToCanvas as Ui,instantiate as Wi,invokeLoadedImportPluginHooks as Gi,invokeXRSessionEnd as Hi,invokeXRSessionStart as Xi,isActiveInHierarchy as zi,isActiveSelf as Vi,isAndroidDevice as _i,isAnimationAction as ji,isComponent as Ki,isDebugMode as Qi,isDesktop as Zi,isDestroyed as Yi,isDevEnvironment as Ji,isDisposed as $i,isExporting as qi,isGLTFModel as el,isHostedOnGlitch as al,isHotReloadEnabled as sl,isHotReloading as tl,isIPad as ol,isIconElement as rl,isLocalNetwork as nl,isMacOS as il,isMobileDevice as ll,isMozillaXR as dl,isQuest as cl,isResourceTrackingEnabled as ml,isSafari as pl,isUsingInstancing as gl,isiOS as ul,isiPad as Sl,loadPMREM as Cl,loadSync as yl,logHierarchy as El,lookAtInverse as Rl,lookAtObject as hl,lookAtScreenPoint as vl,makeId as fl,makeIdFromRandomWords as Pl,makeNameSafe as Al,markAsInstancedRendered as Tl,microphonePermissionsGranted as bl,nameof as Ml,nameofFactory as Il,objectSerializer as Dl,offXRSessionEnd as Ol,offXRSessionStart as xl,onXRSessionEnd as kl,onXRSessionStart as Ll,parseSync as Bl,placeOnSurface as Fl,postprocessFBXMaterials as Nl,prefix as wl,pushState as Ul,randomNumber as Wl,registerBinaryType as Gl,registerComponent as Hl,registerComponentExtension as Xl,registerCustomEffectType as zl,registerExportExtensions as Vl,registerExtensions as _l,registerHotReloadType as jl,registerLoader as Kl,registerPrefabProvider as Ql,registerPrototypeExtensions as Zl,registerType as Yl,relativePathPrefix as Jl,removeAttributeChangeCallback as $l,removeComponent as ql,removeCustomImportExtensionType as ed,removePatch as ad,resolveUrl as sd,sanitizeString as td,saveImage as od,screenshot as rd,screenshot2 as nd,sendDestroyed as id,serializable as ld,serializeObject as dd,serializeable as cd,setActive as md,setAllowBalloonMessages as pd,setAllowOverlayMessages as gd,setAutoFitEnabled as ud,setCameraController as Sd,setDestroyed as Cd,setDevEnvironment as yd,setDisposable as Ed,setDontDestroy as Rd,setOrAddParamsToUrl as hd,setParam as vd,setParamWithoutReload as fd,setPeerOptions as Pd,setResourceTrackingEnabled as Ad,setState as Td,setVisibleInCustomShadowRendering as bd,setWorldEuler as Md,setWorldPosition as Id,setWorldPositionXYZ as Dd,setWorldQuaternion as Od,setWorldQuaternionXYZW as xd,setWorldRotation as kd,setWorldRotationXYZ as Ld,setWorldScale as Bd,showBalloonError as Fd,showBalloonMessage as Nd,showBalloonWarning as wd,showDebugConsole as Ud,slerp as Wd,syncDestroy as Gd,syncField as Hd,syncInstantiate as Xd,textureToCanvas as zd,toSourceId as Vd,tryCastBinary as _d,tryDetermineMimetypeFromBinary as jd,tryDetermineMimetypeFromURL as Kd,tryFindObject as Qd,tryGetGuid as Zd,unregisterHotReloadType as Yd,unwatchWrite as Jd,useForAutoFit as $d,validate as qd,watchWrite as ec}from"./needle-engine.bundle-D2_8tEN0.min.js";import{NEEDLE_progressive as ac}from"./gltf-progressive-CftVUJy3.min.js";import{THREE as sc}from"./three-BDW9I486.min.js";const a={VERSION:u,Context:g,NeedleXRSession:p,assets:{loadFromURL: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 S(e){for(const t in e)a[t]=e[t]}S(C),S(y);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=sc;export{E as $physicsKey,R as ActionBuilder,h as ActionCollection,v as ActionModel,f as Addressables,P as AlignmentConstraint,A as AmbientMode,T as Animation,b as AnimationCurve,M as AnimationExtension,I as AnimationTrackHandler,D as AnimationUtils,O as Animator,x as AnimatorConditionMode,k as AnimatorController,L as AnimatorControllerParameterType,B as AnimatorStateInfo,F as Antialiasing,N as Application,w as AssetDatabase,U as AssetReference,W as Attractor,G as AudioExtension,H as AudioListener,X as AudioSource,z as AudioTrackHandler,V as Avatar,_ as AvatarBlink_Simple,j as AvatarEyeLook_Rotation,K as AvatarLoader,Q as AvatarMarker,Z as AvatarModel,Y as Avatar_Brain_LookAt,J as Avatar_MouthShapes,$ as Avatar_MustacheShake,q as Avatar_POI,ee as Axes,ae as AxesHelper,se as BUILD_TIME,te as BaseUIComponent,oe as BasicIKConstraint,re as BehaviorExtension,ne as BehaviorModel,ie as Behaviour,le as BlobStorage,de as BloomEffect,ce as BoxCollider,me as BoxGizmo,pe as BoxHelperComponent,ge as Button,ue as ButtonsFactory,Se as CallDirection,Ce as CallInfo,ye as Camera,Ee as CameraTargetReachedEvent,Re as Canvas,he as CanvasGroup,ve as CapsuleCollider,fe as ChangeMaterialOnClick,Pe as ChangeTransformOnClick,Ae as CharacterController,Te as CharacterControllerInput,be as ChromaticAberration,Me as CircularBuffer,Ie as ClearFlags,De as ClickThrough,Oe as ClipExtrapolation,xe as Collider,ke as Collision,Le as CollisionDetectionMode,Be as ColorAdjustments,Fe as ColorBySpeedModule,Ne as ColorOverLifetimeModule,we as Component,Ue as ComponentLifecycleEvents,We as ConnectionEvents,Ge as ContactPoint,He as ContactShadows,g as Context,Xe as ContextArgs,ze as ContextEvent,Ve as ContextRegistry,_e as ControlTrackHandler,je as CursorFollow,Ke as CustomBranding,Qe as CustomShader,Ze as DefaultReflectionMode,Ye as Deletable,Je as DeleteBox,$e as DepthOfField,qe as DeviceFlag,ea as DeviceUtilities,aa as DocumentExtension,sa as DragControls,ta as DragMode,oa as DropListener,ra as Duplicatable,na as EffectWrapper,ia as EmissionModule,la as EmphasizeOnClick,da as EngineLoadingView,ca as EnvironmentScene,ma as EventList,pa as EventListEvent,ga as EventSystem,ua as EventTrigger,Sa as FieldWithDefault,Ca as FileReference,ya as FileReferenceSerializer,Ea as FileSpawnModel,Ra as File_Event,ha as FixedJoint,va as Fog,fa as FrameEvent,Pa as GENERATOR,s as GameObject,Aa as Gizmos,Ta as GltfExport,ba as GltfExportBox,Ma as Gradient,Ia as Graphic,Da as GraphicRaycaster,Oa as Graphics,xa as GridHelper,ka as GridLayoutGroup,La as GroundProjectedEnv,Ba as GroupActionModel,Fa as HideFlags,Na as HideOnStart,wa as HingeJoint,Ua as HorizontalLayoutGroup,Wa as HostData,Ga as HoverAnimation,Ha as Image,Xa as ImageReference,za as ImageReferenceSerializer,Va as InheritVelocityModule,_a as Input,ja as InputEventQueue,Ka as InputEvents,Qa as InputField,Za as InstanceHandle,Ya as InstancingHandler,Ja as InstancingUtil,$a as InstantiateEvent,qa as InstantiateIdProvider,es as InstantiateOptions,as as Interactable,ss as InternalScreenshotUtils,ts as JoinedRoomResponse,os as KeyEventArgs,rs as Keyframe,ns as LODGroup,is as LODModel,ls as LeftRoomResponse,ds as Light,cs as LightData,ms as LimitVelocityOverLifetimeModule,ps as LoadingElementOptions,gs as LogStats,us as LogType,Ss as LookAt,Cs as LookAtConstraint,ys as MainModule,Es as MarkerTrackHandler,Rs as MarkerType,hs as MaskableGraphic,vs as Mathf,fs as MeshCollider,Ps as MeshRenderer,As as MinMaxCurve,Ts as MinMaxGradient,bs as NEEDLE_ENGINE_FEATURE_FLAGS,Ms as NEEDLE_ENGINE_MODULES,ac as NEEDLE_progressive,Is as NEKeyboardEvent,Ds as NEPointerEvent,Os as NeedleButtonElement,xs as NeedleEngine,ks as NeedleEngineModelLoader,Ls as NeedleEngineWebComponent,Bs as NeedleMenu,Fs as NeedlePatchesKey,Ns as NeedleUSDZExporter,ws as NeedleXRController,p as NeedleXRSession,Us as NeedleXRSync,Ws as NeedleXRUtils,Gs as NestedGltf,Hs as NetworkConnection,Xs as NetworkedStreamEvents,zs as NetworkedStreams,Vs as Networking,_s as NewInstanceModel,js as NoiseModule,Ks as ObjectRaycaster,Qs as ObjectUtils,Zs as OffsetConstraint,Ys as OneEuroFilter,Js as OneEuroFilterXYZ,$s as OpenURL,qs as OrbitControls,et as Outline,at as OwnershipEvent,st as OwnershipModel,tt as PUBLIC_KEY,ot as Padding,rt as ParticleBurst,nt as ParticleSubEmitter,it as ParticleSystem,lt as ParticleSystemBaseBehaviour,dt as ParticleSystemRenderer,ct as ParticleSystemShapeType,mt as PeerHandle,pt as PeerNetworking,gt as Physics,ut as PhysicsExtension,St as PhysicsMaterialCombine,Ct as PixelationEffect,yt as PlayAnimationOnClick,Et as PlayAudioOnClick,Rt as PlayableDirector,ht as PlayerColor,vt as PlayerState,ft as PlayerStateEvent,Pt as PlayerSync,At as PlayerView,Tt as PlayerViewManager,bt as PointerEventData,Mt as PointerType,It as PostProcessingEffect,Dt as PostProcessingEffectOrder,Ot as PostProcessingHandler,xt as PostProcessingManager,kt as PreliminaryAction,Lt as PreliminaryTrigger,Bt as PreviewHelper,Ft as PrimitiveType,Nt as Progress,wt as PromiseAllWithErrors,Ut as PromiseErrorResult,Wt as RGBAColor,Gt as RapierPhysics,Ht as RawImage,Xt as RaycastOptions,zt as Rect,Vt as RectTransform,_t as ReflectionProbe,jt as RegisteredAnimationInfo,Kt as RemoteSkybox,Qt as RenderTexture,Zt as RenderTextureSerializer,Yt as Renderer,Jt as RendererData,$t as RendererLightmap,qt as Rigidbody,eo as RigidbodyConstraints,ao as RoomEvents,so as RotationBySpeedModule,to as RotationOverLifetimeModule,oo as SceneLightSettings,ro as SceneSwitcher,no as ScreenCapture,io as ScreenSpaceAmbientOcclusion,lo as ScreenSpaceAmbientOcclusionN8,co as ScrollFollow,mo as SeeThrough,po as SendQueue,go as SerializationContext,uo as SetActiveOnClick,So as ShadowCatcher,Co as ShapeModule,yo as ShapeOverlapResult,Eo as SharpeningEffect,Ro as SignalAsset,ho as SignalReceiver,vo as SignalReceiverEvent,fo as SignalTrackHandler,Po as Size,Ao as SizeBySpeedModule,To as SizeOverLifetimeModule,bo as SkinnedMeshRenderer,Mo as SmoothFollow,Io as SpatialGrabRaycaster,Do as SpatialHtml,Oo as SpatialTrigger,xo as SpatialTriggerReceiver,ko as SpectatorCamera,Lo as SphereCollider,Bo as SphereIntersection,Fo as SplineContainer,No as SplineData,wo as SplineUtils,Uo as SplineWalker,Wo as Sprite,Go as SpriteData,Ho as SpriteRenderer,Xo as SpriteSheet,zo as StateMachineBehaviour,Vo as StreamEndedEvent,_o as StreamReceivedEvent,jo as SubEmitterSystem,Ko as SyncedCamera,Qo as SyncedRoom,Zo as SyncedTransform,Yo as TapGestureTrigger,Jo as TeleportTarget,$o as TestRunner,qo as TestSceneUtils,er as TestSimulateUserData,ar as Text,sr as TextBuilder,tr as TextExtension,or as TextureSheetAnimationModule,rr as TiltShiftEffect,nr as Time,ir as ToneMappingEffect,lr as TrackHandler,dr as TrackType,cr as TrailModule,mr as TransformData,pr as TransformGizmo,gr as TriggerBuilder,ur as TriggerModel,Sr as TypeStore,Cr as UIRaycastUtils,yr as UIRootComponent,Er as USDDocument,Rr as USDObject,hr as USDWriter,vr as USDZExporter,fr as USDZText,Pr as USDZUIExtension,Ar as UriSerializer,Tr as UsageMarker,br as UserJoinedOrLeftRoomModel,u as VERSION,Mr as VariantAction,Ir as VelocityOverLifetimeModule,Dr as VerticalLayoutGroup,Or as VideoPlayer,xr as ViewBox,kr as ViewDevice,Lr as Vignette,Br as VisibilityAction,Fr as Voip,Nr as Volume,wr as VolumeParameter,Ur as VolumeProfile,Wr as WaitForFrames,Gr as WaitForPromise,Hr as WaitForSeconds,Xr as Watch,zr as WebARCameraBackground,Vr as WebARSessionRoot,_r as WebXR,jr as WebXRButtonFactory,Kr as WebXRImageTracking,Qr as WebXRImageTrackingModel,Zr as WebXRPlaneTracking,Yr as WebXRTrackedImage,Jr as XRControllerFollow,$r as XRControllerModel,qr as XRControllerMovement,en as XRFlag,an as XRRig,sn as XRState,tn as XRStateFlag,on as __Ignore,rn as __internalNotifyObjectDestroyed,nn as activeInHierarchyFieldName,ln as addAttributeChangeCallback,dn as addComponent,cn as addCustomExtensionPlugin,mn as addNewComponent,pn as addPatch,gn as apply,un as applyHMRChanges,Sn as applyPrototypeExtensions,Cn as beginListenDestroy,yn as beginListenInstantiate,En as binaryIdentifierCasts,Rn as build_scene_functions,hn as builtinComponentKeyName,vn as calculateProgress01,fn as clearBalloonMessages,Pn as clearOverlayMessages,An as colorSerializer,Tn as compareAssociation,bn as componentSerializer,Mn as copyTexture,In as createMotion,Dn as debugNet,On as debugOwner,xn as decompressGpuTexture,kn as deepClone,Ln as delay,Bn as delayForFrames,Fn as deserializeObject,Nn as destroy,wn as destroyComponentInstance,Un as determineMimeTypeFromExtension,Wn as disposeObjectResources,Gn as disposeStream,Hn as editorGuidKeyName,Xn as enableSpatialConsole,zn as euler,Vn as eventListSerializer,_n as exportAsGLTF,jn as findByGuid,Kn as findObjectOfType,Qn as findObjectsOfType,Zn as findResourceUsers,Yn as fitCamera,Jn as fitObjectIntoVolume,$n as foreachComponent,qn as foreachComponentEnumerator,ei as forward,ai as generateQRCode,si as generateSeed,ti as getBoundingBox,oi as getCameraController,ri as getComponent,ni as getComponentInChildren,ii as getComponentInParent,li as getComponents,di as getComponentsInChildren,ci as getComponentsInParent,mi as getFormattedDate,pi as getIconElement,gi as getIconTexture,ui as getLoader,Si as getOrAddComponent,Ci as getParam,yi as getParentHierarchyPath,Ei as getPath,Ri as getPeerOptions,hi as getPeerjsInstance,vi as getResourceUserCount,fi as getTempColor,Pi as getTempQuaternion,Ai as getTempVector,Ti as getUrlParams,bi as getVisibleInCustomShadowRendering,Mi as getWorldDirection,Ii as getWorldEuler,Di as getWorldPosition,Oi as getWorldQuaternion,xi as getWorldRotation,ki as getWorldScale,Li as hasCommercialLicense,Bi as hasIndieLicense,Fi as hasPointerEventComponent,Ni as hasProLicense,wi as hideDebugConsole,Ui as imageToCanvas,Wi as instantiate,Gi as invokeLoadedImportPluginHooks,Hi as invokeXRSessionEnd,Xi as invokeXRSessionStart,zi as isActiveInHierarchy,Vi as isActiveSelf,_i as isAndroidDevice,ji as isAnimationAction,Ki as isComponent,Qi as isDebugMode,Zi as isDesktop,Yi as isDestroyed,Ji as isDevEnvironment,$i as isDisposed,qi as isExporting,el as isGLTFModel,al as isHostedOnGlitch,sl as isHotReloadEnabled,tl as isHotReloading,ol as isIPad,rl as isIconElement,nl as isLocalNetwork,il as isMacOS,ll as isMobileDevice,dl as isMozillaXR,cl as isQuest,ml as isResourceTrackingEnabled,pl as isSafari,gl as isUsingInstancing,ul as isiOS,Sl as isiPad,m as loadAsset,Cl as loadPMREM,yl as loadSync,El as logHierarchy,Rl as lookAtInverse,hl as lookAtObject,vl as lookAtScreenPoint,fl as makeId,Pl as makeIdFromRandomWords,Al as makeNameSafeForUSD,Tl as markAsInstancedRendered,bl as microphonePermissionsGranted,Ml as nameof,Il as nameofFactory,Dl as objectSerializer,Ol as offXRSessionEnd,xl as offXRSessionStart,i as onAfterRender,l as onBeforeRender,o as onClear,r as onDestroy,n as onInitialized,c as onStart,d as onUpdate,kl as onXRSessionEnd,Ll as onXRSessionStart,Bl as parseSync,Fl as placeOnSurface,Nl as postprocessFBXMaterials,wl as prefix,Ul as pushState,Wl as randomNumber,Gl as registerBinaryType,Hl as registerComponent,Xl as registerComponentExtension,zl as registerCustomEffectType,Vl as registerExportExtensions,_l as registerExtensions,jl as registerHotReloadType,Kl as registerLoader,Ql as registerPrefabProvider,Zl as registerPrototypeExtensions,Yl as registerType,Jl as relativePathPrefix,$l as removeAttributeChangeCallback,ql as removeComponent,ed as removeCustomImportExtensionType,ad as removePatch,sd as resolveUrl,td as sanitizeString,od as saveImage,rd as screenshot,nd as screenshot2,id as sendDestroyed,ld as serializable,dd as serializeObject,cd as serializeable,md as setActive,pd as setAllowBalloonMessages,gd as setAllowOverlayMessages,ud as setAutoFitEnabled,Sd as setCameraController,Cd as setDestroyed,yd as setDevEnvironment,Ed as setDisposable,Rd as setDontDestroy,hd as setOrAddParamsToUrl,vd as setParam,fd as setParamWithoutReload,Pd as setPeerOptions,Ad as setResourceTrackingEnabled,Td as setState,bd as setVisibleInCustomShadowRendering,Md as setWorldEuler,Id as setWorldPosition,Dd as setWorldPositionXYZ,Od as setWorldQuaternion,xd as setWorldQuaternionXYZW,kd as setWorldRotation,Ld as setWorldRotationXYZ,Bd as setWorldScale,Fd as showBalloonError,Nd as showBalloonMessage,wd as showBalloonWarning,Ud as showDebugConsole,Wd as slerp,Gd as syncDestroy,Hd as syncField,Xd as syncInstantiate,zd as textureToCanvas,Vd as toSourceId,_d as tryCastBinary,jd as tryDetermineMimetypeFromBinary,Kd as tryDetermineMimetypeFromURL,Qd as tryFindObject,Zd as tryGetGuid,Yd as unregisterHotReloadType,Jd as unwatchWrite,$d as useForAutoFit,qd as validate,ec as watchWrite};
|
|
1
|
+
import{GameObject as s,onClear as o,onDestroy as r,onInitialized as n,onAfterRender as i,onBeforeRender as l,onUpdate as d,onStart as c,loadAsset as m,NeedleXRSession as p,Context as g,VERSION as u,Component as C,Components as y}from"./needle-engine.bundle-DYdft7n9.min.js";import{$physicsKey as E,ActionBuilder as R,ActionCollection as h,ActionModel as v,Addressables as f,AlignmentConstraint as P,AmbientMode as A,Animation as T,AnimationCurve as b,AnimationExtension as M,AnimationTrackHandler as I,AnimationUtils as D,Animator as O,AnimatorConditionMode as x,AnimatorController as k,AnimatorControllerParameterType as L,AnimatorStateInfo as B,Antialiasing as F,Application as N,AssetDatabase as w,AssetReference as U,Attractor as W,AudioExtension as G,AudioListener as H,AudioSource as X,AudioTrackHandler as z,Avatar as V,AvatarBlink_Simple as _,AvatarEyeLook_Rotation as j,AvatarLoader as K,AvatarMarker as Q,AvatarModel as Z,Avatar_Brain_LookAt as Y,Avatar_MouthShapes as J,Avatar_MustacheShake as $,Avatar_POI as q,Axes as ee,AxesHelper as ae,BUILD_TIME as se,BaseUIComponent as te,BasicIKConstraint as oe,BehaviorExtension as re,BehaviorModel as ne,Component$1 as ie,BlobStorage as le,BloomEffect as de,BoxCollider as ce,BoxGizmo as me,BoxHelperComponent as pe,Button as ge,ButtonsFactory as ue,CallDirection as Se,CallInfo as Ce,Camera as ye,CameraTargetReachedEvent as Ee,Canvas as Re,CanvasGroup as he,CapsuleCollider as ve,ChangeMaterialOnClick as fe,ChangeTransformOnClick as Pe,CharacterController as Ae,CharacterControllerInput as Te,ChromaticAberration as be,CircularBuffer as Me,ClearFlags as Ie,ClickThrough as De,ClipExtrapolation as Oe,Collider as xe,Collision as ke,CollisionDetectionMode as Le,ColorAdjustments as Be,ColorBySpeedModule as Fe,ColorOverLifetimeModule as Ne,Component$1 as we,ComponentLifecycleEvents as Ue,ConnectionEvents as We,ContactPoint as Ge,ContactShadows as He,ContextArgs as Xe,ContextEvent as ze,ContextRegistry as Ve,ControlTrackHandler as _e,CursorFollow as je,CustomBranding as Ke,CustomShader as Qe,DefaultReflectionMode as Ze,Deletable as Ye,DeleteBox as Je,DepthOfField as $e,DeviceFlag as qe,DeviceUtilities as ea,DocumentExtension as aa,DragControls as sa,DragMode as ta,DropListener as oa,Duplicatable as ra,EffectWrapper as na,EmissionModule as ia,EmphasizeOnClick as la,EngineLoadingView as da,EnvironmentScene as ca,EventList as ma,EventListEvent as pa,EventSystem as ga,EventTrigger as ua,FieldWithDefault as Sa,FileReference as Ca,FileReferenceSerializer as ya,FileSpawnModel as Ea,File_Event as Ra,FixedJoint as ha,Fog as va,FrameEvent as fa,GENERATOR as Pa,Gizmos as Aa,GltfExport as Ta,GltfExportBox as ba,Gradient as Ma,Graphic as Ia,GraphicRaycaster as Da,Graphics as Oa,GridHelper as xa,GridLayoutGroup as ka,GroundProjectedEnv as La,GroupActionModel as Ba,HideFlags as Fa,HideOnStart as Na,HingeJoint as wa,HorizontalLayoutGroup as Ua,HostData as Wa,HoverAnimation as Ga,Image as Ha,ImageReference as Xa,ImageReferenceSerializer as za,InheritVelocityModule as Va,Input as _a,InputEventQueue as ja,InputEvents as Ka,InputField as Qa,InstanceHandle as Za,InstancingHandler as Ya,InstancingUtil as Ja,InstantiateEvent as $a,InstantiateIdProvider as qa,InstantiateOptions as es,Interactable as as,InternalScreenshotUtils as ss,JoinedRoomResponse as ts,KeyEventArgs as os,Keyframe as rs,LODGroup as ns,LODModel as is,LeftRoomResponse as ls,Light as ds,LightData as cs,LimitVelocityOverLifetimeModule as ms,LoadingElementOptions as ps,LogStats as gs,LogType as us,LookAt as Ss,LookAtConstraint as Cs,MainModule as ys,MarkerTrackHandler as Es,MarkerType as Rs,MaskableGraphic as hs,Mathf as vs,MeshCollider as fs,MeshRenderer as Ps,MinMaxCurve as As,MinMaxGradient as Ts,NEEDLE_ENGINE_FEATURE_FLAGS as bs,MODULES as Ms,NEKeyboardEvent as Is,NEPointerEvent as Ds,NeedleButtonElement as Os,ContextRegistry as xs,NeedleEngineModelLoader as ks,NeedleEngineWebComponent as Ls,NeedleMenu as Bs,NeedlePatchesKey as Fs,USDZExporter$1 as Ns,NeedleXRController as ws,NeedleXRSync as Us,NeedleXRUtils as Ws,NestedGltf as Gs,NetworkConnection as Hs,NetworkedStreamEvents as Xs,NetworkedStreams as zs,Networking as Vs,NewInstanceModel as _s,NoiseModule as js,ObjectRaycaster as Ks,ObjectUtils as Qs,OffsetConstraint as Zs,OneEuroFilter as Ys,OneEuroFilterXYZ as Js,OpenURL as $s,OrbitControls as qs,Outline as et,OwnershipEvent as at,OwnershipModel as st,PUBLIC_KEY as tt,Padding as ot,ParticleBurst as rt,ParticleSubEmitter as nt,ParticleSystem as it,ParticleSystemBaseBehaviour as lt,ParticleSystemRenderer as dt,ParticleSystemShapeType as ct,PeerHandle as mt,PeerNetworking as pt,Physics as gt,PhysicsExtension as ut,PhysicsMaterialCombine as St,PixelationEffect as Ct,PlayAnimationOnClick as yt,PlayAudioOnClick as Et,PlayableDirector as Rt,PlayerColor as ht,PlayerState as vt,PlayerStateEvent as ft,PlayerSync as Pt,PlayerView as At,PlayerViewManager as Tt,PointerEventData as bt,PointerType as Mt,PostProcessingEffect as It,PostProcessingEffectOrder as Dt,PostProcessingHandler as Ot,Volume as xt,PreliminaryAction as kt,PreliminaryTrigger as Lt,PreviewHelper as Bt,PrimitiveType as Ft,Progress as Nt,PromiseAllWithErrors as wt,PromiseErrorResult as Ut,RGBAColor as Wt,RapierPhysics as Gt,RawImage as Ht,RaycastOptions as Xt,Rect as zt,RectTransform as Vt,ReflectionProbe as _t,RegisteredAnimationInfo as jt,RemoteSkybox as Kt,RenderTexture as Qt,RenderTextureSerializer as Zt,Renderer as Yt,RendererData as Jt,RendererLightmap as $t,Rigidbody as qt,RigidbodyConstraints as eo,RoomEvents as ao,RotationBySpeedModule as so,RotationOverLifetimeModule as to,SceneLightSettings as oo,SceneSwitcher as ro,ScreenCapture as no,ScreenSpaceAmbientOcclusion as io,ScreenSpaceAmbientOcclusionN8 as lo,ScrollFollow as co,SeeThrough as mo,SendQueue as po,SerializationContext as go,SetActiveOnClick as uo,ShadowCatcher as So,ShapeModule as Co,ShapeOverlapResult as yo,SharpeningEffect as Eo,SignalAsset as Ro,SignalReceiver as ho,SignalReceiverEvent as vo,SignalTrackHandler as fo,Size as Po,SizeBySpeedModule as Ao,SizeOverLifetimeModule as To,SkinnedMeshRenderer as bo,SmoothFollow as Mo,SpatialGrabRaycaster as Io,SpatialHtml as Do,SpatialTrigger as Oo,SpatialTriggerReceiver as xo,SpectatorCamera as ko,SphereCollider as Lo,SphereIntersection as Bo,SplineContainer as Fo,SplineData as No,SplineUtils as wo,SplineWalker as Uo,Sprite as Wo,SpriteData as Go,SpriteRenderer as Ho,SpriteSheet as Xo,StateMachineBehaviour as zo,StreamEndedEvent as Vo,StreamReceivedEvent as _o,SubEmitterSystem as jo,SyncedCamera as Ko,SyncedRoom as Qo,SyncedTransform as Zo,TapGestureTrigger as Yo,TeleportTarget as Jo,TestRunner as $o,TestSceneUtils as qo,TestSimulateUserData as er,Text as ar,TextBuilder as sr,TextExtension as tr,TextureSheetAnimationModule as or,TiltShiftEffect as rr,Time as nr,ToneMappingEffect as ir,TrackHandler as lr,TrackType as dr,TrailModule as cr,TransformData as mr,TransformGizmo as pr,TriggerBuilder as gr,TriggerModel as ur,TypeStore as Sr,UIRaycastUtils as Cr,UIRootComponent as yr,USDDocument as Er,USDObject as Rr,USDWriter as hr,USDZExporter as vr,USDZText as fr,USDZUIExtension as Pr,UriSerializer as Ar,UsageMarker as Tr,UserJoinedOrLeftRoomModel as br,VariantAction as Mr,VelocityOverLifetimeModule as Ir,VerticalLayoutGroup as Dr,VideoPlayer as Or,ViewBox as xr,ViewDevice as kr,Vignette as Lr,VisibilityAction as Br,Voip as Fr,Volume as Nr,VolumeParameter as wr,VolumeProfile as Ur,WaitForFrames as Wr,WaitForPromise as Gr,WaitForSeconds as Hr,Watch as Xr,WebARCameraBackground as zr,WebARSessionRoot as Vr,WebXR as _r,WebXRButtonFactory as jr,WebXRImageTracking as Kr,WebXRImageTrackingModel as Qr,WebXRPlaneTracking as Zr,WebXRTrackedImage as Yr,XRControllerFollow as Jr,XRControllerModel as $r,XRControllerMovement as qr,XRFlag as en,XRRig as an,XRState as sn,XRStateFlag as tn,__Ignore as on,__internalNotifyObjectDestroyed as rn,activeInHierarchyFieldName as nn,addAttributeChangeCallback as ln,addComponent as dn,addCustomExtensionPlugin as cn,addNewComponent as mn,addPatch as pn,apply as gn,applyHMRChanges as un,applyPrototypeExtensions as Sn,beginListenDestroy as Cn,beginListenInstantiate as yn,binaryIdentifierCasts as En,build_scene_functions as Rn,builtinComponentKeyName as hn,calculateProgress01 as vn,clearMessages as fn,clearMessages as Pn,colorSerializer as An,compareAssociation as Tn,componentSerializer as bn,copyTexture as Mn,createMotion as In,debugNet as Dn,debugOwner as On,decompressGpuTexture as xn,deepClone as kn,delay as Ln,delayForFrames as Bn,deserializeObject as Fn,destroy as Nn,destroyComponentInstance as wn,determineMimeTypeFromExtension as Un,disposeObjectResources as Wn,disposeStream as Gn,editorGuidKeyName as Hn,enableSpatialConsole as Xn,euler as zn,eventListSerializer as Vn,exportAsGLTF as _n,findByGuid as jn,findObjectOfType as Kn,findObjectsOfType as Qn,findResourceUsers as Zn,fitCamera as Yn,fitObjectIntoVolume as Jn,foreachComponent as $n,foreachComponentEnumerator as qn,forward as ei,generateQRCode as ai,generateSeed as si,getBoundingBox as ti,getCameraController as oi,getComponent as ri,getComponentInChildren as ni,getComponentInParent as ii,getComponents as li,getComponentsInChildren as di,getComponentsInParent as ci,getFormattedDate as mi,getIconElement as pi,getIconTexture as gi,getLoader as ui,getOrAddComponent as Si,getParam as Ci,getParentHierarchyPath as yi,getPath as Ei,getPeerOptions as Ri,getPeerjsInstance as hi,getResourceUserCount as vi,getTempColor as fi,getTempQuaternion as Pi,getTempVector as Ai,getUrlParams as Ti,getVisibleInCustomShadowRendering as bi,getWorldDirection as Mi,getWorldEuler as Ii,getWorldPosition as Di,getWorldQuaternion as Oi,getWorldRotation as xi,getWorldScale as ki,hasCommercialLicense as Li,hasIndieLicense as Bi,hasPointerEventComponent as Fi,hasProLicense as Ni,hideDebugConsole as wi,imageToCanvas as Ui,instantiate as Wi,invokeLoadedImportPluginHooks as Gi,invokeXRSessionEnd as Hi,invokeXRSessionStart as Xi,isActiveInHierarchy as zi,isActiveSelf as Vi,isAndroidDevice as _i,isAnimationAction as ji,isComponent as Ki,isDebugMode as Qi,isDesktop as Zi,isDestroyed as Yi,isDevEnvironment as Ji,isDisposed as $i,isExporting as qi,isGLTFModel as el,isHostedOnGlitch as al,isHotReloadEnabled as sl,isHotReloading as tl,isIPad as ol,isIconElement as rl,isLocalNetwork as nl,isMacOS as il,isMobileDevice as ll,isMozillaXR as dl,isQuest as cl,isResourceTrackingEnabled as ml,isSafari as pl,isUsingInstancing as gl,isiOS as ul,isiPad as Sl,loadPMREM as Cl,loadSync as yl,logHierarchy as El,lookAtInverse as Rl,lookAtObject as hl,lookAtScreenPoint as vl,makeId as fl,makeIdFromRandomWords as Pl,makeNameSafe as Al,markAsInstancedRendered as Tl,microphonePermissionsGranted as bl,nameof as Ml,nameofFactory as Il,objectSerializer as Dl,offXRSessionEnd as Ol,offXRSessionStart as xl,onXRSessionEnd as kl,onXRSessionStart as Ll,parseSync as Bl,placeOnSurface as Fl,postprocessFBXMaterials as Nl,prefix as wl,pushState as Ul,randomNumber as Wl,registerBinaryType as Gl,registerComponent as Hl,registerComponentExtension as Xl,registerCustomEffectType as zl,registerExportExtensions as Vl,registerExtensions as _l,registerHotReloadType as jl,registerLoader as Kl,registerPrefabProvider as Ql,registerPrototypeExtensions as Zl,registerType as Yl,relativePathPrefix as Jl,removeAttributeChangeCallback as $l,removeComponent as ql,removeCustomImportExtensionType as ed,removePatch as ad,resolveUrl as sd,sanitizeString as td,saveImage as od,screenshot as rd,screenshot2 as nd,sendDestroyed as id,serializable as ld,serializeObject as dd,serializeable as cd,setActive as md,setAllowBalloonMessages as pd,setAllowOverlayMessages as gd,setAutoFitEnabled as ud,setCameraController as Sd,setDestroyed as Cd,setDevEnvironment as yd,setDisposable as Ed,setDontDestroy as Rd,setOrAddParamsToUrl as hd,setParam as vd,setParamWithoutReload as fd,setPeerOptions as Pd,setResourceTrackingEnabled as Ad,setState as Td,setVisibleInCustomShadowRendering as bd,setWorldEuler as Md,setWorldPosition as Id,setWorldPositionXYZ as Dd,setWorldQuaternion as Od,setWorldQuaternionXYZW as xd,setWorldRotation as kd,setWorldRotationXYZ as Ld,setWorldScale as Bd,showBalloonError as Fd,showBalloonMessage as Nd,showBalloonWarning as wd,showDebugConsole as Ud,slerp as Wd,syncDestroy as Gd,syncField as Hd,syncInstantiate as Xd,textureToCanvas as zd,toSourceId as Vd,tryCastBinary as _d,tryDetermineMimetypeFromBinary as jd,tryDetermineMimetypeFromURL as Kd,tryFindObject as Qd,tryGetGuid as Zd,unregisterHotReloadType as Yd,unwatchWrite as Jd,useForAutoFit as $d,validate as qd,watchWrite as ec}from"./needle-engine.bundle-DYdft7n9.min.js";import{NEEDLE_progressive as ac}from"./gltf-progressive-CftVUJy3.min.js";import{THREE as sc}from"./three-BDW9I486.min.js";const a={VERSION:u,Context:g,NeedleXRSession:p,assets:{loadFromURL: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 S(e){for(const t in e)a[t]=e[t]}S(C),S(y);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=sc;export{E as $physicsKey,R as ActionBuilder,h as ActionCollection,v as ActionModel,f as Addressables,P as AlignmentConstraint,A as AmbientMode,T as Animation,b as AnimationCurve,M as AnimationExtension,I as AnimationTrackHandler,D as AnimationUtils,O as Animator,x as AnimatorConditionMode,k as AnimatorController,L as AnimatorControllerParameterType,B as AnimatorStateInfo,F as Antialiasing,N as Application,w as AssetDatabase,U as AssetReference,W as Attractor,G as AudioExtension,H as AudioListener,X as AudioSource,z as AudioTrackHandler,V as Avatar,_ as AvatarBlink_Simple,j as AvatarEyeLook_Rotation,K as AvatarLoader,Q as AvatarMarker,Z as AvatarModel,Y as Avatar_Brain_LookAt,J as Avatar_MouthShapes,$ as Avatar_MustacheShake,q as Avatar_POI,ee as Axes,ae as AxesHelper,se as BUILD_TIME,te as BaseUIComponent,oe as BasicIKConstraint,re as BehaviorExtension,ne as BehaviorModel,ie as Behaviour,le as BlobStorage,de as BloomEffect,ce as BoxCollider,me as BoxGizmo,pe as BoxHelperComponent,ge as Button,ue as ButtonsFactory,Se as CallDirection,Ce as CallInfo,ye as Camera,Ee as CameraTargetReachedEvent,Re as Canvas,he as CanvasGroup,ve as CapsuleCollider,fe as ChangeMaterialOnClick,Pe as ChangeTransformOnClick,Ae as CharacterController,Te as CharacterControllerInput,be as ChromaticAberration,Me as CircularBuffer,Ie as ClearFlags,De as ClickThrough,Oe as ClipExtrapolation,xe as Collider,ke as Collision,Le as CollisionDetectionMode,Be as ColorAdjustments,Fe as ColorBySpeedModule,Ne as ColorOverLifetimeModule,we as Component,Ue as ComponentLifecycleEvents,We as ConnectionEvents,Ge as ContactPoint,He as ContactShadows,g as Context,Xe as ContextArgs,ze as ContextEvent,Ve as ContextRegistry,_e as ControlTrackHandler,je as CursorFollow,Ke as CustomBranding,Qe as CustomShader,Ze as DefaultReflectionMode,Ye as Deletable,Je as DeleteBox,$e as DepthOfField,qe as DeviceFlag,ea as DeviceUtilities,aa as DocumentExtension,sa as DragControls,ta as DragMode,oa as DropListener,ra as Duplicatable,na as EffectWrapper,ia as EmissionModule,la as EmphasizeOnClick,da as EngineLoadingView,ca as EnvironmentScene,ma as EventList,pa as EventListEvent,ga as EventSystem,ua as EventTrigger,Sa as FieldWithDefault,Ca as FileReference,ya as FileReferenceSerializer,Ea as FileSpawnModel,Ra as File_Event,ha as FixedJoint,va as Fog,fa as FrameEvent,Pa as GENERATOR,s as GameObject,Aa as Gizmos,Ta as GltfExport,ba as GltfExportBox,Ma as Gradient,Ia as Graphic,Da as GraphicRaycaster,Oa as Graphics,xa as GridHelper,ka as GridLayoutGroup,La as GroundProjectedEnv,Ba as GroupActionModel,Fa as HideFlags,Na as HideOnStart,wa as HingeJoint,Ua as HorizontalLayoutGroup,Wa as HostData,Ga as HoverAnimation,Ha as Image,Xa as ImageReference,za as ImageReferenceSerializer,Va as InheritVelocityModule,_a as Input,ja as InputEventQueue,Ka as InputEvents,Qa as InputField,Za as InstanceHandle,Ya as InstancingHandler,Ja as InstancingUtil,$a as InstantiateEvent,qa as InstantiateIdProvider,es as InstantiateOptions,as as Interactable,ss as InternalScreenshotUtils,ts as JoinedRoomResponse,os as KeyEventArgs,rs as Keyframe,ns as LODGroup,is as LODModel,ls as LeftRoomResponse,ds as Light,cs as LightData,ms as LimitVelocityOverLifetimeModule,ps as LoadingElementOptions,gs as LogStats,us as LogType,Ss as LookAt,Cs as LookAtConstraint,ys as MainModule,Es as MarkerTrackHandler,Rs as MarkerType,hs as MaskableGraphic,vs as Mathf,fs as MeshCollider,Ps as MeshRenderer,As as MinMaxCurve,Ts as MinMaxGradient,bs as NEEDLE_ENGINE_FEATURE_FLAGS,Ms as NEEDLE_ENGINE_MODULES,ac as NEEDLE_progressive,Is as NEKeyboardEvent,Ds as NEPointerEvent,Os as NeedleButtonElement,xs as NeedleEngine,ks as NeedleEngineModelLoader,Ls as NeedleEngineWebComponent,Bs as NeedleMenu,Fs as NeedlePatchesKey,Ns as NeedleUSDZExporter,ws as NeedleXRController,p as NeedleXRSession,Us as NeedleXRSync,Ws as NeedleXRUtils,Gs as NestedGltf,Hs as NetworkConnection,Xs as NetworkedStreamEvents,zs as NetworkedStreams,Vs as Networking,_s as NewInstanceModel,js as NoiseModule,Ks as ObjectRaycaster,Qs as ObjectUtils,Zs as OffsetConstraint,Ys as OneEuroFilter,Js as OneEuroFilterXYZ,$s as OpenURL,qs as OrbitControls,et as Outline,at as OwnershipEvent,st as OwnershipModel,tt as PUBLIC_KEY,ot as Padding,rt as ParticleBurst,nt as ParticleSubEmitter,it as ParticleSystem,lt as ParticleSystemBaseBehaviour,dt as ParticleSystemRenderer,ct as ParticleSystemShapeType,mt as PeerHandle,pt as PeerNetworking,gt as Physics,ut as PhysicsExtension,St as PhysicsMaterialCombine,Ct as PixelationEffect,yt as PlayAnimationOnClick,Et as PlayAudioOnClick,Rt as PlayableDirector,ht as PlayerColor,vt as PlayerState,ft as PlayerStateEvent,Pt as PlayerSync,At as PlayerView,Tt as PlayerViewManager,bt as PointerEventData,Mt as PointerType,It as PostProcessingEffect,Dt as PostProcessingEffectOrder,Ot as PostProcessingHandler,xt as PostProcessingManager,kt as PreliminaryAction,Lt as PreliminaryTrigger,Bt as PreviewHelper,Ft as PrimitiveType,Nt as Progress,wt as PromiseAllWithErrors,Ut as PromiseErrorResult,Wt as RGBAColor,Gt as RapierPhysics,Ht as RawImage,Xt as RaycastOptions,zt as Rect,Vt as RectTransform,_t as ReflectionProbe,jt as RegisteredAnimationInfo,Kt as RemoteSkybox,Qt as RenderTexture,Zt as RenderTextureSerializer,Yt as Renderer,Jt as RendererData,$t as RendererLightmap,qt as Rigidbody,eo as RigidbodyConstraints,ao as RoomEvents,so as RotationBySpeedModule,to as RotationOverLifetimeModule,oo as SceneLightSettings,ro as SceneSwitcher,no as ScreenCapture,io as ScreenSpaceAmbientOcclusion,lo as ScreenSpaceAmbientOcclusionN8,co as ScrollFollow,mo as SeeThrough,po as SendQueue,go as SerializationContext,uo as SetActiveOnClick,So as ShadowCatcher,Co as ShapeModule,yo as ShapeOverlapResult,Eo as SharpeningEffect,Ro as SignalAsset,ho as SignalReceiver,vo as SignalReceiverEvent,fo as SignalTrackHandler,Po as Size,Ao as SizeBySpeedModule,To as SizeOverLifetimeModule,bo as SkinnedMeshRenderer,Mo as SmoothFollow,Io as SpatialGrabRaycaster,Do as SpatialHtml,Oo as SpatialTrigger,xo as SpatialTriggerReceiver,ko as SpectatorCamera,Lo as SphereCollider,Bo as SphereIntersection,Fo as SplineContainer,No as SplineData,wo as SplineUtils,Uo as SplineWalker,Wo as Sprite,Go as SpriteData,Ho as SpriteRenderer,Xo as SpriteSheet,zo as StateMachineBehaviour,Vo as StreamEndedEvent,_o as StreamReceivedEvent,jo as SubEmitterSystem,Ko as SyncedCamera,Qo as SyncedRoom,Zo as SyncedTransform,Yo as TapGestureTrigger,Jo as TeleportTarget,$o as TestRunner,qo as TestSceneUtils,er as TestSimulateUserData,ar as Text,sr as TextBuilder,tr as TextExtension,or as TextureSheetAnimationModule,rr as TiltShiftEffect,nr as Time,ir as ToneMappingEffect,lr as TrackHandler,dr as TrackType,cr as TrailModule,mr as TransformData,pr as TransformGizmo,gr as TriggerBuilder,ur as TriggerModel,Sr as TypeStore,Cr as UIRaycastUtils,yr as UIRootComponent,Er as USDDocument,Rr as USDObject,hr as USDWriter,vr as USDZExporter,fr as USDZText,Pr as USDZUIExtension,Ar as UriSerializer,Tr as UsageMarker,br as UserJoinedOrLeftRoomModel,u as VERSION,Mr as VariantAction,Ir as VelocityOverLifetimeModule,Dr as VerticalLayoutGroup,Or as VideoPlayer,xr as ViewBox,kr as ViewDevice,Lr as Vignette,Br as VisibilityAction,Fr as Voip,Nr as Volume,wr as VolumeParameter,Ur as VolumeProfile,Wr as WaitForFrames,Gr as WaitForPromise,Hr as WaitForSeconds,Xr as Watch,zr as WebARCameraBackground,Vr as WebARSessionRoot,_r as WebXR,jr as WebXRButtonFactory,Kr as WebXRImageTracking,Qr as WebXRImageTrackingModel,Zr as WebXRPlaneTracking,Yr as WebXRTrackedImage,Jr as XRControllerFollow,$r as XRControllerModel,qr as XRControllerMovement,en as XRFlag,an as XRRig,sn as XRState,tn as XRStateFlag,on as __Ignore,rn as __internalNotifyObjectDestroyed,nn as activeInHierarchyFieldName,ln as addAttributeChangeCallback,dn as addComponent,cn as addCustomExtensionPlugin,mn as addNewComponent,pn as addPatch,gn as apply,un as applyHMRChanges,Sn as applyPrototypeExtensions,Cn as beginListenDestroy,yn as beginListenInstantiate,En as binaryIdentifierCasts,Rn as build_scene_functions,hn as builtinComponentKeyName,vn as calculateProgress01,fn as clearBalloonMessages,Pn as clearOverlayMessages,An as colorSerializer,Tn as compareAssociation,bn as componentSerializer,Mn as copyTexture,In as createMotion,Dn as debugNet,On as debugOwner,xn as decompressGpuTexture,kn as deepClone,Ln as delay,Bn as delayForFrames,Fn as deserializeObject,Nn as destroy,wn as destroyComponentInstance,Un as determineMimeTypeFromExtension,Wn as disposeObjectResources,Gn as disposeStream,Hn as editorGuidKeyName,Xn as enableSpatialConsole,zn as euler,Vn as eventListSerializer,_n as exportAsGLTF,jn as findByGuid,Kn as findObjectOfType,Qn as findObjectsOfType,Zn as findResourceUsers,Yn as fitCamera,Jn as fitObjectIntoVolume,$n as foreachComponent,qn as foreachComponentEnumerator,ei as forward,ai as generateQRCode,si as generateSeed,ti as getBoundingBox,oi as getCameraController,ri as getComponent,ni as getComponentInChildren,ii as getComponentInParent,li as getComponents,di as getComponentsInChildren,ci as getComponentsInParent,mi as getFormattedDate,pi as getIconElement,gi as getIconTexture,ui as getLoader,Si as getOrAddComponent,Ci as getParam,yi as getParentHierarchyPath,Ei as getPath,Ri as getPeerOptions,hi as getPeerjsInstance,vi as getResourceUserCount,fi as getTempColor,Pi as getTempQuaternion,Ai as getTempVector,Ti as getUrlParams,bi as getVisibleInCustomShadowRendering,Mi as getWorldDirection,Ii as getWorldEuler,Di as getWorldPosition,Oi as getWorldQuaternion,xi as getWorldRotation,ki as getWorldScale,Li as hasCommercialLicense,Bi as hasIndieLicense,Fi as hasPointerEventComponent,Ni as hasProLicense,wi as hideDebugConsole,Ui as imageToCanvas,Wi as instantiate,Gi as invokeLoadedImportPluginHooks,Hi as invokeXRSessionEnd,Xi as invokeXRSessionStart,zi as isActiveInHierarchy,Vi as isActiveSelf,_i as isAndroidDevice,ji as isAnimationAction,Ki as isComponent,Qi as isDebugMode,Zi as isDesktop,Yi as isDestroyed,Ji as isDevEnvironment,$i as isDisposed,qi as isExporting,el as isGLTFModel,al as isHostedOnGlitch,sl as isHotReloadEnabled,tl as isHotReloading,ol as isIPad,rl as isIconElement,nl as isLocalNetwork,il as isMacOS,ll as isMobileDevice,dl as isMozillaXR,cl as isQuest,ml as isResourceTrackingEnabled,pl as isSafari,gl as isUsingInstancing,ul as isiOS,Sl as isiPad,m as loadAsset,Cl as loadPMREM,yl as loadSync,El as logHierarchy,Rl as lookAtInverse,hl as lookAtObject,vl as lookAtScreenPoint,fl as makeId,Pl as makeIdFromRandomWords,Al as makeNameSafeForUSD,Tl as markAsInstancedRendered,bl as microphonePermissionsGranted,Ml as nameof,Il as nameofFactory,Dl as objectSerializer,Ol as offXRSessionEnd,xl as offXRSessionStart,i as onAfterRender,l as onBeforeRender,o as onClear,r as onDestroy,n as onInitialized,c as onStart,d as onUpdate,kl as onXRSessionEnd,Ll as onXRSessionStart,Bl as parseSync,Fl as placeOnSurface,Nl as postprocessFBXMaterials,wl as prefix,Ul as pushState,Wl as randomNumber,Gl as registerBinaryType,Hl as registerComponent,Xl as registerComponentExtension,zl as registerCustomEffectType,Vl as registerExportExtensions,_l as registerExtensions,jl as registerHotReloadType,Kl as registerLoader,Ql as registerPrefabProvider,Zl as registerPrototypeExtensions,Yl as registerType,Jl as relativePathPrefix,$l as removeAttributeChangeCallback,ql as removeComponent,ed as removeCustomImportExtensionType,ad as removePatch,sd as resolveUrl,td as sanitizeString,od as saveImage,rd as screenshot,nd as screenshot2,id as sendDestroyed,ld as serializable,dd as serializeObject,cd as serializeable,md as setActive,pd as setAllowBalloonMessages,gd as setAllowOverlayMessages,ud as setAutoFitEnabled,Sd as setCameraController,Cd as setDestroyed,yd as setDevEnvironment,Ed as setDisposable,Rd as setDontDestroy,hd as setOrAddParamsToUrl,vd as setParam,fd as setParamWithoutReload,Pd as setPeerOptions,Ad as setResourceTrackingEnabled,Td as setState,bd as setVisibleInCustomShadowRendering,Md as setWorldEuler,Id as setWorldPosition,Dd as setWorldPositionXYZ,Od as setWorldQuaternion,xd as setWorldQuaternionXYZW,kd as setWorldRotation,Ld as setWorldRotationXYZ,Bd as setWorldScale,Fd as showBalloonError,Nd as showBalloonMessage,wd as showBalloonWarning,Ud as showDebugConsole,Wd as slerp,Gd as syncDestroy,Hd as syncField,Xd as syncInstantiate,zd as textureToCanvas,Vd as toSourceId,_d as tryCastBinary,jd as tryDetermineMimetypeFromBinary,Kd as tryDetermineMimetypeFromURL,Qd as tryFindObject,Zd as tryGetGuid,Yd as unregisterHotReloadType,Jd as unwatchWrite,$d as useForAutoFit,qd as validate,ec as watchWrite};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./needle-engine.bundle-DG38kMjs.umd.cjs"),i=require("./gltf-progressive-GwdQV1Qx.umd.cjs"),a=require("./three-iFaDq9U3.umd.cjs"),o={VERSION:e.VERSION,Context:e.Context,NeedleXRSession:e.NeedleXRSession,assets:{loadFromURL:e.loadAsset},onStart:e.onStart,onUpdate:e.onUpdate,onBeforeRender:e.onBeforeRender,onAfterRender:e.onAfterRender,onInitializedContext:e.onInitialized,onDestroyContext:e.onDestroy,onClearContext:e.onClear};globalThis.Needle?.VERSION!==void 0&&console.warn(`Needle Engine is already imported: ${globalThis.Needle.VERSION}`);function n(t){for(const r in t)o[r]=t[r]}n(e.Component);n(e.Components);for(const t of Object.getOwnPropertyNames(e.GameObject))switch(t){case"prototype":case"constructor":case"length":case"name":continue;default:o[t]=e.GameObject[t];break}if(!globalThis.Needle)globalThis.Needle=o;else for(const t in o)globalThis.Needle[t]=o[t];globalThis.THREE?console.warn("Three.js is already imported"):globalThis.THREE=a.THREE;exports.$physicsKey=e.$physicsKey;exports.ActionBuilder=e.ActionBuilder;exports.ActionCollection=e.ActionCollection;exports.ActionModel=e.ActionModel;exports.Addressables=e.Addressables;exports.AlignmentConstraint=e.AlignmentConstraint;exports.AmbientMode=e.AmbientMode;exports.Animation=e.Animation;exports.AnimationCurve=e.AnimationCurve;exports.AnimationExtension=e.AnimationExtension;exports.AnimationTrackHandler=e.AnimationTrackHandler;exports.AnimationUtils=e.AnimationUtils;exports.Animator=e.Animator;exports.AnimatorConditionMode=e.AnimatorConditionMode;exports.AnimatorController=e.AnimatorController;exports.AnimatorControllerParameterType=e.AnimatorControllerParameterType;exports.AnimatorStateInfo=e.AnimatorStateInfo;exports.Antialiasing=e.Antialiasing;exports.Application=e.Application;exports.AssetDatabase=e.AssetDatabase;exports.AssetReference=e.AssetReference;exports.Attractor=e.Attractor;exports.AudioExtension=e.AudioExtension;exports.AudioListener=e.AudioListener;exports.AudioSource=e.AudioSource;exports.AudioTrackHandler=e.AudioTrackHandler;exports.Avatar=e.Avatar;exports.AvatarBlink_Simple=e.AvatarBlink_Simple;exports.AvatarEyeLook_Rotation=e.AvatarEyeLook_Rotation;exports.AvatarLoader=e.AvatarLoader;exports.AvatarMarker=e.AvatarMarker;exports.AvatarModel=e.AvatarModel;exports.Avatar_Brain_LookAt=e.Avatar_Brain_LookAt;exports.Avatar_MouthShapes=e.Avatar_MouthShapes;exports.Avatar_MustacheShake=e.Avatar_MustacheShake;exports.Avatar_POI=e.Avatar_POI;exports.Axes=e.Axes;exports.AxesHelper=e.AxesHelper;exports.BUILD_TIME=e.BUILD_TIME;exports.BaseUIComponent=e.BaseUIComponent;exports.BasicIKConstraint=e.BasicIKConstraint;exports.BehaviorExtension=e.BehaviorExtension;exports.BehaviorModel=e.BehaviorModel;exports.Behaviour=e.Component$1;Object.defineProperty(exports,"BlobStorage",{enumerable:!0,get:()=>e.BlobStorage});exports.BloomEffect=e.BloomEffect;exports.BoxCollider=e.BoxCollider;exports.BoxGizmo=e.BoxGizmo;exports.BoxHelperComponent=e.BoxHelperComponent;exports.Button=e.Button;exports.ButtonsFactory=e.ButtonsFactory;exports.CallDirection=e.CallDirection;exports.CallInfo=e.CallInfo;exports.Camera=e.Camera;exports.CameraTargetReachedEvent=e.CameraTargetReachedEvent;exports.Canvas=e.Canvas;exports.CanvasGroup=e.CanvasGroup;exports.CapsuleCollider=e.CapsuleCollider;exports.ChangeMaterialOnClick=e.ChangeMaterialOnClick;exports.ChangeTransformOnClick=e.ChangeTransformOnClick;exports.CharacterController=e.CharacterController;exports.CharacterControllerInput=e.CharacterControllerInput;exports.ChromaticAberration=e.ChromaticAberration;exports.CircularBuffer=e.CircularBuffer;exports.ClearFlags=e.ClearFlags;exports.ClickThrough=e.ClickThrough;exports.ClipExtrapolation=e.ClipExtrapolation;exports.Collider=e.Collider;exports.Collision=e.Collision;exports.CollisionDetectionMode=e.CollisionDetectionMode;exports.ColorAdjustments=e.ColorAdjustments;exports.ColorBySpeedModule=e.ColorBySpeedModule;exports.ColorOverLifetimeModule=e.ColorOverLifetimeModule;exports.Component=e.Component$1;exports.ComponentLifecycleEvents=e.ComponentLifecycleEvents;exports.ConnectionEvents=e.ConnectionEvents;exports.ContactPoint=e.ContactPoint;exports.ContactShadows=e.ContactShadows;exports.Context=e.Context;exports.ContextArgs=e.ContextArgs;exports.ContextEvent=e.ContextEvent;exports.ContextRegistry=e.ContextRegistry;exports.ControlTrackHandler=e.ControlTrackHandler;exports.CursorFollow=e.CursorFollow;exports.CustomBranding=e.CustomBranding;exports.CustomShader=e.CustomShader;exports.DefaultReflectionMode=e.DefaultReflectionMode;exports.Deletable=e.Deletable;exports.DeleteBox=e.DeleteBox;exports.DepthOfField=e.DepthOfField;exports.DeviceFlag=e.DeviceFlag;Object.defineProperty(exports,"DeviceUtilities",{enumerable:!0,get:()=>e.DeviceUtilities});exports.DocumentExtension=e.DocumentExtension;exports.DragControls=e.DragControls;exports.DragMode=e.DragMode;exports.DropListener=e.DropListener;exports.Duplicatable=e.Duplicatable;exports.EffectWrapper=e.EffectWrapper;exports.EmissionModule=e.EmissionModule;exports.EmphasizeOnClick=e.EmphasizeOnClick;exports.EngineLoadingView=e.EngineLoadingView;exports.EnvironmentScene=e.EnvironmentScene;exports.EventList=e.EventList;exports.EventListEvent=e.EventListEvent;exports.EventSystem=e.EventSystem;exports.EventTrigger=e.EventTrigger;exports.FieldWithDefault=e.FieldWithDefault;exports.FileReference=e.FileReference;exports.FileReferenceSerializer=e.FileReferenceSerializer;exports.FileSpawnModel=e.FileSpawnModel;exports.File_Event=e.File_Event;exports.FixedJoint=e.FixedJoint;exports.Fog=e.Fog;exports.FrameEvent=e.FrameEvent;exports.GENERATOR=e.GENERATOR;exports.GameObject=e.GameObject;exports.Gizmos=e.Gizmos;exports.GltfExport=e.GltfExport;exports.GltfExportBox=e.GltfExportBox;exports.Gradient=e.Gradient;exports.Graphic=e.Graphic;exports.GraphicRaycaster=e.GraphicRaycaster;exports.Graphics=e.Graphics;exports.GridHelper=e.GridHelper;exports.GridLayoutGroup=e.GridLayoutGroup;exports.GroundProjectedEnv=e.GroundProjectedEnv;exports.GroupActionModel=e.GroupActionModel;exports.HideFlags=e.HideFlags;exports.HideOnStart=e.HideOnStart;exports.HingeJoint=e.HingeJoint;exports.HorizontalLayoutGroup=e.HorizontalLayoutGroup;exports.HostData=e.HostData;Object.defineProperty(exports,"HoverAnimation",{enumerable:!0,get:()=>e.HoverAnimation});exports.Image=e.Image;exports.ImageReference=e.ImageReference;exports.ImageReferenceSerializer=e.ImageReferenceSerializer;exports.InheritVelocityModule=e.InheritVelocityModule;exports.Input=e.Input;exports.InputEventQueue=e.InputEventQueue;exports.InputEvents=e.InputEvents;exports.InputField=e.InputField;exports.InstanceHandle=e.InstanceHandle;exports.InstancingHandler=e.InstancingHandler;exports.InstancingUtil=e.InstancingUtil;exports.InstantiateEvent=e.InstantiateEvent;exports.InstantiateIdProvider=e.InstantiateIdProvider;exports.InstantiateOptions=e.InstantiateOptions;exports.Interactable=e.Interactable;Object.defineProperty(exports,"InternalScreenshotUtils",{enumerable:!0,get:()=>e.InternalScreenshotUtils});exports.JoinedRoomResponse=e.JoinedRoomResponse;exports.KeyEventArgs=e.KeyEventArgs;exports.Keyframe=e.Keyframe;exports.LODGroup=e.LODGroup;exports.LODModel=e.LODModel;exports.LeftRoomResponse=e.LeftRoomResponse;exports.Light=e.Light;exports.LightData=e.LightData;exports.LimitVelocityOverLifetimeModule=e.LimitVelocityOverLifetimeModule;exports.LoadingElementOptions=e.LoadingElementOptions;exports.LogStats=e.LogStats;exports.LogType=e.LogType;exports.LookAt=e.LookAt;exports.LookAtConstraint=e.LookAtConstraint;exports.MainModule=e.MainModule;exports.MarkerTrackHandler=e.MarkerTrackHandler;exports.MarkerType=e.MarkerType;exports.MaskableGraphic=e.MaskableGraphic;exports.Mathf=e.Mathf;exports.MeshCollider=e.MeshCollider;exports.MeshRenderer=e.MeshRenderer;exports.MinMaxCurve=e.MinMaxCurve;exports.MinMaxGradient=e.MinMaxGradient;Object.defineProperty(exports,"NEEDLE_ENGINE_FEATURE_FLAGS",{enumerable:!0,get:()=>e.NEEDLE_ENGINE_FEATURE_FLAGS});Object.defineProperty(exports,"NEEDLE_ENGINE_MODULES",{enumerable:!0,get:()=>e.MODULES});exports.NEKeyboardEvent=e.NEKeyboardEvent;exports.NEPointerEvent=e.NEPointerEvent;exports.NeedleButtonElement=e.NeedleButtonElement;exports.NeedleEngine=e.ContextRegistry;Object.defineProperty(exports,"NeedleEngineModelLoader",{enumerable:!0,get:()=>e.NeedleEngineModelLoader});exports.NeedleEngineWebComponent=e.NeedleEngineWebComponent;exports.NeedleMenu=e.NeedleMenu;exports.NeedlePatchesKey=e.NeedlePatchesKey;exports.NeedleUSDZExporter=e.USDZExporter$1;exports.NeedleXRController=e.NeedleXRController;exports.NeedleXRSession=e.NeedleXRSession;exports.NeedleXRSync=e.NeedleXRSync;exports.NeedleXRUtils=e.NeedleXRUtils;exports.NestedGltf=e.NestedGltf;exports.NetworkConnection=e.NetworkConnection;exports.NetworkedStreamEvents=e.NetworkedStreamEvents;exports.NetworkedStreams=e.NetworkedStreams;exports.Networking=e.Networking;exports.NewInstanceModel=e.NewInstanceModel;exports.NoiseModule=e.NoiseModule;exports.ObjectRaycaster=e.ObjectRaycaster;exports.ObjectUtils=e.ObjectUtils;exports.OffsetConstraint=e.OffsetConstraint;exports.OneEuroFilter=e.OneEuroFilter;exports.OneEuroFilterXYZ=e.OneEuroFilterXYZ;exports.OpenURL=e.OpenURL;exports.OrbitControls=e.OrbitControls;exports.Outline=e.Outline;exports.OwnershipEvent=e.OwnershipEvent;exports.OwnershipModel=e.OwnershipModel;exports.PUBLIC_KEY=e.PUBLIC_KEY;exports.Padding=e.Padding;exports.ParticleBurst=e.ParticleBurst;exports.ParticleSubEmitter=e.ParticleSubEmitter;exports.ParticleSystem=e.ParticleSystem;exports.ParticleSystemBaseBehaviour=e.ParticleSystemBaseBehaviour;exports.ParticleSystemRenderer=e.ParticleSystemRenderer;exports.ParticleSystemShapeType=e.ParticleSystemShapeType;exports.PeerHandle=e.PeerHandle;exports.PeerNetworking=e.PeerNetworking;exports.Physics=e.Physics;exports.PhysicsExtension=e.PhysicsExtension;exports.PhysicsMaterialCombine=e.PhysicsMaterialCombine;exports.PixelationEffect=e.PixelationEffect;exports.PlayAnimationOnClick=e.PlayAnimationOnClick;exports.PlayAudioOnClick=e.PlayAudioOnClick;exports.PlayableDirector=e.PlayableDirector;exports.PlayerColor=e.PlayerColor;exports.PlayerState=e.PlayerState;exports.PlayerStateEvent=e.PlayerStateEvent;exports.PlayerSync=e.PlayerSync;exports.PlayerView=e.PlayerView;exports.PlayerViewManager=e.PlayerViewManager;exports.PointerEventData=e.PointerEventData;exports.PointerType=e.PointerType;exports.PostProcessingEffect=e.PostProcessingEffect;exports.PostProcessingEffectOrder=e.PostProcessingEffectOrder;exports.PostProcessingHandler=e.PostProcessingHandler;exports.PostProcessingManager=e.Volume;exports.PreliminaryAction=e.PreliminaryAction;exports.PreliminaryTrigger=e.PreliminaryTrigger;Object.defineProperty(exports,"PreviewHelper",{enumerable:!0,get:()=>e.PreviewHelper});exports.PrimitiveType=e.PrimitiveType;exports.Progress=e.Progress;exports.PromiseAllWithErrors=e.PromiseAllWithErrors;exports.PromiseErrorResult=e.PromiseErrorResult;exports.RGBAColor=e.RGBAColor;exports.RapierPhysics=e.RapierPhysics;exports.RawImage=e.RawImage;exports.RaycastOptions=e.RaycastOptions;exports.Rect=e.Rect;exports.RectTransform=e.RectTransform;exports.ReflectionProbe=e.ReflectionProbe;exports.RegisteredAnimationInfo=e.RegisteredAnimationInfo;exports.RemoteSkybox=e.RemoteSkybox;exports.RenderTexture=e.RenderTexture;exports.RenderTextureSerializer=e.RenderTextureSerializer;exports.Renderer=e.Renderer;exports.RendererData=e.RendererData;exports.RendererLightmap=e.RendererLightmap;exports.Rigidbody=e.Rigidbody;exports.RigidbodyConstraints=e.RigidbodyConstraints;exports.RoomEvents=e.RoomEvents;exports.RotationBySpeedModule=e.RotationBySpeedModule;exports.RotationOverLifetimeModule=e.RotationOverLifetimeModule;exports.SceneLightSettings=e.SceneLightSettings;exports.SceneSwitcher=e.SceneSwitcher;exports.ScreenCapture=e.ScreenCapture;exports.ScreenSpaceAmbientOcclusion=e.ScreenSpaceAmbientOcclusion;exports.ScreenSpaceAmbientOcclusionN8=e.ScreenSpaceAmbientOcclusionN8;exports.ScrollFollow=e.ScrollFollow;exports.SeeThrough=e.SeeThrough;exports.SendQueue=e.SendQueue;exports.SerializationContext=e.SerializationContext;exports.SetActiveOnClick=e.SetActiveOnClick;exports.ShadowCatcher=e.ShadowCatcher;exports.ShapeModule=e.ShapeModule;exports.ShapeOverlapResult=e.ShapeOverlapResult;exports.SharpeningEffect=e.SharpeningEffect;exports.SignalAsset=e.SignalAsset;exports.SignalReceiver=e.SignalReceiver;exports.SignalReceiverEvent=e.SignalReceiverEvent;exports.SignalTrackHandler=e.SignalTrackHandler;exports.Size=e.Size;exports.SizeBySpeedModule=e.SizeBySpeedModule;exports.SizeOverLifetimeModule=e.SizeOverLifetimeModule;exports.SkinnedMeshRenderer=e.SkinnedMeshRenderer;exports.SmoothFollow=e.SmoothFollow;exports.SpatialGrabRaycaster=e.SpatialGrabRaycaster;exports.SpatialHtml=e.SpatialHtml;exports.SpatialTrigger=e.SpatialTrigger;exports.SpatialTriggerReceiver=e.SpatialTriggerReceiver;exports.SpectatorCamera=e.SpectatorCamera;exports.SphereCollider=e.SphereCollider;exports.SphereIntersection=e.SphereIntersection;exports.SplineContainer=e.SplineContainer;exports.SplineData=e.SplineData;Object.defineProperty(exports,"SplineUtils",{enumerable:!0,get:()=>e.SplineUtils});exports.SplineWalker=e.SplineWalker;exports.Sprite=e.Sprite;exports.SpriteData=e.SpriteData;exports.SpriteRenderer=e.SpriteRenderer;exports.SpriteSheet=e.SpriteSheet;exports.StateMachineBehaviour=e.StateMachineBehaviour;exports.StreamEndedEvent=e.StreamEndedEvent;exports.StreamReceivedEvent=e.StreamReceivedEvent;exports.SubEmitterSystem=e.SubEmitterSystem;exports.SyncedCamera=e.SyncedCamera;exports.SyncedRoom=e.SyncedRoom;exports.SyncedTransform=e.SyncedTransform;exports.TapGestureTrigger=e.TapGestureTrigger;exports.TeleportTarget=e.TeleportTarget;exports.TestRunner=e.TestRunner;exports.TestSceneUtils=e.TestSceneUtils;exports.TestSimulateUserData=e.TestSimulateUserData;exports.Text=e.Text;exports.TextBuilder=e.TextBuilder;exports.TextExtension=e.TextExtension;exports.TextureSheetAnimationModule=e.TextureSheetAnimationModule;exports.TiltShiftEffect=e.TiltShiftEffect;exports.Time=e.Time;exports.ToneMappingEffect=e.ToneMappingEffect;exports.TrackHandler=e.TrackHandler;exports.TrackType=e.TrackType;exports.TrailModule=e.TrailModule;exports.TransformData=e.TransformData;exports.TransformGizmo=e.TransformGizmo;exports.TriggerBuilder=e.TriggerBuilder;exports.TriggerModel=e.TriggerModel;exports.TypeStore=e.TypeStore;exports.UIRaycastUtils=e.UIRaycastUtils;exports.UIRootComponent=e.UIRootComponent;exports.USDDocument=e.USDDocument;exports.USDObject=e.USDObject;exports.USDWriter=e.USDWriter;exports.USDZExporter=e.USDZExporter;exports.USDZText=e.USDZText;exports.USDZUIExtension=e.USDZUIExtension;exports.UriSerializer=e.UriSerializer;exports.UsageMarker=e.UsageMarker;exports.UserJoinedOrLeftRoomModel=e.UserJoinedOrLeftRoomModel;exports.VERSION=e.VERSION;exports.VariantAction=e.VariantAction;exports.VelocityOverLifetimeModule=e.VelocityOverLifetimeModule;exports.VerticalLayoutGroup=e.VerticalLayoutGroup;exports.VideoPlayer=e.VideoPlayer;Object.defineProperty(exports,"ViewBox",{enumerable:!0,get:()=>e.ViewBox});exports.ViewDevice=e.ViewDevice;exports.Vignette=e.Vignette;exports.VisibilityAction=e.VisibilityAction;exports.Voip=e.Voip;exports.Volume=e.Volume;exports.VolumeParameter=e.VolumeParameter;exports.VolumeProfile=e.VolumeProfile;exports.WaitForFrames=e.WaitForFrames;exports.WaitForPromise=e.WaitForPromise;exports.WaitForSeconds=e.WaitForSeconds;exports.Watch=e.Watch;exports.WebARCameraBackground=e.WebARCameraBackground;exports.WebARSessionRoot=e.WebARSessionRoot;exports.WebXR=e.WebXR;exports.WebXRButtonFactory=e.WebXRButtonFactory;exports.WebXRImageTracking=e.WebXRImageTracking;exports.WebXRImageTrackingModel=e.WebXRImageTrackingModel;exports.WebXRPlaneTracking=e.WebXRPlaneTracking;exports.WebXRTrackedImage=e.WebXRTrackedImage;exports.XRControllerFollow=e.XRControllerFollow;exports.XRControllerModel=e.XRControllerModel;exports.XRControllerMovement=e.XRControllerMovement;exports.XRFlag=e.XRFlag;exports.XRRig=e.XRRig;exports.XRState=e.XRState;exports.XRStateFlag=e.XRStateFlag;exports.__Ignore=e.__Ignore;exports.__internalNotifyObjectDestroyed=e.__internalNotifyObjectDestroyed;exports.activeInHierarchyFieldName=e.activeInHierarchyFieldName;exports.addAttributeChangeCallback=e.addAttributeChangeCallback;exports.addComponent=e.addComponent;exports.addCustomExtensionPlugin=e.addCustomExtensionPlugin;exports.addNewComponent=e.addNewComponent;exports.addPatch=e.addPatch;exports.apply=e.apply;exports.applyHMRChanges=e.applyHMRChanges;exports.applyPrototypeExtensions=e.applyPrototypeExtensions;exports.beginListenDestroy=e.beginListenDestroy;exports.beginListenInstantiate=e.beginListenInstantiate;exports.binaryIdentifierCasts=e.binaryIdentifierCasts;exports.build_scene_functions=e.build_scene_functions;exports.builtinComponentKeyName=e.builtinComponentKeyName;exports.calculateProgress01=e.calculateProgress01;exports.clearBalloonMessages=e.clearMessages;exports.clearOverlayMessages=e.clearMessages;exports.colorSerializer=e.colorSerializer;exports.compareAssociation=e.compareAssociation;exports.componentSerializer=e.componentSerializer;exports.copyTexture=e.copyTexture;exports.createMotion=e.createMotion;exports.debugNet=e.debugNet;exports.debugOwner=e.debugOwner;exports.decompressGpuTexture=e.decompressGpuTexture;exports.deepClone=e.deepClone;exports.delay=e.delay;exports.delayForFrames=e.delayForFrames;exports.deserializeObject=e.deserializeObject;exports.destroy=e.destroy;exports.destroyComponentInstance=e.destroyComponentInstance;exports.determineMimeTypeFromExtension=e.determineMimeTypeFromExtension;exports.disposeObjectResources=e.disposeObjectResources;exports.disposeStream=e.disposeStream;exports.editorGuidKeyName=e.editorGuidKeyName;exports.enableSpatialConsole=e.enableSpatialConsole;exports.euler=e.euler;exports.eventListSerializer=e.eventListSerializer;exports.exportAsGLTF=e.exportAsGLTF;exports.findByGuid=e.findByGuid;exports.findObjectOfType=e.findObjectOfType;exports.findObjectsOfType=e.findObjectsOfType;exports.findResourceUsers=e.findResourceUsers;exports.fitCamera=e.fitCamera;exports.fitObjectIntoVolume=e.fitObjectIntoVolume;exports.foreachComponent=e.foreachComponent;exports.foreachComponentEnumerator=e.foreachComponentEnumerator;exports.forward=e.forward;exports.generateQRCode=e.generateQRCode;exports.generateSeed=e.generateSeed;exports.getBoundingBox=e.getBoundingBox;exports.getCameraController=e.getCameraController;exports.getComponent=e.getComponent;exports.getComponentInChildren=e.getComponentInChildren;exports.getComponentInParent=e.getComponentInParent;exports.getComponents=e.getComponents;exports.getComponentsInChildren=e.getComponentsInChildren;exports.getComponentsInParent=e.getComponentsInParent;exports.getFormattedDate=e.getFormattedDate;exports.getIconElement=e.getIconElement;exports.getIconTexture=e.getIconTexture;exports.getLoader=e.getLoader;exports.getOrAddComponent=e.getOrAddComponent;exports.getParam=e.getParam;exports.getParentHierarchyPath=e.getParentHierarchyPath;exports.getPath=e.getPath;exports.getPeerOptions=e.getPeerOptions;exports.getPeerjsInstance=e.getPeerjsInstance;exports.getResourceUserCount=e.getResourceUserCount;exports.getTempColor=e.getTempColor;exports.getTempQuaternion=e.getTempQuaternion;exports.getTempVector=e.getTempVector;exports.getUrlParams=e.getUrlParams;exports.getVisibleInCustomShadowRendering=e.getVisibleInCustomShadowRendering;exports.getWorldDirection=e.getWorldDirection;exports.getWorldEuler=e.getWorldEuler;exports.getWorldPosition=e.getWorldPosition;exports.getWorldQuaternion=e.getWorldQuaternion;exports.getWorldRotation=e.getWorldRotation;exports.getWorldScale=e.getWorldScale;exports.hasCommercialLicense=e.hasCommercialLicense;exports.hasIndieLicense=e.hasIndieLicense;exports.hasPointerEventComponent=e.hasPointerEventComponent;exports.hasProLicense=e.hasProLicense;exports.hideDebugConsole=e.hideDebugConsole;exports.imageToCanvas=e.imageToCanvas;exports.instantiate=e.instantiate;exports.invokeLoadedImportPluginHooks=e.invokeLoadedImportPluginHooks;exports.invokeXRSessionEnd=e.invokeXRSessionEnd;exports.invokeXRSessionStart=e.invokeXRSessionStart;exports.isActiveInHierarchy=e.isActiveInHierarchy;exports.isActiveSelf=e.isActiveSelf;exports.isAndroidDevice=e.isAndroidDevice;exports.isAnimationAction=e.isAnimationAction;exports.isComponent=e.isComponent;exports.isDebugMode=e.isDebugMode;exports.isDesktop=e.isDesktop;exports.isDestroyed=e.isDestroyed;exports.isDevEnvironment=e.isDevEnvironment;exports.isDisposed=e.isDisposed;exports.isExporting=e.isExporting;exports.isGLTFModel=e.isGLTFModel;exports.isHostedOnGlitch=e.isHostedOnGlitch;exports.isHotReloadEnabled=e.isHotReloadEnabled;exports.isHotReloading=e.isHotReloading;exports.isIPad=e.isIPad;exports.isIconElement=e.isIconElement;exports.isLocalNetwork=e.isLocalNetwork;exports.isMacOS=e.isMacOS;exports.isMobileDevice=e.isMobileDevice;exports.isMozillaXR=e.isMozillaXR;exports.isQuest=e.isQuest;exports.isResourceTrackingEnabled=e.isResourceTrackingEnabled;exports.isSafari=e.isSafari;exports.isUsingInstancing=e.isUsingInstancing;exports.isiOS=e.isiOS;exports.isiPad=e.isiPad;exports.loadAsset=e.loadAsset;exports.loadPMREM=e.loadPMREM;exports.loadSync=e.loadSync;exports.logHierarchy=e.logHierarchy;exports.lookAtInverse=e.lookAtInverse;exports.lookAtObject=e.lookAtObject;exports.lookAtScreenPoint=e.lookAtScreenPoint;exports.makeId=e.makeId;exports.makeIdFromRandomWords=e.makeIdFromRandomWords;exports.makeNameSafeForUSD=e.makeNameSafe;exports.markAsInstancedRendered=e.markAsInstancedRendered;exports.microphonePermissionsGranted=e.microphonePermissionsGranted;exports.nameof=e.nameof;exports.nameofFactory=e.nameofFactory;exports.objectSerializer=e.objectSerializer;exports.offXRSessionEnd=e.offXRSessionEnd;exports.offXRSessionStart=e.offXRSessionStart;exports.onAfterRender=e.onAfterRender;exports.onBeforeRender=e.onBeforeRender;exports.onClear=e.onClear;exports.onDestroy=e.onDestroy;exports.onInitialized=e.onInitialized;exports.onStart=e.onStart;exports.onUpdate=e.onUpdate;exports.onXRSessionEnd=e.onXRSessionEnd;exports.onXRSessionStart=e.onXRSessionStart;exports.parseSync=e.parseSync;exports.placeOnSurface=e.placeOnSurface;exports.postprocessFBXMaterials=e.postprocessFBXMaterials;exports.prefix=e.prefix;exports.pushState=e.pushState;exports.randomNumber=e.randomNumber;exports.registerBinaryType=e.registerBinaryType;exports.registerComponent=e.registerComponent;exports.registerComponentExtension=e.registerComponentExtension;exports.registerCustomEffectType=e.registerCustomEffectType;exports.registerExportExtensions=e.registerExportExtensions;exports.registerExtensions=e.registerExtensions;exports.registerHotReloadType=e.registerHotReloadType;exports.registerLoader=e.registerLoader;exports.registerPrefabProvider=e.registerPrefabProvider;exports.registerPrototypeExtensions=e.registerPrototypeExtensions;exports.registerType=e.registerType;exports.relativePathPrefix=e.relativePathPrefix;exports.removeAttributeChangeCallback=e.removeAttributeChangeCallback;exports.removeComponent=e.removeComponent;exports.removeCustomImportExtensionType=e.removeCustomImportExtensionType;exports.removePatch=e.removePatch;exports.resolveUrl=e.resolveUrl;exports.sanitizeString=e.sanitizeString;exports.saveImage=e.saveImage;exports.screenshot=e.screenshot;exports.screenshot2=e.screenshot2;exports.sendDestroyed=e.sendDestroyed;exports.serializable=e.serializable;exports.serializeObject=e.serializeObject;exports.serializeable=e.serializeable;exports.setActive=e.setActive;exports.setAllowBalloonMessages=e.setAllowBalloonMessages;exports.setAllowOverlayMessages=e.setAllowOverlayMessages;exports.setAutoFitEnabled=e.setAutoFitEnabled;exports.setCameraController=e.setCameraController;exports.setDestroyed=e.setDestroyed;exports.setDevEnvironment=e.setDevEnvironment;exports.setDisposable=e.setDisposable;exports.setDontDestroy=e.setDontDestroy;exports.setOrAddParamsToUrl=e.setOrAddParamsToUrl;exports.setParam=e.setParam;exports.setParamWithoutReload=e.setParamWithoutReload;exports.setPeerOptions=e.setPeerOptions;exports.setResourceTrackingEnabled=e.setResourceTrackingEnabled;exports.setState=e.setState;exports.setVisibleInCustomShadowRendering=e.setVisibleInCustomShadowRendering;exports.setWorldEuler=e.setWorldEuler;exports.setWorldPosition=e.setWorldPosition;exports.setWorldPositionXYZ=e.setWorldPositionXYZ;exports.setWorldQuaternion=e.setWorldQuaternion;exports.setWorldQuaternionXYZW=e.setWorldQuaternionXYZW;exports.setWorldRotation=e.setWorldRotation;exports.setWorldRotationXYZ=e.setWorldRotationXYZ;exports.setWorldScale=e.setWorldScale;exports.showBalloonError=e.showBalloonError;exports.showBalloonMessage=e.showBalloonMessage;exports.showBalloonWarning=e.showBalloonWarning;exports.showDebugConsole=e.showDebugConsole;exports.slerp=e.slerp;exports.syncDestroy=e.syncDestroy;exports.syncField=e.syncField;exports.syncInstantiate=e.syncInstantiate;exports.textureToCanvas=e.textureToCanvas;exports.toSourceId=e.toSourceId;exports.tryCastBinary=e.tryCastBinary;exports.tryDetermineMimetypeFromBinary=e.tryDetermineMimetypeFromBinary;exports.tryDetermineMimetypeFromURL=e.tryDetermineMimetypeFromURL;exports.tryFindObject=e.tryFindObject;exports.tryGetGuid=e.tryGetGuid;exports.unregisterHotReloadType=e.unregisterHotReloadType;exports.unwatchWrite=e.unwatchWrite;exports.useForAutoFit=e.useForAutoFit;exports.validate=e.validate;exports.watchWrite=e.watchWrite;exports.NEEDLE_progressive=i.NEEDLE_progressive;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./needle-engine.bundle-DMqWdPzL.umd.cjs"),i=require("./gltf-progressive-GwdQV1Qx.umd.cjs"),a=require("./three-iFaDq9U3.umd.cjs"),o={VERSION:e.VERSION,Context:e.Context,NeedleXRSession:e.NeedleXRSession,assets:{loadFromURL:e.loadAsset},onStart:e.onStart,onUpdate:e.onUpdate,onBeforeRender:e.onBeforeRender,onAfterRender:e.onAfterRender,onInitializedContext:e.onInitialized,onDestroyContext:e.onDestroy,onClearContext:e.onClear};globalThis.Needle?.VERSION!==void 0&&console.warn(`Needle Engine is already imported: ${globalThis.Needle.VERSION}`);function n(t){for(const r in t)o[r]=t[r]}n(e.Component);n(e.Components);for(const t of Object.getOwnPropertyNames(e.GameObject))switch(t){case"prototype":case"constructor":case"length":case"name":continue;default:o[t]=e.GameObject[t];break}if(!globalThis.Needle)globalThis.Needle=o;else for(const t in o)globalThis.Needle[t]=o[t];globalThis.THREE?console.warn("Three.js is already imported"):globalThis.THREE=a.THREE;exports.$physicsKey=e.$physicsKey;exports.ActionBuilder=e.ActionBuilder;exports.ActionCollection=e.ActionCollection;exports.ActionModel=e.ActionModel;exports.Addressables=e.Addressables;exports.AlignmentConstraint=e.AlignmentConstraint;exports.AmbientMode=e.AmbientMode;exports.Animation=e.Animation;exports.AnimationCurve=e.AnimationCurve;exports.AnimationExtension=e.AnimationExtension;exports.AnimationTrackHandler=e.AnimationTrackHandler;exports.AnimationUtils=e.AnimationUtils;exports.Animator=e.Animator;exports.AnimatorConditionMode=e.AnimatorConditionMode;exports.AnimatorController=e.AnimatorController;exports.AnimatorControllerParameterType=e.AnimatorControllerParameterType;exports.AnimatorStateInfo=e.AnimatorStateInfo;exports.Antialiasing=e.Antialiasing;exports.Application=e.Application;exports.AssetDatabase=e.AssetDatabase;exports.AssetReference=e.AssetReference;exports.Attractor=e.Attractor;exports.AudioExtension=e.AudioExtension;exports.AudioListener=e.AudioListener;exports.AudioSource=e.AudioSource;exports.AudioTrackHandler=e.AudioTrackHandler;exports.Avatar=e.Avatar;exports.AvatarBlink_Simple=e.AvatarBlink_Simple;exports.AvatarEyeLook_Rotation=e.AvatarEyeLook_Rotation;exports.AvatarLoader=e.AvatarLoader;exports.AvatarMarker=e.AvatarMarker;exports.AvatarModel=e.AvatarModel;exports.Avatar_Brain_LookAt=e.Avatar_Brain_LookAt;exports.Avatar_MouthShapes=e.Avatar_MouthShapes;exports.Avatar_MustacheShake=e.Avatar_MustacheShake;exports.Avatar_POI=e.Avatar_POI;exports.Axes=e.Axes;exports.AxesHelper=e.AxesHelper;exports.BUILD_TIME=e.BUILD_TIME;exports.BaseUIComponent=e.BaseUIComponent;exports.BasicIKConstraint=e.BasicIKConstraint;exports.BehaviorExtension=e.BehaviorExtension;exports.BehaviorModel=e.BehaviorModel;exports.Behaviour=e.Component$1;Object.defineProperty(exports,"BlobStorage",{enumerable:!0,get:()=>e.BlobStorage});exports.BloomEffect=e.BloomEffect;exports.BoxCollider=e.BoxCollider;exports.BoxGizmo=e.BoxGizmo;exports.BoxHelperComponent=e.BoxHelperComponent;exports.Button=e.Button;exports.ButtonsFactory=e.ButtonsFactory;exports.CallDirection=e.CallDirection;exports.CallInfo=e.CallInfo;exports.Camera=e.Camera;exports.CameraTargetReachedEvent=e.CameraTargetReachedEvent;exports.Canvas=e.Canvas;exports.CanvasGroup=e.CanvasGroup;exports.CapsuleCollider=e.CapsuleCollider;exports.ChangeMaterialOnClick=e.ChangeMaterialOnClick;exports.ChangeTransformOnClick=e.ChangeTransformOnClick;exports.CharacterController=e.CharacterController;exports.CharacterControllerInput=e.CharacterControllerInput;exports.ChromaticAberration=e.ChromaticAberration;exports.CircularBuffer=e.CircularBuffer;exports.ClearFlags=e.ClearFlags;exports.ClickThrough=e.ClickThrough;exports.ClipExtrapolation=e.ClipExtrapolation;exports.Collider=e.Collider;exports.Collision=e.Collision;exports.CollisionDetectionMode=e.CollisionDetectionMode;exports.ColorAdjustments=e.ColorAdjustments;exports.ColorBySpeedModule=e.ColorBySpeedModule;exports.ColorOverLifetimeModule=e.ColorOverLifetimeModule;exports.Component=e.Component$1;exports.ComponentLifecycleEvents=e.ComponentLifecycleEvents;exports.ConnectionEvents=e.ConnectionEvents;exports.ContactPoint=e.ContactPoint;exports.ContactShadows=e.ContactShadows;exports.Context=e.Context;exports.ContextArgs=e.ContextArgs;exports.ContextEvent=e.ContextEvent;exports.ContextRegistry=e.ContextRegistry;exports.ControlTrackHandler=e.ControlTrackHandler;exports.CursorFollow=e.CursorFollow;exports.CustomBranding=e.CustomBranding;exports.CustomShader=e.CustomShader;exports.DefaultReflectionMode=e.DefaultReflectionMode;exports.Deletable=e.Deletable;exports.DeleteBox=e.DeleteBox;exports.DepthOfField=e.DepthOfField;exports.DeviceFlag=e.DeviceFlag;Object.defineProperty(exports,"DeviceUtilities",{enumerable:!0,get:()=>e.DeviceUtilities});exports.DocumentExtension=e.DocumentExtension;exports.DragControls=e.DragControls;exports.DragMode=e.DragMode;exports.DropListener=e.DropListener;exports.Duplicatable=e.Duplicatable;exports.EffectWrapper=e.EffectWrapper;exports.EmissionModule=e.EmissionModule;exports.EmphasizeOnClick=e.EmphasizeOnClick;exports.EngineLoadingView=e.EngineLoadingView;exports.EnvironmentScene=e.EnvironmentScene;exports.EventList=e.EventList;exports.EventListEvent=e.EventListEvent;exports.EventSystem=e.EventSystem;exports.EventTrigger=e.EventTrigger;exports.FieldWithDefault=e.FieldWithDefault;exports.FileReference=e.FileReference;exports.FileReferenceSerializer=e.FileReferenceSerializer;exports.FileSpawnModel=e.FileSpawnModel;exports.File_Event=e.File_Event;exports.FixedJoint=e.FixedJoint;exports.Fog=e.Fog;exports.FrameEvent=e.FrameEvent;exports.GENERATOR=e.GENERATOR;exports.GameObject=e.GameObject;exports.Gizmos=e.Gizmos;exports.GltfExport=e.GltfExport;exports.GltfExportBox=e.GltfExportBox;exports.Gradient=e.Gradient;exports.Graphic=e.Graphic;exports.GraphicRaycaster=e.GraphicRaycaster;exports.Graphics=e.Graphics;exports.GridHelper=e.GridHelper;exports.GridLayoutGroup=e.GridLayoutGroup;exports.GroundProjectedEnv=e.GroundProjectedEnv;exports.GroupActionModel=e.GroupActionModel;exports.HideFlags=e.HideFlags;exports.HideOnStart=e.HideOnStart;exports.HingeJoint=e.HingeJoint;exports.HorizontalLayoutGroup=e.HorizontalLayoutGroup;exports.HostData=e.HostData;Object.defineProperty(exports,"HoverAnimation",{enumerable:!0,get:()=>e.HoverAnimation});exports.Image=e.Image;exports.ImageReference=e.ImageReference;exports.ImageReferenceSerializer=e.ImageReferenceSerializer;exports.InheritVelocityModule=e.InheritVelocityModule;exports.Input=e.Input;exports.InputEventQueue=e.InputEventQueue;exports.InputEvents=e.InputEvents;exports.InputField=e.InputField;exports.InstanceHandle=e.InstanceHandle;exports.InstancingHandler=e.InstancingHandler;exports.InstancingUtil=e.InstancingUtil;exports.InstantiateEvent=e.InstantiateEvent;exports.InstantiateIdProvider=e.InstantiateIdProvider;exports.InstantiateOptions=e.InstantiateOptions;exports.Interactable=e.Interactable;Object.defineProperty(exports,"InternalScreenshotUtils",{enumerable:!0,get:()=>e.InternalScreenshotUtils});exports.JoinedRoomResponse=e.JoinedRoomResponse;exports.KeyEventArgs=e.KeyEventArgs;exports.Keyframe=e.Keyframe;exports.LODGroup=e.LODGroup;exports.LODModel=e.LODModel;exports.LeftRoomResponse=e.LeftRoomResponse;exports.Light=e.Light;exports.LightData=e.LightData;exports.LimitVelocityOverLifetimeModule=e.LimitVelocityOverLifetimeModule;exports.LoadingElementOptions=e.LoadingElementOptions;exports.LogStats=e.LogStats;exports.LogType=e.LogType;exports.LookAt=e.LookAt;exports.LookAtConstraint=e.LookAtConstraint;exports.MainModule=e.MainModule;exports.MarkerTrackHandler=e.MarkerTrackHandler;exports.MarkerType=e.MarkerType;exports.MaskableGraphic=e.MaskableGraphic;exports.Mathf=e.Mathf;exports.MeshCollider=e.MeshCollider;exports.MeshRenderer=e.MeshRenderer;exports.MinMaxCurve=e.MinMaxCurve;exports.MinMaxGradient=e.MinMaxGradient;Object.defineProperty(exports,"NEEDLE_ENGINE_FEATURE_FLAGS",{enumerable:!0,get:()=>e.NEEDLE_ENGINE_FEATURE_FLAGS});Object.defineProperty(exports,"NEEDLE_ENGINE_MODULES",{enumerable:!0,get:()=>e.MODULES});exports.NEKeyboardEvent=e.NEKeyboardEvent;exports.NEPointerEvent=e.NEPointerEvent;exports.NeedleButtonElement=e.NeedleButtonElement;exports.NeedleEngine=e.ContextRegistry;Object.defineProperty(exports,"NeedleEngineModelLoader",{enumerable:!0,get:()=>e.NeedleEngineModelLoader});exports.NeedleEngineWebComponent=e.NeedleEngineWebComponent;exports.NeedleMenu=e.NeedleMenu;exports.NeedlePatchesKey=e.NeedlePatchesKey;exports.NeedleUSDZExporter=e.USDZExporter$1;exports.NeedleXRController=e.NeedleXRController;exports.NeedleXRSession=e.NeedleXRSession;exports.NeedleXRSync=e.NeedleXRSync;exports.NeedleXRUtils=e.NeedleXRUtils;exports.NestedGltf=e.NestedGltf;exports.NetworkConnection=e.NetworkConnection;exports.NetworkedStreamEvents=e.NetworkedStreamEvents;exports.NetworkedStreams=e.NetworkedStreams;exports.Networking=e.Networking;exports.NewInstanceModel=e.NewInstanceModel;exports.NoiseModule=e.NoiseModule;exports.ObjectRaycaster=e.ObjectRaycaster;exports.ObjectUtils=e.ObjectUtils;exports.OffsetConstraint=e.OffsetConstraint;exports.OneEuroFilter=e.OneEuroFilter;exports.OneEuroFilterXYZ=e.OneEuroFilterXYZ;exports.OpenURL=e.OpenURL;exports.OrbitControls=e.OrbitControls;exports.Outline=e.Outline;exports.OwnershipEvent=e.OwnershipEvent;exports.OwnershipModel=e.OwnershipModel;exports.PUBLIC_KEY=e.PUBLIC_KEY;exports.Padding=e.Padding;exports.ParticleBurst=e.ParticleBurst;exports.ParticleSubEmitter=e.ParticleSubEmitter;exports.ParticleSystem=e.ParticleSystem;exports.ParticleSystemBaseBehaviour=e.ParticleSystemBaseBehaviour;exports.ParticleSystemRenderer=e.ParticleSystemRenderer;exports.ParticleSystemShapeType=e.ParticleSystemShapeType;exports.PeerHandle=e.PeerHandle;exports.PeerNetworking=e.PeerNetworking;exports.Physics=e.Physics;exports.PhysicsExtension=e.PhysicsExtension;exports.PhysicsMaterialCombine=e.PhysicsMaterialCombine;exports.PixelationEffect=e.PixelationEffect;exports.PlayAnimationOnClick=e.PlayAnimationOnClick;exports.PlayAudioOnClick=e.PlayAudioOnClick;exports.PlayableDirector=e.PlayableDirector;exports.PlayerColor=e.PlayerColor;exports.PlayerState=e.PlayerState;exports.PlayerStateEvent=e.PlayerStateEvent;exports.PlayerSync=e.PlayerSync;exports.PlayerView=e.PlayerView;exports.PlayerViewManager=e.PlayerViewManager;exports.PointerEventData=e.PointerEventData;exports.PointerType=e.PointerType;exports.PostProcessingEffect=e.PostProcessingEffect;exports.PostProcessingEffectOrder=e.PostProcessingEffectOrder;exports.PostProcessingHandler=e.PostProcessingHandler;exports.PostProcessingManager=e.Volume;exports.PreliminaryAction=e.PreliminaryAction;exports.PreliminaryTrigger=e.PreliminaryTrigger;Object.defineProperty(exports,"PreviewHelper",{enumerable:!0,get:()=>e.PreviewHelper});exports.PrimitiveType=e.PrimitiveType;exports.Progress=e.Progress;exports.PromiseAllWithErrors=e.PromiseAllWithErrors;exports.PromiseErrorResult=e.PromiseErrorResult;exports.RGBAColor=e.RGBAColor;exports.RapierPhysics=e.RapierPhysics;exports.RawImage=e.RawImage;exports.RaycastOptions=e.RaycastOptions;exports.Rect=e.Rect;exports.RectTransform=e.RectTransform;exports.ReflectionProbe=e.ReflectionProbe;exports.RegisteredAnimationInfo=e.RegisteredAnimationInfo;exports.RemoteSkybox=e.RemoteSkybox;exports.RenderTexture=e.RenderTexture;exports.RenderTextureSerializer=e.RenderTextureSerializer;exports.Renderer=e.Renderer;exports.RendererData=e.RendererData;exports.RendererLightmap=e.RendererLightmap;exports.Rigidbody=e.Rigidbody;exports.RigidbodyConstraints=e.RigidbodyConstraints;exports.RoomEvents=e.RoomEvents;exports.RotationBySpeedModule=e.RotationBySpeedModule;exports.RotationOverLifetimeModule=e.RotationOverLifetimeModule;exports.SceneLightSettings=e.SceneLightSettings;exports.SceneSwitcher=e.SceneSwitcher;exports.ScreenCapture=e.ScreenCapture;exports.ScreenSpaceAmbientOcclusion=e.ScreenSpaceAmbientOcclusion;exports.ScreenSpaceAmbientOcclusionN8=e.ScreenSpaceAmbientOcclusionN8;exports.ScrollFollow=e.ScrollFollow;exports.SeeThrough=e.SeeThrough;exports.SendQueue=e.SendQueue;exports.SerializationContext=e.SerializationContext;exports.SetActiveOnClick=e.SetActiveOnClick;exports.ShadowCatcher=e.ShadowCatcher;exports.ShapeModule=e.ShapeModule;exports.ShapeOverlapResult=e.ShapeOverlapResult;exports.SharpeningEffect=e.SharpeningEffect;exports.SignalAsset=e.SignalAsset;exports.SignalReceiver=e.SignalReceiver;exports.SignalReceiverEvent=e.SignalReceiverEvent;exports.SignalTrackHandler=e.SignalTrackHandler;exports.Size=e.Size;exports.SizeBySpeedModule=e.SizeBySpeedModule;exports.SizeOverLifetimeModule=e.SizeOverLifetimeModule;exports.SkinnedMeshRenderer=e.SkinnedMeshRenderer;exports.SmoothFollow=e.SmoothFollow;exports.SpatialGrabRaycaster=e.SpatialGrabRaycaster;exports.SpatialHtml=e.SpatialHtml;exports.SpatialTrigger=e.SpatialTrigger;exports.SpatialTriggerReceiver=e.SpatialTriggerReceiver;exports.SpectatorCamera=e.SpectatorCamera;exports.SphereCollider=e.SphereCollider;exports.SphereIntersection=e.SphereIntersection;exports.SplineContainer=e.SplineContainer;exports.SplineData=e.SplineData;Object.defineProperty(exports,"SplineUtils",{enumerable:!0,get:()=>e.SplineUtils});exports.SplineWalker=e.SplineWalker;exports.Sprite=e.Sprite;exports.SpriteData=e.SpriteData;exports.SpriteRenderer=e.SpriteRenderer;exports.SpriteSheet=e.SpriteSheet;exports.StateMachineBehaviour=e.StateMachineBehaviour;exports.StreamEndedEvent=e.StreamEndedEvent;exports.StreamReceivedEvent=e.StreamReceivedEvent;exports.SubEmitterSystem=e.SubEmitterSystem;exports.SyncedCamera=e.SyncedCamera;exports.SyncedRoom=e.SyncedRoom;exports.SyncedTransform=e.SyncedTransform;exports.TapGestureTrigger=e.TapGestureTrigger;exports.TeleportTarget=e.TeleportTarget;exports.TestRunner=e.TestRunner;exports.TestSceneUtils=e.TestSceneUtils;exports.TestSimulateUserData=e.TestSimulateUserData;exports.Text=e.Text;exports.TextBuilder=e.TextBuilder;exports.TextExtension=e.TextExtension;exports.TextureSheetAnimationModule=e.TextureSheetAnimationModule;exports.TiltShiftEffect=e.TiltShiftEffect;exports.Time=e.Time;exports.ToneMappingEffect=e.ToneMappingEffect;exports.TrackHandler=e.TrackHandler;exports.TrackType=e.TrackType;exports.TrailModule=e.TrailModule;exports.TransformData=e.TransformData;exports.TransformGizmo=e.TransformGizmo;exports.TriggerBuilder=e.TriggerBuilder;exports.TriggerModel=e.TriggerModel;exports.TypeStore=e.TypeStore;exports.UIRaycastUtils=e.UIRaycastUtils;exports.UIRootComponent=e.UIRootComponent;exports.USDDocument=e.USDDocument;exports.USDObject=e.USDObject;exports.USDWriter=e.USDWriter;exports.USDZExporter=e.USDZExporter;exports.USDZText=e.USDZText;exports.USDZUIExtension=e.USDZUIExtension;exports.UriSerializer=e.UriSerializer;exports.UsageMarker=e.UsageMarker;exports.UserJoinedOrLeftRoomModel=e.UserJoinedOrLeftRoomModel;exports.VERSION=e.VERSION;exports.VariantAction=e.VariantAction;exports.VelocityOverLifetimeModule=e.VelocityOverLifetimeModule;exports.VerticalLayoutGroup=e.VerticalLayoutGroup;exports.VideoPlayer=e.VideoPlayer;Object.defineProperty(exports,"ViewBox",{enumerable:!0,get:()=>e.ViewBox});exports.ViewDevice=e.ViewDevice;exports.Vignette=e.Vignette;exports.VisibilityAction=e.VisibilityAction;exports.Voip=e.Voip;exports.Volume=e.Volume;exports.VolumeParameter=e.VolumeParameter;exports.VolumeProfile=e.VolumeProfile;exports.WaitForFrames=e.WaitForFrames;exports.WaitForPromise=e.WaitForPromise;exports.WaitForSeconds=e.WaitForSeconds;exports.Watch=e.Watch;exports.WebARCameraBackground=e.WebARCameraBackground;exports.WebARSessionRoot=e.WebARSessionRoot;exports.WebXR=e.WebXR;exports.WebXRButtonFactory=e.WebXRButtonFactory;exports.WebXRImageTracking=e.WebXRImageTracking;exports.WebXRImageTrackingModel=e.WebXRImageTrackingModel;exports.WebXRPlaneTracking=e.WebXRPlaneTracking;exports.WebXRTrackedImage=e.WebXRTrackedImage;exports.XRControllerFollow=e.XRControllerFollow;exports.XRControllerModel=e.XRControllerModel;exports.XRControllerMovement=e.XRControllerMovement;exports.XRFlag=e.XRFlag;exports.XRRig=e.XRRig;exports.XRState=e.XRState;exports.XRStateFlag=e.XRStateFlag;exports.__Ignore=e.__Ignore;exports.__internalNotifyObjectDestroyed=e.__internalNotifyObjectDestroyed;exports.activeInHierarchyFieldName=e.activeInHierarchyFieldName;exports.addAttributeChangeCallback=e.addAttributeChangeCallback;exports.addComponent=e.addComponent;exports.addCustomExtensionPlugin=e.addCustomExtensionPlugin;exports.addNewComponent=e.addNewComponent;exports.addPatch=e.addPatch;exports.apply=e.apply;exports.applyHMRChanges=e.applyHMRChanges;exports.applyPrototypeExtensions=e.applyPrototypeExtensions;exports.beginListenDestroy=e.beginListenDestroy;exports.beginListenInstantiate=e.beginListenInstantiate;exports.binaryIdentifierCasts=e.binaryIdentifierCasts;exports.build_scene_functions=e.build_scene_functions;exports.builtinComponentKeyName=e.builtinComponentKeyName;exports.calculateProgress01=e.calculateProgress01;exports.clearBalloonMessages=e.clearMessages;exports.clearOverlayMessages=e.clearMessages;exports.colorSerializer=e.colorSerializer;exports.compareAssociation=e.compareAssociation;exports.componentSerializer=e.componentSerializer;exports.copyTexture=e.copyTexture;exports.createMotion=e.createMotion;exports.debugNet=e.debugNet;exports.debugOwner=e.debugOwner;exports.decompressGpuTexture=e.decompressGpuTexture;exports.deepClone=e.deepClone;exports.delay=e.delay;exports.delayForFrames=e.delayForFrames;exports.deserializeObject=e.deserializeObject;exports.destroy=e.destroy;exports.destroyComponentInstance=e.destroyComponentInstance;exports.determineMimeTypeFromExtension=e.determineMimeTypeFromExtension;exports.disposeObjectResources=e.disposeObjectResources;exports.disposeStream=e.disposeStream;exports.editorGuidKeyName=e.editorGuidKeyName;exports.enableSpatialConsole=e.enableSpatialConsole;exports.euler=e.euler;exports.eventListSerializer=e.eventListSerializer;exports.exportAsGLTF=e.exportAsGLTF;exports.findByGuid=e.findByGuid;exports.findObjectOfType=e.findObjectOfType;exports.findObjectsOfType=e.findObjectsOfType;exports.findResourceUsers=e.findResourceUsers;exports.fitCamera=e.fitCamera;exports.fitObjectIntoVolume=e.fitObjectIntoVolume;exports.foreachComponent=e.foreachComponent;exports.foreachComponentEnumerator=e.foreachComponentEnumerator;exports.forward=e.forward;exports.generateQRCode=e.generateQRCode;exports.generateSeed=e.generateSeed;exports.getBoundingBox=e.getBoundingBox;exports.getCameraController=e.getCameraController;exports.getComponent=e.getComponent;exports.getComponentInChildren=e.getComponentInChildren;exports.getComponentInParent=e.getComponentInParent;exports.getComponents=e.getComponents;exports.getComponentsInChildren=e.getComponentsInChildren;exports.getComponentsInParent=e.getComponentsInParent;exports.getFormattedDate=e.getFormattedDate;exports.getIconElement=e.getIconElement;exports.getIconTexture=e.getIconTexture;exports.getLoader=e.getLoader;exports.getOrAddComponent=e.getOrAddComponent;exports.getParam=e.getParam;exports.getParentHierarchyPath=e.getParentHierarchyPath;exports.getPath=e.getPath;exports.getPeerOptions=e.getPeerOptions;exports.getPeerjsInstance=e.getPeerjsInstance;exports.getResourceUserCount=e.getResourceUserCount;exports.getTempColor=e.getTempColor;exports.getTempQuaternion=e.getTempQuaternion;exports.getTempVector=e.getTempVector;exports.getUrlParams=e.getUrlParams;exports.getVisibleInCustomShadowRendering=e.getVisibleInCustomShadowRendering;exports.getWorldDirection=e.getWorldDirection;exports.getWorldEuler=e.getWorldEuler;exports.getWorldPosition=e.getWorldPosition;exports.getWorldQuaternion=e.getWorldQuaternion;exports.getWorldRotation=e.getWorldRotation;exports.getWorldScale=e.getWorldScale;exports.hasCommercialLicense=e.hasCommercialLicense;exports.hasIndieLicense=e.hasIndieLicense;exports.hasPointerEventComponent=e.hasPointerEventComponent;exports.hasProLicense=e.hasProLicense;exports.hideDebugConsole=e.hideDebugConsole;exports.imageToCanvas=e.imageToCanvas;exports.instantiate=e.instantiate;exports.invokeLoadedImportPluginHooks=e.invokeLoadedImportPluginHooks;exports.invokeXRSessionEnd=e.invokeXRSessionEnd;exports.invokeXRSessionStart=e.invokeXRSessionStart;exports.isActiveInHierarchy=e.isActiveInHierarchy;exports.isActiveSelf=e.isActiveSelf;exports.isAndroidDevice=e.isAndroidDevice;exports.isAnimationAction=e.isAnimationAction;exports.isComponent=e.isComponent;exports.isDebugMode=e.isDebugMode;exports.isDesktop=e.isDesktop;exports.isDestroyed=e.isDestroyed;exports.isDevEnvironment=e.isDevEnvironment;exports.isDisposed=e.isDisposed;exports.isExporting=e.isExporting;exports.isGLTFModel=e.isGLTFModel;exports.isHostedOnGlitch=e.isHostedOnGlitch;exports.isHotReloadEnabled=e.isHotReloadEnabled;exports.isHotReloading=e.isHotReloading;exports.isIPad=e.isIPad;exports.isIconElement=e.isIconElement;exports.isLocalNetwork=e.isLocalNetwork;exports.isMacOS=e.isMacOS;exports.isMobileDevice=e.isMobileDevice;exports.isMozillaXR=e.isMozillaXR;exports.isQuest=e.isQuest;exports.isResourceTrackingEnabled=e.isResourceTrackingEnabled;exports.isSafari=e.isSafari;exports.isUsingInstancing=e.isUsingInstancing;exports.isiOS=e.isiOS;exports.isiPad=e.isiPad;exports.loadAsset=e.loadAsset;exports.loadPMREM=e.loadPMREM;exports.loadSync=e.loadSync;exports.logHierarchy=e.logHierarchy;exports.lookAtInverse=e.lookAtInverse;exports.lookAtObject=e.lookAtObject;exports.lookAtScreenPoint=e.lookAtScreenPoint;exports.makeId=e.makeId;exports.makeIdFromRandomWords=e.makeIdFromRandomWords;exports.makeNameSafeForUSD=e.makeNameSafe;exports.markAsInstancedRendered=e.markAsInstancedRendered;exports.microphonePermissionsGranted=e.microphonePermissionsGranted;exports.nameof=e.nameof;exports.nameofFactory=e.nameofFactory;exports.objectSerializer=e.objectSerializer;exports.offXRSessionEnd=e.offXRSessionEnd;exports.offXRSessionStart=e.offXRSessionStart;exports.onAfterRender=e.onAfterRender;exports.onBeforeRender=e.onBeforeRender;exports.onClear=e.onClear;exports.onDestroy=e.onDestroy;exports.onInitialized=e.onInitialized;exports.onStart=e.onStart;exports.onUpdate=e.onUpdate;exports.onXRSessionEnd=e.onXRSessionEnd;exports.onXRSessionStart=e.onXRSessionStart;exports.parseSync=e.parseSync;exports.placeOnSurface=e.placeOnSurface;exports.postprocessFBXMaterials=e.postprocessFBXMaterials;exports.prefix=e.prefix;exports.pushState=e.pushState;exports.randomNumber=e.randomNumber;exports.registerBinaryType=e.registerBinaryType;exports.registerComponent=e.registerComponent;exports.registerComponentExtension=e.registerComponentExtension;exports.registerCustomEffectType=e.registerCustomEffectType;exports.registerExportExtensions=e.registerExportExtensions;exports.registerExtensions=e.registerExtensions;exports.registerHotReloadType=e.registerHotReloadType;exports.registerLoader=e.registerLoader;exports.registerPrefabProvider=e.registerPrefabProvider;exports.registerPrototypeExtensions=e.registerPrototypeExtensions;exports.registerType=e.registerType;exports.relativePathPrefix=e.relativePathPrefix;exports.removeAttributeChangeCallback=e.removeAttributeChangeCallback;exports.removeComponent=e.removeComponent;exports.removeCustomImportExtensionType=e.removeCustomImportExtensionType;exports.removePatch=e.removePatch;exports.resolveUrl=e.resolveUrl;exports.sanitizeString=e.sanitizeString;exports.saveImage=e.saveImage;exports.screenshot=e.screenshot;exports.screenshot2=e.screenshot2;exports.sendDestroyed=e.sendDestroyed;exports.serializable=e.serializable;exports.serializeObject=e.serializeObject;exports.serializeable=e.serializeable;exports.setActive=e.setActive;exports.setAllowBalloonMessages=e.setAllowBalloonMessages;exports.setAllowOverlayMessages=e.setAllowOverlayMessages;exports.setAutoFitEnabled=e.setAutoFitEnabled;exports.setCameraController=e.setCameraController;exports.setDestroyed=e.setDestroyed;exports.setDevEnvironment=e.setDevEnvironment;exports.setDisposable=e.setDisposable;exports.setDontDestroy=e.setDontDestroy;exports.setOrAddParamsToUrl=e.setOrAddParamsToUrl;exports.setParam=e.setParam;exports.setParamWithoutReload=e.setParamWithoutReload;exports.setPeerOptions=e.setPeerOptions;exports.setResourceTrackingEnabled=e.setResourceTrackingEnabled;exports.setState=e.setState;exports.setVisibleInCustomShadowRendering=e.setVisibleInCustomShadowRendering;exports.setWorldEuler=e.setWorldEuler;exports.setWorldPosition=e.setWorldPosition;exports.setWorldPositionXYZ=e.setWorldPositionXYZ;exports.setWorldQuaternion=e.setWorldQuaternion;exports.setWorldQuaternionXYZW=e.setWorldQuaternionXYZW;exports.setWorldRotation=e.setWorldRotation;exports.setWorldRotationXYZ=e.setWorldRotationXYZ;exports.setWorldScale=e.setWorldScale;exports.showBalloonError=e.showBalloonError;exports.showBalloonMessage=e.showBalloonMessage;exports.showBalloonWarning=e.showBalloonWarning;exports.showDebugConsole=e.showDebugConsole;exports.slerp=e.slerp;exports.syncDestroy=e.syncDestroy;exports.syncField=e.syncField;exports.syncInstantiate=e.syncInstantiate;exports.textureToCanvas=e.textureToCanvas;exports.toSourceId=e.toSourceId;exports.tryCastBinary=e.tryCastBinary;exports.tryDetermineMimetypeFromBinary=e.tryDetermineMimetypeFromBinary;exports.tryDetermineMimetypeFromURL=e.tryDetermineMimetypeFromURL;exports.tryFindObject=e.tryFindObject;exports.tryGetGuid=e.tryGetGuid;exports.unregisterHotReloadType=e.unregisterHotReloadType;exports.unwatchWrite=e.unwatchWrite;exports.useForAutoFit=e.useForAutoFit;exports.validate=e.validate;exports.watchWrite=e.watchWrite;exports.NEEDLE_progressive=i.NEEDLE_progressive;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@needle-tools/engine",
|
|
3
|
-
"version": "4.11.5
|
|
3
|
+
"version": "4.11.5",
|
|
4
4
|
"description": "Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in.",
|
|
5
5
|
"main": "dist/needle-engine.min.js",
|
|
6
6
|
"exports": {
|
|
@@ -169,4 +169,4 @@
|
|
|
169
169
|
"module": "lib/needle-engine.js",
|
|
170
170
|
"typings": "lib/needle-engine.d.ts",
|
|
171
171
|
"types": "lib/needle-engine.d.ts"
|
|
172
|
-
}
|
|
172
|
+
}
|