\r\n \r\n \u003CTeleport to=\"body\">\r\n \u003Cbutton @click=\"isVisible.value = false\">Hide GLTF\u003C/button>\r\n \u003C/Teleport>\r\n\u003C/template>\r\n```\r\n\r\n### Suggested solution\r\n\r\nEnable usage of portal-vue and/or Teleport. I have tried both, but they both throw different kinds of error:\r\n- portal-vue: \"[portal-vue]: Necessary Injection not found. Make sur you installed the plugin properly.\"\r\n- Teleport: \"Failed to locate Teleport target with selector \"body\" […]\"\r\n\r\nI suspect both errors are caused by the usage of a custom-renderer thus portal-vue/Teleport simply can't access their targets. It's a wild guess, but when moving everything outside of the `\u003CTresCanvas>` context it works just fine.\r\n\r\n### Alternative\r\n\r\n_No response_\r\n\r\n### Additional context\r\n\r\nI guess https://github.com/Tresjs/tres/issues/312 is somewhat of a similar topic\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},"help wanted","008672",{"name":2919,"color":2920},"investigation","D03599",464,"Enable usage of \u003CTeleport>","2024-03-28T11:19:20Z","https://github.com/Tresjs/tres/issues/464",0.7687766,{"description":2927,"labels":2928,"number":2931,"owner":2872,"repository":2884,"state":2874,"title":2932,"updated_at":2933,"url":2934,"score":2935},"### 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.",[2929,2930],{"name":2866,"color":2867},{"name":2869,"color":2870},471,"CameraControls break on-demand rendering (by invalidating every frame)","2024-10-17T07:32:51Z","https://github.com/Tresjs/cientos/issues/471",0.7827654,{"description":2937,"labels":2938,"number":2942,"owner":2872,"repository":2873,"state":2874,"title":2943,"updated_at":2944,"url":2945,"score":2946},"### Describe the bug\n\nI have a Nuxt 3 app and in it a page with a Tres.js scene. The scene contains `\u003CTresDirectionalLight cast-shadow />` which casts a shadow. When navigating away from the page with the scene and navigating back to the scene (using NuxtLink), I get the error below.\r\n\r\nWhen I remove the `cast-shadow` prop, the bug disappears.\r\n\r\n\r\n```\r\nthree.js?v=f17f74c8:17801 Uncaught TypeError: Cannot read properties of null (reading 'state')\r\n at setProgram (three.js?v=f17f74c8:17801:41)\r\n at WebGLRenderer.renderBufferDirect (three.js?v=f17f74c8:17292:23)\r\n at renderObject (three.js?v=f17f74c8:13624:21)\r\n at renderObject (three.js?v=f17f74c8:13631:7)\r\n at WebGLShadowMap.render (three.js?v=f17f74c8:13519:9)\r\n at WebGLRenderer.render (three.js?v=f17f74c8:17493:17)\r\n at tres.js:387:33\r\n at index.mjs:71:52\r\n at Array.map (\u003Canonymous>)\r\n at Object.trigger (index.mjs:71:40)\r\n ```\r\n \u003Cdetails>\r\n \u003Csummary>complete error log\u003C/summary>\r\n\r\n ```\r\nsetProgram\t\t\t\t@\tthree.js?v=f17f74c8:17801\r\nWebGLRenderer.renderBufferDirect\t@\tthree.js?v=f17f74c8:17292\r\nrenderObject\t\t\t\t@\tthree.js?v=f17f74c8:13624\r\nrenderObject\t\t\t\t@\tthree.js?v=f17f74c8:13631\r\nWebGLShadowMap.render\t\t\t@\tthree.js?v=f17f74c8:13519\r\nWebGLRenderer.render\t\t\t@\tthree.js?v=f17f74c8:17493\r\n(anonymous)\t\t\t\t@\ttres.js:387\r\n(anonymous)\t\t\t\t@\tindex.mjs:71\r\ntrigger\t\t\t\t\t@\tindex.mjs:71\r\nwe.immediate\t\t\t\t@\ttres.js:160\r\nloop\t\t\t\t\t@\tindex.mjs:617\r\nrequestAnimationFrame\t\t\r\nresume\t\t\t\t\t@\tindex.mjs:624\r\nor\t\t\t\t\t@\ttres.js:388\r\ncr\t\t\t\t\t@\ttres.js:593\r\n(anonymous)\t\t\t\t@\ttres.js:1086\r\n(anonymous)\t\t\t\t@\truntime-core.esm-bundler.js:2757\r\ncallWithErrorHandling\t\t\t@\truntime-core.esm-bundler.js:199\r\ncallWithAsyncErrorHandling\t\t@\truntime-core.esm-bundler.js:206\r\nhook.__weh.hook.__weh\t\t\t@\truntime-core.esm-bundler.js:2737\r\nflushPostFlushCbs\t\t\t@\truntime-core.esm-bundler.js:385\r\nflushJobs\t\t\t\t@\truntime-core.esm-bundler.js:427\r\nPromise.then\t\t\r\nqueueFlush\t\t\t\t@\truntime-core.esm-bundler.js:322\r\nqueuePostFlushCb\t\t\t@\truntime-core.esm-bundler.js:336\r\nqueueEffectWithSuspense\t\t\t@\truntime-core.esm-bundler.js:7256\r\nbaseWatchOptions.scheduler\t\t@\truntime-core.esm-bundler.js:6138\r\neffect2.scheduler\t\t\t@\treactivity.esm-bundler.js:1892\r\ntrigger\t\t\t\t\t@\treactivity.esm-bundler.js:250\r\nendBatch\t\t\t\t@\treactivity.esm-bundler.js:308\r\nnotify\t\t\t\t\t@\treactivity.esm-bundler.js:594\r\ntrigger\t\t\t\t\t@\treactivity.esm-bundler.js:568\r\nset value\t\t\t\t@\treactivity.esm-bundler.js:1510\r\nfinalizeNavigation\t\t\t@\tvue-router.mjs:3478\r\n(anonymous)\t\t\t\t@\tvue-router.mjs:3343\r\nPromise.then\t\t\r\npushWithRedirect\t\t\t@\tvue-router.mjs:3310\r\npush\t\t\t\t\t@\tvue-router.mjs:3235\r\nnavigate\t\t\t\t@\tvue-router.mjs:2300\r\ncallWithErrorHandling\t\t\t@\truntime-core.esm-bundler.js:199\r\ncallWithAsyncErrorHandling\t\t@\truntime-core.esm-bundler.js:206\r\ninvoker\t\t\t\t\t@\truntime-dom.esm-bundler.js:722\r\n```\r\n\u003C/details>\n\n### Reproduction\n\nhttps://stackblitz.com/edit/nuxt-starter-w3neca?file=pages%2Findex.vue\n\n### Steps to reproduce\n\n_No response_\n\n### System Info\n\n```shell\nSystem:\r\n OS: macOS 14.6.1\r\n CPU: (10) arm64 Apple M1 Pro\r\n Memory: 79.77 MB / 32.00 GB\r\n Shell: 5.9 - /bin/zsh\r\n Binaries:\r\n Node: 20.9.0 - ~/.nvm/versions/node/v20.9.0/bin/node\r\n Yarn: 1.22.19 - /opt/homebrew/bin/yarn\r\n npm: 10.1.0 - ~/.nvm/versions/node/v20.9.0/bin/npm\r\n pnpm: 9.4.0 - ~/Library/pnpm/pnpm\r\n bun: 1.0.3 - ~/.bun/bin/bun\r\n Browsers:\r\n Chrome: 129.0.6668.100\r\n Safari: 17.6\r\n npmPackages:\r\n @tresjs/cientos: ^4.0.3 => 4.0.2 \r\n @tresjs/core: ^4.2.10 => 4.2.10 \r\n @tresjs/nuxt: ^3.0.7 => 3.0.7\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.",[2939],{"name":2940,"color":2941},"pending-triage","97A4FE",851,"Scene breaks when `cast-shadow` enabled and navigating back to a previously initialized scene","2024-10-22T15:09:42Z","https://github.com/Tresjs/tres/issues/851",0.789011,{"description":2948,"labels":2949,"number":2959,"owner":2872,"repository":2873,"state":2960,"title":2961,"updated_at":2962,"url":2963,"score":2964},"### 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.",[2950,2953,2956],{"name":2951,"color":2952},"types","5C076E",{"name":2954,"color":2955},"PR welcome","2D76B0",{"name":2957,"color":2958},"p3-significant","2C78E3",496,"closed","Allow `TresObject3D#material` to set Array","2024-07-05T15:18:00Z","https://github.com/Tresjs/tres/issues/496",0.77248555,{"description":2966,"labels":2967,"number":2968,"owner":2872,"repository":2969,"state":2960,"title":2970,"updated_at":2971,"url":2972,"score":2973},"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,"lab","Good morning everynyan. How to change background to transparent","2023-12-25T05:01:44Z","https://github.com/Tresjs/lab/issues/81",0.7739894,{"description":2975,"labels":2976,"number":2977,"owner":2872,"repository":2873,"state":2960,"title":2978,"updated_at":2979,"url":2980,"score":2981},"### Description\n\nAs a developer using TresJS I will like to be able to use directives directly from the core without installing `@tresjs/cientos` https://cientos.tresjs.org/guide/directives/v-light-helper.html\r\n- v-log\r\n- v-light-helper\r\n- v-always-look-at\r\n\r\n\n\n### Suggested solution\n\nAdd them to the 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/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.",[],524,"feat: add directives to core ","2024-01-29T15:11:35Z","https://github.com/Tresjs/tres/issues/524",0.77450943,["Reactive",2983],{},["Set"],["ShallowReactive",2986],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fSSk3wD4HCMPm8FZI5aEkgfUVqRpFVzKP6BLvtsvgNyQ":-1},"/Tresjs/tres/190"]