\r\n\r\n \u003Cdiv class=\"wrapper\">\r\n \u003CHelloWorld msg=\"You did it!\" />\r\n\r\n \u003Cnav>\r\n \u003CRouterLink to=\"/\">Home\u003C/RouterLink>\r\n \u003CRouterLink to=\"/about\">About\u003C/RouterLink>\r\n \u003C/nav>\r\n \u003C/div>\r\n \u003C/header>\r\n\r\n \u003CRouterView />\r\n\u003C/template>\r\n\r\n\u003Cstyle scoped>\r\n\r\n\u003C/style>\r\n```\r\n\r\nAboutView\r\n```\r\n\u003Ctemplate>\r\n \u003Cdiv class=\"about\">\r\n \u003Ch1>This is an about page\u003C/h1>\r\n \u003Cdiv class=\"canvas\">\r\n \u003CTresCanvas>\r\n \u003C!-- Your scene here -->\r\n \u003C/TresCanvas>\r\n \u003C/div>\r\n \u003C/div>\r\n\u003C/template>\r\n\u003Cscript setup lang=\"ts\">\r\nimport { TresCanvas } from '@tresjs/core'\r\n\u003C/script>\r\n\u003Cstyle>\r\n@media (min-width: 1024px) {\r\n .about {\r\n min-height: 100vh;\r\n display: flex;\r\n align-items: center;\r\n }\r\n}\r\n.canvas {\r\n width: 100px;\r\n height: 100px;\r\n}\r\n\u003C/style>\r\n```\r\n\r\n### Reproduction\r\n\r\nhttps://stackblitz.com/edit/tresjs-minimal-reproduction\r\n\r\n### Steps to reproduce\r\n\r\n_No response_\r\n\r\n### System Info\r\n\r\n```shell\r\nSystem:\r\n OS: Linux 5.15 Ubuntu 22.04.4 LTS 22.04.4 LTS (Jammy Jellyfish)\r\n CPU: (8) x64 13th Gen Intel(R) Core(TM) i7-1355U\r\n Memory: 1.70 GB / 7.76 GB\r\n Container: Yes\r\n Shell: 5.1.16 - /bin/bash\r\n Binaries:\r\n Node: 20.18.0 - ~/.nvm/versions/node/v20.18.0/bin/node\r\n npm: 11.0.0 - ~/.nvm/versions/node/v20.18.0/bin/npm\r\n npmPackages:\r\n @tresjs/cientos: ^4.0.3 => 4.0.3 \r\n @tresjs/core: ^4.3.2 => 4.3.2 \r\n vite: ~6.0.6 => 6.0.6\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.",[2856],{"name":2857,"color":2858},"bug","d73a4a",905,"Tresjs","tres","open","I get an error when using TresCanvas. Like this .. ( onUnmounted is called when there is no active component instance to be associated with. Lifecycle injection APIs can... )","2025-02-08T10:41:31Z","https://github.com/Tresjs/tres/issues/905",0.70859414,{"description":2868,"labels":2869,"number":2870,"owner":2860,"repository":2871,"state":2862,"title":2872,"updated_at":2873,"url":2874,"score":2875},"### Describe the bug\r\n\r\nconst text = ref('this is text!')\r\n\r\nconst onClick = ( )=>{\r\n text.value='text change!'\r\n}\r\n\r\n\r\n\r\n \u003CTresMesh @click=\"onClick\" :position=\"[1, 1, 1]\">\r\n \u003CTresBoxGeometry />\r\n \u003CTresMeshNormalMaterial />\r\n \u003CHtml\r\n center\r\n transform\r\n :distance-factor=\"4\"\r\n :position=\"[0, 0, 0.65]\"\r\n :scale=\"[0.75, 0.75, 0.75]\"\r\n >\r\n \u003Ch1 class=\"bg-white dark:bg-dark text-xs p-1 rounded\">\r\n {{ text }}\r\n \u003C/h1>\r\n \u003C/Html>\r\n \u003C/TresMesh>\r\n\r\n\r\n### Reproduction\r\n\r\nN\r\n\r\n### Steps to reproduce\r\n\r\n_No response_\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/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.",[],407,"cientos","Html content reactive support","2024-05-08T01:52:13Z","https://github.com/Tresjs/cientos/issues/407",0.7282933,{"description":2877,"labels":2878,"number":2882,"owner":2860,"repository":2871,"state":2862,"title":2883,"updated_at":2884,"url":2885,"score":2886},"### Description\n\nAs a developer I would like to have a easy way to use the [Flow](https://threejs.org/examples/?q=curve#webgl_modifier_curve) instance in ThreeJs\n\n### Suggested solution\n\nCould be base on drei implementation https://github.com/pmndrs/drei?tab=readme-ov-file#curvemodifier\r\n\r\nBut I would like to add an SVG path option\n\n### Alternative\n\nAny other alternative is considered\n\n### Additional context\n\nWhich name do you prefer for this component\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.",[2879],{"name":2880,"color":2881},"p2-nice-to-have","D4C5F9",417,"FollowPath/Flow or CurveModifier","2024-05-16T12:36:06Z","https://github.com/Tresjs/cientos/issues/417",0.75155663,{"description":2888,"labels":2889,"number":2899,"owner":2860,"repository":2861,"state":2862,"title":2900,"updated_at":2901,"url":2902,"score":2903},"### Describe the bug\n\nI tried writing this code in `tresjs v 4.0.2`\r\n```vue \u003CTresGroup>\r\n \u003CTresPerspectiveCamera :position=\"[5, 5, 5]\" />\r\n \u003COrbitControls />\r\n \u003CTresAmbientLight :intensity=\"0.5\" color=\"red\" />\r\n \u003CTresMesh ref=\"boxRef\" :position=\"[0, 2, 0]\">\r\n \u003CTresBoxGeometry :args=\"[1, 1, 1]\" />\r\n \u003CTresMeshNormalMaterial />\r\n \u003C/TresMesh>\r\n \u003CTresDirectionalLight :position=\"[0, 2, 4]\" :intensity=\"1\" cast-shadow />\r\n \u003CTresAxesHelper />\r\n \u003CTresGridHelper :args=\"[10, 10, 0x444444, 'teal']\" />\r\n \u003C/TresGroup>\r\n````\r\nThen I got this\r\n\r\n\r\n**However, it can run correctly in `v3.9.0`**\r\n\r\n\n\n### Reproduction\n\nhttps://stackblitz.com/~/github.com/hexianWeb/starter\n\n### Steps to reproduce\n\n_No response_\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.",[2890,2893,2896],{"name":2891,"color":2892},"question","d876e3",{"name":2894,"color":2895},"waiting for author","B145BC",{"name":2897,"color":2898},"p2-edge-case","ABCC40",727,"`Camera` wrapped by `TresGroup` cannot be used properly after `version 4.0`","2024-06-15T11:45:11Z","https://github.com/Tresjs/tres/issues/727",0.7548215,{"description":2905,"labels":2906,"number":2907,"owner":2860,"repository":2861,"state":2862,"title":2908,"updated_at":2909,"url":2910,"score":2911},"### Describe the bug\n\nRan into this issue when trying to integrate TresJS in my Astro project. To verify that it wasn't me doing something stupid, I switched to Alvaro's [tres-astro repository](https://github.com/alvarosabu/tres-astro) from the \"How to add 3D to Astro using TresJS\" video. I'm running into the same warning there. I also upgraded to the latest astro in the tres-astro repository, but still seeing the same error. As far as I can tell, the 3D model does show up. \r\n\r\nRemoving the TheExperience component and just trying to use TresCanvas also triggers the same warning. \r\n\r\n```\r\n(index):224 [Vue warn]: onUnmounted is called when there is no active component instance to be associated with. \r\nLifecycle injection APIs can only be used during execution of setup(). \r\nIf you are using async setup(), make sure to register lifecycle hooks before the first await statement.\r\n```\r\n\r\nCall Stack as shown in Edge \r\n| Method | | File|\r\n| --- | --- | --- |\r\n| warn$1 | @ | runtime-core.esm-bundler.js:51|\r\n| injectHook | @ | runtime-core.esm-bundler.js:2808|\r\n| (anonymous) | @ | runtime-core.esm-bundler.js:2815|\r\n| yr | @ | tres.js:831|\r\n| _r | @ | tres.js:889|\r\n| (anonymous) | @ | tres.js:1058|\r\n| (anonymous) | @ | index.mjs:71|\r\n| trigger | @ | index.mjs:71|\r\n| c | @ | tres.js:944|\r\n| setTimeout | | |\r\n| c | @ | tres.js:944|\r\n| wr | @ | tres.js:949|\r\n| yt | @ | tres.js:972|\r\n| br | @ | tres.js:1056|\r\n| (anonymous) | @ | tres.js:1638|\r\n| (anonymous) | @ | runtime-core.esm-bundler.js:2815|\r\n| callWithErrorHandling | @ | runtime-core.esm-bundler.js:199|\r\n| callWithAsyncErrorHandling | @ | runtime-core.esm-bundler.js:206|\r\n| hook.__weh.hook.__weh | @ | runtime-core.esm-bundler.js:2795|\r\n| flushPostFlushCbs | @ | runtime-core.esm-bundler.js:385|\r\n| hydrate2 | @ | runtime-core.esm-bundler.js:1675|\r\n| mount | @ | runtime-core.esm-bundler.js:3939|\r\n| app.mount | @ | runtime-dom.esm-bundler.js:1786|\r\n| (anonymous) | @ | client.js:45|\r\n| await in (anonymous) | | |\r\n| (anonymous) | @ | (index):224|\r\n| e | @ | (index):224|\r\n| await in e | | |\r\n| start | @ | (index):224|\r\n| childrenConnectedCallback | @ | (index):224|\r\n| await in childrenConnectedCallback | | |\r\n| e | @ | (index):224|\r\n| (anonymous) | @ | (index):224|\n\n### Reproduction\n\nhttps://github.com/alvarosabu/tres-astro\n\n### Steps to reproduce\n\nClone the repository \r\nrm the package-lock.json file \r\nnpm install\r\nnpm run dev\n\n### System Info\n\n```shell\nnpx envinfo --system --npmPackages '{vite,@tresjs/*,three,vue,@astrojs/*}' --binaries\r\n --browsers --npmGlobalPackages '{astro}'\r\n\r\n System:\r\n OS: Windows 11 10.0.22631\r\n CPU: (28) x64 Intel(R) Core(TM) i7-14700K\r\n Memory: 40.84 GB / 63.77 GB\r\n Binaries:\r\n Node: 20.11.1 - C:\\Program Files\\nodejs\\node.EXE\r\n Yarn: 1.22.19 - C:\\Program Files (x86)\\Yarn\\bin\\yarn.CMD\r\n npm: 10.4.0 - C:\\Program Files\\nodejs\\npm.CMD\r\n Browsers:\r\n Edge: Chromium (127.0.2651.74)\r\n Internet Explorer: 11.0.22621.3527\r\n npmPackages:\r\n @astrojs/mdx: ^3.1.4 => 3.1.9\r\n @astrojs/rss: ^4.0.7 => 4.0.10\r\n @astrojs/sitemap: ^3.1.6 => 3.2.1\r\n @astrojs/vue: ^4.5.0 => 4.5.3\r\n @tresjs/cientos: ^4.0.0 => 4.0.3\r\n @tresjs/core: ^4.2.7 => 4.3.1\r\n three: ^0.167.1 => 0.167.1\r\n vue: ^3.4.38 => 3.5.13\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.",[],886,"Using TresJS with Astro : [Vue warn]: onUnmounted is called when there is no active component instance to be associated with...","2024-12-20T10:08:26Z","https://github.com/Tresjs/tres/issues/886",0.7573056,{"description":2913,"labels":2914,"number":2921,"owner":2860,"repository":2861,"state":2862,"title":2922,"updated_at":2923,"url":2924,"score":2925},"### 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.",[2915,2918],{"name":2916,"color":2917},"feature","c2e0c6",{"name":2919,"color":2920},"p3-significant","2C78E3",873,"Allow compound property names to be kebab-cased","2024-11-27T10:10:40Z","https://github.com/Tresjs/tres/issues/873",0.75748473,{"description":2927,"labels":2928,"number":2932,"owner":2860,"repository":2861,"state":2933,"title":2934,"updated_at":2935,"url":2936,"score":2937},"On `v4` I noticed that if a `Sprite` is inside a `Group`, the events coming from the raycast are not triggered, only the missing one, even if the events are binded to the Sprite itself, not the parent group.\r\nRed is `Sprite+Group`, Blue is `Sprite`\r\n\r\n\r\n\r\n-- ADDITION:\r\nI noticed one interesting thing too. In the demo if you swap the order of the sprites, everything is gonna break\r\n```js\r\n \u003CSpriteNoGroup />\r\n \u003CSpriteWithGroup />\r\n ```\r\nTry to swap e bring the one with the group first, it throws an error.\r\n\r\nhttps://github.com/Tresjs/tres/assets/6367879/cbbe512b-c2f9-4734-be8f-5c985f627555\r\n\r\n\r\n### Reproduction\r\n\r\nhttps://stackblitz.com/edit/nuxt-starter-yxv5gz?file=components%2FSpriteWithGroup.vue\r\n\r\n### Steps to reproduce\r\n\r\n_No response_\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.",[2929],{"name":2930,"color":2931},"p4-important-bug","D93F0B",759,"closed","Sprite - Raycast events not firing if inside group","2024-07-09T14:15:56Z","https://github.com/Tresjs/tres/issues/759",0.72122556,{"description":2939,"labels":2940,"number":2941,"owner":2860,"repository":2871,"state":2933,"title":2942,"updated_at":2943,"url":2944,"score":2945},"### Description\n\nAs a dev using TresJS, I would like to have smooth OrbitControls and TrackballControls\n\n### Suggested solution\n\nhttps://twitter.com/niccolofanton/status/1836727821005139988\r\nhttps://github.com/niccolofanton/SmoothOrbitControls\r\n\r\nCredits @niccolofanton\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/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.",[],495,"Smooth Orbit Controls","2024-09-27T16:09:51Z","https://github.com/Tresjs/cientos/issues/495",0.7278755,{"description":2947,"labels":2948,"number":2956,"owner":2860,"repository":2861,"state":2933,"title":2957,"updated_at":2958,"url":2959,"score":2960},"### Description\n\nCurrently, `TresObject3D#material` doesn't allow to set array. My suggestion is to make Array acceptable as well.\r\n\r\nhttps://github.com/Tresjs/tres/blob/main/src/types/index.ts#L43\r\n\r\n```\r\n- material?: THREE.Material & TresBaseObject\r\n+ material?: THREE.Material & TresBaseObject | (THREE.Material & TresBaseObject)[]\r\n```\r\n\r\n## (Personal) reason\r\n\r\nI use TresJS and [spine-ts THREE.JS](https://github.com/EsotericSoftware/spine-runtimes/blob/4.1/spine-ts/spine-threejs/README.md). \r\n\r\nTHREE.Mesh#material's type is `Material | Material[]`. (https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/three/src/objects/Mesh.d.ts#L24)\r\n\r\nspine-ts' set Array material according to THREE's type. (https://github.com/EsotericSoftware/spine-runtimes/blob/4.1/spine-ts/spine-threejs/src/MeshBatcher.ts#L60)\r\n\r\nHowever, `TresObject3D#material` doesn't allow to set Array material, when a spine's mesh is rendered in Scene of TresJS and a material**s** in spine's mesh are evaluate, TresJS throws runtime error.\r\n\r\n\r\n## Basis that my suggestion is reasonable\r\n\r\nA type of THREE.Mesh#material extending THREE.Object3D is `Material | Material[]`, so I think it's reasonable that a type of `TresObject3D#material` extending THREE.Object3D is `THREE.Material & TresBaseObject | (THREE.Material & TresBaseObject)[]`.\r\n\n\n### Suggested solution\n\nhttps://github.com/Tresjs/tres/blob/main/src/types/index.ts#L43\r\n\r\n```\r\n- material?: THREE.Material & TresBaseObject\r\n+ material?: THREE.Material & TresBaseObject | (THREE.Material & TresBaseObject)[]\r\n```\r\n\r\nand adding logic for array.\n\n### Alternative\n\nnothing. I currently use pnpm patch and add logic for array.\n\n### Additional context\n\nI can create PR for this suggestion.\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.",[2949,2952,2955],{"name":2950,"color":2951},"types","5C076E",{"name":2953,"color":2954},"PR welcome","2D76B0",{"name":2919,"color":2920},496,"Allow `TresObject3D#material` to set Array","2024-07-05T15:18:00Z","https://github.com/Tresjs/tres/issues/496",0.73367524,{"description":2962,"labels":2963,"number":2970,"owner":2860,"repository":2861,"state":2933,"title":2971,"updated_at":2972,"url":2973,"score":2974},"Since vue compiler doesn't recognize the TresJS as native, users need to add this code to the `vite.config.ts` \n\n isCustomElement: tag => tag.startsWith('Tres') && tag !== 'TresCanvas',",[2964,2967],{"name":2965,"color":2966},"docs","0075ca",{"name":2968,"color":2969},"v2","FEE22E",169,"Add customElement vue compiler code to docs","2023-03-30T06:19:00Z","https://github.com/Tresjs/tres/issues/169",0.7344879,["Reactive",2976],{},["Set"],["ShallowReactive",2979],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fZGzykazm5CwF5nGBfvPuW-HAc1pcHykWgONOxktJErQ":-1},"/Tresjs/tres/880"]