` 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.",[2856,2859,2862],{"name":2857,"color":2858},"good first issue","7057ff",{"name":2860,"color":2861},"help wanted","008672",{"name":2863,"color":2864},"p3-significant","2C78E3",264,"Tresjs","cientos","open","Components with textures shouldn't require `\u003CSuspense>`","2024-11-25T09:29:04Z","https://github.com/Tresjs/cientos/issues/264",0.68982196,{"description":2874,"labels":2875,"number":2876,"owner":2866,"repository":2877,"state":2868,"title":2878,"updated_at":2879,"url":2880,"score":2881},"### Description\n\nThis allows to prevent bubbling the events to the dom by using `event.sourceEvent.preventDefault();`\n\n### Suggested solution\n\nAdd event capture true by default, or allow us to add parameters to the listeners: `@click.stop`, `@click.passive`, `@click.capture`, ...\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.",[],939,"tres","Add event capture true by default","2025-02-22T10:19:27Z","https://github.com/Tresjs/tres/issues/939",0.7365047,{"description":2883,"labels":2884,"number":2889,"owner":2866,"repository":2877,"state":2868,"title":2890,"updated_at":2891,"url":2892,"score":2893},"### Description\r\n\r\nCurrently, Tres core does not accept kebab-case for compound property names in \"pierced\" paths like `shadow.mapSize.height`.\r\n\r\nUsers must write `:shadow-mapSize-height`. `:shadow-map-size-height` is not accepted.\r\n\r\n`attach=\"kebab-string\"` accepts kebab-case for compound property names.\r\n\r\n### Suggested solution\r\n\r\nUse the same logic as `attach`.\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.",[2885,2888],{"name":2886,"color":2887},"feature","c2e0c6",{"name":2863,"color":2864},873,"Allow compound property names to be kebab-cased","2024-11-27T10:10:40Z","https://github.com/Tresjs/tres/issues/873",0.7416717,{"description":2895,"labels":2896,"number":2897,"owner":2866,"repository":2867,"state":2898,"title":2899,"updated_at":2900,"url":2901,"score":2902},"### 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,"closed","BakeShadows","2024-01-09T17:43:51Z","https://github.com/Tresjs/cientos/issues/321",0.6328832,{"description":2904,"labels":2905,"number":2907,"owner":2866,"repository":2867,"state":2898,"title":2908,"updated_at":2909,"url":2910,"score":2911},"### Description\n\nAs a developer using Tresjs I would like to have a simple way to add a global sound.\n\n### Suggested solution\n\nAn abstraction of: https://threejs.org/docs/index.html?q=audio#api/en/audio/Audio\r\n\r\nYou could consider something like:\r\n\u003CAudio src=\"MYAUDIO_PATH.mp3\" :volume=\"0.3\" /> \r\n\r\nAs example\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.",[2906],{"name":2857,"color":2858},209,"Global audio component","2023-10-05T21:05:09Z","https://github.com/Tresjs/cientos/issues/209",0.6550363,{"description":2913,"labels":2914,"number":2921,"owner":2866,"repository":2877,"state":2898,"title":2922,"updated_at":2923,"url":2924,"score":2925},"### 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.",[2915,2918],{"name":2916,"color":2917},"bug","d73a4a",{"name":2919,"color":2920},"p5-urgent-bug","B60205",728,"`Event` is not triggered in `TresGroup`","2024-07-16T18:52:11Z","https://github.com/Tresjs/tres/issues/728",0.6705474,{"description":2927,"labels":2928,"number":2929,"owner":2866,"repository":2930,"state":2898,"title":2931,"updated_at":2932,"url":2933,"score":2934}," Hello. I appreciate your work for this wonderful library.\r\n As I follow the steps detailed in [https://docs.tresjs.org/advanced/primitive.html](url) using BatchedMesh, it thow an exception as follows: \r\n\r\n\r\n My code example is as below:\r\n`\u003Cscript setup lang=\"ts\">\r\n const geometry2 = new THREE.ConeGeometry();\r\n const geometry3 = new THREE.BoxGeometry();\r\n const mtl3 = new THREE.MeshBasicMaterial({ color: 0xffff00 })\r\n const meshWithMtl2 = new THREE.BatchedMesh(20, 1000, 1000, mtl3)\r\n var geoId = meshWithMtl2.addGeometry(geometry2);\r\n meshWithMtl2.addInstance(geoId)\r\n var geoId2 = meshWithMtl2.addGeometry(geometry3);\r\n meshWithMtl2.addInstance(geoId2)\r\n\u003C/script>\r\n\r\n\u003Ctemplate>\r\n \u003Cprimitive :object=\" meshWithMtl2\" />\r\n\u003C/template>\r\n`\r\n What have I missed or mistaken? Hope to get your help.\r\n",[],151,"lab","BatchedMesh dosn't work with the primitive component","2024-07-24T03:30:16Z","https://github.com/Tresjs/lab/issues/151",0.67740554,{"description":2936,"labels":2937,"number":2942,"owner":2866,"repository":2867,"state":2898,"title":2943,"updated_at":2944,"url":2945,"score":2946},"### 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.",[2938,2939],{"name":2916,"color":2917},{"name":2940,"color":2941},"pending-triage","97A4FE",366,"TransformControls throws error when switching active camera","2024-04-03T16:46:53Z","https://github.com/Tresjs/cientos/issues/366",0.6925054,{"description":2948,"labels":2949,"number":2950,"owner":2866,"repository":2867,"state":2898,"title":2951,"updated_at":2952,"url":2953,"score":2954},"### Description\n\nAs a developer using cientos, I would like to have clear linting rules in all tresJs Ecosystem.\n\n### Suggested solution\n\nFollow the format on TresJs/Core\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.",[],195,"Update lint rules","2023-09-05T15:19:17Z","https://github.com/Tresjs/cientos/issues/195",0.7213437,{"description":2956,"labels":2957,"number":2962,"owner":2866,"repository":2877,"state":2898,"title":2963,"updated_at":2964,"url":2965,"score":2966},"### 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.",[2958,2961],{"name":2959,"color":2960},"test","2A6996",{"name":2863,"color":2864},631,"Better test coverage for core","2024-04-26T21:14:14Z","https://github.com/Tresjs/tres/issues/631",0.72661567,["Reactive",2968],{},["Set"],["ShallowReactive",2971],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fMCNNUy5lWWtdxLfqjQBLHG5khbb9JYOfpRb9e8A1A9g":-1},"/Tresjs/cientos/347"]