\r\n\u003C/template>\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.",[2867,2870,2873],{"name":2868,"color":2869},"feature","c2e0c6",{"name":2871,"color":2872},"p3-significant","2C78E3",{"name":2874,"color":2875},"v5","EFC959",883,"Tresjs","tres","open","WebGPU support","2025-02-06T09:35:42Z","https://github.com/Tresjs/tres/issues/883",0.6846798,{"description":2885,"labels":2886,"number":2890,"owner":2877,"repository":2878,"state":2879,"title":2891,"updated_at":2892,"url":2893,"score":2894},"Atm the docs don't have search functionality, as we grow on features, it's important to have it\n\nhttps://vitepress.dev/reference/default-theme-search",[2887],{"name":2888,"color":2889},"docs","0075ca",152,"Add Algolia Search to docs","2024-03-28T11:19:27Z","https://github.com/Tresjs/tres/issues/152",0.73102623,{"description":2896,"labels":2897,"number":2900,"owner":2877,"repository":2878,"state":2879,"title":2901,"updated_at":2902,"url":2903,"score":2904},"### Description\r\n\r\nAs a developer using TresJS, I want to have a `\u003CPortal>` component that can contain a separate `Scene` and `context`.\r\n\r\n### Suggested solution\r\n\r\nProvide a `\u003CPortal>` component similar to R3F.\r\n\r\n### Requirements\r\n\r\n- [ ] Add override-able pointer to `TresContext` (Also add as prop to TresCanvas: see #581 ); use vanilla `THREE.Vector2`, accept `Vector2` and `UsePointerOptions` as TresCanvas prop\r\n- [ ] Make these fields on `TresContext` swappable and (in some case injectable by the user): scene, camera, cameras, controls, raycaster, eventManager, sizes\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.",[2898,2899],{"name":2871,"color":2872},{"name":2874,"color":2875},789,"Portal","2025-02-06T09:59:01Z","https://github.com/Tresjs/tres/issues/789",0.7361987,{"description":2906,"labels":2907,"number":2914,"owner":2877,"repository":2915,"state":2879,"title":2916,"updated_at":2917,"url":2918,"score":2919},"### Describe the bug\n\nWhile working on the `Joint` I wanted to reproduce the same custom collider exportation, and when I wanted to watch the `Joint` props, I wasn't able to do so...\r\n\r\nI figured that the Vue component `setup function` needs a `Proxy` as the first parameter to **reflect** changes and here:\r\nhttps://github.com/Tresjs/rapier/blob/main/src/components/colliders/index.ts#L29-L42\r\n```ts\r\nprops: {\r\n ...BaseCollider.props,\r\n shape: undefined,\r\n },\r\n setup(props, ctx) {\r\n return {\r\n ...BaseCollider?.setup?.(\r\n { ...props, shape } as Parameters\u003C\r\n Exclude\u003C(typeof BaseCollider)['setup'], undefined>\r\n >['0'],\r\n ctx,\r\n ),\r\n }\r\n },\r\n```\r\n\r\nWe are destructing it which is equivalent to passing a native `Object`\n\n### Reproduction\n\n---\n\n### Steps to reproduce\n\n---\n\n### System Info\n\n```shell\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/rapier/blob/main/CODE_OF_CONDUCT.md)\n- [X] Read the [Contributing Guidelines](https://github.com/Tresjs/rapier/blob/main/CONTRIBUTING.md).\n- [X] Read the [docs](https://rapier.tresjs.org/guide).\n- [X] Check that there isn't [already an issue](https://github.com/Tresjs/rapier/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.",[2908,2911],{"name":2909,"color":2910},"bug","d73a4a",{"name":2912,"color":2913},"collider","306B60",149,"rapier","Bug: custom collider props are not reactive anymore.","2024-11-19T23:52:46Z","https://github.com/Tresjs/rapier/issues/149",0.7368684,{"description":2921,"labels":2922,"number":2925,"owner":2877,"repository":2926,"state":2879,"title":2927,"updated_at":2928,"url":2929,"score":2930},"### Description\r\n\r\nAs a dev using TresJS, I would like to have an abstraction for [Drag Controls](https://threejs.org/docs/#examples/en/controls/DragControls)\r\n\r\n\r\n\r\n### Suggested solution\r\n\r\nSimilar to https://github.com/pmndrs/drei?tab=readme-ov-file#dragcontrols\r\nhttps://threejs.org/examples/?q=drag#misc_controls_drag\r\n\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/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.",[2923,2924],{"name":2868,"color":2869},{"name":2871,"color":2872},455,"cientos","Drag Controls","2024-11-27T10:47:00Z","https://github.com/Tresjs/cientos/issues/455",0.73816174,{"description":2932,"labels":2933,"number":2938,"owner":2877,"repository":2878,"state":2879,"title":2939,"updated_at":2940,"url":2941,"score":2942},"### Describe the bug\r\n\r\nAn object's `pointer-leave` event is fired more than once on a single \"leave\" if it is the descendant of another element that also defines a `pointer-leave`:\r\n\r\n```vue\r\n\u003CTresGroup @pointer-leave=\"() => {}\">\r\n \u003CTresMesh @pointer-leave=\"() => { console.log('Leave') }\">\r\n \u003CTresBoxGeometry :args=\"[1, 1, 1]\" />\r\n \u003CTresMeshToonMaterial color=\"#efefef\" />\r\n \u003C/TresMesh>\r\n\u003C/TresGroup>\r\n```\r\n\r\nSee also: `pointer-out` exhibits similar behavior.\r\n\r\n### Reproduction\r\n\r\nhttps://stackblitz.com/edit/tresjs-minimal-reproduction-qd169j?file=src%2Fcomponents%2FTheExperience.vue\r\n\r\n### Steps to reproduce\r\n\r\n* Open Stackblitz link in a browser.\r\n* Mouse over cube, then leave.\r\n* See browser console: multiple `pointer-leave` events will be logged.\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.",[2934,2935],{"name":2909,"color":2910},{"name":2936,"color":2937},"p3-minor-bug","F28C37",801,"`pointer-{leave,out}` fired multiple times on single \"leave\"","2025-01-02T17:17:01Z","https://github.com/Tresjs/tres/issues/801",0.7467356,{"description":2944,"labels":2945,"number":2946,"owner":2877,"repository":2926,"state":2879,"title":2947,"updated_at":2948,"url":2949,"score":2950},"### Describe the bug\n\nFollow up for this [Discussion](https://github.com/orgs/Tresjs/discussions/755).\r\n\r\ntl;dr: I tried extending Trackball Controls according to the documentation for extending Orbit Controls, however it didn't work. Confirmed to be a bug with Cientos, so I made this issue.\n\n### Reproduction\n\nhttps://stackblitz.com/edit/tresjs-minimal-reproduction-vev5jt?file=src%2Fcomponents%2FTheExperience.vue\n\n### Steps to reproduce\n\nExtend trackball controls like how you would with orbit controls as mentioned in the TresJS docs\n\n### System Info\n\n```shell\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.20.3 - /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.15.6 - /usr/local/bin/pnpm\r\n npmPackages:\r\n @tresjs/cientos: 3.9.0 => 3.9.0 \r\n @tresjs/core: 4.0.2 => 4.0.2 \r\n vite: ^5.3.2 => 5.3.2\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/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.\n- [X] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.",[],453,"Trackball Controls not extending properly","2024-09-03T13:00:59Z","https://github.com/Tresjs/cientos/issues/453",0.7491871,{"description":2952,"labels":2953,"number":1499,"owner":2877,"repository":2926,"state":2955,"title":2956,"updated_at":2957,"url":2958,"score":2959},"### Describe the bug\n\nUsing ScrollControls on the Nuxt playground gets broken \r\n\r\n\r\nhttps://github.com/Tresjs/cientos/assets/4699008/1a739f12-df88-4235-9793-f9859520c2e7\r\n\r\n\n\n### Reproduction\n\nhttps://deploy-preview-52--tresjs-playground.netlify.app/experiments/scroll-controls\n\n### Steps to reproduce\n\n_No response_\n\n### System Info\n\n```shell\nSystem:\r\n OS: macOS 13.4.1\r\n CPU: (8) arm64 Apple M1 Pro\r\n Memory: 100.84 MB / 16.00 GB\r\n Shell: 5.9 - /bin/zsh\r\n Binaries:\r\n Node: 18.14.1 - ~/.nvm/versions/node/v18.14.1/bin/node\r\n Yarn: 1.22.19 - /usr/local/bin/yarn\r\n npm: 9.3.1 - ~/.nvm/versions/node/v18.14.1/bin/npm\r\n Browsers:\r\n Brave Browser: 114.1.52.130\r\n Chrome: 114.0.5735.198\r\n Firefox: 114.0.2\r\n Safari: 16.5.1\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 @tresjs/nuxt: 1.0.0 => 1.0.0 \r\n @tresjs/post-processing: ^0.3.0 => 0.3.0\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/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.\n- [X] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.",[2954],{"name":2909,"color":2910},"closed","ScrollControls not working correctly on Nuxt ","2023-07-12T06:05:12Z","https://github.com/Tresjs/cientos/issues/129",0.6709709,{"description":2961,"labels":2962,"number":2963,"owner":2877,"repository":2878,"state":2955,"title":2964,"updated_at":2965,"url":2966,"score":2967},"### Describe the bug\r\n\r\nThis is more likely me doing something wrong than a bug. I am trying to setup a simple scene, where a sphere is put in front of a plane with a photo. \r\nThe sphere has [Meshtransmissionmaterial](https://github.com/pmndrs/drei-vanilla?tab=readme-ov-file#meshtransmissionmaterial) applied to it. It seems to work but the sphere is only black instead of transparent.\r\n\r\n\u003Cimg width=\"1213\" alt=\"Bildschirmfoto 2024-11-29 um 01 05 56\" src=\"https://github.com/user-attachments/assets/b82dfc5c-c4f1-46e6-aefa-0d3345a989ca\">\r\n\r\n\r\n```vue\r\n\u003Cscript setup lang=\"ts\">\r\nimport {\r\n Mesh,\r\n MeshStandardMaterial,\r\n PlaneGeometry,\r\n SphereGeometry,\r\n} from \"three\";\r\n\r\nimport { MeshTransmissionMaterial } from \"@pmndrs/vanilla\";\r\nimport { TresCanvas, useTexture } from \"@tresjs/core\";\r\n\r\nconst geometry = new SphereGeometry(0.4);\r\nconst material = new MeshTransmissionMaterial({\r\n _transmission: 1,\r\n thickness: 0,\r\n roughness: 0,\r\n chromaticAberration: 0.03,\r\n distortion: 0,\r\n distortionScale: 0.5,\r\n temporalDistortion: 0.0,\r\n});\r\nconst meshWithMaterial = new Mesh(geometry, material);\r\nconst { map } = await useTexture({\r\n map: \"/lola.jpg\",\r\n});\r\nconst meshPlane = new Mesh(\r\n new PlaneGeometry(0.7, 0.7),\r\n new MeshStandardMaterial({ map })\r\n);\r\n\u003C/script>\r\n\r\n\u003Ctemplate>\r\n \u003CTresCanvas>\r\n \u003CTresPerspectiveCamera :position=\"[0, 0, 4]\" />\r\n \u003CTresGroup :scale=\"3\">\r\n \u003Cprimitive :object=\"meshWithMaterial\" />\r\n \u003Cprimitive :object=\"meshPlane\" />\r\n \u003C/TresGroup>\r\n \u003CTresHemisphereLight :intensity=\"3\" />\r\n \u003C/TresCanvas>\r\n\u003C/template>\r\n```",[],874,"\"Drei Vanilla\"’s MeshTransmissionMaterial renders only black sphere","2024-12-01T12:42:17Z","https://github.com/Tresjs/tres/issues/874",0.69005334,{"description":2969,"labels":2970,"number":2980,"owner":2877,"repository":2878,"state":2955,"title":2981,"updated_at":2982,"url":2983,"score":2984},"**Is your feature request related to a problem? Please describe.**\r\n`useRenderLoop` only provides the register methods like `onBeforeLoop`、`onLoop`、`onAfterLoop`. But, there are no `off-*` methods to remove callback. so, do we need to add some `off-*`methods?\r\n\r\n**Describe the solution you'd like**\r\nadd some methods: `offBeforeLoop`、`offLoop`、`offAfterLoop`\r\n\r\n**Additional context**\r\nYeah, there is a way to remove callback like\r\n```JavaScript\r\nconst offMethod = onBeforeLoop(callback)\r\n// off\r\noffMethod.off() \r\n```\r\n\r\nBut I think a specific API like `offBeforeLoop` is a better choice. 😜",[2971,2974,2977],{"name":2972,"color":2973},"help wanted","008672",{"name":2975,"color":2976},"wontfix","ffffff",{"name":2978,"color":2979},"waiting for author","B145BC",202,"need to add some `off-*`methods?","2024-01-19T14:56:38Z","https://github.com/Tresjs/tres/issues/202",0.7060612,["Reactive",2986],{},["Set"],["ShallowReactive",2989],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$f87m0E_km6_QL34oAD_7KdHiH7EdC6jFIN8RRnjhMOOs":-1},"/Tresjs/tres/711"]