\r\n \u003C/Suspense>\r\n```\r\nBut get `Failed to resolve component: primitive`",[],"How to load and render STL models?","2024-07-17T17:42:39Z","https://github.com/Tresjs/lab/issues/53",0.7095161,{"description":2920,"labels":2921,"number":2922,"owner":2869,"repository":2893,"state":2871,"title":2923,"updated_at":2924,"url":2925,"score":2926},"### Description\n\nAs a developer using TresJS / cientos, I would like to have a TrackballControls component similar to OrbitControls.\n\nsee Threejs: https://threejs.org/docs/#examples/en/controls/TrackballControls\n\n### Suggested solution\n\nSince the TrackballControl source is very similar to OrbitControl, I took the source of OrbitControls.vue.d.ts and adjusted it slightly. That version works in my application and I can use it directly like OrbitControls.\n\n`\n\u003CTresCanvas\">\n \u003CTresPerspectiveCamera/>\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,"Add TrackballControls to Cientos","2025-02-14T13:18:40Z","https://github.com/Tresjs/cientos/issues/595",0.70991266,{"description":2928,"labels":2929,"number":2938,"owner":2869,"repository":2870,"state":2939,"title":2940,"updated_at":2941,"url":2942,"score":2943},"### Describe the bug\n\n```\r\n \u003CTresMesh\r\n v-for=\"(player, key) in players\"\r\n :key=\"key\"\r\n :scale=\"1\"\r\n cast-shadow\r\n :position=\"[player.x, player.y, player.z]\"\r\n >\r\n \u003CTresBoxGeometry :args=\"[1, 1, 1]\" />\r\n \u003CTresMeshNormalMaterial />\r\n \u003C/TresMesh>\r\n```\r\n\r\nIf players increase size (new player) is not being added to the scene\r\n\r\n\n\n### Reproduction\n\nhttps://stackblitz.com/edit/node-7ddska?file=src%2Fviews%2FHomeView.vue\n\n### Steps to reproduce\n\nHit key \"R\", you will see the list on top increase but not the amount of boxes\n\n### System Info\n\n```shell\nSystem:\r\n OS: Linux 5.0 undefined\r\n CPU: (2) 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: 16.14.2 - /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 npmPackages:\r\n @tresjs/cientos: ^2.0.0 => 2.0.0 \r\n @tresjs/core: ^2.0.0 => 2.0.0 \r\n\r\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/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.",[2930,2931,2934,2935],{"name":2857,"color":2858},{"name":2932,"color":2933},"good first issue","7057ff",{"name":2860,"color":2861},{"name":2936,"color":2937},"community","DC9921",284,"closed","v-for of meshes doesn't add new instances to scene ","2023-06-09T11:39:28Z","https://github.com/Tresjs/tres/issues/284",0.6835228,{"description":2945,"labels":2946,"number":2957,"owner":2869,"repository":2870,"state":2939,"title":2958,"updated_at":2959,"url":2960,"score":2961},"### Describe the bug\r\n\r\nThis code logs `state.controls` null even if there is a Control in the scene (for example OrbitControls)\r\n\r\n```\r\nconst { onBeforeRender, pause, resume } = useLoop()\r\n\r\nconst updateCallback = (state) => {\r\n if (!sphereRef.value) { return }\r\n console.log(state.controls)\r\n sphereRef.value.position.y += Math.sin(state.elapsed) * 0.01\r\n}\r\n```\r\n\r\nThe problem is here https://github.com/Tresjs/tres/blob/0720d186e92ca9faa9e5f4e51a3269504bed2a09/src/composables/useLoop/index.ts#L18C4-L27C5\r\n\r\nWe are creating an snapshot of the time the `useLoop` is used, which doesn't contain the updated controls. \r\n\r\n\r\n\r\n### Reproduction\r\n\r\nlocal playground\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: macOS 14.3.1\r\n CPU: (8) arm64 Apple M1 Pro\r\n Memory: 69.00 MB / 16.00 GB\r\n Shell: 5.9 - /bin/zsh\r\n Binaries:\r\n Node: 20.12.2 - ~/.nvm/versions/node/v20.12.2/bin/node\r\n Yarn: 1.22.19 - /usr/local/bin/yarn\r\n npm: 10.5.0 - ~/.nvm/versions/node/v20.12.2/bin/npm\r\n pnpm: 8.15.4 - ~/Library/pnpm/pnpm\r\n bun: 1.0.2 - ~/.bun/bin/bun\r\n Browsers:\r\n Brave Browser: 120.1.61.116\r\n Chrome: 124.0.6367.208\r\n Safari: 17.3.1\r\n npmPackages:\r\n @tresjs/cientos: 3.8.0 => 3.8.0 \r\n @tresjs/core: workspace:^ => 4.0.0-rc.1 \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.",[2947,2948,2951,2954],{"name":2857,"color":2858},{"name":2949,"color":2950},"v4","7980EA",{"name":2952,"color":2953},"p4-important-bug","D93F0B",{"name":2955,"color":2956},"regression","167F7A",686,"`useLoop` callback state missing controls","2024-05-23T12:17:31Z","https://github.com/Tresjs/tres/issues/686",0.6846873,{"description":2963,"labels":2964,"number":2879,"owner":2869,"repository":2893,"state":2939,"title":2968,"updated_at":2969,"url":2970,"score":2884},"### Description\n\n\r\n\r\nWe can create a wrapper using extend to add CSM and apply shaders to other materials, as we can see in that example. We're applying vertex shader to a physical material using the [glass demo](https://playground.tresjs.org/experiments/glass-material),\n\n### Suggested solution\n\na wrapper around https://www.npmjs.com/package/three-custom-shader-material\n\n### Alternative\n\nI don't know if there are another alternatives, but CSM is one of the most used\n\n### Additional context\n\nThe Idea is to create just a wrapper\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.",[2965],{"name":2966,"color":2967},"feature","c2e0c6","Custom shader material","2023-10-26T13:42:49Z","https://github.com/Tresjs/cientos/issues/109",{"description":2972,"labels":2973,"number":2974,"owner":2869,"repository":2870,"state":2939,"title":2975,"updated_at":2976,"url":2977,"score":2978},"### Description\r\n\r\nBased on https://github.com/orgs/Tresjs/discussions/321\r\n\r\nAs a plugin author, I will like to have a reactive state with the following characteristics:\r\n\r\n- Performant, (use of `shallowRef` where needed)\r\n- read-only\r\n- Strictly Typed\r\n- Reduce side effects on watchers\r\n- Needs to work on cientos and the rest of ecosystem via `provide/inject` \r\n\r\n### Suggested solution\r\n\r\n| Name | Type | Requirement | Details |\r\n| ---------------------------------- | -------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| scene | readonly, shallowRef | essential | |\r\n| cameras | readonly, shallowRef | essential | userData.TRES_IS_ACTIVE_CAMERA = true\u003Cbr>const cameras = shallowRef([]) return { cameras: readonly(cameras)} |\r\n| camera | computed, readonly | essential | |\r\n| pushCamera(newCamera: Camera, setActive: boolean) | function | essential | cameras should be watched and removed from the cameras array if they got removed from the scene |\r\n| removeCamera(camera: Camera) | function | essential ||\r\n| setCamera(cameraId string) | function | essential ||\r\n| renderer | readonly, shallowRef | essential | setRenderer(renderer: Renderer)\u003Cbr>maybe only callable once? |\r\n| setRenderer(renderer: Renderer) | function | essential ||\r\n| sizes (height, width, aspectRatio) | readonly | handy | sizes: {\u003Cbr> height: Ref\u003Cnumber>\u003Cbr> width: Ref\u003Cnumber>\u003Cbr> aspectRatio: Computed\u003Cnumber>\u003Cbr>} |\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.",[],331,"New and better state context provider","2023-07-29T08:58:56Z","https://github.com/Tresjs/tres/issues/331",0.68712753,["Reactive",2980],{},["Set"],["ShallowReactive",2983],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$ftQDCfhiIb2B5-hjU3dCbU7VO_H6Dd_G-d-zHxdCbwHU":-1},"/Tresjs/tres/852"]