` 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.",[2893,2896],{"name":2894,"color":2895},"bug","d73a4a",{"name":2897,"color":2898},"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.7586603,{"description":2905,"labels":2906,"number":2907,"owner":2853,"repository":2908,"state":2909,"title":2910,"updated_at":2911,"url":2912,"score":2913},"## Problem\r\n\r\nA linter rule added in #388 erases valid Markdown. \r\n\r\n### Italics\r\n\r\nThis is an [italicized word in valid Markdown](https://www.markdownguide.org/basic-syntax/#italic) in a JSDoc. \r\n\r\n\r\n```\r\n/**\r\n * *italic*\r\n **/\r\n```\r\n\r\n\u003Cimg width=\"150\" alt=\"Screenshot 2024-05-02 at 23 01 10\" src=\"https://github.com/Tresjs/cientos/assets/20469369/64a46a9a-1793-4a2d-aa4e-8f324d4d5388\">\r\n\r\nLinted:\r\n\r\n```\r\n/**\r\n * italic*\r\n **/\r\n```\r\n\r\n\u003Cimg width=\"148\" alt=\"Screenshot 2024-05-02 at 23 02 12\" src=\"https://github.com/Tresjs/cientos/assets/20469369/44f66638-083c-4bc3-b16d-e1bd8b0f7456\">\r\n\r\n### Bulleted lists\r\n\r\nThis is a [bulleted list in valid Markdown](https://www.markdownguide.org/basic-syntax/#unordered-lists) in a JSDoc.\r\n\r\n```\r\n/**\r\n * * list item 1\r\n * * list item 2\r\n * * list item 3\r\n **/\r\n```\r\n\r\n\u003Cimg width=\"119\" alt=\"Screenshot 2024-05-02 at 23 03 16\" src=\"https://github.com/Tresjs/cientos/assets/20469369/cf257066-50f7-4d26-96ab-ab91cfa3a9f4\">\r\n\r\nLinted:\r\n\r\n```\r\n/**\r\n * list item 1\r\n * list item 2\r\n * list item 3\r\n **/\r\n```\r\n\r\n\u003Cimg width=\"188\" alt=\"Screenshot 2024-05-02 at 23 03 50\" src=\"https://github.com/Tresjs/cientos/assets/20469369/55ceb768-3c85-43c5-b737-4ad173d3011a\">\r\n\r\n## Solution\r\n\r\n* [Change this setting](https://github.com/gajus/eslint-plugin-jsdoc/blob/e343ab5b1efaa59b07c600138aee070b4083857e/docs/rules/no-multi-asterisks.md?plain=1#L254): `\"jsdoc/no-multi-asterisks\": [\"error\"|\"warn\", {\"allowWhitespace\":true}]` \r\n* Revert the incorrectly linted changes.\r\n\r\n## See also\r\n\r\n* https://github.com/gajus/eslint-plugin-jsdoc/issues/773\r\n* https://github.com/gajus/eslint-plugin-jsdoc/issues/803\r\n\r\n## Steps to reproduce\r\n\r\n* Add this to a Cientos component:\r\n\r\n```\r\n/**\r\n * * list item 1\r\n * * list item 2\r\n * * list item 3\r\n **/\r\ninterface List {}\r\n```\r\n\r\n* Save\r\n* Run `pnpm run lint --fix`\r\n* The result will be:\r\n\r\n```\r\n/**\r\n * list item 1\r\n * list item 2\r\n * list item 3\r\n **/\r\ninterface List {}\r\n```\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.",[],398,"cientos","closed","New linter rules erase some JSDoc formatting","2024-09-04T13:41:19Z","https://github.com/Tresjs/cientos/issues/398",0.70948666,{"description":2915,"labels":2916,"number":2933,"owner":2853,"repository":2885,"state":2909,"title":2934,"updated_at":2935,"url":2936,"score":2937},"### Description\n\nAs a developer I would like to inspect the userData object when I select an object to inspect on the devtools,\n\n### Suggested solution\n\nJust add the property\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.",[2917,2920,2923,2926,2929,2932],{"name":2918,"color":2919},"good first issue","7057ff",{"name":2921,"color":2922},"help wanted","008672",{"name":2924,"color":2925},"feature","c2e0c6",{"name":2927,"color":2928},"dx","1576AD",{"name":2930,"color":2931},"devtools","0AD07B",{"name":2867,"color":2868},693,"Add userData to vue devtools component inspector","2024-07-08T07:46:52Z","https://github.com/Tresjs/tres/issues/693",0.7187946,{"description":2939,"labels":2940,"number":2946,"owner":2853,"repository":2885,"state":2909,"title":2947,"updated_at":2948,"url":2949,"score":2950},"### Describe the bug\r\n\r\nIn our project, we use a bit big bigger models and we test our app on mobile browsers. While observing the memory, it became clear that unmounting the TresCanvas, does not properly dispose the scene and some (maybe all) internal objects. So navigating in and out a few times on iOS device, cause the page to crash and reload, because it runs out of memory.\r\n\r\n\u003Cimg width=\"1728\" alt=\"Screenshot 2023-11-19 at 20 15 16\" src=\"https://github.com/Tresjs/tres/assets/8687970/af02ab7d-7e0f-4c9a-bc87-5b4fd49c9c21\">\r\n\r\nUnfortunately, my understanding of three.js is not much, but I had similar issues in the past and it was related to the way the scene and objects, that were added to the scene, being not properly disposed. Its possible that some references to some internal TresJS objects are also the cause of the issue. I just dont know.\r\n\r\nIts also possible that I am missing something in the way I use the framework (which will be the best for me), so hopefully someone can give me a hand with this.\r\n\r\nThank you!\r\n\r\n### Reproduction\r\n\r\nhttps://stackblitz.com/edit/tresjs-basic-tmk778\r\n\r\n### Steps to reproduce\r\n\r\nTo reproduce, open the reproduction link in a Chromium browser and use the `Memory` tab in the dev tools. \r\nAt the top of the web page, you will find a basic navigation, that routes into two separate pages, where \"The Experience\" loads the TresCanvas and \"Home\" is used to unmount the other one.\r\n\r\n### System Info\r\n\r\n_No response_\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.",[2941,2942,2945],{"name":2894,"color":2895},{"name":2943,"color":2944},"performance","3F1D85",{"name":2897,"color":2898},449,"Memory leak caused by non disposed scene, when using routes","2024-12-12T01:06:14Z","https://github.com/Tresjs/tres/issues/449",0.7335717,{"description":2952,"labels":2953,"number":2954,"owner":2853,"repository":2885,"state":2909,"title":2955,"updated_at":2956,"url":2957,"score":2958},"### Describe the bug\n\nUsing the TresJS nuxt module on Nuxt 3.8.1. \r\nWhen trying to use `useTexture` directly in a script setup, I'm getting a \"500 - document is not defined\" error upon loading the page!\r\n\r\nSo this:\r\n```\r\n\u003Cscript setup lang=\"ts\">\r\nimport { extend } from '@tresjs/core';\r\nimport { OrbitControls } from '@tresjs/cientos';\r\n\r\nextend({ OrbitControls });\r\n\r\nconst pbrTexture = await useTexture({\r\n map: 'https://raw.githubusercontent.com/Tresjs/assets/main/textures/black-rock/Rock035_2K_Displacement.jpg',\r\n displacementMap:\r\n 'https://raw.githubusercontent.com/Tresjs/assets/main/textures/black-rock/Rock035_2K_Displacement.jpg',\r\n roughnessMap:\r\n 'https://raw.githubusercontent.com/Tresjs/assets/main/textures/black-rock/Rock035_2K_Roughness.jpg',\r\n normalMap:\r\n 'https://raw.githubusercontent.com/Tresjs/assets/main/textures/black-rock/Rock035_2K_NormalGL.jpg',\r\n ambientOcclusion:\r\n 'https://raw.githubusercontent.com/Tresjs/assets/main/textures/black-rock/Rock035_2K_AmbientOcclusion.jpg',\r\n});\r\n\u003C/script>\r\n```\r\n\r\nIs throwing the error when directly calling the correspondig route.\r\n\r\nWhat is working is wrapping `useTexture` inside a onBeforeMount hook:\r\n\r\n```\r\n\u003Cscript setup lang=\"ts\">\r\nimport { extend } from '@tresjs/core';\r\nimport { OrbitControls } from '@tresjs/cientos';\r\n\r\nextend({ OrbitControls });\r\n\r\nconst pbrTexture2 = ref();\r\n\r\nonBeforeMount(async () => {\r\n pbrTexture2.value = await useTexture({\r\n map: 'https://raw.githubusercontent.com/Tresjs/assets/main/textures/black-rock/Rock035_2K_Displacement.jpg',\r\n displacementMap:\r\n 'https://raw.githubusercontent.com/Tresjs/assets/main/textures/black-rock/Rock035_2K_Displacement.jpg',\r\n roughnessMap:\r\n 'https://raw.githubusercontent.com/Tresjs/assets/main/textures/black-rock/Rock035_2K_Roughness.jpg',\r\n normalMap:\r\n 'https://raw.githubusercontent.com/Tresjs/assets/main/textures/black-rock/Rock035_2K_NormalGL.jpg',\r\n ambientOcclusion:\r\n 'https://raw.githubusercontent.com/Tresjs/assets/main/textures/black-rock/Rock035_2K_AmbientOcclusion.jpg',\r\n });\r\n});\r\n\u003C/script>\r\n```\r\n\r\nI've provided a very basic reproduction below!\n\n### Reproduction\n\nhttps://stackblitz.com/edit/nuxt-starter-fn4snl?file=app.vue\n\n### Steps to reproduce\n\nSimply navigate to the reproduction link\n\n### System Info\n\n```shell\nFrom Stackblitz: \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: 9.4.2 - /usr/local/bin/npm\r\n pnpm: 8.9.2 - /usr/local/bin/pnpm\r\n npmPackages:\r\n @tresjs/cientos: ^3.6.0 => 3.6.0 \r\n @tresjs/nuxt: ^1.2.2 => 1.2.2 \r\n @tresjs/post-processing: ^0.5.0 => 0.5.0 \r\n\r\nFrom my Local environment:\r\n System:\r\n OS: Windows 11 10.0.22621\r\n CPU: (16) x64 13th Gen Intel(R) Core(TM) i7-1360P\r\n Memory: 10.65 GB / 31.64 GB\r\n Binaries:\r\n Node: 18.18.2 - C:\\Program Files\\nodejs\\node.EXE\r\n Yarn: 1.22.19 - C:\\Program Files\\nodejs\\yarn.CMD\r\n npm: 9.8.1 - C:\\Program Files\\nodejs\\npm.CMD\r\n pnpm: 8.10.2 - ~\\AppData\\Local\\pnpm\\pnpm.EXE\r\n Browsers:\r\n Edge: Chromium (119.0.2151.58)\r\n Internet Explorer: 11.0.22621.1\n```\n\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.",[],444,"Document is not defined when using `useTexture`","2023-12-11T14:42:48Z","https://github.com/Tresjs/tres/issues/444",0.7428162,{"description":2960,"labels":2961,"number":2869,"owner":2853,"repository":2908,"state":2909,"title":2963,"updated_at":2964,"url":2965,"score":2874},"### 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.",[2962],{"name":2894,"color":2895},"ScrollControls props are not reactive","2023-09-04T15:27:15Z","https://github.com/Tresjs/cientos/issues/131",{"description":2967,"labels":2968,"number":2970,"owner":2853,"repository":2885,"state":2909,"title":2971,"updated_at":2972,"url":2973,"score":2974},"### Description\n\nAs a dev, I would love to see a landing page for https://tresjs.org/ inspired by https://threlte.xyz/\r\n\r\n\n\n### Suggested solution\n\n- [x] Scrollytelling (using tresjs/cientos#118)\r\n- [x] Post-processing Depth of Field (tresjs/post-processing#56)\r\n\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.",[2969],{"name":2879,"color":2880},414,"New landing page","2023-11-27T18:31:11Z","https://github.com/Tresjs/tres/issues/414",0.74873644,["Reactive",2976],{},["Set"],["ShallowReactive",2979],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fDAisfJxOKohdGiOg9UBDeQlZssgdVcHbK_yoFzWW06Y":-1},"/Tresjs/tres/798"]