` just below the `TresDirectionalLight`, and sets it ref property to a shallow ref. This seems to cause an error in the library:\r\n\r\n```\r\nthree.module.js:52035 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'matrixWorld')\r\n at new Lm (three.module.js:52035:23)\r\n at n (tres.js:1202:14)\r\n at mountElement (runtime-dom.esm-browser.js:5971:21)\r\n at processElement (runtime-dom.esm-browser.js:5945:7)\r\n at patch (runtime-dom.esm-browser.js:5813:11)\r\n at mountChildren (runtime-dom.esm-browser.js:6057:7)\r\n at processFragment (runtime-dom.esm-browser.js:6239:7)\r\n at patch (runtime-dom.esm-browser.js:5799:9)\r\n at ReactiveEffect.componentUpdateFn [as fn] (runtime-dom.esm-browser.js:6440:11)\r\n at ReactiveEffect.run (runtime-dom.esm-browser.js:471:19)\r\n```\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.",[2891,2894],{"name":2892,"color":2893},"bug","d73a4a",{"name":2895,"color":2896},"p4-important-bug","D93F0B",860,"TresDirectionalLightHelper Uncaught (in promise): Cannot read properties of undefined (reading 'matrixWorld')","2024-10-19T11:51:58Z","https://github.com/Tresjs/tres/issues/860",0.73510855,{"description":2903,"labels":2904,"number":2906,"owner":2863,"repository":2883,"state":2907,"title":2908,"updated_at":2909,"url":2910,"score":2911},"## Bug\r\n\r\nNodeOps accidentally shares `scene` across multiple `TresCanvas`s.\r\n\r\nSee the StackBlitz reproduction for details.\r\n\r\n## Problem\r\n\r\nNodeOps's [`let scene`](https://github.com/Tresjs/tres/blob/f6097a3d6a3e34fddb689266b062869fe5a9bf1e/src/core/nodeOps.ts#L15) is [set whenever a new `Scene` is added to any `TresCanvas`](https://github.com/Tresjs/tres/blob/f6097a3d6a3e34fddb689266b062869fe5a9bf1e/src/core/nodeOps.ts#L84) – i.e., the variable points to the last `Scene` added to a `TresCanvas`. If elements from another `TresCanvas` read `scene` in nodeOps, the code expects that they will find *their* `Scene`, but they do not.\r\n\r\n## Solution?\r\n\r\n### Solution A\r\n\r\nWe could refactor nodeOps as `(context: TresContext) => NodeOps`. \r\n\r\nEvery new instance of `TresCanvas` could create a new nodeOps instance which contains a unique `TresContext` (i.e., with the appropriate `Scene`) within its scope.\r\n\r\n### Solution B\r\n\r\nOtherwise, we could simply recurse up the parent chain until we reach a `Scene` or run out of parents.\r\n\r\n## Reproduction\r\n\r\nhttps://stackblitz.com/edit/tresjs-basic-e6uzmm?file=src%2FApp.vue\r\n\r\n## System Info\r\n\r\n```shell\r\nSystem:\r\n OS: Linux 5.0 undefined\r\n CPU: (8) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz\r\n Memory: 0 Bytes / 0 Bytes\r\n Shell: 1.0 - /bin/jsh\r\n Binaries:\r\n Node: 18.18.0 - /usr/local/bin/node\r\n Yarn: 1.22.19 - /usr/local/bin/yarn\r\n npm: 10.2.3 - /usr/local/bin/npm\r\n pnpm: 8.14.0 - /usr/local/bin/pnpm\r\n npmPackages:\r\n @tresjs/cientos: ^3.5.1 => 3.5.1 \r\n @tresjs/core: ^3.4.1 => 3.4.1 \r\n @tresjs/eslint-config-vue: ^0.2.1 => 0.2.1 \r\n vite: ^4.5.0 => 4.5.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.",[2905],{"name":2892,"color":2893},560,"closed","NodeOps shares `scene` across multiple`TresCanvas`s","2024-03-08T10:36:46Z","https://github.com/Tresjs/tres/issues/560",0.69011235,{"description":2913,"labels":2914,"number":2925,"owner":2863,"repository":2883,"state":2907,"title":2926,"updated_at":2927,"url":2928,"score":2929},"### Describe the bug\n\n```\r\n \u003CTresMesh\r\n v-for=\"(player, key) in players\"\r\n :key=\"key\"\r\n :scale=\"1\"\r\n cast-shadow\r\n :position=\"[player.x, player.y, player.z]\"\r\n >\r\n \u003CTresBoxGeometry :args=\"[1, 1, 1]\" />\r\n \u003CTresMeshNormalMaterial />\r\n \u003C/TresMesh>\r\n```\r\n\r\nIf players increase size (new player) is not being added to the scene\r\n\r\n\n\n### Reproduction\n\nhttps://stackblitz.com/edit/node-7ddska?file=src%2Fviews%2FHomeView.vue\n\n### Steps to reproduce\n\nHit key \"R\", you will see the list on top increase but not the amount of boxes\n\n### System Info\n\n```shell\nSystem:\r\n OS: Linux 5.0 undefined\r\n CPU: (2) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz\r\n Memory: 0 Bytes / 0 Bytes\r\n Shell: 1.0 - /bin/jsh\r\n Binaries:\r\n Node: 16.14.2 - /usr/local/bin/node\r\n Yarn: 1.22.19 - /usr/local/bin/yarn\r\n npm: 9.4.2 - /usr/local/bin/npm\r\n npmPackages:\r\n @tresjs/cientos: ^2.0.0 => 2.0.0 \r\n @tresjs/core: ^2.0.0 => 2.0.0 \r\n\r\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/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,2916,2919,2922],{"name":2892,"color":2893},{"name":2917,"color":2918},"good first issue","7057ff",{"name":2920,"color":2921},"help wanted","008672",{"name":2923,"color":2924},"community","DC9921",284,"v-for of meshes doesn't add new instances to scene ","2023-06-09T11:39:28Z","https://github.com/Tresjs/tres/issues/284",0.69199556,{"description":2931,"labels":2932,"number":2933,"owner":2863,"repository":2934,"state":2907,"title":2935,"updated_at":2936,"url":2937,"score":2938},"### 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,"cientos","Update lint rules","2023-09-05T15:19:17Z","https://github.com/Tresjs/cientos/issues/195",0.69399893,{"description":2940,"labels":2941,"number":2942,"owner":2863,"repository":2883,"state":2907,"title":2943,"updated_at":2944,"url":2945,"score":2946},"### Description\n\nI would like to have a version for Babylon.js\n\n### Suggested solution\n\nI'm currently learning Babylon.js and have noticed some differences in terms of mesh events between Three.js and Babylon.js. Unlike Three.js, Babylon.js provides a mechanism similar to the actionManager on its meshes. I'm curious to know if Cientos has a similar feature. I'm looking forward to seeing how the combination of Vue with Babylon.js will eventually shape a project\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.",[],502,"Are you considering providing a version for Babylon.js after completing this project?","2024-01-10T10:59:15Z","https://github.com/Tresjs/tres/issues/502",0.69927174,{"description":2948,"labels":2949,"number":2950,"owner":2863,"repository":2883,"state":2907,"title":2951,"updated_at":2952,"url":2953,"score":2954},"### Description\r\n\r\nI'm using a v-for to instantiate some TresMeshes (as seen in some of the examples), but I need the v-for to dynamically update, and that doesn't seem to work. Any ideas on how to dynamically update a v-for with tres components?\r\n\r\n### Suggested solution\r\n\r\nNot sure if this is a module thing, but maybe add a v-for to the TresGroup component?\r\n\r\n### Alternative\r\n\r\n_No response_\r\n\r\n### Additional context\r\n\r\nTo clarify, the array being used by the v-for: when it changes, the meshes instantiated by the v-for do not update.\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.",[],413,"v-for please","2023-10-06T22:05:25Z","https://github.com/Tresjs/tres/issues/413",0.7061697,{"description":2956,"labels":2957,"number":2873,"owner":2863,"repository":2934,"state":2907,"title":2961,"updated_at":2962,"url":2963,"score":2878},"### Description\n\n\r\n\r\nWe can create a wrapper using extend to add CSM and apply shaders to other materials, as we can see in that example. We're applying vertex shader to a physical material using the [glass demo](https://playground.tresjs.org/experiments/glass-material),\n\n### Suggested solution\n\na wrapper around https://www.npmjs.com/package/three-custom-shader-material\n\n### Alternative\n\nI don't know if there are another alternatives, but CSM is one of the most used\n\n### Additional context\n\nThe Idea is to create just a wrapper\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.",[2958],{"name":2959,"color":2960},"feature","c2e0c6","Custom shader material","2023-10-26T13:42:49Z","https://github.com/Tresjs/cientos/issues/109",["Reactive",2965],{},["Set"],["ShallowReactive",2968],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$f8RcBojiuecDl5b_7KxzMW6ecmaLVK2Ak8g3TNZ9EMSo":-1},"/Tresjs/cientos/131"]