and \u003CTresStereoCamera /> but nothing works. I either get a blank black screen or a bluescreen with a line through it (when using the default example from the TresJS starter repo)\r\n\r\nThis is after being able to use \u003CTresPerspectiveCamera /> without any issues and just swapping out the camera used. Would appreciate any ideas or info how to implement this thanks.\n\n### Suggested solution\n\nImplement Array or StereoCamera as Tres JS native component preconfigured to work with VR.\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.",[2890,2893],{"name":2891,"color":2892},"investigation","D03599",{"name":2894,"color":2895},"waiting for author","B145BC",102,"XR","VR Style Camera (Aframe implementation or ArrayCamera/StereoCamera from three","2024-08-21T10:45:26Z","https://github.com/Tresjs/XR/issues/102",0.7295186,{"description":2903,"labels":2904,"number":2909,"owner":2871,"repository":2910,"state":2873,"title":2911,"updated_at":2912,"url":2913,"score":2914},"### Description\n\nThere is an update in the GLTF structure, now they can accept physics, babylonJs already have implemented it, but there's no example with Three.js. So this could be hard to do.\r\n\r\nAs we need to investigate if this is possible directly here in this pkg, if we need to make changes in the GLTF parser provided by Three.js (or if we can extend it) and the match them with the components provided by Rapier itself.\r\n\r\nPlease read the link below for more information.\n\n### Suggested solution\n\nMuch of the result will define the output. But reading about it, a new component could be a good solution.\r\n`import { PhysicalGLTF } from `...` (of course the name has to be defined).\r\n\r\nOther option could be adding extension to the existing `useGLTF` composable provided by `cientos`\r\n\r\nI would prefer not to modify cientos directly for this one. WDYT?\n\n### Alternative\n\nAny other alternative is welcome\n\n### Additional context\n\nPlease check: \r\n- https://www.youtube.com/watch?v=sstdRXYbZrI\r\n- https://github.com/eoineoineoin/glTF_Physics\r\n- https://github.com/eoineoineoin/glTF_Physics_Babylon\r\n- https://www.khronos.org/assets/uploads/developers/presentations/Physics_BOF.pdf\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.",[2905,2906],{"name":2891,"color":2892},{"name":2907,"color":2908},"p2-nice-to-have","D4C5F9",156,"rapier","Adding physics from GLTF directly","2025-01-29T08:42:02Z","https://github.com/Tresjs/rapier/issues/156",0.7337927,{"description":2916,"labels":2917,"number":2927,"owner":2871,"repository":2928,"state":2929,"title":2930,"updated_at":2931,"url":2932,"score":2933},"Sometimes previews fail for example with StackBlitz on mobile. \r\n\r\nBut we can use [vitepress-plugin-sandpack](https://github.com/jerrywu001/vitepress-plugin-sandpack) instead. It's a [vitepress plugin](https://vitepress-sandbox.js-bridge.com/get-started/introduction.html), and the syntax is concise, use the MD syntax directly.\r\n\r\n**Setup Steps**\r\nhttps://vitepress-sandbox.js-bridge.com/custom-usage/custom.html\r\n\r\n_**and also support**_ [Use snippets](https://vitepress-sandbox.js-bridge.com/basic-usage/snippets.html)\r\n\r\n**Online demo**:\r\nhttps://vitepress-sandbox.js-bridge.com/vite-templates/vite-vue-ts.html\r\n\r\n\r\n\r\n",[2918,2921,2924],{"name":2919,"color":2920},"docs","0075ca",{"name":2922,"color":2923},"dx","1576AD",{"name":2925,"color":2926},"examples","8F2282",261,"tres","closed","May be we could use vitepress-plugin-sandpack instead","2023-12-13T09:18:46Z","https://github.com/Tresjs/tres/issues/261",0.710977,{"description":2935,"labels":2936,"number":2946,"owner":2871,"repository":2947,"state":2929,"title":2948,"updated_at":2949,"url":2950,"score":2951},"I'm using `nuxt` with `SSG`, so running `nuxt generate` to build it,\r\nI noticed this thing, everything works fine in dev mode, but when i build using `generate` the `onLoop` function never get called. \r\nAttached I have the reproduction link\r\n\r\nI'm running on \r\n\r\n```json\r\n \"nuxt\": \"^3.11.2\",\r\n \"@tresjs/cientos\": \"^3.8.0\",\r\n \"@tresjs/core\": \"^3.8.0\",\r\n \"@tresjs/nuxt\": \"^2.1.1\",\r\n ```\r\n \r\nDEV MODE, as you can see it triggers the logs correctly, including the loop\r\n\r\n\r\nBUILD, the `onLoop` never get triggered\r\n\r\n\r\n\r\n\r\n### Reproduction\r\n\r\nhttps://stackblitz.com/edit/nuxt-starter-hsw5j9\r\n\r\n### Steps to reproduce\r\n\r\n`npm i`\r\n`npm run dev`\r\n`npm run generate`\r\n\r\n### System Info\r\n\r\n```shell\r\nSystem:\r\n OS: macOS 14.4.1\r\n CPU: (8) x64 Apple M1\r\n Memory: 16.41 MB / 16.00 GB\r\n Shell: 5.9 - /bin/zsh\r\n Binaries:\r\n Node: 20.10.0 - ~/.nvm/versions/node/v20.10.0/bin/node\r\n npm: 10.2.3 - ~/.nvm/versions/node/v20.10.0/bin/npm\r\n pnpm: 8.6.7 - ~/Library/pnpm/pnpm\r\n bun: 1.0.17 - ~/.bun/bin/bun\r\n Browsers:\r\n Brave Browser: 122.1.63.169\r\n Chrome: 123.0.6312.107\r\n Safari: 17.4.1\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.",[2937,2940,2943],{"name":2938,"color":2939},"bug","d73a4a",{"name":2941,"color":2942},"p4-important-bug","D93F0B",{"name":2944,"color":2945},"upstream","DDC01F",97,"nuxt","`onLoop` function not called in `nuxt generate` (SSG) but working in dev mode","2024-07-05T13:42:14Z","https://github.com/Tresjs/nuxt/issues/97",0.71124125,{"description":2953,"labels":2954,"number":2955,"owner":2871,"repository":2928,"state":2929,"title":2956,"updated_at":2957,"url":2958,"score":2959},"### Describe the bug\r\n\r\nI am trying to reproduce Drei’s [Mask](https://github.com/pmndrs/drei/blob/master/src/core/Mask.tsx) component.\r\nI have set up a red sphere as a mask for an orange plane behind it. \r\nThe sphere should be invisible and the plane should only be visible through the mask of the invisible sphere.\r\nUnfortunately it does not work. Am I doing something wrong or has it something to do with TresJS?\r\n\r\nINFO: To make it work in React `colorWrite` must be set to `false`. I set it to `true`, because the Sphere would be invisible otherwise. \r\n\r\n### Reproduction\r\n\r\nhttps://stackblitz.com/edit/vitejs-vite-zqtnhb?file=src%2FApp.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.",[],876,"Stencils seem not to work","2024-12-01T08:30:23Z","https://github.com/Tresjs/tres/issues/876",0.7150307,{"description":2961,"labels":2962,"number":2963,"owner":2871,"repository":2928,"state":2929,"title":2964,"updated_at":2965,"url":2966,"score":2967},"### 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.7170637,{"description":2969,"labels":2970,"number":2971,"owner":2871,"repository":2928,"state":2929,"title":2972,"updated_at":2973,"url":2974,"score":2975},"### 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.71729743,{"description":2977,"labels":2978,"number":2981,"owner":2871,"repository":2872,"state":2929,"title":2982,"updated_at":2983,"url":2984,"score":2985},"### Describe the bug\n\nNot necessarily a bug, but I couldn't find any other way to notice you guys about this.\n\n### Reproduction\n\nhttps://bundlephobia.com/package/@tresjs/cientos@3.5.0\n\n### Steps to reproduce\n\n_No response_\n\n### System Info\n\n_No response_\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/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.",[2979],{"name":2891,"color":2980},"D0359D",254,"Bundle is huge since 3.5.0","2023-10-18T10:30:06Z","https://github.com/Tresjs/cientos/issues/254",0.7187268,["Reactive",2987],{},["Set"],["ShallowReactive",2990],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fZDQQkQCSGTzR-d-oetRoSzx1xYWth7q_6V7T_mBZjiU":-1},"/Tresjs/tres/478"]