` and I don't want to force users to wrap the component in a `\u003CSuspense />`.\r\n\r\nI looked for established patterns and found that `\u003CSmoke />` loads textures, but requires `\u003CSuspense />`. I think we can improve the DX by removing that requirement for users *and* providing a standard-ish way for components to avoid `await`ing.\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.",[2867,2870,2873],{"name":2868,"color":2869},"good first issue","7057ff",{"name":2871,"color":2872},"help wanted","008672",{"name":2874,"color":2875},"p3-significant","2C78E3",264,"cientos","Components with textures shouldn't require `\u003CSuspense>`","2024-11-25T09:29:04Z","https://github.com/Tresjs/cientos/issues/264",0.71598953,{"description":2883,"labels":2884,"number":2885,"owner":2857,"repository":2877,"state":2859,"title":2886,"updated_at":2887,"url":2888,"score":2889},"### Description\n\nAs a developer using TresJS / cientos, I would like to have a TrackballControls component similar to OrbitControls.\n\nsee Threejs: https://threejs.org/docs/#examples/en/controls/TrackballControls\n\n### Suggested solution\n\nSince the TrackballControl source is very similar to OrbitControl, I took the source of OrbitControls.vue.d.ts and adjusted it slightly. That version works in my application and I can use it directly like OrbitControls.\n\n`\n\u003CTresCanvas\">\n \u003CTresPerspectiveCamera/>\n \u003CVisuTrackBallControls />\n \u003C/TresPerspectiveCamera>\n \u003C/TresCanvas>\n`\n\n[VisuTrackBallControls.vue.txt](https://github.com/user-attachments/files/18799562/VisuTrackBallControls.vue.txt)\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.",[],595,"Add TrackballControls to Cientos","2025-02-14T13:18:40Z","https://github.com/Tresjs/cientos/issues/595",0.72067845,{"description":2891,"labels":2892,"number":2902,"owner":2857,"repository":2858,"state":2859,"title":2903,"updated_at":2904,"url":2905,"score":2906},"### Describe the bug\n\nI tried writing this code in `tresjs v 4.0.2`\r\n```vue \u003CTresGroup>\r\n \u003CTresPerspectiveCamera :position=\"[5, 5, 5]\" />\r\n \u003COrbitControls />\r\n \u003CTresAmbientLight :intensity=\"0.5\" color=\"red\" />\r\n \u003CTresMesh ref=\"boxRef\" :position=\"[0, 2, 0]\">\r\n \u003CTresBoxGeometry :args=\"[1, 1, 1]\" />\r\n \u003CTresMeshNormalMaterial />\r\n \u003C/TresMesh>\r\n \u003CTresDirectionalLight :position=\"[0, 2, 4]\" :intensity=\"1\" cast-shadow />\r\n \u003CTresAxesHelper />\r\n \u003CTresGridHelper :args=\"[10, 10, 0x444444, 'teal']\" />\r\n \u003C/TresGroup>\r\n````\r\nThen I got this\r\n\r\n\r\n**However, it can run correctly in `v3.9.0`**\r\n\r\n\n\n### Reproduction\n\nhttps://stackblitz.com/~/github.com/hexianWeb/starter\n\n### Steps to reproduce\n\n_No response_\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.",[2893,2896,2899],{"name":2894,"color":2895},"question","d876e3",{"name":2897,"color":2898},"waiting for author","B145BC",{"name":2900,"color":2901},"p2-edge-case","ABCC40",727,"`Camera` wrapped by `TresGroup` cannot be used properly after `version 4.0`","2024-06-15T11:45:11Z","https://github.com/Tresjs/tres/issues/727",0.7232959,{"description":2908,"labels":2909,"number":2912,"owner":2857,"repository":2858,"state":2859,"title":2913,"updated_at":2914,"url":2915,"score":2916},"**Is your feature request related to a problem? Please describe.**\r\nCurrently, the [toNonIndexed](https://threejs.org/docs/index.html#api/en/core/BufferGeometry.toNonIndexed) method \r\ndoesn't work\r\n\r\n**Describe the solution you'd like**\r\nI would like to manipulate the vertex by nonIndexed geometries\r\n\r\n**Suggested solution**\r\nadd a new prop to all geometries\r\nEj:\r\n\u003CBoxGeometry :args=\"[1,1,1, 10,10,10]\" toNonIndexed />\r\n\r\n**Additional context**\r\nThis is useful is you want to manipulate the vertex individually, in the vertex shader\r\n",[2910,2911],{"name":2894,"color":2895},{"name":2897,"color":2898},230,"Support inline method in geometries ( EJ: toNonIndexed , setFromPoints)","2025-02-21T16:45:38Z","https://github.com/Tresjs/tres/issues/230",0.725296,{"description":2918,"labels":2919,"number":2926,"owner":2857,"repository":2858,"state":2927,"title":2928,"updated_at":2929,"url":2930,"score":2931},"### Describe the bug\n\nI tried writing this code into `Tresjs v 4.0.2` I think this issue and issue #727 have a common cause\r\n```vue\r\n \u003CTresGroup>\r\n \u003CTresMesh\r\n :position=\"[0, 0, 0]\"\r\n @click=\"onClick\"\r\n @double-click=\"onDoubleClick\"\r\n @pointer-enter=\"onPointerEnter\"\r\n @pointer-leave=\"onPointerLeave\"\r\n @pointer-move=\"onPointerMove\"\r\n @context-menu=\"onContextMenu\"\r\n @pointer-missed=\"onPointerMissed\"\r\n >\r\n \u003CTresBoxGeometry :args=\"[1, 1, 1]\" />\r\n \u003CTresMeshToonMaterial color=\"#efefef\" />\r\n \u003C/TresMesh>\r\n \u003C/TresGroup>\r\n```\r\nOnly `@pointer-missed` has been triggered during this process\r\n\r\nhttps://github.com/Tresjs/tres/assets/59913119/8ca05964-6e9d-4443-a1d8-7e543aebb5fe\r\n\r\n\n\n### Reproduction\n\nhttps://stackblitz.com/~/github.com/hexianWeb/starter\n\n### Steps to reproduce\n\nswitch the branch to the `bug` branch, or just copy this code into `TheExperience.vue`\r\n```vue \r\n \u003CTresGroup>\r\n \u003CTresMesh\r\n :position=\"[0, 0, 0]\"\r\n @click=\"onClick\"\r\n @double-click=\"onDoubleClick\"\r\n @pointer-enter=\"onPointerEnter\"\r\n @pointer-leave=\"onPointerLeave\"\r\n @pointer-move=\"onPointerMove\"\r\n @context-menu=\"onContextMenu\"\r\n @pointer-missed=\"onPointerMissed\"\r\n >\r\n \u003CTresBoxGeometry :args=\"[1, 1, 1]\" />\r\n \u003CTresMeshToonMaterial color=\"#efefef\" />\r\n \u003C/TresMesh>\r\n \u003C/TresGroup>\r\n```\r\nand remove the `TresGroup` near camera\r\n```vue\r\n \u003CTresGroup>\r\n \u003CTresPerspectiveCamera :position=\"[5, 5, 5]\" />\r\n \u003C/TresGroup>\r\n```\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.",[2920,2923],{"name":2921,"color":2922},"bug","d73a4a",{"name":2924,"color":2925},"p5-urgent-bug","B60205",728,"closed","`Event` is not triggered in `TresGroup`","2024-07-16T18:52:11Z","https://github.com/Tresjs/tres/issues/728",0.65397966,{"description":2933,"labels":2934,"number":2938,"owner":2857,"repository":2877,"state":2927,"title":2936,"updated_at":2939,"url":2940,"score":2941},"# Description\r\n\r\nA new version `v4` is on the horizon due to both potential breaking changes introduced on `@tresjs/core@v4` (Check https://github.com/Tresjs/tres/issues/541) and the following changes\r\n\r\n## Feats\r\n\r\n- [x] AnimatedSprite #331 (andretchen0 says: Completed, will put on v4)\r\n\r\n## Breaking changes\r\n\r\n- [x] Update core to v4 (on-demand mode)\r\n- [x] Remove tweakpane #313 \r\n- [x] #227 \r\n- [x] to update the value.value for root.value #350 \r\n- [x] Update `MeshReflectionMaterial` – #377\r\n- [x] Directives on core\r\n- [x] Add migration page for v3 to v4 https://github.com/Tresjs/cientos/pull/420/commits/57ba9aed604d4eb0cd84f4765c6eae135e9132dd\r\n\r\n## Bugfix\r\n- [ ] Async Draco Loader #433 \r\n- [x] Reimplement Contact Shadows #449 \r\n- [x] Linter broke some components #411 \r\n\r\n## Chore\r\n\r\n- [x] Remove on demand composables #452 \r\n\r\n### Suggested solution\r\n\r\nN/A\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.",[2935],{"name":2936,"color":2937},"v4","EEF2B0",347,"2024-08-20T06:52:09Z","https://github.com/Tresjs/cientos/issues/347",0.66437674,{"description":2943,"labels":2944,"number":2949,"owner":2857,"repository":2877,"state":2927,"title":2950,"updated_at":2951,"url":2952,"score":2953},"### Describe the bug\n\nWhen setting up an experience that uses multiple cameras and you chance the active camera the TransformControls will throw an error.\r\n\r\nWhat is expected is that it just continue to work when you change what camera is active.\r\n\r\n\n\n### Reproduction\n\nhttps://play.tresjs.org/#eNqVV21T2zgQ/it7YW5C5xzHFOjduQml0F6nN9eWAe4T4YOwlUQgSx5JDjCZ/PdbSY4jm8DRKc1Yu8++aLW7Wi17l4rqj2UZLyraS3sjnSlWGtDUVCVwImbjSc/oSe9oIlhRSmVgCYpOI7gnJpt/nk5pZiIw8pzcwwqmShbQR1X9Bn45p6ekoIr8KPHHSFWD4uETjvVhI7iEE6JZdjEnubz/RsoILs6/nJxKLtVFSTIawXd5KQVFVsnErLFu5orS/vtAj93iKRELohvQsUHarR5mUrWxP9QNM6dSGCW5jlCUCD2VqliTnmpgVBiprZKJyKTQBgqq51TD2AZq92rJ8nQvglJqZpgU6dXgMEqi5HoVgWW9DVlItxyILGc/5NQy12/WRjTlGHqaf0NjX/PaWMP1LpzT6YbRCBpiWOYj3wJ4tiALNkOEFFsgXeMeUvP7XnM/wM048pYTAZBxSpQ7vBT6O3+8/XRyetiPLEe7A9YpGFVRRyG8nJMUpoRrT/AQPOjLx5Km3bywCFmZssJzWydH2k0WCzKbbEnbyYPsFR7gaOjTH5MdF4YWJSeG4gpglLOF+8BPv3tYDAqZU44F0g6HKxYLRKgsbSRhQXhFEYjBDbgA35tgNxJDL/KsCh/klpYLT9quAffkvFsvcR+YAo/c6rpnuZmne0ny63uYUzabm/QgScqHcAdB8SwGN0zkKDfjkx4EDoyeFnlKMsMWNfXfilmxJW4/3ZJfUZ2TaSc1V1ftwF5/iCvU1LZdu3hGlS4R29iEdF08aPkKa8n+XaMspmoTxsbUpDf8aZ1/RmD/Njq3bA15oeLR06YXclvNB9LMAZ9VXJA7OsjplFTcOCvhgaD7tjPgmWH3QhW2IQATdWNA6fSOPtb02MU03JujrtfIy4g2A1+FcJxxlt0FWd90oI0uH4+mCbWytfbuRD58obKgRj1isqiZtiHdiw8jWP/YwG45FWvuUkrxDUtTMcIhs1WO0jsHf9l/T0NeC3Uj1OnsoaHFgLkkae/wlzGIimPuh9BU3twiCNEhFTYd+KpNX3O6VIB4itX1VeT0YXeXvYHxETCMJozH406zxwYbyl2Hy9CNLTnxiSmb0FIQ/o+t93ZGJxHgdXRgA58yYahAlk2SvfhtJwk2Efbx9R2iaTnrZrn+Gg2DZopL14Dwc24Kjr33RuaP/pooMBOYSCHBbgxQkjx3zdov6xYFrmFZgu9f6/VqInawnXtF/4MFuCHZ3UzJSuQDl0Ap7CSJtYNqsGc6B3tRzw8Gg4KU8a2WAkckp35SM7CSUm/Q0sKpwjImvbkxpU6HwywXKI+3BVuoWFAzFGUxDOHH+/G7eA/Dpc3QkhE96blbq6XYDxs/o9tLoPrf42Sjvia3rZh7Su5KIl7je4M9PoiTxvE1MS6YlQl126nsNXot7hg1vkvQ39+oLsIw4IBYafrq+Abw470kPkSNWGL0IS7a0a1xmNuKYvt6tWIv8JJqBGKLLtgrlK6hdvMH8bshZzehSqsRU3OFOWk0TldTNutkZCaLknGqfrjrv52ZhHN5/7ejNWOWk5nT7G4L/VbjEGBdPsNkoWqB4d4cJdYoNZ79+eI7fcDvhokjUcXrw3mGeU615JW/WSzsBGsQ3Q5wztuvrsCw/C/15wfXi+pNtRw1OBE6atNmm1zzBNcdVw7vjuP0hShtdrYf7wcB3/pSCV5LwTvJv5yOJip4UwRPpfYbKQRhPrlGircRBm37Q8UK2P9+uC6VLO0rA0cAJuiZXY2Wlo0TdGf4+pDiiKUwlpa9OsJRvqVpab326I9OEs2POx5tZILt7O66e6q2yqaw65yKu/adrI1xx85L8JX73YzktfVgLHc6R5pLN/44cMPsrf4D7pDmiA==\n\n### Steps to reproduce\n\n1. Click a box to \"select\" it\r\n2. Change camera on the top dropdown\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/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.",[2945,2946],{"name":2921,"color":2922},{"name":2947,"color":2948},"pending-triage","97A4FE",366,"TransformControls throws error when switching active camera","2024-04-03T16:46:53Z","https://github.com/Tresjs/cientos/issues/366",0.6772818,{"description":2955,"labels":2956,"number":2957,"owner":2857,"repository":2877,"state":2927,"title":2958,"updated_at":2959,"url":2960,"score":2961},"### Description\n\nI would like to have a simple way to baked my shadows using threeJs and the shadow.autoUpdate function on the render as false\n\n### Suggested solution\n\nTo create a simple renderless doing this\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.",[],321,"BakeShadows","2024-01-09T17:43:51Z","https://github.com/Tresjs/cientos/issues/321",0.6861503,{"description":2963,"labels":2964,"number":2969,"owner":2857,"repository":2877,"state":2927,"title":2970,"updated_at":2971,"url":2972,"score":2973},"### Description\n\nAs a developer using Tresjs I would like to create sprite animations by cycling through a sequence of frames from a sprite sheet image or JSON data, so I could add sprites images to my 3D spaces.\n\n### Suggested solution\n\nInspired by: https://github.com/pmndrs/drei#sprite-animator\n\n### Alternative\n\nFeel free to suggest other alternatives\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.",[2965,2966],{"name":2868,"color":2869},{"name":2967,"color":2968},"p2-nice-to-have","D4C5F9",247,"Sprite component","2024-06-07T14:02:38Z","https://github.com/Tresjs/cientos/issues/247",0.6888137,["Reactive",2975],{},["Set"],["ShallowReactive",2978],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fvLaIVGGqKvH_LXZjuhhtuk6oUCCN8MSgHIt85gf7_us":-1},"/Tresjs/cientos/209"]