` 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,"leches","Leches shares `useControls`; can't have multiple, distinct instances","2024-02-23T19:02:27Z","https://github.com/Tresjs/leches/issues/98",0.7109558,{"description":2889,"labels":2890,"number":2882,"owner":2857,"repository":2891,"state":2859,"title":2892,"updated_at":2893,"url":2894,"score":2887},"### Describe the bug\n\nI'm posting this here, as it seems to be related to the Nuxt module.\r\n\r\nI've already posted some more info here https://github.com/Tresjs/cientos/issues/369 and here https://github.com/orgs/Tresjs/discussions/642\r\n\r\nThe problem is that both `Levioso` and `MouseParallax` are not working as expected, while other stuff from `cientos` don't seem to have issues (in my case, 3d text is working).\r\n\r\nThe problem started with these two components not working only in development environment, but with the latest dependencies updates (probably caused by Nuxt), they don't work in the built production site too. (the problem with development is on a private project that I cannot share at the moment).\r\n\r\nThe issue with the production environment can be seen also on the linked repository, in the latest commits on the `main` branch. The latest working configuration is available at the `working` tag: https://github.com/stefanobartoletti/tresjs-playground/tree/working tag.\r\n\r\nA live demo is also available here https://tresjs-playground.vercel.app/3d-text\r\n\r\nIf more info is needed, please ask :)\r\n\n\n### Reproduction\n\nhttps://github.com/stefanobartoletti/tresjs-playground\n\n### Steps to reproduce\n\n- pnpm i\r\n- pnpm generate\r\n- pnpm preview\n\n### System Info\n\n_No response_\n\n### Used Package Manager\n\npnpm\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.",[],"nuxt","`Levioso` and `MouseParallax` are not working as expected.","2024-05-17T09:28:20Z","https://github.com/Tresjs/nuxt/issues/98",{"description":2896,"labels":2897,"number":2904,"owner":2857,"repository":2858,"state":2905,"title":2906,"updated_at":2907,"url":2908,"score":2909},"### Description\n\nAs a developer trying to respond to issues filed against the TresJS core, I would like to have a more significant portion of /src/core/nodeOps.ts covered by unit tests.\r\n\r\nThis will allow us to respond more quickly to issues filed against the core, and to modify the core with more confidence and fewer regressions.\r\n\r\nHere's where `pnpm coverage` puts us currently.\r\n\r\n```\r\nFile | % Stmts | % Branch | % Funcs | % Lines |\r\n nodeOps.ts | 48.49 | 37.14 | 26.66 | 48.49 |\r\n```\n\n### Suggested solution\n\nImprove test coverage of core functionality.\r\n\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.",[2898,2901],{"name":2899,"color":2900},"test","2A6996",{"name":2902,"color":2903},"p3-significant","2C78E3",631,"closed","Better test coverage for core","2024-04-26T21:14:14Z","https://github.com/Tresjs/tres/issues/631",0.6444231,{"description":2911,"labels":2912,"number":2916,"owner":2857,"repository":2858,"state":2905,"title":2917,"updated_at":2918,"url":2919,"score":2920},"## Problem\r\n\r\nThe StackBlitz template for bug reproductions contains several redundant or extraneous elements. \r\n\r\n* This costs conscientious developers time, as they have to remove many unneeded elements from their bug reports.\r\n* This costs Tres devs time, reading through non-minimal reproductions. \r\n\r\nAs a Tres developer, in order to encourage and facilitate minimal bug reproductions, I would like to remove extra elements from the StackBlitz Bug reproduction starter template. \r\n\r\n## Suggested Solution\r\n\r\n* Remove the `src/components` folder.\r\n* Replace the code in `./src/App.vue` with the following:\r\n\r\n```html\r\n\u003Cscript setup lang=\"ts\">\r\nimport { TresCanvas } from '@tresjs/core';\r\n\u003C/script>\r\n\r\n\u003Ctemplate>\r\n \u003CTresCanvas>\r\n \u003CTresMesh>\r\n \u003CTresBoxGeometry />\r\n \u003CTresMeshNormalMaterial />\r\n \u003C/TresMesh>\r\n \u003C/TresCanvas>\r\n\u003C/template>\r\n```\r\n\r\nThat makes this the starter template:\r\n\r\n\u003Cimg width=\"1334\" alt=\"Screenshot 2024-04-28 at 01 55 13\" src=\"https://github.com/Tresjs/tres/assets/20469369/237c9649-7794-4fe4-9c8f-0f749787168a\">\r\n\r\n### Alternative\r\n\r\nKeep as is.\r\n\r\n### Additional context\r\n\r\nFor comparison, here's the current `src/components/TheExperience.vue`. \r\n\r\nIt contains:\r\n\r\n* unused imports – `extend`, `reactive`\r\n* unnecessary configuration – `const gl = { ... }`\r\n* components that have no visual effect – `\u003CContactShadows />`, `\u003CTresDirectionalLight />`\r\n* redundant args – `\u003CTresBoxGeometry :args=\"[1, 1, 1]\" />`\r\n\r\n```html\r\n\u003Cscript setup lang=\"ts\">\r\nimport { extend } from '@tresjs/core';\r\n\r\nimport { reactive } from 'vue';\r\nimport { BasicShadowMap, SRGBColorSpace, NoToneMapping } from 'three';\r\nimport { TresCanvas } from '@tresjs/core';\r\nimport { OrbitControls, ContactShadows } from '@tresjs/cientos';\r\n\r\nconst gl = {\r\n clearColor: '#82DBC5',\r\n shadows: true,\r\n alpha: false,\r\n shadowMapType: BasicShadowMap,\r\n outputColorSpace: SRGBColorSpace,\r\n toneMapping: NoToneMapping,\r\n};\r\n\u003C/script>\r\n\r\n\u003Ctemplate>\r\n \u003CTresCanvas v-bind=\"gl\">\r\n \u003CTresPerspectiveCamera :position=\"[9, 9, 9]\" />\r\n \u003COrbitControls />\r\n \u003CTresMesh>\r\n \u003CTresBoxGeometry :args=\"[1, 1, 1]\" />\r\n \u003CTresMeshNormalMaterial />\r\n \u003C/TresMesh>\r\n \u003CContactShadows />\r\n \u003CTresDirectionalLight :position=\"[0, 2, 4]\" :intensity=\"1.2\" cast-shadow />\r\n \u003C/TresCanvas>\r\n\u003C/template>\r\n\r\n```\r\n\r\n### Validations\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.",[2913],{"name":2914,"color":2915},"p1-chore","BFD4F2",669,"Remove extraneous elements from StackBlitz Bug reproduction starter template","2024-04-30T15:03:58Z","https://github.com/Tresjs/tres/issues/669",0.6766809,{"description":2922,"labels":2923,"number":2927,"owner":2857,"repository":2928,"state":2905,"title":2929,"updated_at":2930,"url":2931,"score":2932},"### Description\n\nAs a developer using Tres, I would like to have a `\u003CCylinder />` component in order to easily add a customizable cylinder to scenes.\n\n### Suggested solution\n\nImplement a Cientos component with an underlying `THREE.CylinderGeometry` and accepting the props of the same, with the same defaults.\r\n\r\nhttps://threejs.org/docs/#api/en/geometries/CylinderGeometry\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/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.",[2924],{"name":2925,"color":2926},"good first issue","7057ff",437,"cientos","`\u003CCylinder />`","2024-06-09T20:05:32Z","https://github.com/Tresjs/cientos/issues/437",0.6854046,{"description":2934,"labels":2935,"number":2942,"owner":2857,"repository":2858,"state":2905,"title":2943,"updated_at":2944,"url":2945,"score":2946},"### 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.",[2936,2939],{"name":2937,"color":2938},"question","d876e3",{"name":2940,"color":2941},"waiting for author","B145BC",310,"Black Canvas in Firefox","2023-06-20T07:13:04Z","https://github.com/Tresjs/tres/issues/310",0.69007057,{"description":2948,"labels":2949,"number":2951,"owner":2857,"repository":2928,"state":2905,"title":2952,"updated_at":2953,"url":2954,"score":2955},"### Description\r\n\r\nVue 3.3.4 added an experimental feature called propsDeconstruct allowing us to dispense `withDefaults` in favor of a more natural deconstruction that keeps the reactivity.\r\n\r\n```\r\nconst { args = [1, 1, 1], color = '0xffffff' } = defineProps\u003C{\r\n args?: ConstructorParameters\u003Ctypeof BoxGeometry>\r\n color?: TresColor\r\n}>()\r\n```\r\n\r\n### Suggested solution\r\n\r\nAs of now, the following components has been updated, we need to update the rest\r\n\r\n- [x] All shapes\r\n- [ ] Smoke\r\n- [ ] Stars\r\n- [ ] Levioso\r\n- [ ] Contact Shadows\r\n- [x] Transform Controls\r\n- [x] Orbit Controls\r\n\r\n### Alternative\r\n\r\n_No response_\r\n\r\n### Additional context\r\n\r\n_No response_\r\n\r\n### Validations\r\n\r\n- [X] I agree to follow this project's [Code of Conduct](https://github.com/Tresjs/cientos/blob/main/CODE_OF_CONDUCT.md)\r\n- [X] Read the [Contributing Guidelines](https://github.com/Tresjs/cientos/blob/main/CONTRIBUTING.md).\r\n- [X] Read the [docs](https://cientos.tresjs.org/guide).\r\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.",[2950],{"name":2925,"color":2926},83,"Update all components to use prop deconstruction","2023-07-07T15:21:52Z","https://github.com/Tresjs/cientos/issues/83",0.6938452,{"description":2957,"labels":2958,"number":2951,"owner":2857,"repository":2891,"state":2905,"title":2962,"updated_at":2963,"url":2964,"score":2955},"### Describe the bug\r\n\r\nSSR version of TresCanvas is broken when the project is using `npm` as the package manager.\r\n\r\n\r\n\r\n\r\n### Reproduction\r\n\r\nhttps://stackblitz.com/edit/nuxt-starter-hzbvpr?file=nuxt.config.ts\r\n\r\n### Steps to reproduce\r\n\r\n1. Run `npm install` and `npm run dev`\r\n2. Click on `/page1` link\r\n3. Check console warning. \r\n\r\n\r\n### System Info\r\n\r\n```shell\r\nSystem:\r\n OS: macOS 14.2.1\r\n CPU: (8) arm64 Apple M1 Pro\r\n Memory: 89.14 MB / 16.00 GB\r\n Shell: 5.9 - /bin/zsh\r\n Binaries:\r\n Node: 18.14.1 - ~/.nvm/versions/node/v18.14.1/bin/node\r\n Yarn: 1.22.19 - /usr/local/bin/yarn\r\n npm: 9.3.1 - ~/.nvm/versions/node/v18.14.1/bin/npm\r\n Browsers:\r\n Brave Browser: 120.1.61.116\r\n Chrome: 121.0.6167.85\r\n Firefox: 121.0.1\r\n Safari: 17.2.1\r\n npmPackages:\r\n @tresjs/cientos: ^3.7.0 => 3.7.0 \r\n @tresjs/nuxt: ^2.1.0 => 2.1.0 \r\n nuxt: ^3.10.0 => 3.10.0 \r\n vite-plugin-glsl: ^1.2.1 => 1.2.1 \r\n vue: ^3.4.15 => 3.4.15 \r\n vue-router: ^4.2.5 => 4.2.5\r\n```\r\n\r\n### Used Package Manager\r\n\r\nnpm, pnpm\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.",[2959],{"name":2960,"color":2961},"bug","d73a4a","TresCanvas component is missing template or render function after 3.10.0","2024-02-07T17:58:20Z","https://github.com/Tresjs/nuxt/issues/83",["Reactive",2966],{},["Set"],["ShallowReactive",2969],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fK2miwUh08ggrxRtWY4P2Yo6uWprefDRNTcqyf1VJkWQ":-1},"/Tresjs/cientos/316"]