\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.",[2867,2870,2873],{"name":2868,"color":2869},"question","d876e3",{"name":2871,"color":2872},"waiting for author","B145BC",{"name":2874,"color":2875},"p2-edge-case","ABCC40",727,"Tresjs","tres","open","`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.75055474,{"description":2885,"labels":2886,"number":2893,"owner":2877,"repository":2894,"state":2879,"title":2895,"updated_at":2896,"url":2897,"score":2898},"### Describe the bug\r\n\r\nI am setting the `render-mode` on my `TresCanvas` to `on-demand`. I am using the `CameraControls` for controlling orbiting. I expect the `@render` emitter to fire only briefly when mounting the scene. But instead, it fires on every frame.\r\n\r\n```\r\n\u003CTresCanvas\r\n preset=\"realistic\"\r\n render-mode=\"on-demand\"\r\n @render=\"console.log('rendering ...')\"\r\n>\r\n \u003CTresPerspectiveCamera />\r\n \u003CCameraControls v-bind=\"controlsState\" make-default />\r\n\r\n \u003C!-- rest of the scene -->\r\n\u003C/TresCanvas>\r\n```\r\nCommenting out the rest of the scene does not change the behavior, when commenting out `\u003CCameraControls />`, on-demand returns to working as expected.\r\n\r\nFYI: It does not happen with `\u003COrbitControls />` component.\r\n\r\n\r\n\r\n\r\n### Reproduction\r\n\r\nhttps://stackblitz.com/edit/tresjs-minimal-reproduction-gj1p2u?file=src%2FApp.vue\r\n\r\n### Steps to reproduce\r\n\r\n1. Open console and verify that the `@render` emitter is firing the `console.log`\r\n2. Comment out `\u003CCameraControls v-bind=\"controlsState\" make-default />` and check the console to verify that logging stops after a few render loops\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.",[2887,2890],{"name":2888,"color":2889},"bug","d73a4a",{"name":2891,"color":2892},"p3-minor-bug","F28C37",471,"cientos","CameraControls break on-demand rendering (by invalidating every frame)","2024-10-17T07:32:51Z","https://github.com/Tresjs/cientos/issues/471",0.76010704,{"description":2900,"labels":2901,"number":2903,"owner":2877,"repository":2878,"state":2879,"title":2904,"updated_at":2905,"url":2906,"score":2907},"### Describe the bug\r\n\r\nIf you just add TresCanvas to your code, you will get the error.\r\n[Vue warn]: onUnmounted is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.\r\n\r\nsample of stackblitz has same problem too.\r\n\r\n\r\nAn error occurs even if you only add TresCanvas to a vue project without anything.\r\n\r\nApp.vue\r\n```\u003Cscript setup lang=\"ts\">\r\nimport { RouterLink, RouterView } from 'vue-router'\r\nimport HelloWorld from './components/HelloWorld.vue'\r\n\u003C/script>\r\n\r\n\u003Ctemplate>\r\n \u003Cheader>\r\n \u003Cimg alt=\"Vue logo\" class=\"logo\" src=\"@/assets/logo.svg\" width=\"125\" height=\"125\" />\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.",[2902],{"name":2888,"color":2889},905,"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.7821673,{"description":2909,"labels":2910,"number":2911,"owner":2877,"repository":2912,"state":2913,"title":2914,"updated_at":2915,"url":2916,"score":2917},"I'm trying to use a v-for to instantiate some meshes, but it looks like the v-for has no reactivity with the scene. Is this expected behavior? If so, any ideas on how to make the v-for reactive? Thanks.",[],71,"lab","closed","V-for not dynamic?","2023-10-05T00:28:41Z","https://github.com/Tresjs/lab/issues/71",0.7161895,{"description":2919,"labels":2920,"number":2924,"owner":2877,"repository":2878,"state":2913,"title":2925,"updated_at":2926,"url":2927,"score":2928},"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.",[2921],{"name":2922,"color":2923},"p4-important-bug","D93F0B",759,"Sprite - Raycast events not firing if inside group","2024-07-09T14:15:56Z","https://github.com/Tresjs/tres/issues/759",0.75311005,{"description":2930,"labels":2931,"number":2932,"owner":2877,"repository":2878,"state":2913,"title":2933,"updated_at":2934,"url":2935,"score":2936},"### Describe the bug\n\nI was trying to load an OBJ file and get the geometry out to make it a TresLine instead of TresMesh, but it kept failed. And every BufferGeometry I've tried has failed the same thing, including empty new one (`new BufferGeometry()`).\r\n\r\n```\r\nUncaught (in promise) TypeError: Spread syntax requires ...iterable[Symbol.iterator] to be a function\r\n at patchProp (chunk-JZH6BBMB.js:1084:11)\r\n at mountElement (chunk-BVQHDTV7.js:6605:11)\r\n at processElement (chunk-BVQHDTV7.js:6552:7)\r\n at patch (chunk-BVQHDTV7.js:6424:11)\r\n at mountChildren (chunk-BVQHDTV7.js:6680:7)\r\n at mountElement (chunk-BVQHDTV7.js:6587:7)\r\n at processElement (chunk-BVQHDTV7.js:6552:7)\r\n at patch (chunk-BVQHDTV7.js:6424:11)\r\n at mountChildren (chunk-BVQHDTV7.js:6680:7)\r\n at processFragment (chunk-BVQHDTV7.js:6897:7)\r\n```\r\n\r\nI could bypass this by changing the nodeOps part of compiled tres.js file, by wrapping the setAttribute call in patchProps method with try-catch, and it seems to work. But it feels kinda hacky and I am assuming there would be some data lost during this process.\r\n\r\n\u003Cimg width=\"1604\" alt=\"스크린샷 2023-08-11 오후 11 01 59\" src=\"https://github.com/Tresjs/tres/assets/7546436/4c959416-d366-43fe-94e3-bb005d2a5ec4\">\r\n\r\n```ts\r\npatchProp(node, prop, _prevValue, nextValue) {\r\n if (node) {\r\n let root = node\r\n let key = prop\r\n let finalKey = kebabToCamel(key)\r\n let target = root?.[finalKey]\r\n\r\n if (root.type === 'BufferGeometry') {\r\n if (key === 'args') return\r\n try { // added to bypass error\r\n root.setAttribute(\r\n kebabToCamel(key),\r\n new BufferAttribute(...(nextValue as ConstructorParameters\u003Ctypeof BufferAttribute>)),\r\n )\r\n } catch {} // added to bypass error\r\n return\r\n }\r\n// ...\r\n```\r\n\r\nhttps://github.com/Tresjs/tres/blob/211c3e172726a4cb339a02333ac596fcf3bb7793/src/core/nodeOps.ts#L187C7-L187C7\n\n### Reproduction\n\nhttps://stackblitz.com/edit/tresjs-basic-yrhocm?file=src%2Fcomponents%2FTheExperience.vue\n\n### Steps to reproduce\n\n1. Create a TresCanvas and include a TresMesh or any other component that utilises a geometry.\r\n2. Create a BufferGeometry in `\u003Cscript>` section. (ex. `const geometry = new BufferGeometry()`)\r\n3. Refer to the BufferGeometry with `\u003Cprimitive :object=\"geometry\">` tag.\r\n4. Run the code.\n\n### System Info\n\n```shell\nSystem:\r\n OS: macOS 14.0\r\n CPU: (10) arm64 Apple M1 Max\r\n Memory: 114.36 MB / 32.00 GB\r\n Shell: 5.9 - /bin/zsh\r\nBinaries:\r\n Node: 18.14.0 - ~/.nvm/versions/node/v18.14.0/bin/node\r\n npm: 9.3.1 - ~/.nvm/versions/node/v18.14.0/bin/npm\r\nBrowsers:\r\n Safari: 17.0\r\nnpmPackages:\r\n @tresjs/cientos: ^3.0.1 => 3.0.1\r\n @tresjs/nuxt: ^1.1.3 => 1.1.3\r\n\r\nNote: I also have ran this on Firefox (116.0.2) and Arc (Version 1.3.0 (40706) / Chromium Engine Version 115.0.5790.170)\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.",[],363,"BufferGeometry as \u003Cprimitive> component throws an error","2024-07-17T09:43:31Z","https://github.com/Tresjs/tres/issues/363",0.7587796,{"description":2938,"labels":2939,"number":2947,"owner":2877,"repository":2948,"state":2913,"title":2949,"updated_at":2950,"url":2951,"score":2952},"**Describe the bug**\r\n\r\nAdding Leches v0.14.0 to a `\u003Ctemplate>` causes a number of warnings to be emitted in the browser console. Additional warnings are emitted if Leches is configured to use a \"folder\".\r\n\r\nCheck the StackBlitz below. Here are the warnings emitted by the StackBlitz. Using Firefox/Mac and Chrome/Mac locally.\r\n\r\n```\r\n[Vue warn]: Extraneous non-props attributes (role) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. \r\n[...]\r\n```\r\n\r\n```\r\nRequest for font \"Roboto\" blocked at visibility level 2 (requires 3)\r\ntresjsbasiccdhx7e-ytd5--5173--d3416dfd.local-corp.webcontainer.io\r\n```\r\n\r\n\r\n**Reproduction**\r\n\r\n* See this [Stackblitz](https://stackblitz.com/edit/tresjs-basic-cdhx7e?file=src%2Fcomponents%2FTheExperience.vue) \r\n* Open the browser console to see warnings.\r\n\r\n**Expected behavior**\r\n\r\nNo warnings for normal use.\r\n\r\n**System Info**\r\n\r\nFrom StackBlitz:\r\n\r\n System:\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.10.5 - /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 @tresjs/leches: ^0.14.0 => 0.14.0 \r\n vite: ^4.5.0 => 4.5.0 ",[2940,2941,2944],{"name":2888,"color":2889},{"name":2942,"color":2943},"good first issue","7057ff",{"name":2945,"color":2946},"help wanted","008672",86,"leches","Leches causes console warnings to be emitted","2023-12-15T09:03:13Z","https://github.com/Tresjs/leches/issues/86",0.7594223,{"description":2954,"labels":2955,"number":2947,"owner":2877,"repository":2959,"state":2913,"title":2960,"updated_at":2961,"url":2962,"score":2952},"thanks for this great package, it's so elagant, really appreciate\r\n\r\nI'm having difficulty in passing custom shader effect into the `EffectComposer`, is it possible currently?\r\n\r\n```\r\n\u003CSuspense>\r\n \u003CEffectComposer ref=\"composer\">\r\n \u003CBloom />\r\n \u003C/EffectComposer>\r\n\u003C/Suspense>\r\n```\r\nSuppose besides Bloom Effect, i still want to pass another shader effect, how could i achieve that?\r\n```\r\nimport { ShaderPass } from 'postprocessing';\r\nimport Shader from './shader.js\r\n\r\n\u003Cscript setup>\r\n const shaderEffect = new ShaderPass(Shader)\r\n const composer = ref()\r\n\r\n onMounted(()=>{\r\n if (composer.value) {\r\n composer.value.addPass(shaderEffect)\r\n composer.value.render()\r\n }\r\n })\r\n\u003C/script>\r\n\r\n```\r\nThat's my first attempt, but it didn't work, any help? thanks",[2956],{"name":2957,"color":2958},"investigation","D03599","post-processing","need help, How can we pass custom effect?","2024-07-14T20:46:52Z","https://github.com/Tresjs/post-processing/issues/86",{"description":2964,"labels":2965,"number":2966,"owner":2877,"repository":2912,"state":2913,"title":2967,"updated_at":2968,"url":2969,"score":2970},"So there is my code. And my canvas has black background and i wanna change it to transparent but it doesnt work. PLS HELP😿\r\n\r\n\u003Cscript setup>\r\n import { TresCanvas } from \"@tresjs/core\";\r\n import { OrbitControls, useFBX } from \"@tresjs/cientos\";\r\n\r\n const path = \"/src/assets/model/room.fbx\";\r\n const scene = await useFBX(path);\r\n console.log(scene);\r\n\u003C/script>\r\n\r\n\u003Ctemplate>\r\n \u003CTresCanvas>\r\n \u003CTresPerspectiveCamera :position=\"[3, 2, 5]\" />\r\n \u003COrbitControls />\r\n \u003CSuspense>\r\n \u003Cprimitive v-if=\"scene\" :object=\"scene\" scale=\"0.025\" />\r\n \u003C/Suspense>\r\n \u003CTresDirectionalLight :intensity=\"2\" :position=\"[3, 3, 3]\" />\r\n \u003CTresAmbientLight :intensity=\"1\" />\r\n \u003C/TresCanvas>\r\n\u003C/template>\r\n",[],81,"Good morning everynyan. How to change background to transparent","2023-12-25T05:01:44Z","https://github.com/Tresjs/lab/issues/81",0.7595057,{"description":2972,"labels":2973,"number":2979,"owner":2877,"repository":2878,"state":2913,"title":2980,"updated_at":2981,"url":2982,"score":2983},"**Is your feature request related to a problem? Please describe.**\r\nThere is no type definition for primitive\r\n\r\n",[2974,2975,2976],{"name":2942,"color":2943},{"name":2945,"color":2946},{"name":2977,"color":2978},"dx","1576AD",255,"Primitive type definition","2023-05-21T09:05:02Z","https://github.com/Tresjs/tres/issues/255",0.7622314,["Reactive",2985],{},["Set"],["ShallowReactive",2988],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fb-jZWYYGuGNMRo6klg4R6UuUu5KbpyGHBN313pOBrrI":-1},"/Tresjs/cientos/263"]