\n \u003CVisuTrackBallControls />\n \u003C/TresPerspectiveCamera>\n \u003C/TresCanvas>\n`\n\n[VisuTrackBallControls.vue.txt](https://github.com/user-attachments/files/18799562/VisuTrackBallControls.vue.txt)\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.",[],595,"Tresjs","cientos","open","Add TrackballControls to Cientos","2025-02-14T13:18:40Z","https://github.com/Tresjs/cientos/issues/595",0.7299858,{"description":3027,"labels":3028,"number":3035,"owner":3019,"repository":3036,"state":3021,"title":3037,"updated_at":3038,"url":3039,"score":3040},"### 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.",[3029,3032],{"name":3030,"color":3031},"p3-significant","2C78E3",{"name":3033,"color":3034},"v5","EFC959",789,"tres","Portal","2025-02-06T09:59:01Z","https://github.com/Tresjs/tres/issues/789",0.7379463,{"description":3042,"labels":3043,"number":3053,"owner":3019,"repository":3054,"state":3021,"title":3055,"updated_at":3056,"url":3057,"score":3058},"### Description\n\nAfter the initial, what about creating abstraction/component like in cientos but that only works with physics\n\n### Suggested solution\n\nLike Attractor in r3f\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/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.",[3044,3047,3050],{"name":3045,"color":3046},"feature","c2e0c6",{"name":3048,"color":3049},"investigation","D03599",{"name":3051,"color":3052},"p2-nice-to-have","D4C5F9",135,"rapier","Cloth simmulator","2024-10-04T10:54:33Z","https://github.com/Tresjs/rapier/issues/135",0.7406608,{"description":3060,"labels":3061,"number":3062,"owner":3019,"repository":3036,"state":3021,"title":3063,"updated_at":3064,"url":3065,"score":3066},"### Describe the bug\n\n\u003CTresCanvas v-bind=\"canvasConfig\" ref=\"TresCanvasRef\">\r\n \u003Ctemplate v-for=\"(item,i) in lightSetting\">\r\n \u003Ccomponent ref=\"lightRef\" :is=\"item.type\" v-light-helper v-bind=\"item.config\" />\r\n \u003C/template>\r\n\u003C/TresCanvas>\r\n\u003Cscript>\r\nconst options = [ {\r\n label: '平行光',\r\n value: 'TresDirectionalLight',\r\n },\r\n {\r\n label: '点光源',\r\n value: 'TresPointLight',\r\n },\r\n {\r\n label: '聚光灯',\r\n value: 'TresSpotLight',\r\n },\r\n {\r\n label: '半球光',\r\n value: 'TresHemisphereLight',\r\n }]\r\n const lightSetting = ref([{\r\n type: 'TresDirectionalLight',\r\n config: {\r\n position: [5, 5, 5],\r\n targets: [0, 0, 0],\r\n color: '#ffffff',\r\n intensity: 1,\r\n castShadow: false\r\n }\r\n }\r\n ])\r\n\u003C/script>\r\n当我改变 type 值的时候就报错 Cannot read properties of null (reading 'children'),不加 v-light-helper的时候正常不会报错。\n\n### Reproduction\n\n还未上线\n\n### Steps to reproduce\n\n\u003CTresCanvas v-bind=\"canvasConfig\" ref=\"TresCanvasRef\">\r\n \u003Ctemplate v-for=\"(item,i) in lightSetting\">\r\n \u003Ccomponent ref=\"lightRef\" :is=\"item.type\" v-light-helper v-bind=\"item.config\" />\r\n \u003C/template>\r\n\u003C/TresCanvas>\r\n\u003Cscript>\r\nconst options = [ {\r\n label: '平行光',\r\n value: 'TresDirectionalLight',\r\n },\r\n {\r\n label: '点光源',\r\n value: 'TresPointLight',\r\n },\r\n {\r\n label: '聚光灯',\r\n value: 'TresSpotLight',\r\n },\r\n {\r\n label: '半球光',\r\n value: 'TresHemisphereLight',\r\n }]\r\n const lightSetting = ref([{\r\n type: 'TresDirectionalLight',\r\n config: {\r\n position: [5, 5, 5],\r\n targets: [0, 0, 0],\r\n color: '#ffffff',\r\n intensity: 1,\r\n castShadow: false\r\n }\r\n }\r\n ])\r\n\u003C/script>\r\n当我改变 type 值的时候就报错 Cannot read properties of null (reading 'children'),不加 v-light-helper的时候正常不会报错。\n\n### System Info\n\n```shell\nCannot read properties of null (reading 'children')\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.",[],871," Cannot read properties of null (reading 'children')","2024-11-13T01:30:10Z","https://github.com/Tresjs/tres/issues/871",0.74803245,{"description":3068,"labels":3069,"number":3082,"owner":3019,"repository":3036,"state":3083,"title":3084,"updated_at":3085,"url":3086,"score":3087},"### Describe the bug\r\n\r\nUsing the [@pmndrs/vanilla](https://github.com/pmndrs/drei-vanilla) package to create an Outline around the Mesh fails in V4\r\n\r\nOn V3.9\r\n\r\nOn V4.x\r\n\r\n\r\nNo console error's..\r\nI used @hawk86104 [example](https://github.com/hawk86104/icegl-three-vue-tres/blob/master/src/plugins/basic/components/outlineCom.vue) to create this and noticed the outline's break in V4\r\n\r\n### Reproduction\r\n\r\nhttps://stackblitz.com/edit/tresjs-basic-9b2xts?file=src%2Fcomponents%2FTheExperience.vue\r\n\r\n### Steps to reproduce\r\n\r\nChange the package.json so Tresjs uses V4 and the outline will be gone\r\n\r\n### System Info\r\n\r\n```shell\r\n/\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.",[3070,3073,3076,3079],{"name":3071,"color":3072},"bug","d73a4a",{"name":3074,"color":3075},"PR welcome","2D76B0",{"name":3077,"color":3078},"p3-minor-bug","F28C37",{"name":3080,"color":3081},"regression","167F7A",742,"closed","No more outlines since V4","2024-07-18T06:45:01Z","https://github.com/Tresjs/tres/issues/742",0.68372995,{"description":3089,"labels":3090,"number":3091,"owner":3019,"repository":3036,"state":3083,"title":3092,"updated_at":3093,"url":3094,"score":3095},"### Describe the bug\n\nAfter updating to version 4, my frame rate drops when I move the cursor or zoom in and out of the camera.\r\nComponent: \r\n`CanvasBackground.vue`\r\n\r\nIs only one model Icosahedron.\n\n### Reproduction\n\nhttps://github.com/Dekier/tresjs-drops\n\n### Steps to reproduce\n\npnpm install\r\npnpm dev\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.",[],711,"V4 drops fps","2024-06-02T17:45:28Z","https://github.com/Tresjs/tres/issues/711",0.68772835,{"description":3097,"labels":3098,"number":3106,"owner":3019,"repository":3036,"state":3083,"title":3107,"updated_at":3108,"url":3109,"score":3110},"### Describe the bug\r\n\r\nProperties changed (animated) through template ref modification are not triggering `invalidate` on `render-mode=\"on-demand\"`\r\n\r\n\r\n### Reproduction\r\n\r\nhttp://localhost:5173/perf/on-demand\r\n\r\n### Steps to reproduce\r\n\r\nOn core playground go to `http://localhost:5173/perf/on-demand` and animate an object in the following way:\r\n\r\n```\r\nconst { onLoop } = useRenderLoop()\r\n\r\nonLoop(({ elapsed }) => {\r\n if (!sphereRef.value) { return }\r\n sphereRef.value.position.x += Math.sin(elapsed) * 0.01\r\n})\r\n```\r\n\r\nNotice that this doesn't trigger a render\r\n\r\n### System Info\r\n\r\n```shell\r\nSystem:\r\n OS: macOS 14.3.1\r\n CPU: (8) arm64 Apple M1 Pro\r\n Memory: 69.72 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: 120.1.61.116\r\n Chrome: 123.0.6312.123\r\n Firefox: 121.0.1\r\n Safari: 17.3.1\r\n npmPackages:\r\n @tresjs/cientos: 3.6.0 => 3.6.0 \r\n @tresjs/core: workspace:^ => 4.0.0-next.2 \r\n @tresjs/leches: 0.15.0-next.3 => 0.15.0-next.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/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.",[3099,3100,3103],{"name":3071,"color":3072},{"name":3101,"color":3102},"v4","7980EA",{"name":3104,"color":3105},"p4-important-bug","D93F0B",639,"[v4] - Animations with onLoop doesn't trigger on-demand rendering","2024-04-13T12:47:48Z","https://github.com/Tresjs/tres/issues/639",0.7193512,{"description":3112,"labels":3113,"number":3123,"owner":3019,"repository":3036,"state":3083,"title":3124,"updated_at":3125,"url":3126,"score":3127},"**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. 😜",[3114,3117,3120],{"name":3115,"color":3116},"help wanted","008672",{"name":3118,"color":3119},"wontfix","ffffff",{"name":3121,"color":3122},"waiting for author","B145BC",202,"need to add some `off-*`methods?","2024-01-19T14:56:38Z","https://github.com/Tresjs/tres/issues/202",0.723369,{"description":3129,"labels":3130,"number":890,"owner":3019,"repository":3020,"state":3083,"title":3134,"updated_at":3135,"url":3136,"score":3137},"",[3131],{"name":3132,"color":3133},"dx","1576ad","Organize abstractions in subfolders","2023-05-04T07:28:45Z","https://github.com/Tresjs/cientos/issues/61",0.7256725,{"description":3139,"labels":3140,"number":890,"owner":3019,"repository":3144,"state":3083,"title":3145,"updated_at":3146,"url":3147,"score":3137},"**Describe the solution you'd like**\r\nThe library should support the god rays effect of [postprocessing](https://github.com/pmndrs/postprocessing).",[3141],{"name":3142,"color":3143},"enhancement","a2eeef","post-processing","god rays effect","2025-03-09T17:04:09Z","https://github.com/Tresjs/post-processing/issues/61",["Reactive",3149],{},["Set"],["ShallowReactive",3152],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fvaF03g_-v6_gah19PyElUTM8J-mgpMNXJaRPH-Ln8Io":-1},"/Tresjs/tres/883"]