@needle-tools/engine 4.13.1-next.6cb1b73 → 4.13.1-next.9fc3e64
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/dist/gltf-progressive-CaUGGjVL.umd.cjs +10 -0
- package/dist/{gltf-progressive-CsyU_5lc.js → gltf-progressive-Dbi_Tfhb.js} +628 -577
- package/dist/gltf-progressive-DuAR0MQR.min.js +10 -0
- package/dist/{needle-engine.bundle-wB3o8RB6.js → needle-engine.bundle-BZRE5G6O.js} +3 -3
- package/dist/{needle-engine.bundle-qTjHpin6.umd.cjs → needle-engine.bundle-Dqrh7aWw.umd.cjs} +4 -4
- package/dist/{needle-engine.bundle-DRSn34Va.min.js → needle-engine.bundle-DwybonUg.min.js} +2 -2
- package/dist/needle-engine.js +3 -3
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/package.json +2 -2
- package/plugins/vite/build-pipeline.js +16 -2
- package/dist/gltf-progressive-BTd714P0.min.js +0 -9
- package/dist/gltf-progressive-CrHduHPm.umd.cjs +0 -9
- package/src/include/three/DragControls.js +0 -232
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{Vector2 as ee,Vector3 as b,Vector4 as me,Quaternion as N,PlaneGeometry as vn,WebGLRenderer as mr,PerspectiveCamera as ae,OrthographicCamera as Sd,Scene as Ci,Mesh as H,Texture as Le,Uniform$1 as qi,Color as oe,ShaderMaterial as Vn,Box3 as Pi,ShadowMaterial as lb,Euler as at,MeshStandardMaterial as gt,Box3Helper as jS,GridHelper as cb,Object3D as M,Material as we,Matrix3 as hb,Matrix4 as K,Layers as gs,Ray as So,MathUtils as Co,AxesHelper as Oi,MeshBasicMaterial as xe,DoubleSide as ki,BufferGeometry as wn,Group as Po,CylinderGeometry as db,SphereGeometry as Cd,BoxGeometry as Ea,SpriteMaterial as BS,Sprite as FS,Shape as US,ExtrudeGeometry as zS,Fog as ub,DirectionalLight as _m,PointLight as vm,TextureLoader as gr,EdgesGeometry as NS,LineSegments as pb,LineBasicMaterial as wm,Line as Ta,BufferAttribute as ft,Raycaster as Pd,Sphere as Od,ArrayCamera as WS,Plane as fr,SkinnedMesh as fs,InterleavedBufferAttribute as mb,Skeleton as VS,Bone as $S,WebGLCubeRenderTarget as HS,CubeCamera as GS,AnimationClip as Mi,FileLoader as xm,PropertyBinding as Aa,KeyframeTrack as qS,LinearSRGBColorSpace as Oo,ShaderChunk as Yt,UniformsLib as XS,DataTexture as Sm,RGBAFormat as kd,EquirectangularReflectionMapping as $n,SRGBColorSpace as ko,Clock as QS,NeutralToneMapping as Ia,AgXToneMapping as Md,ACESFilmicToneMapping as Rd,NoToneMapping as Ed,PCFSoftShadowMap$1 as YS,BasicNodeLibrary as ZS,WebGLRenderTarget as Hn,DepthTexture as gb,NearestFilter as Td,LoopRepeat as KS,LoopOnce as Cm,AnimationMixer as Pm,CompressedTexture as JS,FrontSide as ys,Camera as eC,Frustum as fb,AudioListener as tC,PositionalAudio as iC,AudioLoader as Om,EventDispatcher as km,BackSide as Ad,MeshDepthMaterial as nC,CustomBlending as oC,MaxEquation as sC,AlwaysStencilFunc as rC,GreaterEqualStencilFunc as aC,NotEqualStencilFunc as lC,GreaterStencilFunc as cC,LessEqualStencilFunc as hC,EqualStencilFunc as dC,LessStencilFunc as uC,NeverStencilFunc as yb,InvertStencilOp as pC,DecrementWrapStencilOp as mC,IncrementWrapStencilOp as gC,DecrementStencilOp as fC,IncrementStencilOp as yC,ReplaceStencilOp as bC,ZeroStencilOp as _C,KeepStencilOp as vC,CubeTexture as bb,AmbientLight as wC,HemisphereLight as xC,Loader as SC,RawShaderMaterial as _b,GLSL3 as CC,AlwaysDepth as PC,GreaterEqualDepth as OC,GreaterDepth as kC,LessEqualDepth as MC,LessDepth as RC,NotEqualDepth as EC,EqualDepth as TC,BatchedMesh as vb,MeshPhysicalMaterial as Mm,LinearFilter as Id,UnsignedByteType as AC,RingGeometry as IC,Line3 as LC,AdditiveBlending as wb,BoxHelper as DC,SpotLight as jC,DirectionalLightHelper as BC,CameraHelper as FC,LOD as UC,Triangle as zC,NormalBlending as NC,ReinhardToneMapping as Rm,LinearToneMapping as Em,HalfFloatType as Tm,VideoTexture as WC,CubeUVReflectionMapping as xb,CompressedCubeTexture as VC,EquirectangularRefractionMapping as $C,CatmullRomCurve3 as HC,VectorKeyframeTrack as GC,QuaternionKeyframeTrack as qC,Audio as XC,ShaderLib as Ld,UniformsUtils as Sb,MirroredRepeatWrapping as Cb,MeshNormalMaterial as QC,AudioContext as YC,PMREMGenerator$1 as ZC}from"./three-I__hSXzr.min.js";import{createLoaders as Am,getRaycastMesh as Pb,LODsManager as yr,NEEDLE_progressive as Ve,addDracoAndKTX2Loaders as KC,configureLoader as JC,setKTX2TranscoderLocation as eP,setDracoDecoderLocation as tP}from"./gltf-progressive-
|
|
1
|
+
import{Vector2 as ee,Vector3 as b,Vector4 as me,Quaternion as N,PlaneGeometry as vn,WebGLRenderer as mr,PerspectiveCamera as ae,OrthographicCamera as Sd,Scene as Ci,Mesh as H,Texture as Le,Uniform$1 as qi,Color as oe,ShaderMaterial as Vn,Box3 as Pi,ShadowMaterial as lb,Euler as at,MeshStandardMaterial as gt,Box3Helper as jS,GridHelper as cb,Object3D as M,Material as we,Matrix3 as hb,Matrix4 as K,Layers as gs,Ray as So,MathUtils as Co,AxesHelper as Oi,MeshBasicMaterial as xe,DoubleSide as ki,BufferGeometry as wn,Group as Po,CylinderGeometry as db,SphereGeometry as Cd,BoxGeometry as Ea,SpriteMaterial as BS,Sprite as FS,Shape as US,ExtrudeGeometry as zS,Fog as ub,DirectionalLight as _m,PointLight as vm,TextureLoader as gr,EdgesGeometry as NS,LineSegments as pb,LineBasicMaterial as wm,Line as Ta,BufferAttribute as ft,Raycaster as Pd,Sphere as Od,ArrayCamera as WS,Plane as fr,SkinnedMesh as fs,InterleavedBufferAttribute as mb,Skeleton as VS,Bone as $S,WebGLCubeRenderTarget as HS,CubeCamera as GS,AnimationClip as Mi,FileLoader as xm,PropertyBinding as Aa,KeyframeTrack as qS,LinearSRGBColorSpace as Oo,ShaderChunk as Yt,UniformsLib as XS,DataTexture as Sm,RGBAFormat as kd,EquirectangularReflectionMapping as $n,SRGBColorSpace as ko,Clock as QS,NeutralToneMapping as Ia,AgXToneMapping as Md,ACESFilmicToneMapping as Rd,NoToneMapping as Ed,PCFSoftShadowMap$1 as YS,BasicNodeLibrary as ZS,WebGLRenderTarget as Hn,DepthTexture as gb,NearestFilter as Td,LoopRepeat as KS,LoopOnce as Cm,AnimationMixer as Pm,CompressedTexture as JS,FrontSide as ys,Camera as eC,Frustum as fb,AudioListener as tC,PositionalAudio as iC,AudioLoader as Om,EventDispatcher as km,BackSide as Ad,MeshDepthMaterial as nC,CustomBlending as oC,MaxEquation as sC,AlwaysStencilFunc as rC,GreaterEqualStencilFunc as aC,NotEqualStencilFunc as lC,GreaterStencilFunc as cC,LessEqualStencilFunc as hC,EqualStencilFunc as dC,LessStencilFunc as uC,NeverStencilFunc as yb,InvertStencilOp as pC,DecrementWrapStencilOp as mC,IncrementWrapStencilOp as gC,DecrementStencilOp as fC,IncrementStencilOp as yC,ReplaceStencilOp as bC,ZeroStencilOp as _C,KeepStencilOp as vC,CubeTexture as bb,AmbientLight as wC,HemisphereLight as xC,Loader as SC,RawShaderMaterial as _b,GLSL3 as CC,AlwaysDepth as PC,GreaterEqualDepth as OC,GreaterDepth as kC,LessEqualDepth as MC,LessDepth as RC,NotEqualDepth as EC,EqualDepth as TC,BatchedMesh as vb,MeshPhysicalMaterial as Mm,LinearFilter as Id,UnsignedByteType as AC,RingGeometry as IC,Line3 as LC,AdditiveBlending as wb,BoxHelper as DC,SpotLight as jC,DirectionalLightHelper as BC,CameraHelper as FC,LOD as UC,Triangle as zC,NormalBlending as NC,ReinhardToneMapping as Rm,LinearToneMapping as Em,HalfFloatType as Tm,VideoTexture as WC,CubeUVReflectionMapping as xb,CompressedCubeTexture as VC,EquirectangularRefractionMapping as $C,CatmullRomCurve3 as HC,VectorKeyframeTrack as GC,QuaternionKeyframeTrack as qC,Audio as XC,ShaderLib as Ld,UniformsUtils as Sb,MirroredRepeatWrapping as Cb,MeshNormalMaterial as QC,AudioContext as YC,PMREMGenerator$1 as ZC}from"./three-I__hSXzr.min.js";import{createLoaders as Am,getRaycastMesh as Pb,LODsManager as yr,NEEDLE_progressive as Ve,addDracoAndKTX2Loaders as KC,configureLoader as JC,setKTX2TranscoderLocation as eP,setDracoDecoderLocation as tP}from"./gltf-progressive-DuAR0MQR.min.js";import{GroundedSkybox as La,Font as iP,TextGeometry as nP,FontLoader as oP,GLTFLoader as Mo,TransformControlsGizmo as Ob,EXRLoader as Im,RGBELoader as kb,Stats as sP,nodeFrame as Mb,OrbitControls as Rb,PositionalAudioHelper as rP,HorizontalBlurShader as aP,VerticalBlurShader as lP,GLTFExporter as Eb,strToU8 as Tb,zipSync as cP,XRControllerModelFactory as hP,XRHandMeshModel as dP,Line2 as uP,LineGeometry as pP,LineMaterial as mP,TransformControls as gP,InteractiveGroup as fP,HTMLMesh as yP,VertexNormalsHelper as bP,OBJLoader as Lm,FBXLoader as Ab,mergeVertices as _P}from"./three-examples-D8zAE_7t.min.js";import{fetchProfile as vP,MotionController as wP,$70d766613f57b014$export$2e2bcd8739ae039 as Ib,ByteBuffer as xP,v5 as Lb,md5 as Db,SIZE_PREFIX_LENGTH as jb,Builder as Dm,createNoise4D as SP,Matrix4 as jm,BatchedParticleRenderer as CP,ParticleSystem as PP,RenderMode as Ro,ConstantColor as OP,Vector4 as kP,ConstantValue as MP,TrailParticle as Bb,WorkerBase as RP,MeshBVH as EP}from"./vendor-DW7zqjuT.min.js";import{__webpack_exports__default as Ce,__webpack_exports__Text as Fb,__webpack_exports__Block as Ub,__webpack_exports__update as TP,SimpleStateBehavior as AP,__webpack_exports__Inline as Bm,__webpack_exports__FontLibrary as zb,ThreeMeshUI as Nb}from"./three-mesh-ui-C3QbemOV.min.js";import{EffectAttribute as IP}from"./postprocessing-BVNrgYZK.min.js";const Fm=new Map;function Ri(o=globalThis.location?.hostname){if(Fm.has(o))return Fm.get(o);const e=/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})|localhost/.test(o);return Fm.set(o,e),e===!0}function Wb(){return window.location.hostname.includes("glitch.me")}const Vb=typeof window!==void 0?window.location.search.includes("debugcontext"):!1;var ue=(o=>(o.ContextRegistered="ContextRegistered",o.ContextCreationStart="ContextCreationStart",o.ContextCreated="ContextCreated",o.ContextFirstFrameRendered="ContextFirstFrameRendered",o.ContextDestroying="ContextDestroying",o.ContextDestroyed="ContextDestroyed",o.MissingCamera="MissingCamera",o.ContextClearing="ContextClearing",o.ContextCleared="ContextCleared",o))(ue||{});class pe{static get Current(){return globalThis["NeedleEngine.Context.Current"]}static set Current(e){globalThis["NeedleEngine.Context.Current"]=e}static get All(){return this.Registered}static Registered=[];static register(e){this.Registered.indexOf(e)===-1&&(Vb&&console.warn("Registering context"),this.Registered.push(e),this.dispatchCallback("ContextRegistered",e))}static unregister(e){const t=this.Registered.indexOf(e);t!==-1&&(Vb&&console.warn("Unregistering context"),this.Registered.splice(t,1))}static _callbacks={};static registerCallback(e,t){this._callbacks[e]||(this._callbacks[e]=[]),this._callbacks[e].push(t)}static unregisterCallback(e,t){if(!this._callbacks[e])return;const i=this._callbacks[e].indexOf(t);i!==-1&&this._callbacks[e].splice(i,1)}static dispatchCallback(e,t,i){if(!this._callbacks[e])return!0;const n={event:e,context:t};if(i)for(const r in i)n[r]=i[r];const s=new Array;return this._callbacks[e].forEach(r=>{const a=r(n);a instanceof Promise&&s.push(a)}),Promise.all(s)}static addContextCreatedCallback(e){this.registerCallback("ContextCreated",e)}static addContextDestroyedCallback(e){this.registerCallback("ContextDestroyed",e)}}const $b=()=>o=>o;function LP(o){return $b()(o)}function DP(){return!!v("debug")}class Ei{_factory;_cache=[];_maxSize;_index=0;constructor(e,t){this._factory=e,this._maxSize=t}get(){const e=this._index%this._maxSize;return this._index++,this._cache.length<=e&&(this._cache[e]=this._factory()),this._cache[e]}}let br=!1;const Um=new Array;typeof window<"u"&&setTimeout(()=>{if(br){const o={},e=new URL(window.location.href),t=new URL(e);t.searchParams.append("console","");const i=t.toString().replace(/=$|=(?=&)/g,"");for(const s of Um){const r=new URL(e);r.searchParams.append(s,""),o[s]=r.toString().replace(/=$|=(?=&)/g,"")}console.log(`\u{1F335} ?help: Debug Options for Needle Engine.
|
|
2
2
|
Append any of these parameters to the URL to enable specific debug options.
|
|
3
3
|
Example: ${i} will show an onscreen console window.`);const n=br===!0?"":` (containing "${br}")`;console.group("Available URL parameters:"+n);for(const s of Object.keys(o).sort())typeof br=="string"&&!s.toLowerCase().includes(br.toLowerCase())||(console.groupCollapsed(s),console.log("Reload with this flag enabled:"),console.log(o[s]),console.groupEnd());console.groupEnd()}},100);function lc(){return new URLSearchParams(globalThis.location?.search)}function v(o){br&&!Um.includes(o)&&Um.push(o);const e=lc();if(e.has(o)){const t=e.get(o);if(t){const i=Number(t);return isNaN(i)?t:i}else return!0}return!1}br=v("help");function jP(o,e){const t=lc();t.has(o)?t.set(o,e):t.append(o,e),document.location.search=t.toString()}function cc(o,e,t=!0){const i=lc();i.has(o)?e===null?i.delete(o):i.set(o,e):e!==null&&i.append(o,e),t?Hb(o,i):Nm(o,i)}function zm(o,e,t){o.has(e)?o.set(e,t.toString()):o.append(e,t.toString())}function Hb(o,e,t){window.history.pushState(t,o,"?"+e.toString())}function Nm(o,e,t){window.history.replaceState(t,o,"?"+e.toString())}function BP(o){for(var e="",t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",i=t.length,n=0;n<o;n++)e+=t.charAt(Math.floor(Math.random()*i));return e}function FP(o,e){return Math.floor(Math.random()*(e-o+1))+o}const Gb=["smol","tiny","giant","interesting","smart","bright","dull","extreme","beautiful","pretty","dark","epic","salty","silly","funny","lame","lazy","loud","lucky","mad","mean","mighty","mysterious","nasty","odd","old","powerful","quiet","rapid","scary","shiny","shy","silly","smooth","sour","spicy","stupid","sweet","tasty","terrible","ugly","unusual","vast","wet","wild","witty","wrong","zany","zealous","zippy","zombie","zorro"],qb=["cat","dog","mouse","pig","cow","horse","sheep","chicken","duck","goat","panda","tiger","lion","elephant","monkey","bird","fish","snake","frog","turtle","hamster","penguin","kangaroo","whale","dolphin","crocodile","snail","ant","bee","beetle","butterfly","dragon","eagle","fish","giraffe","lizard","panda","penguin","rabbit","snake","spider","tiger","zebra"];function Xb(){const o=Gb[Math.floor(Math.random()*Gb.length)],e=qb[Math.floor(Math.random()*qb.length)];return o+"_"+e}function Qb(o){return o=o.replace(/[^a-z0-9áéíóúñü \.,_-]/gim,""),o.trim()}function Da(o,e,t=!0,i=!1){if(e==null)return null;if(e.userData&&e.userData.guid===o||e.guid==o)return e;if(i&&e.userData?.components){for(const n of e.userData.components)if(n.guid===o)return n}if(t){if(e.scenes)for(const n in e.scenes){const s=e.scenes[n],r=Da(o,s,t,i);if(r)return r}if(e.children)for(const n in e.children){const s=e.children[n],r=Da(o,s,t,i);if(r)return r}}}function hc(o,e){if(o!=null&&typeof o=="object"){let t;Array.isArray(o)?t=[]:(t=Object.create(o),Object.assign(t,o));for(const i of Object.keys(o)){const n=o[i];e&&!e(o,i,n)?t[i]=n:n?.clone!==void 0&&typeof n.clone=="function"?t[i]=n.clone():t[i]=hc(n,e)}return t}return o}function Eo(o){return new Promise((e,t)=>{setTimeout(e,o)})}function dc(o,e){if(o<=0)return Promise.resolve();if(e||(e=pe.Current),!e)return Promise.reject("No context");const t=e.time.frameCount+o;return new Promise((i,n)=>{if(!e)return n("No context");const s=()=>{e.time.frameCount>=t&&(e.pre_update_callbacks.splice(e.pre_update_callbacks.indexOf(s),1),i())};e.pre_update_callbacks.push(s)})}const Dd=v("debugresolveurl"),Yb="rel:";function UP(o,e){return bs(o,e)}function bs(o,e){if(e===void 0)return Dd&&console.warn("getPath: uri is undefined, returning uri",e),e;if(e.startsWith("./"))return e;if(e.startsWith("http"))return Dd&&console.warn("getPath: uri is absolute, returning uri",e),e;if(o===void 0)return Dd&&console.warn("getPath: source is undefined, returning uri",e),e;e.startsWith(Yb)&&(e=e.substring(4));const t=o.lastIndexOf("/");if(t>=0){const i=o.substring(0,t+1);for(;i.endsWith("/")&&e.startsWith("/");)e=e.substring(1);const n=i+e;return Dd&&console.log("source:",o,`changed uri
|
|
4
4
|
from`,e,`
|
|
@@ -141,7 +141,7 @@ void main(){
|
|
|
141
141
|
#__vconsole .vc-mask {
|
|
142
142
|
overflow: hidden;
|
|
143
143
|
}
|
|
144
|
-
`,Sr?.prepend(i),o===!0&&Kb()<=0&&C_(),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.":"")),bc=!1,di=null},e.src="https://cdn.jsdelivr.net/npm/vconsole@3.15.1/dist/vconsole.min.js",document.body.appendChild(e)}function $O(){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"),di?.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}const dg="padding: 10px; font-family: monospace;",O_="margin-bottom: 10px;",Cr="margin-bottom: 10px; margin-top: 15px;",HO="width: 100%; border-collapse: collapse; border: 1px solid rgba(0,0,0,0.1); table-layout: fixed;",k_="border: 1px solid rgba(0,0,0,0.1); padding: 5px;",GO=k_,qO=k_+" word-break: break-all;";function qn(o,e=!1){e&&o.sort((i,n)=>(n.value?1:0)-(i.value?1:0));let t=`<table style='${HO}'>`;t+="<tbody>";for(const i of o){const n=typeof i.value=="boolean"?i.value?"\u2705":"\u274C":i.value;t+=`<tr><td style='${GO}'>${i.label}</td><td style='${qO}'>${n}</td></tr>`}return t+="</tbody></table>",t}function M_(){try{if(document.createElement("canvas").getContext("webgl2"))return"\u2705"}catch{}return"\u274C"}function XO(){if(!globalThis.VConsole)return;const o=new VConsole.VConsolePlugin("device-utilities","\u{1F4F1} Device Info");return o.on("renderTab",function(e){let t=`<div style='${dg}'>`;const i=ok();t+=`<h3 style='${O_}'>Device: ${i}</h3>`,t+=qn([{label:"\u{1F4BB} Desktop",value:I.isDesktop()},{label:"\u{1F4F1} Mobile Device",value:I.isMobileDevice()},{label:"\u{1F34E} iOS",value:I.isiOS()},{label:"\u{1F4F1} iPad",value:I.isiPad()},{label:"\u{1F916} Android",value:I.isAndroidDevice()},{label:"\u{1F98A} Mozilla XR",value:I.isMozillaXR()},{label:"\u{1F335} Needle App Clip",value:I.isNeedleAppClip()},{label:"\u{1F34F} macOS",value:I.isMacOS()},{label:"\u{1F453} VisionOS",value:I.isVisionOS()},{label:"\u{1F9ED} Safari",value:I.isSafari()},{label:"\u{1F576}\uFE0F Meta Quest",value:I.isQuest()},{label:"\u{1F517} QuickLook AR Support",value:I.supportsQuickLookAR()}],!0);const n=[],s=I.getiOSVersion();s&&n.push({label:"\u{1F34E} iOS Version",value:s});const r=I.getChromeVersion();r&&n.push({label:"\u{1F310} Chrome Version",value:r});const a=I.getSafariVersion();a&&n.push({label:"\u{1F9ED} Safari Version",value:a}),n.length>0&&(t+=qn(n,!1)),t+="</div>",t+=`<div style='${dg} margin-top: 20px;'>`,t+=`<h3 style='${O_}'>User Agent Info</h3>`;const l=[{label:"User Agent",value:navigator.userAgent},{label:"Platform",value:navigator.platform},{label:"App Version",value:navigator.appVersion},{label:"User Agent Data",value:navigator.userAgentData?`Platform: ${navigator.userAgentData.platform}, Mobile: ${navigator.userAgentData.mobile}`:"Not supported"},{label:"WebXR",value:"xr"in navigator?"\u2705":"\u274C"},{label:"WebGPU",value:"gpu"in navigator?"\u2705":"\u274C"},{label:"WebGL 2",value:M_()}];t+=qn(l,!1),t+="</div>",e(t)}),o}function QO(){if(!globalThis.VConsole)return;const o=new VConsole.VConsolePlugin("graphics-info","\u{1F3A8} Graphics Info");return o.on("renderTab",async function(e){let t=`<div style='${dg}'>`;const i=YO();i.length>0&&(t+=`<h3 style='${Cr}'>General GPU Info</h3>`,t+=qn(i,!1));const n=KO();n.length>0&&(t+=`<h3 style='${Cr}'>WebGL</h3>`,t+=qn(n,!1));const s=JO();s.length>0&&(t+=`<h3 style='${Cr}'>WebGL 2 Features</h3>`,t+=qn(s,!1));const r=ek();r.length>0&&(t+=`<h3 style='${Cr}'>WebGL Limits</h3>`,t+=qn(r,!1));const a=tk();a.length>0&&(t+=`<h3 style='${Cr}'>Texture Formats</h3>`,t+=qn(a,!1));const l=await ik();if(l.length>0&&(t+=`<h3 style='${Cr}'>WebGPU</h3>`,t+=qn(l,!1)),I.isSafari()){const c=nk();c.length>0&&(t+=`<h3 style='${Cr}'>Safari GPU Info</h3>`,t+=qn(c,!1))}t+="</div>",e(t)}),o}function YO(){const o=[],e=window.devicePixelRatio;o.push({label:"Device Pixel Ratio",value:e.toString()}),o.push({label:"Width (px)",value:(window.innerWidth*e).toString()}),o.push({label:"Height (px)",value:(window.innerHeight*e).toString()});const t=I.isMobileDevice()?150:96,i=screen.width/t,n=screen.height/t,s=i*2.54,r=n*2.54;o.push({label:"Estimated Width (cm)",value:s.toFixed(1)}),o.push({label:"Estimated Height (cm)",value:r.toFixed(1)});const a=R_();if(a){o.push({label:"GPU",value:a.renderer}),o.push({label:"Driver",value:a.vendor}),o.push({label:"ANGLE",value:a.angle||"Not detected"});const l=ZO(a.renderer);l&&(l.manufacturer&&o.push({label:"Manufacturer",value:l.manufacturer}),l.cardVersion&&o.push({label:"Card Version",value:l.cardVersion}),l.brand&&o.push({label:"Brand",value:l.brand}),o.push({label:"Integrated",value:l.integrated?"Yes":"No"}),l.layer&&o.push({label:"WebGL Layer",value:l.layer}))}return o}function ZO(o){if(!o)return null;const e=(l,c)=>{const h=c.match(l);return h&&h[0]},t=e(/(ANGLE)/g,o)||void 0,i=e(/((NVIDIA|AMD|Intel)[^\d]*[^\s]+)/,o)||o,n=i.split(" ");n.shift();const s=e(/(NVIDIA|AMD|Intel)/g,i)||void 0,r=n.length>0?n.pop():void 0,a=n.length>0?n.join(" "):void 0;return{manufacturer:s,cardVersion:r,brand:a,integrated:s==="Intel",layer:t,card:i}}function KO(){const o=[],e=R_();return e&&(o.push({label:"\u{1F4CA} WebGL Version",value:e.version}),o.push({label:"\u{1F3AE} WebGL 2 Available",value:M_()})),o}function JO(){const o=[];try{const e=document.createElement("canvas").getContext("webgl2");if(!e)return o;o.push({label:"Float Color Buffer",value:e.getExtension("EXT_color_buffer_float")?"\u2705":"\u274C"}),o.push({label:"Anisotropic Filtering",value:e.getExtension("EXT_texture_filter_anisotropic")?"\u2705":"\u274C"}),o.push({label:"Float Texture Linear",value:e.getExtension("OES_texture_float_linear")?"\u2705":"\u274C"}),o.push({label:"S3TC Compression",value:e.getExtension("WEBGL_compressed_texture_s3tc")?"\u2705":"\u274C"}),o.push({label:"ETC Compression",value:e.getExtension("WEBGL_compressed_texture_etc")?"\u2705":"\u274C"}),o.push({label:"PVRTC Compression",value:e.getExtension("WEBGL_compressed_texture_pvrtc")?"\u2705":"\u274C"}),o.push({label:"ASTC Compression",value:e.getExtension("WEBGL_compressed_texture_astc")?"\u2705":"\u274C"})}catch{}return o}function ek(){const o=[];try{const e=document.createElement("canvas"),t=e.getContext("webgl2")||e.getContext("webgl");if(!t)return o;const i=t instanceof WebGL2RenderingContext;o.push({label:"\u{1F4CF} Max Texture Size",value:t.getParameter(t.MAX_TEXTURE_SIZE).toString()}),o.push({label:"\u{1F3A8} Max Renderbuffer Size",value:t.getParameter(t.MAX_RENDERBUFFER_SIZE).toString()}),o.push({label:"\u{1F517} Max Vertex Attribs",value:t.getParameter(t.MAX_VERTEX_ATTRIBS).toString()}),o.push({label:"\u{1F3AF} Max Texture Units",value:t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS).toString()}),i&&(o.push({label:"\u26A1 Max Samples",value:t.getParameter(t.MAX_SAMPLES).toString()}),o.push({label:"\u{1F504} Max Uniform Buffer Bindings",value:t.getParameter(t.MAX_UNIFORM_BUFFER_BINDINGS).toString()}),o.push({label:"\u{1F4D0} Max 3D Texture Size",value:t.getParameter(t.MAX_3D_TEXTURE_SIZE).toString()}))}catch{}return o}function tk(){const o=[];try{document.createElement("canvas").getContext("webgl")&&(o.push({label:"WebGL 1 RGBA",value:"\u2705"}),o.push({label:"WebGL 1 RGB",value:"\u2705"}));const e=document.createElement("canvas").getContext("webgl2");e&&(o.push({label:"WebGL 2 RGBA32F",value:e.getExtension("EXT_color_buffer_float")?"\u2705":"\u274C"}),o.push({label:"WebGL 2 RGB32F",value:e.getExtension("EXT_color_buffer_float")?"\u2705":"\u274C"}),o.push({label:"WebGL 2 R11F_G11F_B10F",value:"\u2705"}),o.push({label:"WebGL 2 RGB565",value:"\u2705"}),o.push({label:"WebGL 2 RGB5_A1",value:"\u2705"}),o.push({label:"WebGL 2 RGBA4444",value:"\u2705"}))}catch{}return o}async function ik(){const o=[];if(!("gpu"in navigator))return o.push({label:"\u{1F680} WebGPU Support",value:"\u274C Not supported"}),o;o.push({label:"\u{1F680} WebGPU Support",value:"\u2705 Supported"});try{const e=await navigator.gpu.requestAdapter();if(!e)return o.push({label:"\u{1F3AF} Adapter",value:"No adapter available"}),o;o.push({label:"\u{1F3AF} Adapter",value:e.name||"Unknown Adapter"});const t=await e.requestDevice();o.push({label:"\u{1F527} Device",value:t.label||"WebGPU Device"}),o.push({label:"\u{1F4CF} Max Texture 2D",value:t.limits.maxTextureDimension2D.toString()}),o.push({label:"\u{1F4D0} Max Texture 3D",value:t.limits.maxTextureDimension3D.toString()}),o.push({label:"\u{1F4CA} Max Texture Array Layers",value:t.limits.maxTextureArrayLayers.toString()}),o.push({label:"\u{1F4BE} Max Buffer Size",value:`${(t.limits.maxBufferSize/1024/1024).toFixed(1)}MB`}),o.push({label:"\u{1F517} Max Bind Groups",value:t.limits.maxBindGroups.toString()})}catch(e){o.push({label:"\u274C Error",value:e.message})}return o}function R_(){try{const o=document.createElement("canvas"),e=o.getContext("webgl2")||o.getContext("webgl");if(!e)return null;const t=e.getExtension("WEBGL_debug_renderer_info"),i=t?e.getParameter(t.UNMASKED_RENDERER_WEBGL):e.getParameter(e.RENDERER),n=t?e.getParameter(t.UNMASKED_VENDOR_WEBGL):e.getParameter(e.VENDOR),s=e.getParameter(e.VERSION);let r;if(i&&i.includes("ANGLE")){const a=i.match(/ANGLE \(([^)]+)\)/);a&&(r=a[1])}return{renderer:i,vendor:n,version:s,angle:r}}catch{return null}}function nk(){const o=[];try{const e=document.createElement("canvas").getContext("webgl");if(e){const t=e.getExtension("WEBGL_debug_renderer_info");if(t){const i=e.getParameter(t.UNMASKED_RENDERER_WEBGL);i&&i.includes("Apple")&&o.push({label:"\u{1F34E} Apple GPU",value:i})}}}catch{}try{const e=document.createElement("canvas").getContext("webgl");e&&(e.getSupportedExtensions()||[]).includes("WEBGL_compressed_texture_pvrtc")&&o.push({label:"\u{1F5DC}\uFE0F PVRTC Support",value:"\u2705"})}catch{}return o}function ok(){return I.isQuest()?"Meta Quest":I.isVisionOS()?"Vision Pro":I.isiOS()?I.isiPad()?"iPad":"iPhone/iPod":I.isAndroidDevice()?"Android Device":I.isMozillaXR()?"Mozilla XR Browser":I.isNeedleAppClip()?"Needle App Clip":I.isMacOS()?"Mac":I.isDesktop()?"Desktop PC":"Unknown Device"}function sk(){return document.querySelector("#__vconsole .vc-switch")||null}function rk(){return document.querySelector("#__vconsole")||null}const E_=v("debugdefines");ws('if(!globalThis["NEEDLE_ENGINE_VERSION"]) globalThis["NEEDLE_ENGINE_VERSION"] = "0.0.0";'),ws('if(!globalThis["NEEDLE_ENGINE_GENERATOR"]) globalThis["NEEDLE_ENGINE_GENERATOR"] = "unknown";'),ws('if(!globalThis["NEEDLE_PROJECT_BUILD_TIME"]) globalThis["NEEDLE_PROJECT_BUILD_TIME"] = "unknown";'),ws('if(!globalThis["NEEDLE_PUBLIC_KEY"]) globalThis["NEEDLE_PUBLIC_KEY"] = "unknown";'),ws('globalThis["__NEEDLE_ENGINE_VERSION__"] = "4.13.1";'),ws('globalThis["__NEEDLE_ENGINE_GENERATOR__"] = "undefined";'),ws('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "Mon Feb 16 2026 11:51:11 GMT+0000 (Coordinated Universal Time)";'),ws('globalThis["__NEEDLE_PUBLIC_KEY__"] = "'+NEEDLE_PUBLIC_KEY+'";');const Ai="4.13.1",Ua="undefined",_c="Mon Feb 16 2026 11:51:11 GMT+0000 (Coordinated Universal Time)";E_&&console.log(`Engine version: ${Ai} (generator: ${Ua})
|
|
144
|
+
`,Sr?.prepend(i),o===!0&&Kb()<=0&&C_(),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.":"")),bc=!1,di=null},e.src="https://cdn.jsdelivr.net/npm/vconsole@3.15.1/dist/vconsole.min.js",document.body.appendChild(e)}function $O(){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"),di?.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}const dg="padding: 10px; font-family: monospace;",O_="margin-bottom: 10px;",Cr="margin-bottom: 10px; margin-top: 15px;",HO="width: 100%; border-collapse: collapse; border: 1px solid rgba(0,0,0,0.1); table-layout: fixed;",k_="border: 1px solid rgba(0,0,0,0.1); padding: 5px;",GO=k_,qO=k_+" word-break: break-all;";function qn(o,e=!1){e&&o.sort((i,n)=>(n.value?1:0)-(i.value?1:0));let t=`<table style='${HO}'>`;t+="<tbody>";for(const i of o){const n=typeof i.value=="boolean"?i.value?"\u2705":"\u274C":i.value;t+=`<tr><td style='${GO}'>${i.label}</td><td style='${qO}'>${n}</td></tr>`}return t+="</tbody></table>",t}function M_(){try{if(document.createElement("canvas").getContext("webgl2"))return"\u2705"}catch{}return"\u274C"}function XO(){if(!globalThis.VConsole)return;const o=new VConsole.VConsolePlugin("device-utilities","\u{1F4F1} Device Info");return o.on("renderTab",function(e){let t=`<div style='${dg}'>`;const i=ok();t+=`<h3 style='${O_}'>Device: ${i}</h3>`,t+=qn([{label:"\u{1F4BB} Desktop",value:I.isDesktop()},{label:"\u{1F4F1} Mobile Device",value:I.isMobileDevice()},{label:"\u{1F34E} iOS",value:I.isiOS()},{label:"\u{1F4F1} iPad",value:I.isiPad()},{label:"\u{1F916} Android",value:I.isAndroidDevice()},{label:"\u{1F98A} Mozilla XR",value:I.isMozillaXR()},{label:"\u{1F335} Needle App Clip",value:I.isNeedleAppClip()},{label:"\u{1F34F} macOS",value:I.isMacOS()},{label:"\u{1F453} VisionOS",value:I.isVisionOS()},{label:"\u{1F9ED} Safari",value:I.isSafari()},{label:"\u{1F576}\uFE0F Meta Quest",value:I.isQuest()},{label:"\u{1F517} QuickLook AR Support",value:I.supportsQuickLookAR()}],!0);const n=[],s=I.getiOSVersion();s&&n.push({label:"\u{1F34E} iOS Version",value:s});const r=I.getChromeVersion();r&&n.push({label:"\u{1F310} Chrome Version",value:r});const a=I.getSafariVersion();a&&n.push({label:"\u{1F9ED} Safari Version",value:a}),n.length>0&&(t+=qn(n,!1)),t+="</div>",t+=`<div style='${dg} margin-top: 20px;'>`,t+=`<h3 style='${O_}'>User Agent Info</h3>`;const l=[{label:"User Agent",value:navigator.userAgent},{label:"Platform",value:navigator.platform},{label:"App Version",value:navigator.appVersion},{label:"User Agent Data",value:navigator.userAgentData?`Platform: ${navigator.userAgentData.platform}, Mobile: ${navigator.userAgentData.mobile}`:"Not supported"},{label:"WebXR",value:"xr"in navigator?"\u2705":"\u274C"},{label:"WebGPU",value:"gpu"in navigator?"\u2705":"\u274C"},{label:"WebGL 2",value:M_()}];t+=qn(l,!1),t+="</div>",e(t)}),o}function QO(){if(!globalThis.VConsole)return;const o=new VConsole.VConsolePlugin("graphics-info","\u{1F3A8} Graphics Info");return o.on("renderTab",async function(e){let t=`<div style='${dg}'>`;const i=YO();i.length>0&&(t+=`<h3 style='${Cr}'>General GPU Info</h3>`,t+=qn(i,!1));const n=KO();n.length>0&&(t+=`<h3 style='${Cr}'>WebGL</h3>`,t+=qn(n,!1));const s=JO();s.length>0&&(t+=`<h3 style='${Cr}'>WebGL 2 Features</h3>`,t+=qn(s,!1));const r=ek();r.length>0&&(t+=`<h3 style='${Cr}'>WebGL Limits</h3>`,t+=qn(r,!1));const a=tk();a.length>0&&(t+=`<h3 style='${Cr}'>Texture Formats</h3>`,t+=qn(a,!1));const l=await ik();if(l.length>0&&(t+=`<h3 style='${Cr}'>WebGPU</h3>`,t+=qn(l,!1)),I.isSafari()){const c=nk();c.length>0&&(t+=`<h3 style='${Cr}'>Safari GPU Info</h3>`,t+=qn(c,!1))}t+="</div>",e(t)}),o}function YO(){const o=[],e=window.devicePixelRatio;o.push({label:"Device Pixel Ratio",value:e.toString()}),o.push({label:"Width (px)",value:(window.innerWidth*e).toString()}),o.push({label:"Height (px)",value:(window.innerHeight*e).toString()});const t=I.isMobileDevice()?150:96,i=screen.width/t,n=screen.height/t,s=i*2.54,r=n*2.54;o.push({label:"Estimated Width (cm)",value:s.toFixed(1)}),o.push({label:"Estimated Height (cm)",value:r.toFixed(1)});const a=R_();if(a){o.push({label:"GPU",value:a.renderer}),o.push({label:"Driver",value:a.vendor}),o.push({label:"ANGLE",value:a.angle||"Not detected"});const l=ZO(a.renderer);l&&(l.manufacturer&&o.push({label:"Manufacturer",value:l.manufacturer}),l.cardVersion&&o.push({label:"Card Version",value:l.cardVersion}),l.brand&&o.push({label:"Brand",value:l.brand}),o.push({label:"Integrated",value:l.integrated?"Yes":"No"}),l.layer&&o.push({label:"WebGL Layer",value:l.layer}))}return o}function ZO(o){if(!o)return null;const e=(l,c)=>{const h=c.match(l);return h&&h[0]},t=e(/(ANGLE)/g,o)||void 0,i=e(/((NVIDIA|AMD|Intel)[^\d]*[^\s]+)/,o)||o,n=i.split(" ");n.shift();const s=e(/(NVIDIA|AMD|Intel)/g,i)||void 0,r=n.length>0?n.pop():void 0,a=n.length>0?n.join(" "):void 0;return{manufacturer:s,cardVersion:r,brand:a,integrated:s==="Intel",layer:t,card:i}}function KO(){const o=[],e=R_();return e&&(o.push({label:"\u{1F4CA} WebGL Version",value:e.version}),o.push({label:"\u{1F3AE} WebGL 2 Available",value:M_()})),o}function JO(){const o=[];try{const e=document.createElement("canvas").getContext("webgl2");if(!e)return o;o.push({label:"Float Color Buffer",value:e.getExtension("EXT_color_buffer_float")?"\u2705":"\u274C"}),o.push({label:"Anisotropic Filtering",value:e.getExtension("EXT_texture_filter_anisotropic")?"\u2705":"\u274C"}),o.push({label:"Float Texture Linear",value:e.getExtension("OES_texture_float_linear")?"\u2705":"\u274C"}),o.push({label:"S3TC Compression",value:e.getExtension("WEBGL_compressed_texture_s3tc")?"\u2705":"\u274C"}),o.push({label:"ETC Compression",value:e.getExtension("WEBGL_compressed_texture_etc")?"\u2705":"\u274C"}),o.push({label:"PVRTC Compression",value:e.getExtension("WEBGL_compressed_texture_pvrtc")?"\u2705":"\u274C"}),o.push({label:"ASTC Compression",value:e.getExtension("WEBGL_compressed_texture_astc")?"\u2705":"\u274C"})}catch{}return o}function ek(){const o=[];try{const e=document.createElement("canvas"),t=e.getContext("webgl2")||e.getContext("webgl");if(!t)return o;const i=t instanceof WebGL2RenderingContext;o.push({label:"\u{1F4CF} Max Texture Size",value:t.getParameter(t.MAX_TEXTURE_SIZE).toString()}),o.push({label:"\u{1F3A8} Max Renderbuffer Size",value:t.getParameter(t.MAX_RENDERBUFFER_SIZE).toString()}),o.push({label:"\u{1F517} Max Vertex Attribs",value:t.getParameter(t.MAX_VERTEX_ATTRIBS).toString()}),o.push({label:"\u{1F3AF} Max Texture Units",value:t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS).toString()}),i&&(o.push({label:"\u26A1 Max Samples",value:t.getParameter(t.MAX_SAMPLES).toString()}),o.push({label:"\u{1F504} Max Uniform Buffer Bindings",value:t.getParameter(t.MAX_UNIFORM_BUFFER_BINDINGS).toString()}),o.push({label:"\u{1F4D0} Max 3D Texture Size",value:t.getParameter(t.MAX_3D_TEXTURE_SIZE).toString()}))}catch{}return o}function tk(){const o=[];try{document.createElement("canvas").getContext("webgl")&&(o.push({label:"WebGL 1 RGBA",value:"\u2705"}),o.push({label:"WebGL 1 RGB",value:"\u2705"}));const e=document.createElement("canvas").getContext("webgl2");e&&(o.push({label:"WebGL 2 RGBA32F",value:e.getExtension("EXT_color_buffer_float")?"\u2705":"\u274C"}),o.push({label:"WebGL 2 RGB32F",value:e.getExtension("EXT_color_buffer_float")?"\u2705":"\u274C"}),o.push({label:"WebGL 2 R11F_G11F_B10F",value:"\u2705"}),o.push({label:"WebGL 2 RGB565",value:"\u2705"}),o.push({label:"WebGL 2 RGB5_A1",value:"\u2705"}),o.push({label:"WebGL 2 RGBA4444",value:"\u2705"}))}catch{}return o}async function ik(){const o=[];if(!("gpu"in navigator))return o.push({label:"\u{1F680} WebGPU Support",value:"\u274C Not supported"}),o;o.push({label:"\u{1F680} WebGPU Support",value:"\u2705 Supported"});try{const e=await navigator.gpu.requestAdapter();if(!e)return o.push({label:"\u{1F3AF} Adapter",value:"No adapter available"}),o;o.push({label:"\u{1F3AF} Adapter",value:e.name||"Unknown Adapter"});const t=await e.requestDevice();o.push({label:"\u{1F527} Device",value:t.label||"WebGPU Device"}),o.push({label:"\u{1F4CF} Max Texture 2D",value:t.limits.maxTextureDimension2D.toString()}),o.push({label:"\u{1F4D0} Max Texture 3D",value:t.limits.maxTextureDimension3D.toString()}),o.push({label:"\u{1F4CA} Max Texture Array Layers",value:t.limits.maxTextureArrayLayers.toString()}),o.push({label:"\u{1F4BE} Max Buffer Size",value:`${(t.limits.maxBufferSize/1024/1024).toFixed(1)}MB`}),o.push({label:"\u{1F517} Max Bind Groups",value:t.limits.maxBindGroups.toString()})}catch(e){o.push({label:"\u274C Error",value:e.message})}return o}function R_(){try{const o=document.createElement("canvas"),e=o.getContext("webgl2")||o.getContext("webgl");if(!e)return null;const t=e.getExtension("WEBGL_debug_renderer_info"),i=t?e.getParameter(t.UNMASKED_RENDERER_WEBGL):e.getParameter(e.RENDERER),n=t?e.getParameter(t.UNMASKED_VENDOR_WEBGL):e.getParameter(e.VENDOR),s=e.getParameter(e.VERSION);let r;if(i&&i.includes("ANGLE")){const a=i.match(/ANGLE \(([^)]+)\)/);a&&(r=a[1])}return{renderer:i,vendor:n,version:s,angle:r}}catch{return null}}function nk(){const o=[];try{const e=document.createElement("canvas").getContext("webgl");if(e){const t=e.getExtension("WEBGL_debug_renderer_info");if(t){const i=e.getParameter(t.UNMASKED_RENDERER_WEBGL);i&&i.includes("Apple")&&o.push({label:"\u{1F34E} Apple GPU",value:i})}}}catch{}try{const e=document.createElement("canvas").getContext("webgl");e&&(e.getSupportedExtensions()||[]).includes("WEBGL_compressed_texture_pvrtc")&&o.push({label:"\u{1F5DC}\uFE0F PVRTC Support",value:"\u2705"})}catch{}return o}function ok(){return I.isQuest()?"Meta Quest":I.isVisionOS()?"Vision Pro":I.isiOS()?I.isiPad()?"iPad":"iPhone/iPod":I.isAndroidDevice()?"Android Device":I.isMozillaXR()?"Mozilla XR Browser":I.isNeedleAppClip()?"Needle App Clip":I.isMacOS()?"Mac":I.isDesktop()?"Desktop PC":"Unknown Device"}function sk(){return document.querySelector("#__vconsole .vc-switch")||null}function rk(){return document.querySelector("#__vconsole")||null}const E_=v("debugdefines");ws('if(!globalThis["NEEDLE_ENGINE_VERSION"]) globalThis["NEEDLE_ENGINE_VERSION"] = "0.0.0";'),ws('if(!globalThis["NEEDLE_ENGINE_GENERATOR"]) globalThis["NEEDLE_ENGINE_GENERATOR"] = "unknown";'),ws('if(!globalThis["NEEDLE_PROJECT_BUILD_TIME"]) globalThis["NEEDLE_PROJECT_BUILD_TIME"] = "unknown";'),ws('if(!globalThis["NEEDLE_PUBLIC_KEY"]) globalThis["NEEDLE_PUBLIC_KEY"] = "unknown";'),ws('globalThis["__NEEDLE_ENGINE_VERSION__"] = "4.13.1";'),ws('globalThis["__NEEDLE_ENGINE_GENERATOR__"] = "undefined";'),ws('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "Mon Feb 16 2026 14:46:26 GMT+0000 (Coordinated Universal Time)";'),ws('globalThis["__NEEDLE_PUBLIC_KEY__"] = "'+NEEDLE_PUBLIC_KEY+'";');const Ai="4.13.1",Ua="undefined",_c="Mon Feb 16 2026 14:46:26 GMT+0000 (Coordinated Universal Time)";E_&&console.log(`Engine version: ${Ai} (generator: ${Ua})
|
|
145
145
|
Project built at ${_c}`);const vs=NEEDLE_PUBLIC_KEY,To="needle_isActiveInHierarchy",Pr="builtin_components",vc="needle_editor_guid";function ws(o){try{(0,eval)(o)}catch(e){E_&&console.error(e)}}let T_,A_=null;function Cn(){return T_}function ug(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}A_!==o&&(A_=o,T_=new o)}function ak(o,e){if(typeof window!==void 0&&window.SPECTOR){console.log(window.SPECTOR);const t=new URLSearchParams(window.location.search);if(t.has("spector")){let i=function(){if(n>o.time.frame)return window.requestAnimationFrame(()=>i());const r=s.captureCanvas(e);r&&r instanceof Promise?r.then(()=>s.displayUI()):s.displayUI()};const n=Number.parseInt(t.get("spector")||"0")||0;console.log("Scheduled Spector capture at frame #"+n);const s=new window.SPECTOR.Spector;s.spyCanvases=!0,i();return}else A()&&console.debug("Spector available: Add '?spector=<frame>' to the URL to enable it and capture a frame.")}}const Ii=Symbol("shadowDomOwner"),lk=v("debugpatch");function Hd(o,e,t,i){const n=lk===e;if(!t&&!i)return;const s=e+"___needle";hk(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]=L_(r.value,o,e))):(n&&console.log("Create patch with new property",o.constructor.name,e,r),Object.defineProperty(o,e,{set:function(l){if(typeof l=="function")this[s]=L_(l,o,e);else{const c=this[s];D_(o,e,this,c,l),this[s]=l,j_(o,e,this,c,l)}},get:function(){const l=this[s];return typeof l=="function"&&l[s]?l[s]:l}}))}function ck(o,e,t){const i=mg(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 I_=Symbol("Needle:Patches:WrappedFunction");function L_(o,e,t){if(o[I_])return o;const i=function(...n){D_(e,t,this,...n);const s=o.apply(this,n);return j_(e,t,this,s,...n),s};return i[I_]=!0,i}const Gd="Needle:Patches";function pg(){return globalThis[Gd]||(globalThis[Gd]=new WeakMap),globalThis[Gd]}function mg(o,e){const t=pg().get(o);return t?t.get(e):null}function hk(o,e,t,i){let n=pg().get(o);n||(n=new Map,pg().set(o,n));let s=n.get(e);s||(s=[],n.set(e,s)),s.push({prefix:t,postfix:i})}function D_(o,e,t,...i){if(!t)return;const n=mg(o,e);if(n)for(const s of n)s.prefix?.call(t,...i)}function j_(o,e,t,i,...n){if(!t)return;const s=mg(o,e);if(s)for(const r of s)r.postfix?.call(t,i,...n)}const za=[];function qd(o){za.indexOf(o)===-1&&za.push(o)}function dk(o){const e=za.indexOf(o);e!==-1&&za.splice(e,1)}const Na=[];function gg(o){Na.indexOf(o)===-1&&Na.push(o)}function uk(o){const e=Na.indexOf(o);e!==-1&&Na.splice(e,1)}function B_(o){globalThis.dispatchEvent(new CustomEvent("needle-xrsession-start",{detail:o}));for(let e=0;e<za.length;e++)za[e](o)}function F_(o){globalThis.dispatchEvent(new CustomEvent("needle-xrsession-end",{detail:o}));for(let e=0;e<Na.length;e++)Na[e](o)}const qe=v("debuginput");var Xd=(o=>(o.Mouse="mouse",o.Touch="touch",o.Controller="controller",o.Hand="hand",o))(Xd||{}),Te=(o=>(o.PointerDown="pointerdown",o.PointerUp="pointerup",o.PointerMove="pointermove",o.KeyDown="keydown",o.KeyUp="keyup",o.KeyPressed="keypress",o))(Te||{});class Ao extends PointerEvent{clientZ;deviceIndex;origin;source;mode;get isSpatial(){return this.mode!="screen"}get ray(){return this._ray||(this._ray=new So(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;buttonName=void 0;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,this.buttonName=i.buttonName}_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(),qe&&console.warn("Stop propagation...",this.pointerId,this.pointerType)}}class wc extends KeyboardEvent{source;constructor(e,t,i){super(e,i),this.source=t}stopImmediatePropagation(){super.stopImmediatePropagation(),this.source?.stopImmediatePropagation()}}class pk{key;keyType;source;constructor(e){this.key=e.key,this.keyType=e.type,this.source=e}}var ui=(o=>(o[o.Early=-100]="Early",o[o.Default=0]="Default",o[o.Late=100]="Late",o))(ui||{});class U_{_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 wc){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 Ao){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,qe&&console.log("immediatePropagationStopped",e.type);break}else e.propagationStopped&&(t=!0,qe&&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":qe&&Pe("Create Pointer down"),this.onDownButton(e.deviceIndex,e.button),this.onDown(e);break;case"pointermove":qe&&Pe("Create Pointer move"),this.onMove(e);break;case"pointerup":qe&&Pe("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&&I.isMozillaXR()?!0:(qe&&console.warn("CanReceiveInput:False for",e.target),!1)}onContextMenu=e=>{this.canReceiveInput(e)};keysPressed={};onKeyDown=e=>{if(qe&&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 wc("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 wc("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 wc("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);qe&&Pe(`pointer down #${t}, identifier:${e.pointerId}`);const i=this.getAndUpdateSpatialObjectForScreenPosition(t,e.clientX,e.clientY),n=new Ao("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 Ao("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||(qe&&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 Ao("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,qe&&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 Ao("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 Ao("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 Ao("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 M,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||F(0,1,0).applyQuaternion(_e(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 qe&&!s&&console.log("Not in rect",t,i,n),s}onDown(e){const t=e.pointerId;if(this.getPointerPressed(t)){qe&&console.warn(`Received pointerDown event for pointerId that is already pressed: ${t}/${e.button}`,qe?e:"");return}if(qe&&console.log(e.pointerType,"DOWN",t,e.button),!!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)){qe&&console.warn(`Received pointerUp for pointerId that is not pressed: ${t}/${e.button}`,qe?e:"");return}qe&&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]){qe&&be("[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;qe&&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):(qe&&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=U.Current;try{U.Current=this.context,this.dispatchEvent(e)}finally{U.Current=t}}}const Wa=new K().makeRotationY(Math.PI),Xi=new N().setFromAxisAngle(new b(0,1,0),Math.PI),mk=v("debugwebxr");class gk{priority=-1e5;gameObject;isXRRig(){return!0}get isActive(){return this.gameObject.visible}constructor(){if(this.gameObject=new M,this.gameObject.name="Implicit XR Rig",mk){const e=Eg(16733661);e.position.y+=.5,this.gameObject.add(e)}}}const Io=v("debugwebxr"),Qd=v("debugcustomgesture"),fk="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",yk="generic-trigger",bk=new N().setFromEuler(new at(Co.degToRad(0),Co.degToRad(-90),Co.degToRad(-90))),_k=new b(.04,-.04,0);class fg{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 N;_linearVelocity=new b;_rayPositionRaw=new b;_rayRotationRaw=new N;_rayMatrix=new K;_rayPosition=new b;_rayQuaternion=new N;get gripPosition(){return F(this._gripPosition)}get gripQuaternion(){return hi(this._gripQuaternion)}get gripMatrix(){return this._gripMatrix}get gripLinearVelocity(){return F(this._linearVelocity).applyQuaternion(Xi)}get rayPosition(){return F(this._rayPosition)}get rayQuaternion(){return hi(this._rayQuaternion)}get gripWorldPosition(){return F(this._gripWorldPosition)}_gripWorldPosition=new b;get gripWorldQuaternion(){return hi(this._gripWorldQuaternion)}_gripWorldQuaternion=new N;get rayWorldPosition(){return F(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 hi(this._rayWorldQuaternion)}_rayWorldQuaternion=new N;get pinchPosition(){return F(this._pinchPosition)}_pinchPosition=new b;updateRayWorldQuaternion(){const e=this.xr.context.mainCamera?.parent,t=e?_e(e):void 0;this._rayWorldQuaternion.copy(this._rayRotationRaw).multiply(Xi),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 Oi(.15);_debugGripAxesHelper=new Oi(.07);_debugRayAxesHelper=new Oi(.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 M,this._object.name=`NeedleXRController_${i}`,Io&&(this._object.add(this._debugAxesHelper),this._gripSpaceObject=new M,this._raySpaceObject=new M,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 So,this.pointerInit={origin:this,pointerType:this.hand?"hand":"controller",deviceIndex:this.index,pointerId:-1,mode:this.inputSource.targetRayMode,ray:this._ray,device:this._object,buttonName:"none"},this.initialize(),this.subscribeEvents()}_hitTestSourcePromise=null;_requestHitTestSource(){return this._hitTestSourcePromise?this._hitTestSourcePromise:this.xr.mode==="immersive-ar"&&this.inputSource.targetRayMode==="tracked-pointer"&&this.xr.session.requestHitTestSourceForTransientInput?this._hitTestSourcePromise=this.xr.session.requestHitTestSourceForTransientInput({profile:this.inputSource.profiles[0],offsetRay:new XRRay})?.then(e=>(this._hitTestSourcePromise=null,this.connected?this._hitTestSource=e:(e.cancel(),null)))??null:null}onPointerHits=e=>{};onUpdate(e){this.onUpdateFrame(e),this.updateInputEvents(),this.onUpdateMove()}onRenderDebug(){B.DrawSphere(this.rayWorldPosition,.003),B.DrawDirection(this.rayWorldPosition,F(0,0,10).applyQuaternion(this.rayWorldQuaternion));const e=(this.inputSource.gripSpace?this.gripWorldPosition:this.object.worldPosition).sub(this.object.worldForward.multiplyScalar(.1)),t=this.inputSource.profiles.join(`
|
|
146
146
|
`);let i=`Controller[${this.index}] (${this.inputSource.targetRayMode}, ${this.side})
|
|
147
147
|
C:${this.connected?"x":"-"} T:${this.isTracking?"x":"-"} Hand:${this.inputSource.hand?"x":"-"} Pen: ${this._isMxInk?"x":"-"}`;if(this.inputSource.hand&&(i+=`
|
package/dist/needle-engine.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
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, TypeStore as p, loadAsset as g, NeedleXRSession as u, Context as S, VERSION as C, Component as y, Components as E } from "./needle-engine.bundle-
|
|
2
|
-
import { $physicsKey as T, ActionBuilder as A, ActionCollection as b, ActionModel as M, Addressables as I, AlignmentConstraint as D, AmbientMode as O, Animation as x, AnimationCurve as k, AnimationExtension as L, AnimationTrackHandler as N, AnimationUtils as B, Animator as F, AnimatorConditionMode as U, AnimatorController as w, AnimatorControllerParameterType as G, AnimatorStateInfo as W, Antialiasing as H, Application as X, AssetDatabase as z, AssetReference as V, Attractor as _, AudioExtension as j, AudioListener as Z, AudioSource as K, AudioTrackHandler as Q, Avatar as Y, AvatarBlink_Simple as $, AvatarEyeLook_Rotation as J, AvatarLoader as q, AvatarMarker as ee, AvatarModel as te, Avatar_Brain_LookAt as oe, Avatar_MouthShapes as re, Avatar_MustacheShake as ne, Avatar_POI as ie, Axes as ae, AxesHelper as se, BUILD_TIME as le, BaseUIComponent as de, BasicIKConstraint as ce, BehaviorExtension as me, BehaviorModel as pe, Component$1 as ge, BlobStorage as ue, BloomEffect as Se, BoxCollider as Ce, BoxGizmo as ye, BoxHelperComponent as Ee, Button as Re, ButtonsFactory as he, CallDirection as fe, CallInfo as ve, Camera as Pe, CameraTargetReachedEvent as Te, Canvas as Ae, CanvasGroup as be, CapsuleCollider as Me, ChangeMaterialOnClick as Ie, ChangeTransformOnClick as De, CharacterController as Oe, CharacterControllerInput as xe, ChromaticAberration as ke, CircularBuffer as Le, ClearFlags as Ne, ClickThrough as Be, ClipExtrapolation as Fe, Collider as Ue, Collision as we, CollisionDetectionMode as Ge, ColorAdjustments as We, ColorBySpeedModule as He, ColorOverLifetimeModule as Xe, Component$1 as ze, ComponentLifecycleEvents as Ve, ConnectionEvents as _e, ContactPoint as je, ContactShadows as Ze, ContextArgs as Ke, ContextEvent as Qe, ContextRegistry as Ye, ControlTrackHandler as $e, CursorFollow as Je, CustomBranding as qe, CustomShader as et, DefaultReflectionMode as tt, Deletable as ot, DeleteBox as rt, DepthOfField as nt, DeviceFlag as it, DeviceUtilities as at, DocumentExtension as st, DragControls as lt, DragMode as dt, DropListener as ct, Duplicatable as mt, EffectWrapper as pt, EmissionModule as gt, EmphasizeOnClick as ut, EngineLoadingView as St, EnvironmentScene as Ct, EventList as yt, EventListEvent as Et, EventSystem as Rt, EventTrigger as ht, FieldWithDefault as ft, FileReference as vt, FileReferenceSerializer as Pt, FileSpawnModel as Tt, File_Event as At, FixedJoint as bt, Fog as Mt, FrameEvent as It, GENERATOR as Dt, Gizmos as Ot, GltfExport as xt, GltfExportBox as kt, Gradient as Lt, Graphic as Nt, GraphicRaycaster as Bt, Graphics as Ft, GridHelper as Ut, GridLayoutGroup as wt, GroundProjectedEnv as Gt, GroupActionModel as Wt, HideFlags as Ht, HideOnStart as Xt, HingeJoint as zt, HorizontalLayoutGroup as Vt, HostData as _t, HoverAnimation as jt, Image as Zt, ImageReference as Kt, ImageReferenceSerializer as Qt, InheritVelocityModule as Yt, Input as $t, InputEventQueue as Jt, InputEvents as qt, InputField as eo, InstanceHandle as to, InstancingHandler as oo, InstancingUtil as ro, InstantiateEvent as no, InstantiateIdProvider as io, InstantiateOptions as ao, Interactable as so, InternalScreenshotUtils as lo, JoinedRoomResponse as co, KeyEventArgs as mo, Keyframe as po, LODGroup as go, LODModel as uo, LeftRoomResponse as So, Light as Co, LightData as yo, LimitVelocityOverLifetimeModule as Eo, LoadingElementOptions as Ro, LogStats as ho, LogType as fo, LookAt as vo, LookAtConstraint as Po, MainModule as To, MarkerTrackHandler as Ao, MarkerType as bo, MaskableGraphic as Mo, MaterialX as Io, Mathf as Do, MeshCollider as Oo, MeshRenderer as xo, MinMaxCurve as ko, MinMaxGradient as Lo, NEEDLE_ENGINE_FEATURE_FLAGS as No, MODULES as Bo, NEKeyboardEvent as Fo, NEPointerEvent as Uo, NeedleButtonElement as wo, ContextRegistry as Go, NeedleEngineModelLoader as Wo, NeedleEngineWebComponent as Ho, NeedleMenu as Xo, NeedlePatchesKey as zo, USDZExporter as Vo, NeedleXRController as _o, NeedleXRSync as jo, NeedleXRUtils as Zo, NestedGltf as Ko, NetworkConnection as Qo, NetworkedStreamEvents as Yo, NetworkedStreams as $o, Networking as Jo, NewInstanceModel as qo, NoiseModule as er, ObjectRaycaster as tr, ObjectUtils as or, OffsetConstraint as rr, OneEuroFilter as nr, OneEuroFilterXYZ as ir, OpenURL as ar, OrbitControls as sr, Outline as lr, OwnershipEvent as dr, OwnershipModel as cr, PUBLIC_KEY as mr, Padding as pr, ParticleBurst as gr, ParticleSubEmitter as ur, ParticleSystem as Sr, ParticleSystemBaseBehaviour as Cr, ParticleSystemRenderer as yr, ParticleSystemShapeType as Er, PeerHandle as Rr, PeerNetworking as hr, Physics as fr, PhysicsExtension as vr, PhysicsMaterialCombine as Pr, PixelationEffect as Tr, PlayAnimationOnClick as Ar, PlayAudioOnClick as br, PlayableDirector as Mr, PlayerColor as Ir, PlayerState as Dr, PlayerStateEvent as Or, PlayerSync as xr, PlayerView as kr, PlayerViewManager as Lr, PointerEventData as Nr, PointerType as Br, PostProcessingEffect as Fr, PostProcessingEffectOrder as Ur, PostProcessingHandler as wr, Volume as Gr, PreliminaryAction as Wr, PreliminaryTrigger as Hr, PreviewHelper as Xr, PrimitiveType as zr, Progress as Vr, PromiseAllWithErrors as _r, PromiseErrorResult as jr, RGBAColor as Zr, RapierPhysics as Kr, RawImage as Qr, RaycastOptions as Yr, Rect as $r, RectTransform as Jr, ReflectionProbe as qr, RegisteredAnimationInfo as en, RemoteSkybox as tn, RenderTexture as on, RenderTextureSerializer as rn, Renderer as nn, RendererData as an, RendererLightmap as sn, Rigidbody as ln, RigidbodyConstraints as dn, RoomEvents as cn, RotationBySpeedModule as mn, RotationOverLifetimeModule as pn, SceneLightSettings as gn, SceneSwitcher as un, ScreenCapture as Sn, ScreenSpaceAmbientOcclusion as Cn, ScreenSpaceAmbientOcclusionN8 as yn, ScrollFollow as En, SeeThrough as Rn, SendQueue as hn, SerializationContext as fn, SetActiveOnClick as vn, ShadowCatcher as Pn, ShapeModule as Tn, ShapeOverlapResult as An, SharpeningEffect as bn, SignalAsset as Mn, SignalReceiver as In, SignalReceiverEvent as Dn, SignalTrackHandler as On, Size as xn, SizeBySpeedModule as kn, SizeOverLifetimeModule as Ln, SkinnedMeshRenderer as Nn, SmoothFollow as Bn, SpatialGrabRaycaster as Fn, SpatialHtml as Un, SpatialTrigger as wn, SpatialTriggerReceiver as Gn, SpectatorCamera as Wn, SphereCollider as Hn, SphereIntersection as Xn, SplineContainer as zn, SplineData as Vn, SplineUtils as _n, SplineWalker as jn, Sprite as Zn, SpriteData as Kn, SpriteRenderer as Qn, SpriteSheet as Yn, StateMachineBehaviour as $n, StreamEndedEvent as Jn, StreamReceivedEvent as qn, SubEmitterSystem as ei, SyncedCamera as ti, SyncedRoom as oi, SyncedTransform as ri, TapGestureTrigger as ni, TeleportTarget as ii, TestRunner as ai, TestSceneUtils as si, TestSimulateUserData as li, Text as di, TextBuilder as ci, TextExtension as mi, TextureSheetAnimationModule as pi, TiltShiftEffect as gi, Time as ui, ToneMappingEffect as Si, TrackHandler as Ci, TrackType as yi, TrailModule as Ei, TransformData as Ri, TransformGizmo as hi, TriggerBuilder as fi, TriggerModel as vi, UIRaycastUtils as Pi, UIRootComponent as Ti, USDDocument as Ai, USDObject as bi, USDWriter as Mi, USDZExporter$1 as Ii, USDZText as Di, USDZUIExtension as Oi, UriSerializer as xi, UsageMarker as ki, UserJoinedOrLeftRoomModel as Li, VariantAction as Ni, VelocityOverLifetimeModule as Bi, VerticalLayoutGroup as Fi, VideoPlayer as Ui, ViewBox as wi, ViewDevice as Gi, Vignette as Wi, VisibilityAction as Hi, Voip as Xi, Volume as zi, VolumeParameter as Vi, VolumeProfile as _i, WaitForFrames as ji, WaitForPromise as Zi, WaitForSeconds as Ki, Watch as Qi, WebARCameraBackground as Yi, WebARSessionRoot as $i, WebXR as Ji, WebXRButtonFactory as qi, WebXRImageTracking as ea, WebXRImageTrackingModel as ta, WebXRPlaneTracking as oa, WebXRTrackedImage as ra, XRControllerFollow as na, XRControllerModel as ia, XRControllerMovement as aa, XRFlag as sa, XRRig as la, XRState as da, XRStateFlag as ca, __Ignore as ma, __internalNotifyObjectDestroyed as pa, activeInHierarchyFieldName as ga, addAttributeChangeCallback as ua, addComponent as Sa, addCustomExtensionPlugin as Ca, addNewComponent as ya, addPatch as Ea, apply as Ra, applyHMRChanges as ha, applyPrototypeExtensions as fa, beginListenDestroy as va, beginListenInstantiate as Pa, binaryIdentifierCasts as Ta, build_scene_functions as Aa, builtinComponentKeyName as ba, calculateProgress01 as Ma, clearMessages as Ia, clearMessages as Da, colorSerializer as Oa, compareAssociation as xa, componentSerializer as ka, copyTexture as La, createMotion as Na, debugNet as Ba, debugOwner as Fa, decompressGpuTexture as Ua, deepClone as wa, delay as Ga, delayForFrames as Wa, deserializeObject as Ha, destroy as Xa, destroyComponentInstance as za, determineMimeTypeFromExtension as Va, disposeObjectResources as _a, disposeStream as ja, editorGuidKeyName as Za, enableSpatialConsole as Ka, euler as Qa, eventListSerializer as Ya, exportAsGLTF as $a, findByGuid as Ja, findObjectOfType as qa, findObjectsOfType as es, findResourceUsers as ts, fitCamera as os, fitObjectIntoVolume as rs, foreachComponent as ns, foreachComponentEnumerator as is, forward as as, generateQRCode as ss, generateSeed as ls, getBoundingBox as ds, getCameraController as cs, getComponent as ms, getComponentInChildren as ps, getComponentInParent as gs, getComponents as us, getComponentsInChildren as Ss, getComponentsInParent as Cs, getFormattedDate as ys, getIconElement as Es, getIconTexture as Rs, getLoader as hs, getOrAddComponent as fs, getParam as vs, getParentHierarchyPath as Ps, getPath as Ts, getPeerOptions as As, getPeerjsInstance as bs, getResourceUserCount as Ms, getTempColor as Is, getTempQuaternion as Ds, getTempVector as Os, getUrlParams as xs, getVisibleInCustomShadowRendering as ks, getWorldDirection as Ls, getWorldEuler as Ns, getWorldPosition as Bs, getWorldQuaternion as Fs, getWorldRotation as Us, getWorldScale as ws, hasCommercialLicense as Gs, hasIndieLicense as Ws, hasPointerEventComponent as Hs, hasProLicense as Xs, hideDebugConsole as zs, imageToCanvas as Vs, instantiate as _s, invokeLoadedImportPluginHooks as js, invokeXRSessionEnd as Zs, invokeXRSessionStart as Ks, isActiveInHierarchy as Qs, isActiveSelf as Ys, isAndroidDevice as $s, isAnimationAction as Js, isComponent as qs, isDebugMode as el, isDesktop as tl, isDestroyed as ol, isDevEnvironment as rl, isDisposed as nl, isExporting as il, isGLTFModel as al, isHostedOnGlitch as sl, isHotReloadEnabled as ll, isHotReloading as dl, isIPad as cl, isIconElement as ml, isLocalNetwork as pl, isMacOS as gl, isMobileDevice as ul, isMozillaXR as Sl, isQuest as Cl, isResourceTrackingEnabled as yl, isSafari as El, isUsingInstancing as Rl, isiOS as hl, isiPad as fl, loadPMREM as vl, loadSync as Pl, logHierarchy as Tl, lookAtInverse as Al, lookAtObject as bl, lookAtScreenPoint as Ml, makeId as Il, makeIdFromRandomWords as Dl, makeNameSafe as Ol, markAsInstancedRendered as xl, microphonePermissionsGranted as kl, nameof as Ll, nameofFactory as Nl, objectSerializer as Bl, offXRSessionEnd as Fl, offXRSessionStart as Ul, onXRSessionEnd as wl, onXRSessionStart as Gl, parseSync as Wl, placeOnSurface as Hl, postprocessFBXMaterials as Xl, prefix as zl, pushState as Vl, randomNumber as _l, registerBinaryType as jl, registerComponent as Zl, registerComponentExtension as Kl, registerCustomEffectType as Ql, registerExportExtensions as Yl, registerExtensions as $l, registerHotReloadType as Jl, registerLoader as ql, registerPrefabProvider as ed, registerPrototypeExtensions as td, registerType as od, relativePathPrefix as rd, removeAttributeChangeCallback as nd, removeComponent as id, removeCustomImportExtensionType as ad, removePatch as sd, resolveUrl as ld, sanitizeString as dd, saveImage as cd, screenshot as md, screenshot2 as pd, sendDestroyed as gd, serializable as ud, serializeObject as Sd, serializeable as Cd, setActive as yd, setAllowBalloonMessages as Ed, setAllowOverlayMessages as Rd, setAutoFitEnabled as hd, setCameraController as fd, setDestroyed as vd, setDevEnvironment as Pd, setDisposable as Td, setDontDestroy as Ad, setOrAddParamsToUrl as bd, setParam as Md, setParamWithoutReload as Id, setPeerOptions as Dd, setResourceTrackingEnabled as Od, setState as xd, setVisibleInCustomShadowRendering as kd, setWorldEuler as Ld, setWorldPosition as Nd, setWorldPositionXYZ as Bd, setWorldQuaternion as Fd, setWorldQuaternionXYZW as Ud, setWorldRotation as wd, setWorldRotationXYZ as Gd, setWorldScale as Wd, showBalloonError as Hd, showBalloonMessage as Xd, showBalloonWarning as zd, showDebugConsole as Vd, slerp as _d, syncDestroy as jd, syncField as Zd, syncInstantiate as Kd, textureToCanvas as Qd, toSourceId as Yd, tryCastBinary as $d, tryDetermineMimetypeFromBinary as Jd, tryDetermineMimetypeFromURL as qd, tryFindObject as ec, tryGetGuid as tc, unregisterHotReloadType as oc, unwatchWrite as rc, useForAutoFit as nc, validate as ic, watchWrite as ac } from "./needle-engine.bundle-wB3o8RB6.js";
|
|
3
|
-
import { NEEDLE_progressive as lc } from "./gltf-progressive-
|
|
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, TypeStore as p, loadAsset as g, NeedleXRSession as u, Context as S, VERSION as C, Component as y, Components as E } from "./needle-engine.bundle-BZRE5G6O.js";
|
|
2
|
+
import { $physicsKey as T, ActionBuilder as A, ActionCollection as b, ActionModel as M, Addressables as I, AlignmentConstraint as D, AmbientMode as O, Animation as x, AnimationCurve as k, AnimationExtension as L, AnimationTrackHandler as N, AnimationUtils as B, Animator as F, AnimatorConditionMode as U, AnimatorController as w, AnimatorControllerParameterType as G, AnimatorStateInfo as W, Antialiasing as H, Application as X, AssetDatabase as z, AssetReference as V, Attractor as _, AudioExtension as j, AudioListener as Z, AudioSource as K, AudioTrackHandler as Q, Avatar as Y, AvatarBlink_Simple as $, AvatarEyeLook_Rotation as J, AvatarLoader as q, AvatarMarker as ee, AvatarModel as te, Avatar_Brain_LookAt as oe, Avatar_MouthShapes as re, Avatar_MustacheShake as ne, Avatar_POI as ie, Axes as ae, AxesHelper as se, BUILD_TIME as le, BaseUIComponent as de, BasicIKConstraint as ce, BehaviorExtension as me, BehaviorModel as pe, Component$1 as ge, BlobStorage as ue, BloomEffect as Se, BoxCollider as Ce, BoxGizmo as ye, BoxHelperComponent as Ee, Button as Re, ButtonsFactory as he, CallDirection as fe, CallInfo as ve, Camera as Pe, CameraTargetReachedEvent as Te, Canvas as Ae, CanvasGroup as be, CapsuleCollider as Me, ChangeMaterialOnClick as Ie, ChangeTransformOnClick as De, CharacterController as Oe, CharacterControllerInput as xe, ChromaticAberration as ke, CircularBuffer as Le, ClearFlags as Ne, ClickThrough as Be, ClipExtrapolation as Fe, Collider as Ue, Collision as we, CollisionDetectionMode as Ge, ColorAdjustments as We, ColorBySpeedModule as He, ColorOverLifetimeModule as Xe, Component$1 as ze, ComponentLifecycleEvents as Ve, ConnectionEvents as _e, ContactPoint as je, ContactShadows as Ze, ContextArgs as Ke, ContextEvent as Qe, ContextRegistry as Ye, ControlTrackHandler as $e, CursorFollow as Je, CustomBranding as qe, CustomShader as et, DefaultReflectionMode as tt, Deletable as ot, DeleteBox as rt, DepthOfField as nt, DeviceFlag as it, DeviceUtilities as at, DocumentExtension as st, DragControls as lt, DragMode as dt, DropListener as ct, Duplicatable as mt, EffectWrapper as pt, EmissionModule as gt, EmphasizeOnClick as ut, EngineLoadingView as St, EnvironmentScene as Ct, EventList as yt, EventListEvent as Et, EventSystem as Rt, EventTrigger as ht, FieldWithDefault as ft, FileReference as vt, FileReferenceSerializer as Pt, FileSpawnModel as Tt, File_Event as At, FixedJoint as bt, Fog as Mt, FrameEvent as It, GENERATOR as Dt, Gizmos as Ot, GltfExport as xt, GltfExportBox as kt, Gradient as Lt, Graphic as Nt, GraphicRaycaster as Bt, Graphics as Ft, GridHelper as Ut, GridLayoutGroup as wt, GroundProjectedEnv as Gt, GroupActionModel as Wt, HideFlags as Ht, HideOnStart as Xt, HingeJoint as zt, HorizontalLayoutGroup as Vt, HostData as _t, HoverAnimation as jt, Image as Zt, ImageReference as Kt, ImageReferenceSerializer as Qt, InheritVelocityModule as Yt, Input as $t, InputEventQueue as Jt, InputEvents as qt, InputField as eo, InstanceHandle as to, InstancingHandler as oo, InstancingUtil as ro, InstantiateEvent as no, InstantiateIdProvider as io, InstantiateOptions as ao, Interactable as so, InternalScreenshotUtils as lo, JoinedRoomResponse as co, KeyEventArgs as mo, Keyframe as po, LODGroup as go, LODModel as uo, LeftRoomResponse as So, Light as Co, LightData as yo, LimitVelocityOverLifetimeModule as Eo, LoadingElementOptions as Ro, LogStats as ho, LogType as fo, LookAt as vo, LookAtConstraint as Po, MainModule as To, MarkerTrackHandler as Ao, MarkerType as bo, MaskableGraphic as Mo, MaterialX as Io, Mathf as Do, MeshCollider as Oo, MeshRenderer as xo, MinMaxCurve as ko, MinMaxGradient as Lo, NEEDLE_ENGINE_FEATURE_FLAGS as No, MODULES as Bo, NEKeyboardEvent as Fo, NEPointerEvent as Uo, NeedleButtonElement as wo, ContextRegistry as Go, NeedleEngineModelLoader as Wo, NeedleEngineWebComponent as Ho, NeedleMenu as Xo, NeedlePatchesKey as zo, USDZExporter as Vo, NeedleXRController as _o, NeedleXRSync as jo, NeedleXRUtils as Zo, NestedGltf as Ko, NetworkConnection as Qo, NetworkedStreamEvents as Yo, NetworkedStreams as $o, Networking as Jo, NewInstanceModel as qo, NoiseModule as er, ObjectRaycaster as tr, ObjectUtils as or, OffsetConstraint as rr, OneEuroFilter as nr, OneEuroFilterXYZ as ir, OpenURL as ar, OrbitControls as sr, Outline as lr, OwnershipEvent as dr, OwnershipModel as cr, PUBLIC_KEY as mr, Padding as pr, ParticleBurst as gr, ParticleSubEmitter as ur, ParticleSystem as Sr, ParticleSystemBaseBehaviour as Cr, ParticleSystemRenderer as yr, ParticleSystemShapeType as Er, PeerHandle as Rr, PeerNetworking as hr, Physics as fr, PhysicsExtension as vr, PhysicsMaterialCombine as Pr, PixelationEffect as Tr, PlayAnimationOnClick as Ar, PlayAudioOnClick as br, PlayableDirector as Mr, PlayerColor as Ir, PlayerState as Dr, PlayerStateEvent as Or, PlayerSync as xr, PlayerView as kr, PlayerViewManager as Lr, PointerEventData as Nr, PointerType as Br, PostProcessingEffect as Fr, PostProcessingEffectOrder as Ur, PostProcessingHandler as wr, Volume as Gr, PreliminaryAction as Wr, PreliminaryTrigger as Hr, PreviewHelper as Xr, PrimitiveType as zr, Progress as Vr, PromiseAllWithErrors as _r, PromiseErrorResult as jr, RGBAColor as Zr, RapierPhysics as Kr, RawImage as Qr, RaycastOptions as Yr, Rect as $r, RectTransform as Jr, ReflectionProbe as qr, RegisteredAnimationInfo as en, RemoteSkybox as tn, RenderTexture as on, RenderTextureSerializer as rn, Renderer as nn, RendererData as an, RendererLightmap as sn, Rigidbody as ln, RigidbodyConstraints as dn, RoomEvents as cn, RotationBySpeedModule as mn, RotationOverLifetimeModule as pn, SceneLightSettings as gn, SceneSwitcher as un, ScreenCapture as Sn, ScreenSpaceAmbientOcclusion as Cn, ScreenSpaceAmbientOcclusionN8 as yn, ScrollFollow as En, SeeThrough as Rn, SendQueue as hn, SerializationContext as fn, SetActiveOnClick as vn, ShadowCatcher as Pn, ShapeModule as Tn, ShapeOverlapResult as An, SharpeningEffect as bn, SignalAsset as Mn, SignalReceiver as In, SignalReceiverEvent as Dn, SignalTrackHandler as On, Size as xn, SizeBySpeedModule as kn, SizeOverLifetimeModule as Ln, SkinnedMeshRenderer as Nn, SmoothFollow as Bn, SpatialGrabRaycaster as Fn, SpatialHtml as Un, SpatialTrigger as wn, SpatialTriggerReceiver as Gn, SpectatorCamera as Wn, SphereCollider as Hn, SphereIntersection as Xn, SplineContainer as zn, SplineData as Vn, SplineUtils as _n, SplineWalker as jn, Sprite as Zn, SpriteData as Kn, SpriteRenderer as Qn, SpriteSheet as Yn, StateMachineBehaviour as $n, StreamEndedEvent as Jn, StreamReceivedEvent as qn, SubEmitterSystem as ei, SyncedCamera as ti, SyncedRoom as oi, SyncedTransform as ri, TapGestureTrigger as ni, TeleportTarget as ii, TestRunner as ai, TestSceneUtils as si, TestSimulateUserData as li, Text as di, TextBuilder as ci, TextExtension as mi, TextureSheetAnimationModule as pi, TiltShiftEffect as gi, Time as ui, ToneMappingEffect as Si, TrackHandler as Ci, TrackType as yi, TrailModule as Ei, TransformData as Ri, TransformGizmo as hi, TriggerBuilder as fi, TriggerModel as vi, UIRaycastUtils as Pi, UIRootComponent as Ti, USDDocument as Ai, USDObject as bi, USDWriter as Mi, USDZExporter$1 as Ii, USDZText as Di, USDZUIExtension as Oi, UriSerializer as xi, UsageMarker as ki, UserJoinedOrLeftRoomModel as Li, VariantAction as Ni, VelocityOverLifetimeModule as Bi, VerticalLayoutGroup as Fi, VideoPlayer as Ui, ViewBox as wi, ViewDevice as Gi, Vignette as Wi, VisibilityAction as Hi, Voip as Xi, Volume as zi, VolumeParameter as Vi, VolumeProfile as _i, WaitForFrames as ji, WaitForPromise as Zi, WaitForSeconds as Ki, Watch as Qi, WebARCameraBackground as Yi, WebARSessionRoot as $i, WebXR as Ji, WebXRButtonFactory as qi, WebXRImageTracking as ea, WebXRImageTrackingModel as ta, WebXRPlaneTracking as oa, WebXRTrackedImage as ra, XRControllerFollow as na, XRControllerModel as ia, XRControllerMovement as aa, XRFlag as sa, XRRig as la, XRState as da, XRStateFlag as ca, __Ignore as ma, __internalNotifyObjectDestroyed as pa, activeInHierarchyFieldName as ga, addAttributeChangeCallback as ua, addComponent as Sa, addCustomExtensionPlugin as Ca, addNewComponent as ya, addPatch as Ea, apply as Ra, applyHMRChanges as ha, applyPrototypeExtensions as fa, beginListenDestroy as va, beginListenInstantiate as Pa, binaryIdentifierCasts as Ta, build_scene_functions as Aa, builtinComponentKeyName as ba, calculateProgress01 as Ma, clearMessages as Ia, clearMessages as Da, colorSerializer as Oa, compareAssociation as xa, componentSerializer as ka, copyTexture as La, createMotion as Na, debugNet as Ba, debugOwner as Fa, decompressGpuTexture as Ua, deepClone as wa, delay as Ga, delayForFrames as Wa, deserializeObject as Ha, destroy as Xa, destroyComponentInstance as za, determineMimeTypeFromExtension as Va, disposeObjectResources as _a, disposeStream as ja, editorGuidKeyName as Za, enableSpatialConsole as Ka, euler as Qa, eventListSerializer as Ya, exportAsGLTF as $a, findByGuid as Ja, findObjectOfType as qa, findObjectsOfType as es, findResourceUsers as ts, fitCamera as os, fitObjectIntoVolume as rs, foreachComponent as ns, foreachComponentEnumerator as is, forward as as, generateQRCode as ss, generateSeed as ls, getBoundingBox as ds, getCameraController as cs, getComponent as ms, getComponentInChildren as ps, getComponentInParent as gs, getComponents as us, getComponentsInChildren as Ss, getComponentsInParent as Cs, getFormattedDate as ys, getIconElement as Es, getIconTexture as Rs, getLoader as hs, getOrAddComponent as fs, getParam as vs, getParentHierarchyPath as Ps, getPath as Ts, getPeerOptions as As, getPeerjsInstance as bs, getResourceUserCount as Ms, getTempColor as Is, getTempQuaternion as Ds, getTempVector as Os, getUrlParams as xs, getVisibleInCustomShadowRendering as ks, getWorldDirection as Ls, getWorldEuler as Ns, getWorldPosition as Bs, getWorldQuaternion as Fs, getWorldRotation as Us, getWorldScale as ws, hasCommercialLicense as Gs, hasIndieLicense as Ws, hasPointerEventComponent as Hs, hasProLicense as Xs, hideDebugConsole as zs, imageToCanvas as Vs, instantiate as _s, invokeLoadedImportPluginHooks as js, invokeXRSessionEnd as Zs, invokeXRSessionStart as Ks, isActiveInHierarchy as Qs, isActiveSelf as Ys, isAndroidDevice as $s, isAnimationAction as Js, isComponent as qs, isDebugMode as el, isDesktop as tl, isDestroyed as ol, isDevEnvironment as rl, isDisposed as nl, isExporting as il, isGLTFModel as al, isHostedOnGlitch as sl, isHotReloadEnabled as ll, isHotReloading as dl, isIPad as cl, isIconElement as ml, isLocalNetwork as pl, isMacOS as gl, isMobileDevice as ul, isMozillaXR as Sl, isQuest as Cl, isResourceTrackingEnabled as yl, isSafari as El, isUsingInstancing as Rl, isiOS as hl, isiPad as fl, loadPMREM as vl, loadSync as Pl, logHierarchy as Tl, lookAtInverse as Al, lookAtObject as bl, lookAtScreenPoint as Ml, makeId as Il, makeIdFromRandomWords as Dl, makeNameSafe as Ol, markAsInstancedRendered as xl, microphonePermissionsGranted as kl, nameof as Ll, nameofFactory as Nl, objectSerializer as Bl, offXRSessionEnd as Fl, offXRSessionStart as Ul, onXRSessionEnd as wl, onXRSessionStart as Gl, parseSync as Wl, placeOnSurface as Hl, postprocessFBXMaterials as Xl, prefix as zl, pushState as Vl, randomNumber as _l, registerBinaryType as jl, registerComponent as Zl, registerComponentExtension as Kl, registerCustomEffectType as Ql, registerExportExtensions as Yl, registerExtensions as $l, registerHotReloadType as Jl, registerLoader as ql, registerPrefabProvider as ed, registerPrototypeExtensions as td, registerType as od, relativePathPrefix as rd, removeAttributeChangeCallback as nd, removeComponent as id, removeCustomImportExtensionType as ad, removePatch as sd, resolveUrl as ld, sanitizeString as dd, saveImage as cd, screenshot as md, screenshot2 as pd, sendDestroyed as gd, serializable as ud, serializeObject as Sd, serializeable as Cd, setActive as yd, setAllowBalloonMessages as Ed, setAllowOverlayMessages as Rd, setAutoFitEnabled as hd, setCameraController as fd, setDestroyed as vd, setDevEnvironment as Pd, setDisposable as Td, setDontDestroy as Ad, setOrAddParamsToUrl as bd, setParam as Md, setParamWithoutReload as Id, setPeerOptions as Dd, setResourceTrackingEnabled as Od, setState as xd, setVisibleInCustomShadowRendering as kd, setWorldEuler as Ld, setWorldPosition as Nd, setWorldPositionXYZ as Bd, setWorldQuaternion as Fd, setWorldQuaternionXYZW as Ud, setWorldRotation as wd, setWorldRotationXYZ as Gd, setWorldScale as Wd, showBalloonError as Hd, showBalloonMessage as Xd, showBalloonWarning as zd, showDebugConsole as Vd, slerp as _d, syncDestroy as jd, syncField as Zd, syncInstantiate as Kd, textureToCanvas as Qd, toSourceId as Yd, tryCastBinary as $d, tryDetermineMimetypeFromBinary as Jd, tryDetermineMimetypeFromURL as qd, tryFindObject as ec, tryGetGuid as tc, unregisterHotReloadType as oc, unwatchWrite as rc, useForAutoFit as nc, validate as ic, watchWrite as ac } from "./needle-engine.bundle-BZRE5G6O.js";
|
|
3
|
+
import { NEEDLE_progressive as lc } from "./gltf-progressive-Dbi_Tfhb.js";
|
|
4
4
|
import { THREE as R } from "./three-VvRoMeIN.js";
|
|
5
5
|
const t = {
|
|
6
6
|
VERSION: C,
|
|
@@ -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,TypeStore as m,loadAsset as p,NeedleXRSession as g,Context as u,VERSION as S,Component as y,Components as E}from"./needle-engine.bundle-DRSn34Va.min.js";import{$physicsKey as R,ActionBuilder as h,ActionCollection as v,ActionModel as f,Addressables as P,AlignmentConstraint as A,AmbientMode as T,Animation as b,AnimationCurve as M,AnimationExtension as I,AnimationTrackHandler as D,AnimationUtils as O,Animator as x,AnimatorConditionMode as k,AnimatorController as L,AnimatorControllerParameterType as B,AnimatorStateInfo as F,Antialiasing as N,Application as w,AssetDatabase as U,AssetReference as W,Attractor as G,AudioExtension as H,AudioListener as X,AudioSource as z,AudioTrackHandler as V,Avatar as _,AvatarBlink_Simple as j,AvatarEyeLook_Rotation as K,AvatarLoader as Q,AvatarMarker as Z,AvatarModel as Y,Avatar_Brain_LookAt as J,Avatar_MouthShapes as $,Avatar_MustacheShake as q,Avatar_POI as ee,Axes as ae,AxesHelper as se,BUILD_TIME as te,BaseUIComponent as oe,BasicIKConstraint as re,BehaviorExtension as ne,BehaviorModel as ie,Component$1 as le,BlobStorage as de,BloomEffect as ce,BoxCollider as me,BoxGizmo as pe,BoxHelperComponent as ge,Button as ue,ButtonsFactory as Se,CallDirection as Ce,CallInfo as ye,Camera as Ee,CameraTargetReachedEvent as Re,Canvas as he,CanvasGroup as ve,CapsuleCollider as fe,ChangeMaterialOnClick as Pe,ChangeTransformOnClick as Ae,CharacterController as Te,CharacterControllerInput as be,ChromaticAberration as Me,CircularBuffer as Ie,ClearFlags as De,ClickThrough as Oe,ClipExtrapolation as xe,Collider as ke,Collision as Le,CollisionDetectionMode as Be,ColorAdjustments as Fe,ColorBySpeedModule as Ne,ColorOverLifetimeModule as we,Component$1 as Ue,ComponentLifecycleEvents as We,ConnectionEvents as Ge,ContactPoint as He,ContactShadows as Xe,ContextArgs as ze,ContextEvent as Ve,ContextRegistry as _e,ControlTrackHandler as je,CursorFollow as Ke,CustomBranding as Qe,CustomShader as Ze,DefaultReflectionMode as Ye,Deletable as Je,DeleteBox as $e,DepthOfField as qe,DeviceFlag as ea,DeviceUtilities as aa,DocumentExtension as sa,DragControls as ta,DragMode as oa,DropListener as ra,Duplicatable as na,EffectWrapper as ia,EmissionModule as la,EmphasizeOnClick as da,EngineLoadingView as ca,EnvironmentScene as ma,EventList as pa,EventListEvent as ga,EventSystem as ua,EventTrigger as Sa,FieldWithDefault as Ca,FileReference as ya,FileReferenceSerializer as Ea,FileSpawnModel as Ra,File_Event as ha,FixedJoint as va,Fog as fa,FrameEvent as Pa,GENERATOR as Aa,Gizmos as Ta,GltfExport as ba,GltfExportBox as Ma,Gradient as Ia,Graphic as Da,GraphicRaycaster as Oa,Graphics as xa,GridHelper as ka,GridLayoutGroup as La,GroundProjectedEnv as Ba,GroupActionModel as Fa,HideFlags as Na,HideOnStart as wa,HingeJoint as Ua,HorizontalLayoutGroup as Wa,HostData as Ga,HoverAnimation as Ha,Image as Xa,ImageReference as za,ImageReferenceSerializer as Va,InheritVelocityModule as _a,Input as ja,InputEventQueue as Ka,InputEvents as Qa,InputField as Za,InstanceHandle as Ya,InstancingHandler as Ja,InstancingUtil as $a,InstantiateEvent as qa,InstantiateIdProvider as es,InstantiateOptions as as,Interactable as ss,InternalScreenshotUtils as ts,JoinedRoomResponse as os,KeyEventArgs as rs,Keyframe as ns,LODGroup as is,LODModel as ls,LeftRoomResponse as ds,Light as cs,LightData as ms,LimitVelocityOverLifetimeModule as ps,LoadingElementOptions as gs,LogStats as us,LogType as Ss,LookAt as Cs,LookAtConstraint as ys,MainModule as Es,MarkerTrackHandler as Rs,MarkerType as hs,MaskableGraphic as vs,MaterialX as fs,Mathf as Ps,MeshCollider as As,MeshRenderer as Ts,MinMaxCurve as bs,MinMaxGradient as Ms,NEEDLE_ENGINE_FEATURE_FLAGS as Is,MODULES as Ds,NEKeyboardEvent as Os,NEPointerEvent as xs,NeedleButtonElement as ks,ContextRegistry as Ls,NeedleEngineModelLoader as Bs,NeedleEngineWebComponent as Fs,NeedleMenu as Ns,NeedlePatchesKey as ws,USDZExporter as Us,NeedleXRController as Ws,NeedleXRSync as Gs,NeedleXRUtils as Hs,NestedGltf as Xs,NetworkConnection as zs,NetworkedStreamEvents as Vs,NetworkedStreams as _s,Networking as js,NewInstanceModel as Ks,NoiseModule as Qs,ObjectRaycaster as Zs,ObjectUtils as Ys,OffsetConstraint as Js,OneEuroFilter as $s,OneEuroFilterXYZ as qs,OpenURL as et,OrbitControls as at,Outline as st,OwnershipEvent as tt,OwnershipModel as ot,PUBLIC_KEY as rt,Padding as nt,ParticleBurst as it,ParticleSubEmitter as lt,ParticleSystem as dt,ParticleSystemBaseBehaviour as ct,ParticleSystemRenderer as mt,ParticleSystemShapeType as pt,PeerHandle as gt,PeerNetworking as ut,Physics as St,PhysicsExtension as Ct,PhysicsMaterialCombine as yt,PixelationEffect as Et,PlayAnimationOnClick as Rt,PlayAudioOnClick as ht,PlayableDirector as vt,PlayerColor as ft,PlayerState as Pt,PlayerStateEvent as At,PlayerSync as Tt,PlayerView as bt,PlayerViewManager as Mt,PointerEventData as It,PointerType as Dt,PostProcessingEffect as Ot,PostProcessingEffectOrder as xt,PostProcessingHandler as kt,Volume as Lt,PreliminaryAction as Bt,PreliminaryTrigger as Ft,PreviewHelper as Nt,PrimitiveType as wt,Progress as Ut,PromiseAllWithErrors as Wt,PromiseErrorResult as Gt,RGBAColor as Ht,RapierPhysics as Xt,RawImage as zt,RaycastOptions as Vt,Rect as _t,RectTransform as jt,ReflectionProbe as Kt,RegisteredAnimationInfo as Qt,RemoteSkybox as Zt,RenderTexture as Yt,RenderTextureSerializer as Jt,Renderer as $t,RendererData as qt,RendererLightmap as eo,Rigidbody as ao,RigidbodyConstraints as so,RoomEvents as to,RotationBySpeedModule as oo,RotationOverLifetimeModule as ro,SceneLightSettings as no,SceneSwitcher as io,ScreenCapture as lo,ScreenSpaceAmbientOcclusion as co,ScreenSpaceAmbientOcclusionN8 as mo,ScrollFollow as po,SeeThrough as go,SendQueue as uo,SerializationContext as So,SetActiveOnClick as Co,ShadowCatcher as yo,ShapeModule as Eo,ShapeOverlapResult as Ro,SharpeningEffect as ho,SignalAsset as vo,SignalReceiver as fo,SignalReceiverEvent as Po,SignalTrackHandler as Ao,Size as To,SizeBySpeedModule as bo,SizeOverLifetimeModule as Mo,SkinnedMeshRenderer as Io,SmoothFollow as Do,SpatialGrabRaycaster as Oo,SpatialHtml as xo,SpatialTrigger as ko,SpatialTriggerReceiver as Lo,SpectatorCamera as Bo,SphereCollider as Fo,SphereIntersection as No,SplineContainer as wo,SplineData as Uo,SplineUtils as Wo,SplineWalker as Go,Sprite as Ho,SpriteData as Xo,SpriteRenderer as zo,SpriteSheet as Vo,StateMachineBehaviour as _o,StreamEndedEvent as jo,StreamReceivedEvent as Ko,SubEmitterSystem as Qo,SyncedCamera as Zo,SyncedRoom as Yo,SyncedTransform as Jo,TapGestureTrigger as $o,TeleportTarget as qo,TestRunner as er,TestSceneUtils as ar,TestSimulateUserData as sr,Text as tr,TextBuilder as or,TextExtension as rr,TextureSheetAnimationModule as nr,TiltShiftEffect as ir,Time as lr,ToneMappingEffect as dr,TrackHandler as cr,TrackType as mr,TrailModule as pr,TransformData as gr,TransformGizmo as ur,TriggerBuilder as Sr,TriggerModel as Cr,UIRaycastUtils as yr,UIRootComponent as Er,USDDocument as Rr,USDObject as hr,USDWriter as vr,USDZExporter$1 as fr,USDZText as Pr,USDZUIExtension as Ar,UriSerializer as Tr,UsageMarker as br,UserJoinedOrLeftRoomModel as Mr,VariantAction as Ir,VelocityOverLifetimeModule as Dr,VerticalLayoutGroup as Or,VideoPlayer as xr,ViewBox as kr,ViewDevice as Lr,Vignette as Br,VisibilityAction as Fr,Voip as Nr,Volume as wr,VolumeParameter as Ur,VolumeProfile as Wr,WaitForFrames as Gr,WaitForPromise as Hr,WaitForSeconds as Xr,Watch as zr,WebARCameraBackground as Vr,WebARSessionRoot as _r,WebXR as jr,WebXRButtonFactory as Kr,WebXRImageTracking as Qr,WebXRImageTrackingModel as Zr,WebXRPlaneTracking as Yr,WebXRTrackedImage as Jr,XRControllerFollow as $r,XRControllerModel as qr,XRControllerMovement as en,XRFlag as an,XRRig as sn,XRState as tn,XRStateFlag as on,__Ignore as rn,__internalNotifyObjectDestroyed as nn,activeInHierarchyFieldName as ln,addAttributeChangeCallback as dn,addComponent as cn,addCustomExtensionPlugin as mn,addNewComponent as pn,addPatch as gn,apply as un,applyHMRChanges as Sn,applyPrototypeExtensions as Cn,beginListenDestroy as yn,beginListenInstantiate as En,binaryIdentifierCasts as Rn,build_scene_functions as hn,builtinComponentKeyName as vn,calculateProgress01 as fn,clearMessages as Pn,clearMessages as An,colorSerializer as Tn,compareAssociation as bn,componentSerializer as Mn,copyTexture as In,createMotion as Dn,debugNet as On,debugOwner as xn,decompressGpuTexture as kn,deepClone as Ln,delay as Bn,delayForFrames as Fn,deserializeObject as Nn,destroy as wn,destroyComponentInstance as Un,determineMimeTypeFromExtension as Wn,disposeObjectResources as Gn,disposeStream as Hn,editorGuidKeyName as Xn,enableSpatialConsole as zn,euler as Vn,eventListSerializer as _n,exportAsGLTF as jn,findByGuid as Kn,findObjectOfType as Qn,findObjectsOfType as Zn,findResourceUsers as Yn,fitCamera as Jn,fitObjectIntoVolume as $n,foreachComponent as qn,foreachComponentEnumerator as ei,forward as ai,generateQRCode as si,generateSeed as ti,getBoundingBox as oi,getCameraController as ri,getComponent as ni,getComponentInChildren as ii,getComponentInParent as li,getComponents as di,getComponentsInChildren as ci,getComponentsInParent as mi,getFormattedDate as pi,getIconElement as gi,getIconTexture as ui,getLoader as Si,getOrAddComponent as Ci,getParam as yi,getParentHierarchyPath as Ei,getPath as Ri,getPeerOptions as hi,getPeerjsInstance as vi,getResourceUserCount as fi,getTempColor as Pi,getTempQuaternion as Ai,getTempVector as Ti,getUrlParams as bi,getVisibleInCustomShadowRendering as Mi,getWorldDirection as Ii,getWorldEuler as Di,getWorldPosition as Oi,getWorldQuaternion as xi,getWorldRotation as ki,getWorldScale as Li,hasCommercialLicense as Bi,hasIndieLicense as Fi,hasPointerEventComponent as Ni,hasProLicense as wi,hideDebugConsole as Ui,imageToCanvas as Wi,instantiate as Gi,invokeLoadedImportPluginHooks as Hi,invokeXRSessionEnd as Xi,invokeXRSessionStart as zi,isActiveInHierarchy as Vi,isActiveSelf as _i,isAndroidDevice as ji,isAnimationAction as Ki,isComponent as Qi,isDebugMode as Zi,isDesktop as Yi,isDestroyed as Ji,isDevEnvironment as $i,isDisposed as qi,isExporting as el,isGLTFModel as al,isHostedOnGlitch as sl,isHotReloadEnabled as tl,isHotReloading as ol,isIPad as rl,isIconElement as nl,isLocalNetwork as il,isMacOS as ll,isMobileDevice as dl,isMozillaXR as cl,isQuest as ml,isResourceTrackingEnabled as pl,isSafari as gl,isUsingInstancing as ul,isiOS as Sl,isiPad as Cl,loadPMREM as yl,loadSync as El,logHierarchy as Rl,lookAtInverse as hl,lookAtObject as vl,lookAtScreenPoint as fl,makeId as Pl,makeIdFromRandomWords as Al,makeNameSafe as Tl,markAsInstancedRendered as bl,microphonePermissionsGranted as Ml,nameof as Il,nameofFactory as Dl,objectSerializer as Ol,offXRSessionEnd as xl,offXRSessionStart as kl,onXRSessionEnd as Ll,onXRSessionStart as Bl,parseSync as Fl,placeOnSurface as Nl,postprocessFBXMaterials as wl,prefix as Ul,pushState as Wl,randomNumber as Gl,registerBinaryType as Hl,registerComponent as Xl,registerComponentExtension as zl,registerCustomEffectType as Vl,registerExportExtensions as _l,registerExtensions as jl,registerHotReloadType as Kl,registerLoader as Ql,registerPrefabProvider as Zl,registerPrototypeExtensions as Yl,registerType as Jl,relativePathPrefix as $l,removeAttributeChangeCallback as ql,removeComponent as ed,removeCustomImportExtensionType as ad,removePatch as sd,resolveUrl as td,sanitizeString as od,saveImage as rd,screenshot as nd,screenshot2 as id,sendDestroyed as ld,serializable as dd,serializeObject as cd,serializeable as md,setActive as pd,setAllowBalloonMessages as gd,setAllowOverlayMessages as ud,setAutoFitEnabled as Sd,setCameraController as Cd,setDestroyed as yd,setDevEnvironment as Ed,setDisposable as Rd,setDontDestroy as hd,setOrAddParamsToUrl as vd,setParam as fd,setParamWithoutReload as Pd,setPeerOptions as Ad,setResourceTrackingEnabled as Td,setState as bd,setVisibleInCustomShadowRendering as Md,setWorldEuler as Id,setWorldPosition as Dd,setWorldPositionXYZ as Od,setWorldQuaternion as xd,setWorldQuaternionXYZW as kd,setWorldRotation as Ld,setWorldRotationXYZ as Bd,setWorldScale as Fd,showBalloonError as Nd,showBalloonMessage as wd,showBalloonWarning as Ud,showDebugConsole as Wd,slerp as Gd,syncDestroy as Hd,syncField as Xd,syncInstantiate as zd,textureToCanvas as Vd,toSourceId as _d,tryCastBinary as jd,tryDetermineMimetypeFromBinary as Kd,tryDetermineMimetypeFromURL as Qd,tryFindObject as Zd,tryGetGuid as Yd,unregisterHotReloadType as Jd,unwatchWrite as $d,useForAutoFit as qd,validate as ec,watchWrite as ac}from"./needle-engine.bundle-DRSn34Va.min.js";import{NEEDLE_progressive as sc}from"./gltf-progressive-BTd714P0.min.js";import{THREE as tc}from"./three-I__hSXzr.min.js";const a={VERSION:S,Context:u,NeedleXRSession:g,assets:{loadFromURL:p},types:m,onStart:c,onUpdate:d,onBeforeRender:l,onAfterRender:i,onInitializedContext:n,onDestroyContext:r,onClearContext:o};globalThis.Needle?.VERSION!==void 0&&console.warn(`Needle Engine is already imported: ${globalThis.Needle.VERSION}`);function C(e){for(const t in e)a[t]=e[t]}C(y),C(E);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=tc;export{R as $physicsKey,h as ActionBuilder,v as ActionCollection,f as ActionModel,P as Addressables,A as AlignmentConstraint,T as AmbientMode,b as Animation,M as AnimationCurve,I as AnimationExtension,D as AnimationTrackHandler,O as AnimationUtils,x as Animator,k as AnimatorConditionMode,L as AnimatorController,B as AnimatorControllerParameterType,F as AnimatorStateInfo,N as Antialiasing,w as Application,U as AssetDatabase,W as AssetReference,G as Attractor,H as AudioExtension,X as AudioListener,z as AudioSource,V as AudioTrackHandler,_ as Avatar,j as AvatarBlink_Simple,K as AvatarEyeLook_Rotation,Q as AvatarLoader,Z as AvatarMarker,Y as AvatarModel,J as Avatar_Brain_LookAt,$ as Avatar_MouthShapes,q as Avatar_MustacheShake,ee as Avatar_POI,ae as Axes,se as AxesHelper,te as BUILD_TIME,oe as BaseUIComponent,re as BasicIKConstraint,ne as BehaviorExtension,ie as BehaviorModel,le as Behaviour,de as BlobStorage,ce as BloomEffect,me as BoxCollider,pe as BoxGizmo,ge as BoxHelperComponent,ue as Button,Se as ButtonsFactory,Ce as CallDirection,ye as CallInfo,Ee as Camera,Re as CameraTargetReachedEvent,he as Canvas,ve as CanvasGroup,fe as CapsuleCollider,Pe as ChangeMaterialOnClick,Ae as ChangeTransformOnClick,Te as CharacterController,be as CharacterControllerInput,Me as ChromaticAberration,Ie as CircularBuffer,De as ClearFlags,Oe as ClickThrough,xe as ClipExtrapolation,ke as Collider,Le as Collision,Be as CollisionDetectionMode,Fe as ColorAdjustments,Ne as ColorBySpeedModule,we as ColorOverLifetimeModule,Ue as Component,We as ComponentLifecycleEvents,Ge as ConnectionEvents,He as ContactPoint,Xe as ContactShadows,u as Context,ze as ContextArgs,Ve as ContextEvent,_e as ContextRegistry,je as ControlTrackHandler,Ke as CursorFollow,Qe as CustomBranding,Ze as CustomShader,Ye as DefaultReflectionMode,Je as Deletable,$e as DeleteBox,qe as DepthOfField,ea as DeviceFlag,aa as DeviceUtilities,sa as DocumentExtension,ta as DragControls,oa as DragMode,ra as DropListener,na as Duplicatable,ia as EffectWrapper,la as EmissionModule,da as EmphasizeOnClick,ca as EngineLoadingView,ma as EnvironmentScene,pa as EventList,ga as EventListEvent,ua as EventSystem,Sa as EventTrigger,Ca as FieldWithDefault,ya as FileReference,Ea as FileReferenceSerializer,Ra as FileSpawnModel,ha as File_Event,va as FixedJoint,fa as Fog,Pa as FrameEvent,Aa as GENERATOR,s as GameObject,Ta as Gizmos,ba as GltfExport,Ma as GltfExportBox,Ia as Gradient,Da as Graphic,Oa as GraphicRaycaster,xa as Graphics,ka as GridHelper,La as GridLayoutGroup,Ba as GroundProjectedEnv,Fa as GroupActionModel,Na as HideFlags,wa as HideOnStart,Ua as HingeJoint,Wa as HorizontalLayoutGroup,Ga as HostData,Ha as HoverAnimation,Xa as Image,za as ImageReference,Va as ImageReferenceSerializer,_a as InheritVelocityModule,ja as Input,Ka as InputEventQueue,Qa as InputEvents,Za as InputField,Ya as InstanceHandle,Ja as InstancingHandler,$a as InstancingUtil,qa as InstantiateEvent,es as InstantiateIdProvider,as as InstantiateOptions,ss as Interactable,ts as InternalScreenshotUtils,os as JoinedRoomResponse,rs as KeyEventArgs,ns as Keyframe,is as LODGroup,ls as LODModel,ds as LeftRoomResponse,cs as Light,ms as LightData,ps as LimitVelocityOverLifetimeModule,gs as LoadingElementOptions,us as LogStats,Ss as LogType,Cs as LookAt,ys as LookAtConstraint,Es as MainModule,Rs as MarkerTrackHandler,hs as MarkerType,vs as MaskableGraphic,fs as MaterialX,Ps as Mathf,As as MeshCollider,Ts as MeshRenderer,bs as MinMaxCurve,Ms as MinMaxGradient,Is as NEEDLE_ENGINE_FEATURE_FLAGS,Ds as NEEDLE_ENGINE_MODULES,sc as NEEDLE_progressive,Os as NEKeyboardEvent,xs as NEPointerEvent,ks as NeedleButtonElement,Ls as NeedleEngine,Bs as NeedleEngineModelLoader,Fs as NeedleEngineWebComponent,Ns as NeedleMenu,ws as NeedlePatchesKey,Us as NeedleUSDZExporter,Ws as NeedleXRController,g as NeedleXRSession,Gs as NeedleXRSync,Hs as NeedleXRUtils,Xs as NestedGltf,zs as NetworkConnection,Vs as NetworkedStreamEvents,_s as NetworkedStreams,js as Networking,Ks as NewInstanceModel,Qs as NoiseModule,Zs as ObjectRaycaster,Ys as ObjectUtils,Js as OffsetConstraint,$s as OneEuroFilter,qs as OneEuroFilterXYZ,et as OpenURL,at as OrbitControls,st as Outline,tt as OwnershipEvent,ot as OwnershipModel,rt as PUBLIC_KEY,nt as Padding,it as ParticleBurst,lt as ParticleSubEmitter,dt as ParticleSystem,ct as ParticleSystemBaseBehaviour,mt as ParticleSystemRenderer,pt as ParticleSystemShapeType,gt as PeerHandle,ut as PeerNetworking,St as Physics,Ct as PhysicsExtension,yt as PhysicsMaterialCombine,Et as PixelationEffect,Rt as PlayAnimationOnClick,ht as PlayAudioOnClick,vt as PlayableDirector,ft as PlayerColor,Pt as PlayerState,At as PlayerStateEvent,Tt as PlayerSync,bt as PlayerView,Mt as PlayerViewManager,It as PointerEventData,Dt as PointerType,Ot as PostProcessingEffect,xt as PostProcessingEffectOrder,kt as PostProcessingHandler,Lt as PostProcessingManager,Bt as PreliminaryAction,Ft as PreliminaryTrigger,Nt as PreviewHelper,wt as PrimitiveType,Ut as Progress,Wt as PromiseAllWithErrors,Gt as PromiseErrorResult,Ht as RGBAColor,Xt as RapierPhysics,zt as RawImage,Vt as RaycastOptions,_t as Rect,jt as RectTransform,Kt as ReflectionProbe,Qt as RegisteredAnimationInfo,Zt as RemoteSkybox,Yt as RenderTexture,Jt as RenderTextureSerializer,$t as Renderer,qt as RendererData,eo as RendererLightmap,ao as Rigidbody,so as RigidbodyConstraints,to as RoomEvents,oo as RotationBySpeedModule,ro as RotationOverLifetimeModule,no as SceneLightSettings,io as SceneSwitcher,lo as ScreenCapture,co as ScreenSpaceAmbientOcclusion,mo as ScreenSpaceAmbientOcclusionN8,po as ScrollFollow,go as SeeThrough,uo as SendQueue,So as SerializationContext,Co as SetActiveOnClick,yo as ShadowCatcher,Eo as ShapeModule,Ro as ShapeOverlapResult,ho as SharpeningEffect,vo as SignalAsset,fo as SignalReceiver,Po as SignalReceiverEvent,Ao as SignalTrackHandler,To as Size,bo as SizeBySpeedModule,Mo as SizeOverLifetimeModule,Io as SkinnedMeshRenderer,Do as SmoothFollow,Oo as SpatialGrabRaycaster,xo as SpatialHtml,ko as SpatialTrigger,Lo as SpatialTriggerReceiver,Bo as SpectatorCamera,Fo as SphereCollider,No as SphereIntersection,wo as SplineContainer,Uo as SplineData,Wo as SplineUtils,Go as SplineWalker,Ho as Sprite,Xo as SpriteData,zo as SpriteRenderer,Vo as SpriteSheet,_o as StateMachineBehaviour,jo as StreamEndedEvent,Ko as StreamReceivedEvent,Qo as SubEmitterSystem,Zo as SyncedCamera,Yo as SyncedRoom,Jo as SyncedTransform,$o as TapGestureTrigger,qo as TeleportTarget,er as TestRunner,ar as TestSceneUtils,sr as TestSimulateUserData,tr as Text,or as TextBuilder,rr as TextExtension,nr as TextureSheetAnimationModule,ir as TiltShiftEffect,lr as Time,dr as ToneMappingEffect,cr as TrackHandler,mr as TrackType,pr as TrailModule,gr as TransformData,ur as TransformGizmo,Sr as TriggerBuilder,Cr as TriggerModel,m as TypeStore,yr as UIRaycastUtils,Er as UIRootComponent,Rr as USDDocument,hr as USDObject,vr as USDWriter,fr as USDZExporter,Pr as USDZText,Ar as USDZUIExtension,Tr as UriSerializer,br as UsageMarker,Mr as UserJoinedOrLeftRoomModel,S as VERSION,Ir as VariantAction,Dr as VelocityOverLifetimeModule,Or as VerticalLayoutGroup,xr as VideoPlayer,kr as ViewBox,Lr as ViewDevice,Br as Vignette,Fr as VisibilityAction,Nr as Voip,wr as Volume,Ur as VolumeParameter,Wr as VolumeProfile,Gr as WaitForFrames,Hr as WaitForPromise,Xr as WaitForSeconds,zr as Watch,Vr as WebARCameraBackground,_r as WebARSessionRoot,jr as WebXR,Kr as WebXRButtonFactory,Qr as WebXRImageTracking,Zr as WebXRImageTrackingModel,Yr as WebXRPlaneTracking,Jr as WebXRTrackedImage,$r as XRControllerFollow,qr as XRControllerModel,en as XRControllerMovement,an as XRFlag,sn as XRRig,tn as XRState,on as XRStateFlag,rn as __Ignore,nn as __internalNotifyObjectDestroyed,ln as activeInHierarchyFieldName,dn as addAttributeChangeCallback,cn as addComponent,mn as addCustomExtensionPlugin,pn as addNewComponent,gn as addPatch,un as apply,Sn as applyHMRChanges,Cn as applyPrototypeExtensions,yn as beginListenDestroy,En as beginListenInstantiate,Rn as binaryIdentifierCasts,hn as build_scene_functions,vn as builtinComponentKeyName,fn as calculateProgress01,Pn as clearBalloonMessages,An as clearOverlayMessages,Tn as colorSerializer,bn as compareAssociation,Mn as componentSerializer,In as copyTexture,Dn as createMotion,On as debugNet,xn as debugOwner,kn as decompressGpuTexture,Ln as deepClone,Bn as delay,Fn as delayForFrames,Nn as deserializeObject,wn as destroy,Un as destroyComponentInstance,Wn as determineMimeTypeFromExtension,Gn as disposeObjectResources,Hn as disposeStream,Xn as editorGuidKeyName,zn as enableSpatialConsole,Vn as euler,_n as eventListSerializer,jn as exportAsGLTF,Kn as findByGuid,Qn as findObjectOfType,Zn as findObjectsOfType,Yn as findResourceUsers,Jn as fitCamera,$n as fitObjectIntoVolume,qn as foreachComponent,ei as foreachComponentEnumerator,ai as forward,si as generateQRCode,ti as generateSeed,oi as getBoundingBox,ri as getCameraController,ni as getComponent,ii as getComponentInChildren,li as getComponentInParent,di as getComponents,ci as getComponentsInChildren,mi as getComponentsInParent,pi as getFormattedDate,gi as getIconElement,ui as getIconTexture,Si as getLoader,Ci as getOrAddComponent,yi as getParam,Ei as getParentHierarchyPath,Ri as getPath,hi as getPeerOptions,vi as getPeerjsInstance,fi as getResourceUserCount,Pi as getTempColor,Ai as getTempQuaternion,Ti as getTempVector,bi as getUrlParams,Mi as getVisibleInCustomShadowRendering,Ii as getWorldDirection,Di as getWorldEuler,Oi as getWorldPosition,xi as getWorldQuaternion,ki as getWorldRotation,Li as getWorldScale,Bi as hasCommercialLicense,Fi as hasIndieLicense,Ni as hasPointerEventComponent,wi as hasProLicense,Ui as hideDebugConsole,Wi as imageToCanvas,Gi as instantiate,Hi as invokeLoadedImportPluginHooks,Xi as invokeXRSessionEnd,zi as invokeXRSessionStart,Vi as isActiveInHierarchy,_i as isActiveSelf,ji as isAndroidDevice,Ki as isAnimationAction,Qi as isComponent,Zi as isDebugMode,Yi as isDesktop,Ji as isDestroyed,$i as isDevEnvironment,qi as isDisposed,el as isExporting,al as isGLTFModel,sl as isHostedOnGlitch,tl as isHotReloadEnabled,ol as isHotReloading,rl as isIPad,nl as isIconElement,il as isLocalNetwork,ll as isMacOS,dl as isMobileDevice,cl as isMozillaXR,ml as isQuest,pl as isResourceTrackingEnabled,gl as isSafari,ul as isUsingInstancing,Sl as isiOS,Cl as isiPad,p as loadAsset,yl as loadPMREM,El as loadSync,Rl as logHierarchy,hl as lookAtInverse,vl as lookAtObject,fl as lookAtScreenPoint,Pl as makeId,Al as makeIdFromRandomWords,Tl as makeNameSafeForUSD,bl as markAsInstancedRendered,Ml as microphonePermissionsGranted,Il as nameof,Dl as nameofFactory,Ol as objectSerializer,xl as offXRSessionEnd,kl as offXRSessionStart,i as onAfterRender,l as onBeforeRender,o as onClear,r as onDestroy,n as onInitialized,c as onStart,d as onUpdate,Ll as onXRSessionEnd,Bl as onXRSessionStart,Fl as parseSync,Nl as placeOnSurface,wl as postprocessFBXMaterials,Ul as prefix,Wl as pushState,Gl as randomNumber,Hl as registerBinaryType,Xl as registerComponent,zl as registerComponentExtension,Vl as registerCustomEffectType,_l as registerExportExtensions,jl as registerExtensions,Kl as registerHotReloadType,Ql as registerLoader,Zl as registerPrefabProvider,Yl as registerPrototypeExtensions,Jl as registerType,$l as relativePathPrefix,ql as removeAttributeChangeCallback,ed as removeComponent,ad as removeCustomImportExtensionType,sd as removePatch,td as resolveUrl,od as sanitizeString,rd as saveImage,nd as screenshot,id as screenshot2,ld as sendDestroyed,dd as serializable,cd as serializeObject,md as serializeable,pd as setActive,gd as setAllowBalloonMessages,ud as setAllowOverlayMessages,Sd as setAutoFitEnabled,Cd as setCameraController,yd as setDestroyed,Ed as setDevEnvironment,Rd as setDisposable,hd as setDontDestroy,vd as setOrAddParamsToUrl,fd as setParam,Pd as setParamWithoutReload,Ad as setPeerOptions,Td as setResourceTrackingEnabled,bd as setState,Md as setVisibleInCustomShadowRendering,Id as setWorldEuler,Dd as setWorldPosition,Od as setWorldPositionXYZ,xd as setWorldQuaternion,kd as setWorldQuaternionXYZW,Ld as setWorldRotation,Bd as setWorldRotationXYZ,Fd as setWorldScale,Nd as showBalloonError,wd as showBalloonMessage,Ud as showBalloonWarning,Wd as showDebugConsole,Gd as slerp,Hd as syncDestroy,Xd as syncField,zd as syncInstantiate,Vd as textureToCanvas,_d as toSourceId,jd as tryCastBinary,Kd as tryDetermineMimetypeFromBinary,Qd as tryDetermineMimetypeFromURL,Zd as tryFindObject,Yd as tryGetGuid,Jd as unregisterHotReloadType,$d as unwatchWrite,qd as useForAutoFit,ec as validate,ac 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,TypeStore as m,loadAsset as p,NeedleXRSession as g,Context as u,VERSION as S,Component as y,Components as E}from"./needle-engine.bundle-DwybonUg.min.js";import{$physicsKey as R,ActionBuilder as h,ActionCollection as v,ActionModel as f,Addressables as P,AlignmentConstraint as A,AmbientMode as T,Animation as b,AnimationCurve as M,AnimationExtension as I,AnimationTrackHandler as D,AnimationUtils as O,Animator as x,AnimatorConditionMode as k,AnimatorController as L,AnimatorControllerParameterType as B,AnimatorStateInfo as F,Antialiasing as N,Application as w,AssetDatabase as U,AssetReference as W,Attractor as G,AudioExtension as H,AudioListener as X,AudioSource as z,AudioTrackHandler as V,Avatar as _,AvatarBlink_Simple as j,AvatarEyeLook_Rotation as K,AvatarLoader as Q,AvatarMarker as Z,AvatarModel as Y,Avatar_Brain_LookAt as J,Avatar_MouthShapes as $,Avatar_MustacheShake as q,Avatar_POI as ee,Axes as ae,AxesHelper as se,BUILD_TIME as te,BaseUIComponent as oe,BasicIKConstraint as re,BehaviorExtension as ne,BehaviorModel as ie,Component$1 as le,BlobStorage as de,BloomEffect as ce,BoxCollider as me,BoxGizmo as pe,BoxHelperComponent as ge,Button as ue,ButtonsFactory as Se,CallDirection as Ce,CallInfo as ye,Camera as Ee,CameraTargetReachedEvent as Re,Canvas as he,CanvasGroup as ve,CapsuleCollider as fe,ChangeMaterialOnClick as Pe,ChangeTransformOnClick as Ae,CharacterController as Te,CharacterControllerInput as be,ChromaticAberration as Me,CircularBuffer as Ie,ClearFlags as De,ClickThrough as Oe,ClipExtrapolation as xe,Collider as ke,Collision as Le,CollisionDetectionMode as Be,ColorAdjustments as Fe,ColorBySpeedModule as Ne,ColorOverLifetimeModule as we,Component$1 as Ue,ComponentLifecycleEvents as We,ConnectionEvents as Ge,ContactPoint as He,ContactShadows as Xe,ContextArgs as ze,ContextEvent as Ve,ContextRegistry as _e,ControlTrackHandler as je,CursorFollow as Ke,CustomBranding as Qe,CustomShader as Ze,DefaultReflectionMode as Ye,Deletable as Je,DeleteBox as $e,DepthOfField as qe,DeviceFlag as ea,DeviceUtilities as aa,DocumentExtension as sa,DragControls as ta,DragMode as oa,DropListener as ra,Duplicatable as na,EffectWrapper as ia,EmissionModule as la,EmphasizeOnClick as da,EngineLoadingView as ca,EnvironmentScene as ma,EventList as pa,EventListEvent as ga,EventSystem as ua,EventTrigger as Sa,FieldWithDefault as Ca,FileReference as ya,FileReferenceSerializer as Ea,FileSpawnModel as Ra,File_Event as ha,FixedJoint as va,Fog as fa,FrameEvent as Pa,GENERATOR as Aa,Gizmos as Ta,GltfExport as ba,GltfExportBox as Ma,Gradient as Ia,Graphic as Da,GraphicRaycaster as Oa,Graphics as xa,GridHelper as ka,GridLayoutGroup as La,GroundProjectedEnv as Ba,GroupActionModel as Fa,HideFlags as Na,HideOnStart as wa,HingeJoint as Ua,HorizontalLayoutGroup as Wa,HostData as Ga,HoverAnimation as Ha,Image as Xa,ImageReference as za,ImageReferenceSerializer as Va,InheritVelocityModule as _a,Input as ja,InputEventQueue as Ka,InputEvents as Qa,InputField as Za,InstanceHandle as Ya,InstancingHandler as Ja,InstancingUtil as $a,InstantiateEvent as qa,InstantiateIdProvider as es,InstantiateOptions as as,Interactable as ss,InternalScreenshotUtils as ts,JoinedRoomResponse as os,KeyEventArgs as rs,Keyframe as ns,LODGroup as is,LODModel as ls,LeftRoomResponse as ds,Light as cs,LightData as ms,LimitVelocityOverLifetimeModule as ps,LoadingElementOptions as gs,LogStats as us,LogType as Ss,LookAt as Cs,LookAtConstraint as ys,MainModule as Es,MarkerTrackHandler as Rs,MarkerType as hs,MaskableGraphic as vs,MaterialX as fs,Mathf as Ps,MeshCollider as As,MeshRenderer as Ts,MinMaxCurve as bs,MinMaxGradient as Ms,NEEDLE_ENGINE_FEATURE_FLAGS as Is,MODULES as Ds,NEKeyboardEvent as Os,NEPointerEvent as xs,NeedleButtonElement as ks,ContextRegistry as Ls,NeedleEngineModelLoader as Bs,NeedleEngineWebComponent as Fs,NeedleMenu as Ns,NeedlePatchesKey as ws,USDZExporter as Us,NeedleXRController as Ws,NeedleXRSync as Gs,NeedleXRUtils as Hs,NestedGltf as Xs,NetworkConnection as zs,NetworkedStreamEvents as Vs,NetworkedStreams as _s,Networking as js,NewInstanceModel as Ks,NoiseModule as Qs,ObjectRaycaster as Zs,ObjectUtils as Ys,OffsetConstraint as Js,OneEuroFilter as $s,OneEuroFilterXYZ as qs,OpenURL as et,OrbitControls as at,Outline as st,OwnershipEvent as tt,OwnershipModel as ot,PUBLIC_KEY as rt,Padding as nt,ParticleBurst as it,ParticleSubEmitter as lt,ParticleSystem as dt,ParticleSystemBaseBehaviour as ct,ParticleSystemRenderer as mt,ParticleSystemShapeType as pt,PeerHandle as gt,PeerNetworking as ut,Physics as St,PhysicsExtension as Ct,PhysicsMaterialCombine as yt,PixelationEffect as Et,PlayAnimationOnClick as Rt,PlayAudioOnClick as ht,PlayableDirector as vt,PlayerColor as ft,PlayerState as Pt,PlayerStateEvent as At,PlayerSync as Tt,PlayerView as bt,PlayerViewManager as Mt,PointerEventData as It,PointerType as Dt,PostProcessingEffect as Ot,PostProcessingEffectOrder as xt,PostProcessingHandler as kt,Volume as Lt,PreliminaryAction as Bt,PreliminaryTrigger as Ft,PreviewHelper as Nt,PrimitiveType as wt,Progress as Ut,PromiseAllWithErrors as Wt,PromiseErrorResult as Gt,RGBAColor as Ht,RapierPhysics as Xt,RawImage as zt,RaycastOptions as Vt,Rect as _t,RectTransform as jt,ReflectionProbe as Kt,RegisteredAnimationInfo as Qt,RemoteSkybox as Zt,RenderTexture as Yt,RenderTextureSerializer as Jt,Renderer as $t,RendererData as qt,RendererLightmap as eo,Rigidbody as ao,RigidbodyConstraints as so,RoomEvents as to,RotationBySpeedModule as oo,RotationOverLifetimeModule as ro,SceneLightSettings as no,SceneSwitcher as io,ScreenCapture as lo,ScreenSpaceAmbientOcclusion as co,ScreenSpaceAmbientOcclusionN8 as mo,ScrollFollow as po,SeeThrough as go,SendQueue as uo,SerializationContext as So,SetActiveOnClick as Co,ShadowCatcher as yo,ShapeModule as Eo,ShapeOverlapResult as Ro,SharpeningEffect as ho,SignalAsset as vo,SignalReceiver as fo,SignalReceiverEvent as Po,SignalTrackHandler as Ao,Size as To,SizeBySpeedModule as bo,SizeOverLifetimeModule as Mo,SkinnedMeshRenderer as Io,SmoothFollow as Do,SpatialGrabRaycaster as Oo,SpatialHtml as xo,SpatialTrigger as ko,SpatialTriggerReceiver as Lo,SpectatorCamera as Bo,SphereCollider as Fo,SphereIntersection as No,SplineContainer as wo,SplineData as Uo,SplineUtils as Wo,SplineWalker as Go,Sprite as Ho,SpriteData as Xo,SpriteRenderer as zo,SpriteSheet as Vo,StateMachineBehaviour as _o,StreamEndedEvent as jo,StreamReceivedEvent as Ko,SubEmitterSystem as Qo,SyncedCamera as Zo,SyncedRoom as Yo,SyncedTransform as Jo,TapGestureTrigger as $o,TeleportTarget as qo,TestRunner as er,TestSceneUtils as ar,TestSimulateUserData as sr,Text as tr,TextBuilder as or,TextExtension as rr,TextureSheetAnimationModule as nr,TiltShiftEffect as ir,Time as lr,ToneMappingEffect as dr,TrackHandler as cr,TrackType as mr,TrailModule as pr,TransformData as gr,TransformGizmo as ur,TriggerBuilder as Sr,TriggerModel as Cr,UIRaycastUtils as yr,UIRootComponent as Er,USDDocument as Rr,USDObject as hr,USDWriter as vr,USDZExporter$1 as fr,USDZText as Pr,USDZUIExtension as Ar,UriSerializer as Tr,UsageMarker as br,UserJoinedOrLeftRoomModel as Mr,VariantAction as Ir,VelocityOverLifetimeModule as Dr,VerticalLayoutGroup as Or,VideoPlayer as xr,ViewBox as kr,ViewDevice as Lr,Vignette as Br,VisibilityAction as Fr,Voip as Nr,Volume as wr,VolumeParameter as Ur,VolumeProfile as Wr,WaitForFrames as Gr,WaitForPromise as Hr,WaitForSeconds as Xr,Watch as zr,WebARCameraBackground as Vr,WebARSessionRoot as _r,WebXR as jr,WebXRButtonFactory as Kr,WebXRImageTracking as Qr,WebXRImageTrackingModel as Zr,WebXRPlaneTracking as Yr,WebXRTrackedImage as Jr,XRControllerFollow as $r,XRControllerModel as qr,XRControllerMovement as en,XRFlag as an,XRRig as sn,XRState as tn,XRStateFlag as on,__Ignore as rn,__internalNotifyObjectDestroyed as nn,activeInHierarchyFieldName as ln,addAttributeChangeCallback as dn,addComponent as cn,addCustomExtensionPlugin as mn,addNewComponent as pn,addPatch as gn,apply as un,applyHMRChanges as Sn,applyPrototypeExtensions as Cn,beginListenDestroy as yn,beginListenInstantiate as En,binaryIdentifierCasts as Rn,build_scene_functions as hn,builtinComponentKeyName as vn,calculateProgress01 as fn,clearMessages as Pn,clearMessages as An,colorSerializer as Tn,compareAssociation as bn,componentSerializer as Mn,copyTexture as In,createMotion as Dn,debugNet as On,debugOwner as xn,decompressGpuTexture as kn,deepClone as Ln,delay as Bn,delayForFrames as Fn,deserializeObject as Nn,destroy as wn,destroyComponentInstance as Un,determineMimeTypeFromExtension as Wn,disposeObjectResources as Gn,disposeStream as Hn,editorGuidKeyName as Xn,enableSpatialConsole as zn,euler as Vn,eventListSerializer as _n,exportAsGLTF as jn,findByGuid as Kn,findObjectOfType as Qn,findObjectsOfType as Zn,findResourceUsers as Yn,fitCamera as Jn,fitObjectIntoVolume as $n,foreachComponent as qn,foreachComponentEnumerator as ei,forward as ai,generateQRCode as si,generateSeed as ti,getBoundingBox as oi,getCameraController as ri,getComponent as ni,getComponentInChildren as ii,getComponentInParent as li,getComponents as di,getComponentsInChildren as ci,getComponentsInParent as mi,getFormattedDate as pi,getIconElement as gi,getIconTexture as ui,getLoader as Si,getOrAddComponent as Ci,getParam as yi,getParentHierarchyPath as Ei,getPath as Ri,getPeerOptions as hi,getPeerjsInstance as vi,getResourceUserCount as fi,getTempColor as Pi,getTempQuaternion as Ai,getTempVector as Ti,getUrlParams as bi,getVisibleInCustomShadowRendering as Mi,getWorldDirection as Ii,getWorldEuler as Di,getWorldPosition as Oi,getWorldQuaternion as xi,getWorldRotation as ki,getWorldScale as Li,hasCommercialLicense as Bi,hasIndieLicense as Fi,hasPointerEventComponent as Ni,hasProLicense as wi,hideDebugConsole as Ui,imageToCanvas as Wi,instantiate as Gi,invokeLoadedImportPluginHooks as Hi,invokeXRSessionEnd as Xi,invokeXRSessionStart as zi,isActiveInHierarchy as Vi,isActiveSelf as _i,isAndroidDevice as ji,isAnimationAction as Ki,isComponent as Qi,isDebugMode as Zi,isDesktop as Yi,isDestroyed as Ji,isDevEnvironment as $i,isDisposed as qi,isExporting as el,isGLTFModel as al,isHostedOnGlitch as sl,isHotReloadEnabled as tl,isHotReloading as ol,isIPad as rl,isIconElement as nl,isLocalNetwork as il,isMacOS as ll,isMobileDevice as dl,isMozillaXR as cl,isQuest as ml,isResourceTrackingEnabled as pl,isSafari as gl,isUsingInstancing as ul,isiOS as Sl,isiPad as Cl,loadPMREM as yl,loadSync as El,logHierarchy as Rl,lookAtInverse as hl,lookAtObject as vl,lookAtScreenPoint as fl,makeId as Pl,makeIdFromRandomWords as Al,makeNameSafe as Tl,markAsInstancedRendered as bl,microphonePermissionsGranted as Ml,nameof as Il,nameofFactory as Dl,objectSerializer as Ol,offXRSessionEnd as xl,offXRSessionStart as kl,onXRSessionEnd as Ll,onXRSessionStart as Bl,parseSync as Fl,placeOnSurface as Nl,postprocessFBXMaterials as wl,prefix as Ul,pushState as Wl,randomNumber as Gl,registerBinaryType as Hl,registerComponent as Xl,registerComponentExtension as zl,registerCustomEffectType as Vl,registerExportExtensions as _l,registerExtensions as jl,registerHotReloadType as Kl,registerLoader as Ql,registerPrefabProvider as Zl,registerPrototypeExtensions as Yl,registerType as Jl,relativePathPrefix as $l,removeAttributeChangeCallback as ql,removeComponent as ed,removeCustomImportExtensionType as ad,removePatch as sd,resolveUrl as td,sanitizeString as od,saveImage as rd,screenshot as nd,screenshot2 as id,sendDestroyed as ld,serializable as dd,serializeObject as cd,serializeable as md,setActive as pd,setAllowBalloonMessages as gd,setAllowOverlayMessages as ud,setAutoFitEnabled as Sd,setCameraController as Cd,setDestroyed as yd,setDevEnvironment as Ed,setDisposable as Rd,setDontDestroy as hd,setOrAddParamsToUrl as vd,setParam as fd,setParamWithoutReload as Pd,setPeerOptions as Ad,setResourceTrackingEnabled as Td,setState as bd,setVisibleInCustomShadowRendering as Md,setWorldEuler as Id,setWorldPosition as Dd,setWorldPositionXYZ as Od,setWorldQuaternion as xd,setWorldQuaternionXYZW as kd,setWorldRotation as Ld,setWorldRotationXYZ as Bd,setWorldScale as Fd,showBalloonError as Nd,showBalloonMessage as wd,showBalloonWarning as Ud,showDebugConsole as Wd,slerp as Gd,syncDestroy as Hd,syncField as Xd,syncInstantiate as zd,textureToCanvas as Vd,toSourceId as _d,tryCastBinary as jd,tryDetermineMimetypeFromBinary as Kd,tryDetermineMimetypeFromURL as Qd,tryFindObject as Zd,tryGetGuid as Yd,unregisterHotReloadType as Jd,unwatchWrite as $d,useForAutoFit as qd,validate as ec,watchWrite as ac}from"./needle-engine.bundle-DwybonUg.min.js";import{NEEDLE_progressive as sc}from"./gltf-progressive-DuAR0MQR.min.js";import{THREE as tc}from"./three-I__hSXzr.min.js";const a={VERSION:S,Context:u,NeedleXRSession:g,assets:{loadFromURL:p},types:m,onStart:c,onUpdate:d,onBeforeRender:l,onAfterRender:i,onInitializedContext:n,onDestroyContext:r,onClearContext:o};globalThis.Needle?.VERSION!==void 0&&console.warn(`Needle Engine is already imported: ${globalThis.Needle.VERSION}`);function C(e){for(const t in e)a[t]=e[t]}C(y),C(E);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=tc;export{R as $physicsKey,h as ActionBuilder,v as ActionCollection,f as ActionModel,P as Addressables,A as AlignmentConstraint,T as AmbientMode,b as Animation,M as AnimationCurve,I as AnimationExtension,D as AnimationTrackHandler,O as AnimationUtils,x as Animator,k as AnimatorConditionMode,L as AnimatorController,B as AnimatorControllerParameterType,F as AnimatorStateInfo,N as Antialiasing,w as Application,U as AssetDatabase,W as AssetReference,G as Attractor,H as AudioExtension,X as AudioListener,z as AudioSource,V as AudioTrackHandler,_ as Avatar,j as AvatarBlink_Simple,K as AvatarEyeLook_Rotation,Q as AvatarLoader,Z as AvatarMarker,Y as AvatarModel,J as Avatar_Brain_LookAt,$ as Avatar_MouthShapes,q as Avatar_MustacheShake,ee as Avatar_POI,ae as Axes,se as AxesHelper,te as BUILD_TIME,oe as BaseUIComponent,re as BasicIKConstraint,ne as BehaviorExtension,ie as BehaviorModel,le as Behaviour,de as BlobStorage,ce as BloomEffect,me as BoxCollider,pe as BoxGizmo,ge as BoxHelperComponent,ue as Button,Se as ButtonsFactory,Ce as CallDirection,ye as CallInfo,Ee as Camera,Re as CameraTargetReachedEvent,he as Canvas,ve as CanvasGroup,fe as CapsuleCollider,Pe as ChangeMaterialOnClick,Ae as ChangeTransformOnClick,Te as CharacterController,be as CharacterControllerInput,Me as ChromaticAberration,Ie as CircularBuffer,De as ClearFlags,Oe as ClickThrough,xe as ClipExtrapolation,ke as Collider,Le as Collision,Be as CollisionDetectionMode,Fe as ColorAdjustments,Ne as ColorBySpeedModule,we as ColorOverLifetimeModule,Ue as Component,We as ComponentLifecycleEvents,Ge as ConnectionEvents,He as ContactPoint,Xe as ContactShadows,u as Context,ze as ContextArgs,Ve as ContextEvent,_e as ContextRegistry,je as ControlTrackHandler,Ke as CursorFollow,Qe as CustomBranding,Ze as CustomShader,Ye as DefaultReflectionMode,Je as Deletable,$e as DeleteBox,qe as DepthOfField,ea as DeviceFlag,aa as DeviceUtilities,sa as DocumentExtension,ta as DragControls,oa as DragMode,ra as DropListener,na as Duplicatable,ia as EffectWrapper,la as EmissionModule,da as EmphasizeOnClick,ca as EngineLoadingView,ma as EnvironmentScene,pa as EventList,ga as EventListEvent,ua as EventSystem,Sa as EventTrigger,Ca as FieldWithDefault,ya as FileReference,Ea as FileReferenceSerializer,Ra as FileSpawnModel,ha as File_Event,va as FixedJoint,fa as Fog,Pa as FrameEvent,Aa as GENERATOR,s as GameObject,Ta as Gizmos,ba as GltfExport,Ma as GltfExportBox,Ia as Gradient,Da as Graphic,Oa as GraphicRaycaster,xa as Graphics,ka as GridHelper,La as GridLayoutGroup,Ba as GroundProjectedEnv,Fa as GroupActionModel,Na as HideFlags,wa as HideOnStart,Ua as HingeJoint,Wa as HorizontalLayoutGroup,Ga as HostData,Ha as HoverAnimation,Xa as Image,za as ImageReference,Va as ImageReferenceSerializer,_a as InheritVelocityModule,ja as Input,Ka as InputEventQueue,Qa as InputEvents,Za as InputField,Ya as InstanceHandle,Ja as InstancingHandler,$a as InstancingUtil,qa as InstantiateEvent,es as InstantiateIdProvider,as as InstantiateOptions,ss as Interactable,ts as InternalScreenshotUtils,os as JoinedRoomResponse,rs as KeyEventArgs,ns as Keyframe,is as LODGroup,ls as LODModel,ds as LeftRoomResponse,cs as Light,ms as LightData,ps as LimitVelocityOverLifetimeModule,gs as LoadingElementOptions,us as LogStats,Ss as LogType,Cs as LookAt,ys as LookAtConstraint,Es as MainModule,Rs as MarkerTrackHandler,hs as MarkerType,vs as MaskableGraphic,fs as MaterialX,Ps as Mathf,As as MeshCollider,Ts as MeshRenderer,bs as MinMaxCurve,Ms as MinMaxGradient,Is as NEEDLE_ENGINE_FEATURE_FLAGS,Ds as NEEDLE_ENGINE_MODULES,sc as NEEDLE_progressive,Os as NEKeyboardEvent,xs as NEPointerEvent,ks as NeedleButtonElement,Ls as NeedleEngine,Bs as NeedleEngineModelLoader,Fs as NeedleEngineWebComponent,Ns as NeedleMenu,ws as NeedlePatchesKey,Us as NeedleUSDZExporter,Ws as NeedleXRController,g as NeedleXRSession,Gs as NeedleXRSync,Hs as NeedleXRUtils,Xs as NestedGltf,zs as NetworkConnection,Vs as NetworkedStreamEvents,_s as NetworkedStreams,js as Networking,Ks as NewInstanceModel,Qs as NoiseModule,Zs as ObjectRaycaster,Ys as ObjectUtils,Js as OffsetConstraint,$s as OneEuroFilter,qs as OneEuroFilterXYZ,et as OpenURL,at as OrbitControls,st as Outline,tt as OwnershipEvent,ot as OwnershipModel,rt as PUBLIC_KEY,nt as Padding,it as ParticleBurst,lt as ParticleSubEmitter,dt as ParticleSystem,ct as ParticleSystemBaseBehaviour,mt as ParticleSystemRenderer,pt as ParticleSystemShapeType,gt as PeerHandle,ut as PeerNetworking,St as Physics,Ct as PhysicsExtension,yt as PhysicsMaterialCombine,Et as PixelationEffect,Rt as PlayAnimationOnClick,ht as PlayAudioOnClick,vt as PlayableDirector,ft as PlayerColor,Pt as PlayerState,At as PlayerStateEvent,Tt as PlayerSync,bt as PlayerView,Mt as PlayerViewManager,It as PointerEventData,Dt as PointerType,Ot as PostProcessingEffect,xt as PostProcessingEffectOrder,kt as PostProcessingHandler,Lt as PostProcessingManager,Bt as PreliminaryAction,Ft as PreliminaryTrigger,Nt as PreviewHelper,wt as PrimitiveType,Ut as Progress,Wt as PromiseAllWithErrors,Gt as PromiseErrorResult,Ht as RGBAColor,Xt as RapierPhysics,zt as RawImage,Vt as RaycastOptions,_t as Rect,jt as RectTransform,Kt as ReflectionProbe,Qt as RegisteredAnimationInfo,Zt as RemoteSkybox,Yt as RenderTexture,Jt as RenderTextureSerializer,$t as Renderer,qt as RendererData,eo as RendererLightmap,ao as Rigidbody,so as RigidbodyConstraints,to as RoomEvents,oo as RotationBySpeedModule,ro as RotationOverLifetimeModule,no as SceneLightSettings,io as SceneSwitcher,lo as ScreenCapture,co as ScreenSpaceAmbientOcclusion,mo as ScreenSpaceAmbientOcclusionN8,po as ScrollFollow,go as SeeThrough,uo as SendQueue,So as SerializationContext,Co as SetActiveOnClick,yo as ShadowCatcher,Eo as ShapeModule,Ro as ShapeOverlapResult,ho as SharpeningEffect,vo as SignalAsset,fo as SignalReceiver,Po as SignalReceiverEvent,Ao as SignalTrackHandler,To as Size,bo as SizeBySpeedModule,Mo as SizeOverLifetimeModule,Io as SkinnedMeshRenderer,Do as SmoothFollow,Oo as SpatialGrabRaycaster,xo as SpatialHtml,ko as SpatialTrigger,Lo as SpatialTriggerReceiver,Bo as SpectatorCamera,Fo as SphereCollider,No as SphereIntersection,wo as SplineContainer,Uo as SplineData,Wo as SplineUtils,Go as SplineWalker,Ho as Sprite,Xo as SpriteData,zo as SpriteRenderer,Vo as SpriteSheet,_o as StateMachineBehaviour,jo as StreamEndedEvent,Ko as StreamReceivedEvent,Qo as SubEmitterSystem,Zo as SyncedCamera,Yo as SyncedRoom,Jo as SyncedTransform,$o as TapGestureTrigger,qo as TeleportTarget,er as TestRunner,ar as TestSceneUtils,sr as TestSimulateUserData,tr as Text,or as TextBuilder,rr as TextExtension,nr as TextureSheetAnimationModule,ir as TiltShiftEffect,lr as Time,dr as ToneMappingEffect,cr as TrackHandler,mr as TrackType,pr as TrailModule,gr as TransformData,ur as TransformGizmo,Sr as TriggerBuilder,Cr as TriggerModel,m as TypeStore,yr as UIRaycastUtils,Er as UIRootComponent,Rr as USDDocument,hr as USDObject,vr as USDWriter,fr as USDZExporter,Pr as USDZText,Ar as USDZUIExtension,Tr as UriSerializer,br as UsageMarker,Mr as UserJoinedOrLeftRoomModel,S as VERSION,Ir as VariantAction,Dr as VelocityOverLifetimeModule,Or as VerticalLayoutGroup,xr as VideoPlayer,kr as ViewBox,Lr as ViewDevice,Br as Vignette,Fr as VisibilityAction,Nr as Voip,wr as Volume,Ur as VolumeParameter,Wr as VolumeProfile,Gr as WaitForFrames,Hr as WaitForPromise,Xr as WaitForSeconds,zr as Watch,Vr as WebARCameraBackground,_r as WebARSessionRoot,jr as WebXR,Kr as WebXRButtonFactory,Qr as WebXRImageTracking,Zr as WebXRImageTrackingModel,Yr as WebXRPlaneTracking,Jr as WebXRTrackedImage,$r as XRControllerFollow,qr as XRControllerModel,en as XRControllerMovement,an as XRFlag,sn as XRRig,tn as XRState,on as XRStateFlag,rn as __Ignore,nn as __internalNotifyObjectDestroyed,ln as activeInHierarchyFieldName,dn as addAttributeChangeCallback,cn as addComponent,mn as addCustomExtensionPlugin,pn as addNewComponent,gn as addPatch,un as apply,Sn as applyHMRChanges,Cn as applyPrototypeExtensions,yn as beginListenDestroy,En as beginListenInstantiate,Rn as binaryIdentifierCasts,hn as build_scene_functions,vn as builtinComponentKeyName,fn as calculateProgress01,Pn as clearBalloonMessages,An as clearOverlayMessages,Tn as colorSerializer,bn as compareAssociation,Mn as componentSerializer,In as copyTexture,Dn as createMotion,On as debugNet,xn as debugOwner,kn as decompressGpuTexture,Ln as deepClone,Bn as delay,Fn as delayForFrames,Nn as deserializeObject,wn as destroy,Un as destroyComponentInstance,Wn as determineMimeTypeFromExtension,Gn as disposeObjectResources,Hn as disposeStream,Xn as editorGuidKeyName,zn as enableSpatialConsole,Vn as euler,_n as eventListSerializer,jn as exportAsGLTF,Kn as findByGuid,Qn as findObjectOfType,Zn as findObjectsOfType,Yn as findResourceUsers,Jn as fitCamera,$n as fitObjectIntoVolume,qn as foreachComponent,ei as foreachComponentEnumerator,ai as forward,si as generateQRCode,ti as generateSeed,oi as getBoundingBox,ri as getCameraController,ni as getComponent,ii as getComponentInChildren,li as getComponentInParent,di as getComponents,ci as getComponentsInChildren,mi as getComponentsInParent,pi as getFormattedDate,gi as getIconElement,ui as getIconTexture,Si as getLoader,Ci as getOrAddComponent,yi as getParam,Ei as getParentHierarchyPath,Ri as getPath,hi as getPeerOptions,vi as getPeerjsInstance,fi as getResourceUserCount,Pi as getTempColor,Ai as getTempQuaternion,Ti as getTempVector,bi as getUrlParams,Mi as getVisibleInCustomShadowRendering,Ii as getWorldDirection,Di as getWorldEuler,Oi as getWorldPosition,xi as getWorldQuaternion,ki as getWorldRotation,Li as getWorldScale,Bi as hasCommercialLicense,Fi as hasIndieLicense,Ni as hasPointerEventComponent,wi as hasProLicense,Ui as hideDebugConsole,Wi as imageToCanvas,Gi as instantiate,Hi as invokeLoadedImportPluginHooks,Xi as invokeXRSessionEnd,zi as invokeXRSessionStart,Vi as isActiveInHierarchy,_i as isActiveSelf,ji as isAndroidDevice,Ki as isAnimationAction,Qi as isComponent,Zi as isDebugMode,Yi as isDesktop,Ji as isDestroyed,$i as isDevEnvironment,qi as isDisposed,el as isExporting,al as isGLTFModel,sl as isHostedOnGlitch,tl as isHotReloadEnabled,ol as isHotReloading,rl as isIPad,nl as isIconElement,il as isLocalNetwork,ll as isMacOS,dl as isMobileDevice,cl as isMozillaXR,ml as isQuest,pl as isResourceTrackingEnabled,gl as isSafari,ul as isUsingInstancing,Sl as isiOS,Cl as isiPad,p as loadAsset,yl as loadPMREM,El as loadSync,Rl as logHierarchy,hl as lookAtInverse,vl as lookAtObject,fl as lookAtScreenPoint,Pl as makeId,Al as makeIdFromRandomWords,Tl as makeNameSafeForUSD,bl as markAsInstancedRendered,Ml as microphonePermissionsGranted,Il as nameof,Dl as nameofFactory,Ol as objectSerializer,xl as offXRSessionEnd,kl as offXRSessionStart,i as onAfterRender,l as onBeforeRender,o as onClear,r as onDestroy,n as onInitialized,c as onStart,d as onUpdate,Ll as onXRSessionEnd,Bl as onXRSessionStart,Fl as parseSync,Nl as placeOnSurface,wl as postprocessFBXMaterials,Ul as prefix,Wl as pushState,Gl as randomNumber,Hl as registerBinaryType,Xl as registerComponent,zl as registerComponentExtension,Vl as registerCustomEffectType,_l as registerExportExtensions,jl as registerExtensions,Kl as registerHotReloadType,Ql as registerLoader,Zl as registerPrefabProvider,Yl as registerPrototypeExtensions,Jl as registerType,$l as relativePathPrefix,ql as removeAttributeChangeCallback,ed as removeComponent,ad as removeCustomImportExtensionType,sd as removePatch,td as resolveUrl,od as sanitizeString,rd as saveImage,nd as screenshot,id as screenshot2,ld as sendDestroyed,dd as serializable,cd as serializeObject,md as serializeable,pd as setActive,gd as setAllowBalloonMessages,ud as setAllowOverlayMessages,Sd as setAutoFitEnabled,Cd as setCameraController,yd as setDestroyed,Ed as setDevEnvironment,Rd as setDisposable,hd as setDontDestroy,vd as setOrAddParamsToUrl,fd as setParam,Pd as setParamWithoutReload,Ad as setPeerOptions,Td as setResourceTrackingEnabled,bd as setState,Md as setVisibleInCustomShadowRendering,Id as setWorldEuler,Dd as setWorldPosition,Od as setWorldPositionXYZ,xd as setWorldQuaternion,kd as setWorldQuaternionXYZW,Ld as setWorldRotation,Bd as setWorldRotationXYZ,Fd as setWorldScale,Nd as showBalloonError,wd as showBalloonMessage,Ud as showBalloonWarning,Wd as showDebugConsole,Gd as slerp,Hd as syncDestroy,Xd as syncField,zd as syncInstantiate,Vd as textureToCanvas,_d as toSourceId,jd as tryCastBinary,Kd as tryDetermineMimetypeFromBinary,Qd as tryDetermineMimetypeFromURL,Zd as tryFindObject,Yd as tryGetGuid,Jd as unregisterHotReloadType,$d as unwatchWrite,qd as useForAutoFit,ec as validate,ac as watchWrite};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./needle-engine.bundle-qTjHpin6.umd.cjs"),i=require("./gltf-progressive-CrHduHPm.umd.cjs"),a=require("./three-BW2s1Yl-.umd.cjs"),o={VERSION:e.VERSION,Context:e.Context,NeedleXRSession:e.NeedleXRSession,assets:{loadFromURL:e.loadAsset},types:e.TypeStore,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;Object.defineProperty(exports,"MaterialX",{enumerable:!0,get:()=>e.MaterialX});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;exports.NeedleXRController=e.NeedleXRController;exports.NeedleXRSession=e.NeedleXRSession;exports.NeedleXRSync=e.NeedleXRSync;exports.NeedleXRUtils=e.NeedleXRUtils;exports.NestedGltf=e.NestedGltf;exports.NetworkConnection=e.NetworkConnection;exports.NetworkedStreamEvents=e.NetworkedStreamEvents;exports.NetworkedStreams=e.NetworkedStreams;exports.Networking=e.Networking;exports.NewInstanceModel=e.NewInstanceModel;exports.NoiseModule=e.NoiseModule;exports.ObjectRaycaster=e.ObjectRaycaster;exports.ObjectUtils=e.ObjectUtils;exports.OffsetConstraint=e.OffsetConstraint;exports.OneEuroFilter=e.OneEuroFilter;exports.OneEuroFilterXYZ=e.OneEuroFilterXYZ;exports.OpenURL=e.OpenURL;exports.OrbitControls=e.OrbitControls;exports.Outline=e.Outline;exports.OwnershipEvent=e.OwnershipEvent;exports.OwnershipModel=e.OwnershipModel;exports.PUBLIC_KEY=e.PUBLIC_KEY;exports.Padding=e.Padding;exports.ParticleBurst=e.ParticleBurst;exports.ParticleSubEmitter=e.ParticleSubEmitter;exports.ParticleSystem=e.ParticleSystem;exports.ParticleSystemBaseBehaviour=e.ParticleSystemBaseBehaviour;exports.ParticleSystemRenderer=e.ParticleSystemRenderer;exports.ParticleSystemShapeType=e.ParticleSystemShapeType;exports.PeerHandle=e.PeerHandle;exports.PeerNetworking=e.PeerNetworking;exports.Physics=e.Physics;exports.PhysicsExtension=e.PhysicsExtension;exports.PhysicsMaterialCombine=e.PhysicsMaterialCombine;exports.PixelationEffect=e.PixelationEffect;exports.PlayAnimationOnClick=e.PlayAnimationOnClick;exports.PlayAudioOnClick=e.PlayAudioOnClick;exports.PlayableDirector=e.PlayableDirector;exports.PlayerColor=e.PlayerColor;exports.PlayerState=e.PlayerState;exports.PlayerStateEvent=e.PlayerStateEvent;exports.PlayerSync=e.PlayerSync;exports.PlayerView=e.PlayerView;exports.PlayerViewManager=e.PlayerViewManager;exports.PointerEventData=e.PointerEventData;exports.PointerType=e.PointerType;exports.PostProcessingEffect=e.PostProcessingEffect;exports.PostProcessingEffectOrder=e.PostProcessingEffectOrder;exports.PostProcessingHandler=e.PostProcessingHandler;exports.PostProcessingManager=e.Volume;exports.PreliminaryAction=e.PreliminaryAction;exports.PreliminaryTrigger=e.PreliminaryTrigger;Object.defineProperty(exports,"PreviewHelper",{enumerable:!0,get:()=>e.PreviewHelper});exports.PrimitiveType=e.PrimitiveType;exports.Progress=e.Progress;exports.PromiseAllWithErrors=e.PromiseAllWithErrors;exports.PromiseErrorResult=e.PromiseErrorResult;exports.RGBAColor=e.RGBAColor;exports.RapierPhysics=e.RapierPhysics;exports.RawImage=e.RawImage;exports.RaycastOptions=e.RaycastOptions;exports.Rect=e.Rect;exports.RectTransform=e.RectTransform;exports.ReflectionProbe=e.ReflectionProbe;exports.RegisteredAnimationInfo=e.RegisteredAnimationInfo;exports.RemoteSkybox=e.RemoteSkybox;exports.RenderTexture=e.RenderTexture;exports.RenderTextureSerializer=e.RenderTextureSerializer;exports.Renderer=e.Renderer;exports.RendererData=e.RendererData;exports.RendererLightmap=e.RendererLightmap;exports.Rigidbody=e.Rigidbody;exports.RigidbodyConstraints=e.RigidbodyConstraints;exports.RoomEvents=e.RoomEvents;exports.RotationBySpeedModule=e.RotationBySpeedModule;exports.RotationOverLifetimeModule=e.RotationOverLifetimeModule;exports.SceneLightSettings=e.SceneLightSettings;exports.SceneSwitcher=e.SceneSwitcher;exports.ScreenCapture=e.ScreenCapture;exports.ScreenSpaceAmbientOcclusion=e.ScreenSpaceAmbientOcclusion;exports.ScreenSpaceAmbientOcclusionN8=e.ScreenSpaceAmbientOcclusionN8;exports.ScrollFollow=e.ScrollFollow;exports.SeeThrough=e.SeeThrough;exports.SendQueue=e.SendQueue;exports.SerializationContext=e.SerializationContext;exports.SetActiveOnClick=e.SetActiveOnClick;exports.ShadowCatcher=e.ShadowCatcher;exports.ShapeModule=e.ShapeModule;exports.ShapeOverlapResult=e.ShapeOverlapResult;exports.SharpeningEffect=e.SharpeningEffect;exports.SignalAsset=e.SignalAsset;exports.SignalReceiver=e.SignalReceiver;exports.SignalReceiverEvent=e.SignalReceiverEvent;exports.SignalTrackHandler=e.SignalTrackHandler;exports.Size=e.Size;exports.SizeBySpeedModule=e.SizeBySpeedModule;exports.SizeOverLifetimeModule=e.SizeOverLifetimeModule;exports.SkinnedMeshRenderer=e.SkinnedMeshRenderer;exports.SmoothFollow=e.SmoothFollow;exports.SpatialGrabRaycaster=e.SpatialGrabRaycaster;exports.SpatialHtml=e.SpatialHtml;exports.SpatialTrigger=e.SpatialTrigger;exports.SpatialTriggerReceiver=e.SpatialTriggerReceiver;exports.SpectatorCamera=e.SpectatorCamera;exports.SphereCollider=e.SphereCollider;exports.SphereIntersection=e.SphereIntersection;exports.SplineContainer=e.SplineContainer;exports.SplineData=e.SplineData;Object.defineProperty(exports,"SplineUtils",{enumerable:!0,get:()=>e.SplineUtils});exports.SplineWalker=e.SplineWalker;exports.Sprite=e.Sprite;exports.SpriteData=e.SpriteData;exports.SpriteRenderer=e.SpriteRenderer;exports.SpriteSheet=e.SpriteSheet;exports.StateMachineBehaviour=e.StateMachineBehaviour;exports.StreamEndedEvent=e.StreamEndedEvent;exports.StreamReceivedEvent=e.StreamReceivedEvent;exports.SubEmitterSystem=e.SubEmitterSystem;exports.SyncedCamera=e.SyncedCamera;exports.SyncedRoom=e.SyncedRoom;exports.SyncedTransform=e.SyncedTransform;exports.TapGestureTrigger=e.TapGestureTrigger;exports.TeleportTarget=e.TeleportTarget;exports.TestRunner=e.TestRunner;exports.TestSceneUtils=e.TestSceneUtils;exports.TestSimulateUserData=e.TestSimulateUserData;exports.Text=e.Text;exports.TextBuilder=e.TextBuilder;exports.TextExtension=e.TextExtension;exports.TextureSheetAnimationModule=e.TextureSheetAnimationModule;exports.TiltShiftEffect=e.TiltShiftEffect;exports.Time=e.Time;exports.ToneMappingEffect=e.ToneMappingEffect;exports.TrackHandler=e.TrackHandler;exports.TrackType=e.TrackType;exports.TrailModule=e.TrailModule;exports.TransformData=e.TransformData;exports.TransformGizmo=e.TransformGizmo;exports.TriggerBuilder=e.TriggerBuilder;exports.TriggerModel=e.TriggerModel;exports.TypeStore=e.TypeStore;exports.UIRaycastUtils=e.UIRaycastUtils;exports.UIRootComponent=e.UIRootComponent;exports.USDDocument=e.USDDocument;exports.USDObject=e.USDObject;exports.USDWriter=e.USDWriter;exports.USDZExporter=e.USDZExporter$1;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-Dqrh7aWw.umd.cjs"),i=require("./gltf-progressive-CaUGGjVL.umd.cjs"),a=require("./three-BW2s1Yl-.umd.cjs"),o={VERSION:e.VERSION,Context:e.Context,NeedleXRSession:e.NeedleXRSession,assets:{loadFromURL:e.loadAsset},types:e.TypeStore,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;Object.defineProperty(exports,"MaterialX",{enumerable:!0,get:()=>e.MaterialX});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;exports.NeedleXRController=e.NeedleXRController;exports.NeedleXRSession=e.NeedleXRSession;exports.NeedleXRSync=e.NeedleXRSync;exports.NeedleXRUtils=e.NeedleXRUtils;exports.NestedGltf=e.NestedGltf;exports.NetworkConnection=e.NetworkConnection;exports.NetworkedStreamEvents=e.NetworkedStreamEvents;exports.NetworkedStreams=e.NetworkedStreams;exports.Networking=e.Networking;exports.NewInstanceModel=e.NewInstanceModel;exports.NoiseModule=e.NoiseModule;exports.ObjectRaycaster=e.ObjectRaycaster;exports.ObjectUtils=e.ObjectUtils;exports.OffsetConstraint=e.OffsetConstraint;exports.OneEuroFilter=e.OneEuroFilter;exports.OneEuroFilterXYZ=e.OneEuroFilterXYZ;exports.OpenURL=e.OpenURL;exports.OrbitControls=e.OrbitControls;exports.Outline=e.Outline;exports.OwnershipEvent=e.OwnershipEvent;exports.OwnershipModel=e.OwnershipModel;exports.PUBLIC_KEY=e.PUBLIC_KEY;exports.Padding=e.Padding;exports.ParticleBurst=e.ParticleBurst;exports.ParticleSubEmitter=e.ParticleSubEmitter;exports.ParticleSystem=e.ParticleSystem;exports.ParticleSystemBaseBehaviour=e.ParticleSystemBaseBehaviour;exports.ParticleSystemRenderer=e.ParticleSystemRenderer;exports.ParticleSystemShapeType=e.ParticleSystemShapeType;exports.PeerHandle=e.PeerHandle;exports.PeerNetworking=e.PeerNetworking;exports.Physics=e.Physics;exports.PhysicsExtension=e.PhysicsExtension;exports.PhysicsMaterialCombine=e.PhysicsMaterialCombine;exports.PixelationEffect=e.PixelationEffect;exports.PlayAnimationOnClick=e.PlayAnimationOnClick;exports.PlayAudioOnClick=e.PlayAudioOnClick;exports.PlayableDirector=e.PlayableDirector;exports.PlayerColor=e.PlayerColor;exports.PlayerState=e.PlayerState;exports.PlayerStateEvent=e.PlayerStateEvent;exports.PlayerSync=e.PlayerSync;exports.PlayerView=e.PlayerView;exports.PlayerViewManager=e.PlayerViewManager;exports.PointerEventData=e.PointerEventData;exports.PointerType=e.PointerType;exports.PostProcessingEffect=e.PostProcessingEffect;exports.PostProcessingEffectOrder=e.PostProcessingEffectOrder;exports.PostProcessingHandler=e.PostProcessingHandler;exports.PostProcessingManager=e.Volume;exports.PreliminaryAction=e.PreliminaryAction;exports.PreliminaryTrigger=e.PreliminaryTrigger;Object.defineProperty(exports,"PreviewHelper",{enumerable:!0,get:()=>e.PreviewHelper});exports.PrimitiveType=e.PrimitiveType;exports.Progress=e.Progress;exports.PromiseAllWithErrors=e.PromiseAllWithErrors;exports.PromiseErrorResult=e.PromiseErrorResult;exports.RGBAColor=e.RGBAColor;exports.RapierPhysics=e.RapierPhysics;exports.RawImage=e.RawImage;exports.RaycastOptions=e.RaycastOptions;exports.Rect=e.Rect;exports.RectTransform=e.RectTransform;exports.ReflectionProbe=e.ReflectionProbe;exports.RegisteredAnimationInfo=e.RegisteredAnimationInfo;exports.RemoteSkybox=e.RemoteSkybox;exports.RenderTexture=e.RenderTexture;exports.RenderTextureSerializer=e.RenderTextureSerializer;exports.Renderer=e.Renderer;exports.RendererData=e.RendererData;exports.RendererLightmap=e.RendererLightmap;exports.Rigidbody=e.Rigidbody;exports.RigidbodyConstraints=e.RigidbodyConstraints;exports.RoomEvents=e.RoomEvents;exports.RotationBySpeedModule=e.RotationBySpeedModule;exports.RotationOverLifetimeModule=e.RotationOverLifetimeModule;exports.SceneLightSettings=e.SceneLightSettings;exports.SceneSwitcher=e.SceneSwitcher;exports.ScreenCapture=e.ScreenCapture;exports.ScreenSpaceAmbientOcclusion=e.ScreenSpaceAmbientOcclusion;exports.ScreenSpaceAmbientOcclusionN8=e.ScreenSpaceAmbientOcclusionN8;exports.ScrollFollow=e.ScrollFollow;exports.SeeThrough=e.SeeThrough;exports.SendQueue=e.SendQueue;exports.SerializationContext=e.SerializationContext;exports.SetActiveOnClick=e.SetActiveOnClick;exports.ShadowCatcher=e.ShadowCatcher;exports.ShapeModule=e.ShapeModule;exports.ShapeOverlapResult=e.ShapeOverlapResult;exports.SharpeningEffect=e.SharpeningEffect;exports.SignalAsset=e.SignalAsset;exports.SignalReceiver=e.SignalReceiver;exports.SignalReceiverEvent=e.SignalReceiverEvent;exports.SignalTrackHandler=e.SignalTrackHandler;exports.Size=e.Size;exports.SizeBySpeedModule=e.SizeBySpeedModule;exports.SizeOverLifetimeModule=e.SizeOverLifetimeModule;exports.SkinnedMeshRenderer=e.SkinnedMeshRenderer;exports.SmoothFollow=e.SmoothFollow;exports.SpatialGrabRaycaster=e.SpatialGrabRaycaster;exports.SpatialHtml=e.SpatialHtml;exports.SpatialTrigger=e.SpatialTrigger;exports.SpatialTriggerReceiver=e.SpatialTriggerReceiver;exports.SpectatorCamera=e.SpectatorCamera;exports.SphereCollider=e.SphereCollider;exports.SphereIntersection=e.SphereIntersection;exports.SplineContainer=e.SplineContainer;exports.SplineData=e.SplineData;Object.defineProperty(exports,"SplineUtils",{enumerable:!0,get:()=>e.SplineUtils});exports.SplineWalker=e.SplineWalker;exports.Sprite=e.Sprite;exports.SpriteData=e.SpriteData;exports.SpriteRenderer=e.SpriteRenderer;exports.SpriteSheet=e.SpriteSheet;exports.StateMachineBehaviour=e.StateMachineBehaviour;exports.StreamEndedEvent=e.StreamEndedEvent;exports.StreamReceivedEvent=e.StreamReceivedEvent;exports.SubEmitterSystem=e.SubEmitterSystem;exports.SyncedCamera=e.SyncedCamera;exports.SyncedRoom=e.SyncedRoom;exports.SyncedTransform=e.SyncedTransform;exports.TapGestureTrigger=e.TapGestureTrigger;exports.TeleportTarget=e.TeleportTarget;exports.TestRunner=e.TestRunner;exports.TestSceneUtils=e.TestSceneUtils;exports.TestSimulateUserData=e.TestSimulateUserData;exports.Text=e.Text;exports.TextBuilder=e.TextBuilder;exports.TextExtension=e.TextExtension;exports.TextureSheetAnimationModule=e.TextureSheetAnimationModule;exports.TiltShiftEffect=e.TiltShiftEffect;exports.Time=e.Time;exports.ToneMappingEffect=e.ToneMappingEffect;exports.TrackHandler=e.TrackHandler;exports.TrackType=e.TrackType;exports.TrailModule=e.TrailModule;exports.TransformData=e.TransformData;exports.TransformGizmo=e.TransformGizmo;exports.TriggerBuilder=e.TriggerBuilder;exports.TriggerModel=e.TriggerModel;exports.TypeStore=e.TypeStore;exports.UIRaycastUtils=e.UIRaycastUtils;exports.UIRootComponent=e.UIRootComponent;exports.USDDocument=e.USDDocument;exports.USDObject=e.USDObject;exports.USDWriter=e.USDWriter;exports.USDZExporter=e.USDZExporter$1;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.13.1-next.
|
|
3
|
+
"version": "4.13.1-next.9fc3e64",
|
|
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": {
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
],
|
|
100
100
|
"dependencies": {
|
|
101
101
|
"@dimforge/rapier3d-compat": "0.19.x",
|
|
102
|
-
"@needle-tools/gltf-progressive": "3.4.0-beta",
|
|
102
|
+
"@needle-tools/gltf-progressive": "3.4.0-beta.1",
|
|
103
103
|
"@needle-tools/materialx": "1.4.2",
|
|
104
104
|
"@needle-tools/three-animation-pointer": "1.0.7",
|
|
105
105
|
"@webxr-input-profiles/motion-controllers": "^1.0.0",
|
|
@@ -88,7 +88,7 @@ export const needleBuildPipeline = async (command, config, userSettings) => {
|
|
|
88
88
|
const packageJsonPath = process.cwd() + "/package.json";
|
|
89
89
|
await fixPackageJson(packageJsonPath);
|
|
90
90
|
|
|
91
|
-
if(userSettings.buildPipeline?.maxWaitDuration !== undefined && typeof userSettings.buildPipeline?.maxWaitDuration === "number" && userSettings.buildPipeline?.maxWaitDuration >= 0) {
|
|
91
|
+
if (userSettings.buildPipeline?.maxWaitDuration !== undefined && typeof userSettings.buildPipeline?.maxWaitDuration === "number" && userSettings.buildPipeline?.maxWaitDuration >= 0) {
|
|
92
92
|
log(`Set timeout to ${userSettings.buildPipeline?.maxWaitDuration}ms as defined in your config`);
|
|
93
93
|
defaultWaitTime = userSettings.buildPipeline?.maxWaitDuration;
|
|
94
94
|
}
|
|
@@ -336,7 +336,21 @@ async function invokeBuildPipeline(opts, options = {}) {
|
|
|
336
336
|
proc = exec(cmd, { cwd: installPath });
|
|
337
337
|
}
|
|
338
338
|
else {
|
|
339
|
-
|
|
339
|
+
// First check if the user passed in a specific version to use via the vite config
|
|
340
|
+
let version = opts.buildPipeline?.version;
|
|
341
|
+
// If not then see if we have a commandline argument
|
|
342
|
+
if (!version) {
|
|
343
|
+
for (let i = 0; i < process.argv.length; i++) {
|
|
344
|
+
if (process.argv[i] === "--build-pipeline-version" && i < process.argv.length - 1) {
|
|
345
|
+
const value = process.argv[i + 1]?.replace(/['"]+/g, '').trim();
|
|
346
|
+
if(value) version = value;
|
|
347
|
+
break;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
// Otherwise we default to the stable version on npm
|
|
352
|
+
if (!version) version = "stable";
|
|
353
|
+
|
|
340
354
|
const cmd = `npx --yes @needle-tools/gltf-build-pipeline@${version} transform "${outputDirectory}" \"${tempOutputPath}\"`;
|
|
341
355
|
log(`Running compression locally using version '${version}'`);
|
|
342
356
|
proc = exec(cmd);
|