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.",[2867,2870],{"name":2868,"color":2869},"investigation","D03599",{"name":2871,"color":2872},"waiting for author","B145BC",102,"Tresjs","XR","open","VR Style Camera (Aframe implementation or ArrayCamera/StereoCamera from three","2024-08-21T10:45:26Z","https://github.com/Tresjs/XR/issues/102",0.68252325,{"description":2882,"labels":2883,"number":2896,"owner":2874,"repository":2897,"state":2876,"title":2898,"updated_at":2899,"url":2900,"score":2901},"### Description\n\nHow to use vue-cli\n\n### Suggested solution\n\nHow to use vue-cli\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.",[2884,2887,2890,2893],{"name":2885,"color":2886},"bug","d73a4a",{"name":2888,"color":2889},"help wanted","008672",{"name":2891,"color":2892},"PR welcome","2D76B0",{"name":2894,"color":2895},"p2-edge-case","ABCC40",754,"tres","How to use vue-cli","2024-08-21T09:51:50Z","https://github.com/Tresjs/tres/issues/754",0.6860268,{"description":2903,"labels":2904,"number":2909,"owner":2874,"repository":2910,"state":2876,"title":2911,"updated_at":2912,"url":2913,"score":2914},"### 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.",[2905,2906],{"name":2885,"color":2886},{"name":2907,"color":2908},"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.6910608,{"description":2916,"labels":2917,"number":2918,"owner":2874,"repository":2897,"state":2876,"title":2919,"updated_at":2920,"url":2921,"score":2922},"### Describe the bug\n\nThe delta property of the `pointer-missed` is always zero (obvious [in the code](https://github.com/Tresjs/tres/blob/main/src/composables/useRaycaster/index.ts#L137-L139)).\r\n\r\nI have a project where object of the scene can be selected by clicking on them. To unselect the user can press where there is no object, which I implemented using the `pointer-missed `event on the `Trescanvas`. However, objects get also unselected when the user uses the mouse to drag the camera around. To prevent this I wanted to rely on the `delta` of the `pointer-missed` event, to discard events with dragging.\n\n### Reproduction\n\nhttps://github.com/Tresjs/tres/blob/main/src/composables/useRaycaster/index.ts#L137-L139\n\n### Steps to reproduce\n\n_No response_\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.",[],852,"The delta of pointer-missed events is always zero","2024-10-12T18:44:56Z","https://github.com/Tresjs/tres/issues/852",0.7019847,{"description":2924,"labels":2925,"number":2930,"owner":2874,"repository":2931,"state":2932,"title":2933,"updated_at":2934,"url":2935,"score":2936},"### Describe the bug\n\nI'm currently using @tresjs/cientos to render 3D models in a Nuxt.js application. When I attempt to change the model's source file using Vue's reactivity system, the displayed model does not update, even though other parts of my logic (e.g., console.log statements) indicate that the reactive changes have been recognized.\n\n### Reproduction\n\n/\n\n### Steps to reproduce\n\n```\r\n\u003Cscript lang=\"ts\" setup>\r\nimport { ref, watch } from 'vue'\r\nimport { GLTFModel } from '@tresjs/cientos'\r\nimport { useCounterStore } from '@/stores/counter'\r\n\r\nconst store = useCounterStore();\r\nlet selectedEquipmentFilePath = ref(\"OBJ.glb\")\r\n\r\nfunction selectEquipment() {\r\n selectedEquipmentFilePath.value = \"nuxt-stones.glb\"\r\n console.log(\"Function executed.\")\r\n}\r\n\r\nwatch(\r\n () => store.selectedEquipmentIndex,\r\n () => {\r\n selectEquipment();\r\n }\r\n);\r\n\u003C/script>\r\n\r\n\u003Ctemplate>\r\n \u003CGLTFModel :path=\"selectedEquipmentFilePath\" :key=\"selectedEquipmentFilePath\" />\r\n\u003C/template>\r\n```\n\n### System Info\n\n```shell\nSystem:\r\n OS: Windows 10 10.0.22621\r\n CPU: (20) x64 12th Gen Intel(R) Core(TM) i7-12700H\r\n Memory: 3.44 GB / 15.71 GB\r\n Binaries:\r\n Node: 18.17.1 - C:\\Program Files\\nodejs\\node.EXE\r\n npm: 10.1.0 - C:\\Program Files\\nodejs\\npm.CMD\r\n pnpm: 8.7.5 - ~\\Documents\\NubesLofoten DEV\\VueAttempt\\my-app\\node_modules\\.bin\\pnpm.CMD\r\n Browsers:\r\n Edge: Spartan (44.22621.2283.0), Chromium (116.0.1938.81)\r\n Internet Explorer: 11.0.22621.1\r\n npmPackages:\r\n @tresjs/cientos: ^3.3.0 => 3.3.0\r\n @tresjs/nuxt: ^1.1.6 => 1.1.6\r\n @tresjs/post-processing: ^0.4.0 => 0.4.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/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.",[2926,2927],{"name":2885,"color":2886},{"name":2928,"color":2929},"v4","EEF2B0",268,"cientos","closed","GLTFModel not updating displayed model on reactive property change","2024-04-05T14:55:58Z","https://github.com/Tresjs/cientos/issues/268",0.6473265,{"description":2938,"labels":2939,"number":2944,"owner":2874,"repository":2897,"state":2932,"title":2945,"updated_at":2946,"url":2947,"score":2948},"### Describe the bug\n\nIt seems like Tres.js is no longer working in Firefox. Even on your official documentation all examles render just a black canvas.\r\nI would really like to use Tres.js in projects of my company, but I am unable to do this if Firefox is not supported or working :(\n\n### Reproduction\n\nhttps://tresjs.org/guide/\n\n### Steps to reproduce\n\nThe first and all other examples of this page.\n\n### System Info\n\n```shell\nWindows 10\r\nFirerfiox version 114.0.1 (64-Bit)\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.",[2940,2943],{"name":2941,"color":2942},"question","d876e3",{"name":2871,"color":2872},310,"Black Canvas in Firefox","2023-06-20T07:13:04Z","https://github.com/Tresjs/tres/issues/310",0.65932983,{"description":2950,"labels":2951,"number":2961,"owner":2874,"repository":2897,"state":2932,"title":2962,"updated_at":2963,"url":2964,"score":2965},"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",[2952,2955,2958],{"name":2953,"color":2954},"docs","0075ca",{"name":2956,"color":2957},"dx","1576AD",{"name":2959,"color":2960},"examples","8F2282",261,"May be we could use vitepress-plugin-sandpack instead","2023-12-13T09:18:46Z","https://github.com/Tresjs/tres/issues/261",0.660441,{"description":2967,"labels":2968,"number":2969,"owner":2874,"repository":2897,"state":2932,"title":2970,"updated_at":2971,"url":2972,"score":2973},"### 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.66571116,{"description":2975,"labels":2976,"number":2984,"owner":2874,"repository":2897,"state":2932,"title":2985,"updated_at":2986,"url":2987,"score":2988},"### 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.",[2977,2980,2981],{"name":2978,"color":2979},"types","5C076E",{"name":2891,"color":2892},{"name":2982,"color":2983},"p3-significant","2C78E3",496,"Allow `TresObject3D#material` to set Array","2024-07-05T15:18:00Z","https://github.com/Tresjs/tres/issues/496",0.67581725,{"description":2990,"labels":2991,"number":2992,"owner":2874,"repository":2897,"state":2932,"title":2993,"updated_at":2994,"url":2995,"score":2996},"### Describe the bug\r\n\r\nThat\r\n\r\n### Reproduction\r\n\r\nNA\r\n\r\n",[],626,"Nothing works","2024-04-08T09:16:46Z","https://github.com/Tresjs/tres/issues/626",0.6806435,["Reactive",2998],{},["Set"],["ShallowReactive",3001],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fec0eg-VVeIuOtNmnqcxPi16-X1UQBBwwMZhIJeb19SI":-1},"/Tresjs/cientos/451"]