` 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.",[3038,3041],{"name":3039,"color":3040},"bug","d73a4a",{"name":3042,"color":3043},"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":3050,"labels":3051,"number":3053,"owner":3019,"repository":3054,"state":3055,"title":3056,"updated_at":3057,"url":3058,"score":3059},"### 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.",[3052],{"name":3039,"color":3040},131,"cientos","closed","ScrollControls props are not reactive","2023-09-04T15:27:15Z","https://github.com/Tresjs/cientos/issues/131",0.46348214,{"description":3061,"labels":3062,"number":3064,"owner":3019,"repository":3030,"state":3055,"title":3065,"updated_at":3066,"url":3067,"score":3068},"## 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.",[3063],{"name":3039,"color":3040},560,"NodeOps shares `scene` across multiple`TresCanvas`s","2024-03-08T10:36:46Z","https://github.com/Tresjs/tres/issues/560",0.69011235,{"description":3070,"labels":3071,"number":3082,"owner":3019,"repository":3030,"state":3055,"title":3083,"updated_at":3084,"url":3085,"score":3086},"### 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.",[3072,3073,3076,3079],{"name":3039,"color":3040},{"name":3074,"color":3075},"good first issue","7057ff",{"name":3077,"color":3078},"help wanted","008672",{"name":3080,"color":3081},"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":3088,"labels":3089,"number":3090,"owner":3019,"repository":3054,"state":3055,"title":3091,"updated_at":3092,"url":3093,"score":3094},"### 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":3096,"labels":3097,"number":3098,"owner":3019,"repository":3030,"state":3055,"title":3099,"updated_at":3100,"url":3101,"score":3102},"### 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":3104,"labels":3105,"number":3106,"owner":3019,"repository":3030,"state":3055,"title":3107,"updated_at":3108,"url":3109,"score":3110},"### 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":3112,"labels":3113,"number":3018,"owner":3019,"repository":3054,"state":3055,"title":3117,"updated_at":3118,"url":3119,"score":3025},"### 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.",[3114],{"name":3115,"color":3116},"feature","c2e0c6","Custom shader material","2023-10-26T13:42:49Z","https://github.com/Tresjs/cientos/issues/109",["Reactive",3121],{},["Set"],["ShallowReactive",3124],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fLdpEJG6XZEByeogj5suJZTs8szYLUAWL4KQv0bKsN5U":-1},"/Tresjs/rapier/131"]