`](https://drei.docs.pmnd.rs/staging/bounds#bounds) would be welcome.\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.",[2852,2855],{"name":2853,"color":2854},"feature","c2e0c6",{"name":2856,"color":2857},"p2-nice-to-have","D4C5F9",408,"Tresjs","cientos","open","\u003CBounds />","2024-12-17T18:07:35Z","https://github.com/Tresjs/cientos/issues/408",0.70762134,{"description":2867,"labels":2868,"number":2869,"owner":2859,"repository":2860,"state":2861,"title":2870,"updated_at":2871,"url":2872,"score":2873},"### Describe the bug\n\nI am on v ^4.0.3\n\nI saw through the docs search function that there is a \"Billboard\" component. But when trying to import, I will get an error that this component is not exported, event tho it is in the repo etc.\n\nAnother problem is, the docs are not shown when looking for it in the Abstractions section...\n\n### Reproduction\n\nhttps://github.com/Tresjs/cientos/blob/09584be48705d24a4eaf89655ac78138fc95108d/docs/.vitepress/theme/components/BillboardDemo.vue#L2\n\n### Steps to reproduce\n\n_No response_\n\n### System Info\n\n```shell\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/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.\n- [x] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.",[],588,"Billboard is not being exposed as component","2025-01-17T13:55:40Z","https://github.com/Tresjs/cientos/issues/588",0.7166471,{"description":2875,"labels":2876,"number":2877,"owner":2859,"repository":2878,"state":2861,"title":2879,"updated_at":2880,"url":2881,"score":2882},"### Describe the bug\n\nI would like to render the CatmullRomCurve3 component. On the linked Playground reproduction case (which uses TresJS 3.9.0 and Cientos 3.9.0), I get the following error:\r\n```\r\nInvalid watch source: A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.\r\n at \u003CLine2points=[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]vertex-colors=undefinedcolor=\"#fbb03b\" ...>\r\n at \u003CCatmullRomCurve3points=-1.5,0,0,-0.5,1,0,0.5,0,0,1.5,1,0segments=40line-width=10 ...>\r\n at \u003CApp>\r\n```\r\nwhich is strange because I didn't declare any watcher.\r\n\r\nStranger: [this Stackblitz](https://stackblitz.com/edit/tresjs-basic-jednrn?file=src%2Fcomponents%2FTheExperience.vue) that includes the same SFC displays the curve properly.\n\n### Reproduction\n\nhttps://play.tresjs.org/#eNqVVE2P2jAQ/StWethDyQeCUgmlFS1a9ePQrbZ7IxxCMoBZf8l2gArx3zt2SAjb3RULOcRv3jw/z4xzCB40mC9KRdsKgnGQmkJTZYkBWynCcrH6lAXWZMHnTFCupLbkQFzKNBfb3JAjWWrJyc3EIrYxcSE13HSo09zyirF7yaeV3sKgR+70gtqpFFZL9kw+BWGlQYk0rq3gxriwwBXLLeCKkLRjoGCQ67CQTGp0+m64dH9vl+Avfbp/DRMyVpIKazBlNgv70YceSfCZ98gsTNyqf1r5RRPyPB+ZZ0GrZGDF0bTTGiYdnFEB4Y6Wdo2RfifSml0uFslg0QTixrM73TdNy+/AFOgzflm5Gk7jcy0QSOO2UEEvqLsQ8lxFGyMFtvfgcrJTALs6Jh5xWLeDLpAFa2uVGcdxUQrML4HRrY4E2FgoHnfpk0E0ivpxSY2NHYzsLOj9J1y39i3adQbKf4ySs/wJvtzF7iB/VLm4xnvLnQyjpDXegBGnLqervdZwla7jTVBxlKDf92B4twx4wSoDV9e3Q5/0cQxRkYoS9hG/rO6JZ9a5hvINwnXCa9JIDEvg9ArRhuoOP4xGMaOLrqRTPGbiiDNpTSHFkq6eTGQhuaIM9J2yVIrLycwZk7ufHrO6gtZfsYbi8Rl8Y/a15d84LIC3vtvKXK/A1uHbP79gj+9tkMuyYqfmvBC8ByNZ5TzWtK+VKNF2h+fd/vAXjIrVg7ndWxCmOdSFUftXgUdnzaehnbUamPvCeb5vx/SVKp1PNoj8Z84X/PgPoizpCg==\n\n### Steps to reproduce\n\n_No response_\n\n### System Info\n\n```shell\nTresJS 3.9.0\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.",[],694,"tres","Invalid watch source error when declaring a CatmullRomCurve3","2024-05-31T23:36:28Z","https://github.com/Tresjs/tres/issues/694",0.73316216,{"description":2884,"labels":2885,"number":2886,"owner":2859,"repository":2887,"state":2861,"title":2888,"updated_at":2889,"url":2890,"score":2891},"The link \"Authoring experiments\" from the [README](https://github.com/Tresjs/lab/blob/main/README.md) is broken.\r\n\r\n## The Link\r\n\r\n\u003Cimg width=\"695\" alt=\"Screenshot 2024-03-15 at 15 42 13\" src=\"https://github.com/Tresjs/lab/assets/20469369/c83cd04b-d8c5-48ae-a2c9-bbdcf405f97f\">\r\n\r\n## Result\r\n\r\n\u003Cimg width=\"1471\" alt=\"Screenshot 2024-03-15 at 15 46 08\" src=\"https://github.com/Tresjs/lab/assets/20469369/66cf1468-a38a-4b34-83ac-f1487441d29b\">\r\n",[],109,"lab","Broken link in README.md","2024-03-15T14:47:05Z","https://github.com/Tresjs/lab/issues/109",0.73908025,{"description":2893,"labels":2894,"number":2899,"owner":2859,"repository":2900,"state":2861,"title":2901,"updated_at":2902,"url":2903,"score":2904},"### Description\n\nThere is an update in the GLTF structure, now they can accept physics, babylonJs already have implemented it, but there's no example with Three.js. So this could be hard to do.\r\n\r\nAs we need to investigate if this is possible directly here in this pkg, if we need to make changes in the GLTF parser provided by Three.js (or if we can extend it) and the match them with the components provided by Rapier itself.\r\n\r\nPlease read the link below for more information.\n\n### Suggested solution\n\nMuch of the result will define the output. But reading about it, a new component could be a good solution.\r\n`import { PhysicalGLTF } from `...` (of course the name has to be defined).\r\n\r\nOther option could be adding extension to the existing `useGLTF` composable provided by `cientos`\r\n\r\nI would prefer not to modify cientos directly for this one. WDYT?\n\n### Alternative\n\nAny other alternative is welcome\n\n### Additional context\n\nPlease check: \r\n- https://www.youtube.com/watch?v=sstdRXYbZrI\r\n- https://github.com/eoineoineoin/glTF_Physics\r\n- https://github.com/eoineoineoin/glTF_Physics_Babylon\r\n- https://www.khronos.org/assets/uploads/developers/presentations/Physics_BOF.pdf\n\n### Validations\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.",[2895,2898],{"name":2896,"color":2897},"investigation","D03599",{"name":2856,"color":2857},156,"rapier","Adding physics from GLTF directly","2025-01-29T08:42:02Z","https://github.com/Tresjs/rapier/issues/156",0.7416973,{"description":2906,"labels":2907,"number":2908,"owner":2859,"repository":2878,"state":2861,"title":2909,"updated_at":2910,"url":2911,"score":2912},"### Description\r\n\r\nHey there,\r\nTres looks amazing. Great work!\r\n\r\nI'd love to switch to Tres, but my application uses multiple canvas elements, each rendering a different camera perspectives to the same scene. Of what I read in the docs & source code, TresCanvas creates its own scene and doesn't share it with other TresCanvas instances. I'd love to see TresCanvas taking scene as an optional prop, but I can also imagine that there might be a lot of side effects coming with such a change.\r\n\r\nWhat do you think of it? Edge case that's hard to implement or easy and viable for the ecosystem?\r\n\r\nHave a great day!\r\nMarc\r\n\r\n\r\n### Suggested solution\r\n\r\n`/src/components/TresCanvas.vue`\r\n```ts\r\nconst props = withDefaults(defineProps\u003CTresCanvasProps>(), {\r\n ...,\r\n scene: new Scene() // TresScene | Scene\r\n})\r\n```\r\nI already know, I'm missing out on component lifecycle handling. I just wanted to point in the direction this is going.\r\n\r\n### Alternative\r\n\r\n_No response_\r\n\r\n### Additional context\r\n\r\nI think this is somehow the reverse request to [Portal](https://github.com/Tresjs/tres/issues/789)\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.",[],842,"Decouple scene from canvas","2024-10-17T14:16:20Z","https://github.com/Tresjs/tres/issues/842",0.74234533,{"description":2914,"labels":2915,"number":2916,"owner":2859,"repository":2878,"state":2917,"title":2918,"updated_at":2919,"url":2920,"score":2921},"### Description\r\n\r\nIm probably dumb for asking this but, How do i import and texturize wavefront object files?\r\n\r\n### Suggested solution\r\n\r\nI wanted to use something like \r\n```\r\n\u003COBJModel path=\"/models/AkuAku.obj\" />\r\n```\r\nbut no-where in the docs does it mention wavefront obj.\r\n\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/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.",[],884,"closed","Greetings","2024-12-17T21:44:35Z","https://github.com/Tresjs/tres/issues/884",0.71239114,{"description":2923,"labels":2924,"number":2934,"owner":2859,"repository":2878,"state":2917,"title":2935,"updated_at":2936,"url":2937,"score":2938},"Sometimes previews fail for example with StackBlitz on mobile. \r\n\r\nBut we can use [vitepress-plugin-sandpack](https://github.com/jerrywu001/vitepress-plugin-sandpack) instead. It's a [vitepress plugin](https://vitepress-sandbox.js-bridge.com/get-started/introduction.html), and the syntax is concise, use the MD syntax directly.\r\n\r\n**Setup Steps**\r\nhttps://vitepress-sandbox.js-bridge.com/custom-usage/custom.html\r\n\r\n_**and also support**_ [Use snippets](https://vitepress-sandbox.js-bridge.com/basic-usage/snippets.html)\r\n\r\n**Online demo**:\r\nhttps://vitepress-sandbox.js-bridge.com/vite-templates/vite-vue-ts.html\r\n\r\n\r\n\r\n",[2925,2928,2931],{"name":2926,"color":2927},"docs","0075ca",{"name":2929,"color":2930},"dx","1576AD",{"name":2932,"color":2933},"examples","8F2282",261,"May be we could use vitepress-plugin-sandpack instead","2023-12-13T09:18:46Z","https://github.com/Tresjs/tres/issues/261",0.7181065,{"description":2940,"labels":2941,"number":2942,"owner":2859,"repository":2878,"state":2917,"title":2943,"updated_at":2944,"url":2945,"score":2946},"### Description\r\n\r\nBased on https://github.com/orgs/Tresjs/discussions/321\r\n\r\nAs a plugin author, I will like to have a reactive state with the following characteristics:\r\n\r\n- Performant, (use of `shallowRef` where needed)\r\n- read-only\r\n- Strictly Typed\r\n- Reduce side effects on watchers\r\n- Needs to work on cientos and the rest of ecosystem via `provide/inject` \r\n\r\n### Suggested solution\r\n\r\n| Name | Type | Requirement | Details |\r\n| ---------------------------------- | -------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| scene | readonly, shallowRef | essential | |\r\n| cameras | readonly, shallowRef | essential | userData.TRES_IS_ACTIVE_CAMERA = true\u003Cbr>const cameras = shallowRef([]) return { cameras: readonly(cameras)} |\r\n| camera | computed, readonly | essential | |\r\n| pushCamera(newCamera: Camera, setActive: boolean) | function | essential | cameras should be watched and removed from the cameras array if they got removed from the scene |\r\n| removeCamera(camera: Camera) | function | essential ||\r\n| setCamera(cameraId string) | function | essential ||\r\n| renderer | readonly, shallowRef | essential | setRenderer(renderer: Renderer)\u003Cbr>maybe only callable once? |\r\n| setRenderer(renderer: Renderer) | function | essential ||\r\n| sizes (height, width, aspectRatio) | readonly | handy | sizes: {\u003Cbr> height: Ref\u003Cnumber>\u003Cbr> width: Ref\u003Cnumber>\u003Cbr> aspectRatio: Computed\u003Cnumber>\u003Cbr>} |\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/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.",[],331,"New and better state context provider","2023-07-29T08:58:56Z","https://github.com/Tresjs/tres/issues/331",0.7197131,{"description":2948,"labels":2949,"number":2956,"owner":2859,"repository":2878,"state":2917,"title":2957,"updated_at":2958,"url":2959,"score":2960},"### 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.",[2950,2953],{"name":2951,"color":2952},"question","d876e3",{"name":2954,"color":2955},"waiting for author","B145BC",310,"Black Canvas in Firefox","2023-06-20T07:13:04Z","https://github.com/Tresjs/tres/issues/310",0.725069,["Reactive",2962],{},["Set"],["ShallowReactive",2965],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fDwowILQ4NGS8ouTfEFZHIgWhTF_RBQQJ_pZ05Dbfkm0":-1},"/Tresjs/tres/352"]