` even if they're in separate files.\r\n\r\n## Expected behavior\r\n\r\nAllow multiple, separate instances of Leches. Don't share state across multiple, separate files.\r\n\r\n## Reproduction\r\n[StackBlitz](https://stackblitz.com/edit/tresjs-basic-jmjdqy?file=src%2Fcomponents%2FTheExperience.vue)\r\n\r\n## Solution?\r\n\r\nMaybe create and return a unique controls instance from `useControls` that closes over the current controls state.\r\n\r\n```\r\nconst controls = useControls({\r\n wireframe: false,\r\n})\r\n\r\ncontrols.useControls( /* ... add more controls to this instance */ )\r\n```\r\n\r\nThen use like\r\n\r\n```\r\n\u003CTresLeches :controls=\"controls\" />\r\n```\r\n\r\n## Screenshot\r\n\r\n\u003Cimg width=\"567\" alt=\"Screenshot 2024-02-23 at 19 56 28\" src=\"https://github.com/Tresjs/leches/assets/20469369/44cef606-cd01-49b4-a8d9-9dfdd3d0566c\">\r\n\r\n\r\n## Context\r\n\r\nWe use Leches for Cientos' docs and often have multiple separate examples of functionality in a given docs page. But we can't have multiple Leches menus on a given page without running into this bug.\r\n",[],98,"Tresjs","leches","open","Leches shares `useControls`; can't have multiple, distinct instances","2024-02-23T19:02:27Z","https://github.com/Tresjs/leches/issues/98",0.46474734,{"description":2876,"labels":2877,"number":2878,"owner":2868,"repository":2879,"state":2870,"title":2880,"updated_at":2881,"url":2882,"score":2883},"### Describe the bug\n\nRan into this issue when trying to integrate TresJS in my Astro project. To verify that it wasn't me doing something stupid, I switched to Alvaro's [tres-astro repository](https://github.com/alvarosabu/tres-astro) from the \"How to add 3D to Astro using TresJS\" video. I'm running into the same warning there. I also upgraded to the latest astro in the tres-astro repository, but still seeing the same error. As far as I can tell, the 3D model does show up. \r\n\r\nRemoving the TheExperience component and just trying to use TresCanvas also triggers the same warning. \r\n\r\n```\r\n(index):224 [Vue warn]: onUnmounted is called when there is no active component instance to be associated with. \r\nLifecycle injection APIs can only be used during execution of setup(). \r\nIf you are using async setup(), make sure to register lifecycle hooks before the first await statement.\r\n```\r\n\r\nCall Stack as shown in Edge \r\n| Method | | File|\r\n| --- | --- | --- |\r\n| warn$1 | @ | runtime-core.esm-bundler.js:51|\r\n| injectHook | @ | runtime-core.esm-bundler.js:2808|\r\n| (anonymous) | @ | runtime-core.esm-bundler.js:2815|\r\n| yr | @ | tres.js:831|\r\n| _r | @ | tres.js:889|\r\n| (anonymous) | @ | tres.js:1058|\r\n| (anonymous) | @ | index.mjs:71|\r\n| trigger | @ | index.mjs:71|\r\n| c | @ | tres.js:944|\r\n| setTimeout | | |\r\n| c | @ | tres.js:944|\r\n| wr | @ | tres.js:949|\r\n| yt | @ | tres.js:972|\r\n| br | @ | tres.js:1056|\r\n| (anonymous) | @ | tres.js:1638|\r\n| (anonymous) | @ | runtime-core.esm-bundler.js:2815|\r\n| callWithErrorHandling | @ | runtime-core.esm-bundler.js:199|\r\n| callWithAsyncErrorHandling | @ | runtime-core.esm-bundler.js:206|\r\n| hook.__weh.hook.__weh | @ | runtime-core.esm-bundler.js:2795|\r\n| flushPostFlushCbs | @ | runtime-core.esm-bundler.js:385|\r\n| hydrate2 | @ | runtime-core.esm-bundler.js:1675|\r\n| mount | @ | runtime-core.esm-bundler.js:3939|\r\n| app.mount | @ | runtime-dom.esm-bundler.js:1786|\r\n| (anonymous) | @ | client.js:45|\r\n| await in (anonymous) | | |\r\n| (anonymous) | @ | (index):224|\r\n| e | @ | (index):224|\r\n| await in e | | |\r\n| start | @ | (index):224|\r\n| childrenConnectedCallback | @ | (index):224|\r\n| await in childrenConnectedCallback | | |\r\n| e | @ | (index):224|\r\n| (anonymous) | @ | (index):224|\n\n### Reproduction\n\nhttps://github.com/alvarosabu/tres-astro\n\n### Steps to reproduce\n\nClone the repository \r\nrm the package-lock.json file \r\nnpm install\r\nnpm run dev\n\n### System Info\n\n```shell\nnpx envinfo --system --npmPackages '{vite,@tresjs/*,three,vue,@astrojs/*}' --binaries\r\n --browsers --npmGlobalPackages '{astro}'\r\n\r\n System:\r\n OS: Windows 11 10.0.22631\r\n CPU: (28) x64 Intel(R) Core(TM) i7-14700K\r\n Memory: 40.84 GB / 63.77 GB\r\n Binaries:\r\n Node: 20.11.1 - C:\\Program Files\\nodejs\\node.EXE\r\n Yarn: 1.22.19 - C:\\Program Files (x86)\\Yarn\\bin\\yarn.CMD\r\n npm: 10.4.0 - C:\\Program Files\\nodejs\\npm.CMD\r\n Browsers:\r\n Edge: Chromium (127.0.2651.74)\r\n Internet Explorer: 11.0.22621.3527\r\n npmPackages:\r\n @astrojs/mdx: ^3.1.4 => 3.1.9\r\n @astrojs/rss: ^4.0.7 => 4.0.10\r\n @astrojs/sitemap: ^3.1.6 => 3.2.1\r\n @astrojs/vue: ^4.5.0 => 4.5.3\r\n @tresjs/cientos: ^4.0.0 => 4.0.3\r\n @tresjs/core: ^4.2.7 => 4.3.1\r\n three: ^0.167.1 => 0.167.1\r\n vue: ^3.4.38 => 3.5.13\n```\n\n\n### Used Package Manager\n\nnpm\n\n### Code of Conduct\n\n- [X] I agree to follow this project's [Code of Conduct](https://github.com/Tresjs/tres/blob/main/CODE_OF_CONDUCT.md)\n- [X] Read the [Contributing Guidelines](https://github.com/Tresjs/tres/blob/main/CONTRIBUTING.md).\n- [X] Read the [docs](https://tresjs.org/guide).\n- [X] Check that there isn't [already an issue](https://github.com/tresjs/tres/issues) that reports the same bug to avoid creating a duplicate.\n- [X] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.",[],886,"tres","Using TresJS with Astro : [Vue warn]: onUnmounted is called when there is no active component instance to be associated with...","2024-12-20T10:08:26Z","https://github.com/Tresjs/tres/issues/886",0.6953958,{"description":2885,"labels":2886,"number":2893,"owner":2868,"repository":2894,"state":2870,"title":2895,"updated_at":2896,"url":2897,"score":2898},"### Description\n\nI'm looking to migrate an Aframe project to tresJS to benefit from vue bindings however I'm struggling to setup the camera to work with a VR headset.\r\n\r\nI've attempted loading the ArrayCamera and StereoGame classes built-in to threeJS and using the extend method in TresJS to be able to load them as components such as \u003CTresArrayCamera /> and \u003CTresStereoCamera /> but nothing works. I either get a blank black screen or a bluescreen with a line through it (when using the default example from the TresJS starter repo)\r\n\r\nThis is after being able to use \u003CTresPerspectiveCamera /> without any issues and just swapping out the camera used. Would appreciate any ideas or info how to implement this thanks.\n\n### Suggested solution\n\nImplement Array or StereoCamera as Tres JS native component preconfigured to work with VR.\n\n### Alternative\n\n_No response_\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [X] I agree to follow this project's [Code of Conduct](https://github.com/Tresjs/tres/blob/main/CODE_OF_CONDUCT.md)\n- [X] Read the [Contributing Guidelines](https://github.com/Tresjs/tres/blob/main/CONTRIBUTING.md).\n- [X] Read the [docs](https://tresjs.org/guide).\n- [X] Check that there isn't [already an issue](https://github.com/tresjs/tres/issues) that reports the same bug to avoid creating a duplicate.",[2887,2890],{"name":2888,"color":2889},"investigation","D03599",{"name":2891,"color":2892},"waiting for author","B145BC",102,"XR","VR Style Camera (Aframe implementation or ArrayCamera/StereoCamera from three","2024-08-21T10:45:26Z","https://github.com/Tresjs/XR/issues/102",0.7105819,{"description":2900,"labels":2901,"number":2908,"owner":2868,"repository":2909,"state":2870,"title":2910,"updated_at":2911,"url":2912,"score":2913},"### Describe the bug\n\nWhile working on the `Joint` I wanted to reproduce the same custom collider exportation, and when I wanted to watch the `Joint` props, I wasn't able to do so...\r\n\r\nI figured that the Vue component `setup function` needs a `Proxy` as the first parameter to **reflect** changes and here:\r\nhttps://github.com/Tresjs/rapier/blob/main/src/components/colliders/index.ts#L29-L42\r\n```ts\r\nprops: {\r\n ...BaseCollider.props,\r\n shape: undefined,\r\n },\r\n setup(props, ctx) {\r\n return {\r\n ...BaseCollider?.setup?.(\r\n { ...props, shape } as Parameters\u003C\r\n Exclude\u003C(typeof BaseCollider)['setup'], undefined>\r\n >['0'],\r\n ctx,\r\n ),\r\n }\r\n },\r\n```\r\n\r\nWe are destructing it which is equivalent to passing a native `Object`\n\n### Reproduction\n\n---\n\n### Steps to reproduce\n\n---\n\n### System Info\n\n```shell\n---\n```\n\n\n### Used Package Manager\n\nnpm\n\n### Code of Conduct\n\n- [X] I agree to follow this project's [Code of Conduct](https://github.com/Tresjs/rapier/blob/main/CODE_OF_CONDUCT.md)\n- [X] Read the [Contributing Guidelines](https://github.com/Tresjs/rapier/blob/main/CONTRIBUTING.md).\n- [X] Read the [docs](https://rapier.tresjs.org/guide).\n- [X] Check that there isn't [already an issue](https://github.com/Tresjs/rapier/issues) that reports the same bug to avoid creating a duplicate.\n- [X] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.",[2902,2905],{"name":2903,"color":2904},"bug","d73a4a",{"name":2906,"color":2907},"collider","306B60",149,"rapier","Bug: custom collider props are not reactive anymore.","2024-11-19T23:52:46Z","https://github.com/Tresjs/rapier/issues/149",0.71078694,{"description":2915,"labels":2916,"number":2920,"owner":2868,"repository":2921,"state":2870,"title":2922,"updated_at":2923,"url":2924,"score":2925},"### Description\n\nAs a developer I would like to have a easy way to use the [Flow](https://threejs.org/examples/?q=curve#webgl_modifier_curve) instance in ThreeJs\n\n### Suggested solution\n\nCould be base on drei implementation https://github.com/pmndrs/drei?tab=readme-ov-file#curvemodifier\r\n\r\nBut I would like to add an SVG path option\n\n### Alternative\n\nAny other alternative is considered\n\n### Additional context\n\nWhich name do you prefer for this component\n\n### Validations\n\n- [X] I agree to follow this project's [Code of Conduct](https://github.com/Tresjs/cientos/blob/main/CODE_OF_CONDUCT.md)\n- [X] Read the [Contributing Guidelines](https://github.com/Tresjs/cientos/blob/main/CONTRIBUTING.md).\n- [X] Read the [docs](https://cientos.tresjs.org/guide).\n- [X] Check that there isn't [already an issue](https://github.com/tresjs/cientos/issues) that reports the same bug to avoid creating a duplicate.",[2917],{"name":2918,"color":2919},"p2-nice-to-have","D4C5F9",417,"cientos","FollowPath/Flow or CurveModifier","2024-05-16T12:36:06Z","https://github.com/Tresjs/cientos/issues/417",0.7193897,{"description":2927,"labels":2928,"number":2867,"owner":2868,"repository":2921,"state":2932,"title":2933,"updated_at":2934,"url":2935,"score":2874},"### Describe the bug\n\nWhen the mouse wheel is used, this error occurs all the time, causing the scene to fail to zoom\n\n### Reproduction\n\nhttps://stackblitz.com/edit/vitejs-vite-9seq6j?file=tsconfig.json,package.json,vite.config.ts,src%2Fcomponents%2FTheExperience.vue\n\n### Steps to reproduce\n\n_No response_\n\n### System Info\n\n_No response_\n\n### Used Package Manager\n\nnpm\n\n### Code of Conduct\n\n- [X] I agree to follow this project's [Code of Conduct](https://github.com/Tresjs/tres/blob/main/CODE_OF_CONDUCT.md)\n- [X] Read the [Contributing Guidelines](https://github.com/Tresjs/tres/blob/main/CONTRIBUTING.md).\n- [X] Read the [docs](https://tresjs.org/guide).\n- [X] Check that there isn't [already an issue](https://github.com/tresjs/tres/issues) that reports the same bug to avoid creating a duplicate.\n- [X] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.",[2929,2930],{"name":2903,"color":2904},{"name":2888,"color":2931},"D0359D","closed","WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.","2023-06-15T15:48:37Z","https://github.com/Tresjs/cientos/issues/98",{"description":2937,"labels":2938,"number":2943,"owner":2868,"repository":2879,"state":2932,"title":2944,"updated_at":2945,"url":2946,"score":2947},"### Describe the bug\n\nIt seems like Tres.js is no longer working in Firefox. Even on your official documentation all examles render just a black canvas.\r\nI would really like to use Tres.js in projects of my company, but I am unable to do this if Firefox is not supported or working :(\n\n### Reproduction\n\nhttps://tresjs.org/guide/\n\n### Steps to reproduce\n\nThe first and all other examples of this page.\n\n### System Info\n\n```shell\nWindows 10\r\nFirerfiox version 114.0.1 (64-Bit)\n```\n\n\n### Used Package Manager\n\nnpm\n\n### Code of Conduct\n\n- [X] I agree to follow this project's [Code of Conduct](https://github.com/Tresjs/tres/blob/main/CODE_OF_CONDUCT.md)\n- [X] Read the [Contributing Guidelines](https://github.com/Tresjs/tres/blob/main/CONTRIBUTING.md).\n- [X] Read the [docs](https://tresjs.org/guide).\n- [X] Check that there isn't [already an issue](https://github.com/tresjs/tres/issues) that reports the same bug to avoid creating a duplicate.\n- [X] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.",[2939,2942],{"name":2940,"color":2941},"question","d876e3",{"name":2891,"color":2892},310,"Black Canvas in Firefox","2023-06-20T07:13:04Z","https://github.com/Tresjs/tres/issues/310",0.6481621,{"description":2949,"labels":2950,"number":2951,"owner":2868,"repository":2879,"state":2932,"title":2952,"updated_at":2953,"url":2954,"score":2955},"**Is your feature request related to a problem? Please describe.**\r\nIn the current implementation, the check for intersecting objects happens on every single render cycle (see [here](https://github.com/Tresjs/tres/blob/b0a237edff2aaf2f25a344e0578ffde6dbb036b5/packages/tres/src/core/useInstanceCreator/index.ts#L287)).\r\n\r\n**Describe the solution you'd like**\r\nWe could change the code in a way that the intersections are only calculated when the pointer moves or when the canvas is being clicked. Maybe there is even a possibility to only check meshes in which the respective directives (`@click`, ...) are used. These changes would lead to performance improvements.\r\n\r\n**Suggested solution**\r\nSee above.",[],139,"Raycaster: Only check for intersections when pointer moves or on click events","2023-03-30T09:08:55Z","https://github.com/Tresjs/tres/issues/139",0.6659049,{"description":2957,"labels":2958,"number":1059,"owner":2868,"repository":2921,"state":2932,"title":2959,"updated_at":2960,"url":2961,"score":2962},"**Is your feature request related to a problem? Please describe.**\r\nContinuing with the controls abstraction, will be useful to add MapControls to cientos catalog\r\n\r\n**Describe the solution you'd like**\r\n\u003CMapControls \r\nscreen-space-panning\r\n />\r\n\r\n**Suggested solution**\r\nSimilar to other controls already implemented\r\n\r\n",[],"MapControls abstraction","2023-05-03T17:42:07Z","https://github.com/Tresjs/cientos/issues/52",0.68255347,{"description":2964,"labels":2965,"number":1059,"owner":2868,"repository":2966,"state":2932,"title":2967,"updated_at":2968,"url":2969,"score":2962},"### Describe the bug\r\n\r\nI am trying to add \u003COrbitControls /> and importing it by \"import { OrbitControls } from '@tresjs/cientos';\"\r\nI am getting the following error\r\n`\r\nError: Build failed with 1 error:\r\nnode_modules/@tresjs/cientos/dist/trescientos.js:14:27: ERROR: Could not resolve \"tweakpane\"\r\n`\r\n\r\n### Reproduction\r\n\r\nhttps://stackblitz.com/edit/tresjs-basic-fmxtip?file=package.json\r\n\r\n### Steps to reproduce\r\n\r\nrun `npm install @tresjs/cientos @tresjs/post-processing` then `npm run dev`\r\nin index.vue \r\n`import { OrbitControls } from '@tresjs/cientos';`\r\n\r\n### System Info\r\n\r\n```shell\r\nSystem:\r\n OS: macOS 14.0\r\n CPU: (8) arm64 Apple M1 Pro\r\n Memory: 140.11 MB / 16.00 GB\r\n Shell: 5.9 - /bin/zsh\r\n Binaries:\r\n Node: 18.15.0 - /usr/local/bin/node\r\n npm: 9.5.1 - /opt/homebrew/bin/npm\r\n Watchman: 2023.07.17.00 - /opt/homebrew/bin/watchman\r\n Browsers:\r\n Brave Browser: 118.1.59.117\r\n Chrome: 117.0.5938.149\r\n Safari: 17.0\r\n```\r\n\r\n\r\n### Used Package Manager\r\n\r\nnpm\r\n\r\n### Code of Conduct\r\n\r\n- [X] I agree to follow this project's [Code of Conduct](https://github.com/Tresjs/tres/blob/main/CODE_OF_CONDUCT.md)\r\n- [X] Read the [Contributing Guidelines](https://github.com/Tresjs/tres/blob/main/CONTRIBUTING.md).\r\n- [X] Read the [docs](https://tresjs.org/guide).\r\n- [X] Check that there isn't [already an issue](https://github.com/tresjs/tres/issues) that reports the same bug to avoid creating a duplicate.\r\n- [X] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.",[],"nuxt","Cannot find package 'tweakpane'","2023-10-15T08:50:55Z","https://github.com/Tresjs/nuxt/issues/52",["Reactive",2971],{},["Set"],["ShallowReactive",2974],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fXYUtzdoNIzYurIFRMg8Wb9qSxo9tqMsU3H7hoNK20-0":-1},"/Tresjs/nuxt/98"]