` 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.",[2876,2879],{"name":2877,"color":2878},"bug","d73a4a",{"name":2880,"color":2881},"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":2888,"labels":2889,"number":2891,"owner":2857,"repository":2892,"state":2893,"title":2894,"updated_at":2895,"url":2896,"score":2897},"### Describe the bug\r\n\r\nI'm trying to change the direction of the scrolling to horizontal when `progress > 0.5` like this:\r\n\r\n```ts\r\n \u003CScrollControls ref=\"scRef\" \r\n v-model=\"progress\"\r\n :distance=\"10\"\r\n :smooth-scroll=\"0.1\"\r\n html-scroll\r\n :horizontal=\"progress > 0.5\"\r\n >\r\n ```\r\n \r\n but props are not reactive\r\n\r\n### Reproduction\r\n\r\nhttps://stackblitz.com/edit/stackblitz-starters-jq66po?file=src%2Fcomponents%2FTheExperience.vue\r\n\r\n### Steps to reproduce\r\n\r\nScroll until the point that horizontal should be true\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: 16.20.0 - /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 pnpm: 8.6.3 - /usr/local/bin/pnpm\r\n npmPackages:\r\n @tresjs/cientos: 2.3.0 => 2.3.0 \r\n @tresjs/core: 2.4.0 => 2.4.0 \r\n vite: ^4.4.3 => 4.4.3\r\n```\r\n\r\n\r\n### Used Package Manager\r\n\r\npnpm\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/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.\r\n- [X] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.",[2890],{"name":2877,"color":2878},131,"cientos","closed","ScrollControls props are not reactive","2023-09-04T15:27:15Z","https://github.com/Tresjs/cientos/issues/131",0.46348214,{"description":2899,"labels":2900,"number":2902,"owner":2857,"repository":2868,"state":2893,"title":2903,"updated_at":2904,"url":2905,"score":2906},"## 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.",[2901],{"name":2877,"color":2878},560,"NodeOps shares `scene` across multiple`TresCanvas`s","2024-03-08T10:36:46Z","https://github.com/Tresjs/tres/issues/560",0.69011235,{"description":2908,"labels":2909,"number":2920,"owner":2857,"repository":2868,"state":2893,"title":2921,"updated_at":2922,"url":2923,"score":2924},"### 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.",[2910,2911,2914,2917],{"name":2877,"color":2878},{"name":2912,"color":2913},"good first issue","7057ff",{"name":2915,"color":2916},"help wanted","008672",{"name":2918,"color":2919},"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":2926,"labels":2927,"number":2928,"owner":2857,"repository":2892,"state":2893,"title":2929,"updated_at":2930,"url":2931,"score":2932},"### 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.69399893,{"description":2934,"labels":2935,"number":2936,"owner":2857,"repository":2868,"state":2893,"title":2937,"updated_at":2938,"url":2939,"score":2940},"### 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":2942,"labels":2943,"number":2944,"owner":2857,"repository":2868,"state":2893,"title":2945,"updated_at":2946,"url":2947,"score":2948},"### 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":2950,"labels":2951,"number":2856,"owner":2857,"repository":2892,"state":2893,"title":2955,"updated_at":2956,"url":2957,"score":2863},"### 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.",[2952],{"name":2953,"color":2954},"feature","c2e0c6","Custom shader material","2023-10-26T13:42:49Z","https://github.com/Tresjs/cientos/issues/109",["Reactive",2959],{},["Set"],["ShallowReactive",2962],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fLdpEJG6XZEByeogj5suJZTs8szYLUAWL4KQv0bKsN5U":-1},"/Tresjs/rapier/131"]