@tresjs/core 4.3.2 → 4.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/components/TresCanvas.vue.d.ts +3 -1
- package/dist/src/composables/useCamera/index.d.ts +6 -6
- package/dist/src/utils/is.d.ts +20 -2
- package/dist/src/utils/primitive/createRetargetingProxy.d.ts +1 -1
- package/dist/tres.js +4384 -1025
- package/dist/tres.umd.cjs +2 -2
- package/package.json +26 -26
package/dist/tres.umd.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* name: @tresjs/core
|
|
3
|
-
* version: v4.3.
|
|
3
|
+
* version: v4.3.4
|
|
4
4
|
* (c) 2025
|
|
5
5
|
* description: Declarative ThreeJS using Vue Components
|
|
6
6
|
* author: Alvaro Saburido <hola@alvarosaburido.dev> (https://github.com/alvarosabu/)
|
|
7
7
|
*/
|
|
8
|
-
(function(C,f){typeof exports=="object"&&typeof module<"u"?f(exports,require("vue"),require("three"),require("@vueuse/core")):typeof define=="function"&&define.amd?define(["exports","vue","three","@vueuse/core"],f):(C=typeof globalThis<"u"?globalThis:C||self,f(C.tres={},C.Vue,C.Three,C.VueUseCore))})(this,function(C,f,g,M){"use strict";var Pn=Object.defineProperty;var Sn=(C,f,g)=>f in C?Pn(C,f,{enumerable:!0,configurable:!0,writable:!0,value:g}):C[f]=g;var ye=(C,f,g)=>Sn(C,typeof f!="symbol"?f+"":f,g);function ct(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const _e=ct(g),ut={name:"@tresjs/core",type:"module",version:"4.3.2",packageManager:"pnpm@9.15.1",description:"Declarative ThreeJS using Vue Components",author:"Alvaro Saburido <hola@alvarosaburido.dev> (https://github.com/alvarosabu/)",license:"MIT",repository:{type:"git",url:"git+https://github.com/Tresjs/tres.git"},keywords:["vue","3d","threejs","three","threejs-vue"],sideEffects:!1,exports:{".":{types:"./dist/index.d.ts",import:"./dist/tres.js",require:"./dist/tres.umd.cjs"},"./components":{types:"./dist/src/components/index.d.ts"},"./composables":{types:"./dist/src/composables/index.d.ts"},"./types":{types:"./dist/src/types/index.d.ts"},"./utils":{types:"./dist/src/utils/index.d.ts"},"./*":"./*"},main:"./dist/tres.js",module:"./dist/tres.js",types:"./dist/index.d.ts",files:["*.d.ts","dist"],publishConfig:{access:"public"},scripts:{dev:"pnpm --filter='./playground/vue' dev","dev:nuxt":"pnpm --filter='./playground/nuxt' dev",build:"vite build",test:"vitest","test:ci":"vitest run","test:ui":"vitest --ui --coverage.enabled=true",release:"release-it",coverage:"vitest run --coverage",lint:"eslint .","lint:fix":"eslint . --fix","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.4"},dependencies:{"@alvarosabu/utils":"^3.2.0","@vue/devtools-api":"^6.6.3","@vueuse/core":"^12.0.0"},devDependencies:{"@release-it/conventional-changelog":"^9.0.3","@stackblitz/sdk":"^1.11.0","@tresjs/cientos":"4.0.3","@tresjs/eslint-config":"^1.4.0","@types/three":"^0.171.0","@typescript-eslint/eslint-plugin":"^8.18.1","@typescript-eslint/parser":"^8.18.1","@vitejs/plugin-vue":"^5.2.1","@vitest/coverage-c8":"^0.33.0","@vitest/coverage-v8":"^2.1.8","@vitest/ui":"^2.1.8","@vue/test-utils":"^2.4.6",eslint:"^9.17.0","eslint-plugin-vue":"^9.32.0",esno:"^4.8.0",gsap:"^3.12.5",jsdom:"^25.0.1",kolorist:"^1.8.0",ohmyfetch:"^0.4.21",pathe:"^1.1.2","release-it":"^17.10.0","rollup-plugin-analyzer":"^4.0.0","rollup-plugin-copy":"^3.5.0","rollup-plugin-visualizer":"^5.12.0",sponsorkit:"^0.16.2",three:"^0.171.0",unocss:"^0.65.2",unplugin:"^2.1.0","unplugin-vue-components":"^0.28.0",vite:"^6.0.5","vite-plugin-banner":"^0.8.0","vite-plugin-dts":"4.4.0","vite-plugin-inspect":"^0.10.4","vite-plugin-require-transform":"^1.0.21","vite-svg-loader":"^5.1.0",vitepress:"1.5.0",vitest:"2.1.8",vue:"3.5.13","vue-demi":"^0.14.10"}};function we(e){const t={nodes:{},materials:{}};return e&&e.traverse(n=>{n.name&&(t.nodes[n.name]=n),n.material&&!t.materials[n.material.name]&&(t.materials[n.material.name]=n.material)}),t}async function be(e,t,n,r,s){const{logError:l}=F(),i=new e;return s&&s(i),n&&n(i),await new Promise((a,c)=>{i.load(t,o=>{const d=o;d.scene&&Object.assign(d,we(d.scene)),a(d)},r,o=>{l("[useLoader] - Failed to load resource",o),c(o)})})}const ft=f.defineComponent({__name:"component",props:{loader:{},url:{}},async setup(e){let t,n;const r=e,s=([t,n]=f.withAsyncContext(()=>f.reactive(be(r.loader,r.url))),t=await t,n(),t);return(l,i)=>f.renderSlot(l.$slots,"default",{data:f.unref(s)})}});class dt extends _e.Mesh{constructor(...n){super(...n);ye(this,"type","HightlightMesh");ye(this,"createTime");this.createTime=Date.now()}onBeforeRender(){const r=(Date.now()-this.createTime)/1e3,i=1+.07*Math.sin(2.5*r);this.scale.set(i,i,i)}}function ue(e){return typeof e>"u"}function Z(e){return Array.isArray(e)}function pt(e){return typeof e=="number"}function Ce(e){return typeof e=="string"}function z(e){return typeof e=="function"}function $(e){return e===Object(e)&&!Z(e)&&!z(e)}function V(e){return $(e)&&"isObject3D"in e&&!!e.isObject3D}function Me(e){return $(e)&&"isCamera"in e&&!!e.isCamera}function mt(e){return $(e)&&"isBufferGeometry"in e&&!!e.isBufferGeometry}function ht(e){return $(e)&&"isMaterial"in e&&!!e.isMaterial}function gt(e){return $(e)&&"isLight"in e&&!!e.isLight}function vt(e){return $(e)&&"isFog"in e&&!!e.isFog}function yt(e){return $(e)&&"isScene"in e&&!!e.isScene}function ee(e){return V(e)||mt(e)||ht(e)||vt(e)}function _t(e){return $(e)&&!!e.isPrimitive}const Pe=(e,t)=>{for(const n of Object.keys(t))t[n]instanceof Object&&Object.assign(t[n],Pe(e[n],t[n]));return Object.assign(e||{},t),e},wt=Mt("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 Se(e){return e&&e.nodeType===1}function te(e){return e.replace(/-([a-z])/g,(t,n)=>n.toUpperCase())}const bt=/\B([A-Z])/g;function Ct(e){return e.replace(bt,"-$1").toLowerCase()}function Mt(e,t){const n=Object.create(null),r=e.split(",");for(let s=0;s<r.length;s++)n[r[s]]=!0;return s=>!!n[s]}const ke=(e,t)=>{if(!t)return;const n=Array.isArray(t)?t:t.match(/([^[.\]])+/g);return n==null?void 0:n.reduce((r,s)=>r&&r[s],e)},Pt=(e,t,n)=>{const r=Array.isArray(t)?t:t.match(/([^[.\]])+/g);r&&r.reduce((s,l,i)=>(s[l]===void 0&&(s[l]={}),i===r.length-1&&(s[l]=n),s[l]),e)};function Ae(e,t){if(Se(e)&&Se(t)){const s=e.attributes,l=t.attributes;return s.length!==l.length?!1:Array.from(s).every(({name:i,value:a})=>t.getAttribute(i)===a)}if(e===t)return!0;if(e===null||typeof e!="object"||t===null||typeof t!="object")return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(const s of n)if(!r.includes(s)||!Ae(e[s],t[s]))return!1;return!0}function St(e,t){if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Ae(e[n],t[n]))return!1;return!0}const kt=Array.isArray;function At(e,t,n,r){const s=c=>{if(c.uuid===t)return c;for(const o of c.children){const d=s(o);if(d)return d}},l=s(e);if(!l){console.warn("Object with UUID not found in the scene.");return}let i=l;for(let c=0;c<n.length-1;c++)if(i[n[c]]!==void 0)i=i[n[c]];else{console.warn(`Property path is not valid: ${n.join(".")}`);return}const a=n[n.length-1];i[a]!==void 0?i[a]=r:console.warn(`Property path is not valid: ${n.join(".")}`)}function Lt(e){const t=new g.MeshBasicMaterial({color:11003607,transparent:!0,opacity:.2,depthTest:!1,side:g.DoubleSide});return new dt(e.geometry.clone(),t)}function Ot(e){var n;let t=e.value;return e.value&&((n=e.value)!=null&&n.isMesh)&&(t=e.value.position),Array.isArray(e.value)&&(t=new g.Vector3(...t)),t}function Dt(e){return"map"in e}function Le(e){Dt(e)&&e.map&&e.map.dispose(),e.dispose()}function fe(e){var n,r;if(e.parent&&((n=e.removeFromParent)==null||n.call(e)),delete e.__tres,[...e.children].forEach(s=>fe(s)),!(e instanceof g.Scene)){const s=e;e&&((r=e.dispose)==null||r.call(e)),s.geometry&&(s.geometry.dispose(),delete s.geometry),Array.isArray(s.material)?(s.material.forEach(l=>Le(l)),delete s.material):s.material&&(Le(s.material),delete s.material)}}function xt(e,t){let n=0;for(let r=0;r<e.length;r++)t(e[r],r)&&(e[n]=e[r],n++);return e.length=n,e}function de(e,t){let n=e;if(t.includes("-")){const r=t.split("-");let s=r.shift();for(;n&&r.length;)s in n?(n=n[s],s=r.shift()):s=Oe(s,r.shift());return{target:n,key:Oe(s,...r)}}else return{target:n,key:t}}function Oe(...e){return e.map((t,n)=>n===0?t:t.charAt(0).toUpperCase()+t.slice(1)).join("")}const De=/-\d+$/;function Tt(e,t,n){if(Ce(n)){if(De.test(n)){const l=n.replace(De,""),{target:i,key:a}=de(e,l);if(!Array.isArray(i[a])){const c=i[a],o=[];o.__tresDetach=()=>{o.every(d=>ue(d))&&(i[a]=c)},i[a]=o}}const{target:r,key:s}=de(e,n);t.__tres.previousAttach=r[s],r[s]=q(t)}else t.__tres.previousAttach=n(e,t)}function jt(e,t,n){var r,s,l;if(Ce(n)){const{target:i,key:a}=de(e,n),c=t.__tres.previousAttach;c===void 0?delete i[a]:i[a]=c,"__tresDetach"in i&&i.__tresDetach()}else(s=(r=t.__tres)==null?void 0:r.previousAttach)==null||s.call(r,e,t);(l=t.__tres)==null||delete l.previousAttach}function G(e,t,n){const r=e;return r.__tres={type:"unknown",eventCount:0,root:n,handlers:{},memoizedProps:{},objects:[],parent:null,previousAttach:null,...t},r.__tres.attach||(r.isMaterial?r.__tres.attach="material":r.isBufferGeometry?r.__tres.attach="geometry":r.isFog&&(r.__tres.attach="fog")),r}function xe(e){var n;const t=(n=e==null?void 0:e.__tres)==null?void 0:n.root;t&&t.render&&t.render.canBeInvalidated.value&&t.invalidate()}function Yn(e){}function Bt(e,t,n){var s;if(!z(e.setPixelRatio))return;let r=0;if(n&&Z(n)&&n.length>=2){const[l,i]=n;r=g.MathUtils.clamp(t,l,i)}else pt(n)?r=n:r=t;r!==((s=e.getPixelRatio)==null?void 0:s.call(e))&&e.setPixelRatio(r)}function It(e,t,n,r,s){const l=[...t.__tres.objects],i=q(t);if(e=q(e),i===e)return!0;const a=G(e,t.__tres??{},s),c=t.parent??t.__tres.parent??null,o={...t.__tres.memoizedProps};delete o.object;for(const d of l)Te(d,s),je(d,s);i.__tres.objects=[],r.remove(t);for(const[d,w]of Object.entries(o))r.patchProp(a,d,a[d],w);n(e),r.insert(t,c);for(const d of l)r.insert(d,t);return!0}function q(e){return _t(e)?(e.object.__tres=e.__tres,e.object):e}function Te(e,t){var r,s,l,i;const n=((r=e.__tres)==null?void 0:r.parent)||t.scene.value;e.__tres&&(e.__tres.parent=null),n&&n.__tres&&"objects"in n.__tres&&xt(n.__tres.objects,a=>a!==e),(s=e.__tres)!=null&&s.attach?jt(n,e,e.__tres.attach):((i=(l=e.parent)==null?void 0:l.remove)==null||i.call(l,q(e)),e.parent=null)}function je(e,t){var n;(n=e.traverse)==null||n.call(e,r=>{var s;t.deregisterCamera(r),(s=t.eventManager)==null||s.deregisterPointerMissedObject(r)}),t.deregisterCamera(e),xe(e)}async function Be(e,t){const n=new g.TextureLoader(t),r=s=>new Promise((l,i)=>{n.load(s,a=>l(a),()=>null,()=>{i(new Error("[useTextures] - Failed to load texture"))})});if(kt(e)){const s=await Promise.all(e.map(l=>r(l)));return e.length>1?s:s[0]}else{const{map:s,displacementMap:l,normalMap:i,roughnessMap:a,metalnessMap:c,aoMap:o,alphaMap:d,matcap:w}=e;return{map:s?await r(s):null,displacementMap:l?await r(l):null,normalMap:i?await r(i):null,roughnessMap:a?await r(a):null,metalnessMap:c?await r(c):null,aoMap:o?await r(o):null,alphaMap:d?await r(d):null,matcap:w?await r(w):null}}}const Et=f.defineComponent({__name:"component",props:{map:{},displacementMap:{},normalMap:{},roughnessMap:{},metalnessMap:{},aoMap:{},alphaMap:{},matcap:{}},async setup(e){let t,n;const r=e,s=([t,n]=f.withAsyncContext(()=>f.reactive(Be(r))),t=await t,n(),t);return(l,i)=>f.renderSlot(l.$slots,"default",{textures:f.unref(s)})}}),Ie=({sizes:e})=>{const t=f.ref([]),n=f.computed(()=>t.value[0]),r=i=>{const a=i instanceof g.Camera?i:t.value.find(o=>o.uuid===i);if(!a)return;const c=t.value.filter(({uuid:o})=>o!==a.uuid);t.value=[a,...c]},s=(i,a=!1)=>{if(Me(i)){const c=i;if(t.value.some(({uuid:o})=>o===c.uuid))return;a?r(c):t.value.push(c)}},l=i=>{if(Me(i)){const a=i;t.value=t.value.filter(({uuid:c})=>c!==a.uuid)}};return f.watchEffect(()=>{e.aspectRatio.value&&t.value.forEach(i=>{!i.manual&&(i instanceof g.PerspectiveCamera||$t(i))&&(i instanceof g.PerspectiveCamera?i.aspect=e.aspectRatio.value:(i.left=e.width.value*-.5,i.right=e.width.value*.5,i.top=e.height.value*.5,i.bottom=e.height.value*-.5),i.updateProjectionMatrix())})}),f.onUnmounted(()=>{t.value=[]}),{camera:n,cameras:t,registerCamera:s,deregisterCamera:l,setCameraActive:r}};function $t(e){return e.hasOwnProperty("isOrthographicCamera")&&e.isOrthographicCamera}const Rt=!0,ne="[TresJS ▲ ■ ●] ";function Ut(...e){typeof e[0]=="string"?e[0]=ne+e[0]:e.unshift(ne),console.error(...e)}function Vt(...e){typeof e[0]=="string"?e[0]=ne+e[0]:e.unshift(ne),console.warn(...e)}function Ft(e,t){}function F(){return{logError:Ut,logWarning:Vt,logMessage:Ft}}const re=f.ref({}),oe=e=>Object.assign(re.value,e);function pe(){const e=new Map,t=new Set;let n=0,r=!1;const s=()=>{const o=Array.from(e.entries()).sort((d,w)=>{const u=d[1].priority-w[1].priority;return u===0?d[1].addI-w[1].addI:u});t.clear(),o.forEach(d=>t.add(d[0]))},l=o=>{e.delete(o),t.delete(o)};return{on:(o,d=0)=>{e.set(o,{priority:d,addI:n++});const w=()=>l(o);return M.tryOnScopeDispose(w),r=!0,{off:w}},off:l,trigger:(...o)=>{r&&(s(),r=!1),t.forEach(d=>d(...o))},dispose:()=>{e.clear(),t.clear()},get count(){return e.size}}}function Ee(){let e=!0,t=!0,n=!1;const r=new g.Clock(!1),s=f.ref(r.running),l=f.ref(!1);let i;const a=g.MathUtils.generateUUID();let c=null;const o=pe(),d=pe(),w=pe();O();let u={};function _(k){u=k}function v(k,T,m=0){switch(T){case"before":return o.on(k,m);case"render":return c||(c=k),d.dispose(),d.on(k);case"after":return w.on(k,m)}}function y(){t&&(t=!1,O(),S())}function p(){t=!0,O(),cancelAnimationFrame(i)}function b(){n=!1,O()}function A(){n=!0,O()}function L(){l.value=!0}function D(){l.value=!1}function S(){if(!e){i=requestAnimationFrame(S);return}const k=r.getDelta(),T=r.getElapsedTime(),m={camera:f.unref(u.camera),scene:f.unref(u.scene),renderer:f.unref(u.renderer),raycaster:f.unref(u.raycaster),controls:f.unref(u.controls),invalidate:u.invalidate,advance:u.advance},P={delta:k,elapsed:T,clock:r,...m};s.value&&o.trigger(P),l.value||(d.count?d.trigger(P):c&&c(P)),s.value&&w.trigger(P),i=requestAnimationFrame(S)}function O(){const k=!t&&!n;r.running!==k&&(r.running?r.stop():r.start()),s.value=r.running}return{loopId:a,register:(k,T,m)=>v(k,T,m),start:y,stop:p,pause:A,resume:b,pauseRender:L,resumeRender:D,isRenderPaused:l,isActive:s,setContext:_,setReady:k=>e=k}}function me(e){let t=0;return e.traverse(n=>{if(n.isMesh&&n.geometry&&n.type!=="HightlightMesh"){const r=n.geometry,s=r.attributes.position.count*3*Float32Array.BYTES_PER_ELEMENT,l=r.index?r.index.count*Uint32Array.BYTES_PER_ELEMENT:0,i=r.attributes.normal?r.attributes.normal.count*3*Float32Array.BYTES_PER_ELEMENT:0,a=r.attributes.uv?r.attributes.uv.count*2*Float32Array.BYTES_PER_ELEMENT:0,c=s+l+i+a;t+=c}}),t}function Wt(e){return(e/1024).toFixed(2)}const Nt=Number.parseInt(g.REVISION.replace("dev",""));function zt(e){return typeof e=="number"?[e,e,e]:e instanceof g.Vector3?[e.x,e.y,e.z]:e}function $e(e){return e instanceof g.Color?e:Array.isArray(e)?new g.Color(...e):new g.Color(e)}const se={realistic:{shadows:!0,physicallyCorrectLights:!0,outputColorSpace:g.SRGBColorSpace,toneMapping:g.ACESFilmicToneMapping,toneMappingExposure:3,shadowMap:{enabled:!0,type:g.PCFSoftShadowMap}},flat:{toneMapping:g.NoToneMapping,toneMappingExposure:1}};function Re({canvas:e,options:t,contextParts:{sizes:n,render:r,invalidate:s,advance:l}}){const i=f.computed(()=>({alpha:M.toValue(t.alpha)??!0,depth:M.toValue(t.depth),canvas:M.unrefElement(e),context:M.toValue(t.context),stencil:M.toValue(t.stencil),antialias:M.toValue(t.antialias)??!0,precision:M.toValue(t.precision),powerPreference:M.toValue(t.powerPreference),premultipliedAlpha:M.toValue(t.premultipliedAlpha),preserveDrawingBuffer:M.toValue(t.preserveDrawingBuffer),logarithmicDepthBuffer:M.toValue(t.logarithmicDepthBuffer),failIfMajorPerformanceCaveat:M.toValue(t.failIfMajorPerformanceCaveat)})),a=f.shallowRef(new g.WebGLRenderer(i.value));function c(){t.renderMode==="on-demand"&&s()}f.watch(i,()=>{a.value.dispose(),a.value=new g.WebGLRenderer(i.value),c()}),f.watch([n.width,n.height],()=>{a.value.setSize(n.width.value,n.height.value),c()},{immediate:!0}),f.watch(()=>t.clearColor,c);const{pixelRatio:o}=M.useDevicePixelRatio(),{logError:d}=F(),u=(()=>{const v=new g.WebGLRenderer,y={shadowMap:{enabled:v.shadowMap.enabled,type:v.shadowMap.type},toneMapping:v.toneMapping,toneMappingExposure:v.toneMappingExposure,outputColorSpace:v.outputColorSpace};return v.dispose(),y})(),_=M.toValue(t.renderMode);return _==="on-demand"&&s(),_==="manual"&&setTimeout(()=>{l()},100),f.watchEffect(()=>{const v=M.toValue(t.preset);v&&(v in se||d(`Renderer Preset must be one of these: ${Object.keys(se).join(", ")}`),Pe(a.value,se[v])),Bt(a.value,o.value,M.toValue(t.dpr)),_==="always"&&(r.frames.value=Math.max(1,r.frames.value));const y=(A,L)=>{const D=M.toValue(A),S=()=>{if(v)return ke(se[v],L)};if(D!==void 0)return D;const O=S();return O!==void 0?O:ke(u,L)},p=(A,L)=>Pt(a.value,L,y(A,L));p(t.shadows,"shadowMap.enabled"),p(t.toneMapping??g.ACESFilmicToneMapping,"toneMapping"),p(t.shadowMapType,"shadowMap.type"),Nt<150&&p(!t.useLegacyLights,"physicallyCorrectLights"),p(t.outputColorSpace,"outputColorSpace"),p(t.toneMappingExposure,"toneMappingExposure");const b=y(t.clearColor,"clearColor");b&&a.value.setClearColor(b?$e(b):new g.Color(0))}),f.onUnmounted(()=>{a.value.dispose(),a.value.forceContextLoss()}),{renderer:a}}function Gt(e,t,n=10){const r=M.toValue(e)?M.useWindowSize():M.useElementSize(f.computed(()=>M.toValue(t).parentElement)),s=f.readonly(M.refDebounced(r.width,n)),l=f.readonly(M.refDebounced(r.height,n)),i=f.computed(()=>s.value/l.value);return{height:l,width:s,aspectRatio:i}}const Ue=(e,t)=>{const n=f.computed(()=>t.renderer.value.domElement),r=f.shallowRef([]),{x:s,y:l}=M.usePointer({target:n});let i=0;const{width:a,height:c,top:o,left:d}=M.useElementBounding(n),w=({x:h,y:x})=>{if(n.value)return{x:(h-d.value)/a.value*2-1,y:-((x-o.value)/c.value)*2+1}},u=({x:h,y:x})=>{if(t.camera.value)return t.raycaster.value.setFromCamera(new g.Vector2(h,x),t.camera.value),r.value=t.raycaster.value.intersectObjects(e.value,!0),r.value},_=h=>{const x=w({x:(h==null?void 0:h.clientX)??s.value,y:(h==null?void 0:h.clientY)??l.value});return x?u(x)||[]:[]},v=M.createEventHook(),y=M.createEventHook(),p=M.createEventHook(),b=M.createEventHook(),A=M.createEventHook(),L=M.createEventHook(),D=M.createEventHook(),S=M.createEventHook();function O(h){const x={};for(const N in h)typeof N!="function"&&(x[N]=h[N]);return x}const k=(h,x)=>{var it,at,lt;const N=O(x),ce=new g.Vector3(x==null?void 0:x.clientX,x==null?void 0:x.clientY,0).unproject((it=t.camera)==null?void 0:it.value);h.trigger({...N,intersections:r.value,unprojectedPoint:ce,ray:(at=t.raycaster)==null?void 0:at.value.ray,camera:(lt=t.camera)==null?void 0:lt.value,sourceEvent:x,delta:i,stopPropagating:!1})};let T;const m=h=>{_(h),k(p,h),T=h},P=()=>{T&&m(T)};let j,B,I;const U=h=>{var x;j=(x=r.value[0])==null?void 0:x.object,i=0,B=new g.Vector2((h==null?void 0:h.clientX)??s.value,(h==null?void 0:h.clientY)??l.value),k(A,h)};let E,K=!1;const nt=h=>{var x,N,ce;h instanceof PointerEvent&&(r.value.length===0&&k(L,h),j===((x=r.value[0])==null?void 0:x.object)&&(I=new g.Vector2((h==null?void 0:h.clientX)??s.value,(h==null?void 0:h.clientY)??l.value),i=B==null?void 0:B.distanceTo(I),h.button===0?(k(v,h),E===((N=r.value[0])==null?void 0:N.object)?K=!0:(E=(ce=r.value[0])==null?void 0:ce.object,K=!1)):h.button===2&&k(D,h)),k(b,h))},rt=h=>{K&&(k(y,h),E=void 0,K=!1)},ot=h=>k(p,h),st=h=>k(S,h);return n.value.addEventListener("pointerup",nt),n.value.addEventListener("pointerdown",U),n.value.addEventListener("pointermove",m),n.value.addEventListener("pointerleave",ot),n.value.addEventListener("dblclick",rt),n.value.addEventListener("wheel",st),f.onUnmounted(()=>{n!=null&&n.value&&(n.value.removeEventListener("pointerup",nt),n.value.removeEventListener("pointerdown",U),n.value.removeEventListener("pointermove",m),n.value.removeEventListener("pointerleave",ot),n.value.removeEventListener("dblclick",rt),n.value.removeEventListener("wheel",st))}),{intersects:r,onClick:h=>v.on(h).off,onDblClick:h=>y.on(h).off,onContextMenu:h=>D.on(h).off,onPointerMove:h=>p.on(h).off,onPointerUp:h=>b.on(h).off,onPointerDown:h=>A.on(h).off,onPointerMissed:h=>L.on(h).off,onWheel:h=>S.on(h).off,forceUpdate:P}};function he(e,t){if(Array.isArray(e))for(const n of e)n(t);typeof e=="function"&&e(t)}function Ve(e,t,n){var T;const r=f.shallowRef(),s=f.shallowRef();e&&(r.value=e),t&&(s.value=t);const l=m=>{var P;return((P=m.__tres)==null?void 0:P.eventCount)>0},i=m=>{var P;return((P=m.children)==null?void 0:P.some(j=>i(j)))||l(m)},a=f.shallowRef(((T=r.value)==null?void 0:T.children).filter(i)||[]);function c(m,P){const j=[],B=()=>P.stopPropagating=!0;P.stopPropagation=B;for(const I of P==null?void 0:P.intersections){if(P.stopPropagating)return;P={...P,...I};const{object:U}=I;P.eventObject=U,he(U[m],P),j.push(U);let E=U.parent;for(;E!==null&&!P.stopPropagating&&!j.includes(E);)P.eventObject=E,he(E[m],P),j.push(E),E=E.parent;const K=Ct(m.slice(2));n(K,{intersection:I,event:P})}}const{onClick:o,onDblClick:d,onContextMenu:w,onPointerMove:u,onPointerDown:_,onPointerUp:v,onPointerMissed:y,onWheel:p,forceUpdate:b}=Ue(a,t);v(m=>c("onPointerUp",m)),_(m=>c("onPointerDown",m)),o(m=>c("onClick",m)),d(m=>c("onDoubleClick",m)),w(m=>c("onContextMenu",m)),p(m=>c("onWheel",m));let A=[];u(m=>{const P=m.intersections.map(({object:B})=>B),j=m.intersections;A.forEach(({object:B})=>{P.includes(B)||(m.intersections=A,c("onPointerLeave",m),c("onPointerOut",m))}),m.intersections=j,m.intersections.forEach(({object:B})=>{A.includes(B)||(c("onPointerEnter",m),c("onPointerOver",m))}),c("onPointerMove",m),A=m.intersections});const L=[];y(m=>{const P=()=>m.stopPropagating=!0;m.stopPropagation=P,L.forEach(j=>{m.stopPropagating||(m.eventObject=j,he(j.onPointerMissed,m))}),n("pointer-missed",{event:m})});function D(m){ee(m)&&V(m)&&a.value.push(m)}function S(m){if(ee(m)&&V(m)){const P=a.value.indexOf(m);P>-1&&a.value.splice(P,1)}}function O(m){ee(m)&&V(m)&&m.onPointerMissed&&L.push(m)}function k(m){if(ee(m)&&V(m)){const P=L.indexOf(m);P>-1&&L.splice(P,1)}}return t.eventManager={forceUpdate:b,registerObject:D,deregisterObject:S,registerPointerMissedObject:O,deregisterPointerMissedObject:k},{forceUpdate:b,registerObject:D,deregisterObject:S,registerPointerMissedObject:O,deregisterPointerMissedObject:k}}function qt(e,t,n=100){n=n<=0?100:n;const r=M.createEventHook(),s=new Set;let l=!1,i=!1,a=null;function c(){a&&clearTimeout(a),!i&&!l&&e()?(r.trigger(t),s.forEach(u=>u()),s.clear(),l=!0):!i&&!l&&(a=setTimeout(c,n))}function o(){i=!0,a&&clearTimeout(a)}c();const d=(u,..._)=>{u(..._)};return{on:u=>{if(l)return d(u,t),{off:()=>{}};{const _=r.on(u);return s.add(_.off),r.on(u)}},off:r.off,trigger:r.trigger,cancel:o}}const J=new WeakMap;function Fe(e){if(e=e||Q(),J.has(e))return J.get(e);const t=100,n=Date.now(),l=qt(()=>{if(Date.now()-n>=t)return!0;{const i=e.renderer.value,a=(i==null?void 0:i.domElement)||{width:0,height:0};return!!(i&&a.width>0&&a.height>0)}},e);return J.set(e,l),l}function Yt(e){const t=Q();if(t)return J.has(t)?J.get(t).on(e):Fe(t).on(e)}function We({scene:e,canvas:t,windowSize:n,rendererOptions:r,emit:s}){const l=f.shallowRef(e),i=Gt(n,t),{camera:a,cameras:c,registerCamera:o,deregisterCamera:d,setCameraActive:w}=Ie({sizes:i,scene:e}),u={mode:f.ref(r.renderMode||"always"),priority:f.ref(0),frames:f.ref(0),maxFrames:60,canBeInvalidated:f.computed(()=>u.mode.value==="on-demand"&&u.frames.value===0)};function _(I=1){r.renderMode==="on-demand"&&(u.frames.value=Math.min(u.maxFrames,u.frames.value+I))}function v(){r.renderMode==="manual"&&(u.frames.value=1)}const{renderer:y}=Re({scene:e,canvas:t,options:r,emit:s,contextParts:{sizes:i,camera:a,render:u,invalidate:_,advance:v}}),p={sizes:i,scene:l,camera:a,cameras:f.readonly(c),renderer:y,raycaster:f.shallowRef(new g.Raycaster),controls:f.ref(null),perf:{maxFrames:160,fps:{value:0,accumulator:[]},memory:{currentMem:0,allocatedMem:0,accumulator:[]}},render:u,advance:v,extend:oe,invalidate:_,registerCamera:o,setCameraActive:w,deregisterCamera:d,loop:Ee()};f.provide("useTres",p),p.scene.value.__tres={root:p},p.loop.register(()=>{a.value&&u.frames.value>0&&(y.value.render(e,a.value),s("render",p.renderer.value)),u.priority.value=0,u.mode.value==="always"?u.frames.value=1:u.frames.value=Math.max(0,u.frames.value-1)},"render");const{on:b,cancel:A}=Fe(p);p.loop.setReady(!1),p.loop.start(),b(()=>{s("ready",p),p.loop.setReady(!0),Ve(e,p,s)}),f.onUnmounted(()=>{A(),p.loop.stop()});const L=100,D=M.useFps({every:L}),{isSupported:S,memory:O}=M.useMemory({interval:L}),k=160;let T=performance.now();const m=({timestamp:I})=>{p.scene.value&&(p.perf.memory.allocatedMem=me(p.scene.value)),I-T>=L&&(T=I,p.perf.fps.accumulator.push(D.value),p.perf.fps.accumulator.length>k&&p.perf.fps.accumulator.shift(),p.perf.fps.value=D.value,S.value&&O.value&&(p.perf.memory.accumulator.push(O.value.usedJSHeapSize/1024/1024),p.perf.memory.accumulator.length>k&&p.perf.memory.accumulator.shift(),p.perf.memory.currentMem=p.perf.memory.accumulator.reduce((U,E)=>U+E,0)/p.perf.memory.accumulator.length))};let P=0;const j=1,{pause:B}=M.useRafFn(({delta:I})=>{window.__TRES__DEVTOOLS__&&(m({timestamp:performance.now()}),P+=I,P>=j&&(window.__TRES__DEVTOOLS__.cb(p),P=0))},{immediate:!0});return f.onUnmounted(()=>{B()}),p}function Q(){const e=f.inject("useTres");if(!e)throw new Error("useTresContext must be used together with useTresContextProvider");return e}const Kt=Q;function Jt(){const{camera:e,scene:t,renderer:n,loop:r,raycaster:s,controls:l,invalidate:i,advance:a}=Q();r.setContext({camera:e,scene:t,renderer:n,raycaster:s,controls:l,invalidate:i,advance:a});function c(w,u=0){return r.register(w,"before",u)}function o(w){return r.register(w,"render")}function d(w,u=0){return r.register(w,"after",u)}return{pause:r.pause,resume:r.resume,pauseRender:r.pauseRender,resumeRender:r.resumeRender,isActive:r.isActive,onBeforeRender:c,render:o,onAfterRender:d}}const Ne=M.createEventHook(),ze=M.createEventHook(),ge=M.createEventHook(),X=new g.Clock;let ie=0,ae=0;const{pause:Qt,resume:Ge,isActive:Xt}=M.useRafFn(()=>{Ne.trigger({delta:ie,elapsed:ae,clock:X}),ze.trigger({delta:ie,elapsed:ae,clock:X}),ge.trigger({delta:ie,elapsed:ae,clock:X})},{immediate:!1});ge.on(()=>{ie=X.getDelta(),ae=X.getElapsedTime()});let qe=!1;const Ht=()=>(qe||(qe=!0,Ge()),{onBeforeLoop:Ne.on,onLoop:ze.on,onAfterLoop:ge.on,pause:Qt,resume:Ge,isActive:Xt});function Zt(){const{logWarning:e}=F();function t(l,i,a){let c=null;return l.traverse(o=>{o[i]===a&&(c=o)}),c||e(`Child with ${i} '${a}' not found.`),c}function n(l,i,a){const c=[];return l.traverse(o=>{o[i].includes(a)&&c.push(o)}),c.length||e(`Children with ${i} '${a}' not found.`),c}function r(l,i){return t(l,"name",i)}function s(l,i){return n(l,"name",i)}return{seek:t,seekByName:r,seekAll:n,seekAllByName:s}}function en(e,t={},n={}){let r=e;const s=a=>{r=a};let l=new Proxy({},{});const i={has(a,c){return c in t||c in r},get(a,c,o){return c in t?t[c](r):r[c]},set(a,c,o){return n[c]?n[c](o,r,l,s):r[c]=o,!0}};return l=new Proxy({},i),l}const{logError:Ye}=F(),Ke=["onClick","onContextMenu","onPointerMove","onPointerEnter","onPointerLeave","onPointerOver","onPointerOut","onDoubleClick","onPointerDown","onPointerUp","onPointerCancel","onPointerMissed","onLostPointerCapture","onWheel"],tn=e=>{const t=e.scene.value;function n(o,d,w,u){if(u||(u={}),u.args||(u.args=[]),o==="template"||wt(o))return null;let _=o.replace("Tres",""),v;if(o==="primitive"){(!$(u.object)||f.isRef(u.object))&&Ye("Tres primitives need an 'object' prop, whose value is an object or shallowRef<object>"),_=u.object.type;const y={};v=en(u.object,{object:b=>b,isPrimitive:()=>!0,__tres:()=>y},{object:(b,A,L,D)=>{It(b,L,D,{patchProp:l,remove:s,insert:r},e)},__tres:b=>{Object.assign(y,b)}})}else{const y=re.value[_];y||Ye(`${_} is not defined on the THREE namespace. Use extend to add it to the catalog.`),v=new y(...u.args)}return v?(v.isCamera&&(u!=null&&u.position||v.position.set(3,3,3),u!=null&&u.lookAt||v.lookAt(0,0,0)),v=G(v,{...v.__tres,type:_,memoizedProps:u,eventCount:0,primitive:o==="primitive",attach:u.attach},e),v):null}function r(o,d){var _,v,y;if(!o)return;d=d||t;const w=o.__tres?o:G(o,{},e),u=d.__tres?d:G(d,{},e);o=q(w),d=q(u),o.__tres&&((_=o.__tres)==null?void 0:_.eventCount)>0&&((v=e.eventManager)==null||v.registerObject(o)),e.registerCamera(o),(y=e.eventManager)==null||y.registerPointerMissedObject(o),w.__tres.attach?Tt(u,w,w.__tres.attach):V(o)&&V(u)&&(u.add(o),o.dispatchEvent({type:"added"})),w.__tres.parent=u,u.__tres.objects&&!u.__tres.objects.includes(w)&&u.__tres.objects.push(w)}function s(o,d){var v,y,p,b;if(!o)return;o!=null&&o.__tres&&((v=o.__tres)==null?void 0:v.eventCount)>0&&((y=e.eventManager)==null||y.deregisterObject(o)),d=ue(d)?"default":d;const w=(p=o.__tres)==null?void 0:p.dispose;ue(w)||(w===null?d=!1:d=w);const u=(b=o.__tres)==null?void 0:b.primitive,_=d==="default"?!u:!!d;if(o.__tres&&"objects"in o.__tres&&[...o.__tres.objects].forEach(A=>s(A,d)),_&&o.children&&[...o.children].forEach(A=>s(A,d)),Te(o,e),je(o,e),_&&!yt(o)){if(z(d))d(o);else if(z(o.dispose))try{o.dispose()}catch{}}"__tres"in o&&delete o.__tres}function l(o,d,w,u){var A,L;if(!o)return;let _=o,v=d;if(o.__tres&&(o.__tres.memoizedProps[d]=u),d==="attach"){const D=((A=o.__tres)==null?void 0:A.parent)||o.parent;s(o),G(o,{attach:u},e),D&&r(o,D);return}if(d==="dispose"){o.__tres||(o=G(o,{},e)),o.__tres.dispose=u;return}if(V(o)&&v==="blocks-pointer-events"){u||u===""?o[v]=u:delete o[v];return}Ke.includes(d)&&o.__tres&&(o.__tres.eventCount+=1);let y=te(v),p=_==null?void 0:_[y];if(v==="args"){const D=o,S=w??[],O=u??[],k=((L=o.__tres)==null?void 0:L.type)||o.type;k&&S.length&&!St(S,O)&&(_=Object.assign(D,new re.value[k](...u)));return}if(_.type==="BufferGeometry"){if(v==="args")return;_.setAttribute(te(v),new g.BufferAttribute(...u));return}if(v.includes("-")&&p===void 0){const D=v.split("-");p=D.reduce((S,O)=>S[te(O)],_),v=D.pop(),y=v,p!=null&&p.set||(_=D.reduce((S,O)=>S[te(O)],_))}let b=u;if(b===""&&(b=!0),z(p)){Ke.includes(d)||(Z(b)?o[y](...b):o[y](b)),y.startsWith("on")&&z(b)&&(_[y]=b);return}!(p!=null&&p.set)&&!z(p)?_[y]=b:p.constructor===b.constructor&&(p!=null&&p.copy)?p==null||p.copy(b):Z(b)?p.set(...b):!p.isColor&&p.setScalar?p.setScalar(b):p.set(b),xe(o)}function i(o){var d;return((d=o==null?void 0:o.__tres)==null?void 0:d.parent)||null}function a(o){const d=G(new g.Object3D,{type:"Comment"},e);return d.name=o,d}function c(o){var _;const d=i(o),w=((_=d==null?void 0:d.__tres)==null?void 0:_.objects)||[],u=w.indexOf(o);return u<0||u>=w.length-1?null:w[u+1]}return{insert:r,remove:s,createElement:n,patchProp:l,parentNode:i,createText:()=>void 0,createComment:a,setText:()=>void 0,setElementText:()=>void 0,nextSibling:c,querySelector:()=>void 0,setScopeId:()=>void 0,cloneNode:()=>void 0,insertStaticContent:()=>void 0}};function nn(){return Je().__VUE_DEVTOOLS_GLOBAL_HOOK__}function Je(){return typeof navigator<"u"&&typeof window<"u"?window:typeof globalThis<"u"?globalThis:{}}const rn=typeof Proxy=="function",on="devtools-plugin:setup",sn="plugin:settings:set";let Y,ve;function an(){var e;return Y!==void 0||(typeof window<"u"&&window.performance?(Y=!0,ve=window.performance):typeof globalThis<"u"&&(!((e=globalThis.perf_hooks)===null||e===void 0)&&e.performance)?(Y=!0,ve=globalThis.perf_hooks.performance):Y=!1),Y}function ln(){return an()?ve.now():Date.now()}class cn{constructor(t,n){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=t,this.hook=n;const r={};if(t.settings)for(const i in t.settings){const a=t.settings[i];r[i]=a.defaultValue}const s=`__vue-devtools-plugin-settings__${t.id}`;let l=Object.assign({},r);try{const i=localStorage.getItem(s),a=JSON.parse(i);Object.assign(l,a)}catch{}this.fallbacks={getSettings(){return l},setSettings(i){try{localStorage.setItem(s,JSON.stringify(i))}catch{}l=i},now(){return ln()}},n&&n.on(sn,(i,a)=>{i===this.plugin.id&&this.fallbacks.setSettings(a)}),this.proxiedOn=new Proxy({},{get:(i,a)=>this.target?this.target.on[a]:(...c)=>{this.onQueue.push({method:a,args:c})}}),this.proxiedTarget=new Proxy({},{get:(i,a)=>this.target?this.target[a]:a==="on"?this.proxiedOn:Object.keys(this.fallbacks).includes(a)?(...c)=>(this.targetQueue.push({method:a,args:c,resolve:()=>{}}),this.fallbacks[a](...c)):(...c)=>new Promise(o=>{this.targetQueue.push({method:a,args:c,resolve:o})})})}async setRealTarget(t){this.target=t;for(const n of this.onQueue)this.target.on[n.method](...n.args);for(const n of this.targetQueue)n.resolve(await this.target[n.method](...n.args))}}function un(e,t){const n=e,r=Je(),s=nn(),l=rn&&n.enableEarlyProxy;if(s&&(r.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__||!l))s.emit(on,e,t);else{const i=l?new cn(n,s):null;(r.__VUE_DEVTOOLS_PLUGINS__=r.__VUE_DEVTOOLS_PLUGINS__||[]).push({pluginDescriptor:n,setupFn:t,proxy:i}),i&&t(i.proxiedTarget)}}function fn(e,t){const n=`▲ ■ ●${e}`;typeof Qe=="function"?Qe(n,t):console.log(n)}function Qe(e,t){throw new Error(e+t)}const Xe=e=>{const t={id:e.uuid,label:e.type,children:[],tags:[]};e.name!==""&&t.tags.push({label:e.name,textColor:5750629,backgroundColor:15793395});const n=me(e);return n>0&&t.tags.push({label:`${Wt(n)} KB`,textColor:15707189,backgroundColor:16775644,tooltip:"Memory usage"}),e.type.includes("Light")&&(gt(e)&&t.tags.push({label:`${e.intensity}`,textColor:9738662,backgroundColor:16316922,tooltip:"Intensity"}),t.tags.push({label:`#${new g.Color(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 He(e,t,n=""){e.children.forEach(r=>{if(r.type==="HightlightMesh"||n&&!r.type.includes(n)&&!r.name.includes(n))return;const s=Xe(r);t.children.push(s),He(r,s,n)})}const dn=[],H="tres:inspector",pn=f.reactive({sceneGraph:null});function mn(e,t){un({id:"dev.esm.tres",label:"TresJS 🪐",logo:"https://raw.githubusercontent.com/Tresjs/tres/main/public/favicon.svg",packageName:"tresjs",homepage:"https://tresjs.org",componentStateTypes:dn,app:e},n=>{typeof n.now!="function"&&fn("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."),n.addInspector({id:H,label:"TresJS 🪐",icon:"account_tree",treeFilterPlaceholder:"Search instances"}),setInterval(()=>{n.sendInspectorTree(H)},1e3),setInterval(()=>{n.notifyComponentUpdate()},5e3),n.on.getInspectorTree(l=>{if(l.inspectorId===H){const i=Xe(t.scene.value);He(t.scene.value,i,l.filter),pn.sceneGraph=i,l.rootNodes=[i]}});let r=null,s=null;n.on.getInspectorState(l=>{var i;if(l.inspectorId===H){const[a]=t.scene.value.getObjectsByProperty("uuid",l.nodeId);if(!a)return;if(s&&r&&r.parent&&s.remove(r),a.isMesh){const c=Lt(a);a.add(c),r=c,s=a}l.state={object:Object.entries(a).map(([c,o])=>c==="children"?{key:c,value:o.filter(d=>d.type!=="HightlightMesh")}:{key:c,value:o,editable:!0}).filter(({key:c})=>c!=="parent")},a.isScene&&(l.state.info={objects:a.children.length,memory:me(a),calls:t.renderer.value.info.render.calls,triangles:t.renderer.value.info.render.triangles,points:t.renderer.value.info.render.points,lines:t.renderer.value.info.render.lines},l.state.programs=((i=t.renderer.value.info.programs)==null?void 0:i.map(c=>({key:c.name,value:{...c,vertexShader:c.vertexShader,attributes:c.getAttributes(),uniforms:c.getUniforms()}})))||[])}}),n.on.editInspectorState(l=>{l.inspectorId===H&&At(t.scene.value,l.nodeId,l.path,l.state.value)})})}const hn=["data-scene","data-tres"],Ze=f.defineComponent({__name:"TresCanvas",props:{shadows:{type:Boolean,default:void 0},clearColor:{},toneMapping:{},shadowMapType:{},useLegacyLights:{type:Boolean,default:void 0},outputColorSpace:{},toneMappingExposure:{},renderMode:{default:"always"},dpr:{},camera:{},preset:{},windowSize:{type:Boolean,default:void 0},enableProvideBridge:{type:Boolean,default:!0},context:{},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},failIfMajorPerformanceCaveat:{type:Boolean,default:void 0},precision:{},logarithmicDepthBuffer:{type:Boolean,default:void 0},reverseDepthBuffer:{type:Boolean}},emits:["render","click","double-click","context-menu","pointer-move","pointer-up","pointer-down","pointer-enter","pointer-leave","pointer-over","pointer-out","pointer-missed","wheel","ready"],setup(e,{expose:t,emit:n}){const r=e,s=n,l=f.useSlots(),{logWarning:i}=F(),a=f.ref(),c=f.shallowRef(new g.Scene),o=f.getCurrentInstance();oe(_e);const d=(y,p=!1)=>f.defineComponent({setup(){var D;const b=(D=f.getCurrentInstance())==null?void 0:D.appContext;b&&(b.app=o==null?void 0:o.appContext.app);const A={};function L(S){S&&(S.parent&&L(S.parent),S.provides&&Object.assign(A,S.provides))}return o!=null&&o.parent&&r.enableProvideBridge&&(L(o.parent),Reflect.ownKeys(A).forEach(S=>{f.provide(S,A[S])})),f.provide("useTres",y),f.provide("extend",oe),typeof window<"u"&&mn(b==null?void 0:b.app,y),()=>f.h(f.Fragment,null,p?[]:l.default())}}),w=(y,p=!1)=>{const b=d(y,p),{render:A}=f.createRenderer(tn(y));A(f.h(b),c.value)},u=(y,p=!1)=>{fe(y.scene.value),p&&(y.renderer.value.dispose(),y.renderer.value.renderLists.dispose(),y.renderer.value.forceContextLoss()),c.value.__tres={root:y}},_=f.shallowRef(null);t({context:_,dispose:()=>u(_.value,!0)});const v=()=>{u(_.value),w(_.value,!0)};return f.onMounted(()=>{const y=a;_.value=We({scene:c.value,canvas:y,windowSize:r.windowSize??!1,rendererOptions:r,emit:s});const{registerCamera:p,camera:b,cameras:A,deregisterCamera:L}=_.value;w(_.value);const D=()=>{const S=new g.PerspectiveCamera(45,window.innerWidth/window.innerHeight,.1,1e3);S.position.set(3,3,3),S.lookAt(0,0,0),p(S);const O=f.watchEffect(()=>{A.value.length>=2&&(S.removeFromParent(),L(S),O==null||O())})};f.watch(()=>r.camera,(S,O)=>{S&&p(S),O&&(O.removeFromParent(),L(O))},{immediate:!0}),b.value||(i("No camera found. Creating a default perspective camera. To have full control over a camera, please add one to the scene."),D())}),f.onUnmounted(v),(y,p)=>(f.openBlock(),f.createElementBlock("canvas",{ref_key:"canvas",ref:a,"data-scene":c.value.uuid,class:f.normalizeClass(y.$attrs.class),"data-tres":`tresjs ${f.unref(ut).version}`,style:f.normalizeStyle({display:"block",width:"100%",height:"100%",position:y.windowSize?"fixed":"relative",top:0,left:0,pointerEvents:"auto",touchAction:"none",...y.$attrs.style})},null,14,hn))}}),gn=["TresCanvas","TresLeches","TresScene"],vn={template:{compilerOptions:{isCustomElement:e=>e.startsWith("Tres")&&!gn.includes(e)||e==="primitive"}}},{logWarning:yn}=F();let R=null;const _n={updated:(e,t)=>{var s;const n=Ot(t);if(!n){yn(`v-distance-to: problem with binding value: ${t.value}`);return}R&&(R.dispose(),e.parent.remove(R));const r=n.clone().sub(e.position);r.normalize(),R=new g.ArrowHelper(r,e.position,e.position.distanceTo(n),16776960),e.parent.add(R),console.table([["Distance:",e.position.distanceTo(n)],[`origin: ${e.name||e.type}`,`x:${e.position.x}, y:${e.position.y}, z:${(s=e.position)==null?void 0:s.z}`],[`Destiny: ${e.name||e.type}`,`x:${n.x}, y:${n.y}, z:${n==null?void 0:n.z}`]])},unmounted:e=>{R==null||R.dispose(),e.parent.remove(R)}};class et extends g.Line{constructor(t,n){const r=[1,1,0,-1,1,0,-1,-1,0,1,-1,0,1,1,0],s=new g.BufferGeometry;s.setAttribute("position",new g.Float32BufferAttribute(r,3)),s.computeBoundingSphere();const l=new g.LineBasicMaterial({fog:!1});super(s,l),this.light=t,this.color=n,this.type="RectAreaLightHelper";const i=[1,1,0,-1,1,0,-1,-1,0,1,1,0,-1,-1,0,1,-1,0],a=new g.BufferGeometry;a.setAttribute("position",new g.Float32BufferAttribute(i,3)),a.computeBoundingSphere(),this.add(new g.Mesh(a,new g.MeshBasicMaterial({side:g.BackSide,fog:!1})))}updateMatrixWorld(){if(this.scale.set(.5*this.light.width,.5*this.light.height,1),this.color!==void 0)this.material.color.set(this.color),this.children[0].material.color.set(this.color);else{this.material.color.copy(this.light.color).multiplyScalar(this.light.intensity);const t=this.material.color,n=Math.max(t.r,t.g,t.b);n>1&&t.multiplyScalar(1/n),this.children[0].material.color.copy(this.material.color)}this.matrixWorld.extractRotation(this.light.matrixWorld).scale(this.scale).copyPosition(this.light.matrixWorld),this.children[0].matrixWorld.copy(this.matrixWorld)}dispose(){this.geometry.dispose(),this.material.dispose(),this.children[0].geometry.dispose(),this.children[0].material.dispose()}}const{logWarning:tt}=F();let le,W;const wn={DirectionalLight:g.DirectionalLightHelper,PointLight:g.PointLightHelper,SpotLight:g.SpotLightHelper,HemisphereLight:g.HemisphereLightHelper,RectAreaLight:et},bn={mounted:e=>{if(!e.isLight){tt(`${e.type} is not a light`);return}le=wn[e.type],e.parent.add(new le(e,1,e.color.getHex()))},updated:e=>{W=e.parent.children.find(t=>t instanceof le),!(W instanceof et)&&W.update()},unmounted:e=>{if(!e.isLight){tt(`${e.type} is not a light`);return}W=e.parent.children.find(t=>t instanceof le),W&&W.dispose&&W.dispose(),e.parent.remove(W)}},Cn={mounted:(e,t)=>{if(t.arg){console.log(`v-log:${t.arg}`,e[t.arg]);return}console.log("v-log",e)}},Mn={install(e){e.component("TresCanvas",Ze)}};C.TresCanvas=Ze,C.UseLoader=ft,C.UseTexture=Et,C.catalogue=re,C.createRenderLoop=Ee,C.default=Mn,C.dispose=fe,C.extend=oe,C.isProd=Rt,C.normalizeColor=$e,C.normalizeVectorFlexibleParam=zt,C.onTresReady=Yt,C.templateCompilerOptions=vn,C.traverseObjects=we,C.useCamera=Ie,C.useLoader=be,C.useLogger=F,C.useLoop=Jt,C.useRaycaster=Ue,C.useRenderLoop=Ht,C.useRenderer=Re,C.useSeek=Zt,C.useTexture=Be,C.useTres=Kt,C.useTresContext=Q,C.useTresContextProvider=We,C.useTresEventManager=Ve,C.vDistanceTo=_n,C.vLightHelper=bn,C.vLog=Cn,Object.defineProperties(C,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
8
|
+
(function(D,E){typeof exports=="object"&&typeof module<"u"?E(exports,require("vue"),require("three"),require("@vueuse/core")):typeof define=="function"&&define.amd?define(["exports","vue","three","@vueuse/core"],E):(D=typeof globalThis<"u"?globalThis:D||self,E(D.tres={},D.Vue,D.Three,D.VueUseCore))})(this,function(D,E,w,k){"use strict";var uu=Object.defineProperty;var au=(D,E,w)=>E in D?uu(D,E,{enumerable:!0,configurable:!0,writable:!0,value:w}):D[E]=w;var At=(D,E,w)=>au(D,typeof E!="symbol"?E+"":E,w);function Wr(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const Ct=Wr(w),Gr={name:"@tresjs/core",type:"module",version:"4.3.4",packageManager:"pnpm@10.6.3",description:"Declarative ThreeJS using Vue Components",author:"Alvaro Saburido <hola@alvarosaburido.dev> (https://github.com/alvarosabu/)",license:"MIT",repository:{type:"git",url:"git+https://github.com/Tresjs/tres.git"},keywords:["vue","3d","threejs","three","threejs-vue"],sideEffects:!1,exports:{".":{types:"./dist/index.d.ts",import:"./dist/tres.js",require:"./dist/tres.umd.cjs"},"./components":{types:"./dist/src/components/index.d.ts"},"./composables":{types:"./dist/src/composables/index.d.ts"},"./types":{types:"./dist/src/types/index.d.ts"},"./utils":{types:"./dist/src/utils/index.d.ts"},"./*":"./*"},main:"./dist/tres.js",module:"./dist/tres.js",types:"./dist/index.d.ts",files:["*.d.ts","dist"],publishConfig:{access:"public"},scripts:{dev:"pnpm --filter='./playground/vue' dev","dev:nuxt":"pnpm --filter='./playground/nuxt' dev",build:"vite build",test:"vitest","test:ci":"vitest run","test:ui":"vitest --ui --coverage.enabled=true",release:"release-it",coverage:"vitest run --coverage",lint:"eslint .","lint:fix":"eslint . --fix","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.4"},dependencies:{"@alvarosabu/utils":"^3.2.0","@vue/devtools-api":"^6.6.3","@vueuse/core":"^12.5.0"},devDependencies:{"@release-it/conventional-changelog":"^10.0.0","@stackblitz/sdk":"^1.11.0","@tresjs/cientos":"4.1.0","@tresjs/eslint-config":"^1.4.0","@types/three":"^0.173.0","@typescript-eslint/eslint-plugin":"^8.23.0","@typescript-eslint/parser":"^8.23.0","@vitejs/plugin-vue":"^5.2.1","@vitest/coverage-c8":"^0.33.0","@vitest/coverage-v8":"^3.0.5","@vitest/ui":"^3.0.5","@vue/test-utils":"^2.4.6",eslint:"^9.19.0","eslint-plugin-vue":"^9.32.0",esno:"^4.8.0",gsap:"^3.12.7",jsdom:"^26.0.0",kolorist:"^1.8.0",ohmyfetch:"^0.4.21",pathe:"^2.0.2","release-it":"^18.1.2","rollup-plugin-analyzer":"^4.0.0","rollup-plugin-copy":"^3.5.0","rollup-plugin-visualizer":"^5.14.0",sponsorkit:"^16.3.0",three:"^0.173.0",unocss:"^65.4.3",unplugin:"^2.1.2","unplugin-vue-components":"^28.0.0",vite:"^6.1.0","vite-plugin-banner":"^0.8.0","vite-plugin-dts":"4.5.0","vite-plugin-inspect":"^10.1.0","vite-plugin-require-transform":"^1.0.21","vite-svg-loader":"^5.1.0",vitepress:"1.6.3",vitest:"3.0.5",vue:"3.5.13","vue-demi":"^0.14.10"}};function Ot(e){const t={nodes:{},materials:{}};return e&&e.traverse(n=>{n.name&&(t.nodes[n.name]=n),n.material&&!t.materials[n.material.name]&&(t.materials[n.material.name]=n.material)}),t}async function wt(e,t,n,r,o){const{logError:s}=ne(),i=new e;return o&&o(i),n&&n(i),await new Promise((a,l)=>{i.load(t,u=>{const p=u;p.scene&&Object.assign(p,Ot(p.scene)),a(p)},r,u=>{s("[useLoader] - Failed to load resource",u),l(u)})})}const qr=E.defineComponent({__name:"component",props:{loader:{},url:{}},async setup(e){let t,n;const r=e,o=([t,n]=E.withAsyncContext(()=>E.reactive(wt(r.loader,r.url))),t=await t,n(),t);return(s,i)=>E.renderSlot(s.$slots,"default",{data:E.unref(o)})}});class Yr extends Ct.Mesh{constructor(...n){super(...n);At(this,"type","HightlightMesh");At(this,"createTime");this.createTime=Date.now()}onBeforeRender(){const r=(Date.now()-this.createTime)/1e3,i=1+.07*Math.sin(2.5*r);this.scale.set(i,i,i)}}function ze(e){return typeof e>"u"}function Ke(e){return Array.isArray(e)}function Xr(e){return typeof e=="number"}function St(e){return typeof e=="string"}function ue(e){return typeof e=="function"}function q(e){return e===Object(e)&&!Ke(e)&&!ue(e)}function J(e){return q(e)&&!!e.isObject3D}function bt(e){return q(e)&&!!e.isColor}function Zr(e){return e!=null&&(typeof e=="string"||typeof e=="number"||bt(e))}function $e(e){return e!==null&&typeof e=="object"&&"set"in e&&typeof e.set=="function"}function Jr(e){return $e(e)&&"copy"in e&&typeof e.copy=="function"}function Qr(e){return!!(e!=null&&e.constructor)}function Tt(e){return e instanceof w.Layers}function Dt(e){return q(e)&&!!e.isCamera}function eo(e){return q(e)&&!!e.isBufferGeometry}function to(e){return q(e)&&!!e.isMaterial}function no(e){return q(e)&&!!e.isLight}function ro(e){return q(e)&&!!e.isFog}function oo(e){return q(e)&&!!e.isScene}function Te(e){return J(e)||eo(e)||to(e)||ro(e)}function so(e){return q(e)&&!!e.isPrimitive}const kt=(e,t)=>{for(const n of Object.keys(t))t[n]instanceof Object&&Object.assign(t[n],kt(e[n],t[n]));return Object.assign(e||{},t),e},io=lo("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 Pt(e){return e&&e.nodeType===1}function He(e){return e.replace(/-([a-z])/g,(t,n)=>n.toUpperCase())}const uo=/\B([A-Z])/g;function ao(e){return e.replace(uo,"-$1").toLowerCase()}function lo(e,t){const n=Object.create(null),r=e.split(",");for(let o=0;o<r.length;o++)n[r[o]]=!0;return t?o=>!!n[o.toLowerCase()]:o=>!!n[o]}const It=(e,t)=>{if(!t)return;const n=Array.isArray(t)?t:t.match(/([^[.\]])+/g);return n==null?void 0:n.reduce((r,o)=>r&&r[o],e)},co=(e,t,n)=>{const r=Array.isArray(t)?t:t.match(/([^[.\]])+/g);r&&r.reduce((o,s,i)=>(o[s]===void 0&&(o[s]={}),i===r.length-1&&(o[s]=n),o[s]),e)};function Rt(e,t){if(Pt(e)&&Pt(t)){const o=e.attributes,s=t.attributes;return o.length!==s.length?!1:Array.from(o).every(({name:i,value:a})=>t.getAttribute(i)===a)}if(e===t)return!0;if(e===null||typeof e!="object"||t===null||typeof t!="object")return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(const o of n)if(!r.includes(o)||!Rt(e[o],t[o]))return!1;return!0}function fo(e,t){if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Rt(e[n],t[n]))return!1;return!0}const po=Array.isArray;function _o(e,t,n,r){const o=l=>{if(l.uuid===t)return l;for(const u of l.children){const p=o(u);if(p)return p}},s=o(e);if(!s){console.warn("Object with UUID not found in the scene.");return}let i=s;for(let l=0;l<n.length-1;l++)if(i[n[l]]!==void 0)i=i[n[l]];else{console.warn(`Property path is not valid: ${n.join(".")}`);return}const a=n[n.length-1];i[a]!==void 0?i[a]=r:console.warn(`Property path is not valid: ${n.join(".")}`)}function ho(e){const t=new w.MeshBasicMaterial({color:11003607,transparent:!0,opacity:.2,depthTest:!1,side:w.DoubleSide});return new Yr(e.geometry.clone(),t)}function mo(e){var n;let t=e.value;return e.value&&((n=e.value)!=null&&n.isMesh)&&(t=e.value.position),Array.isArray(e.value)&&(t=new w.Vector3(...t)),t}function go(e){return"map"in e}function xt(e){go(e)&&e.map&&e.map.dispose(),e.dispose()}function We(e){var n,r;if(e.parent&&((n=e.removeFromParent)==null||n.call(e)),delete e.__tres,[...e.children].forEach(o=>We(o)),!(e instanceof w.Scene)){const o=e;e&&((r=e.dispose)==null||r.call(e)),o.geometry&&o.geometry.dispose(),Array.isArray(o.material)?o.material.forEach(s=>xt(s)):o.material&&xt(o.material)}}function Eo(e,t){let n=0;for(let r=0;r<e.length;r++)t(e[r],r)&&(e[n]=e[r],n++);return e.length=n,e}function Ge(e,t){let n=e;if(t.includes("-")){const r=t.split("-");let o=r.shift();for(;n&&r.length;)o in n?(n=n[o],o=r.shift()):o=Mt(o,r.shift());return{target:n,key:Mt(o,...r)}}else return{target:n,key:t}}function Mt(...e){return e.map((t,n)=>n===0?t:t.charAt(0).toUpperCase()+t.slice(1)).join("")}const Vt=/-\d+$/;function vo(e,t,n){if(St(n)){if(Vt.test(n)){const s=n.replace(Vt,""),{target:i,key:a}=Ge(e,s);if(!Array.isArray(i[a])){const l=i[a],u=[];u.__tresDetach=()=>{u.every(p=>ze(p))&&(i[a]=l)},i[a]=u}}const{target:r,key:o}=Ge(e,n);t.__tres.previousAttach=r[o],r[o]=ae(t)}else t.__tres.previousAttach=n(e,t)}function yo(e,t,n){var r,o,s;if(St(n)){const{target:i,key:a}=Ge(e,n),l=t.__tres.previousAttach;l===void 0?delete i[a]:i[a]=l,"__tresDetach"in i&&i.__tresDetach()}else(o=(r=t.__tres)==null?void 0:r.previousAttach)==null||o.call(r,e,t);(s=t.__tres)==null||delete s.previousAttach}function te(e,t,n){const r=e;return r.__tres={type:"unknown",eventCount:0,root:n,handlers:{},memoizedProps:{},objects:[],parent:null,previousAttach:null,...t},r.__tres.attach||(r.isMaterial?r.__tres.attach="material":r.isBufferGeometry?r.__tres.attach="geometry":r.isFog&&(r.__tres.attach="fog")),r}function Lt(e){var n;const t=(n=e==null?void 0:e.__tres)==null?void 0:n.root;t&&t.render&&t.render.canBeInvalidated.value&&t.invalidate()}function Pu(e){}function Ao(e,t,n){var o;if(!ue(e.setPixelRatio))return;let r=0;if(n&&Ke(n)&&n.length>=2){const[s,i]=n;r=w.MathUtils.clamp(t,s,i)}else Xr(n)?r=n:r=t;r!==((o=e.getPixelRatio)==null?void 0:o.call(e))&&e.setPixelRatio(r)}function Co(e,t,n,r,o){const s=[...t.__tres.objects],i=ae(t);if(e=ae(e),i===e)return!0;const a=te(e,t.__tres??{},o),l=t.parent??t.__tres.parent??null,u={...t.__tres.memoizedProps};delete u.object;for(const p of s)Bt(p,o),Ft(p,o);i.__tres.objects=[],r.remove(t);for(const[p,h]of Object.entries(u))r.patchProp(a,p,a[p],h);n(e),r.insert(t,l);for(const p of s)r.insert(p,t);return!0}function ae(e){return so(e)?(e.object.__tres=e.__tres,e.object):e}function Bt(e,t){var r,o,s,i;const n=((r=e.__tres)==null?void 0:r.parent)||t.scene.value;e.__tres&&(e.__tres.parent=null),n&&n.__tres&&"objects"in n.__tres&&Eo(n.__tres.objects,a=>a!==e),(o=e.__tres)!=null&&o.attach?yo(n,e,e.__tres.attach):((i=(s=e.parent)==null?void 0:s.remove)==null||i.call(s,ae(e)),e.parent=null)}function Ft(e,t){var n;(n=e.traverse)==null||n.call(e,r=>{var o;t.deregisterCamera(r),(o=t.eventManager)==null||o.deregisterPointerMissedObject(r)}),t.deregisterCamera(e),Lt(e)}async function Nt(e,t){const n=new w.TextureLoader(t),r=o=>new Promise((s,i)=>{n.load(o,a=>s(a),()=>null,()=>{i(new Error("[useTextures] - Failed to load texture"))})});if(po(e)){const o=await Promise.all(e.map(s=>r(s)));return e.length>1?o:o[0]}else{const{map:o,displacementMap:s,normalMap:i,roughnessMap:a,metalnessMap:l,aoMap:u,alphaMap:p,matcap:h}=e;return{map:o?await r(o):null,displacementMap:s?await r(s):null,normalMap:i?await r(i):null,roughnessMap:a?await r(a):null,metalnessMap:l?await r(l):null,aoMap:u?await r(u):null,alphaMap:p?await r(p):null,matcap:h?await r(h):null}}}const Oo=E.defineComponent({__name:"component",props:{map:{},displacementMap:{},normalMap:{},roughnessMap:{},metalnessMap:{},aoMap:{},alphaMap:{},matcap:{}},async setup(e){let t,n;const r=e,o=([t,n]=E.withAsyncContext(()=>E.reactive(Nt(r))),t=await t,n(),t);return(s,i)=>E.renderSlot(s.$slots,"default",{textures:E.unref(o)})}}),Ut=({sizes:e})=>{const t=E.ref([]),n=E.computed(()=>t.value[0]),r=i=>{const a=i instanceof w.Camera?i:t.value.find(u=>u.uuid===i);if(!a)return;const l=t.value.filter(({uuid:u})=>u!==a.uuid);t.value=[a,...l]},o=(i,a=!1)=>{if(Dt(i)){const l=i;if(t.value.some(({uuid:u})=>u===l.uuid))return;a?r(l):t.value.push(l)}},s=i=>{if(Dt(i)){const a=i;t.value=t.value.filter(({uuid:l})=>l!==a.uuid)}};return E.watchEffect(()=>{e.aspectRatio.value&&t.value.forEach(i=>{!i.manual&&(i instanceof w.PerspectiveCamera||wo(i))&&(i instanceof w.PerspectiveCamera?i.aspect=e.aspectRatio.value:(i.left=e.width.value*-.5,i.right=e.width.value*.5,i.top=e.height.value*.5,i.bottom=e.height.value*-.5),i.updateProjectionMatrix())})}),E.onUnmounted(()=>{t.value=[]}),{camera:n,cameras:t,registerCamera:o,deregisterCamera:s,setCameraActive:r}};function wo(e){return e.hasOwnProperty("isOrthographicCamera")&&e.isOrthographicCamera}const So=!0,De="[TresJS ▲ ■ ●] ";function bo(...e){typeof e[0]=="string"?e[0]=De+e[0]:e.unshift(De),console.error(...e)}function To(...e){typeof e[0]=="string"?e[0]=De+e[0]:e.unshift(De),console.warn(...e)}function Do(e,t){}function ne(){return{logError:bo,logWarning:To,logMessage:Do}}const ke=E.ref({}),Pe=e=>Object.assign(ke.value,e);function qe(){const e=new Map,t=new Set;let n=0,r=!1;const o=()=>{const u=Array.from(e.entries()).sort((p,h)=>{const f=p[1].priority-h[1].priority;return f===0?p[1].addI-h[1].addI:f});t.clear(),u.forEach(p=>t.add(p[0]))},s=u=>{e.delete(u),t.delete(u)};return{on:(u,p=0)=>{e.set(u,{priority:p,addI:n++});const h=()=>s(u);return k.tryOnScopeDispose(h),r=!0,{off:h}},off:s,trigger:(...u)=>{r&&(o(),r=!1),t.forEach(p=>p(...u))},dispose:()=>{e.clear(),t.clear()},get count(){return e.size}}}function jt(){let e=!0,t=!0,n=!1;const r=new w.Clock(!1),o=E.ref(r.running),s=E.ref(!1);let i;const a=w.MathUtils.generateUUID();let l=null;const u=qe(),p=qe(),h=qe();M();let f={};function m(I){f=I}function d(I,L,y=0){switch(L){case"before":return u.on(I,y);case"render":return l||(l=I),p.dispose(),p.on(I);case"after":return h.on(I,y)}}function v(){t&&(t=!1,M(),x())}function c(){t=!0,M(),cancelAnimationFrame(i)}function _(){n=!1,M()}function S(){n=!0,M()}function O(){s.value=!0}function b(){s.value=!1}function x(){if(!e){i=requestAnimationFrame(x);return}const I=r.getDelta(),L=r.getElapsedTime(),y={camera:E.unref(f.camera),scene:E.unref(f.scene),renderer:E.unref(f.renderer),raycaster:E.unref(f.raycaster),controls:E.unref(f.controls),invalidate:f.invalidate,advance:f.advance},T={delta:I,elapsed:L,clock:r,...y};o.value&&u.trigger(T),s.value||(p.count?p.trigger(T):l&&l(T)),o.value&&h.trigger(T),i=requestAnimationFrame(x)}function M(){const I=!t&&!n;r.running!==I&&(r.running?r.stop():r.start()),o.value=r.running}return{loopId:a,register:(I,L,y)=>d(I,L,y),start:v,stop:c,pause:S,resume:_,pauseRender:O,resumeRender:b,isRenderPaused:s,isActive:o,setContext:m,setReady:I=>e=I}}function Ye(e){let t=0;return e.traverse(n=>{if(n.isMesh&&n.geometry&&n.type!=="HightlightMesh"){const r=n.geometry,o=r.attributes.position.count*3*Float32Array.BYTES_PER_ELEMENT,s=r.index?r.index.count*Uint32Array.BYTES_PER_ELEMENT:0,i=r.attributes.normal?r.attributes.normal.count*3*Float32Array.BYTES_PER_ELEMENT:0,a=r.attributes.uv?r.attributes.uv.count*2*Float32Array.BYTES_PER_ELEMENT:0,l=o+s+i+a;t+=l}}),t}function ko(e){return(e/1024).toFixed(2)}const Po=Number.parseInt(w.REVISION.replace("dev",""));function Io(e){return typeof e=="number"?[e,e,e]:e instanceof w.Vector3?[e.x,e.y,e.z]:e}function zt(e){return e instanceof w.Color?e:Array.isArray(e)?new w.Color(...e):new w.Color(e)}const Ie={realistic:{shadows:!0,physicallyCorrectLights:!0,outputColorSpace:w.SRGBColorSpace,toneMapping:w.ACESFilmicToneMapping,toneMappingExposure:3,shadowMap:{enabled:!0,type:w.PCFSoftShadowMap}},flat:{toneMapping:w.NoToneMapping,toneMappingExposure:1}};function Kt({canvas:e,options:t,contextParts:{sizes:n,render:r,invalidate:o,advance:s}}){const i=E.computed(()=>({alpha:k.toValue(t.alpha)??!0,depth:k.toValue(t.depth),canvas:k.unrefElement(e),context:k.toValue(t.context),stencil:k.toValue(t.stencil),antialias:k.toValue(t.antialias)??!0,precision:k.toValue(t.precision),powerPreference:k.toValue(t.powerPreference),premultipliedAlpha:k.toValue(t.premultipliedAlpha),preserveDrawingBuffer:k.toValue(t.preserveDrawingBuffer),logarithmicDepthBuffer:k.toValue(t.logarithmicDepthBuffer),failIfMajorPerformanceCaveat:k.toValue(t.failIfMajorPerformanceCaveat)})),a=E.shallowRef(new w.WebGLRenderer(i.value));function l(){t.renderMode==="on-demand"&&o()}E.watch(i,()=>{a.value.dispose(),a.value=new w.WebGLRenderer(i.value),l()}),E.watch([n.width,n.height],()=>{a.value.setSize(n.width.value,n.height.value),l()},{immediate:!0}),E.watch(()=>t.clearColor,l);const{pixelRatio:u}=k.useDevicePixelRatio(),{logError:p}=ne(),f=(()=>{const d=new w.WebGLRenderer,v={shadowMap:{enabled:d.shadowMap.enabled,type:d.shadowMap.type},toneMapping:d.toneMapping,toneMappingExposure:d.toneMappingExposure,outputColorSpace:d.outputColorSpace};return d.dispose(),v})(),m=k.toValue(t.renderMode);return m==="on-demand"&&o(),m==="manual"&&setTimeout(()=>{s()},100),E.watchEffect(()=>{const d=k.toValue(t.preset);d&&(d in Ie||p(`Renderer Preset must be one of these: ${Object.keys(Ie).join(", ")}`),kt(a.value,Ie[d])),Ao(a.value,u.value,k.toValue(t.dpr)),m==="always"&&(r.frames.value=Math.max(1,r.frames.value));const v=(S,O)=>{const b=k.toValue(S),x=()=>{if(d)return It(Ie[d],O)};if(b!==void 0)return b;const M=x();return M!==void 0?M:It(f,O)},c=(S,O)=>co(a.value,O,v(S,O));c(t.shadows,"shadowMap.enabled"),c(t.toneMapping??w.ACESFilmicToneMapping,"toneMapping"),c(t.shadowMapType,"shadowMap.type"),Po<150&&c(!t.useLegacyLights,"physicallyCorrectLights"),c(t.outputColorSpace,"outputColorSpace"),c(t.toneMappingExposure,"toneMappingExposure");const _=v(t.clearColor,"clearColor");_&&a.value.setClearColor(_?zt(_):new w.Color(0))}),E.onUnmounted(()=>{a.value.dispose(),a.value.forceContextLoss()}),{renderer:a}}function Ro(e,t,n=10){const r=k.toValue(e)?k.useWindowSize():k.useElementSize(E.computed(()=>k.toValue(t).parentElement)),o=E.readonly(k.refDebounced(r.width,n)),s=E.readonly(k.refDebounced(r.height,n)),i=E.computed(()=>o.value/s.value);return{height:s,width:o,aspectRatio:i}}const $t=(e,t)=>{const n=E.computed(()=>t.renderer.value.domElement),r=E.shallowRef([]),{x:o,y:s}=k.usePointer({target:n});let i=0;const{width:a,height:l,top:u,left:p}=k.useElementBounding(n),h=({x:A,y:R})=>{if(n.value)return{x:(A-p.value)/a.value*2-1,y:-((R-u.value)/l.value)*2+1}},f=({x:A,y:R})=>{if(t.camera.value)return t.raycaster.value.setFromCamera(new w.Vector2(A,R),t.camera.value),r.value=t.raycaster.value.intersectObjects(e.value,!0),r.value},m=A=>{const R=h({x:(A==null?void 0:A.clientX)??o.value,y:(A==null?void 0:A.clientY)??s.value});return R?f(R)||[]:[]},d=k.createEventHook(),v=k.createEventHook(),c=k.createEventHook(),_=k.createEventHook(),S=k.createEventHook(),O=k.createEventHook(),b=k.createEventHook(),x=k.createEventHook();function M(A){const R={};for(const H in A)typeof H!="function"&&(R[H]=A[H]);return R}const I=(A,R)=>{var he,$r,Hr;const H=M(R),ie=new w.Vector3(R==null?void 0:R.clientX,R==null?void 0:R.clientY,0).unproject((he=t.camera)==null?void 0:he.value);A.trigger({...H,intersections:r.value,unprojectedPoint:ie,ray:($r=t.raycaster)==null?void 0:$r.value.ray,camera:(Hr=t.camera)==null?void 0:Hr.value,sourceEvent:R,delta:i,stopPropagating:!1})};let L;const y=A=>{m(A),I(c,A),L=A},T=()=>{L&&y(L)};let F,U,N;const j=A=>{var R;F=(R=r.value[0])==null?void 0:R.object,i=0,U=new w.Vector2((A==null?void 0:A.clientX)??o.value,(A==null?void 0:A.clientY)??s.value),I(S,A)};let z,K=!1;const P=A=>{var R,H,ie;A instanceof PointerEvent&&(r.value.length===0&&I(O,A),F===((R=r.value[0])==null?void 0:R.object)&&(N=new w.Vector2((A==null?void 0:A.clientX)??o.value,(A==null?void 0:A.clientY)??s.value),i=U==null?void 0:U.distanceTo(N),A.button===0?(I(d,A),z===((H=r.value[0])==null?void 0:H.object)?K=!0:(z=(ie=r.value[0])==null?void 0:ie.object,K=!1)):A.button===2&&I(b,A)),I(_,A))},se=A=>{K&&(I(v,A),z=void 0,K=!1)},G=A=>I(c,A),Z=A=>I(x,A);return n.value.addEventListener("pointerup",P),n.value.addEventListener("pointerdown",j),n.value.addEventListener("pointermove",y),n.value.addEventListener("pointerleave",G),n.value.addEventListener("dblclick",se),n.value.addEventListener("wheel",Z),E.onUnmounted(()=>{n!=null&&n.value&&(n.value.removeEventListener("pointerup",P),n.value.removeEventListener("pointerdown",j),n.value.removeEventListener("pointermove",y),n.value.removeEventListener("pointerleave",G),n.value.removeEventListener("dblclick",se),n.value.removeEventListener("wheel",Z))}),{intersects:r,onClick:A=>d.on(A).off,onDblClick:A=>v.on(A).off,onContextMenu:A=>b.on(A).off,onPointerMove:A=>c.on(A).off,onPointerUp:A=>_.on(A).off,onPointerDown:A=>S.on(A).off,onPointerMissed:A=>O.on(A).off,onWheel:A=>x.on(A).off,forceUpdate:T}};function Xe(e,t){if(Array.isArray(e))for(const n of e)n(t);typeof e=="function"&&e(t)}function Ht(e,t,n){var L;const r=E.shallowRef(),o=E.shallowRef();e&&(r.value=e),t&&(o.value=t);const s=y=>{var T;return((T=y.__tres)==null?void 0:T.eventCount)>0},i=y=>{var T;return((T=y.children)==null?void 0:T.some(F=>i(F)))||s(y)},a=E.shallowRef(((L=r.value)==null?void 0:L.children).filter(i)||[]);function l(y,T){const F=[],U=()=>T.stopPropagating=!0;T.stopPropagation=U;for(const N of T==null?void 0:T.intersections){if(T.stopPropagating)return;T={...T,...N};const{object:j}=N;T.eventObject=j,Xe(j[y],T),F.push(j);let z=j.parent;for(;z!==null&&!T.stopPropagating&&!F.includes(z);)T.eventObject=z,Xe(z[y],T),F.push(z),z=z.parent;const K=ao(y.slice(2));n(K,{intersection:N,event:T})}}const{onClick:u,onDblClick:p,onContextMenu:h,onPointerMove:f,onPointerDown:m,onPointerUp:d,onPointerMissed:v,onWheel:c,forceUpdate:_}=$t(a,t);d(y=>l("onPointerUp",y)),m(y=>l("onPointerDown",y)),u(y=>l("onClick",y)),p(y=>l("onDoubleClick",y)),h(y=>l("onContextMenu",y)),c(y=>l("onWheel",y));let S=[];f(y=>{const T=y.intersections.map(({object:U})=>U),F=y.intersections;S.forEach(({object:U})=>{T.includes(U)||(y.intersections=S,l("onPointerLeave",y),l("onPointerOut",y))}),y.intersections=F,y.intersections.forEach(({object:U})=>{S.includes(U)||(l("onPointerEnter",y),l("onPointerOver",y))}),l("onPointerMove",y),S=y.intersections});const O=[];v(y=>{const T=()=>y.stopPropagating=!0;y.stopPropagation=T,O.forEach(F=>{y.stopPropagating||(y.eventObject=F,Xe(F.onPointerMissed,y))}),n("pointer-missed",{event:y})});function b(y){Te(y)&&J(y)&&a.value.push(y)}function x(y){if(Te(y)&&J(y)){const T=a.value.indexOf(y);T>-1&&a.value.splice(T,1)}}function M(y){Te(y)&&J(y)&&y.onPointerMissed&&O.push(y)}function I(y){if(Te(y)&&J(y)){const T=O.indexOf(y);T>-1&&O.splice(T,1)}}return t.eventManager={forceUpdate:_,registerObject:b,deregisterObject:x,registerPointerMissedObject:M,deregisterPointerMissedObject:I},{forceUpdate:_,registerObject:b,deregisterObject:x,registerPointerMissedObject:M,deregisterPointerMissedObject:I}}function xo(e,t,n=100){n=n<=0?100:n;const r=k.createEventHook(),o=new Set;let s=!1,i=!1,a=null;function l(){a&&clearTimeout(a),!i&&!s&&e()?(r.trigger(t),o.forEach(f=>f()),o.clear(),s=!0):!i&&!s&&(a=setTimeout(l,n))}function u(){i=!0,a&&clearTimeout(a)}l();const p=(f,...m)=>{f(...m)};return{on:f=>{if(s)return p(f,t),{off:()=>{}};{const m=r.on(f);return o.add(m.off),r.on(f)}},off:r.off,trigger:r.trigger,clear:r.clear,cancel:u}}const me=new WeakMap;function Wt(e){if(e=e||ge(),me.has(e))return me.get(e);const t=100,n=Date.now(),s=xo(()=>{if(Date.now()-n>=t)return!0;{const i=e.renderer.value,a=(i==null?void 0:i.domElement)||{width:0,height:0};return!!(i&&a.width>0&&a.height>0)}},e);return me.set(e,s),s}function Mo(e){const t=ge();if(t)return me.has(t)?me.get(t).on(e):Wt(t).on(e)}function Gt({scene:e,canvas:t,windowSize:n,rendererOptions:r,emit:o}){const s=E.shallowRef(e),i=Ro(n,t),{camera:a,cameras:l,registerCamera:u,deregisterCamera:p,setCameraActive:h}=Ut({sizes:i}),f={mode:E.ref(r.renderMode||"always"),priority:E.ref(0),frames:E.ref(0),maxFrames:60,canBeInvalidated:E.computed(()=>f.mode.value==="on-demand"&&f.frames.value===0)};function m(N=1){r.renderMode==="on-demand"&&(f.frames.value=Math.min(f.maxFrames,f.frames.value+N))}function d(){r.renderMode==="manual"&&(f.frames.value=1)}const{renderer:v}=Kt({canvas:t,options:r,contextParts:{sizes:i,render:f,invalidate:m,advance:d}}),c={sizes:i,scene:s,camera:a,cameras:E.readonly(l),renderer:v,raycaster:E.shallowRef(new w.Raycaster),controls:E.ref(null),perf:{maxFrames:160,fps:{value:0,accumulator:[]},memory:{currentMem:0,allocatedMem:0,accumulator:[]}},render:f,advance:d,extend:Pe,invalidate:m,registerCamera:u,setCameraActive:h,deregisterCamera:p,loop:jt()};E.provide("useTres",c),c.scene.value.__tres={root:c},c.loop.register(()=>{a.value&&f.frames.value>0&&(v.value.render(e,a.value),o("render",c.renderer.value)),f.priority.value=0,f.mode.value==="always"?f.frames.value=1:f.frames.value=Math.max(0,f.frames.value-1)},"render");const{on:_,cancel:S}=Wt(c);c.loop.setReady(!1),c.loop.start(),_(()=>{o("ready",c),c.loop.setReady(!0),Ht(e,c,o)}),E.onUnmounted(()=>{S(),c.loop.stop()});const O=100,b=k.useFps({every:O}),{isSupported:x,memory:M}=k.useMemory({interval:O}),I=160;let L=performance.now();const y=({timestamp:N})=>{c.scene.value&&(c.perf.memory.allocatedMem=Ye(c.scene.value)),N-L>=O&&(L=N,c.perf.fps.accumulator.push(b.value),c.perf.fps.accumulator.length>I&&c.perf.fps.accumulator.shift(),c.perf.fps.value=b.value,x.value&&M.value&&(c.perf.memory.accumulator.push(M.value.usedJSHeapSize/1024/1024),c.perf.memory.accumulator.length>I&&c.perf.memory.accumulator.shift(),c.perf.memory.currentMem=c.perf.memory.accumulator.reduce((j,z)=>j+z,0)/c.perf.memory.accumulator.length))};let T=0;const F=1,{pause:U}=k.useRafFn(({delta:N})=>{window.__TRES__DEVTOOLS__&&(y({timestamp:performance.now()}),T+=N,T>=F&&(window.__TRES__DEVTOOLS__.cb(c),T=0))},{immediate:!0});return E.onUnmounted(()=>{U()}),c}function ge(){const e=E.inject("useTres");if(!e)throw new Error("useTresContext must be used together with useTresContextProvider");return e}const Vo=ge;function Lo(){const{camera:e,scene:t,renderer:n,loop:r,raycaster:o,controls:s,invalidate:i,advance:a}=ge();r.setContext({camera:e,scene:t,renderer:n,raycaster:o,controls:s,invalidate:i,advance:a});function l(h,f=0){return r.register(h,"before",f)}function u(h){return r.register(h,"render")}function p(h,f=0){return r.register(h,"after",f)}return{pause:r.pause,resume:r.resume,pauseRender:r.pauseRender,resumeRender:r.resumeRender,isActive:r.isActive,onBeforeRender:l,render:u,onAfterRender:p}}const qt=k.createEventHook(),Yt=k.createEventHook(),Ze=k.createEventHook(),Ee=new w.Clock;let Re=0,xe=0;const{pause:Bo,resume:Xt,isActive:Fo}=k.useRafFn(()=>{qt.trigger({delta:Re,elapsed:xe,clock:Ee}),Yt.trigger({delta:Re,elapsed:xe,clock:Ee}),Ze.trigger({delta:Re,elapsed:xe,clock:Ee})},{immediate:!1});Ze.on(()=>{Re=Ee.getDelta(),xe=Ee.getElapsedTime()});let Zt=!1;const No=()=>(Zt||(Zt=!0,Xt()),{onBeforeLoop:qt.on,onLoop:Yt.on,onAfterLoop:Ze.on,pause:Bo,resume:Xt,isActive:Fo});function Uo(){const{logWarning:e}=ne();function t(s,i,a){let l=null;return s.traverse(u=>{u[i]===a&&(l=u)}),l||e(`Child with ${i} '${a}' not found.`),l}function n(s,i,a){const l=[];return s.traverse(u=>{u[i].includes(a)&&l.push(u)}),l.length||e(`Children with ${i} '${a}' not found.`),l}function r(s,i){return t(s,"name",i)}function o(s,i){return n(s,"name",i)}return{seek:t,seekByName:r,seekAll:n,seekAllByName:o}}function jo(e,t={},n={}){let r=e;const o=a=>{r=a};let s=new Proxy({},{});const i={has(a,l){return l in t||l in r},get(a,l,u){return l in t?t[l](r):r[l]},set(a,l,u){return n[l]?n[l](u,r,s,o):r[l]=u,!0}};return s=new Proxy({},i),s}const{logError:Jt}=ne(),Qt=["onClick","onContextMenu","onPointerMove","onPointerEnter","onPointerLeave","onPointerOver","onPointerOut","onDoubleClick","onPointerDown","onPointerUp","onPointerCancel","onPointerMissed","onLostPointerCapture","onWheel"],zo=e=>{const t=e.scene.value;function n(u,p,h,f){if(f||(f={}),f.args||(f.args=[]),u==="template"||io(u))return null;let m=u.replace("Tres",""),d;if(u==="primitive"){(!q(f.object)||E.isRef(f.object))&&Jt("Tres primitives need an 'object' prop, whose value is an object or shallowRef<object>"),m=f.object.type;const v={};d=jo(f.object,{object:_=>_,isPrimitive:()=>!0,__tres:()=>v},{object:(_,S,O,b)=>{Co(_,O,b,{patchProp:s,remove:o,insert:r},e)},__tres:_=>{Object.assign(v,_)}})}else{const v=ke.value[m];v||Jt(`${m} is not defined on the THREE namespace. Use extend to add it to the catalog.`),d=new v(...f.args)}return d?(d.isCamera&&(f!=null&&f.position||d.position.set(3,3,3),f!=null&&f.lookAt||d.lookAt(0,0,0)),d=te(d,{...d.__tres,type:m,memoizedProps:f,eventCount:0,primitive:u==="primitive",attach:f.attach},e),d):null}function r(u,p){var m,d,v;if(!u)return;p=p||t;const h=u.__tres?u:te(u,{},e),f=p.__tres?p:te(p,{},e);u=ae(h),p=ae(f),u.__tres&&((m=u.__tres)==null?void 0:m.eventCount)>0&&((d=e.eventManager)==null||d.registerObject(u)),e.registerCamera(u),(v=e.eventManager)==null||v.registerPointerMissedObject(u),h.__tres.attach?vo(f,h,h.__tres.attach):J(u)&&J(f)&&(f.add(u),u.dispatchEvent({type:"added"})),h.__tres.parent=f,f.__tres.objects&&!f.__tres.objects.includes(h)&&f.__tres.objects.push(h)}function o(u,p){var d,v,c,_;if(!u)return;u!=null&&u.__tres&&((d=u.__tres)==null?void 0:d.eventCount)>0&&((v=e.eventManager)==null||v.deregisterObject(u)),p=ze(p)?"default":p;const h=(c=u.__tres)==null?void 0:c.dispose;ze(h)||(h===null?p=!1:p=h);const f=(_=u.__tres)==null?void 0:_.primitive,m=p==="default"?!f:!!p;if(u.__tres&&"objects"in u.__tres&&[...u.__tres.objects].forEach(S=>o(S,p)),m&&u.children&&[...u.children].forEach(S=>o(S,p)),Bt(u,e),Ft(u,e),m&&!oo(u)){if(ue(p))p(u);else if(ue(u.dispose))try{u.dispose()}catch{}}"__tres"in u&&delete u.__tres}function s(u,p,h,f){var S,O;if(!u)return;let m=u,d=p;if(u.__tres&&(u.__tres.memoizedProps[p]=f),p==="attach"){const b=((S=u.__tres)==null?void 0:S.parent)||u.parent;o(u),te(u,{attach:f},e),b&&r(u,b);return}if(p==="dispose"){u.__tres||(u=te(u,{},e)),u.__tres.dispose=f;return}if(J(u)&&d==="blocks-pointer-events"){f||f===""?u[d]=f:delete u[d];return}Qt.includes(p)&&u.__tres&&(u.__tres.eventCount+=1);let v=He(d),c=m==null?void 0:m[v];if(d==="args"){const b=u,x=h??[],M=f??[],I=((O=u.__tres)==null?void 0:O.type)||u.type;I&&x.length&&!fo(x,M)&&(m=Object.assign(b,new ke.value[I](...f)));return}if(m.type==="BufferGeometry"){if(d==="args")return;m.setAttribute(He(d),new w.BufferAttribute(...f));return}if(d.includes("-")&&c===void 0){c=m;for(const b of d.split("-"))v=d=He(b),m=c,c=c==null?void 0:c[d]}let _=f;if(_===""&&(_=!0),ue(c)){Qt.includes(p)||(Ke(_)?u[v](..._):u[v](_)),v.startsWith("on")&&ue(_)&&(m[v]=_);return}Tt(c)&&Tt(_)?c.mask=_.mask:bt(c)&&Zr(_)?c.set(_):Jr(c)&&Qr(_)&&c.constructor===_.constructor?c.copy(_):$e(c)&&Array.isArray(_)?"fromArray"in c&&typeof c.fromArray=="function"?c.fromArray(_):c.set(..._):$e(c)&&typeof _=="number"?"setScalar"in c&&typeof c.setScalar=="function"?c.setScalar(_):c.set(_):m[d]=_,Lt(u)}function i(u){var p;return((p=u==null?void 0:u.__tres)==null?void 0:p.parent)||null}function a(u){const p=te(new w.Object3D,{type:"Comment"},e);return p.name=u,p}function l(u){var m;const p=i(u),h=((m=p==null?void 0:p.__tres)==null?void 0:m.objects)||[],f=h.indexOf(u);return f<0||f>=h.length-1?null:h[f+1]}return{insert:r,remove:o,createElement:n,patchProp:s,parentNode:i,createText:()=>void 0,createComment:a,setText:()=>void 0,setElementText:()=>void 0,nextSibling:l,querySelector:()=>void 0,setScopeId:()=>void 0,cloneNode:()=>void 0,insertStaticContent:()=>void 0}};var Ko=Object.create,en=Object.defineProperty,$o=Object.getOwnPropertyDescriptor,Je=Object.getOwnPropertyNames,Ho=Object.getPrototypeOf,Wo=Object.prototype.hasOwnProperty,Go=(e,t)=>function(){return e&&(t=(0,e[Je(e)[0]])(e=0)),t},qo=(e,t)=>function(){return t||(0,e[Je(e)[0]])((t={exports:{}}).exports,t),t.exports},Yo=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Je(t))!Wo.call(e,o)&&o!==n&&en(e,o,{get:()=>t[o],enumerable:!(r=$o(t,o))||r.enumerable});return e},Xo=(e,t,n)=>(n=e!=null?Ko(Ho(e)):{},Yo(en(n,"default",{value:e,enumerable:!0}),e)),ve=Go({"../../node_modules/.pnpm/tsup@8.3.5_@microsoft+api-extractor@7.48.1_@types+node@22.10.5__jiti@2.4.2_postcss@8.4.49_tsx_s7k37zks4wtn7x2grzma6lrsfa/node_modules/tsup/assets/esm_shims.js"(){}}),Zo=qo({"../../node_modules/.pnpm/rfdc@1.4.1/node_modules/rfdc/index.js"(e,t){ve(),t.exports=r;function n(s){return s instanceof Buffer?Buffer.from(s):new s.constructor(s.buffer.slice(),s.byteOffset,s.length)}function r(s){if(s=s||{},s.circles)return o(s);const i=new Map;if(i.set(Date,h=>new Date(h)),i.set(Map,(h,f)=>new Map(l(Array.from(h),f))),i.set(Set,(h,f)=>new Set(l(Array.from(h),f))),s.constructorHandlers)for(const h of s.constructorHandlers)i.set(h[0],h[1]);let a=null;return s.proto?p:u;function l(h,f){const m=Object.keys(h),d=new Array(m.length);for(let v=0;v<m.length;v++){const c=m[v],_=h[c];typeof _!="object"||_===null?d[c]=_:_.constructor!==Object&&(a=i.get(_.constructor))?d[c]=a(_,f):ArrayBuffer.isView(_)?d[c]=n(_):d[c]=f(_)}return d}function u(h){if(typeof h!="object"||h===null)return h;if(Array.isArray(h))return l(h,u);if(h.constructor!==Object&&(a=i.get(h.constructor)))return a(h,u);const f={};for(const m in h){if(Object.hasOwnProperty.call(h,m)===!1)continue;const d=h[m];typeof d!="object"||d===null?f[m]=d:d.constructor!==Object&&(a=i.get(d.constructor))?f[m]=a(d,u):ArrayBuffer.isView(d)?f[m]=n(d):f[m]=u(d)}return f}function p(h){if(typeof h!="object"||h===null)return h;if(Array.isArray(h))return l(h,p);if(h.constructor!==Object&&(a=i.get(h.constructor)))return a(h,p);const f={};for(const m in h){const d=h[m];typeof d!="object"||d===null?f[m]=d:d.constructor!==Object&&(a=i.get(d.constructor))?f[m]=a(d,p):ArrayBuffer.isView(d)?f[m]=n(d):f[m]=p(d)}return f}}function o(s){const i=[],a=[],l=new Map;if(l.set(Date,m=>new Date(m)),l.set(Map,(m,d)=>new Map(p(Array.from(m),d))),l.set(Set,(m,d)=>new Set(p(Array.from(m),d))),s.constructorHandlers)for(const m of s.constructorHandlers)l.set(m[0],m[1]);let u=null;return s.proto?f:h;function p(m,d){const v=Object.keys(m),c=new Array(v.length);for(let _=0;_<v.length;_++){const S=v[_],O=m[S];if(typeof O!="object"||O===null)c[S]=O;else if(O.constructor!==Object&&(u=l.get(O.constructor)))c[S]=u(O,d);else if(ArrayBuffer.isView(O))c[S]=n(O);else{const b=i.indexOf(O);b!==-1?c[S]=a[b]:c[S]=d(O)}}return c}function h(m){if(typeof m!="object"||m===null)return m;if(Array.isArray(m))return p(m,h);if(m.constructor!==Object&&(u=l.get(m.constructor)))return u(m,h);const d={};i.push(m),a.push(d);for(const v in m){if(Object.hasOwnProperty.call(m,v)===!1)continue;const c=m[v];if(typeof c!="object"||c===null)d[v]=c;else if(c.constructor!==Object&&(u=l.get(c.constructor)))d[v]=u(c,h);else if(ArrayBuffer.isView(c))d[v]=n(c);else{const _=i.indexOf(c);_!==-1?d[v]=a[_]:d[v]=h(c)}}return i.pop(),a.pop(),d}function f(m){if(typeof m!="object"||m===null)return m;if(Array.isArray(m))return p(m,f);if(m.constructor!==Object&&(u=l.get(m.constructor)))return u(m,f);const d={};i.push(m),a.push(d);for(const v in m){const c=m[v];if(typeof c!="object"||c===null)d[v]=c;else if(c.constructor!==Object&&(u=l.get(c.constructor)))d[v]=u(c,f);else if(ArrayBuffer.isView(c))d[v]=n(c);else{const _=i.indexOf(c);_!==-1?d[v]=a[_]:d[v]=f(c)}}return i.pop(),a.pop(),d}}}});ve(),ve(),ve();var tn=typeof navigator<"u",C=typeof window<"u"?window:typeof globalThis<"u"?globalThis:typeof global<"u"?global:{};typeof C.chrome<"u"&&C.chrome.devtools,tn&&(C.self,C.top);var nn;typeof navigator<"u"&&((nn=navigator.userAgent)==null||nn.toLowerCase().includes("electron")),ve();var Jo=Xo(Zo()),Qo=/(?:^|[-_/])(\w)/g;function es(e,t){return t?t.toUpperCase():""}function ts(e){return e&&`${e}`.replace(Qo,es)}function ns(e,t){let n=e.replace(/^[a-z]:/i,"").replace(/\\/g,"/");n.endsWith(`index${t}`)&&(n=n.replace(`/index${t}`,t));const r=n.lastIndexOf("/"),o=n.substring(r+1);{const s=o.lastIndexOf(t);return o.substring(0,s)}}var rn=(0,Jo.default)({circles:!0});const rs={trailing:!0};function le(e,t=25,n={}){if(n={...rs,...n},!Number.isFinite(t))throw new TypeError("Expected `wait` to be a finite number");let r,o,s=[],i,a;const l=(u,p)=>(i=os(e,u,p),i.finally(()=>{if(i=null,n.trailing&&a&&!o){const h=l(u,a);return a=null,h}}),i);return function(...u){return i?(n.trailing&&(a=u),i):new Promise(p=>{const h=!o&&n.leading;clearTimeout(o),o=setTimeout(()=>{o=null;const f=n.leading?r:l(this,u);for(const m of s)m(f);s=[]},t),h?(r=l(this,u),p(r)):s.push(p)})}}async function os(e,t,n){return await e.apply(t,n)}function Qe(e,t={},n){for(const r in e){const o=e[r],s=n?`${n}:${r}`:r;typeof o=="object"&&o!==null?Qe(o,t,s):typeof o=="function"&&(t[s]=o)}return t}const ss={run:e=>e()},is=()=>ss,on=typeof console.createTask<"u"?console.createTask:is;function us(e,t){const n=t.shift(),r=on(n);return e.reduce((o,s)=>o.then(()=>r.run(()=>s(...t))),Promise.resolve())}function as(e,t){const n=t.shift(),r=on(n);return Promise.all(e.map(o=>r.run(()=>o(...t))))}function et(e,t){for(const n of[...e])n(t)}class ls{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,n,r={}){if(!t||typeof n!="function")return()=>{};const o=t;let s;for(;this._deprecatedHooks[t];)s=this._deprecatedHooks[t],t=s.to;if(s&&!r.allowDeprecated){let i=s.message;i||(i=`${o} hook has been deprecated`+(s.to?`, please use ${s.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(i)||(console.warn(i),this._deprecatedMessages.add(i))}if(!n.name)try{Object.defineProperty(n,"name",{get:()=>"_"+t.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[t]=this._hooks[t]||[],this._hooks[t].push(n),()=>{n&&(this.removeHook(t,n),n=void 0)}}hookOnce(t,n){let r,o=(...s)=>(typeof r=="function"&&r(),r=void 0,o=void 0,n(...s));return r=this.hook(t,o),r}removeHook(t,n){if(this._hooks[t]){const r=this._hooks[t].indexOf(n);r!==-1&&this._hooks[t].splice(r,1),this._hooks[t].length===0&&delete this._hooks[t]}}deprecateHook(t,n){this._deprecatedHooks[t]=typeof n=="string"?{to:n}:n;const r=this._hooks[t]||[];delete this._hooks[t];for(const o of r)this.hook(t,o)}deprecateHooks(t){Object.assign(this._deprecatedHooks,t);for(const n in t)this.deprecateHook(n,t[n])}addHooks(t){const n=Qe(t),r=Object.keys(n).map(o=>this.hook(o,n[o]));return()=>{for(const o of r.splice(0,r.length))o()}}removeHooks(t){const n=Qe(t);for(const r in n)this.removeHook(r,n[r])}removeAllHooks(){for(const t in this._hooks)delete this._hooks[t]}callHook(t,...n){return n.unshift(t),this.callHookWith(us,t,...n)}callHookParallel(t,...n){return n.unshift(t),this.callHookWith(as,t,...n)}callHookWith(t,n,...r){const o=this._before||this._after?{name:n,args:r,context:{}}:void 0;this._before&&et(this._before,o);const s=t(n in this._hooks?[...this._hooks[n]]:[],r);return s instanceof Promise?s.finally(()=>{this._after&&o&&et(this._after,o)}):(this._after&&o&&et(this._after,o),s)}beforeEach(t){return this._before=this._before||[],this._before.push(t),()=>{if(this._before!==void 0){const n=this._before.indexOf(t);n!==-1&&this._before.splice(n,1)}}}afterEach(t){return this._after=this._after||[],this._after.push(t),()=>{if(this._after!==void 0){const n=this._after.indexOf(t);n!==-1&&this._after.splice(n,1)}}}}function sn(){return new ls}var cs=Object.create,un=Object.defineProperty,fs=Object.getOwnPropertyDescriptor,tt=Object.getOwnPropertyNames,ds=Object.getPrototypeOf,ps=Object.prototype.hasOwnProperty,_s=(e,t)=>function(){return e&&(t=(0,e[tt(e)[0]])(e=0)),t},an=(e,t)=>function(){return t||(0,e[tt(e)[0]])((t={exports:{}}).exports,t),t.exports},hs=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of tt(t))!ps.call(e,o)&&o!==n&&un(e,o,{get:()=>t[o],enumerable:!(r=fs(t,o))||r.enumerable});return e},ms=(e,t,n)=>(n=e!=null?cs(ds(e)):{},hs(un(n,"default",{value:e,enumerable:!0}),e)),g=_s({"../../node_modules/.pnpm/tsup@8.3.5_@microsoft+api-extractor@7.48.1_@types+node@22.10.5__jiti@2.4.2_postcss@8.4.49_tsx_s7k37zks4wtn7x2grzma6lrsfa/node_modules/tsup/assets/esm_shims.js"(){}}),gs=an({"../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/lib/speakingurl.js"(e,t){g(),function(n){var r={À:"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"},o=["်","ް"],s={"ာ":"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"},i={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"}},a={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"}},l=[";","?",":","@","&","=","+","$",",","/"].join(""),u=[";","?",":","@","&","=","+","$",","].join(""),p=[".","!","~","*","'","(",")"].join(""),h=function(c,_){var S="-",O="",b="",x=!0,M={},I,L,y,T,F,U,N,j,z,K,P,se,G,Z,A="";if(typeof c!="string")return"";if(typeof _=="string"&&(S=_),N=a.en,j=i.en,typeof _=="object"){I=_.maintainCase||!1,M=_.custom&&typeof _.custom=="object"?_.custom:M,y=+_.truncate>1&&_.truncate||!1,T=_.uric||!1,F=_.uricNoSlash||!1,U=_.mark||!1,x=!(_.symbols===!1||_.lang===!1),S=_.separator||S,T&&(A+=l),F&&(A+=u),U&&(A+=p),N=_.lang&&a[_.lang]&&x?a[_.lang]:x?a.en:{},j=_.lang&&i[_.lang]?i[_.lang]:_.lang===!1||_.lang===!0?{}:i.en,_.titleCase&&typeof _.titleCase.length=="number"&&Array.prototype.toString.call(_.titleCase)?(_.titleCase.forEach(function(R){M[R+""]=R+""}),L=!0):L=!!_.titleCase,_.custom&&typeof _.custom.length=="number"&&Array.prototype.toString.call(_.custom)&&_.custom.forEach(function(R){M[R+""]=R+""}),Object.keys(M).forEach(function(R){var H;R.length>1?H=new RegExp("\\b"+m(R)+"\\b","gi"):H=new RegExp(m(R),"gi"),c=c.replace(H,M[R])});for(P in M)A+=P}for(A+=S,A=m(A),c=c.replace(/(^\s+|\s+$)/g,""),G=!1,Z=!1,K=0,se=c.length;K<se;K++)P=c[K],d(P,M)?G=!1:j[P]?(P=G&&j[P].match(/[A-Za-z0-9]/)?" "+j[P]:j[P],G=!1):P in r?(K+1<se&&o.indexOf(c[K+1])>=0?(b+=P,P=""):Z===!0?(P=s[b]+r[P],b=""):P=G&&r[P].match(/[A-Za-z0-9]/)?" "+r[P]:r[P],G=!1,Z=!1):P in s?(b+=P,P="",K===se-1&&(P=s[b]),Z=!0):N[P]&&!(T&&l.indexOf(P)!==-1)&&!(F&&u.indexOf(P)!==-1)?(P=G||O.substr(-1).match(/[A-Za-z0-9]/)?S+N[P]:N[P],P+=c[K+1]!==void 0&&c[K+1].match(/[A-Za-z0-9]/)?S:"",G=!0):(Z===!0?(P=s[b]+P,b="",Z=!1):G&&(/[A-Za-z0-9]/.test(P)||O.substr(-1).match(/A-Za-z0-9]/))&&(P=" "+P),G=!1),O+=P.replace(new RegExp("[^\\w\\s"+A+"_-]","g"),S);return L&&(O=O.replace(/(\w)(\S*)/g,function(R,H,ie){var he=H.toUpperCase()+(ie!==null?ie:"");return Object.keys(M).indexOf(he.toLowerCase())<0?he:he.toLowerCase()})),O=O.replace(/\s+/g,S).replace(new RegExp("\\"+S+"+","g"),S).replace(new RegExp("(^\\"+S+"+|\\"+S+"+$)","g"),""),y&&O.length>y&&(z=O.charAt(y)===S,O=O.slice(0,y),z||(O=O.slice(0,O.lastIndexOf(S)))),!I&&!L&&(O=O.toLowerCase()),O},f=function(c){return function(S){return h(S,c)}},m=function(c){return c.replace(/[-\\^$*+?.()|[\]{}\/]/g,"\\$&")},d=function(v,c){for(var _ in c)if(c[_]===v)return!0};if(typeof t<"u"&&t.exports)t.exports=h,t.exports.createSlug=f;else if(typeof define<"u"&&define.amd)define([],function(){return h});else try{if(n.getSlug||n.createSlug)throw"speakingurl: globals exists /(getSlug|createSlug)/";n.getSlug=h,n.createSlug=f}catch{}}(e)}}),Es=an({"../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/index.js"(e,t){g(),t.exports=gs()}});g(),g(),g(),g(),g(),g(),g(),g();function vs(e){var t;const n=e.name||e._componentTag||e.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__||e.__name;return n==="index"&&((t=e.__file)!=null&&t.endsWith("index.vue"))?"":n}function ys(e){const t=e.__file;if(t)return ts(ns(t,".vue"))}function ln(e,t){return e.type.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__=t,t}function nt(e){if(e.__VUE_DEVTOOLS_NEXT_APP_RECORD__)return e.__VUE_DEVTOOLS_NEXT_APP_RECORD__;if(e.root)return e.appContext.app.__VUE_DEVTOOLS_NEXT_APP_RECORD__}function cn(e){var t,n;const r=(t=e.subTree)==null?void 0:t.type,o=nt(e);return o?((n=o==null?void 0:o.types)==null?void 0:n.Fragment)===r:!1}function Me(e){var t,n,r;const o=vs((e==null?void 0:e.type)||{});if(o)return o;if((e==null?void 0:e.root)===e)return"Root";for(const i in(n=(t=e.parent)==null?void 0:t.type)==null?void 0:n.components)if(e.parent.type.components[i]===(e==null?void 0:e.type))return ln(e,i);for(const i in(r=e.appContext)==null?void 0:r.components)if(e.appContext.components[i]===(e==null?void 0:e.type))return ln(e,i);const s=ys((e==null?void 0:e.type)||{});return s||"Anonymous Component"}function As(e){var t,n,r;const o=(r=(n=(t=e==null?void 0:e.appContext)==null?void 0:t.app)==null?void 0:n.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__)!=null?r:0,s=e===(e==null?void 0:e.root)?"root":e.uid;return`${o}:${s}`}function rt(e,t){return t=t||`${e.id}:root`,e.instanceMap.get(t)||e.instanceMap.get(":root")}function Cs(){const e={top:0,bottom:0,left:0,right:0,get width(){return e.right-e.left},get height(){return e.bottom-e.top}};return e}var Ve;function Os(e){return Ve||(Ve=document.createRange()),Ve.selectNode(e),Ve.getBoundingClientRect()}function ws(e){const t=Cs();if(!e.children)return t;for(let n=0,r=e.children.length;n<r;n++){const o=e.children[n];let s;if(o.component)s=re(o.component);else if(o.el){const i=o.el;i.nodeType===1||i.getBoundingClientRect?s=i.getBoundingClientRect():i.nodeType===3&&i.data.trim()&&(s=Os(i))}s&&Ss(t,s)}return t}function Ss(e,t){return(!e.top||t.top<e.top)&&(e.top=t.top),(!e.bottom||t.bottom>e.bottom)&&(e.bottom=t.bottom),(!e.left||t.left<e.left)&&(e.left=t.left),(!e.right||t.right>e.right)&&(e.right=t.right),e}var fn={top:0,left:0,right:0,bottom:0,width:0,height:0};function re(e){const t=e.subTree.el;return typeof window>"u"?fn:cn(e)?ws(e.subTree):(t==null?void 0:t.nodeType)===1?t==null?void 0:t.getBoundingClientRect():e.subTree.component?re(e.subTree.component):fn}g();function ot(e){return cn(e)?bs(e.subTree):e.subTree?[e.subTree.el]:[]}function bs(e){if(!e.children)return[];const t=[];return e.children.forEach(n=>{n.component?t.push(...ot(n.component)):n!=null&&n.el&&t.push(n.el)}),t}var dn="__vue-devtools-component-inspector__",pn="__vue-devtools-component-inspector__card__",_n="__vue-devtools-component-inspector__name__",hn="__vue-devtools-component-inspector__indicator__",mn={display:"block",zIndex:2147483640,position:"fixed",backgroundColor:"#42b88325",border:"1px solid #42b88350",borderRadius:"5px",transition:"all 0.1s ease-in",pointerEvents:"none"},Ts={fontFamily:"Arial, Helvetica, sans-serif",padding:"5px 8px",borderRadius:"4px",textAlign:"left",position:"absolute",left:0,color:"#e9e9e9",fontSize:"14px",fontWeight:600,lineHeight:"24px",backgroundColor:"#42b883",boxShadow:"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)"},Ds={display:"inline-block",fontWeight:400,fontStyle:"normal",fontSize:"12px",opacity:.7};function ce(){return document.getElementById(dn)}function ks(){return document.getElementById(pn)}function Ps(){return document.getElementById(hn)}function Is(){return document.getElementById(_n)}function st(e){return{left:`${Math.round(e.left*100)/100}px`,top:`${Math.round(e.top*100)/100}px`,width:`${Math.round(e.width*100)/100}px`,height:`${Math.round(e.height*100)/100}px`}}function it(e){var t;const n=document.createElement("div");n.id=(t=e.elementId)!=null?t:dn,Object.assign(n.style,{...mn,...st(e.bounds),...e.style});const r=document.createElement("span");r.id=pn,Object.assign(r.style,{...Ts,top:e.bounds.top<35?0:"-35px"});const o=document.createElement("span");o.id=_n,o.innerHTML=`<${e.name}> `;const s=document.createElement("i");return s.id=hn,s.innerHTML=`${Math.round(e.bounds.width*100)/100} x ${Math.round(e.bounds.height*100)/100}`,Object.assign(s.style,Ds),r.appendChild(o),r.appendChild(s),n.appendChild(r),document.body.appendChild(n),n}function ut(e){const t=ce(),n=ks(),r=Is(),o=Ps();t&&(Object.assign(t.style,{...mn,...st(e.bounds)}),Object.assign(n.style,{top:e.bounds.top<35?0:"-35px"}),r.innerHTML=`<${e.name}> `,o.innerHTML=`${Math.round(e.bounds.width*100)/100} x ${Math.round(e.bounds.height*100)/100}`)}function Rs(e){const t=re(e);if(!t.width&&!t.height)return;const n=Me(e);ce()?ut({bounds:t,name:n}):it({bounds:t,name:n})}function gn(){const e=ce();e&&(e.style.display="none")}var at=null;function lt(e){const t=e.target;if(t){const n=t.__vueParentComponent;if(n&&(at=n,n.vnode.el)){const o=re(n),s=Me(n);ce()?ut({bounds:o,name:s}):it({bounds:o,name:s})}}}function xs(e,t){if(e.preventDefault(),e.stopPropagation(),at){const n=As(at);t(n)}}var Le=null;function Ms(){gn(),window.removeEventListener("mouseover",lt),window.removeEventListener("click",Le,!0),Le=null}function Vs(){return window.addEventListener("mouseover",lt),new Promise(e=>{function t(n){n.preventDefault(),n.stopPropagation(),xs(n,r=>{window.removeEventListener("click",t,!0),Le=null,window.removeEventListener("mouseover",lt);const o=ce();o&&(o.style.display="none"),e(JSON.stringify({id:r}))})}Le=t,window.addEventListener("click",t,!0)})}function Ls(e){const t=rt($.value,e.id);if(t){const[n]=ot(t);if(typeof n.scrollIntoView=="function")n.scrollIntoView({behavior:"smooth"});else{const r=re(t),o=document.createElement("div"),s={...st(r),position:"absolute"};Object.assign(o.style,s),document.body.appendChild(o),o.scrollIntoView({behavior:"smooth"}),setTimeout(()=>{document.body.removeChild(o)},2e3)}setTimeout(()=>{const r=re(t);if(r.width||r.height){const o=Me(t),s=ce();s?ut({...e,name:o,bounds:r}):it({...e,name:o,bounds:r}),setTimeout(()=>{s&&(s.style.display="none")},1500)}},1200)}}g();var En,vn;(vn=(En=C).__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__)!=null||(En.__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__=!0);function Bs(e){let t=0;const n=setInterval(()=>{C.__VUE_INSPECTOR__&&(clearInterval(n),t+=30,e()),t>=5e3&&clearInterval(n)},30)}function Fs(){const e=C.__VUE_INSPECTOR__,t=e.openInEditor;e.openInEditor=async(...n)=>{e.disable(),t(...n)}}function Ns(){return new Promise(e=>{function t(){Fs(),e(C.__VUE_INSPECTOR__)}C.__VUE_INSPECTOR__?t():Bs(()=>{t()})})}g(),g();function Us(e){return!!(e&&e.__v_isReadonly)}function yn(e){return Us(e)?yn(e.__v_raw):!!(e&&e.__v_isReactive)}function ct(e){return!!(e&&e.__v_isRef===!0)}function ye(e){const t=e&&e.__v_raw;return t?ye(t):e}var js=class{constructor(){this.refEditor=new zs}set(e,t,n,r){const o=Array.isArray(t)?t:t.split(".");for(;o.length>1;){const a=o.shift();e instanceof Map&&(e=e.get(a)),e instanceof Set?e=Array.from(e.values())[a]:e=e[a],this.refEditor.isRef(e)&&(e=this.refEditor.get(e))}const s=o[0],i=this.refEditor.get(e)[s];r?r(e,s,n):this.refEditor.isRef(i)?this.refEditor.set(i,n):e[s]=n}get(e,t){const n=Array.isArray(t)?t:t.split(".");for(let r=0;r<n.length;r++)if(e instanceof Map?e=e.get(n[r]):e=e[n[r]],this.refEditor.isRef(e)&&(e=this.refEditor.get(e)),!e)return;return e}has(e,t,n=!1){if(typeof e>"u")return!1;const r=Array.isArray(t)?t.slice():t.split("."),o=n?2:1;for(;e&&r.length>o;){const s=r.shift();e=e[s],this.refEditor.isRef(e)&&(e=this.refEditor.get(e))}return e!=null&&Object.prototype.hasOwnProperty.call(e,r[0])}createDefaultSetCallback(e){return(t,n,r)=>{if((e.remove||e.newKey)&&(Array.isArray(t)?t.splice(n,1):ye(t)instanceof Map?t.delete(n):ye(t)instanceof Set?t.delete(Array.from(t.values())[n]):Reflect.deleteProperty(t,n)),!e.remove){const o=t[e.newKey||n];this.refEditor.isRef(o)?this.refEditor.set(o,r):ye(t)instanceof Map?t.set(e.newKey||n,r):ye(t)instanceof Set?t.add(r):t[e.newKey||n]=r}}}},zs=class{set(e,t){if(ct(e))e.value=t;else{if(e instanceof Set&&Array.isArray(t)){e.clear(),t.forEach(o=>e.add(o));return}const n=Object.keys(t);if(e instanceof Map){const o=new Set(e.keys());n.forEach(s=>{e.set(s,Reflect.get(t,s)),o.delete(s)}),o.forEach(s=>e.delete(s));return}const r=new Set(Object.keys(e));n.forEach(o=>{Reflect.set(e,o,Reflect.get(t,o)),r.delete(o)}),r.forEach(o=>Reflect.deleteProperty(e,o))}}get(e){return ct(e)?e.value:e}isRef(e){return ct(e)||yn(e)}};g(),g(),g();var Ks="__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS_STATE__";function $s(){if(!tn||typeof localStorage>"u"||localStorage===null)return{recordingState:!1,mouseEventEnabled:!1,keyboardEventEnabled:!1,componentEventEnabled:!1,performanceEventEnabled:!1,selected:""};const e=localStorage.getItem(Ks);return e?JSON.parse(e):{recordingState:!1,mouseEventEnabled:!1,keyboardEventEnabled:!1,componentEventEnabled:!1,performanceEventEnabled:!1,selected:""}}g(),g(),g();var An,Cn;(Cn=(An=C).__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS)!=null||(An.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS=[]);var Hs=new Proxy(C.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS,{get(e,t,n){return Reflect.get(e,t,n)}});function Ws(e,t){B.timelineLayersState[t.id]=!1,Hs.push({...e,descriptorId:t.id,appRecord:nt(t.app)})}var On,wn;(wn=(On=C).__VUE_DEVTOOLS_KIT_INSPECTOR__)!=null||(On.__VUE_DEVTOOLS_KIT_INSPECTOR__=[]);var ft=new Proxy(C.__VUE_DEVTOOLS_KIT_INSPECTOR__,{get(e,t,n){return Reflect.get(e,t,n)}}),Sn=le(()=>{de.hooks.callHook("sendInspectorToClient",bn())});function Gs(e,t){var n,r;ft.push({options:e,descriptor:t,treeFilterPlaceholder:(n=e.treeFilterPlaceholder)!=null?n:"Search tree...",stateFilterPlaceholder:(r=e.stateFilterPlaceholder)!=null?r:"Search state...",treeFilter:"",selectedNodeId:"",appRecord:nt(t.app)}),Sn()}function bn(){return ft.filter(e=>e.descriptor.app===$.value.app).filter(e=>e.descriptor.id!=="components").map(e=>{var t;const n=e.descriptor,r=e.options;return{id:r.id,label:r.label,logo:n.logo,icon:`custom-ic-baseline-${(t=r==null?void 0:r.icon)==null?void 0:t.replace(/_/g,"-")}`,packageName:n.packageName,homepage:n.homepage,pluginId:n.id}})}function Be(e,t){return ft.find(n=>n.options.id===e&&(t?n.descriptor.app===t:!0))}function qs(){const e=sn();e.hook("addInspector",({inspector:r,plugin:o})=>{Gs(r,o.descriptor)});const t=le(async({inspectorId:r,plugin:o})=>{var s;if(!r||!((s=o==null?void 0:o.descriptor)!=null&&s.app)||B.highPerfModeEnabled)return;const i=Be(r,o.descriptor.app),a={app:o.descriptor.app,inspectorId:r,filter:(i==null?void 0:i.treeFilter)||"",rootNodes:[]};await new Promise(l=>{e.callHookWith(async u=>{await Promise.all(u.map(p=>p(a))),l()},"getInspectorTree")}),e.callHookWith(async l=>{await Promise.all(l.map(u=>u({inspectorId:r,rootNodes:a.rootNodes})))},"sendInspectorTreeToClient")},120);e.hook("sendInspectorTree",t);const n=le(async({inspectorId:r,plugin:o})=>{var s;if(!r||!((s=o==null?void 0:o.descriptor)!=null&&s.app)||B.highPerfModeEnabled)return;const i=Be(r,o.descriptor.app),a={app:o.descriptor.app,inspectorId:r,nodeId:(i==null?void 0:i.selectedNodeId)||"",state:null},l={currentTab:`custom-inspector:${r}`};a.nodeId&&await new Promise(u=>{e.callHookWith(async p=>{await Promise.all(p.map(h=>h(a,l))),u()},"getInspectorState")}),e.callHookWith(async u=>{await Promise.all(u.map(p=>p({inspectorId:r,nodeId:a.nodeId,state:a.state})))},"sendInspectorStateToClient")},120);return e.hook("sendInspectorState",n),e.hook("customInspectorSelectNode",({inspectorId:r,nodeId:o,plugin:s})=>{const i=Be(r,s.descriptor.app);i&&(i.selectedNodeId=o)}),e.hook("timelineLayerAdded",({options:r,plugin:o})=>{Ws(r,o.descriptor)}),e.hook("timelineEventAdded",({options:r,plugin:o})=>{var s;const i=["performance","component-event","keyboard","mouse"];B.highPerfModeEnabled||!((s=B.timelineLayersState)!=null&&s[o.descriptor.id])&&!i.includes(r.layerId)||e.callHookWith(async a=>{await Promise.all(a.map(l=>l(r)))},"sendTimelineEventToClient")}),e.hook("getComponentInstances",async({app:r})=>{const o=r.__VUE_DEVTOOLS_NEXT_APP_RECORD__;if(!o)return null;const s=o.id.toString();return[...o.instanceMap].filter(([a])=>a.split(":")[0]===s).map(([,a])=>a)}),e.hook("getComponentBounds",async({instance:r})=>re(r)),e.hook("getComponentName",({instance:r})=>Me(r)),e.hook("componentHighlight",({uid:r})=>{const o=$.value.instanceMap.get(r);o&&Rs(o)}),e.hook("componentUnhighlight",()=>{gn()}),e}var Tn,Dn;(Dn=(Tn=C).__VUE_DEVTOOLS_KIT_APP_RECORDS__)!=null||(Tn.__VUE_DEVTOOLS_KIT_APP_RECORDS__=[]);var kn,Pn;(Pn=(kn=C).__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__)!=null||(kn.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__={});var In,Rn;(Rn=(In=C).__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__)!=null||(In.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__="");var xn,Mn;(Mn=(xn=C).__VUE_DEVTOOLS_KIT_CUSTOM_TABS__)!=null||(xn.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__=[]);var Vn,Ln;(Ln=(Vn=C).__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__)!=null||(Vn.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__=[]);var oe="__VUE_DEVTOOLS_KIT_GLOBAL_STATE__";function Ys(){return{connected:!1,clientConnected:!1,vitePluginDetected:!0,appRecords:[],activeAppRecordId:"",tabs:[],commands:[],highPerfModeEnabled:!0,devtoolsClientDetected:{},perfUniqueGroupId:0,timelineLayersState:$s()}}var Bn,Fn;(Fn=(Bn=C)[oe])!=null||(Bn[oe]=Ys());var Xs=le(e=>{de.hooks.callHook("devtoolsStateUpdated",{state:e})});le((e,t)=>{de.hooks.callHook("devtoolsConnectedUpdated",{state:e,oldState:t})});var Fe=new Proxy(C.__VUE_DEVTOOLS_KIT_APP_RECORDS__,{get(e,t,n){return t==="value"?C.__VUE_DEVTOOLS_KIT_APP_RECORDS__:C.__VUE_DEVTOOLS_KIT_APP_RECORDS__[t]}}),$=new Proxy(C.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__,{get(e,t,n){return t==="value"?C.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__:t==="id"?C.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__:C.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__[t]}});function Nn(){Xs({...C[oe],appRecords:Fe.value,activeAppRecordId:$.id,tabs:C.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__,commands:C.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__})}function Zs(e){C.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__=e,Nn()}function Js(e){C.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__=e,Nn()}var B=new Proxy(C[oe],{get(e,t){return t==="appRecords"?Fe:t==="activeAppRecordId"?$.id:t==="tabs"?C.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__:t==="commands"?C.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__:C[oe][t]},deleteProperty(e,t){return delete e[t],!0},set(e,t,n){return{...C[oe]},e[t]=n,C[oe][t]=n,!0}});function Qs(e={}){var t,n,r;const{file:o,host:s,baseUrl:i=window.location.origin,line:a=0,column:l=0}=e;if(o){if(s==="chrome-extension"){const u=o.replace(/\\/g,"\\\\"),p=(n=(t=window.VUE_DEVTOOLS_CONFIG)==null?void 0:t.openInEditorHost)!=null?n:"/";fetch(`${p}__open-in-editor?file=${encodeURI(o)}`).then(h=>{if(!h.ok){const f=`Opening component ${u} failed`;console.log(`%c${f}`,"color:red")}})}else if(B.vitePluginDetected){const u=(r=C.__VUE_DEVTOOLS_OPEN_IN_EDITOR_BASE_URL__)!=null?r:i;C.__VUE_INSPECTOR__.openInEditor(u,o,a,l)}}}g(),g(),g(),g(),g();var Un,jn;(jn=(Un=C).__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__)!=null||(Un.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__=[]);var dt=new Proxy(C.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__,{get(e,t,n){return Reflect.get(e,t,n)}});function pt(e){const t={};return Object.keys(e).forEach(n=>{t[n]=e[n].defaultValue}),t}function _t(e){return`__VUE_DEVTOOLS_NEXT_PLUGIN_SETTINGS__${e}__`}function ei(e){var t,n,r;const o=(n=(t=dt.find(s=>{var i;return s[0].id===e&&!!((i=s[0])!=null&&i.settings)}))==null?void 0:t[0])!=null?n:null;return(r=o==null?void 0:o.settings)!=null?r:null}function zn(e,t){var n,r,o;const s=_t(e);if(s){const i=localStorage.getItem(s);if(i)return JSON.parse(i)}if(e){const i=(r=(n=dt.find(a=>a[0].id===e))==null?void 0:n[0])!=null?r:null;return pt((o=i==null?void 0:i.settings)!=null?o:{})}return pt(t)}function ti(e,t){const n=_t(e);localStorage.getItem(n)||localStorage.setItem(n,JSON.stringify(pt(t)))}function ni(e,t,n){const r=_t(e),o=localStorage.getItem(r),s=JSON.parse(o||"{}"),i={...s,[t]:n};localStorage.setItem(r,JSON.stringify(i)),de.hooks.callHookWith(a=>{a.forEach(l=>l({pluginId:e,key:t,oldValue:s[t],newValue:n,settings:i}))},"setPluginSettings")}g(),g(),g(),g(),g(),g(),g(),g(),g(),g(),g();var Kn,$n,W=($n=(Kn=C).__VUE_DEVTOOLS_HOOK)!=null?$n:Kn.__VUE_DEVTOOLS_HOOK=sn(),ri={vueAppInit(e){W.hook("app:init",e)},vueAppUnmount(e){W.hook("app:unmount",e)},vueAppConnected(e){W.hook("app:connected",e)},componentAdded(e){return W.hook("component:added",e)},componentEmit(e){return W.hook("component:emit",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)},perfStart(e){return W.hook("perf:start",e)},perfEnd(e){return W.hook("perf:end",e)}},Hn={on:ri,setupDevToolsPlugin(e,t){return W.callHook("devtools-plugin:setup",e,t)}},oi=class{constructor({plugin:e,ctx:t}){this.hooks=t.hooks,this.plugin=e}get on(){return{visitComponentTree:e=>{this.hooks.hook("visitComponentTree",e)},inspectComponent:e=>{this.hooks.hook("inspectComponent",e)},editComponentState:e=>{this.hooks.hook("editComponentState",e)},getInspectorTree:e=>{this.hooks.hook("getInspectorTree",e)},getInspectorState:e=>{this.hooks.hook("getInspectorState",e)},editInspectorState:e=>{this.hooks.hook("editInspectorState",e)},inspectTimelineEvent:e=>{this.hooks.hook("inspectTimelineEvent",e)},timelineCleared:e=>{this.hooks.hook("timelineCleared",e)},setPluginSettings:e=>{this.hooks.hook("setPluginSettings",e)}}}notifyComponentUpdate(e){var t;if(B.highPerfModeEnabled)return;const n=bn().find(r=>r.packageName===this.plugin.descriptor.packageName);if(n!=null&&n.id){if(e){const r=[e.appContext.app,e.uid,(t=e.parent)==null?void 0:t.uid,e];W.callHook("component:updated",...r)}else W.callHook("component:updated");this.hooks.callHook("sendInspectorState",{inspectorId:n.id,plugin:this.plugin})}}addInspector(e){this.hooks.callHook("addInspector",{inspector:e,plugin:this.plugin}),this.plugin.descriptor.settings&&ti(e.id,this.plugin.descriptor.settings)}sendInspectorTree(e){B.highPerfModeEnabled||this.hooks.callHook("sendInspectorTree",{inspectorId:e,plugin:this.plugin})}sendInspectorState(e){B.highPerfModeEnabled||this.hooks.callHook("sendInspectorState",{inspectorId:e,plugin:this.plugin})}selectInspectorNode(e,t){this.hooks.callHook("customInspectorSelectNode",{inspectorId:e,nodeId:t,plugin:this.plugin})}visitComponentTree(e){return this.hooks.callHook("visitComponentTree",e)}now(){return B.highPerfModeEnabled?0:Date.now()}addTimelineLayer(e){this.hooks.callHook("timelineLayerAdded",{options:e,plugin:this.plugin})}addTimelineEvent(e){B.highPerfModeEnabled||this.hooks.callHook("timelineEventAdded",{options:e,plugin:this.plugin})}getSettings(e){return zn(e??this.plugin.descriptor.id,this.plugin.descriptor.settings)}getComponentInstances(e){return this.hooks.callHook("getComponentInstances",{app:e})}getComponentBounds(e){return this.hooks.callHook("getComponentBounds",{instance:e})}getComponentName(e){return this.hooks.callHook("getComponentName",{instance:e})}highlightElement(e){const t=e.__VUE_DEVTOOLS_NEXT_UID__;return this.hooks.callHook("componentHighlight",{uid:t})}unhighlightElement(){return this.hooks.callHook("componentUnhighlight")}},si=oi;g(),g(),g(),g();var ii="__vue_devtool_undefined__",ui="__vue_devtool_infinity__",ai="__vue_devtool_negative_infinity__",li="__vue_devtool_nan__";g(),g();var ci={[ii]:"undefined",[li]:"NaN",[ui]:"Infinity",[ai]:"-Infinity"};Object.entries(ci).reduce((e,[t,n])=>(e[n]=t,e),{}),g(),g(),g(),g(),g();var Wn,Gn;(Gn=(Wn=C).__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__)!=null||(Wn.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__=new Set);function fi(e,t){return Hn.setupDevToolsPlugin(e,t)}function di(e,t){const[n,r]=e;if(n.app!==t)return;const o=new si({plugin:{setupFn:r,descriptor:n},ctx:de});n.packageName==="vuex"&&o.on.editInspectorState(s=>{o.sendInspectorState(s.inspectorId)}),r(o)}function qn(e,t){C.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.has(e)||B.highPerfModeEnabled&&!(t!=null&&t.inspectingComponent)||(C.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.add(e),dt.forEach(n=>{di(n,e)}))}g(),g();var Ae="__VUE_DEVTOOLS_ROUTER__",fe="__VUE_DEVTOOLS_ROUTER_INFO__",Yn,Xn;(Xn=(Yn=C)[fe])!=null||(Yn[fe]={currentRoute:null,routes:[]});var Zn,Jn;(Jn=(Zn=C)[Ae])!=null||(Zn[Ae]={}),new Proxy(C[fe],{get(e,t){return C[fe][t]}}),new Proxy(C[Ae],{get(e,t){if(t==="value")return C[Ae]}});function pi(e){const t=new Map;return((e==null?void 0:e.getRoutes())||[]).filter(n=>!t.has(n.path)&&t.set(n.path,1))}function ht(e){return e.map(t=>{let{path:n,name:r,children:o,meta:s}=t;return o!=null&&o.length&&(o=ht(o)),{path:n,name:r,children:o,meta:s}})}function _i(e){if(e){const{fullPath:t,hash:n,href:r,path:o,name:s,matched:i,params:a,query:l}=e;return{fullPath:t,hash:n,href:r,path:o,name:s,params:a,query:l,matched:ht(i)}}return e}function hi(e,t){function n(){var r;const o=(r=e.app)==null?void 0:r.config.globalProperties.$router,s=_i(o==null?void 0:o.currentRoute.value),i=ht(pi(o)),a=console.warn;console.warn=()=>{},C[fe]={currentRoute:s?rn(s):{},routes:rn(i)},C[Ae]=o,console.warn=a}n(),Hn.on.componentUpdated(le(()=>{var r;((r=t.value)==null?void 0:r.app)===e.app&&(n(),!B.highPerfModeEnabled&&de.hooks.callHook("routerInfoUpdated",{state:C[fe]}))},200))}function mi(e){return{async getInspectorTree(t){const n={...t,app:$.value.app,rootNodes:[]};return await new Promise(r=>{e.callHookWith(async o=>{await Promise.all(o.map(s=>s(n))),r()},"getInspectorTree")}),n.rootNodes},async getInspectorState(t){const n={...t,app:$.value.app,state:null},r={currentTab:`custom-inspector:${t.inspectorId}`};return await new Promise(o=>{e.callHookWith(async s=>{await Promise.all(s.map(i=>i(n,r))),o()},"getInspectorState")}),n.state},editInspectorState(t){const n=new js,r={...t,app:$.value.app,set:(o,s=t.path,i=t.state.value,a)=>{n.set(o,s,i,a||n.createDefaultSetCallback(t.state))}};e.callHookWith(o=>{o.forEach(s=>s(r))},"editInspectorState")},sendInspectorState(t){const n=Be(t);e.callHook("sendInspectorState",{inspectorId:t,plugin:{descriptor:n.descriptor,setupFn:()=>({})}})},inspectComponentInspector(){return Vs()},cancelInspectComponentInspector(){return Ms()},getComponentRenderCode(t){const n=rt($.value,t);if(n)return(n==null?void 0:n.type)instanceof Function?n.type.toString():n.render.toString()},scrollToComponent(t){return Ls({id:t})},openInEditor:Qs,getVueInspector:Ns,toggleApp(t,n){const r=Fe.value.find(o=>o.id===t);r&&(Js(t),Zs(r),hi(r,$),Sn(),qn(r.app,n))},inspectDOM(t){const n=rt($.value,t);if(n){const[r]=ot(n);r&&(C.__VUE_DEVTOOLS_INSPECT_DOM_TARGET__=r)}},updatePluginSettings(t,n,r){ni(t,n,r)},getPluginSettings(t){return{options:ei(t),values:zn(t)}}}}g();var Qn,er;(er=(Qn=C).__VUE_DEVTOOLS_ENV__)!=null||(Qn.__VUE_DEVTOOLS_ENV__={vitePluginDetected:!1});var tr=qs(),nr,rr;(rr=(nr=C).__VUE_DEVTOOLS_KIT_CONTEXT__)!=null||(nr.__VUE_DEVTOOLS_KIT_CONTEXT__={hooks:tr,get state(){return{...B,activeAppRecordId:$.id,activeAppRecord:$.value,appRecords:Fe.value}},api:mi(tr)});var de=C.__VUE_DEVTOOLS_KIT_CONTEXT__;g(),ms(Es());var or,sr;(sr=(or=C).__VUE_DEVTOOLS_NEXT_APP_RECORD_INFO__)!=null||(or.__VUE_DEVTOOLS_NEXT_APP_RECORD_INFO__={id:0,appIds:new Set}),g();function gi(e){B.highPerfModeEnabled=e??!B.highPerfModeEnabled,!e&&$.value&&qn($.value.app)}g(),g(),g();function Ei(e){B.devtoolsClientDetected={...B.devtoolsClientDetected,...e};const t=Object.values(B.devtoolsClientDetected).some(Boolean);gi(!t)}var ir,ur;(ur=(ir=C).__VUE_DEVTOOLS_UPDATE_CLIENT_DETECTED__)!=null||(ir.__VUE_DEVTOOLS_UPDATE_CLIENT_DETECTED__=Ei),g(),g(),g(),g(),g(),g(),g();var vi=class{constructor(){this.keyToValue=new Map,this.valueToKey=new Map}set(e,t){this.keyToValue.set(e,t),this.valueToKey.set(t,e)}getByKey(e){return this.keyToValue.get(e)}getByValue(e){return this.valueToKey.get(e)}clear(){this.keyToValue.clear(),this.valueToKey.clear()}},ar=class{constructor(e){this.generateIdentifier=e,this.kv=new vi}register(e,t){this.kv.getByValue(e)||(t||(t=this.generateIdentifier(e)),this.kv.set(t,e))}clear(){this.kv.clear()}getIdentifier(e){return this.kv.getByValue(e)}getValue(e){return this.kv.getByKey(e)}},yi=class extends ar{constructor(){super(e=>e.name),this.classToAllowedProps=new Map}register(e,t){typeof t=="object"?(t.allowProps&&this.classToAllowedProps.set(e,t.allowProps),super.register(e,t.identifier)):super.register(e,t)}getAllowedProps(e){return this.classToAllowedProps.get(e)}};g(),g();function Ai(e){if("values"in Object)return Object.values(e);const t=[];for(const n in e)e.hasOwnProperty(n)&&t.push(e[n]);return t}function Ci(e,t){const n=Ai(e);if("find"in n)return n.find(t);const r=n;for(let o=0;o<r.length;o++){const s=r[o];if(t(s))return s}}function pe(e,t){Object.entries(e).forEach(([n,r])=>t(r,n))}function Ne(e,t){return e.indexOf(t)!==-1}function lr(e,t){for(let n=0;n<e.length;n++){const r=e[n];if(t(r))return r}}var Oi=class{constructor(){this.transfomers={}}register(e){this.transfomers[e.name]=e}findApplicable(e){return Ci(this.transfomers,t=>t.isApplicable(e))}findByName(e){return this.transfomers[e]}};g(),g();var wi=e=>Object.prototype.toString.call(e).slice(8,-1),cr=e=>typeof e>"u",Si=e=>e===null,Ce=e=>typeof e!="object"||e===null||e===Object.prototype?!1:Object.getPrototypeOf(e)===null?!0:Object.getPrototypeOf(e)===Object.prototype,mt=e=>Ce(e)&&Object.keys(e).length===0,Q=e=>Array.isArray(e),bi=e=>typeof e=="string",Ti=e=>typeof e=="number"&&!isNaN(e),Di=e=>typeof e=="boolean",ki=e=>e instanceof RegExp,Oe=e=>e instanceof Map,we=e=>e instanceof Set,fr=e=>wi(e)==="Symbol",Pi=e=>e instanceof Date&&!isNaN(e.valueOf()),Ii=e=>e instanceof Error,dr=e=>typeof e=="number"&&isNaN(e),Ri=e=>Di(e)||Si(e)||cr(e)||Ti(e)||bi(e)||fr(e),xi=e=>typeof e=="bigint",Mi=e=>e===1/0||e===-1/0,Vi=e=>ArrayBuffer.isView(e)&&!(e instanceof DataView),Li=e=>e instanceof URL;g();var pr=e=>e.replace(/\./g,"\\."),gt=e=>e.map(String).map(pr).join("."),Se=e=>{const t=[];let n="";for(let o=0;o<e.length;o++){let s=e.charAt(o);if(s==="\\"&&e.charAt(o+1)==="."){n+=".",o++;continue}if(s==="."){t.push(n),n="";continue}n+=s}const r=n;return t.push(r),t};g();function Y(e,t,n,r){return{isApplicable:e,annotation:t,transform:n,untransform:r}}var _r=[Y(cr,"undefined",()=>null,()=>{}),Y(xi,"bigint",e=>e.toString(),e=>typeof BigInt<"u"?BigInt(e):(console.error("Please add a BigInt polyfill."),e)),Y(Pi,"Date",e=>e.toISOString(),e=>new Date(e)),Y(Ii,"Error",(e,t)=>{const n={name:e.name,message:e.message};return t.allowedErrorProps.forEach(r=>{n[r]=e[r]}),n},(e,t)=>{const n=new Error(e.message);return n.name=e.name,n.stack=e.stack,t.allowedErrorProps.forEach(r=>{n[r]=e[r]}),n}),Y(ki,"regexp",e=>""+e,e=>{const t=e.slice(1,e.lastIndexOf("/")),n=e.slice(e.lastIndexOf("/")+1);return new RegExp(t,n)}),Y(we,"set",e=>[...e.values()],e=>new Set(e)),Y(Oe,"map",e=>[...e.entries()],e=>new Map(e)),Y(e=>dr(e)||Mi(e),"number",e=>dr(e)?"NaN":e>0?"Infinity":"-Infinity",Number),Y(e=>e===0&&1/e===-1/0,"number",()=>"-0",Number),Y(Li,"URL",e=>e.toString(),e=>new URL(e))];function Ue(e,t,n,r){return{isApplicable:e,annotation:t,transform:n,untransform:r}}var hr=Ue((e,t)=>fr(e)?!!t.symbolRegistry.getIdentifier(e):!1,(e,t)=>["symbol",t.symbolRegistry.getIdentifier(e)],e=>e.description,(e,t,n)=>{const r=n.symbolRegistry.getValue(t[1]);if(!r)throw new Error("Trying to deserialize unknown symbol");return r}),Bi=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,Uint8ClampedArray].reduce((e,t)=>(e[t.name]=t,e),{}),mr=Ue(Vi,e=>["typed-array",e.constructor.name],e=>[...e],(e,t)=>{const n=Bi[t[1]];if(!n)throw new Error("Trying to deserialize unknown typed array");return new n(e)});function gr(e,t){return e!=null&&e.constructor?!!t.classRegistry.getIdentifier(e.constructor):!1}var Er=Ue(gr,(e,t)=>["class",t.classRegistry.getIdentifier(e.constructor)],(e,t)=>{const n=t.classRegistry.getAllowedProps(e.constructor);if(!n)return{...e};const r={};return n.forEach(o=>{r[o]=e[o]}),r},(e,t,n)=>{const r=n.classRegistry.getValue(t[1]);if(!r)throw new Error(`Trying to deserialize unknown class '${t[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`);return Object.assign(Object.create(r.prototype),e)}),vr=Ue((e,t)=>!!t.customTransformerRegistry.findApplicable(e),(e,t)=>["custom",t.customTransformerRegistry.findApplicable(e).name],(e,t)=>t.customTransformerRegistry.findApplicable(e).serialize(e),(e,t,n)=>{const r=n.customTransformerRegistry.findByName(t[1]);if(!r)throw new Error("Trying to deserialize unknown custom value");return r.deserialize(e)}),Fi=[Er,hr,vr,mr],yr=(e,t)=>{const n=lr(Fi,o=>o.isApplicable(e,t));if(n)return{value:n.transform(e,t),type:n.annotation(e,t)};const r=lr(_r,o=>o.isApplicable(e,t));if(r)return{value:r.transform(e,t),type:r.annotation}},Ar={};_r.forEach(e=>{Ar[e.annotation]=e});var Ni=(e,t,n)=>{if(Q(t))switch(t[0]){case"symbol":return hr.untransform(e,t,n);case"class":return Er.untransform(e,t,n);case"custom":return vr.untransform(e,t,n);case"typed-array":return mr.untransform(e,t,n);default:throw new Error("Unknown transformation: "+t)}else{const r=Ar[t];if(!r)throw new Error("Unknown transformation: "+t);return r.untransform(e,n)}};g();var _e=(e,t)=>{if(t>e.size)throw new Error("index out of bounds");const n=e.keys();for(;t>0;)n.next(),t--;return n.next().value};function Cr(e){if(Ne(e,"__proto__"))throw new Error("__proto__ is not allowed as a property");if(Ne(e,"prototype"))throw new Error("prototype is not allowed as a property");if(Ne(e,"constructor"))throw new Error("constructor is not allowed as a property")}var Ui=(e,t)=>{Cr(t);for(let n=0;n<t.length;n++){const r=t[n];if(we(e))e=_e(e,+r);else if(Oe(e)){const o=+r,s=+t[++n]==0?"key":"value",i=_e(e,o);switch(s){case"key":e=i;break;case"value":e=e.get(i);break}}else e=e[r]}return e},Et=(e,t,n)=>{if(Cr(t),t.length===0)return n(e);let r=e;for(let s=0;s<t.length-1;s++){const i=t[s];if(Q(r)){const a=+i;r=r[a]}else if(Ce(r))r=r[i];else if(we(r)){const a=+i;r=_e(r,a)}else if(Oe(r)){if(s===t.length-2)break;const l=+i,u=+t[++s]==0?"key":"value",p=_e(r,l);switch(u){case"key":r=p;break;case"value":r=r.get(p);break}}}const o=t[t.length-1];if(Q(r)?r[+o]=n(r[+o]):Ce(r)&&(r[o]=n(r[o])),we(r)){const s=_e(r,+o),i=n(s);s!==i&&(r.delete(s),r.add(i))}if(Oe(r)){const s=+t[t.length-2],i=_e(r,s);switch(+o==0?"key":"value"){case"key":{const l=n(i);r.set(l,r.get(i)),l!==i&&r.delete(i);break}case"value":{r.set(i,n(r.get(i)));break}}}return e};function vt(e,t,n=[]){if(!e)return;if(!Q(e)){pe(e,(s,i)=>vt(s,t,[...n,...Se(i)]));return}const[r,o]=e;o&&pe(o,(s,i)=>{vt(s,t,[...n,...Se(i)])}),t(r,n)}function ji(e,t,n){return vt(t,(r,o)=>{e=Et(e,o,s=>Ni(s,r,n))}),e}function zi(e,t){function n(r,o){const s=Ui(e,Se(o));r.map(Se).forEach(i=>{e=Et(e,i,()=>s)})}if(Q(t)){const[r,o]=t;r.forEach(s=>{e=Et(e,Se(s),()=>e)}),o&&pe(o,n)}else pe(t,n);return e}var Ki=(e,t)=>Ce(e)||Q(e)||Oe(e)||we(e)||gr(e,t);function $i(e,t,n){const r=n.get(e);r?r.push(t):n.set(e,[t])}function Hi(e,t){const n={};let r;return e.forEach(o=>{if(o.length<=1)return;t||(o=o.map(a=>a.map(String)).sort((a,l)=>a.length-l.length));const[s,...i]=o;s.length===0?r=i.map(gt):n[gt(s)]=i.map(gt)}),r?mt(n)?[r]:[r,n]:mt(n)?void 0:n}var Or=(e,t,n,r,o=[],s=[],i=new Map)=>{var a;const l=Ri(e);if(!l){$i(e,o,t);const d=i.get(e);if(d)return r?{transformedValue:null}:d}if(!Ki(e,n)){const d=yr(e,n),v=d?{transformedValue:d.value,annotations:[d.type]}:{transformedValue:e};return l||i.set(e,v),v}if(Ne(s,e))return{transformedValue:null};const u=yr(e,n),p=(a=u==null?void 0:u.value)!=null?a:e,h=Q(p)?[]:{},f={};pe(p,(d,v)=>{if(v==="__proto__"||v==="constructor"||v==="prototype")throw new Error(`Detected property ${v}. This is a prototype pollution risk, please remove it from your object.`);const c=Or(d,t,n,r,[...o,v],[...s,e],i);h[v]=c.transformedValue,Q(c.annotations)?f[v]=c.annotations:Ce(c.annotations)&&pe(c.annotations,(_,S)=>{f[pr(v)+"."+S]=_})});const m=mt(f)?{transformedValue:h,annotations:u?[u.type]:void 0}:{transformedValue:h,annotations:u?[u.type,f]:f};return l||i.set(e,m),m};g(),g();function wr(e){return Object.prototype.toString.call(e).slice(8,-1)}function Sr(e){return wr(e)==="Array"}function Wi(e){if(wr(e)!=="Object")return!1;const t=Object.getPrototypeOf(e);return!!t&&t.constructor===Object&&t===Object.prototype}function Gi(e,t,n,r,o){const s={}.propertyIsEnumerable.call(r,t)?"enumerable":"nonenumerable";s==="enumerable"&&(e[t]=n),o&&s==="nonenumerable"&&Object.defineProperty(e,t,{value:n,enumerable:!1,writable:!0,configurable:!0})}function yt(e,t={}){if(Sr(e))return e.map(o=>yt(o,t));if(!Wi(e))return e;const n=Object.getOwnPropertyNames(e),r=Object.getOwnPropertySymbols(e);return[...n,...r].reduce((o,s)=>{if(Sr(t.props)&&!t.props.includes(s))return o;const i=e[s],a=yt(i,t);return Gi(o,s,a,e,t.nonenumerable),o},{})}var V=class{constructor({dedupe:e=!1}={}){this.classRegistry=new yi,this.symbolRegistry=new ar(t=>{var n;return(n=t.description)!=null?n:""}),this.customTransformerRegistry=new Oi,this.allowedErrorProps=[],this.dedupe=e}serialize(e){const t=new Map,n=Or(e,t,this,this.dedupe),r={json:n.transformedValue};n.annotations&&(r.meta={...r.meta,values:n.annotations});const o=Hi(t,this.dedupe);return o&&(r.meta={...r.meta,referentialEqualities:o}),r}deserialize(e){const{json:t,meta:n}=e;let r=yt(t);return n!=null&&n.values&&(r=ji(r,n.values,this)),n!=null&&n.referentialEqualities&&(r=zi(r,n.referentialEqualities)),r}stringify(e){return JSON.stringify(this.serialize(e))}parse(e){return this.deserialize(JSON.parse(e))}registerClass(e,t){this.classRegistry.register(e,t)}registerSymbol(e,t){this.symbolRegistry.register(e,t)}registerCustom(e,t){this.customTransformerRegistry.register({name:t,...e})}allowErrorProps(...e){this.allowedErrorProps.push(...e)}};V.defaultInstance=new V,V.serialize=V.defaultInstance.serialize.bind(V.defaultInstance),V.deserialize=V.defaultInstance.deserialize.bind(V.defaultInstance),V.stringify=V.defaultInstance.stringify.bind(V.defaultInstance),V.parse=V.defaultInstance.parse.bind(V.defaultInstance),V.registerClass=V.defaultInstance.registerClass.bind(V.defaultInstance),V.registerSymbol=V.defaultInstance.registerSymbol.bind(V.defaultInstance),V.registerCustom=V.defaultInstance.registerCustom.bind(V.defaultInstance),V.allowErrorProps=V.defaultInstance.allowErrorProps.bind(V.defaultInstance),g(),g(),g(),g(),g(),g(),g(),g(),g(),g(),g(),g(),g(),g(),g(),g(),g(),g(),g(),g(),g(),g(),g();var br,Tr;(Tr=(br=C).__VUE_DEVTOOLS_KIT_MESSAGE_CHANNELS__)!=null||(br.__VUE_DEVTOOLS_KIT_MESSAGE_CHANNELS__=[]);var Dr,kr;(kr=(Dr=C).__VUE_DEVTOOLS_KIT_RPC_CLIENT__)!=null||(Dr.__VUE_DEVTOOLS_KIT_RPC_CLIENT__=null);var Pr,Ir;(Ir=(Pr=C).__VUE_DEVTOOLS_KIT_RPC_SERVER__)!=null||(Pr.__VUE_DEVTOOLS_KIT_RPC_SERVER__=null);var Rr,xr;(xr=(Rr=C).__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__)!=null||(Rr.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__=null);var Mr,Vr;(Vr=(Mr=C).__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__)!=null||(Mr.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__=null);var Lr,Br;(Br=(Lr=C).__VUE_DEVTOOLS_KIT_BROADCAST_RPC_SERVER__)!=null||(Lr.__VUE_DEVTOOLS_KIT_BROADCAST_RPC_SERVER__=null),g(),g(),g(),g(),g(),g(),g();function qi(e,t){const n=`▲ ■ ●${e}`;typeof Fr=="function"?Fr(n,t):console.log(n)}function Fr(e,t){throw new Error(e+t)}const Nr=e=>{const t={id:e.uuid,label:e.type,children:[],tags:[]};e.name!==""&&t.tags.push({label:e.name,textColor:5750629,backgroundColor:15793395});const n=Ye(e);return n>0&&t.tags.push({label:`${ko(n)} KB`,textColor:15707189,backgroundColor:16775644,tooltip:"Memory usage"}),e.type.includes("Light")&&(no(e)&&t.tags.push({label:`${e.intensity}`,textColor:9738662,backgroundColor:16316922,tooltip:"Intensity"}),t.tags.push({label:`#${new w.Color(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 Ur(e,t,n=""){e.children.forEach(r=>{if(r.type==="HightlightMesh"||n&&!r.type.includes(n)&&!r.name.includes(n))return;const o=Nr(r);t.children.push(o),Ur(r,o,n)})}const Yi=[],be="tres:inspector",Xi=E.reactive({sceneGraph:null});function Zi(e,t){fi({id:"dev.esm.tres",label:"TresJS 🪐",logo:"https://raw.githubusercontent.com/Tresjs/tres/main/public/favicon.svg",packageName:"tresjs",homepage:"https://tresjs.org",componentStateTypes:Yi,app:e},n=>{typeof n.now!="function"&&qi("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."),n.addInspector({id:be,label:"TresJS 🪐",icon:"account_tree",treeFilterPlaceholder:"Search instances"}),setInterval(()=>{n.sendInspectorTree(be)},1e3),setInterval(()=>{n.notifyComponentUpdate()},5e3),n.on.getInspectorTree(s=>{if(s.inspectorId===be){const i=Nr(t.scene.value);Ur(t.scene.value,i,s.filter),Xi.sceneGraph=i,s.rootNodes=[i]}});let r=null,o=null;n.on.getInspectorState(s=>{var i;if(s.inspectorId===be){const[a]=t.scene.value.getObjectsByProperty("uuid",s.nodeId);if(!a)return;if(o&&r&&r.parent&&o.remove(r),a.isMesh){const l=ho(a);a.add(l),r=l,o=a}s.state={object:Object.entries(a).map(([l,u])=>l==="children"?{key:l,value:u.filter(p=>p.type!=="HightlightMesh")}:{key:l,value:u,editable:!0}).filter(({key:l})=>l!=="parent")},a.isScene&&(s.state={...s.state,state:[{key:"Scene Info",value:{objects:a.children.length,memory:Ye(a),calls:t.renderer.value.info.render.calls,triangles:t.renderer.value.info.render.triangles,points:t.renderer.value.info.render.points,lines:t.renderer.value.info.render.lines}},{key:"Programs",value:((i=t.renderer.value.info.programs)==null?void 0:i.map(l=>({...l,programName:l.name})))||[]}]})}}),n.on.editInspectorState(s=>{s.inspectorId===be&&_o(t.scene.value,s.nodeId,s.path,s.state.value)})})}const Ji=["data-scene","data-tres"],jr=E.defineComponent({__name:"TresCanvas",props:{shadows:{type:Boolean,default:void 0},clearColor:{},toneMapping:{},shadowMapType:{},useLegacyLights:{type:Boolean,default:void 0},outputColorSpace:{},toneMappingExposure:{},renderMode:{default:"always"},dpr:{},camera:{},preset:{},windowSize:{type:Boolean,default:void 0},enableProvideBridge:{type:Boolean,default:!0},context:{},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},failIfMajorPerformanceCaveat:{type:Boolean,default:void 0},precision:{},logarithmicDepthBuffer:{type:Boolean,default:void 0},reverseDepthBuffer:{type:Boolean}},emits:["render","click","double-click","context-menu","pointer-move","pointer-up","pointer-down","pointer-enter","pointer-leave","pointer-over","pointer-out","pointer-missed","wheel","ready"],setup(e,{expose:t,emit:n}){const r=e,o=n,s=E.useSlots(),i=E.ref(),a=E.shallowRef(new w.Scene),l=E.getCurrentInstance();Pe(Ct);const u=(d,v=!1)=>E.defineComponent({setup(){var O;const c=(O=E.getCurrentInstance())==null?void 0:O.appContext;c&&(c.app=l==null?void 0:l.appContext.app);const _={};function S(b){b&&(b.parent&&S(b.parent),b.provides&&Object.assign(_,b.provides))}return l!=null&&l.parent&&r.enableProvideBridge&&(S(l.parent),Reflect.ownKeys(_).forEach(b=>{E.provide(b,_[b])})),E.provide("useTres",d),E.provide("extend",Pe),typeof window<"u"&&Zi(c==null?void 0:c.app,d),()=>E.h(E.Fragment,null,v?[]:s.default())}}),p=(d,v=!1)=>{const c=u(d,v),{render:_}=E.createRenderer(zo(d));_(E.h(c),a.value)},h=(d,v=!1)=>{We(d.scene.value),v&&(d.renderer.value.dispose(),d.renderer.value.renderLists.dispose(),d.renderer.value.forceContextLoss()),a.value.__tres={root:d}},f=E.shallowRef(null);t({context:f,dispose:()=>h(f.value,!0)});const m=()=>{h(f.value),p(f.value,!0)};return E.onMounted(()=>{const d=i;f.value=Gt({scene:a.value,canvas:d,windowSize:r.windowSize??!1,rendererOptions:r,emit:o});const{registerCamera:v,camera:c,cameras:_,deregisterCamera:S}=f.value;p(f.value);const O=()=>{const b=new w.PerspectiveCamera(45,window.innerWidth/window.innerHeight,.1,1e3);b.position.set(3,3,3),b.lookAt(0,0,0),v(b);const x=E.watchEffect(()=>{_.value.length>=2&&(b.removeFromParent(),S(b),x==null||x())})};E.watch(()=>r.camera,(b,x)=>{b&&v(b),x&&(x.removeFromParent(),S(x))},{immediate:!0}),c.value||O()}),E.onUnmounted(m),(d,v)=>(E.openBlock(),E.createElementBlock("canvas",{ref_key:"canvas",ref:i,"data-scene":a.value.uuid,class:E.normalizeClass(d.$attrs.class),"data-tres":`tresjs ${E.unref(Gr).version}`,style:E.normalizeStyle({display:"block",width:"100%",height:"100%",position:d.windowSize?"fixed":"relative",top:0,left:0,pointerEvents:"auto",touchAction:"none",...d.$attrs.style})},null,14,Ji))}}),Qi=["TresCanvas","TresLeches","TresScene"],eu={template:{compilerOptions:{isCustomElement:e=>e.startsWith("Tres")&&!Qi.includes(e)||e==="primitive"}}},{logWarning:tu}=ne();let X=null;const nu={updated:(e,t)=>{var o;const n=mo(t);if(!n){tu(`v-distance-to: problem with binding value: ${t.value}`);return}X&&(X.dispose(),e.parent.remove(X));const r=n.clone().sub(e.position);r.normalize(),X=new w.ArrowHelper(r,e.position,e.position.distanceTo(n),16776960),e.parent.add(X),console.table([["Distance:",e.position.distanceTo(n)],[`origin: ${e.name||e.type}`,`x:${e.position.x}, y:${e.position.y}, z:${(o=e.position)==null?void 0:o.z}`],[`Destiny: ${e.name||e.type}`,`x:${n.x}, y:${n.y}, z:${n==null?void 0:n.z}`]])},unmounted:e=>{X==null||X.dispose(),e.parent&&e.parent.remove(X)}};class zr extends w.Line{constructor(t,n){const r=[1,1,0,-1,1,0,-1,-1,0,1,-1,0,1,1,0],o=new w.BufferGeometry;o.setAttribute("position",new w.Float32BufferAttribute(r,3)),o.computeBoundingSphere();const s=new w.LineBasicMaterial({fog:!1});super(o,s),this.light=t,this.color=n,this.type="RectAreaLightHelper";const i=[1,1,0,-1,1,0,-1,-1,0,1,1,0,-1,-1,0,1,-1,0],a=new w.BufferGeometry;a.setAttribute("position",new w.Float32BufferAttribute(i,3)),a.computeBoundingSphere(),this.add(new w.Mesh(a,new w.MeshBasicMaterial({side:w.BackSide,fog:!1})))}updateMatrixWorld(){if(this.scale.set(.5*this.light.width,.5*this.light.height,1),this.color!==void 0)this.material.color.set(this.color),this.children[0].material.color.set(this.color);else{this.material.color.copy(this.light.color).multiplyScalar(this.light.intensity);const t=this.material.color,n=Math.max(t.r,t.g,t.b);n>1&&t.multiplyScalar(1/n),this.children[0].material.color.copy(this.material.color)}this.matrixWorld.extractRotation(this.light.matrixWorld).scale(this.scale).copyPosition(this.light.matrixWorld),this.children[0].matrixWorld.copy(this.matrixWorld)}dispose(){this.geometry.dispose(),this.material.dispose(),this.children[0].geometry.dispose(),this.children[0].material.dispose()}}const{logWarning:Kr}=ne();let je,ee;const ru={DirectionalLight:w.DirectionalLightHelper,PointLight:w.PointLightHelper,SpotLight:w.SpotLightHelper,HemisphereLight:w.HemisphereLightHelper,RectAreaLight:zr},ou={mounted:e=>{if(!e.isLight){Kr(`${e.type} is not a light`);return}je=ru[e.type],e.parent.add(new je(e,1,e.color.getHex()))},updated:e=>{ee=e.parent.children.find(t=>t instanceof je),!(ee instanceof zr)&&ee.update()},unmounted:e=>{if(!e.isLight){Kr(`${e.type} is not a light`);return}ee=e.parent.children.find(t=>t instanceof je),ee&&ee.dispose&&ee.dispose(),e.parent&&e.parent.remove(ee)}},su={mounted:(e,t)=>{if(t.arg){console.log(`v-log:${t.arg}`,e[t.arg]);return}console.log("v-log",e)}},iu={install(e){e.component("TresCanvas",jr)}};D.TresCanvas=jr,D.UseLoader=qr,D.UseTexture=Oo,D.catalogue=ke,D.createRenderLoop=jt,D.default=iu,D.dispose=We,D.extend=Pe,D.isProd=So,D.normalizeColor=zt,D.normalizeVectorFlexibleParam=Io,D.onTresReady=Mo,D.templateCompilerOptions=eu,D.traverseObjects=Ot,D.useCamera=Ut,D.useLoader=wt,D.useLogger=ne,D.useLoop=Lo,D.useRaycaster=$t,D.useRenderLoop=No,D.useRenderer=Kt,D.useSeek=Uo,D.useTexture=Nt,D.useTres=Vo,D.useTresContext=ge,D.useTresContextProvider=Gt,D.useTresEventManager=Ht,D.vDistanceTo=nu,D.vLightHelper=ou,D.vLog=su,Object.defineProperties(D,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tresjs/core",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "4.3.
|
|
5
|
-
"packageManager": "pnpm@
|
|
4
|
+
"version": "4.3.4",
|
|
5
|
+
"packageManager": "pnpm@10.6.3",
|
|
6
6
|
"description": "Declarative ThreeJS using Vue Components",
|
|
7
7
|
"author": "Alvaro Saburido <hola@alvarosaburido.dev> (https://github.com/alvarosabu/)",
|
|
8
8
|
"license": "MIT",
|
|
@@ -72,46 +72,46 @@
|
|
|
72
72
|
"dependencies": {
|
|
73
73
|
"@alvarosabu/utils": "^3.2.0",
|
|
74
74
|
"@vue/devtools-api": "^6.6.3",
|
|
75
|
-
"@vueuse/core": "^12.
|
|
75
|
+
"@vueuse/core": "^12.5.0"
|
|
76
76
|
},
|
|
77
77
|
"devDependencies": {
|
|
78
|
-
"@release-it/conventional-changelog": "^
|
|
78
|
+
"@release-it/conventional-changelog": "^10.0.0",
|
|
79
79
|
"@stackblitz/sdk": "^1.11.0",
|
|
80
|
-
"@tresjs/cientos": "4.0
|
|
80
|
+
"@tresjs/cientos": "4.1.0",
|
|
81
81
|
"@tresjs/eslint-config": "^1.4.0",
|
|
82
|
-
"@types/three": "^0.
|
|
83
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
84
|
-
"@typescript-eslint/parser": "^8.
|
|
82
|
+
"@types/three": "^0.173.0",
|
|
83
|
+
"@typescript-eslint/eslint-plugin": "^8.23.0",
|
|
84
|
+
"@typescript-eslint/parser": "^8.23.0",
|
|
85
85
|
"@vitejs/plugin-vue": "^5.2.1",
|
|
86
86
|
"@vitest/coverage-c8": "^0.33.0",
|
|
87
|
-
"@vitest/coverage-v8": "^
|
|
88
|
-
"@vitest/ui": "^
|
|
87
|
+
"@vitest/coverage-v8": "^3.0.5",
|
|
88
|
+
"@vitest/ui": "^3.0.5",
|
|
89
89
|
"@vue/test-utils": "^2.4.6",
|
|
90
|
-
"eslint": "^9.
|
|
90
|
+
"eslint": "^9.19.0",
|
|
91
91
|
"eslint-plugin-vue": "^9.32.0",
|
|
92
92
|
"esno": "^4.8.0",
|
|
93
|
-
"gsap": "^3.12.
|
|
94
|
-
"jsdom": "^
|
|
93
|
+
"gsap": "^3.12.7",
|
|
94
|
+
"jsdom": "^26.0.0",
|
|
95
95
|
"kolorist": "^1.8.0",
|
|
96
96
|
"ohmyfetch": "^0.4.21",
|
|
97
|
-
"pathe": "^
|
|
98
|
-
"release-it": "^
|
|
97
|
+
"pathe": "^2.0.2",
|
|
98
|
+
"release-it": "^18.1.2",
|
|
99
99
|
"rollup-plugin-analyzer": "^4.0.0",
|
|
100
100
|
"rollup-plugin-copy": "^3.5.0",
|
|
101
|
-
"rollup-plugin-visualizer": "^5.
|
|
102
|
-
"sponsorkit": "^
|
|
103
|
-
"three": "^0.
|
|
104
|
-
"unocss": "^
|
|
105
|
-
"unplugin": "^2.1.
|
|
106
|
-
"unplugin-vue-components": "^
|
|
107
|
-
"vite": "^6.0
|
|
101
|
+
"rollup-plugin-visualizer": "^5.14.0",
|
|
102
|
+
"sponsorkit": "^16.3.0",
|
|
103
|
+
"three": "^0.173.0",
|
|
104
|
+
"unocss": "^65.4.3",
|
|
105
|
+
"unplugin": "^2.1.2",
|
|
106
|
+
"unplugin-vue-components": "^28.0.0",
|
|
107
|
+
"vite": "^6.1.0",
|
|
108
108
|
"vite-plugin-banner": "^0.8.0",
|
|
109
|
-
"vite-plugin-dts": "4.
|
|
110
|
-
"vite-plugin-inspect": "^
|
|
109
|
+
"vite-plugin-dts": "4.5.0",
|
|
110
|
+
"vite-plugin-inspect": "^10.1.0",
|
|
111
111
|
"vite-plugin-require-transform": "^1.0.21",
|
|
112
112
|
"vite-svg-loader": "^5.1.0",
|
|
113
|
-
"vitepress": "1.
|
|
114
|
-
"vitest": "
|
|
113
|
+
"vitepress": "1.6.3",
|
|
114
|
+
"vitest": "3.0.5",
|
|
115
115
|
"vue": "3.5.13",
|
|
116
116
|
"vue-demi": "^0.14.10"
|
|
117
117
|
}
|