@needle-tools/engine 4.10.4-beta.1 → 4.10.4
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 +2 -2
- package/dist/{needle-engine.bundle-CISyfLmw.js → needle-engine.bundle-CQzbMO5P.js} +3 -3
- package/dist/{needle-engine.bundle-Pv4x7cNm.umd.cjs → needle-engine.bundle-DfqZ3U87.umd.cjs} +2 -2
- package/dist/{needle-engine.bundle-DIrp94Zb.min.js → needle-engine.bundle-ITqL-yYC.min.js} +1 -1
- package/dist/needle-engine.d.ts +15 -15
- 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 +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,8 +4,8 @@ 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.10.4
|
|
8
|
-
- Update three-animation-pointer dependency to 1.0.4 to support KHR_node_visibility extension
|
|
7
|
+
## [4.10.4] - 2025-10-08
|
|
8
|
+
- Update: three-animation-pointer dependency to 1.0.4 to support KHR_node_visibility extension
|
|
9
9
|
- Documentation improvements
|
|
10
10
|
|
|
11
11
|
## [4.10.3] - 2025-10-06
|
|
@@ -1775,11 +1775,11 @@ bo('if(!globalThis["NEEDLE_ENGINE_VERSION"]) globalThis["NEEDLE_ENGINE_VERSION"]
|
|
|
1775
1775
|
bo('if(!globalThis["NEEDLE_ENGINE_GENERATOR"]) globalThis["NEEDLE_ENGINE_GENERATOR"] = "unknown";');
|
|
1776
1776
|
bo('if(!globalThis["NEEDLE_PROJECT_BUILD_TIME"]) globalThis["NEEDLE_PROJECT_BUILD_TIME"] = "unknown";');
|
|
1777
1777
|
bo('if(!globalThis["NEEDLE_PUBLIC_KEY"]) globalThis["NEEDLE_PUBLIC_KEY"] = "unknown";');
|
|
1778
|
-
bo('globalThis["__NEEDLE_ENGINE_VERSION__"] = "4.10.4
|
|
1778
|
+
bo('globalThis["__NEEDLE_ENGINE_VERSION__"] = "4.10.4";');
|
|
1779
1779
|
bo('globalThis["__NEEDLE_ENGINE_GENERATOR__"] = "undefined";');
|
|
1780
|
-
bo('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "Wed Oct 08 2025
|
|
1780
|
+
bo('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "Wed Oct 08 2025 13:19:02 GMT+0000 (Coordinated Universal Time)";');
|
|
1781
1781
|
bo('globalThis["__NEEDLE_PUBLIC_KEY__"] = "' + NEEDLE_PUBLIC_KEY + '";');
|
|
1782
|
-
const jn = "4.10.4
|
|
1782
|
+
const jn = "4.10.4", Hm = "undefined", x0 = "Wed Oct 08 2025 13:19:02 GMT+0000 (Coordinated Universal Time)";
|
|
1783
1783
|
w0 && console.log(`Engine version: ${jn} (generator: ${Hm})
|
|
1784
1784
|
Project built at ${x0}`);
|
|
1785
1785
|
const Dl = NEEDLE_PUBLIC_KEY, uo = "needle_isActiveInHierarchy", Xr = "builtin_components", Gh = "needle_editor_guid";
|
package/dist/{needle-engine.bundle-Pv4x7cNm.umd.cjs → needle-engine.bundle-DfqZ3U87.umd.cjs}
RENAMED
|
@@ -141,7 +141,7 @@ void main(){
|
|
|
141
141
|
#__vconsole .vc-mask {
|
|
142
142
|
overflow: hidden;
|
|
143
143
|
}
|
|
144
|
-
`,wo?.prepend(i),s===!0&&Cb()<=0&&Vb(),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.":"")),Za=!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 $b=w("debugdefines");so('if(!globalThis["NEEDLE_ENGINE_VERSION"]) globalThis["NEEDLE_ENGINE_VERSION"] = "0.0.0";');so('if(!globalThis["NEEDLE_ENGINE_GENERATOR"]) globalThis["NEEDLE_ENGINE_GENERATOR"] = "unknown";');so('if(!globalThis["NEEDLE_PROJECT_BUILD_TIME"]) globalThis["NEEDLE_PROJECT_BUILD_TIME"] = "unknown";');so('if(!globalThis["NEEDLE_PUBLIC_KEY"]) globalThis["NEEDLE_PUBLIC_KEY"] = "unknown";');so('globalThis["__NEEDLE_ENGINE_VERSION__"] = "4.10.4
|
|
144
|
+
`,wo?.prepend(i),s===!0&&Cb()<=0&&Vb(),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.":"")),Za=!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 $b=w("debugdefines");so('if(!globalThis["NEEDLE_ENGINE_VERSION"]) globalThis["NEEDLE_ENGINE_VERSION"] = "0.0.0";');so('if(!globalThis["NEEDLE_ENGINE_GENERATOR"]) globalThis["NEEDLE_ENGINE_GENERATOR"] = "unknown";');so('if(!globalThis["NEEDLE_PROJECT_BUILD_TIME"]) globalThis["NEEDLE_PROJECT_BUILD_TIME"] = "unknown";');so('if(!globalThis["NEEDLE_PUBLIC_KEY"]) globalThis["NEEDLE_PUBLIC_KEY"] = "unknown";');so('globalThis["__NEEDLE_ENGINE_VERSION__"] = "4.10.4";');so('globalThis["__NEEDLE_ENGINE_GENERATOR__"] = "undefined";');so('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "Wed Oct 08 2025 13:19:02 GMT+0000 (Coordinated Universal Time)";');so('globalThis["__NEEDLE_PUBLIC_KEY__"] = "'+NEEDLE_PUBLIC_KEY+'";');const Ji="4.10.4",qd="undefined",gm="Wed Oct 08 2025 13:19:02 GMT+0000 (Coordinated Universal Time)";$b&&console.log(`Engine version: ${Ji} (generator: ${qd})
|
|
145
145
|
Project built at ${gm}`);const Qr=NEEDLE_PUBLIC_KEY,ls="needle_isActiveInHierarchy",Ro="builtin_components",Il="needle_editor_guid";function so(s){try{(0,eval)(s)}catch(e){$b&&console.error(e)}}let Wb,Ey=null;function nn(){return Wb}function ym(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}Ey!==s&&(Ey=s,Wb=new s)}const ri=Symbol("shadowDomOwner"),kS=w("debugpatch");function Xd(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]=Ty(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]=Ty(l,s,e);else{const h=this[o];Hb(s,e,this,h,l),this[o]=l,Gb(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=_m(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 Ry=Symbol("Needle:Patches:WrappedFunction");function Ty(s,e,t){if(s[Ry])return s;const i=function(...n){Hb(e,t,this,...n);const o=s.apply(this,n);return Gb(e,t,this,o,...n),o};return i[Ry]=!0,i}const Qh="Needle:Patches";function fp(){return globalThis[Qh]||(globalThis[Qh]=new WeakMap),globalThis[Qh]}function _m(s,e){const t=fp().get(s);return t?t.get(e):null}function RS(s,e,t,i){let n=fp().get(s);n||(n=new Map,fp().set(s,n));let o=n.get(e);o||(o=[],n.set(e,o)),o.push({prefix:t,postfix:i})}function Hb(s,e,t,...i){if(!t)return;const n=_m(s,e);if(n)for(const o of n)o.prefix?.call(t,...i)}function Gb(s,e,t,i,...n){if(!t)return;const o=_m(s,e);if(o)for(const r of o)r.postfix?.call(t,i,...n)}const ua=[];function Qd(s){ua.indexOf(s)===-1&&ua.push(s)}function TS(s){const e=ua.indexOf(s);e!==-1&&ua.splice(e,1)}const fa=[];function bm(s){fa.indexOf(s)===-1&&fa.push(s)}function AS(s){const e=fa.indexOf(s);e!==-1&&fa.splice(e,1)}function qb(s){globalThis.dispatchEvent(new CustomEvent("needle-xrsession-start",{detail:s}));for(let e=0;e<ua.length;e++)ua[e](s)}function Xb(s){globalThis.dispatchEvent(new CustomEvent("needle-xrsession-end",{detail:s}));for(let e=0;e<fa.length;e++)fa[e](s)}const Xe=w("debuginput");var Yd=(s=>(s.Mouse="mouse",s.Touch="touch",s.Controller="controller",s.Hand="hand",s))(Yd||{}),we=(s=>(s.PointerDown="pointerdown",s.PointerUp="pointerup",s.PointerMove="pointermove",s.KeyDown="keydown",s.KeyUp="keyup",s.KeyPressed="keypress",s))(we||{});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 yl extends KeyboardEvent{source;constructor(e,t,i){super(e,i),this.source=t}stopImmediatePropagation(){super.stopImmediatePropagation(),this.source?.stopImmediatePropagation()}}class LS{key;keyType;source;constructor(e){this.key=e.key,this.keyType=e.type,this.source=e}}var Gt=(s=>(s[s.Early=-100]="Early",s[s.Default=0]="Default",s[s.Late=100]="Late",s))(Gt||{});class Qb{_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 yl){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&&Se("Create Pointer down"),this.onDownButton(e.deviceIndex,e.button),this.onDown(e);break;case"pointermove":Xe&&Se("Create Pointer move"),this.onMove(e);break;case"pointerup":Xe&&Se("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 yl("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 yl("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 yl("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&&Se(`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||F(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&&he("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=z.Current;try{z.Current=this.context,this.dispatchEvent(e)}finally{z.Current=t}}}const ia=new c.Matrix4().makeRotationY(Math.PI),ki=new c.Quaternion().setFromAxisAngle(new c.Vector3(0,1,0),Math.PI),DS=w("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",DS){const e=Om(16733661);e.position.y+=.5,this.gameObject.add(e)}}}const $n=w("debugwebxr"),mh=w("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 vm{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 F(this._gripPosition)}get gripQuaternion(){return Ht(this._gripQuaternion)}get gripMatrix(){return this._gripMatrix}get gripLinearVelocity(){return F(this._linearVelocity).applyQuaternion(ki)}get rayPosition(){return F(this._rayPosition)}get rayQuaternion(){return Ht(this._rayQuaternion)}get gripWorldPosition(){return F(this._gripWorldPosition)}_gripWorldPosition=new c.Vector3;get gripWorldQuaternion(){return Ht(this._gripWorldQuaternion)}_gripWorldQuaternion=new c.Quaternion;get rayWorldPosition(){return F(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 Ht(this._rayWorldQuaternion)}_rayWorldQuaternion=new c.Quaternion;get pinchPosition(){return F(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(F(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=F(0,1,0).applyQuaternion(e.quaternion),i=F(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}`,$n&&(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(){I.DrawSphere(this.rayWorldPosition,.003),I.DrawDirection(this.rayWorldPosition,F(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[vt],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),Md(Ep,{element:this.#t}),this.#o?.disconnect(),this.#o??=new MutationObserver(()=>this.#l()),this.#o.observe(this.#e,{attributes:!0}),op&&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=>{op&&console.log("Needle Button clicked"),!e.defaultPrevented&&this.#e&&this.#e.click()}}typeof window<"u"&&!window.customElements.get(mb)&&window.customElements.define(mb,tx);const gl=w("debugavatar");class py{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 ix{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 an;i=S.instantiate(ha(t,e.scene),o)}}else i=t;if(!i)return null;const n=this.findAvatar(i);return n.isValid?(gl&&console.log("[Custom Avatar] valid config",t,gl?n:""),n):(console.warn("[Custom Avatar] config isn't valid",t,gl?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(gl&&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 nn().parseSync(e,o,null,0))?.scene??null:null}const i=new q.GLTFLoader;return Nm(i,e),new Promise((n,o)=>{const r=this.avatarRegistryUrl+"/"+t;i.load(r,async a=>{await nn().createBuiltinComponents(e,r,a,null,void 0),n(a.scene)},a=>{gl&&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 py(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 nx{get extensionName(){return"DocumentExtension"}onAfterBuildDocument(e){}}class sx{}const qR=Object.freeze(Object.defineProperty({__proto__:null,ActionBuilder:le,ActionCollection:aw,ActionModel:Wt,AlignmentConstraint:Oc,Animation:St,AnimationCurve:Gc,AnimationExtension:_u,AnimationTrackHandler:cc,Animator:rt,AnimatorController:Di,Antialiasing:Xc,Attractor:Fa,AudioExtension:gr,AudioListener:ss,AudioSource:pi,AudioTrackHandler:rs,Avatar:eo,AvatarBlink_Simple:ur,AvatarEyeLook_Rotation:Ym,AvatarLoader:ix,AvatarMarker:xe,AvatarModel:py,Avatar_Brain_LookAt:nc,Avatar_MouthShapes:Rc,Avatar_MustacheShake:Xm,Avatar_POI:qo,AxesHelper:Pa,BaseUIComponent:Bi,BasicIKConstraint:Zm,BehaviorExtension:Mg,BehaviorModel:gt,BloomEffect:Tu,BoxCollider:fu,BoxGizmo:vr,BoxHelperComponent:nt,Button:ws,CallInfo:ns,Camera:qt,CameraTargetReachedEvent:ic,Canvas:ba,CanvasGroup:to,CapsuleCollider:cs,ChangeMaterialOnClick:_g,ChangeTransformOnClick:yr,CharacterController:fr,CharacterControllerInput:fs,ChromaticAberration:Qc,ClickThrough:Xu,Collider:Kt,ColorAdjustments:go,ColorBySpeedModule:Ba,ColorOverLifetimeModule:ku,ContactShadows:Tc,ControlTrackHandler:Nu,CursorFollow:ch,CustomBranding:br,Deletable:ig,DeleteBox:Xs,DepthOfField:hn,DeviceFlag:pu,DocumentExtension:nx,DragControls:Io,DropListener:ps,Duplicatable:og,EffectWrapper:lc,EmissionModule:bs,EmphasizeOnClick:Ea,EnvironmentScene:Gu,EventList:oe,EventListEvent:lu,EventSystem:Bt,EventTrigger:gu,FieldWithDefault:Gv,FixedJoint:Ng,Fog:Da,GltfExport:pg,GltfExportBox:ug,Gradient:xr,Graphic:zc,GraphicRaycaster:cu,GridHelper:Ia,GridLayoutGroup:Lg,GroundProjectedEnv:Bn,GroupActionModel:jo,HideOnStart:Ei,HingeJoint:Vc,HorizontalLayoutGroup:Ag,get HoverAnimation(){return exports.HoverAnimation},Image:$a,InheritVelocityModule:Hg,InputField:oy,InstanceHandle:Xo,InstancingHandler:ir,Interactable:tg,Keyframe:Xt,LODGroup:Wc,LODModel:ja,Light:ei,LimitVelocityOverLifetimeModule:et,LogStats:eg,LookAt:ry,LookAtConstraint:dr,MainModule:Ot,MarkerTrackHandler:zu,MaskableGraphic:Nc,MeshCollider:lo,MeshRenderer:Lc,MinMaxCurve:H,MinMaxGradient:Sr,NeedleMenu:Un,NestedGltf:Hc,Networking:$g,NoiseModule:fe,ObjectRaycaster:fi,OffsetConstraint:wr,OpenURL:Wa,OrbitControls:de,Outline:La,Padding:_r,ParticleBurst:zd,ParticleSubEmitter:Gg,ParticleSystem:ac,ParticleSystemRenderer:Vi,PhysicsExtension:kg,PixelationEffect:Yc,PlayAnimationOnClick:oc,PlayAudioOnClick:Js,PlayableDirector:or,PlayerColor:va,PointerEventData:kc,PostProcessingHandler:Kg,PreliminaryAction:Ra,PreliminaryTrigger:jc,RawImage:Wu,Rect:uw,RectTransform:rn,ReflectionProbe:sc,RegisteredAnimationInfo:Ws,RemoteSkybox:Lu,Renderer:mi,RendererLightmap:Bd,Rigidbody:Ne,RotationBySpeedModule:Ni,RotationOverLifetimeModule:cn,SceneSwitcher:Be,ScreenCapture:yo,ScreenSpaceAmbientOcclusion:vs,ScreenSpaceAmbientOcclusionN8:dn,ScrollFollow:xs,SetActiveOnClick:bg,ShadowCatcher:eh,ShapeModule:Wg,SharpeningEffect:Zc,SignalAsset:Uu,SignalReceiver:oh,SignalReceiverEvent:sh,SignalTrackHandler:hc,Size:dw,SizeBySpeedModule:ti,SizeOverLifetimeModule:Cr,SkinnedMeshRenderer:dg,SmoothFollow:Iu,SpatialGrabRaycaster:er,SpatialHtml:ah,SpatialTrigger:ju,SpatialTriggerReceiver:Dn,SpectatorCamera:Bu,SphereCollider:Oa,SplineContainer:kr,SplineData:jn,SplineWalker:un,Sprite:gs,SpriteData:la,SpriteRenderer:Zt,SpriteSheet:_a,SubEmitterSystem:Nd,SyncedCamera:Jg,SyncedRoom:fn,SyncedTransform:on,TapGestureTrigger:wg,TeleportTarget:Su,TestRunner:ey,TestSimulateUserData:ty,Text:Pt,TextBuilder:Rg,TextExtension:Pu,TextureSheetAnimationModule:Mt,TiltShiftEffect:Vn,ToneMappingEffect:io,TrailModule:Re,TransformData:ke,TransformGizmo:Rr,TriggerBuilder:xt,TriggerModel:Qs,UIRaycastUtils:Wm,UIRootComponent:Fc,USDZExporter:Ln,USDZText:ea,USDZUIExtension:Ig,UsageMarker:Ac,VariantAction:yg,VelocityOverLifetimeModule:Le,VerticalLayoutGroup:Tg,VideoPlayer:Ze,get ViewBox(){return exports.ViewBox},Vignette:Mr,VisibilityAction:Bc,Voip:ao,Volume:za,VolumeParameter:j,VolumeProfile:Eu,WebARCameraBackground:hh,WebARSessionRoot:hi,WebXR:Cu,WebXRImageTracking:dh,WebXRImageTrackingModel:Cs,WebXRPlaneTracking:Ps,WebXRTrackedImage:wa,XRControllerFollow:Ss,XRControllerModel:hs,XRControllerMovement:gi,XRFlag:Ti,XRRig:Qu,XRState:jt,__Ignore:sx},Symbol.toStringTag,{value:"Module"})),uc=w("debugmissingcamera");ae.registerCallback(re.MissingCamera,s=>{uc&&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=Go.Uninitialized;else if(s.context.domElement.getAttribute("background-image")?.length||s.context.lightmaps.tryGetSkybox(i.sourceId))i.clearFlags=Go.Skybox;else{if(i.clearFlags=Go.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 Gu("neutral");e.environment=a.fromScene(l,.025).texture}}const o=No(t,i,!0);return t.position.x=0,t.position.y=1,t.position.z=2,s.context.domElement?.cameraControls!=!1&&ox(s.context,o),o});ae.registerCallback(re.ContextCreated,s=>{if(!s.context.mainCamera){uc&&console.log("Will not auto-fit because a default camera exists");return}if(s.context.domElement?.cameraControls==!0){if(Eb(s.context.mainCamera)?.isCameraController==!0){uc&&console.log("Will not auto-fit because a camera controller exists");return}ox(s.context)}});function ox(s,e){e=e??s.mainCameraComponent;const t=e?.gameObject;if(uc&&console.log("Creating default camera controls",e?.name),t){const i=wc(t,de);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,uc&&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 St&&n.playAutomatically||n instanceof rt||n instanceof or&&n.playOnAwake===!0)return!0;if(n instanceof St)return n.playAutomatically=!0,!0;if(n instanceof or)return n.playOnAwake=!0,!0}},!0)!==!0&&Zs.autoplayAnimations(t.file)});exports.SplineUtils=void 0;(s=>{function e(t,i=!1,n=.75){const o=new kr,r=1-D.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 jn;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 XR extends se.WorkerBase{constructor(){super(new Worker(new URL("/generateMeshBVH.worker-2qGLkQjg.js",typeof document>"u"?require("url").pathToFileURL(__filename).href:Ku&&Ku.tagName.toUpperCase()==="SCRIPT"&&Ku.src||new URL("needle-engine.bundle-Pv4x7cNm.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 b=new c.BufferAttribute(u.index,1,!1);t.setIndex(b)}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 QR=Object.freeze(Object.defineProperty({__proto__:null,GenerateMeshBVHWorker:XR},Symbol.toStringTag,{value:"Module"}));exports.$physicsKey=OP;exports.ActionBuilder=le;exports.ActionCollection=aw;exports.ActionModel=Wt;exports.Addressables=W0;exports.AlignmentConstraint=Oc;exports.AmbientMode=ra;exports.Animation=St;exports.AnimationCurve=Gc;exports.AnimationExtension=_u;exports.AnimationTrackHandler=cc;exports.AnimationUtils=Zs;exports.Animator=rt;exports.AnimatorConditionMode=Us;exports.AnimatorController=Di;exports.AnimatorControllerParameterType=Vm;exports.AnimatorStateInfo=wl;exports.Antialiasing=Xc;exports.Application=sn;exports.AssetDatabase=a0;exports.AssetReference=Y;exports.Attractor=Fa;exports.AudioExtension=gr;exports.AudioListener=ss;exports.AudioSource=pi;exports.AudioTrackHandler=rs;exports.Avatar=eo;exports.AvatarBlink_Simple=ur;exports.AvatarEyeLook_Rotation=Ym;exports.AvatarLoader=ix;exports.AvatarMarker=xe;exports.AvatarModel=py;exports.Avatar_Brain_LookAt=nc;exports.Avatar_MouthShapes=Rc;exports.Avatar_MustacheShake=Xm;exports.Avatar_POI=qo;exports.Axes=Zr;exports.AxesHelper=Pa;exports.BUILD_TIME=gm;exports.BaseUIComponent=Bi;exports.BasicIKConstraint=Zm;exports.BehaviorExtension=Mg;exports.BehaviorModel=gt;exports.BloomEffect=Tu;exports.BoxCollider=fu;exports.BoxGizmo=vr;exports.BoxHelperComponent=nt;exports.Button=ws;exports.ButtonsFactory=Ki;exports.CallDirection=Ov;exports.CallInfo=ns;exports.Camera=qt;exports.CameraTargetReachedEvent=ic;exports.Canvas=ba;exports.CanvasGroup=to;exports.CapsuleCollider=cs;exports.ChangeMaterialOnClick=_g;exports.ChangeTransformOnClick=yr;exports.CharacterController=fr;exports.CharacterControllerInput=fs;exports.ChromaticAberration=Qc;exports.CircularBuffer=di;exports.ClearFlags=Go;exports.ClickThrough=Xu;exports.ClipExtrapolation=bn;exports.Collider=Kt;exports.Collision=Sv;exports.CollisionDetectionMode=au;exports.ColorAdjustments=go;exports.ColorBySpeedModule=Ba;exports.ColorOverLifetimeModule=ku;exports.Component=D1;exports.Component$1=k;exports.ComponentLifecycleEvents=Zd;exports.Components=qR;exports.ConnectionEvents=t0;exports.ContactPoint=xv;exports.ContactShadows=Tc;exports.Context=z;exports.ContextArgs=b1;exports.ContextEvent=re;exports.ContextRegistry=ae;exports.ControlTrackHandler=Nu;exports.CursorFollow=ch;exports.CustomBranding=br;exports.CustomShader=ye;exports.DefaultReflectionMode=Od;exports.Deletable=ig;exports.DeleteBox=Xs;exports.DepthOfField=hn;exports.DeviceFlag=pu;exports.DocumentExtension=nx;exports.DragControls=Io;exports.DragMode=ng;exports.DropListener=ps;exports.Duplicatable=og;exports.EffectWrapper=lc;exports.EmissionModule=bs;exports.EmphasizeOnClick=Ea;exports.EngineLoadingView=dc;exports.EnvironmentScene=Gu;exports.EventList=oe;exports.EventListEvent=lu;exports.EventSystem=Bt;exports.EventTrigger=gu;exports.FieldWithDefault=Gv;exports.FileReference=Wo;exports.FileReferenceSerializer=G0;exports.FileSpawnModel=QP;exports.File_Event=Lv;exports.FixedJoint=Ng;exports.Fog=Da;exports.FrameEvent=pe;exports.GENERATOR=qd;exports.GameObject=S;exports.Gizmos=I;exports.GltfExport=pg;exports.GltfExportBox=ug;exports.Gradient=xr;exports.Graphic=zc;exports.GraphicRaycaster=cu;exports.Graphics=Ks;exports.GridHelper=Ia;exports.GridLayoutGroup=Lg;exports.GroundProjectedEnv=Bn;exports.GroupActionModel=jo;exports.HideFlags=hu;exports.HideOnStart=Ei;exports.HingeJoint=Vc;exports.HorizontalLayoutGroup=Ag;exports.HostData=vC;exports.Image=$a;exports.ImageReference=$o;exports.ImageReferenceSerializer=H0;exports.InheritVelocityModule=Hg;exports.Input=Qb;exports.InputEventQueue=Gt;exports.InputEvents=we;exports.InputField=oy;exports.InstanceHandle=Xo;exports.InstancingHandler=ir;exports.InstancingUtil=Li;exports.InstantiateEvent=_0;exports.InstantiateIdProvider=mt;exports.InstantiateOptions=an;exports.Interactable=tg;exports.JoinedRoomResponse=WS;exports.KeyEventArgs=LS;exports.Keyframe=Xt;exports.LODGroup=Wc;exports.LODModel=ja;exports.LeftRoomResponse=HS;exports.Light=ei;exports.LightData=K0;exports.LimitVelocityOverLifetimeModule=et;exports.LoadingElementOptions=AR;exports.LogStats=eg;exports.LogType=ci;exports.LookAt=ry;exports.LookAtConstraint=dr;exports.MainModule=Ot;exports.MarkerTrackHandler=zu;exports.MarkerType=iy;exports.MaskableGraphic=Nc;exports.Mathf=D;exports.MeshCollider=lo;exports.MeshRenderer=Lc;exports.MinMaxCurve=H;exports.MinMaxGradient=Sr;exports.NEKeyboardEvent=yl;exports.NEPointerEvent=Zn;exports.NeedleButtonElement=tx;exports.NeedleEngineWebComponent=fy;exports.NeedleMenu=Un;exports.NeedlePatchesKey=Qh;exports.NeedleXRController=vm;exports.NeedleXRSession=G;exports.NeedleXRSync=s0;exports.NeedleXRUtils=r0;exports.NestedGltf=Hc;exports.NetworkConnection=n0;exports.NetworkedStreamEvents=Mn;exports.NetworkedStreams=Ec;exports.Networking=$g;exports.NewInstanceModel=v0;exports.NoiseModule=fe;exports.ObjectRaycaster=fi;exports.ObjectUtils=ar;exports.OffsetConstraint=wr;exports.OneEuroFilter=qh;exports.OneEuroFilterXYZ=lm;exports.OpenURL=Wa;exports.OrbitControls=de;exports.Outline=La;exports.OwnershipEvent=i0;exports.OwnershipModel=Cm;exports.PUBLIC_KEY=Qr;exports.Padding=_r;exports.ParticleBurst=zd;exports.ParticleSubEmitter=Gg;exports.ParticleSystem=ac;exports.ParticleSystemBaseBehaviour=mo;exports.ParticleSystemRenderer=Vi;exports.ParticleSystemShapeType=Ud;exports.PeerHandle=os;exports.PeerNetworking=e0;exports.Physics=ma;exports.PhysicsExtension=kg;exports.PhysicsMaterialCombine=it;exports.PixelationEffect=Yc;exports.PlayAnimationOnClick=oc;exports.PlayAudioOnClick=Js;exports.PlayableDirector=or;exports.PlayerColor=va;exports.PlayerState=Zi;exports.PlayerStateEvent=hw;exports.PlayerSync=Pg;exports.PlayerView=X0;exports.PlayerViewManager=Q0;exports.PointerEventData=kc;exports.PointerType=Yd;exports.PostProcessingEffect=Ve;exports.PostProcessingEffectOrder=Ke;exports.PostProcessingHandler=Kg;exports.PreliminaryAction=Ra;exports.PreliminaryTrigger=jc;exports.PrimitiveType=Yo;exports.Progress=ie;exports.PromiseAllWithErrors=rm;exports.PromiseErrorResult=lp;exports.RGBAColor=Z;exports.RapierPhysics=ca;exports.RawImage=Wu;exports.RaycastOptions=ro;exports.Rect=uw;exports.RectTransform=rn;exports.ReflectionProbe=sc;exports.RegisteredAnimationInfo=Ws;exports.RemoteSkybox=Lu;exports.RenderTexture=On;exports.RenderTextureSerializer=_v;exports.Renderer=mi;exports.RendererData=Y0;exports.RendererLightmap=Bd;exports.Rigidbody=Ne;exports.RigidbodyConstraints=Ie;exports.RoomEvents=Q;exports.RotationBySpeedModule=Ni;exports.RotationOverLifetimeModule=cn;exports.SceneLightSettings=Dd;exports.SceneSwitcher=Be;exports.ScreenCapture=yo;exports.ScreenSpaceAmbientOcclusion=vs;exports.ScreenSpaceAmbientOcclusionN8=dn;exports.ScrollFollow=xs;exports.SendQueue=Yi;exports.SerializationContext=Im;exports.SetActiveOnClick=bg;exports.ShadowCatcher=eh;exports.ShapeModule=Wg;exports.ShapeOverlapResult=Cv;exports.SharpeningEffect=Zc;exports.SignalAsset=Uu;exports.SignalReceiver=oh;exports.SignalReceiverEvent=sh;exports.SignalTrackHandler=hc;exports.Size=dw;exports.SizeBySpeedModule=ti;exports.SizeOverLifetimeModule=Cr;exports.SkinnedMeshRenderer=dg;exports.SmoothFollow=Iu;exports.SpatialGrabRaycaster=er;exports.SpatialHtml=ah;exports.SpatialTrigger=ju;exports.SpatialTriggerReceiver=Dn;exports.SpectatorCamera=Bu;exports.SphereCollider=Oa;exports.SphereIntersection=Mm;exports.SplineContainer=kr;exports.SplineData=jn;exports.SplineWalker=un;exports.Sprite=gs;exports.SpriteData=la;exports.SpriteRenderer=Zt;exports.SpriteSheet=_a;exports.StateMachineBehaviour=z1;exports.StreamEndedEvent=Gm;exports.StreamReceivedEvent=Pv;exports.SubEmitterSystem=Nd;exports.SyncedCamera=Jg;exports.SyncedRoom=fn;exports.SyncedTransform=on;exports.TapGestureTrigger=wg;exports.TeleportTarget=Su;exports.TestRunner=ey;exports.TestSceneUtils=NR;exports.TestSimulateUserData=ty;exports.Text=Pt;exports.TextBuilder=Rg;exports.TextExtension=Pu;exports.TextureSheetAnimationModule=Mt;exports.TiltShiftEffect=Vn;exports.Time=Z0;exports.ToneMappingEffect=io;exports.TrackHandler=Va;exports.TrackType=si;exports.TrailModule=Re;exports.TransformData=ke;exports.TransformGizmo=Rr;exports.TriggerBuilder=xt;exports.TriggerModel=Qs;exports.TypeStore=P;exports.UIRaycastUtils=Wm;exports.UIRootComponent=Fc;exports.USDDocument=mg;exports.USDObject=ze;exports.USDWriter=Zv;exports.USDZExporter=Ln;exports.USDZExporter$1=Jv;exports.USDZText=ea;exports.USDZUIExtension=Ig;exports.UriSerializer=bv;exports.UsageMarker=Ac;exports.UserJoinedOrLeftRoomModel=GS;exports.VERSION=Ji;exports.VariantAction=yg;exports.VelocityOverLifetimeModule=Le;exports.VerticalLayoutGroup=Tg;exports.VideoPlayer=Ze;exports.ViewDevice=Hs;exports.Vignette=Mr;exports.VisibilityAction=Bc;exports.Voip=ao;exports.Volume=za;exports.VolumeParameter=j;exports.VolumeProfile=Eu;exports.WaitForFrames=ZC;exports.WaitForPromise=q0;exports.WaitForSeconds=Fm;exports.Watch=as;exports.WebARCameraBackground=hh;exports.WebARSessionRoot=hi;exports.WebXR=Cu;exports.WebXRButtonFactory=Ys;exports.WebXRImageTracking=dh;exports.WebXRImageTrackingModel=Cs;exports.WebXRPlaneTracking=Ps;exports.WebXRTrackedImage=wa;exports.XRControllerFollow=Ss;exports.XRControllerModel=hs;exports.XRControllerMovement=gi;exports.XRFlag=Ti;exports.XRRig=Qu;exports.XRState=jt;exports.XRStateFlag=Cn;exports.__Ignore=sx;exports.__internalNotifyObjectDestroyed=cC;exports.activeInHierarchyFieldName=ls;exports.addAttributeChangeCallback=sm;exports.addComponent=en;exports.addCustomExtensionPlugin=yO;exports.addNewComponent=No;exports.addPatch=Xd;exports.apply=eu;exports.applyHMRChanges=L1;exports.applyPrototypeExtensions=A0;exports.beginListenDestroy=b0;exports.beginListenInstantiate=x0;exports.binaryIdentifierCasts=wm;exports.build_scene_functions=_1;exports.builtinComponentKeyName=Ro;exports.calculateProgress01=uy;exports.clearMessages=Vx;exports.colorSerializer=nP;exports.compareAssociation=O0;exports.componentSerializer=sd;exports.copyTexture=jb;exports.createMotion=fv;exports.debugNet=zt;exports.debugOwner=_l;exports.decompressGpuTexture=nw;exports.deepClone=pc;exports.delay=In;exports.delayForFrames=mc;exports.deserializeObject=Cd;exports.destroy=ui;exports.destroyComponentInstance=I0;exports.determineMimeTypeFromExtension=Dv;exports.disposeObjectResources=_e;exports.disposeStream=kn;exports.editorGuidKeyName=Il;exports.enableSpatialConsole=Fo;exports.euler=oP;exports.eventListSerializer=cP;exports.exportAsGLTF=WR;exports.findByGuid=Bm;exports.findObjectOfType=Sa;exports.findObjectsOfType=B0;exports.findResourceUsers=km;exports.fitCamera=pv;exports.fitObjectIntoVolume=Fb;exports.foreachComponent=Zo;exports.foreachComponentEnumerator=iu;exports.forward=rS;exports.generateQRCode=Sb;exports.generateSeed=w0;exports.getBoundingBox=Ft;exports.getCameraController=Eb;exports.getComponent=cr;exports.getComponentInChildren=Sc;exports.getComponentInParent=Jl;exports.getComponents=xc;exports.getComponentsInChildren=xa;exports.getComponentsInParent=Jd;exports.getFormattedDate=Xv;exports.getIconElement=pt;exports.getIconTexture=kp;exports.getLoader=nn;exports.getOrAddComponent=wc;exports.getParam=w;exports.getParentHierarchyPath=cS;exports.getPath=bx;exports.getPeerOptions=zS;exports.getPeerjsInstance=Jb;exports.getResourceUserCount=dC;exports.getTempColor=Ab;exports.getTempQuaternion=Ht;exports.getTempVector=F;exports.getUrlParams=fc;exports.getVisibleInCustomShadowRendering=Bb;exports.getWorldDirection=Lb;exports.getWorldEuler=dm;exports.getWorldPosition=X;exports.getWorldQuaternion=ue;exports.getWorldRotation=Gd;exports.getWorldScale=je;exports.hasCommercialLicense=Gs;exports.hasIndieLicense=Pc;exports.hasPointerEventComponent=Rd;exports.hasProLicense=An;exports.hideDebugConsole=Vb;exports.imageToCanvas=sw;exports.instantiate=Jo;exports.invokeLoadedImportPluginHooks=$v;exports.invokeXRSessionEnd=Xb;exports.invokeXRSessionStart=qb;exports.isActiveInHierarchy=F0;exports.isActiveSelf=Ca;exports.isAndroidDevice=Px;exports.isAnimationAction=Ib;exports.isComponent=wv;exports.isDebugMode=mx;exports.isDesktop=wx;exports.isDestroyed=Ko;exports.isDevEnvironment=A;exports.isDisposed=lC;exports.isExporting=VR;exports.isGLTFModel=vv;exports.isHostedOnGlitch=gb;exports.isHotReloadEnabled=Lp;exports.isHotReloading=T1;exports.isIPad=Sx;exports.isIconElement=tv;exports.isLocalNetwork=Ii;exports.isMacOS=Mx;exports.isMobileDevice=xx;exports.isMozillaXR=Ox;exports.isQuest=Rx;exports.isResourceTrackingEnabled=c0;exports.isSafari=Ex;exports.isUsingInstancing=tu;exports.isiOS=kx;exports.isiPad=Cx;exports.loadAsset=OR;exports.loadPMREM=Dw;exports.loadSync=dy;exports.logHierarchy=gd;exports.lookAtInverse=Zx;exports.lookAtObject=gc;exports.lookAtScreenPoint=Jx;exports.makeId=yx;exports.makeIdFromRandomWords=bb;exports.makeNameSafe=ji;exports.markAsInstancedRendered=U0;exports.microphonePermissionsGranted=Tx;exports.nameof=px;exports.nameofFactory=yb;exports.objectSerializer=yv;exports.offXRSessionEnd=AS;exports.offXRSessionStart=TS;exports.onAfterRender=E1;exports.onBeforeRender=k1;exports.onClear=O1;exports.onDestroy=M1;exports.onInitialized=rv;exports.onStart=ou;exports.onUpdate=av;exports.onXRSessionEnd=bm;exports.onXRSessionStart=Qd;exports.parseSync=Yw;exports.placeOnSurface=Ub;exports.postprocessFBXMaterials=pm;exports.prefix=K1;exports.pushState=_b;exports.randomNumber=_x;exports.registerBinaryType=xm;exports.registerComponent=su;exports.registerComponentExtension=lg;exports.registerCustomEffectType=$i;exports.registerExportExtensions=cg;exports.registerExtensions=jd;exports.registerHotReloadType=cv;exports.registerLoader=ym;exports.registerPrefabProvider=C0;exports.registerPrototypeExtensions=L0;exports.registerType=Am;exports.relativePathPrefix=wb;exports.removeAttributeChangeCallback=om;exports.removeComponent=jm;exports.removeCustomImportExtensionType=_O;exports.removePatch=ES;exports.resolveUrl=no;exports.sanitizeString=vb;exports.saveImage=Gw;exports.screenshot=cR;exports.screenshot2=hy;exports.sendDestroyed=Rm;exports.serializable=f;exports.serializeObject=k0;exports.serializeable=$e;exports.setActive=Fl;exports.setAllowBalloonMessages=Ob;exports.setAllowOverlayMessages=Fx;exports.setAutoFitEnabled=pd;exports.setCameraController=hp;exports.setDestroyed=N0;exports.setDevEnvironment=yS;exports.setDisposable=d0;exports.setDontDestroy=Vr;exports.setOrAddParamsToUrl=ap;exports.setParam=gx;exports.setParamWithoutReload=Ql;exports.setPeerOptions=NS;exports.setResourceTrackingEnabled=aC;exports.setState=im;exports.setVisibleInCustomShadowRendering=fm;exports.setWorldEuler=um;exports.setWorldPosition=ot;exports.setWorldPositionXYZ=Qo;exports.setWorldQuaternion=tn;exports.setWorldQuaternionXYZW=hm;exports.setWorldRotation=Db;exports.setWorldRotationXYZ=yc;exports.setWorldScale=da;exports.showBalloonError=_c;exports.showBalloonMessage=Se;exports.showBalloonWarning=he;exports.showDebugConsole=mm;exports.slerp=Kx;exports.syncDestroy=bc;exports.syncField=Cg;exports.syncInstantiate=Tm;exports.textureToCanvas=hS;exports.toSourceId=xb;exports.tryCastBinary=Kb;exports.tryDetermineMimetypeFromBinary=jv;exports.tryDetermineMimetypeFromURL=Iv;exports.tryFindObject=ha;exports.tryGetGuid=Zb;exports.unregisterHotReloadType=hv;exports.unwatchWrite=nm;exports.useForAutoFit=Rb;exports.validate=yt;exports.watchWrite=Hd;
|
|
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),Md(Ep,{element:this.#t}),this.#o?.disconnect(),this.#o??=new MutationObserver(()=>this.#l()),this.#o.observe(this.#e,{attributes:!0}),op&&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=>{op&&console.log("Needle Button clicked"),!e.defaultPrevented&&this.#e&&this.#e.click()}}typeof window<"u"&&!window.customElements.get(mb)&&window.customElements.define(mb,tx);const gl=w("debugavatar");class py{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 ix{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 an;i=S.instantiate(ha(t,e.scene),o)}}else i=t;if(!i)return null;const n=this.findAvatar(i);return n.isValid?(gl&&console.log("[Custom Avatar] valid config",t,gl?n:""),n):(console.warn("[Custom Avatar] config isn't valid",t,gl?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(gl&&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 nn().parseSync(e,o,null,0))?.scene??null:null}const i=new q.GLTFLoader;return Nm(i,e),new Promise((n,o)=>{const r=this.avatarRegistryUrl+"/"+t;i.load(r,async a=>{await nn().createBuiltinComponents(e,r,a,null,void 0),n(a.scene)},a=>{gl&&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 py(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 nx{get extensionName(){return"DocumentExtension"}onAfterBuildDocument(e){}}class sx{}const qR=Object.freeze(Object.defineProperty({__proto__:null,ActionBuilder:le,ActionCollection:aw,ActionModel:Wt,AlignmentConstraint:Oc,Animation:St,AnimationCurve:Gc,AnimationExtension:_u,AnimationTrackHandler:cc,Animator:rt,AnimatorController:Di,Antialiasing:Xc,Attractor:Fa,AudioExtension:gr,AudioListener:ss,AudioSource:pi,AudioTrackHandler:rs,Avatar:eo,AvatarBlink_Simple:ur,AvatarEyeLook_Rotation:Ym,AvatarLoader:ix,AvatarMarker:xe,AvatarModel:py,Avatar_Brain_LookAt:nc,Avatar_MouthShapes:Rc,Avatar_MustacheShake:Xm,Avatar_POI:qo,AxesHelper:Pa,BaseUIComponent:Bi,BasicIKConstraint:Zm,BehaviorExtension:Mg,BehaviorModel:gt,BloomEffect:Tu,BoxCollider:fu,BoxGizmo:vr,BoxHelperComponent:nt,Button:ws,CallInfo:ns,Camera:qt,CameraTargetReachedEvent:ic,Canvas:ba,CanvasGroup:to,CapsuleCollider:cs,ChangeMaterialOnClick:_g,ChangeTransformOnClick:yr,CharacterController:fr,CharacterControllerInput:fs,ChromaticAberration:Qc,ClickThrough:Xu,Collider:Kt,ColorAdjustments:go,ColorBySpeedModule:Ba,ColorOverLifetimeModule:ku,ContactShadows:Tc,ControlTrackHandler:Nu,CursorFollow:ch,CustomBranding:br,Deletable:ig,DeleteBox:Xs,DepthOfField:hn,DeviceFlag:pu,DocumentExtension:nx,DragControls:Io,DropListener:ps,Duplicatable:og,EffectWrapper:lc,EmissionModule:bs,EmphasizeOnClick:Ea,EnvironmentScene:Gu,EventList:oe,EventListEvent:lu,EventSystem:Bt,EventTrigger:gu,FieldWithDefault:Gv,FixedJoint:Ng,Fog:Da,GltfExport:pg,GltfExportBox:ug,Gradient:xr,Graphic:zc,GraphicRaycaster:cu,GridHelper:Ia,GridLayoutGroup:Lg,GroundProjectedEnv:Bn,GroupActionModel:jo,HideOnStart:Ei,HingeJoint:Vc,HorizontalLayoutGroup:Ag,get HoverAnimation(){return exports.HoverAnimation},Image:$a,InheritVelocityModule:Hg,InputField:oy,InstanceHandle:Xo,InstancingHandler:ir,Interactable:tg,Keyframe:Xt,LODGroup:Wc,LODModel:ja,Light:ei,LimitVelocityOverLifetimeModule:et,LogStats:eg,LookAt:ry,LookAtConstraint:dr,MainModule:Ot,MarkerTrackHandler:zu,MaskableGraphic:Nc,MeshCollider:lo,MeshRenderer:Lc,MinMaxCurve:H,MinMaxGradient:Sr,NeedleMenu:Un,NestedGltf:Hc,Networking:$g,NoiseModule:fe,ObjectRaycaster:fi,OffsetConstraint:wr,OpenURL:Wa,OrbitControls:de,Outline:La,Padding:_r,ParticleBurst:zd,ParticleSubEmitter:Gg,ParticleSystem:ac,ParticleSystemRenderer:Vi,PhysicsExtension:kg,PixelationEffect:Yc,PlayAnimationOnClick:oc,PlayAudioOnClick:Js,PlayableDirector:or,PlayerColor:va,PointerEventData:kc,PostProcessingHandler:Kg,PreliminaryAction:Ra,PreliminaryTrigger:jc,RawImage:Wu,Rect:uw,RectTransform:rn,ReflectionProbe:sc,RegisteredAnimationInfo:Ws,RemoteSkybox:Lu,Renderer:mi,RendererLightmap:Bd,Rigidbody:Ne,RotationBySpeedModule:Ni,RotationOverLifetimeModule:cn,SceneSwitcher:Be,ScreenCapture:yo,ScreenSpaceAmbientOcclusion:vs,ScreenSpaceAmbientOcclusionN8:dn,ScrollFollow:xs,SetActiveOnClick:bg,ShadowCatcher:eh,ShapeModule:Wg,SharpeningEffect:Zc,SignalAsset:Uu,SignalReceiver:oh,SignalReceiverEvent:sh,SignalTrackHandler:hc,Size:dw,SizeBySpeedModule:ti,SizeOverLifetimeModule:Cr,SkinnedMeshRenderer:dg,SmoothFollow:Iu,SpatialGrabRaycaster:er,SpatialHtml:ah,SpatialTrigger:ju,SpatialTriggerReceiver:Dn,SpectatorCamera:Bu,SphereCollider:Oa,SplineContainer:kr,SplineData:jn,SplineWalker:un,Sprite:gs,SpriteData:la,SpriteRenderer:Zt,SpriteSheet:_a,SubEmitterSystem:Nd,SyncedCamera:Jg,SyncedRoom:fn,SyncedTransform:on,TapGestureTrigger:wg,TeleportTarget:Su,TestRunner:ey,TestSimulateUserData:ty,Text:Pt,TextBuilder:Rg,TextExtension:Pu,TextureSheetAnimationModule:Mt,TiltShiftEffect:Vn,ToneMappingEffect:io,TrailModule:Re,TransformData:ke,TransformGizmo:Rr,TriggerBuilder:xt,TriggerModel:Qs,UIRaycastUtils:Wm,UIRootComponent:Fc,USDZExporter:Ln,USDZText:ea,USDZUIExtension:Ig,UsageMarker:Ac,VariantAction:yg,VelocityOverLifetimeModule:Le,VerticalLayoutGroup:Tg,VideoPlayer:Ze,get ViewBox(){return exports.ViewBox},Vignette:Mr,VisibilityAction:Bc,Voip:ao,Volume:za,VolumeParameter:j,VolumeProfile:Eu,WebARCameraBackground:hh,WebARSessionRoot:hi,WebXR:Cu,WebXRImageTracking:dh,WebXRImageTrackingModel:Cs,WebXRPlaneTracking:Ps,WebXRTrackedImage:wa,XRControllerFollow:Ss,XRControllerModel:hs,XRControllerMovement:gi,XRFlag:Ti,XRRig:Qu,XRState:jt,__Ignore:sx},Symbol.toStringTag,{value:"Module"})),uc=w("debugmissingcamera");ae.registerCallback(re.MissingCamera,s=>{uc&&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=Go.Uninitialized;else if(s.context.domElement.getAttribute("background-image")?.length||s.context.lightmaps.tryGetSkybox(i.sourceId))i.clearFlags=Go.Skybox;else{if(i.clearFlags=Go.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 Gu("neutral");e.environment=a.fromScene(l,.025).texture}}const o=No(t,i,!0);return t.position.x=0,t.position.y=1,t.position.z=2,s.context.domElement?.cameraControls!=!1&&ox(s.context,o),o});ae.registerCallback(re.ContextCreated,s=>{if(!s.context.mainCamera){uc&&console.log("Will not auto-fit because a default camera exists");return}if(s.context.domElement?.cameraControls==!0){if(Eb(s.context.mainCamera)?.isCameraController==!0){uc&&console.log("Will not auto-fit because a camera controller exists");return}ox(s.context)}});function ox(s,e){e=e??s.mainCameraComponent;const t=e?.gameObject;if(uc&&console.log("Creating default camera controls",e?.name),t){const i=wc(t,de);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,uc&&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 St&&n.playAutomatically||n instanceof rt||n instanceof or&&n.playOnAwake===!0)return!0;if(n instanceof St)return n.playAutomatically=!0,!0;if(n instanceof or)return n.playOnAwake=!0,!0}},!0)!==!0&&Zs.autoplayAnimations(t.file)});exports.SplineUtils=void 0;(s=>{function e(t,i=!1,n=.75){const o=new kr,r=1-D.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 jn;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 XR extends se.WorkerBase{constructor(){super(new Worker(new URL("/generateMeshBVH.worker-2qGLkQjg.js",typeof document>"u"?require("url").pathToFileURL(__filename).href:Ku&&Ku.tagName.toUpperCase()==="SCRIPT"&&Ku.src||new URL("needle-engine.bundle-DfqZ3U87.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 b=new c.BufferAttribute(u.index,1,!1);t.setIndex(b)}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 QR=Object.freeze(Object.defineProperty({__proto__:null,GenerateMeshBVHWorker:XR},Symbol.toStringTag,{value:"Module"}));exports.$physicsKey=OP;exports.ActionBuilder=le;exports.ActionCollection=aw;exports.ActionModel=Wt;exports.Addressables=W0;exports.AlignmentConstraint=Oc;exports.AmbientMode=ra;exports.Animation=St;exports.AnimationCurve=Gc;exports.AnimationExtension=_u;exports.AnimationTrackHandler=cc;exports.AnimationUtils=Zs;exports.Animator=rt;exports.AnimatorConditionMode=Us;exports.AnimatorController=Di;exports.AnimatorControllerParameterType=Vm;exports.AnimatorStateInfo=wl;exports.Antialiasing=Xc;exports.Application=sn;exports.AssetDatabase=a0;exports.AssetReference=Y;exports.Attractor=Fa;exports.AudioExtension=gr;exports.AudioListener=ss;exports.AudioSource=pi;exports.AudioTrackHandler=rs;exports.Avatar=eo;exports.AvatarBlink_Simple=ur;exports.AvatarEyeLook_Rotation=Ym;exports.AvatarLoader=ix;exports.AvatarMarker=xe;exports.AvatarModel=py;exports.Avatar_Brain_LookAt=nc;exports.Avatar_MouthShapes=Rc;exports.Avatar_MustacheShake=Xm;exports.Avatar_POI=qo;exports.Axes=Zr;exports.AxesHelper=Pa;exports.BUILD_TIME=gm;exports.BaseUIComponent=Bi;exports.BasicIKConstraint=Zm;exports.BehaviorExtension=Mg;exports.BehaviorModel=gt;exports.BloomEffect=Tu;exports.BoxCollider=fu;exports.BoxGizmo=vr;exports.BoxHelperComponent=nt;exports.Button=ws;exports.ButtonsFactory=Ki;exports.CallDirection=Ov;exports.CallInfo=ns;exports.Camera=qt;exports.CameraTargetReachedEvent=ic;exports.Canvas=ba;exports.CanvasGroup=to;exports.CapsuleCollider=cs;exports.ChangeMaterialOnClick=_g;exports.ChangeTransformOnClick=yr;exports.CharacterController=fr;exports.CharacterControllerInput=fs;exports.ChromaticAberration=Qc;exports.CircularBuffer=di;exports.ClearFlags=Go;exports.ClickThrough=Xu;exports.ClipExtrapolation=bn;exports.Collider=Kt;exports.Collision=Sv;exports.CollisionDetectionMode=au;exports.ColorAdjustments=go;exports.ColorBySpeedModule=Ba;exports.ColorOverLifetimeModule=ku;exports.Component=D1;exports.Component$1=k;exports.ComponentLifecycleEvents=Zd;exports.Components=qR;exports.ConnectionEvents=t0;exports.ContactPoint=xv;exports.ContactShadows=Tc;exports.Context=z;exports.ContextArgs=b1;exports.ContextEvent=re;exports.ContextRegistry=ae;exports.ControlTrackHandler=Nu;exports.CursorFollow=ch;exports.CustomBranding=br;exports.CustomShader=ye;exports.DefaultReflectionMode=Od;exports.Deletable=ig;exports.DeleteBox=Xs;exports.DepthOfField=hn;exports.DeviceFlag=pu;exports.DocumentExtension=nx;exports.DragControls=Io;exports.DragMode=ng;exports.DropListener=ps;exports.Duplicatable=og;exports.EffectWrapper=lc;exports.EmissionModule=bs;exports.EmphasizeOnClick=Ea;exports.EngineLoadingView=dc;exports.EnvironmentScene=Gu;exports.EventList=oe;exports.EventListEvent=lu;exports.EventSystem=Bt;exports.EventTrigger=gu;exports.FieldWithDefault=Gv;exports.FileReference=Wo;exports.FileReferenceSerializer=G0;exports.FileSpawnModel=QP;exports.File_Event=Lv;exports.FixedJoint=Ng;exports.Fog=Da;exports.FrameEvent=pe;exports.GENERATOR=qd;exports.GameObject=S;exports.Gizmos=I;exports.GltfExport=pg;exports.GltfExportBox=ug;exports.Gradient=xr;exports.Graphic=zc;exports.GraphicRaycaster=cu;exports.Graphics=Ks;exports.GridHelper=Ia;exports.GridLayoutGroup=Lg;exports.GroundProjectedEnv=Bn;exports.GroupActionModel=jo;exports.HideFlags=hu;exports.HideOnStart=Ei;exports.HingeJoint=Vc;exports.HorizontalLayoutGroup=Ag;exports.HostData=vC;exports.Image=$a;exports.ImageReference=$o;exports.ImageReferenceSerializer=H0;exports.InheritVelocityModule=Hg;exports.Input=Qb;exports.InputEventQueue=Gt;exports.InputEvents=we;exports.InputField=oy;exports.InstanceHandle=Xo;exports.InstancingHandler=ir;exports.InstancingUtil=Li;exports.InstantiateEvent=_0;exports.InstantiateIdProvider=mt;exports.InstantiateOptions=an;exports.Interactable=tg;exports.JoinedRoomResponse=WS;exports.KeyEventArgs=LS;exports.Keyframe=Xt;exports.LODGroup=Wc;exports.LODModel=ja;exports.LeftRoomResponse=HS;exports.Light=ei;exports.LightData=K0;exports.LimitVelocityOverLifetimeModule=et;exports.LoadingElementOptions=AR;exports.LogStats=eg;exports.LogType=ci;exports.LookAt=ry;exports.LookAtConstraint=dr;exports.MainModule=Ot;exports.MarkerTrackHandler=zu;exports.MarkerType=iy;exports.MaskableGraphic=Nc;exports.Mathf=D;exports.MeshCollider=lo;exports.MeshRenderer=Lc;exports.MinMaxCurve=H;exports.MinMaxGradient=Sr;exports.NEKeyboardEvent=yl;exports.NEPointerEvent=Zn;exports.NeedleButtonElement=tx;exports.NeedleEngineWebComponent=fy;exports.NeedleMenu=Un;exports.NeedlePatchesKey=Qh;exports.NeedleXRController=vm;exports.NeedleXRSession=G;exports.NeedleXRSync=s0;exports.NeedleXRUtils=r0;exports.NestedGltf=Hc;exports.NetworkConnection=n0;exports.NetworkedStreamEvents=Mn;exports.NetworkedStreams=Ec;exports.Networking=$g;exports.NewInstanceModel=v0;exports.NoiseModule=fe;exports.ObjectRaycaster=fi;exports.ObjectUtils=ar;exports.OffsetConstraint=wr;exports.OneEuroFilter=qh;exports.OneEuroFilterXYZ=lm;exports.OpenURL=Wa;exports.OrbitControls=de;exports.Outline=La;exports.OwnershipEvent=i0;exports.OwnershipModel=Cm;exports.PUBLIC_KEY=Qr;exports.Padding=_r;exports.ParticleBurst=zd;exports.ParticleSubEmitter=Gg;exports.ParticleSystem=ac;exports.ParticleSystemBaseBehaviour=mo;exports.ParticleSystemRenderer=Vi;exports.ParticleSystemShapeType=Ud;exports.PeerHandle=os;exports.PeerNetworking=e0;exports.Physics=ma;exports.PhysicsExtension=kg;exports.PhysicsMaterialCombine=it;exports.PixelationEffect=Yc;exports.PlayAnimationOnClick=oc;exports.PlayAudioOnClick=Js;exports.PlayableDirector=or;exports.PlayerColor=va;exports.PlayerState=Zi;exports.PlayerStateEvent=hw;exports.PlayerSync=Pg;exports.PlayerView=X0;exports.PlayerViewManager=Q0;exports.PointerEventData=kc;exports.PointerType=Yd;exports.PostProcessingEffect=Ve;exports.PostProcessingEffectOrder=Ke;exports.PostProcessingHandler=Kg;exports.PreliminaryAction=Ra;exports.PreliminaryTrigger=jc;exports.PrimitiveType=Yo;exports.Progress=ie;exports.PromiseAllWithErrors=rm;exports.PromiseErrorResult=lp;exports.RGBAColor=Z;exports.RapierPhysics=ca;exports.RawImage=Wu;exports.RaycastOptions=ro;exports.Rect=uw;exports.RectTransform=rn;exports.ReflectionProbe=sc;exports.RegisteredAnimationInfo=Ws;exports.RemoteSkybox=Lu;exports.RenderTexture=On;exports.RenderTextureSerializer=_v;exports.Renderer=mi;exports.RendererData=Y0;exports.RendererLightmap=Bd;exports.Rigidbody=Ne;exports.RigidbodyConstraints=Ie;exports.RoomEvents=Q;exports.RotationBySpeedModule=Ni;exports.RotationOverLifetimeModule=cn;exports.SceneLightSettings=Dd;exports.SceneSwitcher=Be;exports.ScreenCapture=yo;exports.ScreenSpaceAmbientOcclusion=vs;exports.ScreenSpaceAmbientOcclusionN8=dn;exports.ScrollFollow=xs;exports.SendQueue=Yi;exports.SerializationContext=Im;exports.SetActiveOnClick=bg;exports.ShadowCatcher=eh;exports.ShapeModule=Wg;exports.ShapeOverlapResult=Cv;exports.SharpeningEffect=Zc;exports.SignalAsset=Uu;exports.SignalReceiver=oh;exports.SignalReceiverEvent=sh;exports.SignalTrackHandler=hc;exports.Size=dw;exports.SizeBySpeedModule=ti;exports.SizeOverLifetimeModule=Cr;exports.SkinnedMeshRenderer=dg;exports.SmoothFollow=Iu;exports.SpatialGrabRaycaster=er;exports.SpatialHtml=ah;exports.SpatialTrigger=ju;exports.SpatialTriggerReceiver=Dn;exports.SpectatorCamera=Bu;exports.SphereCollider=Oa;exports.SphereIntersection=Mm;exports.SplineContainer=kr;exports.SplineData=jn;exports.SplineWalker=un;exports.Sprite=gs;exports.SpriteData=la;exports.SpriteRenderer=Zt;exports.SpriteSheet=_a;exports.StateMachineBehaviour=z1;exports.StreamEndedEvent=Gm;exports.StreamReceivedEvent=Pv;exports.SubEmitterSystem=Nd;exports.SyncedCamera=Jg;exports.SyncedRoom=fn;exports.SyncedTransform=on;exports.TapGestureTrigger=wg;exports.TeleportTarget=Su;exports.TestRunner=ey;exports.TestSceneUtils=NR;exports.TestSimulateUserData=ty;exports.Text=Pt;exports.TextBuilder=Rg;exports.TextExtension=Pu;exports.TextureSheetAnimationModule=Mt;exports.TiltShiftEffect=Vn;exports.Time=Z0;exports.ToneMappingEffect=io;exports.TrackHandler=Va;exports.TrackType=si;exports.TrailModule=Re;exports.TransformData=ke;exports.TransformGizmo=Rr;exports.TriggerBuilder=xt;exports.TriggerModel=Qs;exports.TypeStore=P;exports.UIRaycastUtils=Wm;exports.UIRootComponent=Fc;exports.USDDocument=mg;exports.USDObject=ze;exports.USDWriter=Zv;exports.USDZExporter=Ln;exports.USDZExporter$1=Jv;exports.USDZText=ea;exports.USDZUIExtension=Ig;exports.UriSerializer=bv;exports.UsageMarker=Ac;exports.UserJoinedOrLeftRoomModel=GS;exports.VERSION=Ji;exports.VariantAction=yg;exports.VelocityOverLifetimeModule=Le;exports.VerticalLayoutGroup=Tg;exports.VideoPlayer=Ze;exports.ViewDevice=Hs;exports.Vignette=Mr;exports.VisibilityAction=Bc;exports.Voip=ao;exports.Volume=za;exports.VolumeParameter=j;exports.VolumeProfile=Eu;exports.WaitForFrames=ZC;exports.WaitForPromise=q0;exports.WaitForSeconds=Fm;exports.Watch=as;exports.WebARCameraBackground=hh;exports.WebARSessionRoot=hi;exports.WebXR=Cu;exports.WebXRButtonFactory=Ys;exports.WebXRImageTracking=dh;exports.WebXRImageTrackingModel=Cs;exports.WebXRPlaneTracking=Ps;exports.WebXRTrackedImage=wa;exports.XRControllerFollow=Ss;exports.XRControllerModel=hs;exports.XRControllerMovement=gi;exports.XRFlag=Ti;exports.XRRig=Qu;exports.XRState=jt;exports.XRStateFlag=Cn;exports.__Ignore=sx;exports.__internalNotifyObjectDestroyed=cC;exports.activeInHierarchyFieldName=ls;exports.addAttributeChangeCallback=sm;exports.addComponent=en;exports.addCustomExtensionPlugin=yO;exports.addNewComponent=No;exports.addPatch=Xd;exports.apply=eu;exports.applyHMRChanges=L1;exports.applyPrototypeExtensions=A0;exports.beginListenDestroy=b0;exports.beginListenInstantiate=x0;exports.binaryIdentifierCasts=wm;exports.build_scene_functions=_1;exports.builtinComponentKeyName=Ro;exports.calculateProgress01=uy;exports.clearMessages=Vx;exports.colorSerializer=nP;exports.compareAssociation=O0;exports.componentSerializer=sd;exports.copyTexture=jb;exports.createMotion=fv;exports.debugNet=zt;exports.debugOwner=_l;exports.decompressGpuTexture=nw;exports.deepClone=pc;exports.delay=In;exports.delayForFrames=mc;exports.deserializeObject=Cd;exports.destroy=ui;exports.destroyComponentInstance=I0;exports.determineMimeTypeFromExtension=Dv;exports.disposeObjectResources=_e;exports.disposeStream=kn;exports.editorGuidKeyName=Il;exports.enableSpatialConsole=Fo;exports.euler=oP;exports.eventListSerializer=cP;exports.exportAsGLTF=WR;exports.findByGuid=Bm;exports.findObjectOfType=Sa;exports.findObjectsOfType=B0;exports.findResourceUsers=km;exports.fitCamera=pv;exports.fitObjectIntoVolume=Fb;exports.foreachComponent=Zo;exports.foreachComponentEnumerator=iu;exports.forward=rS;exports.generateQRCode=Sb;exports.generateSeed=w0;exports.getBoundingBox=Ft;exports.getCameraController=Eb;exports.getComponent=cr;exports.getComponentInChildren=Sc;exports.getComponentInParent=Jl;exports.getComponents=xc;exports.getComponentsInChildren=xa;exports.getComponentsInParent=Jd;exports.getFormattedDate=Xv;exports.getIconElement=pt;exports.getIconTexture=kp;exports.getLoader=nn;exports.getOrAddComponent=wc;exports.getParam=w;exports.getParentHierarchyPath=cS;exports.getPath=bx;exports.getPeerOptions=zS;exports.getPeerjsInstance=Jb;exports.getResourceUserCount=dC;exports.getTempColor=Ab;exports.getTempQuaternion=Ht;exports.getTempVector=F;exports.getUrlParams=fc;exports.getVisibleInCustomShadowRendering=Bb;exports.getWorldDirection=Lb;exports.getWorldEuler=dm;exports.getWorldPosition=X;exports.getWorldQuaternion=ue;exports.getWorldRotation=Gd;exports.getWorldScale=je;exports.hasCommercialLicense=Gs;exports.hasIndieLicense=Pc;exports.hasPointerEventComponent=Rd;exports.hasProLicense=An;exports.hideDebugConsole=Vb;exports.imageToCanvas=sw;exports.instantiate=Jo;exports.invokeLoadedImportPluginHooks=$v;exports.invokeXRSessionEnd=Xb;exports.invokeXRSessionStart=qb;exports.isActiveInHierarchy=F0;exports.isActiveSelf=Ca;exports.isAndroidDevice=Px;exports.isAnimationAction=Ib;exports.isComponent=wv;exports.isDebugMode=mx;exports.isDesktop=wx;exports.isDestroyed=Ko;exports.isDevEnvironment=A;exports.isDisposed=lC;exports.isExporting=VR;exports.isGLTFModel=vv;exports.isHostedOnGlitch=gb;exports.isHotReloadEnabled=Lp;exports.isHotReloading=T1;exports.isIPad=Sx;exports.isIconElement=tv;exports.isLocalNetwork=Ii;exports.isMacOS=Mx;exports.isMobileDevice=xx;exports.isMozillaXR=Ox;exports.isQuest=Rx;exports.isResourceTrackingEnabled=c0;exports.isSafari=Ex;exports.isUsingInstancing=tu;exports.isiOS=kx;exports.isiPad=Cx;exports.loadAsset=OR;exports.loadPMREM=Dw;exports.loadSync=dy;exports.logHierarchy=gd;exports.lookAtInverse=Zx;exports.lookAtObject=gc;exports.lookAtScreenPoint=Jx;exports.makeId=yx;exports.makeIdFromRandomWords=bb;exports.makeNameSafe=ji;exports.markAsInstancedRendered=U0;exports.microphonePermissionsGranted=Tx;exports.nameof=px;exports.nameofFactory=yb;exports.objectSerializer=yv;exports.offXRSessionEnd=AS;exports.offXRSessionStart=TS;exports.onAfterRender=E1;exports.onBeforeRender=k1;exports.onClear=O1;exports.onDestroy=M1;exports.onInitialized=rv;exports.onStart=ou;exports.onUpdate=av;exports.onXRSessionEnd=bm;exports.onXRSessionStart=Qd;exports.parseSync=Yw;exports.placeOnSurface=Ub;exports.postprocessFBXMaterials=pm;exports.prefix=K1;exports.pushState=_b;exports.randomNumber=_x;exports.registerBinaryType=xm;exports.registerComponent=su;exports.registerComponentExtension=lg;exports.registerCustomEffectType=$i;exports.registerExportExtensions=cg;exports.registerExtensions=jd;exports.registerHotReloadType=cv;exports.registerLoader=ym;exports.registerPrefabProvider=C0;exports.registerPrototypeExtensions=L0;exports.registerType=Am;exports.relativePathPrefix=wb;exports.removeAttributeChangeCallback=om;exports.removeComponent=jm;exports.removeCustomImportExtensionType=_O;exports.removePatch=ES;exports.resolveUrl=no;exports.sanitizeString=vb;exports.saveImage=Gw;exports.screenshot=cR;exports.screenshot2=hy;exports.sendDestroyed=Rm;exports.serializable=f;exports.serializeObject=k0;exports.serializeable=$e;exports.setActive=Fl;exports.setAllowBalloonMessages=Ob;exports.setAllowOverlayMessages=Fx;exports.setAutoFitEnabled=pd;exports.setCameraController=hp;exports.setDestroyed=N0;exports.setDevEnvironment=yS;exports.setDisposable=d0;exports.setDontDestroy=Vr;exports.setOrAddParamsToUrl=ap;exports.setParam=gx;exports.setParamWithoutReload=Ql;exports.setPeerOptions=NS;exports.setResourceTrackingEnabled=aC;exports.setState=im;exports.setVisibleInCustomShadowRendering=fm;exports.setWorldEuler=um;exports.setWorldPosition=ot;exports.setWorldPositionXYZ=Qo;exports.setWorldQuaternion=tn;exports.setWorldQuaternionXYZW=hm;exports.setWorldRotation=Db;exports.setWorldRotationXYZ=yc;exports.setWorldScale=da;exports.showBalloonError=_c;exports.showBalloonMessage=Se;exports.showBalloonWarning=he;exports.showDebugConsole=mm;exports.slerp=Kx;exports.syncDestroy=bc;exports.syncField=Cg;exports.syncInstantiate=Tm;exports.textureToCanvas=hS;exports.toSourceId=xb;exports.tryCastBinary=Kb;exports.tryDetermineMimetypeFromBinary=jv;exports.tryDetermineMimetypeFromURL=Iv;exports.tryFindObject=ha;exports.tryGetGuid=Zb;exports.unregisterHotReloadType=hv;exports.unwatchWrite=nm;exports.useForAutoFit=Rb;exports.validate=yt;exports.watchWrite=Hd;
|
|
@@ -141,7 +141,7 @@ void main(){
|
|
|
141
141
|
#__vconsole .vc-mask {
|
|
142
142
|
overflow: hidden;
|
|
143
143
|
}
|
|
144
|
-
`,gr?.prepend(i),o===!0&&Lb()<=0&&r_(),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.":"")),ic=!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 l_=x("debugdefines");ms('if(!globalThis["NEEDLE_ENGINE_VERSION"]) globalThis["NEEDLE_ENGINE_VERSION"] = "0.0.0";'),ms('if(!globalThis["NEEDLE_ENGINE_GENERATOR"]) globalThis["NEEDLE_ENGINE_GENERATOR"] = "unknown";'),ms('if(!globalThis["NEEDLE_PROJECT_BUILD_TIME"]) globalThis["NEEDLE_PROJECT_BUILD_TIME"] = "unknown";'),ms('if(!globalThis["NEEDLE_PUBLIC_KEY"]) globalThis["NEEDLE_PUBLIC_KEY"] = "unknown";'),ms('globalThis["__NEEDLE_ENGINE_VERSION__"] = "4.10.4
|
|
144
|
+
`,gr?.prepend(i),o===!0&&Lb()<=0&&r_(),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.":"")),ic=!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 l_=x("debugdefines");ms('if(!globalThis["NEEDLE_ENGINE_VERSION"]) globalThis["NEEDLE_ENGINE_VERSION"] = "0.0.0";'),ms('if(!globalThis["NEEDLE_ENGINE_GENERATOR"]) globalThis["NEEDLE_ENGINE_GENERATOR"] = "unknown";'),ms('if(!globalThis["NEEDLE_PROJECT_BUILD_TIME"]) globalThis["NEEDLE_PROJECT_BUILD_TIME"] = "unknown";'),ms('if(!globalThis["NEEDLE_PUBLIC_KEY"]) globalThis["NEEDLE_PUBLIC_KEY"] = "unknown";'),ms('globalThis["__NEEDLE_ENGINE_VERSION__"] = "4.10.4";'),ms('globalThis["__NEEDLE_ENGINE_GENERATOR__"] = "undefined";'),ms('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "Wed Oct 08 2025 13:19:02 GMT+0000 (Coordinated Universal Time)";'),ms('globalThis["__NEEDLE_PUBLIC_KEY__"] = "'+NEEDLE_PUBLIC_KEY+'";');const yn="4.10.4",Ad="undefined",eg="Wed Oct 08 2025 13:19:02 GMT+0000 (Coordinated Universal Time)";l_&&console.log(`Engine version: ${yn} (generator: ${Ad})
|
|
145
145
|
Project built at ${eg}`);const Ma=NEEDLE_PUBLIC_KEY,So="needle_isActiveInHierarchy",fr="builtin_components",nc="needle_editor_guid";function ms(o){try{(0,eval)(o)}catch(e){l_&&console.error(e)}}let c_,h_=null;function bn(){return c_}function tg(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}h_!==o&&(h_=o,c_=new o)}const Pi=Symbol("shadowDomOwner"),AO=x("debugpatch");function Id(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]=u_(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]=u_(l,o,e);else{const c=this[s];p_(o,e,this,c,l),this[s]=l,m_(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=ng(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 d_=Symbol("Needle:Patches:WrappedFunction");function u_(o,e,t){if(o[d_])return o;const i=function(...n){p_(e,t,this,...n);const s=o.apply(this,n);return m_(e,t,this,s,...n),s};return i[d_]=!0,i}const Ld="Needle:Patches";function ig(){return globalThis[Ld]||(globalThis[Ld]=new WeakMap),globalThis[Ld]}function ng(o,e){const t=ig().get(o);return t?t.get(e):null}function LO(o,e,t,i){let n=ig().get(o);n||(n=new Map,ig().set(o,n));let s=n.get(e);s||(s=[],n.set(e,s)),s.push({prefix:t,postfix:i})}function p_(o,e,t,...i){if(!t)return;const n=ng(o,e);if(n)for(const s of n)s.prefix?.call(t,...i)}function m_(o,e,t,i,...n){if(!t)return;const s=ng(o,e);if(s)for(const r of s)r.postfix?.call(t,i,...n)}const Ra=[];function jd(o){Ra.indexOf(o)===-1&&Ra.push(o)}function jO(o){const e=Ra.indexOf(o);e!==-1&&Ra.splice(e,1)}const Ta=[];function og(o){Ta.indexOf(o)===-1&&Ta.push(o)}function DO(o){const e=Ta.indexOf(o);e!==-1&&Ta.splice(e,1)}function g_(o){globalThis.dispatchEvent(new CustomEvent("needle-xrsession-start",{detail:o}));for(let e=0;e<Ra.length;e++)Ra[e](o)}function f_(o){globalThis.dispatchEvent(new CustomEvent("needle-xrsession-end",{detail:o}));for(let e=0;e<Ta.length;e++)Ta[e](o)}const ot=x("debuginput");var Dd=(o=>(o.Mouse="mouse",o.Touch="touch",o.Controller="controller",o.Hand="hand",o))(Dd||{}),Ee=(o=>(o.PointerDown="pointerdown",o.PointerUp="pointerup",o.PointerMove="pointermove",o.KeyDown="keydown",o.KeyUp="keyup",o.KeyPressed="keypress",o))(Ee||{});class Co extends PointerEvent{clientZ;deviceIndex;origin;source;mode;get isSpatial(){return this.mode!="screen"}get ray(){return this._ray||(this._ray=new ls(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(),ot&&console.warn("Stop propagation...",this.pointerId,this.pointerType)}}class oc 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 ni=(o=>(o[o.Early=-100]="Early",o[o.Default=0]="Default",o[o.Late=100]="Late",o))(ni||{});class y_{_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 oc){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 Co){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,ot&&console.log("immediatePropagationStopped",e.type);break}else e.propagationStopped&&(t=!0,ot&&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":ot&&Te("Create Pointer down"),this.onDownButton(e.deviceIndex,e.button),this.onDown(e);break;case"pointermove":ot&&Te("Create Pointer move"),this.onMove(e);break;case"pointerup":ot&&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&&G.isMozillaXR()?!0:(ot&&console.warn("CanReceiveInput:False for",e.target),!1)}onContextMenu=e=>{this.canReceiveInput(e)!==!1&&e instanceof PointerEvent&&e.pointerType};keysPressed={};onKeyDown=e=>{if(ot&&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 oc("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 oc("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 oc("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);ot&&Te(`pointer down #${t}, identifier:${e.pointerId}`);const i=this.getAndUpdateSpatialObjectForScreenPosition(t,e.clientX,e.clientY),n=new Co("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 Co("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||(ot&&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 Co("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,ot&&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 Co("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 Co("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 Co("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 k,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||z(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 ot&&!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}`,ot?e:""),ot&&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)){ot&&console.log(e.pointerType,"UP",t,"was not down");return}ot&&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]){ot&&ge("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;ot&&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):(ot&&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 Ea=new K().makeRotationY(Math.PI),Gi=new U().setFromAxisAngle(new b(0,1,0),Math.PI),FO=x("debugwebxr");class zO{priority=-1e5;gameObject;isXRRig(){return!0}get isActive(){return this.gameObject.visible}constructor(){if(this.gameObject=new k,this.gameObject.name="Implicit XR Rig",FO){const e=_g(16733661);e.position.y+=.5,this.gameObject.add(e)}}}const Po=x("debugwebxr"),Bd=x("debugcustomgesture"),UO="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",NO="generic-trigger",VO=new U().setFromEuler(new nt(yo.degToRad(0),yo.degToRad(-90),yo.degToRad(-90))),WO=new b(.04,-.04,0);class sg{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 z(this._gripPosition)}get gripQuaternion(){return ii(this._gripQuaternion)}get gripMatrix(){return this._gripMatrix}get gripLinearVelocity(){return z(this._linearVelocity).applyQuaternion(Gi)}get rayPosition(){return z(this._rayPosition)}get rayQuaternion(){return ii(this._rayQuaternion)}get gripWorldPosition(){return z(this._gripWorldPosition)}_gripWorldPosition=new b;get gripWorldQuaternion(){return ii(this._gripWorldQuaternion)}_gripWorldQuaternion=new U;get rayWorldPosition(){return z(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 ii(this._rayWorldQuaternion)}_rayWorldQuaternion=new U;get pinchPosition(){return z(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(z(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=z(0,1,0).applyQuaternion(e.quaternion),i=z(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 vi(.15);_debugGripAxesHelper=new vi(.07);_debugRayAxesHelper=new vi(.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 k,this._object.name=`NeedleXRController_${i}`,Po&&(this._object.add(this._debugAxesHelper),this._gripSpaceObject=new k,this._raySpaceObject=new k,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 ls,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(){F.DrawSphere(this.rayWorldPosition,.003),F.DrawDirection(this.rayWorldPosition,z(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.d.ts
CHANGED
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
export { }
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
declare module 'three/examples/jsm/controls/OrbitControls.js' {
|
|
5
|
+
interface OrbitControls {
|
|
6
|
+
_sphericalDelta: import("three").Spherical;
|
|
7
|
+
_rotateLeft: (angleInRadians: number) => void;
|
|
8
|
+
_rotateUp: (angleInRadians: number) => void;
|
|
9
|
+
_pan: (dx: number, dy: number) => void;
|
|
10
|
+
_dollyIn: (dollyScale: number) => void;
|
|
11
|
+
_dollyOut: (dollyScale: number) => void;
|
|
12
|
+
}
|
|
13
|
+
interface OrbitControlsEventMap {
|
|
14
|
+
endMovement: Event;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
|
|
4
19
|
declare module 'three' {
|
|
5
20
|
interface SkinnedMesh {
|
|
6
21
|
staticGenerator?: StaticGeometryGenerator;
|
|
@@ -23,21 +38,6 @@ declare module 'three' {
|
|
|
23
38
|
}
|
|
24
39
|
|
|
25
40
|
|
|
26
|
-
declare module 'three/examples/jsm/controls/OrbitControls.js' {
|
|
27
|
-
interface OrbitControls {
|
|
28
|
-
_sphericalDelta: import("three").Spherical;
|
|
29
|
-
_rotateLeft: (angleInRadians: number) => void;
|
|
30
|
-
_rotateUp: (angleInRadians: number) => void;
|
|
31
|
-
_pan: (dx: number, dy: number) => void;
|
|
32
|
-
_dollyIn: (dollyScale: number) => void;
|
|
33
|
-
_dollyOut: (dollyScale: number) => void;
|
|
34
|
-
}
|
|
35
|
-
interface OrbitControlsEventMap {
|
|
36
|
-
endMovement: Event;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
|
|
41
41
|
declare module 'three' {
|
|
42
42
|
interface Object3D {
|
|
43
43
|
get guid(): string | undefined;
|
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 A, ActionCollection as T, 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 Ae, CanvasGroup as Te, 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 At, FixedJoint as Tt, 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 Ao, MarkerType as To, 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 Ar, PlayableDirector as Tr, 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, SendQueue as yn, SerializationContext as En, SetActiveOnClick as Rn, ShadowCatcher as hn, ShapeModule as fn, ShapeOverlapResult as vn, SharpeningEffect as Pn, SignalAsset as An, SignalReceiver as Tn, SignalReceiverEvent as bn, SignalTrackHandler as Mn, Size as In, SizeBySpeedModule as Dn, SizeOverLifetimeModule as On, SkinnedMeshRenderer as xn, SmoothFollow as kn, SpatialGrabRaycaster as Ln, SpatialHtml as Nn, SpatialTrigger as Bn, SpatialTriggerReceiver as Fn, SpectatorCamera as wn, SphereCollider as Un, SphereIntersection as Gn, SplineContainer as Wn, SplineData as Hn, SplineUtils as Xn, SplineWalker as zn, Sprite as Vn, SpriteData as _n, SpriteRenderer as jn, SpriteSheet as Kn, StateMachineBehaviour as Zn, StreamEndedEvent as Qn, StreamReceivedEvent as Yn, SubEmitterSystem as $n, SyncedCamera as Jn, SyncedRoom as qn, SyncedTransform as ei, TapGestureTrigger as ti, TeleportTarget as oi, TestRunner as ri, TestSceneUtils as ni, TestSimulateUserData as ii, Text as ai, TextBuilder as si, TextExtension as li, TextureSheetAnimationModule as di, TiltShiftEffect as ci, Time as mi, ToneMappingEffect as pi, TrackHandler as gi, TrackType as ui, TrailModule as Si, TransformData as Ci, TransformGizmo as yi, TriggerBuilder as Ei, TriggerModel as Ri, TypeStore as hi, UIRaycastUtils as fi, UIRootComponent as vi, USDDocument as Pi, USDObject as Ai, USDWriter as Ti, USDZExporter as bi, USDZText as Mi, USDZUIExtension as Ii, UriSerializer as Di, UsageMarker as Oi, UserJoinedOrLeftRoomModel as xi, VariantAction as ki, VelocityOverLifetimeModule as Li, VerticalLayoutGroup as Ni, VideoPlayer as Bi, ViewBox as Fi, ViewDevice as wi, Vignette as Ui, VisibilityAction as Gi, Voip as Wi, Volume as Hi, VolumeParameter as Xi, VolumeProfile as zi, WaitForFrames as Vi, WaitForPromise as _i, WaitForSeconds as ji, Watch as Ki, WebARCameraBackground as Zi, WebARSessionRoot as Qi, WebXR as Yi, WebXRButtonFactory as $i, WebXRImageTracking as Ji, WebXRImageTrackingModel as qi, WebXRPlaneTracking as ea, WebXRTrackedImage as ta, XRControllerFollow as oa, XRControllerModel as ra, XRControllerMovement as na, XRFlag as ia, XRRig as aa, XRState as sa, XRStateFlag as la, __Ignore as da, __internalNotifyObjectDestroyed as ca, activeInHierarchyFieldName as ma, addAttributeChangeCallback as pa, addComponent as ga, addCustomExtensionPlugin as ua, addNewComponent as Sa, addPatch as Ca, apply as ya, applyHMRChanges as Ea, applyPrototypeExtensions as Ra, beginListenDestroy as ha, beginListenInstantiate as fa, binaryIdentifierCasts as va, build_scene_functions as Pa, builtinComponentKeyName as Aa, calculateProgress01 as Ta, clearMessages as ba, clearMessages as Ma, colorSerializer as Ia, compareAssociation as Da, componentSerializer as Oa, copyTexture as xa, createMotion as ka, debugNet as La, debugOwner as Na, decompressGpuTexture as Ba, deepClone as Fa, delay as wa, delayForFrames as Ua, deserializeObject as Ga, destroy as Wa, destroyComponentInstance as Ha, determineMimeTypeFromExtension as Xa, disposeObjectResources as za, disposeStream as Va, editorGuidKeyName as _a, enableSpatialConsole as ja, euler as Ka, eventListSerializer as Za, exportAsGLTF as Qa, findByGuid as Ya, findObjectOfType as $a, findObjectsOfType as Ja, findResourceUsers as qa, fitCamera as es, fitObjectIntoVolume as ts, foreachComponent as os, foreachComponentEnumerator as rs, forward as ns, generateQRCode as is, generateSeed as as, getBoundingBox as ss, getCameraController as ls, getComponent as ds, getComponentInChildren as cs, getComponentInParent as ms, getComponents as ps, getComponentsInChildren as gs, getComponentsInParent as us, getFormattedDate as Ss, getIconElement as Cs, getIconTexture as ys, getLoader as Es, getOrAddComponent as Rs, getParam as hs, getParentHierarchyPath as fs, getPath as vs, getPeerOptions as Ps, getPeerjsInstance as As, getResourceUserCount as Ts, getTempColor as bs, getTempQuaternion as Ms, getTempVector as Is, getUrlParams as Ds, getVisibleInCustomShadowRendering as Os, getWorldDirection as xs, getWorldEuler as ks, getWorldPosition as Ls, getWorldQuaternion as Ns, getWorldRotation as Bs, getWorldScale as Fs, hasCommercialLicense as ws, hasIndieLicense as Us, hasPointerEventComponent as Gs, hasProLicense as Ws, hideDebugConsole as Hs, imageToCanvas as Xs, instantiate as zs, invokeLoadedImportPluginHooks as Vs, invokeXRSessionEnd as _s, invokeXRSessionStart as js, isActiveInHierarchy as Ks, isActiveSelf as Zs, isAndroidDevice as Qs, isAnimationAction as Ys, isComponent as $s, isDebugMode as Js, isDesktop as qs, isDestroyed as el, isDevEnvironment as tl, isDisposed as ol, isExporting as rl, isGLTFModel as nl, isHostedOnGlitch as il, isHotReloadEnabled as al, isHotReloading as sl, isIPad as ll, isIconElement as dl, isLocalNetwork as cl, isMacOS as ml, isMobileDevice as pl, isMozillaXR as gl, isQuest as ul, isResourceTrackingEnabled as Sl, isSafari as Cl, isUsingInstancing as yl, isiOS as El, isiPad as Rl, loadPMREM as hl, loadSync as fl, logHierarchy as vl, lookAtInverse as Pl, lookAtObject as Al, lookAtScreenPoint as Tl, makeId as bl, makeIdFromRandomWords as Ml, makeNameSafe as Il, markAsInstancedRendered as Dl, microphonePermissionsGranted as Ol, nameof as xl, nameofFactory as kl, objectSerializer as Ll, offXRSessionEnd as Nl, offXRSessionStart as Bl, onXRSessionEnd as Fl, onXRSessionStart as wl, parseSync as Ul, placeOnSurface as Gl, postprocessFBXMaterials as Wl, prefix as Hl, pushState as Xl, randomNumber as zl, registerBinaryType as Vl, registerComponent as _l, registerComponentExtension as jl, registerCustomEffectType as Kl, registerExportExtensions as Zl, registerExtensions as Ql, registerHotReloadType as Yl, registerLoader as $l, registerPrefabProvider as Jl, registerPrototypeExtensions as ql, registerType as ed, relativePathPrefix as td, removeAttributeChangeCallback as od, removeComponent as rd, removeCustomImportExtensionType as nd, removePatch as id, resolveUrl as ad, sanitizeString as sd, saveImage as ld, screenshot as dd, screenshot2 as cd, sendDestroyed as md, serializable as pd, serializeObject as gd, serializeable as ud, setActive as Sd, setAllowBalloonMessages as Cd, setAllowOverlayMessages as yd, setAutoFitEnabled as Ed, setCameraController as Rd, setDestroyed as hd, setDevEnvironment as fd, setDisposable as vd, setDontDestroy as Pd, setOrAddParamsToUrl as Ad, setParam as Td, setParamWithoutReload as bd, setPeerOptions as Md, setResourceTrackingEnabled as Id, setState as Dd, setVisibleInCustomShadowRendering as Od, setWorldEuler as xd, setWorldPosition as kd, setWorldPositionXYZ as Ld, setWorldQuaternion as Nd, setWorldQuaternionXYZW as Bd, setWorldRotation as Fd, setWorldRotationXYZ as wd, setWorldScale as Ud, showBalloonError as Gd, showBalloonMessage as Wd, showBalloonWarning as Hd, showDebugConsole as Xd, slerp as zd, syncDestroy as Vd, syncField as _d, syncInstantiate as jd, textureToCanvas as Kd, toSourceId as Zd, tryCastBinary as Qd, tryDetermineMimetypeFromBinary as Yd, tryDetermineMimetypeFromURL as $d, tryFindObject as Jd, tryGetGuid as qd, unregisterHotReloadType as ec, unwatchWrite as tc, useForAutoFit as oc, validate as rc, watchWrite as nc } from "./needle-engine.bundle-CISyfLmw.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-CQzbMO5P.js";
|
|
2
|
+
import { $physicsKey as P, ActionBuilder as A, ActionCollection as T, 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 Ae, CanvasGroup as Te, 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 At, FixedJoint as Tt, 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 Ao, MarkerType as To, 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 Ar, PlayableDirector as Tr, 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, SendQueue as yn, SerializationContext as En, SetActiveOnClick as Rn, ShadowCatcher as hn, ShapeModule as fn, ShapeOverlapResult as vn, SharpeningEffect as Pn, SignalAsset as An, SignalReceiver as Tn, SignalReceiverEvent as bn, SignalTrackHandler as Mn, Size as In, SizeBySpeedModule as Dn, SizeOverLifetimeModule as On, SkinnedMeshRenderer as xn, SmoothFollow as kn, SpatialGrabRaycaster as Ln, SpatialHtml as Nn, SpatialTrigger as Bn, SpatialTriggerReceiver as Fn, SpectatorCamera as wn, SphereCollider as Un, SphereIntersection as Gn, SplineContainer as Wn, SplineData as Hn, SplineUtils as Xn, SplineWalker as zn, Sprite as Vn, SpriteData as _n, SpriteRenderer as jn, SpriteSheet as Kn, StateMachineBehaviour as Zn, StreamEndedEvent as Qn, StreamReceivedEvent as Yn, SubEmitterSystem as $n, SyncedCamera as Jn, SyncedRoom as qn, SyncedTransform as ei, TapGestureTrigger as ti, TeleportTarget as oi, TestRunner as ri, TestSceneUtils as ni, TestSimulateUserData as ii, Text as ai, TextBuilder as si, TextExtension as li, TextureSheetAnimationModule as di, TiltShiftEffect as ci, Time as mi, ToneMappingEffect as pi, TrackHandler as gi, TrackType as ui, TrailModule as Si, TransformData as Ci, TransformGizmo as yi, TriggerBuilder as Ei, TriggerModel as Ri, TypeStore as hi, UIRaycastUtils as fi, UIRootComponent as vi, USDDocument as Pi, USDObject as Ai, USDWriter as Ti, USDZExporter as bi, USDZText as Mi, USDZUIExtension as Ii, UriSerializer as Di, UsageMarker as Oi, UserJoinedOrLeftRoomModel as xi, VariantAction as ki, VelocityOverLifetimeModule as Li, VerticalLayoutGroup as Ni, VideoPlayer as Bi, ViewBox as Fi, ViewDevice as wi, Vignette as Ui, VisibilityAction as Gi, Voip as Wi, Volume as Hi, VolumeParameter as Xi, VolumeProfile as zi, WaitForFrames as Vi, WaitForPromise as _i, WaitForSeconds as ji, Watch as Ki, WebARCameraBackground as Zi, WebARSessionRoot as Qi, WebXR as Yi, WebXRButtonFactory as $i, WebXRImageTracking as Ji, WebXRImageTrackingModel as qi, WebXRPlaneTracking as ea, WebXRTrackedImage as ta, XRControllerFollow as oa, XRControllerModel as ra, XRControllerMovement as na, XRFlag as ia, XRRig as aa, XRState as sa, XRStateFlag as la, __Ignore as da, __internalNotifyObjectDestroyed as ca, activeInHierarchyFieldName as ma, addAttributeChangeCallback as pa, addComponent as ga, addCustomExtensionPlugin as ua, addNewComponent as Sa, addPatch as Ca, apply as ya, applyHMRChanges as Ea, applyPrototypeExtensions as Ra, beginListenDestroy as ha, beginListenInstantiate as fa, binaryIdentifierCasts as va, build_scene_functions as Pa, builtinComponentKeyName as Aa, calculateProgress01 as Ta, clearMessages as ba, clearMessages as Ma, colorSerializer as Ia, compareAssociation as Da, componentSerializer as Oa, copyTexture as xa, createMotion as ka, debugNet as La, debugOwner as Na, decompressGpuTexture as Ba, deepClone as Fa, delay as wa, delayForFrames as Ua, deserializeObject as Ga, destroy as Wa, destroyComponentInstance as Ha, determineMimeTypeFromExtension as Xa, disposeObjectResources as za, disposeStream as Va, editorGuidKeyName as _a, enableSpatialConsole as ja, euler as Ka, eventListSerializer as Za, exportAsGLTF as Qa, findByGuid as Ya, findObjectOfType as $a, findObjectsOfType as Ja, findResourceUsers as qa, fitCamera as es, fitObjectIntoVolume as ts, foreachComponent as os, foreachComponentEnumerator as rs, forward as ns, generateQRCode as is, generateSeed as as, getBoundingBox as ss, getCameraController as ls, getComponent as ds, getComponentInChildren as cs, getComponentInParent as ms, getComponents as ps, getComponentsInChildren as gs, getComponentsInParent as us, getFormattedDate as Ss, getIconElement as Cs, getIconTexture as ys, getLoader as Es, getOrAddComponent as Rs, getParam as hs, getParentHierarchyPath as fs, getPath as vs, getPeerOptions as Ps, getPeerjsInstance as As, getResourceUserCount as Ts, getTempColor as bs, getTempQuaternion as Ms, getTempVector as Is, getUrlParams as Ds, getVisibleInCustomShadowRendering as Os, getWorldDirection as xs, getWorldEuler as ks, getWorldPosition as Ls, getWorldQuaternion as Ns, getWorldRotation as Bs, getWorldScale as Fs, hasCommercialLicense as ws, hasIndieLicense as Us, hasPointerEventComponent as Gs, hasProLicense as Ws, hideDebugConsole as Hs, imageToCanvas as Xs, instantiate as zs, invokeLoadedImportPluginHooks as Vs, invokeXRSessionEnd as _s, invokeXRSessionStart as js, isActiveInHierarchy as Ks, isActiveSelf as Zs, isAndroidDevice as Qs, isAnimationAction as Ys, isComponent as $s, isDebugMode as Js, isDesktop as qs, isDestroyed as el, isDevEnvironment as tl, isDisposed as ol, isExporting as rl, isGLTFModel as nl, isHostedOnGlitch as il, isHotReloadEnabled as al, isHotReloading as sl, isIPad as ll, isIconElement as dl, isLocalNetwork as cl, isMacOS as ml, isMobileDevice as pl, isMozillaXR as gl, isQuest as ul, isResourceTrackingEnabled as Sl, isSafari as Cl, isUsingInstancing as yl, isiOS as El, isiPad as Rl, loadPMREM as hl, loadSync as fl, logHierarchy as vl, lookAtInverse as Pl, lookAtObject as Al, lookAtScreenPoint as Tl, makeId as bl, makeIdFromRandomWords as Ml, makeNameSafe as Il, markAsInstancedRendered as Dl, microphonePermissionsGranted as Ol, nameof as xl, nameofFactory as kl, objectSerializer as Ll, offXRSessionEnd as Nl, offXRSessionStart as Bl, onXRSessionEnd as Fl, onXRSessionStart as wl, parseSync as Ul, placeOnSurface as Gl, postprocessFBXMaterials as Wl, prefix as Hl, pushState as Xl, randomNumber as zl, registerBinaryType as Vl, registerComponent as _l, registerComponentExtension as jl, registerCustomEffectType as Kl, registerExportExtensions as Zl, registerExtensions as Ql, registerHotReloadType as Yl, registerLoader as $l, registerPrefabProvider as Jl, registerPrototypeExtensions as ql, registerType as ed, relativePathPrefix as td, removeAttributeChangeCallback as od, removeComponent as rd, removeCustomImportExtensionType as nd, removePatch as id, resolveUrl as ad, sanitizeString as sd, saveImage as ld, screenshot as dd, screenshot2 as cd, sendDestroyed as md, serializable as pd, serializeObject as gd, serializeable as ud, setActive as Sd, setAllowBalloonMessages as Cd, setAllowOverlayMessages as yd, setAutoFitEnabled as Ed, setCameraController as Rd, setDestroyed as hd, setDevEnvironment as fd, setDisposable as vd, setDontDestroy as Pd, setOrAddParamsToUrl as Ad, setParam as Td, setParamWithoutReload as bd, setPeerOptions as Md, setResourceTrackingEnabled as Id, setState as Dd, setVisibleInCustomShadowRendering as Od, setWorldEuler as xd, setWorldPosition as kd, setWorldPositionXYZ as Ld, setWorldQuaternion as Nd, setWorldQuaternionXYZW as Bd, setWorldRotation as Fd, setWorldRotationXYZ as wd, setWorldScale as Ud, showBalloonError as Gd, showBalloonMessage as Wd, showBalloonWarning as Hd, showDebugConsole as Xd, slerp as zd, syncDestroy as Vd, syncField as _d, syncInstantiate as jd, textureToCanvas as Kd, toSourceId as Zd, tryCastBinary as Qd, tryDetermineMimetypeFromBinary as Yd, tryDetermineMimetypeFromURL as $d, tryFindObject as Jd, tryGetGuid as qd, unregisterHotReloadType as ec, unwatchWrite as tc, useForAutoFit as oc, validate as rc, watchWrite as nc } from "./needle-engine.bundle-CQzbMO5P.js";
|
|
3
3
|
import { NEEDLE_progressive as ac } from "./gltf-progressive-B63NpN_i.js";
|
|
4
4
|
import { THREE as E } from "./three-CJSAehtG.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-DIrp94Zb.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,SendQueue as mo,SerializationContext as po,SetActiveOnClick as go,ShadowCatcher as uo,ShapeModule as So,ShapeOverlapResult as Co,SharpeningEffect as yo,SignalAsset as Eo,SignalReceiver as Ro,SignalReceiverEvent as ho,SignalTrackHandler as vo,Size as fo,SizeBySpeedModule as Po,SizeOverLifetimeModule as Ao,SkinnedMeshRenderer as To,SmoothFollow as bo,SpatialGrabRaycaster as Mo,SpatialHtml as Io,SpatialTrigger as Do,SpatialTriggerReceiver as Oo,SpectatorCamera as xo,SphereCollider as ko,SphereIntersection as Lo,SplineContainer as Bo,SplineData as Fo,SplineUtils as No,SplineWalker as wo,Sprite as Uo,SpriteData as Wo,SpriteRenderer as Go,SpriteSheet as Ho,StateMachineBehaviour as Xo,StreamEndedEvent as zo,StreamReceivedEvent as Vo,SubEmitterSystem as _o,SyncedCamera as jo,SyncedRoom as Ko,SyncedTransform as Qo,TapGestureTrigger as Zo,TeleportTarget as Yo,TestRunner as Jo,TestSceneUtils as $o,TestSimulateUserData as qo,Text as er,TextBuilder as ar,TextExtension as sr,TextureSheetAnimationModule as tr,TiltShiftEffect as or,Time as rr,ToneMappingEffect as nr,TrackHandler as ir,TrackType as lr,TrailModule as dr,TransformData as cr,TransformGizmo as mr,TriggerBuilder as pr,TriggerModel as gr,TypeStore as ur,UIRaycastUtils as Sr,UIRootComponent as Cr,USDDocument as yr,USDObject as Er,USDWriter as Rr,USDZExporter as hr,USDZText as vr,USDZUIExtension as fr,UriSerializer as Pr,UsageMarker as Ar,UserJoinedOrLeftRoomModel as Tr,VariantAction as br,VelocityOverLifetimeModule as Mr,VerticalLayoutGroup as Ir,VideoPlayer as Dr,ViewBox as Or,ViewDevice as xr,Vignette as kr,VisibilityAction as Lr,Voip as Br,Volume as Fr,VolumeParameter as Nr,VolumeProfile as wr,WaitForFrames as Ur,WaitForPromise as Wr,WaitForSeconds as Gr,Watch as Hr,WebARCameraBackground as Xr,WebARSessionRoot as zr,WebXR as Vr,WebXRButtonFactory as _r,WebXRImageTracking as jr,WebXRImageTrackingModel as Kr,WebXRPlaneTracking as Qr,WebXRTrackedImage as Zr,XRControllerFollow as Yr,XRControllerModel as Jr,XRControllerMovement as $r,XRFlag as qr,XRRig as en,XRState as an,XRStateFlag as sn,__Ignore as tn,__internalNotifyObjectDestroyed as on,activeInHierarchyFieldName as rn,addAttributeChangeCallback as nn,addComponent as ln,addCustomExtensionPlugin as dn,addNewComponent as cn,addPatch as mn,apply as pn,applyHMRChanges as gn,applyPrototypeExtensions as un,beginListenDestroy as Sn,beginListenInstantiate as Cn,binaryIdentifierCasts as yn,build_scene_functions as En,builtinComponentKeyName as Rn,calculateProgress01 as hn,clearMessages as vn,clearMessages as fn,colorSerializer as Pn,compareAssociation as An,componentSerializer as Tn,copyTexture as bn,createMotion as Mn,debugNet as In,debugOwner as Dn,decompressGpuTexture as On,deepClone as xn,delay as kn,delayForFrames as Ln,deserializeObject as Bn,destroy as Fn,destroyComponentInstance as Nn,determineMimeTypeFromExtension as wn,disposeObjectResources as Un,disposeStream as Wn,editorGuidKeyName as Gn,enableSpatialConsole as Hn,euler as Xn,eventListSerializer as zn,exportAsGLTF as Vn,findByGuid as _n,findObjectOfType as jn,findObjectsOfType as Kn,findResourceUsers as Qn,fitCamera as Zn,fitObjectIntoVolume as Yn,foreachComponent as Jn,foreachComponentEnumerator as $n,forward as qn,generateQRCode as ei,generateSeed as ai,getBoundingBox as si,getCameraController as ti,getComponent as oi,getComponentInChildren as ri,getComponentInParent as ni,getComponents as ii,getComponentsInChildren as li,getComponentsInParent as di,getFormattedDate as ci,getIconElement as mi,getIconTexture as pi,getLoader as gi,getOrAddComponent as ui,getParam as Si,getParentHierarchyPath as Ci,getPath as yi,getPeerOptions as Ei,getPeerjsInstance as Ri,getResourceUserCount as hi,getTempColor as vi,getTempQuaternion as fi,getTempVector as Pi,getUrlParams as Ai,getVisibleInCustomShadowRendering as Ti,getWorldDirection as bi,getWorldEuler as Mi,getWorldPosition as Ii,getWorldQuaternion as Di,getWorldRotation as Oi,getWorldScale as xi,hasCommercialLicense as ki,hasIndieLicense as Li,hasPointerEventComponent as Bi,hasProLicense as Fi,hideDebugConsole as Ni,imageToCanvas as wi,instantiate as Ui,invokeLoadedImportPluginHooks as Wi,invokeXRSessionEnd as Gi,invokeXRSessionStart as Hi,isActiveInHierarchy as Xi,isActiveSelf as zi,isAndroidDevice as Vi,isAnimationAction as _i,isComponent as ji,isDebugMode as Ki,isDesktop as Qi,isDestroyed as Zi,isDevEnvironment as Yi,isDisposed as Ji,isExporting as $i,isGLTFModel as qi,isHostedOnGlitch as el,isHotReloadEnabled as al,isHotReloading as sl,isIPad as tl,isIconElement as ol,isLocalNetwork as rl,isMacOS as nl,isMobileDevice as il,isMozillaXR as ll,isQuest as dl,isResourceTrackingEnabled as cl,isSafari as ml,isUsingInstancing as pl,isiOS as gl,isiPad as ul,loadPMREM as Sl,loadSync as Cl,logHierarchy as yl,lookAtInverse as El,lookAtObject as Rl,lookAtScreenPoint as hl,makeId as vl,makeIdFromRandomWords as fl,makeNameSafe as Pl,markAsInstancedRendered as Al,microphonePermissionsGranted as Tl,nameof as bl,nameofFactory as Ml,objectSerializer as Il,offXRSessionEnd as Dl,offXRSessionStart as Ol,onXRSessionEnd as xl,onXRSessionStart as kl,parseSync as Ll,placeOnSurface as Bl,postprocessFBXMaterials as Fl,prefix as Nl,pushState as wl,randomNumber as Ul,registerBinaryType as Wl,registerComponent as Gl,registerComponentExtension as Hl,registerCustomEffectType as Xl,registerExportExtensions as zl,registerExtensions as Vl,registerHotReloadType as _l,registerLoader as jl,registerPrefabProvider as Kl,registerPrototypeExtensions as Ql,registerType as Zl,relativePathPrefix as Yl,removeAttributeChangeCallback as Jl,removeComponent as $l,removeCustomImportExtensionType as ql,removePatch as ed,resolveUrl as ad,sanitizeString as sd,saveImage as td,screenshot as od,screenshot2 as rd,sendDestroyed as nd,serializable as id,serializeObject as ld,serializeable as dd,setActive as cd,setAllowBalloonMessages as md,setAllowOverlayMessages as pd,setAutoFitEnabled as gd,setCameraController as ud,setDestroyed as Sd,setDevEnvironment as Cd,setDisposable as yd,setDontDestroy as Ed,setOrAddParamsToUrl as Rd,setParam as hd,setParamWithoutReload as vd,setPeerOptions as fd,setResourceTrackingEnabled as Pd,setState as Ad,setVisibleInCustomShadowRendering as Td,setWorldEuler as bd,setWorldPosition as Md,setWorldPositionXYZ as Id,setWorldQuaternion as Dd,setWorldQuaternionXYZW as Od,setWorldRotation as xd,setWorldRotationXYZ as kd,setWorldScale as Ld,showBalloonError as Bd,showBalloonMessage as Fd,showBalloonWarning as Nd,showDebugConsole as wd,slerp as Ud,syncDestroy as Wd,syncField as Gd,syncInstantiate as Hd,textureToCanvas as Xd,toSourceId as zd,tryCastBinary as Vd,tryDetermineMimetypeFromBinary as _d,tryDetermineMimetypeFromURL as jd,tryFindObject as Kd,tryGetGuid as Qd,unregisterHotReloadType as Zd,unwatchWrite as Yd,useForAutoFit as Jd,validate as $d,watchWrite as qd}from"./needle-engine.bundle-DIrp94Zb.min.js";import{NEEDLE_progressive as ec}from"./gltf-progressive-D4Z_Khp3.min.js";import{THREE as ac}from"./three-qw28ZtTy.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=ac;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,ec 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 SendQueue,po as SerializationContext,go as SetActiveOnClick,uo as ShadowCatcher,So as ShapeModule,Co as ShapeOverlapResult,yo as SharpeningEffect,Eo as SignalAsset,Ro as SignalReceiver,ho as SignalReceiverEvent,vo as SignalTrackHandler,fo as Size,Po as SizeBySpeedModule,Ao as SizeOverLifetimeModule,To as SkinnedMeshRenderer,bo as SmoothFollow,Mo as SpatialGrabRaycaster,Io as SpatialHtml,Do as SpatialTrigger,Oo as SpatialTriggerReceiver,xo as SpectatorCamera,ko as SphereCollider,Lo as SphereIntersection,Bo as SplineContainer,Fo as SplineData,No as SplineUtils,wo as SplineWalker,Uo as Sprite,Wo as SpriteData,Go as SpriteRenderer,Ho as SpriteSheet,Xo as StateMachineBehaviour,zo as StreamEndedEvent,Vo as StreamReceivedEvent,_o as SubEmitterSystem,jo as SyncedCamera,Ko as SyncedRoom,Qo as SyncedTransform,Zo as TapGestureTrigger,Yo as TeleportTarget,Jo as TestRunner,$o as TestSceneUtils,qo as TestSimulateUserData,er as Text,ar as TextBuilder,sr as TextExtension,tr as TextureSheetAnimationModule,or as TiltShiftEffect,rr as Time,nr as ToneMappingEffect,ir as TrackHandler,lr as TrackType,dr as TrailModule,cr as TransformData,mr as TransformGizmo,pr as TriggerBuilder,gr as TriggerModel,ur as TypeStore,Sr as UIRaycastUtils,Cr as UIRootComponent,yr as USDDocument,Er as USDObject,Rr as USDWriter,hr as USDZExporter,vr as USDZText,fr as USDZUIExtension,Pr as UriSerializer,Ar as UsageMarker,Tr as UserJoinedOrLeftRoomModel,u as VERSION,br as VariantAction,Mr as VelocityOverLifetimeModule,Ir as VerticalLayoutGroup,Dr as VideoPlayer,Or as ViewBox,xr as ViewDevice,kr as Vignette,Lr as VisibilityAction,Br as Voip,Fr as Volume,Nr as VolumeParameter,wr as VolumeProfile,Ur as WaitForFrames,Wr as WaitForPromise,Gr as WaitForSeconds,Hr as Watch,Xr as WebARCameraBackground,zr as WebARSessionRoot,Vr as WebXR,_r as WebXRButtonFactory,jr as WebXRImageTracking,Kr as WebXRImageTrackingModel,Qr as WebXRPlaneTracking,Zr as WebXRTrackedImage,Yr as XRControllerFollow,Jr as XRControllerModel,$r as XRControllerMovement,qr as XRFlag,en as XRRig,an as XRState,sn as XRStateFlag,tn as __Ignore,on as __internalNotifyObjectDestroyed,rn as activeInHierarchyFieldName,nn as addAttributeChangeCallback,ln as addComponent,dn as addCustomExtensionPlugin,cn as addNewComponent,mn as addPatch,pn as apply,gn as applyHMRChanges,un as applyPrototypeExtensions,Sn as beginListenDestroy,Cn as beginListenInstantiate,yn as binaryIdentifierCasts,En as build_scene_functions,Rn as builtinComponentKeyName,hn as calculateProgress01,vn as clearBalloonMessages,fn as clearOverlayMessages,Pn as colorSerializer,An as compareAssociation,Tn as componentSerializer,bn as copyTexture,Mn as createMotion,In as debugNet,Dn as debugOwner,On as decompressGpuTexture,xn as deepClone,kn as delay,Ln as delayForFrames,Bn as deserializeObject,Fn as destroy,Nn as destroyComponentInstance,wn as determineMimeTypeFromExtension,Un as disposeObjectResources,Wn as disposeStream,Gn as editorGuidKeyName,Hn as enableSpatialConsole,Xn as euler,zn as eventListSerializer,Vn as exportAsGLTF,_n as findByGuid,jn as findObjectOfType,Kn as findObjectsOfType,Qn as findResourceUsers,Zn as fitCamera,Yn as fitObjectIntoVolume,Jn as foreachComponent,$n as foreachComponentEnumerator,qn as forward,ei as generateQRCode,ai as generateSeed,si as getBoundingBox,ti as getCameraController,oi as getComponent,ri as getComponentInChildren,ni as getComponentInParent,ii as getComponents,li as getComponentsInChildren,di as getComponentsInParent,ci as getFormattedDate,mi as getIconElement,pi as getIconTexture,gi as getLoader,ui as getOrAddComponent,Si as getParam,Ci as getParentHierarchyPath,yi as getPath,Ei as getPeerOptions,Ri as getPeerjsInstance,hi as getResourceUserCount,vi as getTempColor,fi as getTempQuaternion,Pi as getTempVector,Ai as getUrlParams,Ti as getVisibleInCustomShadowRendering,bi as getWorldDirection,Mi as getWorldEuler,Ii as getWorldPosition,Di as getWorldQuaternion,Oi as getWorldRotation,xi as getWorldScale,ki as hasCommercialLicense,Li as hasIndieLicense,Bi as hasPointerEventComponent,Fi as hasProLicense,Ni as hideDebugConsole,wi as imageToCanvas,Ui as instantiate,Wi as invokeLoadedImportPluginHooks,Gi as invokeXRSessionEnd,Hi as invokeXRSessionStart,Xi as isActiveInHierarchy,zi as isActiveSelf,Vi as isAndroidDevice,_i as isAnimationAction,ji as isComponent,Ki as isDebugMode,Qi as isDesktop,Zi as isDestroyed,Yi as isDevEnvironment,Ji as isDisposed,$i as isExporting,qi as isGLTFModel,el as isHostedOnGlitch,al as isHotReloadEnabled,sl as isHotReloading,tl as isIPad,ol as isIconElement,rl as isLocalNetwork,nl as isMacOS,il as isMobileDevice,ll as isMozillaXR,dl as isQuest,cl as isResourceTrackingEnabled,ml as isSafari,pl as isUsingInstancing,gl as isiOS,ul as isiPad,m as loadAsset,Sl as loadPMREM,Cl as loadSync,yl as logHierarchy,El as lookAtInverse,Rl as lookAtObject,hl as lookAtScreenPoint,vl as makeId,fl as makeIdFromRandomWords,Pl as makeNameSafeForUSD,Al as markAsInstancedRendered,Tl as microphonePermissionsGranted,bl as nameof,Ml as nameofFactory,Il as objectSerializer,Dl as offXRSessionEnd,Ol as offXRSessionStart,i as onAfterRender,l as onBeforeRender,o as onClear,r as onDestroy,n as onInitialized,c as onStart,d as onUpdate,xl as onXRSessionEnd,kl as onXRSessionStart,Ll as parseSync,Bl as placeOnSurface,Fl as postprocessFBXMaterials,Nl as prefix,wl as pushState,Ul as randomNumber,Wl as registerBinaryType,Gl as registerComponent,Hl as registerComponentExtension,Xl as registerCustomEffectType,zl as registerExportExtensions,Vl as registerExtensions,_l as registerHotReloadType,jl as registerLoader,Kl as registerPrefabProvider,Ql as registerPrototypeExtensions,Zl as registerType,Yl as relativePathPrefix,Jl as removeAttributeChangeCallback,$l as removeComponent,ql as removeCustomImportExtensionType,ed as removePatch,ad as resolveUrl,sd as sanitizeString,td as saveImage,od as screenshot,rd as screenshot2,nd as sendDestroyed,id as serializable,ld as serializeObject,dd as serializeable,cd as setActive,md as setAllowBalloonMessages,pd as setAllowOverlayMessages,gd as setAutoFitEnabled,ud as setCameraController,Sd as setDestroyed,Cd as setDevEnvironment,yd as setDisposable,Ed as setDontDestroy,Rd as setOrAddParamsToUrl,hd as setParam,vd as setParamWithoutReload,fd as setPeerOptions,Pd as setResourceTrackingEnabled,Ad as setState,Td as setVisibleInCustomShadowRendering,bd as setWorldEuler,Md as setWorldPosition,Id as setWorldPositionXYZ,Dd as setWorldQuaternion,Od as setWorldQuaternionXYZW,xd as setWorldRotation,kd as setWorldRotationXYZ,Ld as setWorldScale,Bd as showBalloonError,Fd as showBalloonMessage,Nd as showBalloonWarning,wd as showDebugConsole,Ud as slerp,Wd as syncDestroy,Gd as syncField,Hd as syncInstantiate,Xd as textureToCanvas,zd as toSourceId,Vd as tryCastBinary,_d as tryDetermineMimetypeFromBinary,jd as tryDetermineMimetypeFromURL,Kd as tryFindObject,Qd as tryGetGuid,Zd as unregisterHotReloadType,Yd as unwatchWrite,Jd as useForAutoFit,$d as validate,qd 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-ITqL-yYC.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,SendQueue as mo,SerializationContext as po,SetActiveOnClick as go,ShadowCatcher as uo,ShapeModule as So,ShapeOverlapResult as Co,SharpeningEffect as yo,SignalAsset as Eo,SignalReceiver as Ro,SignalReceiverEvent as ho,SignalTrackHandler as vo,Size as fo,SizeBySpeedModule as Po,SizeOverLifetimeModule as Ao,SkinnedMeshRenderer as To,SmoothFollow as bo,SpatialGrabRaycaster as Mo,SpatialHtml as Io,SpatialTrigger as Do,SpatialTriggerReceiver as Oo,SpectatorCamera as xo,SphereCollider as ko,SphereIntersection as Lo,SplineContainer as Bo,SplineData as Fo,SplineUtils as No,SplineWalker as wo,Sprite as Uo,SpriteData as Wo,SpriteRenderer as Go,SpriteSheet as Ho,StateMachineBehaviour as Xo,StreamEndedEvent as zo,StreamReceivedEvent as Vo,SubEmitterSystem as _o,SyncedCamera as jo,SyncedRoom as Ko,SyncedTransform as Qo,TapGestureTrigger as Zo,TeleportTarget as Yo,TestRunner as Jo,TestSceneUtils as $o,TestSimulateUserData as qo,Text as er,TextBuilder as ar,TextExtension as sr,TextureSheetAnimationModule as tr,TiltShiftEffect as or,Time as rr,ToneMappingEffect as nr,TrackHandler as ir,TrackType as lr,TrailModule as dr,TransformData as cr,TransformGizmo as mr,TriggerBuilder as pr,TriggerModel as gr,TypeStore as ur,UIRaycastUtils as Sr,UIRootComponent as Cr,USDDocument as yr,USDObject as Er,USDWriter as Rr,USDZExporter as hr,USDZText as vr,USDZUIExtension as fr,UriSerializer as Pr,UsageMarker as Ar,UserJoinedOrLeftRoomModel as Tr,VariantAction as br,VelocityOverLifetimeModule as Mr,VerticalLayoutGroup as Ir,VideoPlayer as Dr,ViewBox as Or,ViewDevice as xr,Vignette as kr,VisibilityAction as Lr,Voip as Br,Volume as Fr,VolumeParameter as Nr,VolumeProfile as wr,WaitForFrames as Ur,WaitForPromise as Wr,WaitForSeconds as Gr,Watch as Hr,WebARCameraBackground as Xr,WebARSessionRoot as zr,WebXR as Vr,WebXRButtonFactory as _r,WebXRImageTracking as jr,WebXRImageTrackingModel as Kr,WebXRPlaneTracking as Qr,WebXRTrackedImage as Zr,XRControllerFollow as Yr,XRControllerModel as Jr,XRControllerMovement as $r,XRFlag as qr,XRRig as en,XRState as an,XRStateFlag as sn,__Ignore as tn,__internalNotifyObjectDestroyed as on,activeInHierarchyFieldName as rn,addAttributeChangeCallback as nn,addComponent as ln,addCustomExtensionPlugin as dn,addNewComponent as cn,addPatch as mn,apply as pn,applyHMRChanges as gn,applyPrototypeExtensions as un,beginListenDestroy as Sn,beginListenInstantiate as Cn,binaryIdentifierCasts as yn,build_scene_functions as En,builtinComponentKeyName as Rn,calculateProgress01 as hn,clearMessages as vn,clearMessages as fn,colorSerializer as Pn,compareAssociation as An,componentSerializer as Tn,copyTexture as bn,createMotion as Mn,debugNet as In,debugOwner as Dn,decompressGpuTexture as On,deepClone as xn,delay as kn,delayForFrames as Ln,deserializeObject as Bn,destroy as Fn,destroyComponentInstance as Nn,determineMimeTypeFromExtension as wn,disposeObjectResources as Un,disposeStream as Wn,editorGuidKeyName as Gn,enableSpatialConsole as Hn,euler as Xn,eventListSerializer as zn,exportAsGLTF as Vn,findByGuid as _n,findObjectOfType as jn,findObjectsOfType as Kn,findResourceUsers as Qn,fitCamera as Zn,fitObjectIntoVolume as Yn,foreachComponent as Jn,foreachComponentEnumerator as $n,forward as qn,generateQRCode as ei,generateSeed as ai,getBoundingBox as si,getCameraController as ti,getComponent as oi,getComponentInChildren as ri,getComponentInParent as ni,getComponents as ii,getComponentsInChildren as li,getComponentsInParent as di,getFormattedDate as ci,getIconElement as mi,getIconTexture as pi,getLoader as gi,getOrAddComponent as ui,getParam as Si,getParentHierarchyPath as Ci,getPath as yi,getPeerOptions as Ei,getPeerjsInstance as Ri,getResourceUserCount as hi,getTempColor as vi,getTempQuaternion as fi,getTempVector as Pi,getUrlParams as Ai,getVisibleInCustomShadowRendering as Ti,getWorldDirection as bi,getWorldEuler as Mi,getWorldPosition as Ii,getWorldQuaternion as Di,getWorldRotation as Oi,getWorldScale as xi,hasCommercialLicense as ki,hasIndieLicense as Li,hasPointerEventComponent as Bi,hasProLicense as Fi,hideDebugConsole as Ni,imageToCanvas as wi,instantiate as Ui,invokeLoadedImportPluginHooks as Wi,invokeXRSessionEnd as Gi,invokeXRSessionStart as Hi,isActiveInHierarchy as Xi,isActiveSelf as zi,isAndroidDevice as Vi,isAnimationAction as _i,isComponent as ji,isDebugMode as Ki,isDesktop as Qi,isDestroyed as Zi,isDevEnvironment as Yi,isDisposed as Ji,isExporting as $i,isGLTFModel as qi,isHostedOnGlitch as el,isHotReloadEnabled as al,isHotReloading as sl,isIPad as tl,isIconElement as ol,isLocalNetwork as rl,isMacOS as nl,isMobileDevice as il,isMozillaXR as ll,isQuest as dl,isResourceTrackingEnabled as cl,isSafari as ml,isUsingInstancing as pl,isiOS as gl,isiPad as ul,loadPMREM as Sl,loadSync as Cl,logHierarchy as yl,lookAtInverse as El,lookAtObject as Rl,lookAtScreenPoint as hl,makeId as vl,makeIdFromRandomWords as fl,makeNameSafe as Pl,markAsInstancedRendered as Al,microphonePermissionsGranted as Tl,nameof as bl,nameofFactory as Ml,objectSerializer as Il,offXRSessionEnd as Dl,offXRSessionStart as Ol,onXRSessionEnd as xl,onXRSessionStart as kl,parseSync as Ll,placeOnSurface as Bl,postprocessFBXMaterials as Fl,prefix as Nl,pushState as wl,randomNumber as Ul,registerBinaryType as Wl,registerComponent as Gl,registerComponentExtension as Hl,registerCustomEffectType as Xl,registerExportExtensions as zl,registerExtensions as Vl,registerHotReloadType as _l,registerLoader as jl,registerPrefabProvider as Kl,registerPrototypeExtensions as Ql,registerType as Zl,relativePathPrefix as Yl,removeAttributeChangeCallback as Jl,removeComponent as $l,removeCustomImportExtensionType as ql,removePatch as ed,resolveUrl as ad,sanitizeString as sd,saveImage as td,screenshot as od,screenshot2 as rd,sendDestroyed as nd,serializable as id,serializeObject as ld,serializeable as dd,setActive as cd,setAllowBalloonMessages as md,setAllowOverlayMessages as pd,setAutoFitEnabled as gd,setCameraController as ud,setDestroyed as Sd,setDevEnvironment as Cd,setDisposable as yd,setDontDestroy as Ed,setOrAddParamsToUrl as Rd,setParam as hd,setParamWithoutReload as vd,setPeerOptions as fd,setResourceTrackingEnabled as Pd,setState as Ad,setVisibleInCustomShadowRendering as Td,setWorldEuler as bd,setWorldPosition as Md,setWorldPositionXYZ as Id,setWorldQuaternion as Dd,setWorldQuaternionXYZW as Od,setWorldRotation as xd,setWorldRotationXYZ as kd,setWorldScale as Ld,showBalloonError as Bd,showBalloonMessage as Fd,showBalloonWarning as Nd,showDebugConsole as wd,slerp as Ud,syncDestroy as Wd,syncField as Gd,syncInstantiate as Hd,textureToCanvas as Xd,toSourceId as zd,tryCastBinary as Vd,tryDetermineMimetypeFromBinary as _d,tryDetermineMimetypeFromURL as jd,tryFindObject as Kd,tryGetGuid as Qd,unregisterHotReloadType as Zd,unwatchWrite as Yd,useForAutoFit as Jd,validate as $d,watchWrite as qd}from"./needle-engine.bundle-ITqL-yYC.min.js";import{NEEDLE_progressive as ec}from"./gltf-progressive-D4Z_Khp3.min.js";import{THREE as ac}from"./three-qw28ZtTy.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=ac;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,ec 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 SendQueue,po as SerializationContext,go as SetActiveOnClick,uo as ShadowCatcher,So as ShapeModule,Co as ShapeOverlapResult,yo as SharpeningEffect,Eo as SignalAsset,Ro as SignalReceiver,ho as SignalReceiverEvent,vo as SignalTrackHandler,fo as Size,Po as SizeBySpeedModule,Ao as SizeOverLifetimeModule,To as SkinnedMeshRenderer,bo as SmoothFollow,Mo as SpatialGrabRaycaster,Io as SpatialHtml,Do as SpatialTrigger,Oo as SpatialTriggerReceiver,xo as SpectatorCamera,ko as SphereCollider,Lo as SphereIntersection,Bo as SplineContainer,Fo as SplineData,No as SplineUtils,wo as SplineWalker,Uo as Sprite,Wo as SpriteData,Go as SpriteRenderer,Ho as SpriteSheet,Xo as StateMachineBehaviour,zo as StreamEndedEvent,Vo as StreamReceivedEvent,_o as SubEmitterSystem,jo as SyncedCamera,Ko as SyncedRoom,Qo as SyncedTransform,Zo as TapGestureTrigger,Yo as TeleportTarget,Jo as TestRunner,$o as TestSceneUtils,qo as TestSimulateUserData,er as Text,ar as TextBuilder,sr as TextExtension,tr as TextureSheetAnimationModule,or as TiltShiftEffect,rr as Time,nr as ToneMappingEffect,ir as TrackHandler,lr as TrackType,dr as TrailModule,cr as TransformData,mr as TransformGizmo,pr as TriggerBuilder,gr as TriggerModel,ur as TypeStore,Sr as UIRaycastUtils,Cr as UIRootComponent,yr as USDDocument,Er as USDObject,Rr as USDWriter,hr as USDZExporter,vr as USDZText,fr as USDZUIExtension,Pr as UriSerializer,Ar as UsageMarker,Tr as UserJoinedOrLeftRoomModel,u as VERSION,br as VariantAction,Mr as VelocityOverLifetimeModule,Ir as VerticalLayoutGroup,Dr as VideoPlayer,Or as ViewBox,xr as ViewDevice,kr as Vignette,Lr as VisibilityAction,Br as Voip,Fr as Volume,Nr as VolumeParameter,wr as VolumeProfile,Ur as WaitForFrames,Wr as WaitForPromise,Gr as WaitForSeconds,Hr as Watch,Xr as WebARCameraBackground,zr as WebARSessionRoot,Vr as WebXR,_r as WebXRButtonFactory,jr as WebXRImageTracking,Kr as WebXRImageTrackingModel,Qr as WebXRPlaneTracking,Zr as WebXRTrackedImage,Yr as XRControllerFollow,Jr as XRControllerModel,$r as XRControllerMovement,qr as XRFlag,en as XRRig,an as XRState,sn as XRStateFlag,tn as __Ignore,on as __internalNotifyObjectDestroyed,rn as activeInHierarchyFieldName,nn as addAttributeChangeCallback,ln as addComponent,dn as addCustomExtensionPlugin,cn as addNewComponent,mn as addPatch,pn as apply,gn as applyHMRChanges,un as applyPrototypeExtensions,Sn as beginListenDestroy,Cn as beginListenInstantiate,yn as binaryIdentifierCasts,En as build_scene_functions,Rn as builtinComponentKeyName,hn as calculateProgress01,vn as clearBalloonMessages,fn as clearOverlayMessages,Pn as colorSerializer,An as compareAssociation,Tn as componentSerializer,bn as copyTexture,Mn as createMotion,In as debugNet,Dn as debugOwner,On as decompressGpuTexture,xn as deepClone,kn as delay,Ln as delayForFrames,Bn as deserializeObject,Fn as destroy,Nn as destroyComponentInstance,wn as determineMimeTypeFromExtension,Un as disposeObjectResources,Wn as disposeStream,Gn as editorGuidKeyName,Hn as enableSpatialConsole,Xn as euler,zn as eventListSerializer,Vn as exportAsGLTF,_n as findByGuid,jn as findObjectOfType,Kn as findObjectsOfType,Qn as findResourceUsers,Zn as fitCamera,Yn as fitObjectIntoVolume,Jn as foreachComponent,$n as foreachComponentEnumerator,qn as forward,ei as generateQRCode,ai as generateSeed,si as getBoundingBox,ti as getCameraController,oi as getComponent,ri as getComponentInChildren,ni as getComponentInParent,ii as getComponents,li as getComponentsInChildren,di as getComponentsInParent,ci as getFormattedDate,mi as getIconElement,pi as getIconTexture,gi as getLoader,ui as getOrAddComponent,Si as getParam,Ci as getParentHierarchyPath,yi as getPath,Ei as getPeerOptions,Ri as getPeerjsInstance,hi as getResourceUserCount,vi as getTempColor,fi as getTempQuaternion,Pi as getTempVector,Ai as getUrlParams,Ti as getVisibleInCustomShadowRendering,bi as getWorldDirection,Mi as getWorldEuler,Ii as getWorldPosition,Di as getWorldQuaternion,Oi as getWorldRotation,xi as getWorldScale,ki as hasCommercialLicense,Li as hasIndieLicense,Bi as hasPointerEventComponent,Fi as hasProLicense,Ni as hideDebugConsole,wi as imageToCanvas,Ui as instantiate,Wi as invokeLoadedImportPluginHooks,Gi as invokeXRSessionEnd,Hi as invokeXRSessionStart,Xi as isActiveInHierarchy,zi as isActiveSelf,Vi as isAndroidDevice,_i as isAnimationAction,ji as isComponent,Ki as isDebugMode,Qi as isDesktop,Zi as isDestroyed,Yi as isDevEnvironment,Ji as isDisposed,$i as isExporting,qi as isGLTFModel,el as isHostedOnGlitch,al as isHotReloadEnabled,sl as isHotReloading,tl as isIPad,ol as isIconElement,rl as isLocalNetwork,nl as isMacOS,il as isMobileDevice,ll as isMozillaXR,dl as isQuest,cl as isResourceTrackingEnabled,ml as isSafari,pl as isUsingInstancing,gl as isiOS,ul as isiPad,m as loadAsset,Sl as loadPMREM,Cl as loadSync,yl as logHierarchy,El as lookAtInverse,Rl as lookAtObject,hl as lookAtScreenPoint,vl as makeId,fl as makeIdFromRandomWords,Pl as makeNameSafeForUSD,Al as markAsInstancedRendered,Tl as microphonePermissionsGranted,bl as nameof,Ml as nameofFactory,Il as objectSerializer,Dl as offXRSessionEnd,Ol as offXRSessionStart,i as onAfterRender,l as onBeforeRender,o as onClear,r as onDestroy,n as onInitialized,c as onStart,d as onUpdate,xl as onXRSessionEnd,kl as onXRSessionStart,Ll as parseSync,Bl as placeOnSurface,Fl as postprocessFBXMaterials,Nl as prefix,wl as pushState,Ul as randomNumber,Wl as registerBinaryType,Gl as registerComponent,Hl as registerComponentExtension,Xl as registerCustomEffectType,zl as registerExportExtensions,Vl as registerExtensions,_l as registerHotReloadType,jl as registerLoader,Kl as registerPrefabProvider,Ql as registerPrototypeExtensions,Zl as registerType,Yl as relativePathPrefix,Jl as removeAttributeChangeCallback,$l as removeComponent,ql as removeCustomImportExtensionType,ed as removePatch,ad as resolveUrl,sd as sanitizeString,td as saveImage,od as screenshot,rd as screenshot2,nd as sendDestroyed,id as serializable,ld as serializeObject,dd as serializeable,cd as setActive,md as setAllowBalloonMessages,pd as setAllowOverlayMessages,gd as setAutoFitEnabled,ud as setCameraController,Sd as setDestroyed,Cd as setDevEnvironment,yd as setDisposable,Ed as setDontDestroy,Rd as setOrAddParamsToUrl,hd as setParam,vd as setParamWithoutReload,fd as setPeerOptions,Pd as setResourceTrackingEnabled,Ad as setState,Td as setVisibleInCustomShadowRendering,bd as setWorldEuler,Md as setWorldPosition,Id as setWorldPositionXYZ,Dd as setWorldQuaternion,Od as setWorldQuaternionXYZW,xd as setWorldRotation,kd as setWorldRotationXYZ,Ld as setWorldScale,Bd as showBalloonError,Fd as showBalloonMessage,Nd as showBalloonWarning,wd as showDebugConsole,Ud as slerp,Wd as syncDestroy,Gd as syncField,Hd as syncInstantiate,Xd as textureToCanvas,zd as toSourceId,Vd as tryCastBinary,_d as tryDetermineMimetypeFromBinary,jd as tryDetermineMimetypeFromURL,Kd as tryFindObject,Qd as tryGetGuid,Zd as unregisterHotReloadType,Yd as unwatchWrite,Jd as useForAutoFit,$d as validate,qd as watchWrite};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./needle-engine.bundle-Pv4x7cNm.umd.cjs"),i=require("./gltf-progressive-CHeORqEv.umd.cjs"),a=require("./three-B-jwTHao.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.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-DfqZ3U87.umd.cjs"),i=require("./gltf-progressive-CHeORqEv.umd.cjs"),a=require("./three-B-jwTHao.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.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.10.4
|
|
3
|
+
"version": "4.10.4",
|
|
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": {
|