UNPKG

@aidenvigue/tresjs-core

Version:

Declarative ThreeJS using Vue Components

8 lines 57.1 kB
/** * name: @aidenvigue/tresjs-core * version: v3.7.1 * (c) 2024 * description: Declarative ThreeJS using Vue Components * author: Alvaro Saburido <hola@alvarosaburido.dev> (https://github.com/alvarosabu/) */ (function(_,v){typeof exports=="object"&&typeof module<"u"?v(exports,require("vue"),require("three"),require("@vueuse/core")):typeof define=="function"&&define.amd?define(["exports","vue","three","@vueuse/core"],v):(_=typeof globalThis<"u"?globalThis:_||self,v(_.tres={},_.Vue,_.Three,_.VueUseCore))})(this,function(_,v,E,C){"use strict";var Xu=Object.defineProperty;var Qu=(_,v,E)=>v in _?Xu(_,v,{enumerable:!0,configurable:!0,writable:!0,value:E}):_[v]=E;var Ce=(_,v,E)=>(Qu(_,typeof v!="symbol"?v+"":v,E),E);function wt(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const u in e)if(u!=="default"){const n=Object.getOwnPropertyDescriptor(e,u);Object.defineProperty(t,u,n.get?n:{enumerable:!0,get:()=>e[u]})}}return t.default=e,Object.freeze(t)}const De=wt(E),xt={name:"@aidenvigue/tresjs-core",type:"module",version:"3.7.1",packageManager:"pnpm@8.10.2",description:"Declarative ThreeJS using Vue Components",author:"Alvaro Saburido <hola@alvarosaburido.dev> (https://github.com/alvarosabu/)",license:"MIT",keywords:["vue","3d","threejs","three","threejs-vue"],sideEffects:!1,exports:{".":{types:"./dist/index.d.ts",require:"./dist/tres.umd.cjs",import:"./dist/tres.js"},"./components":{types:"./dist/components/index.d.ts"},"./composables":{types:"./dist/composables/index.d.ts"},"./types":{types:"./dist/types/index.d.ts"},"./utils":{types:"./dist/utils/index.d.ts"},"./*":"./*"},main:"./dist/tres.js",module:"./dist/tres.js",types:"./dist/index.d.ts",files:["dist","*.d.ts"],publishConfig:{access:"public"},scripts:{dev:"cd playground && npm run dev",build:"vite build",playground:"cd playground && npm run dev",test:"vitest","test:ci":"vitest run","test:ui":"vitest --ui",release:"release-it",coverage:"vitest run --coverage",lint:"eslint . --ext .js,.jsx,.ts,.tsx,.vue","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","docs:serve":"vitepress serve docs","docs:preview":"vitepress preview docs","docs:contributors":"esno scripts/update-contributors.ts"},peerDependencies:{three:">=0.133",vue:">=3.3"},dependencies:{"@alvarosabu/utils":"^3.1.1","@vueuse/core":"^10.7.0"},devDependencies:{"@release-it/conventional-changelog":"^8.0.1","@stackblitz/sdk":"^1.9.0","@tresjs/cientos":"3.6.0","@tresjs/eslint-config-vue":"^0.2.1","@types/three":"^0.159.0","@typescript-eslint/eslint-plugin":"^6.14.0","@typescript-eslint/parser":"^6.14.0","@vitejs/plugin-vue":"^4.5.2","@vitest/coverage-c8":"^0.33.0","@vitest/ui":"^1.0.4","@vue/test-utils":"^2.4.3",eslint:"^8.55.0","eslint-plugin-vue":"^9.19.2",esno:"^4.0.0",gsap:"^3.12.3",jsdom:"^23.0.1",kolorist:"^1.8.0",ohmyfetch:"^0.4.21",pathe:"^1.1.1","release-it":"^17.0.1","rollup-plugin-analyzer":"^4.0.0","rollup-plugin-copy":"^3.5.0","rollup-plugin-visualizer":"^5.11.0",three:"^0.159.0",unocss:"^0.58.0",unplugin:"^1.5.1","unplugin-vue-components":"^0.26.0",vite:"^5.0.8","vite-plugin-banner":"^0.7.1","vite-plugin-dts":"3.6.4","vite-plugin-inspect":"^0.8.1","vite-plugin-require-transform":"^1.0.21","vite-svg-loader":"^5.1.0",vitepress:"1.0.0-rc.44",vitest:"^1.0.4",vue:"^3.3.11","vue-demi":"^0.14.6"}},be=({sizes:e,scene:t})=>{const u=v.ref([]),n=v.computed(()=>u.value[0]),a=(i,d=!1)=>{u.value.some(({uuid:l})=>l===i.uuid)||(d?o(i):u.value.push(i))},r=i=>{u.value=u.value.filter(({uuid:d})=>d!==i.uuid)},o=i=>{const d=i instanceof E.Camera?i:u.value.find(h=>h.uuid===i);if(!d)return;const l=u.value.filter(({uuid:h})=>h!==d.uuid);u.value=[d,...l]};return v.watchEffect(()=>{e.aspectRatio.value&&u.value.forEach(i=>{i instanceof E.PerspectiveCamera&&(i.aspect=e.aspectRatio.value),(i instanceof E.PerspectiveCamera||i instanceof E.OrthographicCamera)&&i.updateProjectionMatrix()})}),t.userData.tres__registerCamera=a,t.userData.tres__deregisterCamera=r,v.onUnmounted(()=>{u.value=[]}),{camera:n,cameras:u,registerCamera:a,deregisterCamera:r,setCameraActive:o}},we=C.createEventHook(),xe=C.createEventHook(),pe=C.createEventHook(),Z=new E.Clock;let ue=0,ne=0;const{pause:kt,resume:Bt,isActive:Ot}=C.useRafFn(()=>{we.trigger({delta:ue,elapsed:ne,clock:Z}),xe.trigger({delta:ue,elapsed:ne,clock:Z}),pe.trigger({delta:ue,elapsed:ne,clock:Z})},{immediate:!1});pe.on(()=>{ue=Z.getDelta(),ne=Z.getElapsedTime()});const re=()=>({onBeforeLoop:we.on,onLoop:xe.on,onAfterLoop:pe.on,pause:kt,resume:Bt,isActive:Ot}),Ft=!0,ke="[TresJS ▲ ■ ●] ";function N(){function e(n,a){console.error(`${ke} ${n}`,a||"")}function t(n){console.warn(`${ke} ${n}`)}function u(n,a){}return{logError:e,logWarning:t,logMessage:u}}function St(e){return typeof e=="number"?[e,e,e]:e instanceof E.Vector3?[e.x,e.y,e.z]:e}function Be(e){return e instanceof E.Color?e:Array.isArray(e)?new E.Color(...e):new E.Color(e)}class Pt extends De.Mesh{constructor(...u){super(...u);Ce(this,"type","HightlightMesh");Ce(this,"createTime");this.createTime=Date.now()}onBeforeRender(){const n=(Date.now()-this.createTime)/1e3,o=1+.07*Math.sin(2.5*n);this.scale.set(o,o,o)}}const Oe=(e,t)=>{for(const u of Object.keys(t))t[u]instanceof Object&&Object.assign(t[u],Oe(e[u],t[u]));return Object.assign(e||{},t),e},Mt=jt("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot");function Fe(e){return e&&e.nodeType===1}function ae(e){return e.replace(/-([a-z])/g,(t,u)=>u.toUpperCase())}function jt(e,t){const u=Object.create(null),n=e.split(",");for(let a=0;a<n.length;a++)u[n[a]]=!0;return t?a=>!!u[a.toLowerCase()]:a=>!!u[a]}const Lt=(e,t)=>{const u=new Set,n=[];for(const a of e){const r=t(a);u.has(r)||(u.add(r),n.push(a))}return n},Se=(e,t)=>{if(!t)return;const u=Array.isArray(t)?t:t.match(/([^[.\]])+/g);return u==null?void 0:u.reduce((n,a)=>n&&n[a],e)},Tt=(e,t,u)=>{const n=Array.isArray(t)?t:t.match(/([^[.\]])+/g);n&&n.reduce((a,r,o)=>(a[r]===void 0&&(a[r]={}),o===n.length-1&&(a[r]=u),a[r]),e)};function Pe(e,t){if(Fe(e)&&Fe(t)){const a=e.attributes,r=t.attributes;return a.length!==r.length?!1:Array.from(a).every(({name:o,value:i})=>t.getAttribute(o)===i)}if(e===t)return!0;if(e===null||typeof e!="object"||t===null||typeof t!="object")return!1;const u=Object.keys(e),n=Object.keys(t);if(u.length!==n.length)return!1;for(const a of u)if(!n.includes(a)||!Pe(e[a],t[a]))return!1;return!0}function It(e,t){if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return!1;for(let u=0;u<e.length;u++)if(!Pe(e[u],t[u]))return!1;return!0}const Nt=Array.isArray;function zt(e,t,u,n){const a=d=>{if(d.uuid===t)return d;for(const l of d.children){const h=a(l);if(h)return h}},r=a(e);if(!r){console.warn("Object with UUID not found in the scene.");return}let o=r;for(let d=0;d<u.length-1;d++)if(o[u[d]]!==void 0)o=o[u[d]];else{console.warn(`Property path is not valid: ${u.join(".")}`);return}const i=u[u.length-1];o[i]!==void 0?o[i]=n:console.warn(`Property path is not valid: ${u.join(".")}`)}function Vt(e){const t=new E.MeshBasicMaterial({color:11003607,transparent:!0,opacity:.2,depthTest:!1,side:E.DoubleSide});return new Pt(e.geometry.clone(),t)}function Me(e){var u;let t=e.value;return e.value&&((u=e.value)!=null&&u.isMesh)&&(t=e.value.position),Array.isArray(e.value)&&(t=new E.Vector3(...t)),t}const Rt=Number.parseInt(E.REVISION.replace("dev","")),oe={realistic:{shadows:!0,physicallyCorrectLights:!0,outputColorSpace:E.SRGBColorSpace,toneMapping:E.ACESFilmicToneMapping,toneMappingExposure:3,shadowMap:{enabled:!0,type:E.PCFSoftShadowMap}}};function je({scene:e,canvas:t,options:u,disableRender:n,contextParts:{sizes:a,camera:r}}){const o=v.computed(()=>({alpha:C.toValue(u.alpha),depth:C.toValue(u.depth),canvas:C.unrefElement(t),context:C.toValue(u.context),stencil:C.toValue(u.stencil),antialias:C.toValue(u.antialias)===void 0?!0:C.toValue(u.antialias),precision:C.toValue(u.precision),powerPreference:C.toValue(u.powerPreference),premultipliedAlpha:C.toValue(u.premultipliedAlpha),preserveDrawingBuffer:C.toValue(u.preserveDrawingBuffer),logarithmicDepthBuffer:C.toValue(u.logarithmicDepthBuffer),failIfMajorPerformanceCaveat:C.toValue(u.failIfMajorPerformanceCaveat)})),i=v.shallowRef(new E.WebGLRenderer(o.value));v.watch(o,()=>{i.value.dispose(),i.value=new E.WebGLRenderer(o.value)}),v.watchEffect(()=>{i.value.setSize(a.width.value,a.height.value)});const{pixelRatio:d}=C.useDevicePixelRatio();v.watchEffect(()=>{i.value.setPixelRatio(d.value)});const{logError:l}=N(),s=(()=>{const p=new E.WebGLRenderer,y={shadowMap:{enabled:p.shadowMap.enabled,type:p.shadowMap.type},toneMapping:p.toneMapping,toneMappingExposure:p.toneMappingExposure,outputColorSpace:p.outputColorSpace};return p.dispose(),y})();v.watchEffect(()=>{const p=C.toValue(u.preset);p&&(p in oe||l(`Renderer Preset must be one of these: ${Object.keys(oe).join(", ")}`),Oe(i.value,oe[p]));const y=(b,S)=>{const F=C.toValue(b),O=()=>{if(p)return Se(oe[p],S)};if(F!==void 0)return F;const L=O();return L!==void 0?L:Se(s,S)},g=(b,S)=>Tt(i.value,S,y(b,S));g(u.shadows,"shadowMap.enabled"),g(u.toneMapping,"toneMapping"),g(u.shadowMapType,"shadowMap.type"),Rt<150&&g(!u.useLegacyLights,"physicallyCorrectLights"),g(u.outputColorSpace,"outputColorSpace"),g(u.toneMappingExposure,"toneMappingExposure");const w=y(u.clearColor,"clearColor");w&&i.value.setClearColor(w?Be(w):new E.Color(0))});const{pause:c,resume:f,onLoop:m}=re();return m(()=>{r.value&&!C.toValue(n)&&i.value.render(e,r.value)}),f(),v.onUnmounted(()=>{c(),i.value.dispose(),i.value.forceContextLoss()}),{renderer:i}}const Le=e=>typeof e=="function",Ut=e=>!!e&&e.constructor===Array;function Te(e){const t={nodes:{},materials:{}};return e&&e.traverse(u=>{u.name&&(t.nodes[u.name]=u),u.material&&!t.materials[u.material.name]&&(t.materials[u.material.name]=u.material)}),t}async function $t(e,t,u,n,a){const{logError:r}=N(),o=new e;a&&a(o),u&&u(o);const d=(Array.isArray(t)?t:[t]).map(l=>new Promise((h,s)=>{o.load(l,c=>{c.scene&&Object.assign(c,Te(c.scene)),h(c)},n,c=>s(r("[useLoader] - Failed to load resource",c)))}));return Ut(t)?await Promise.all(d):await d[0]}async function Ht(e){const t=new E.LoadingManager,u=new E.TextureLoader(t),n=a=>new Promise((r,o)=>{u.load(a,i=>r(i),()=>null,()=>{o(new Error("[useTextures] - Failed to load texture"))})});if(Nt(e)){const a=await Promise.all(e.map(r=>n(r)));return e.length>1?a:a[0]}else{const{map:a,displacementMap:r,normalMap:o,roughnessMap:i,metalnessMap:d,aoMap:l,alphaMap:h,matcap:s}=e;return{map:a?await n(a):null,displacementMap:r?await n(r):null,normalMap:o?await n(o):null,roughnessMap:i?await n(i):null,metalnessMap:d?await n(d):null,aoMap:l?await n(l):null,alphaMap:h?await n(h):null,matcap:s?await n(s):null}}}const Ie=(e,{renderer:t,camera:u,raycaster:n},a)=>{const r=v.computed(()=>t.value.domElement),o=a?window:r,{x:i,y:d}=C.usePointer({target:o}),l={...C.useWindowSize(),top:v.ref(0),left:v.ref(0)},{width:h,height:s,top:c,left:f}=a?l:C.useElementBounding(r),m=({x:k,y:P})=>{if(r.value)return{x:(k-f.value)/h.value*2-1,y:-((P-c.value)/s.value)*2+1}},p=({x:k,y:P})=>{if(u.value)return n.value.setFromCamera(new E.Vector2(k,P),u.value),n.value.intersectObjects(e.value,!1)},y=k=>{const P=m({x:(k==null?void 0:k.clientX)??i.value,y:(k==null?void 0:k.clientY)??d.value});return P?p(P)||[]:[]},g=v.computed(()=>y()),w=C.createEventHook(),b=C.createEventHook(),S=(k,P)=>{k.trigger({event:P,intersects:y(P)})},F=k=>{S(b,k)};let O;const L=k=>{var P;O=(P=y(k)[0])==null?void 0:P.object},V=k=>{var P;k instanceof PointerEvent&&O===((P=y(k)[0])==null?void 0:P.object)&&S(w,k)},j=k=>b.trigger({event:k,intersects:[]});return a?(window.addEventListener("pointerup",V),window.addEventListener("pointerdown",L),window.addEventListener("pointermove",F),window.addEventListener("pointerleave",j)):(r.value.addEventListener("pointerup",V),r.value.addEventListener("pointerdown",L),r.value.addEventListener("pointermove",F),r.value.addEventListener("pointerleave",j)),v.onUnmounted(()=>{r!=null&&r.value&&(r.value.removeEventListener("pointerup",V),r.value.removeEventListener("pointerdown",L),r.value.removeEventListener("pointermove",F),r.value.removeEventListener("pointerleave",j))}),{intersects:g,onClick:k=>w.on(k).off,onPointerMove:k=>b.on(k).off}};function Wt(){const{logWarning:e}=N();function t(r,o,i){let d=null;return r.traverse(l=>{l[o]===i&&(d=l)}),d||e(`Child with ${o} '${i}' not found.`),d}function u(r,o,i){const d=[];return r.traverse(l=>{l[o].includes(i)&&d.push(l)}),d.length||e(`Children with ${o} '${i}' not found.`),d}function n(r,o){return t(r,"name",o)}function a(r,o){return u(r,"name",o)}return{seek:t,seekByName:n,seekAll:u,seekAllByName:a}}const Ne=({scene:e,contextParts:t,isWindow:u})=>{const n=v.reactive({click:new Map,pointerMove:new Map,pointerEnter:new Map,pointerLeave:new Map}),a=v.ref(new Set),r=f=>{a.value.add(f)},o=f=>{a.value.delete(f)},i=f=>{Object.values(n).forEach(m=>m.delete(f)),o(f)},d=f=>{const{onClick:m,onPointerMove:p,onPointerEnter:y,onPointerLeave:g}=f;m&&n.click.set(f,m),p&&n.pointerMove.set(f,p),y&&n.pointerEnter.set(f,y),g&&n.pointerLeave.set(f,g)};e.userData.tres__registerAtPointerEventHandler=d,e.userData.tres__deregisterAtPointerEventHandler=i,e.userData.tres__registerBlockingObjectAtPointerEventHandler=r,e.userData.tres__deregisterBlockingObjectAtPointerEventHandler=o;const l=v.computed(()=>Lt([...Array.from(a.value),...Object.values(n).map(f=>Array.from(f.keys())).flat()],({uuid:f})=>f)),{onClick:h,onPointerMove:s}=Ie(l,t,u);h(({intersects:f,event:m})=>{var p;f.length&&((p=n.click.get(f[0].object))==null||p(f[0],m))});let c;return s(({intersects:f,event:m})=>{var b,S,F,O;const p=(b=f==null?void 0:f[0])==null?void 0:b.object,{pointerLeave:y,pointerEnter:g,pointerMove:w}=n;c&&c!==p&&((S=y.get(c))==null||S(c,m)),p&&(c!==p&&((F=g.get(p))==null||F(f[0],m)),(O=w.get(p))==null||O(f[0],m)),c=p||null}),{registerObject:d,deregisterObject:i}};function ze(e){let t=0;return e.traverse(u=>{if(u.isMesh&&u.geometry){const n=u.geometry,a=n.attributes.position.count*3*Float32Array.BYTES_PER_ELEMENT,r=n.index?n.index.count*Uint32Array.BYTES_PER_ELEMENT:0,o=n.attributes.normal?n.attributes.normal.count*3*Float32Array.BYTES_PER_ELEMENT:0,i=n.attributes.uv?n.attributes.uv.count*2*Float32Array.BYTES_PER_ELEMENT:0,d=a+r+o+i;t+=d}}),t}function Gt(e){return(e/1024).toFixed(2)}const ie=v.ref({}),se=e=>Object.assign(ie.value,e);function Yt(e,t,u=10){const n=C.toValue(e)?C.useWindowSize():C.useElementSize(v.computed(()=>C.toValue(t).parentElement)),a=v.readonly(C.refDebounced(n.width,u)),r=v.readonly(C.refDebounced(n.height,u)),o=v.computed(()=>a.value/r.value);return{height:r,width:a,aspectRatio:o}}function Ve({scene:e,canvas:t,windowSize:u,disableRender:n,rendererOptions:a}){const r=Yt(u,t),o=v.shallowRef(e),{camera:i,cameras:d,registerCamera:l,deregisterCamera:h,setCameraActive:s}=be({sizes:r,scene:e}),{renderer:c}=je({scene:e,canvas:t,options:a,contextParts:{sizes:r,camera:i},disableRender:n}),f={sizes:r,scene:o,camera:i,cameras:v.readonly(d),renderer:c,raycaster:v.shallowRef(new E.Raycaster),controls:v.ref(null),perf:{maxFrames:160,fps:{value:0,accumulator:[]},memory:{currentMem:0,allocatedMem:0,accumulator:[]}},extend:se,registerCamera:l,setCameraActive:s,deregisterCamera:h};v.provide("useTres",f);const m=100,p=C.useFps({every:m}),{isSupported:y,memory:g}=C.useMemory({interval:m}),w=160;let b=performance.now();const S=({timestamp:j})=>{f.scene.value&&(f.perf.memory.allocatedMem=ze(f.scene.value)),j-b>=m&&(b=j,f.perf.fps.accumulator.push(p.value),f.perf.fps.accumulator.length>w&&f.perf.fps.accumulator.shift(),f.perf.fps.value=p.value,y.value&&g.value&&(f.perf.memory.accumulator.push(g.value.usedJSHeapSize/1024/1024),f.perf.memory.accumulator.length>w&&f.perf.memory.accumulator.shift(),f.perf.memory.currentMem=f.perf.memory.accumulator.reduce((k,P)=>k+P,0)/f.perf.memory.accumulator.length))};let F=0;const O=1,{pause:L,resume:V}=C.useRafFn(({delta:j})=>{window.__TRES__DEVTOOLS__&&(S({timestamp:performance.now()}),F+=j,F>=O&&(window.__TRES__DEVTOOLS__.cb(f),F=0))},{immediate:!0});return v.onUnmounted(()=>{L()}),f}function Re(){const e=v.inject("useTres");if(!e)throw new Error("useTresContext must be used together with useTresContextProvider");return e}const qt=Re;function _n(e){}let x=null;const{logError:Ue}=N(),he=["onClick","onPointerMove","onPointerEnter","onPointerLeave"],Kt={createElement(e,t,u,n){var o,i;if(n||(n={}),n.args||(n.args=[]),e==="template"||Mt(e))return null;let a=e.replace("Tres",""),r;if(e==="primitive"){(n==null?void 0:n.object)===void 0&&Ue("Tres primitives need a prop 'object'");const d=n.object;a=d.type,r=Object.assign(d,{type:a,attach:n.attach,primitive:!0})}else{const d=ie.value[a];d||Ue(`${a} is not defined on the THREE namespace. Use extend to add it to the catalog.`),r=new d(...n.args)}return r.isCamera&&(n!=null&&n.position||r.position.set(3,3,3),n!=null&&n.lookAt||r.lookAt(0,0,0)),(n==null?void 0:n.attach)===void 0&&(r.isMaterial?r.attach="material":r.isBufferGeometry&&(r.attach="geometry")),r.isObject3D&&((o=n==null?void 0:n.material)!=null&&o.isMaterial&&(r.userData.tres__materialViaProp=!0),(i=n==null?void 0:n.geometry)!=null&&i.isBufferGeometry&&(r.userData.tres__geometryViaProp=!0)),r.userData={...r.userData,tres__name:a},r},insert(e,t){var n,a,r,o;t&&t.isScene&&(x=t);const u=t||x;if(e!=null&&e.isObject3D){if(e!=null&&e.isCamera){if(!(x!=null&&x.userData.tres__registerCamera))throw"could not find tres__registerCamera on scene's userData";(a=x==null?void 0:(n=x.userData).tres__registerCamera)==null||a.call(n,e)}if(e&&he.some(i=>e[i])){if(!(x!=null&&x.userData.tres__registerAtPointerEventHandler))throw"could not find tres__registerAtPointerEventHandler on scene's userData";(o=x==null?void 0:(r=x.userData).tres__registerAtPointerEventHandler)==null||o.call(r,e)}}e!=null&&e.isObject3D&&(u!=null&&u.isObject3D)?(u.add(e),e.dispatchEvent({type:"added"})):e!=null&&e.isFog?u.fog=e:typeof(e==null?void 0:e.attach)=="string"&&(e.__previousAttach=e[u==null?void 0:u.attach],u&&(u[e.attach]=e))},remove(e){var t,u;if(e){if(e.isObject3D){const n=e,a=l=>{var s,c;const h=l;l.userData.tres__materialViaProp||((s=h.material)==null||s.dispose(),h.material=void 0),l.userData.tres__geometryViaProp||((c=h.geometry)==null||c.dispose(),h.geometry=void 0)},r=x==null?void 0:x.userData.tres__deregisterAtPointerEventHandler,o=x==null?void 0:x.userData.tres__deregisterBlockingObjectAtPointerEventHandler,i=l=>{var h,s;if(!o)throw"could not find tres__deregisterBlockingObjectAtPointerEventHandler on scene's userData";if((s=x==null?void 0:(h=x.userData).tres__deregisterBlockingObjectAtPointerEventHandler)==null||s.call(h,l),!r)throw"could not find tres__deregisterAtPointerEventHandler on scene's userData";l&&he.some(c=>l[c])&&(r==null||r(l))},d=l=>{const h=x==null?void 0:x.userData.tres__deregisterCamera;if(!h)throw"could not find tres__deregisterCamera on scene's userData";l.isCamera&&(h==null||h(l))};(t=e.removeFromParent)==null||t.call(e),n.traverse(l=>{a(l),d(l),i==null||i(l)}),a(n),d(n),i==null||i(n)}(u=e.dispose)==null||u.call(e)}},patchProp(e,t,u,n){var a,r,o,i;if(e){let d=e,l=t;if(e.isObject3D&&l==="blocks-pointer-events"){n||n===""?(r=x==null?void 0:(a=x.userData).tres__registerBlockingObjectAtPointerEventHandler)==null||r.call(a,e):(i=x==null?void 0:(o=x.userData).tres__deregisterBlockingObjectAtPointerEventHandler)==null||i.call(o,e);return}let h=ae(l),s=d==null?void 0:d[h];if(l==="args"){const f=e,m=u??[],p=n??[],y=e.userData.tres__name||e.type;y&&m.length&&!It(m,p)&&(d=Object.assign(f,new ie.value[y](...n)));return}if(d.type==="BufferGeometry"){if(l==="args")return;d.setAttribute(ae(l),new E.BufferAttribute(...n));return}if(l.includes("-")&&s===void 0){const f=l.split("-");s=f.reduce((m,p)=>m[ae(p)],d),l=f.pop(),h=l.toLowerCase(),s!=null&&s.set||(d=f.reduce((m,p)=>m[ae(p)],d))}let c=n;if(c===""&&(c=!0),Le(s)){he.includes(t)||(Array.isArray(c)?e[h](...c):e[h](c));return}!(s!=null&&s.set)&&!Le(s)?d[h]=c:s.constructor===c.constructor&&(s!=null&&s.copy)?s==null||s.copy(c):Array.isArray(c)?s.set(...c):!s.isColor&&s.setScalar?s.setScalar(c):s.set(c)}},parentNode(e){return(e==null?void 0:e.parent)||null},createText:()=>void 0,createComment:()=>void 0,setText:()=>void 0,setElementText:()=>void 0,nextSibling:()=>void 0,querySelector:()=>void 0,setScopeId:()=>void 0,cloneNode:()=>void 0,insertStaticContent:()=>void 0},{render:Zt}=v.createRenderer(Kt);se(De);var Jt=Object.create,$e=Object.defineProperty,Xt=Object.getOwnPropertyDescriptor,me=Object.getOwnPropertyNames,Qt=Object.getPrototypeOf,eu=Object.prototype.hasOwnProperty,tu=(e,t)=>function(){return e&&(t=(0,e[me(e)[0]])(e=0)),t},uu=(e,t)=>function(){return t||(0,e[me(e)[0]])((t={exports:{}}).exports,t),t.exports},nu=(e,t,u,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of me(t))!eu.call(e,a)&&a!==u&&$e(e,a,{get:()=>t[a],enumerable:!(n=Xt(t,a))||n.enumerable});return e},ru=(e,t,u)=>(u=e!=null?Jt(Qt(e)):{},nu(t||!e||!e.__esModule?$e(u,"default",{value:e,enumerable:!0}):u,e)),J=tu({"../../node_modules/.pnpm/tsup@8.0.2_postcss@8.4.35_typescript@5.3.3/node_modules/tsup/assets/esm_shims.js"(){}}),au=uu({"../../node_modules/.pnpm/rfdc@1.3.1/node_modules/rfdc/index.js"(e,t){J(),t.exports=n;function u(r){return r instanceof Buffer?Buffer.from(r):new r.constructor(r.buffer.slice(),r.byteOffset,r.length)}function n(r){if(r=r||{},r.circles)return a(r);return r.proto?d:i;function o(l,h){for(var s=Object.keys(l),c=new Array(s.length),f=0;f<s.length;f++){var m=s[f],p=l[m];typeof p!="object"||p===null?c[m]=p:p instanceof Date?c[m]=new Date(p):ArrayBuffer.isView(p)?c[m]=u(p):c[m]=h(p)}return c}function i(l){if(typeof l!="object"||l===null)return l;if(l instanceof Date)return new Date(l);if(Array.isArray(l))return o(l,i);if(l instanceof Map)return new Map(o(Array.from(l),i));if(l instanceof Set)return new Set(o(Array.from(l),i));var h={};for(var s in l)if(Object.hasOwnProperty.call(l,s)!==!1){var c=l[s];typeof c!="object"||c===null?h[s]=c:c instanceof Date?h[s]=new Date(c):c instanceof Map?h[s]=new Map(o(Array.from(c),i)):c instanceof Set?h[s]=new Set(o(Array.from(c),i)):ArrayBuffer.isView(c)?h[s]=u(c):h[s]=i(c)}return h}function d(l){if(typeof l!="object"||l===null)return l;if(l instanceof Date)return new Date(l);if(Array.isArray(l))return o(l,d);if(l instanceof Map)return new Map(o(Array.from(l),d));if(l instanceof Set)return new Set(o(Array.from(l),d));var h={};for(var s in l){var c=l[s];typeof c!="object"||c===null?h[s]=c:c instanceof Date?h[s]=new Date(c):c instanceof Map?h[s]=new Map(o(Array.from(c),d)):c instanceof Set?h[s]=new Set(o(Array.from(c),d)):ArrayBuffer.isView(c)?h[s]=u(c):h[s]=d(c)}return h}}function a(r){var o=[],i=[];return r.proto?h:l;function d(s,c){for(var f=Object.keys(s),m=new Array(f.length),p=0;p<f.length;p++){var y=f[p],g=s[y];if(typeof g!="object"||g===null)m[y]=g;else if(g instanceof Date)m[y]=new Date(g);else if(ArrayBuffer.isView(g))m[y]=u(g);else{var w=o.indexOf(g);w!==-1?m[y]=i[w]:m[y]=c(g)}}return m}function l(s){if(typeof s!="object"||s===null)return s;if(s instanceof Date)return new Date(s);if(Array.isArray(s))return d(s,l);if(s instanceof Map)return new Map(d(Array.from(s),l));if(s instanceof Set)return new Set(d(Array.from(s),l));var c={};o.push(s),i.push(c);for(var f in s)if(Object.hasOwnProperty.call(s,f)!==!1){var m=s[f];if(typeof m!="object"||m===null)c[f]=m;else if(m instanceof Date)c[f]=new Date(m);else if(m instanceof Map)c[f]=new Map(d(Array.from(m),l));else if(m instanceof Set)c[f]=new Set(d(Array.from(m),l));else if(ArrayBuffer.isView(m))c[f]=u(m);else{var p=o.indexOf(m);p!==-1?c[f]=i[p]:c[f]=l(m)}}return o.pop(),i.pop(),c}function h(s){if(typeof s!="object"||s===null)return s;if(s instanceof Date)return new Date(s);if(Array.isArray(s))return d(s,h);if(s instanceof Map)return new Map(d(Array.from(s),h));if(s instanceof Set)return new Set(d(Array.from(s),h));var c={};o.push(s),i.push(c);for(var f in s){var m=s[f];if(typeof m!="object"||m===null)c[f]=m;else if(m instanceof Date)c[f]=new Date(m);else if(m instanceof Map)c[f]=new Map(d(Array.from(m),h));else if(m instanceof Set)c[f]=new Set(d(Array.from(m),h));else if(ArrayBuffer.isView(m))c[f]=u(m);else{var p=o.indexOf(m);p!==-1?c[f]=i[p]:c[f]=h(m)}}return o.pop(),i.pop(),c}}}});J(),J();var ou=typeof navigator<"u",B=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:{};typeof B.chrome<"u"&&B.chrome.devtools,ou&&(B.self,B.top),typeof navigator<"u"&&navigator.userAgent.toLowerCase().includes("electron"),J();var iu=ru(au(),1),He=(0,iu.default)({circles:!0});J();function ve(e,t={},u){for(const n in e){const a=e[n],r=u?`${u}:${n}`:n;typeof a=="object"&&a!==null?ve(a,t,r):typeof a=="function"&&(t[r]=a)}return t}const su={run:e=>e()},lu=()=>su,We=typeof console.createTask<"u"?console.createTask:lu;function cu(e,t){const u=t.shift(),n=We(u);return e.reduce((a,r)=>a.then(()=>n.run(()=>r(...t))),Promise.resolve())}function fu(e,t){const u=t.shift(),n=We(u);return Promise.all(e.map(a=>n.run(()=>a(...t))))}function ge(e,t){for(const u of[...e])u(t)}class du{constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(t,u,n={}){if(!t||typeof u!="function")return()=>{};const a=t;let r;for(;this._deprecatedHooks[t];)r=this._deprecatedHooks[t],t=r.to;if(r&&!n.allowDeprecated){let o=r.message;o||(o=`${a} hook has been deprecated`+(r.to?`, please use ${r.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(o)||(console.warn(o),this._deprecatedMessages.add(o))}if(!u.name)try{Object.defineProperty(u,"name",{get:()=>"_"+t.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[t]=this._hooks[t]||[],this._hooks[t].push(u),()=>{u&&(this.removeHook(t,u),u=void 0)}}hookOnce(t,u){let n,a=(...r)=>(typeof n=="function"&&n(),n=void 0,a=void 0,u(...r));return n=this.hook(t,a),n}removeHook(t,u){if(this._hooks[t]){const n=this._hooks[t].indexOf(u);n!==-1&&this._hooks[t].splice(n,1),this._hooks[t].length===0&&delete this._hooks[t]}}deprecateHook(t,u){this._deprecatedHooks[t]=typeof u=="string"?{to:u}:u;const n=this._hooks[t]||[];delete this._hooks[t];for(const a of n)this.hook(t,a)}deprecateHooks(t){Object.assign(this._deprecatedHooks,t);for(const u in t)this.deprecateHook(u,t[u])}addHooks(t){const u=ve(t),n=Object.keys(u).map(a=>this.hook(a,u[a]));return()=>{for(const a of n.splice(0,n.length))a()}}removeHooks(t){const u=ve(t);for(const n in u)this.removeHook(n,u[n])}removeAllHooks(){for(const t in this._hooks)delete this._hooks[t]}callHook(t,...u){return u.unshift(t),this.callHookWith(cu,t,...u)}callHookParallel(t,...u){return u.unshift(t),this.callHookWith(fu,t,...u)}callHookWith(t,u,...n){const a=this._before||this._after?{name:u,args:n,context:{}}:void 0;this._before&&ge(this._before,a);const r=t(u in this._hooks?[...this._hooks[u]]:[],n);return r instanceof Promise?r.finally(()=>{this._after&&a&&ge(this._after,a)}):(this._after&&a&&ge(this._after,a),r)}beforeEach(t){return this._before=this._before||[],this._before.push(t),()=>{if(this._before!==void 0){const u=this._before.indexOf(t);u!==-1&&this._before.splice(u,1)}}}afterEach(t){return this._after=this._after||[],this._after.push(t),()=>{if(this._after!==void 0){const u=this._after.indexOf(t);u!==-1&&this._after.splice(u,1)}}}}function Ge(){return new du}const pu={trailing:!0};function ye(e,t=25,u={}){if(u={...pu,...u},!Number.isFinite(t))throw new TypeError("Expected `wait` to be a finite number");let n,a,r=[],o,i;const d=(l,h)=>(o=hu(e,l,h),o.finally(()=>{if(o=null,u.trailing&&i&&!a){const s=d(l,i);return i=null,s}}),o);return function(...l){return o?(u.trailing&&(i=l),o):new Promise(h=>{const s=!a&&u.leading;clearTimeout(a),a=setTimeout(()=>{a=null;const c=u.leading?n:d(this,l);for(const f of r)f(c);r=[]},t),s?(n=d(this,l),h(n)):r.push(h)})}}async function hu(e,t,u){return await e.apply(t,u)}var mu=Object.create,Ye=Object.defineProperty,vu=Object.getOwnPropertyDescriptor,Ae=Object.getOwnPropertyNames,gu=Object.getPrototypeOf,yu=Object.prototype.hasOwnProperty,Au=(e,t)=>function(){return e&&(t=(0,e[Ae(e)[0]])(e=0)),t},qe=(e,t)=>function(){return t||(0,e[Ae(e)[0]])((t={exports:{}}).exports,t),t.exports},Eu=(e,t,u,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of Ae(t))!yu.call(e,a)&&a!==u&&Ye(e,a,{get:()=>t[a],enumerable:!(n=vu(t,a))||n.enumerable});return e},_u=(e,t,u)=>(u=e!=null?mu(gu(e)):{},Eu(t||!e||!e.__esModule?Ye(u,"default",{value:e,enumerable:!0}):u,e)),A=Au({"../../node_modules/.pnpm/tsup@8.0.2_postcss@8.4.35_typescript@5.3.3/node_modules/tsup/assets/esm_shims.js"(){}}),Cu=qe({"../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/lib/speakingurl.js"(e,t){A(),function(u){var n={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"Ae",Å:"A",Æ:"AE",Ç:"C",È:"E",É:"E",Ê:"E",Ë:"E",Ì:"I",Í:"I",Î:"I",Ï:"I",Ð:"D",Ñ:"N",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"Oe",Ő:"O",Ø:"O",Ù:"U",Ú:"U",Û:"U",Ü:"Ue",Ű:"U",Ý:"Y",Þ:"TH",ß:"ss",à:"a",á:"a",â:"a",ã:"a",ä:"ae",å:"a",æ:"ae",ç:"c",è:"e",é:"e",ê:"e",ë:"e",ì:"i",í:"i",î:"i",ï:"i",ð:"d",ñ:"n",ò:"o",ó:"o",ô:"o",õ:"o",ö:"oe",ő:"o",ø:"o",ù:"u",ú:"u",û:"u",ü:"ue",ű:"u",ý:"y",þ:"th",ÿ:"y","ẞ":"SS",ا:"a",أ:"a",إ:"i",آ:"aa",ؤ:"u",ئ:"e",ء:"a",ب:"b",ت:"t",ث:"th",ج:"j",ح:"h",خ:"kh",د:"d",ذ:"th",ر:"r",ز:"z",س:"s",ش:"sh",ص:"s",ض:"dh",ط:"t",ظ:"z",ع:"a",غ:"gh",ف:"f",ق:"q",ك:"k",ل:"l",م:"m",ن:"n",ه:"h",و:"w",ي:"y",ى:"a",ة:"h",ﻻ:"la",ﻷ:"laa",ﻹ:"lai",ﻵ:"laa",گ:"g",چ:"ch",پ:"p",ژ:"zh",ک:"k",ی:"y","َ":"a","ً":"an","ِ":"e","ٍ":"en","ُ":"u","ٌ":"on","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9",က:"k",ခ:"kh",ဂ:"g",ဃ:"ga",င:"ng",စ:"s",ဆ:"sa",ဇ:"z","စျ":"za",ည:"ny",ဋ:"t",ဌ:"ta",ဍ:"d",ဎ:"da",ဏ:"na",တ:"t",ထ:"ta",ဒ:"d",ဓ:"da",န:"n",ပ:"p",ဖ:"pa",ဗ:"b",ဘ:"ba",မ:"m",ယ:"y",ရ:"ya",လ:"l",ဝ:"w",သ:"th",ဟ:"h",ဠ:"la",အ:"a","ြ":"y","ျ":"ya","ွ":"w","ြွ":"yw","ျွ":"ywa","ှ":"h",ဧ:"e","၏":"-e",ဣ:"i",ဤ:"-i",ဉ:"u",ဦ:"-u",ဩ:"aw","သြော":"aw",ဪ:"aw","၀":"0","၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","္":"","့":"","း":"",č:"c",ď:"d",ě:"e",ň:"n",ř:"r",š:"s",ť:"t",ů:"u",ž:"z",Č:"C",Ď:"D",Ě:"E",Ň:"N",Ř:"R",Š:"S",Ť:"T",Ů:"U",Ž:"Z",ހ:"h",ށ:"sh",ނ:"n",ރ:"r",ބ:"b",ޅ:"lh",ކ:"k",އ:"a",ވ:"v",މ:"m",ފ:"f",ދ:"dh",ތ:"th",ލ:"l",ގ:"g",ޏ:"gn",ސ:"s",ޑ:"d",ޒ:"z",ޓ:"t",ޔ:"y",ޕ:"p",ޖ:"j",ޗ:"ch",ޘ:"tt",ޙ:"hh",ޚ:"kh",ޛ:"th",ޜ:"z",ޝ:"sh",ޞ:"s",ޟ:"d",ޠ:"t",ޡ:"z",ޢ:"a",ޣ:"gh",ޤ:"q",ޥ:"w","ަ":"a","ާ":"aa","ި":"i","ީ":"ee","ު":"u","ޫ":"oo","ެ":"e","ޭ":"ey","ޮ":"o","ޯ":"oa","ް":"",ა:"a",ბ:"b",გ:"g",დ:"d",ე:"e",ვ:"v",ზ:"z",თ:"t",ი:"i",კ:"k",ლ:"l",მ:"m",ნ:"n",ო:"o",პ:"p",ჟ:"zh",რ:"r",ს:"s",ტ:"t",უ:"u",ფ:"p",ქ:"k",ღ:"gh",ყ:"q",შ:"sh",ჩ:"ch",ც:"ts",ძ:"dz",წ:"ts",ჭ:"ch",ხ:"kh",ჯ:"j",ჰ:"h",α:"a",β:"v",γ:"g",δ:"d",ε:"e",ζ:"z",η:"i",θ:"th",ι:"i",κ:"k",λ:"l",μ:"m",ν:"n",ξ:"ks",ο:"o",π:"p",ρ:"r",σ:"s",τ:"t",υ:"y",φ:"f",χ:"x",ψ:"ps",ω:"o",ά:"a",έ:"e",ί:"i",ό:"o",ύ:"y",ή:"i",ώ:"o",ς:"s",ϊ:"i",ΰ:"y",ϋ:"y",ΐ:"i",Α:"A",Β:"B",Γ:"G",Δ:"D",Ε:"E",Ζ:"Z",Η:"I",Θ:"TH",Ι:"I",Κ:"K",Λ:"L",Μ:"M",Ν:"N",Ξ:"KS",Ο:"O",Π:"P",Ρ:"R",Σ:"S",Τ:"T",Υ:"Y",Φ:"F",Χ:"X",Ψ:"PS",Ω:"O",Ά:"A",Έ:"E",Ί:"I",Ό:"O",Ύ:"Y",Ή:"I",Ώ:"O",Ϊ:"I",Ϋ:"Y",ā:"a",ē:"e",ģ:"g",ī:"i",ķ:"k",ļ:"l",ņ:"n",ū:"u",Ā:"A",Ē:"E",Ģ:"G",Ī:"I",Ķ:"k",Ļ:"L",Ņ:"N",Ū:"U",Ќ:"Kj",ќ:"kj",Љ:"Lj",љ:"lj",Њ:"Nj",њ:"nj",Тс:"Ts",тс:"ts",ą:"a",ć:"c",ę:"e",ł:"l",ń:"n",ś:"s",ź:"z",ż:"z",Ą:"A",Ć:"C",Ę:"E",Ł:"L",Ń:"N",Ś:"S",Ź:"Z",Ż:"Z",Є:"Ye",І:"I",Ї:"Yi",Ґ:"G",є:"ye",і:"i",ї:"yi",ґ:"g",ă:"a",Ă:"A",ș:"s",Ș:"S",ț:"t",Ț:"T",ţ:"t",Ţ:"T",а:"a",б:"b",в:"v",г:"g",д:"d",е:"e",ё:"yo",ж:"zh",з:"z",и:"i",й:"i",к:"k",л:"l",м:"m",н:"n",о:"o",п:"p",р:"r",с:"s",т:"t",у:"u",ф:"f",х:"kh",ц:"c",ч:"ch",ш:"sh",щ:"sh",ъ:"",ы:"y",ь:"",э:"e",ю:"yu",я:"ya",А:"A",Б:"B",В:"V",Г:"G",Д:"D",Е:"E",Ё:"Yo",Ж:"Zh",З:"Z",И:"I",Й:"I",К:"K",Л:"L",М:"M",Н:"N",О:"O",П:"P",Р:"R",С:"S",Т:"T",У:"U",Ф:"F",Х:"Kh",Ц:"C",Ч:"Ch",Ш:"Sh",Щ:"Sh",Ъ:"",Ы:"Y",Ь:"",Э:"E",Ю:"Yu",Я:"Ya",ђ:"dj",ј:"j",ћ:"c",џ:"dz",Ђ:"Dj",Ј:"j",Ћ:"C",Џ:"Dz",ľ:"l",ĺ:"l",ŕ:"r",Ľ:"L",Ĺ:"L",Ŕ:"R",ş:"s",Ş:"S",ı:"i",İ:"I",ğ:"g",Ğ:"G",ả:"a",Ả:"A",ẳ:"a",Ẳ:"A",ẩ:"a",Ẩ:"A",đ:"d",Đ:"D",ẹ:"e",Ẹ:"E",ẽ:"e",Ẽ:"E",ẻ:"e",Ẻ:"E",ế:"e",Ế:"E",ề:"e",Ề:"E",ệ:"e",Ệ:"E",ễ:"e",Ễ:"E",ể:"e",Ể:"E",ỏ:"o",ọ:"o",Ọ:"o",ố:"o",Ố:"O",ồ:"o",Ồ:"O",ổ:"o",Ổ:"O",ộ:"o",Ộ:"O",ỗ:"o",Ỗ:"O",ơ:"o",Ơ:"O",ớ:"o",Ớ:"O",ờ:"o",Ờ:"O",ợ:"o",Ợ:"O",ỡ:"o",Ỡ:"O",Ở:"o",ở:"o",ị:"i",Ị:"I",ĩ:"i",Ĩ:"I",ỉ:"i",Ỉ:"i",ủ:"u",Ủ:"U",ụ:"u",Ụ:"U",ũ:"u",Ũ:"U",ư:"u",Ư:"U",ứ:"u",Ứ:"U",ừ:"u",Ừ:"U",ự:"u",Ự:"U",ữ:"u",Ữ:"U",ử:"u",Ử:"ư",ỷ:"y",Ỷ:"y",ỳ:"y",Ỳ:"Y",ỵ:"y",Ỵ:"Y",ỹ:"y",Ỹ:"Y",ạ:"a",Ạ:"A",ấ:"a",Ấ:"A",ầ:"a",Ầ:"A",ậ:"a",Ậ:"A",ẫ:"a",Ẫ:"A",ắ:"a",Ắ:"A",ằ:"a",Ằ:"A",ặ:"a",Ặ:"A",ẵ:"a",Ẵ:"A","⓪":"0","①":"1","②":"2","③":"3","④":"4","⑤":"5","⑥":"6","⑦":"7","⑧":"8","⑨":"9","⑩":"10","⑪":"11","⑫":"12","⑬":"13","⑭":"14","⑮":"15","⑯":"16","⑰":"17","⑱":"18","⑲":"18","⑳":"18","⓵":"1","⓶":"2","⓷":"3","⓸":"4","⓹":"5","⓺":"6","⓻":"7","⓼":"8","⓽":"9","⓾":"10","⓿":"0","⓫":"11","⓬":"12","⓭":"13","⓮":"14","⓯":"15","⓰":"16","⓱":"17","⓲":"18","⓳":"19","⓴":"20","Ⓐ":"A","Ⓑ":"B","Ⓒ":"C","Ⓓ":"D","Ⓔ":"E","Ⓕ":"F","Ⓖ":"G","Ⓗ":"H","Ⓘ":"I","Ⓙ":"J","Ⓚ":"K","Ⓛ":"L","Ⓜ":"M","Ⓝ":"N","Ⓞ":"O","Ⓟ":"P","Ⓠ":"Q","Ⓡ":"R","Ⓢ":"S","Ⓣ":"T","Ⓤ":"U","Ⓥ":"V","Ⓦ":"W","Ⓧ":"X","Ⓨ":"Y","Ⓩ":"Z","ⓐ":"a","ⓑ":"b","ⓒ":"c","ⓓ":"d","ⓔ":"e","ⓕ":"f","ⓖ":"g","ⓗ":"h","ⓘ":"i","ⓙ":"j","ⓚ":"k","ⓛ":"l","ⓜ":"m","ⓝ":"n","ⓞ":"o","ⓟ":"p","ⓠ":"q","ⓡ":"r","ⓢ":"s","ⓣ":"t","ⓤ":"u","ⓦ":"v","ⓥ":"w","ⓧ":"x","ⓨ":"y","ⓩ":"z","“":'"',"”":'"',"‘":"'","’":"'","∂":"d",ƒ:"f","™":"(TM)","©":"(C)",œ:"oe",Œ:"OE","®":"(R)","†":"+","℠":"(SM)","…":"...","˚":"o",º:"o",ª:"a","•":"*","၊":",","။":".",$:"USD","€":"EUR","₢":"BRN","₣":"FRF","£":"GBP","₤":"ITL","₦":"NGN","₧":"ESP","₩":"KRW","₪":"ILS","₫":"VND","₭":"LAK","₮":"MNT","₯":"GRD","₱":"ARS","₲":"PYG","₳":"ARA","₴":"UAH","₵":"GHS","¢":"cent","¥":"CNY",元:"CNY",円:"YEN","﷼":"IRR","₠":"EWE","฿":"THB","₨":"INR","₹":"INR","₰":"PF","₺":"TRY","؋":"AFN","₼":"AZN",лв:"BGN","៛":"KHR","₡":"CRC","₸":"KZT",ден:"MKD",zł:"PLN","₽":"RUB","₾":"GEL"},a=["်","ް"],r={"ာ":"a","ါ":"a","ေ":"e","ဲ":"e","ိ":"i","ီ":"i","ို":"o","ု":"u","ူ":"u","ေါင်":"aung","ော":"aw","ော်":"aw","ေါ":"aw","ေါ်":"aw","်":"်","က်":"et","ိုက်":"aik","ောက်":"auk","င်":"in","ိုင်":"aing","ောင်":"aung","စ်":"it","ည်":"i","တ်":"at","ိတ်":"eik","ုတ်":"ok","ွတ်":"ut","ေတ်":"it","ဒ်":"d","ိုဒ်":"ok","ုဒ်":"ait","န်":"an","ာန်":"an","ိန်":"ein","ုန်":"on","ွန်":"un","ပ်":"at","ိပ်":"eik","ုပ်":"ok","ွပ်":"ut","န်ုပ်":"nub","မ်":"an","ိမ်":"ein","ုမ်":"on","ွမ်":"un","ယ်":"e","ိုလ်":"ol","ဉ်":"in","ံ":"an","ိံ":"ein","ုံ":"on","ައް":"ah","ަށް":"ah"},o={en:{},az:{ç:"c",ə:"e",ğ:"g",ı:"i",ö:"o",ş:"s",ü:"u",Ç:"C",Ə:"E",Ğ:"G",İ:"I",Ö:"O",Ş:"S",Ü:"U"},cs:{č:"c",ď:"d",ě:"e",ň:"n",ř:"r",š:"s",ť:"t",ů:"u",ž:"z",Č:"C",Ď:"D",Ě:"E",Ň:"N",Ř:"R",Š:"S",Ť:"T",Ů:"U",Ž:"Z"},fi:{ä:"a",Ä:"A",ö:"o",Ö:"O"},hu:{ä:"a",Ä:"A",ö:"o",Ö:"O",ü:"u",Ü:"U",ű:"u",Ű:"U"},lt:{ą:"a",č:"c",ę:"e",ė:"e",į:"i",š:"s",ų:"u",ū:"u",ž:"z",Ą:"A",Č:"C",Ę:"E",Ė:"E",Į:"I",Š:"S",Ų:"U",Ū:"U"},lv:{ā:"a",č:"c",ē:"e",ģ:"g",ī:"i",ķ:"k",ļ:"l",ņ:"n",š:"s",ū:"u",ž:"z",Ā:"A",Č:"C",Ē:"E",Ģ:"G",Ī:"i",Ķ:"k",Ļ:"L",Ņ:"N",Š:"S",Ū:"u",Ž:"Z"},pl:{ą:"a",ć:"c",ę:"e",ł:"l",ń:"n",ó:"o",ś:"s",ź:"z",ż:"z",Ą:"A",Ć:"C",Ę:"e",Ł:"L",Ń:"N",Ó:"O",Ś:"S",Ź:"Z",Ż:"Z"},sv:{ä:"a",Ä:"A",ö:"o",Ö:"O"},sk:{ä:"a",Ä:"A"},sr:{љ:"lj",њ:"nj",Љ:"Lj",Њ:"Nj",đ:"dj",Đ:"Dj"},tr:{Ü:"U",Ö:"O",ü:"u",ö:"o"}},i={ar:{"∆":"delta","∞":"la-nihaya","♥":"hob","&":"wa","|":"aw","<":"aqal-men",">":"akbar-men","∑":"majmou","¤":"omla"},az:{},ca:{"∆":"delta","∞":"infinit","♥":"amor","&":"i","|":"o","<":"menys que",">":"mes que","∑":"suma dels","¤":"moneda"},cs:{"∆":"delta","∞":"nekonecno","♥":"laska","&":"a","|":"nebo","<":"mensi nez",">":"vetsi nez","∑":"soucet","¤":"mena"},de:{"∆":"delta","∞":"unendlich","♥":"Liebe","&":"und","|":"oder","<":"kleiner als",">":"groesser als","∑":"Summe von","¤":"Waehrung"},dv:{"∆":"delta","∞":"kolunulaa","♥":"loabi","&":"aai","|":"noonee","<":"ah vure kuda",">":"ah vure bodu","∑":"jumula","¤":"faisaa"},en:{"∆":"delta","∞":"infinity","♥":"love","&":"and","|":"or","<":"less than",">":"greater than","∑":"sum","¤":"currency"},es:{"∆":"delta","∞":"infinito","♥":"amor","&":"y","|":"u","<":"menos que",">":"mas que","∑":"suma de los","¤":"moneda"},fa:{"∆":"delta","∞":"bi-nahayat","♥":"eshgh","&":"va","|":"ya","<":"kamtar-az",">":"bishtar-az","∑":"majmooe","¤":"vahed"},fi:{"∆":"delta","∞":"aarettomyys","♥":"rakkaus","&":"ja","|":"tai","<":"pienempi kuin",">":"suurempi kuin","∑":"summa","¤":"valuutta"},fr:{"∆":"delta","∞":"infiniment","♥":"Amour","&":"et","|":"ou","<":"moins que",">":"superieure a","∑":"somme des","¤":"monnaie"},ge:{"∆":"delta","∞":"usasruloba","♥":"siqvaruli","&":"da","|":"an","<":"naklebi",">":"meti","∑":"jami","¤":"valuta"},gr:{},hu:{"∆":"delta","∞":"vegtelen","♥":"szerelem","&":"es","|":"vagy","<":"kisebb mint",">":"nagyobb mint","∑":"szumma","¤":"penznem"},it:{"∆":"delta","∞":"infinito","♥":"amore","&":"e","|":"o","<":"minore di",">":"maggiore di","∑":"somma","¤":"moneta"},lt:{"∆":"delta","∞":"begalybe","♥":"meile","&":"ir","|":"ar","<":"maziau nei",">":"daugiau nei","∑":"suma","¤":"valiuta"},lv:{"∆":"delta","∞":"bezgaliba","♥":"milestiba","&":"un","|":"vai","<":"mazak neka",">":"lielaks neka","∑":"summa","¤":"valuta"},my:{"∆":"kwahkhyaet","∞":"asaonasme","♥":"akhyait","&":"nhin","|":"tho","<":"ngethaw",">":"kyithaw","∑":"paungld","¤":"ngwekye"},mk:{},nl:{"∆":"delta","∞":"oneindig","♥":"liefde","&":"en","|":"of","<":"kleiner dan",">":"groter dan","∑":"som","¤":"valuta"},pl:{"∆":"delta","∞":"nieskonczonosc","♥":"milosc","&":"i","|":"lub","<":"mniejsze niz",">":"wieksze niz","∑":"suma","¤":"waluta"},pt:{"∆":"delta","∞":"infinito","♥":"amor","&":"e","|":"ou","<":"menor que",">":"maior que","∑":"soma","¤":"moeda"},ro:{"∆":"delta","∞":"infinit","♥":"dragoste","&":"si","|":"sau","<":"mai mic ca",">":"mai mare ca","∑":"suma","¤":"valuta"},ru:{"∆":"delta","∞":"beskonechno","♥":"lubov","&":"i","|":"ili","<":"menshe",">":"bolshe","∑":"summa","¤":"valjuta"},sk:{"∆":"delta","∞":"nekonecno","♥":"laska","&":"a","|":"alebo","<":"menej ako",">":"viac ako","∑":"sucet","¤":"mena"},sr:{},tr:{"∆":"delta","∞":"sonsuzluk","♥":"ask","&":"ve","|":"veya","<":"kucuktur",">":"buyuktur","∑":"toplam","¤":"para birimi"},uk:{"∆":"delta","∞":"bezkinechnist","♥":"lubov","&":"i","|":"abo","<":"menshe",">":"bilshe","∑":"suma","¤":"valjuta"},vn:{"∆":"delta","∞":"vo cuc","♥":"yeu","&":"va","|":"hoac","<":"nho hon",">":"lon hon","∑":"tong","¤":"tien te"}},d=[";","?",":","@","&","=","+","$",",","/"].join(""),l=[";","?",":","@","&","=","+","$",","].join(""),h=[".","!","~","*","'","(",")"].join(""),s=function(y,g){var w="-",b="",S="",F=!0,O={},L,V,j,k,P,Ct,ee,q,Dt,R,D,de,I,K,H="";if(typeof y!="string")return"";if(typeof g=="string"&&(w=g),ee=i.en,q=o.en,typeof g=="object"){L=g.maintainCase||!1,O=g.custom&&typeof g.custom=="object"?g.custom:O,j=+g.truncate>1&&g.truncate||!1,k=g.uric||!1,P=g.uricNoSlash||!1,Ct=g.mark||!1,F=!(g.symbols===!1||g.lang===!1),w=g.separator||w,k&&(H+=d),P&&(H+=l),Ct&&(H+=h),ee=g.lang&&i[g.lang]&&F?i[g.lang]:F?i.en:{},q=g.lang&&o[g.lang]?o[g.lang]:g.lang===!1||g.lang===!0?{}:o.en,g.titleCase&&typeof g.titleCase.length=="number"&&Array.prototype.toString.call(g.titleCase)?(g.titleCase.forEach(function(T){O[T+""]=T+""}),V=!0):V=!!g.titleCase,g.custom&&typeof g.custom.length=="number"&&Array.prototype.toString.call(g.custom)&&g.custom.forEach(function(T){O[T+""]=T+""}),Object.keys(O).forEach(function(T){var te;T.length>1?te=new RegExp("\\b"+f(T)+"\\b","gi"):te=new RegExp(f(T),"gi"),y=y.replace(te,O[T])});for(D in O)H+=D}for(H+=w,H=f(H),y=y.replace(/(^\s+|\s+$)/g,""),I=!1,K=!1,R=0,de=y.length;R<de;R++)D=y[R],m(D,O)?I=!1:q[D]?(D=I&&q[D].match(/[A-Za-z0-9]/)?" "+q[D]:q[D],I=!1):D in n?(R+1<de&&a.indexOf(y[R+1])>=0?(S+=D,D=""):K===!0?(D=r[S]+n[D],S=""):D=I&&n[D].match(/[A-Za-z0-9]/)?" "+n[D]:n[D],I=!1,K=!1):D in r?(S+=D,D="",R===de-1&&(D=r[S]),K=!0):ee[D]&&!(k&&d.indexOf(D)!==-1)&&!(P&&l.indexOf(D)!==-1)?(D=I||b.substr(-1).match(/[A-Za-z0-9]/)?w+ee[D]:ee[D],D+=y[R+1]!==void 0&&y[R+1].match(/[A-Za-z0-9]/)?w:"",I=!0):(K===!0?(D=r[S]+D,S="",K=!1):I&&(/[A-Za-z0-9]/.test(D)||b.substr(-1).match(/A-Za-z0-9]/))&&(D=" "+D),I=!1),b+=D.replace(new RegExp("[^\\w\\s"+H+"_-]","g"),w);return V&&(b=b.replace(/(\w)(\S*)/g,function(T,te,bt){var _e=te.toUpperCase()+(bt!==null?bt:"");return Object.keys(O).indexOf(_e.toLowerCase())<0?_e:_e.toLowerCase()})),b=b.replace(/\s+/g,w).replace(new RegExp("\\"+w+"+","g"),w).replace(new RegExp("(^\\"+w+"+|\\"+w+"+$)","g"),""),j&&b.length>j&&(Dt=b.charAt(j)===w,b=b.slice(0,j),Dt||(b=b.slice(0,b.lastIndexOf(w)))),!L&&!V&&(b=b.toLowerCase()),b},c=function(y){return function(w){return s(w,y)}},f=function(y){return y.replace(/[-\\^$*+?.()|[\]{}\/]/g,"\\$&")},m=function(p,y){for(var g in y)if(y[g]===p)return!0};if(typeof t<"u"&&t.exports)t.exports=s,t.exports.createSlug=c;else if(typeof define<"u"&&define.amd)define([],function(){return s});else try{if(u.getSlug||u.createSlug)throw"speakingurl: globals exists /(getSlug|createSlug)/";u.getSlug=s,u.createSlug=c}catch{}}(e)}}),Du=qe({"../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/index.js"(e,t){A(),t.exports=Cu()}});A(),A(),A(),A(),A(),A(),A(),A(),A(),A();var Ke,Ze,W=(Ze=(Ke=B).__VUE_DEVTOOLS_HOOK)!=null?Ze:Ke.__VUE_DEVTOOLS_HOOK=Ge(),bu={vueAppInit(e){W.hook("app:init",e)},vueAppConnected(e){W.hook("app:connected",e)},componentAdded(e){return W.hook("component:added",e)},componentUpdated(e){return W.hook("component:updated",e)},componentRemoved(e){return W.hook("component:removed",e)},setupDevtoolsPlugin(e){W.hook("devtools-plugin:setup",e)}},Je={on:bu,setupDevToolsPlugin(e,t){return W.callHook("devtools-plugin:setup",e,t)}};A(),A(),A(),A(),A(),A(),A(),_u(Du(),1),A(),A(),A();var Xe,Qe,X=(Qe=(Xe=B).__VUE_DEVTOOLS_API_HOOK)!=null?Qe:Xe.__VUE_DEVTOOLS_API_HOOK=Ge();function wu(e){const t=new Map;return((e==null?void 0:e.getRoutes())||[]).filter(u=>!t.has(u.path)&&t.set(u.path,1))}function Ee(e){return e.map(t=>{let{path:u,name:n,children:a}=t;return a!=null&&a.length&&(a=Ee(a)),{path:u,name:n,children:a}})}function xu(e){if(e){const{fullPath:t,hash:u,href:n,path:a,name:r,matched:o,params:i,query:d}=e;return{fullPath:t,hash:u,href:n,path:a,name:r,params:i,query:d,matched:Ee(o)}}return e}function ku(e){function t(){var u;const n=(u=e.app)==null?void 0:u.config.globalProperties.$router,a=xu(n==null?void 0:n.currentRoute.value),r=Ee(wu(n)),o=console.warn;console.warn=()=>{},B[G]={currentRoute:a?He(a):{},routes:He(r)},B[le]=n,console.warn=o}t(),Je.on.componentUpdated(ye(()=>{t(),X.callHook("router-info:updated",B[G])},200))}function Bu(e,t){return Je.setupDevToolsPlugin(e,t)}A(),A(),A(),A(),A(),A(),A(),A(),A(),A(),A();var Ou="__vue_devtool_undefined__",Fu="__vue_devtool_infinity__",Su="__vue_devtool_negative_infinity__",Pu="__vue_devtool_nan__";A(),A();var Mu={[Ou]:"undefined",[Pu]:"NaN",[Fu]:"Infinity",[Su]:"-Infinity"};Object.entries(Mu).reduce((e,[t,u])=>(e[u]=t,e),{}),A(),A(),A(),A(),A(),A(),A(),A(),A(),A(),A(),A(),A();var et,tt;(tt=(et=B).__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__)!=null||(et.__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__=!0),A(),A(),A();var U="__VUE_DEVTOOLS_GLOBAL_STATE__";function ju(){return{connected:!1,clientConnected:!1,appRecords:[],activeAppRecord:null,selectedComponentId:null,pluginBuffer:[],tabs:[],commands:[],vitePluginDetected:!1,activeAppRecordId:null}}var ut,nt;(nt=(ut=B)[U])!=null||(ut[U]=ju());var rt=ye((e,t)=>{X.callHook("devtools:state-updated",e,t)},80),at=ye((e,t)=>{X.callHook("devtools:connected-updated",e,t)},80),M=new Proxy(B[U],{get(e,t){return B[U][t]},deleteProperty(e,t){return delete e[t],!0},set(e,t,u){const n={...B[U]};return e[t]=u,B[U][t]=u,rt(B[U],n),["connected","clientConnected"].includes(t.toString())&&n[t]!==u&&at(B[U],n),!0}});Object.defineProperty(M.tabs,"push",{configurable:!0,value(...e){const t=Array.prototype.push.apply(this,e);return M.tabs=this,X.callHook("custom-tabs:updated",this),t}}),["push","splice"].forEach(e=>{Object.defineProperty(M.commands,e,{configurable:!0,value(...t){const u=Array.prototype[e].apply(this,t);return M.commands=this,X.callHook("custom-commands:updated",this),u}})}),A(),A();var le="__VUE_DEVTOOLS_ROUTER__",G="__VUE_DEVTOOLS_ROUTER_INFO__",ot,it;(it=(ot=B)[G])!=null||(ot[G]={currentRoute:null,routes:[]});var st,lt;(lt=(st=B)[le])!=null||(st[le]=null);var Lu=new Proxy(B[G],{get(e,t){return B[G][t]}});A();var Y="__VUE_DEVTOOLS_CONTEXT__";function ct(){return{appRecord:null,api:null,inspector:[],timelineLayer:[],routerInfo:{},router:null,activeInspectorTreeId:"",componentPluginHookBuffer:[]}}var ft,dt;(dt=(ft=B)[Y])!=null||(ft[Y]=ct());function Tu(){B[Y]=ct()}var ce=new Proxy(B[Y],{get(e,t){return t==="router"?B[le]:t==="clear"?Tu:B[Y][t]},set(e,t,u){return B[Y][t]=u,!0}});new Proxy(M.appRecords,{get(e,t){if(t==="value")return M.appRecords;if(t==="active")return M.activeAppRecord;if(t==="activeId")return M.activeAppRecordId},set(e,t,u){var n;const a={...M};if(t==="value")M.appRecords=u;else if(t==="active"){const r=u;M.activeAppRecord=r,ce.appRecord=r,ce.api=r.api,ce.inspector=(n=r.inspector)!=null?n:[],ku(u),ce.routerInfo=Lu}else t==="activeId"&&(M.activeAppRecordId=u);return rt(M,a),["connected","clientConnected"].includes(t.toString())&&a[t]!==u&&at(M,a),!0}});var pt,ht;(ht=(pt=B).__VUE_DEVTOOLS_APP_RECROD_INFO__)!=null||(pt.__VUE_DEVTOOLS_APP_RECROD_INFO__={id:0,appIds:new Set}),A();var mt,vt;(vt=(mt=B).__VUE_DEVTOOLS_ENV__)!=null||(mt.__VUE_DEVTOOLS_ENV__={vitePluginDetected:!1});function Iu(e,t){const u=`▲ ■ ●${e}`;typeof __VUE_DEVTOOLS_TOAST__=="function"?__VUE_DEVTOOLS_TOAST__(u,t):t==="error"?console.error(u):t==="warn"?console.warn(u):console.log(u)}const gt=e=>{const t={id:e.uuid,label:e.type,children:[],tags:[]};e.name!==""&&t.tags.push({label:e.name,textColor:5750629,backgroundColor:15793395});const u=ze(e);return u>0&&t.tags.push({label:`${Gt(u)} KB`,textColor:15707189,backgroundColor:16775644,tooltip:"Memory usage"}),e.type.includes("Light")&&(t.tags.push({label:`${e.intensity}`,textColor:9738662,backgroundColor:16316922,tooltip:"Intensity"}),t.tags.push({label:`#${e.color.getHexString()}`,textColor:9738662,backgroundColor:16316922,tooltip:"Color"})),e.type.includes("Camera")&&(t.tags.push({label:`${e.fov}°`,textColor:9738662,backgroundColor:16316922,tooltip:"Field of view"}),t.tags.push({label:`x: ${Math.round(e.position.x)} y: ${Math.round(e.position.y)} z: ${Math.round(e.position.z)}`,textColor:9738662,backgroundColor:16316922,tooltip:"Position"})),t};function yt(e,t){e.children.forEach(u=>{if(u.type==="HightlightMesh")return;const n=gt(u);t.children.push(n),yt(u,n)})}const Nu=[],Q="tres:inspector",zu=v.reactive({sceneGraph:null});function Vu(e,t){Bu({id:"dev.esm.tres",label:"TresJS 🪐",logo:"https://raw.githubusercontent.com/Tresjs/tres/main/public/favicon.svg",packageName:"tresjs",homepage:"https://tresjs.org",componentStateTypes:Nu,app:e},u=>{typeof u.now!="function"&&Iu("You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html."),u.addInspector({id:Q,label:"TresJS 🪐",icon:"account_tree",treeFilterPlaceholder:"Search instances"}),setInterval(()=>{u.sendInspectorTree(Q)},1e3),setInterval(()=>{u.notifyComponentUpdate()},5e3),u.on.getInspectorTree(r=>{if(r.inspectorId===Q){const o=gt(t.scene.value);yt(t.scene.value,o),zu.sceneGraph=o,r.rootNodes=[o]}});let n=null,a=null;u.on.getInspectorState(r=>{if(r.inspectorId===Q){const[o]=t.scene.value.getObjectsByProperty("uuid",r.nodeId);if(!o)return;if(a&&n&&n.parent&&a.remove(n),o.isMesh){const i=Vt(o);o.add(i),n=i,a=o}r.state={object:[{key:"uuid",editable:!0,value:o.uuid},{key:"name",editable:!0,value:o.name},{key:"type",editable:!0,value:o.type},{key:"position",editable:!0,value:o.position},{key:"rotation",editable:!0,value:o.rotation},{key:"scale",editable:!0,value:o.scale},{key:"geometry",value:o.geometry},{key:"material",value:o.material},{key:"color",editable:!0,value:o.color},{key:"intensity",editable:!0,value:o.intensity},{key:"castShadow",editable:!0,value:o.castShadow},{key:"receiveShadow",editable:!0,value:o.receiveShadow},{key:"frustumCulled",editable:!0,value:o.frustumCulled},{key:"matrixAutoUpdate",editable:!0,value:o.matrixAutoUpdate},{key:"matrixWorldNeedsUpdate",editable:!0,value:o.matrixWorldNeedsUpdate},{key:"matrixWorld",value:o.matrixWorld},{key:"visible",editable:!0,value:o.visible}]}}}),u.on.editInspectorState(r=>{r.inspectorId===Q&&zt(t.scene.value,r.nodeId,r.path,r.state.value)})})}const Ru=["data-scene","data-tres"],At=v.defineComponent({__name:"TresCanvas",props:{shadows:{type:Boolean,default:void 0},clearColor:{},toneMapping:{},shadowMapType:{},useLegacyLights:{type:Boolean,default:void 0},outputColorSpace:{},toneMappingExposure:{},camera:{},preset:{},windowSize:{type:Boolean,default:void 0},useWindowPointer:{type:Boolean,default:void 0},disableRender:{type:Boolean,default:void 0},context:{},precision:{},alpha:{type:Boolean,default:void 0},premultipliedAlpha:{type:Boolean},antialias:{type:Boolean,default:void 0},stencil:{type:Boolean,default:void 0},preserveDrawingBuffer:{type:Boolean,default:void 0},powerPreference:{},depth:{type:Boolean,default:void 0},logarithmicDepthBuffer:{type:Boolean,default:void 0},failIfMajorPerform