\r\n \u003COrbitControls />\r\n \u003CTresAmbientLight :intensity=\"0.5\" color=\"red\" />\r\n \u003CTresMesh ref=\"boxRef\" :position=\"[0, 2, 0]\">\r\n \u003CTresBoxGeometry :args=\"[1, 1, 1]\" />\r\n \u003CTresMeshNormalMaterial />\r\n \u003C/TresMesh>\r\n \u003CTresDirectionalLight :position=\"[0, 2, 4]\" :intensity=\"1\" cast-shadow />\r\n \u003CTresAxesHelper />\r\n \u003CTresGridHelper :args=\"[10, 10, 0x444444, 'teal']\" />\r\n \u003C/TresGroup>\r\n````\r\nThen I got this\r\n\r\n\r\n**However, it can run correctly in `v3.9.0`**\r\n\r\n\n\n### Reproduction\n\nhttps://stackblitz.com/~/github.com/hexianWeb/starter\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.",[3019,3022,3025],{"name":3020,"color":3021},"question","d876e3",{"name":3023,"color":3024},"waiting for author","B145BC",{"name":3026,"color":3027},"p2-edge-case","ABCC40",727,"Tresjs","tres","open","`Camera` wrapped by `TresGroup` cannot be used properly after `version 4.0`","2024-06-15T11:45:11Z","https://github.com/Tresjs/tres/issues/727",0.77268296,{"description":3037,"labels":3038,"number":3039,"owner":3029,"repository":3030,"state":3040,"title":3041,"updated_at":3042,"url":3043,"score":3044},"## Problem\r\n\r\nAs of PR ([80f8a2e](https://github.com/Tresjs/tres/commit/80f8a2e664e2100f9d0dabf507a213aae524f1de)), some playgrounds are broken. And user code is likely also broken.\r\n\r\nBroken playground example:\r\n\r\nhttp://localhost:5173/events/dynamic-objects\r\n\r\n### Error:\r\n\r\n```ts\r\nUncaught (in promise) TypeError: props is null\r\n createElement nodeOps.ts:34\r\n```\r\n\r\nHere's the problem line in `src/nodeOps.ts`:\r\n\r\n```ts\r\n function createElement(tag: string, _isSVG: undefined, _anchor: any, props: Partial\u003CWithMathProps\u003CTresObject>> = {}): TresObject | null {\r\n```\r\n\r\nThe signature was changed from the [signature in the Vue docs](https://vuejs.org/api/custom-renderer.html):\r\n\r\n```ts\r\n createElement(\r\n type: string,\r\n isSVG?: boolean,\r\n isCustomizedBuiltIn?: string,\r\n vnodeProps?: (VNodeProps & { [key: string]: any }) | null\r\n ): HostElement\r\n```\r\n\r\nThe new signature isn't equivalent. The docs' version says Vue can pass `null` for `props`. \r\n\r\nBut if `nodeOps.createElement` gets an explicit `null`, it throws on the next line when checking `if (!props.args)`.\r\n\r\n## Solution\r\n\r\nRevert the signature and readd the check for null `props`.\r\n\r\n### Reproduction\r\n\r\nN/A - see above\r\n\r\n### Steps to reproduce\r\n\r\n* Check out [80f8a2e](https://github.com/Tresjs/tres/commit/80f8a2e664e2100f9d0dabf507a213aae524f1de) – or, at the moment, check out the `main` Tres branch.\r\n* `pnpm dev`\r\n* Navigate to http://localhost:5173/events/dynamic-objects\r\n* See error in console:\r\n\r\n### System Info\r\n\r\n```shell\r\nN/A\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.",[],827,"closed","`nodeOps.createElement` throws when `props === null`","2024-09-08T12:49:26Z","https://github.com/Tresjs/tres/issues/827",0.73451996,{"description":3046,"labels":3047,"number":3057,"owner":3029,"repository":3030,"state":3040,"title":3058,"updated_at":3059,"url":3060,"score":3061},"**Describe the bug**\r\nThe following props are not being properly updated:\r\n\r\n- `enabled`.\r\n- `showX`, `showY`, `showZ`\r\n- `axis`.\r\n\r\n**Reproduction**\r\n[Stackblitz](https://stackblitz.com/edit/tresjs-transform-controls?file=src%2Fcomponents%2FTheExperience.vue,package.json) \r\n\r\n**Steps**\r\nSteps to reproduce the behavior:\r\n1. Go to[ '...'](https://stackblitz.com/edit/tresjs-transform-controls?file=src%2Fcomponents%2FTheExperience.vue,package.json)\r\n2. Play with props on the panel top right\r\n\r\n**Expected behavior**\r\nAll props work\r\n\r\n\r\n**System Info**\r\nOutput of `npx envinfo --system --npmPackages '{vite,@tresjs/*, three, vue}' --binaries --browsers` \r\n\r\n```\r\n System:\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: 16.14.2 - /usr/local/bin/node\r\n Yarn: 1.22.19 - /usr/local/bin/yarn\r\n npm: 7.17.0 - /usr/local/bin/npm\r\n npmPackages:\r\n @tresjs/cientos: ^1.3.0 => 1.3.0 \r\n @tresjs/core: ^1.4.0 => 1.4.0 \r\n vite: ^3.2.4 => 3.2.4 \r\n```\r\n\r\n**Additional context**\r\nMost probably is because this properties doesn't use a `set` function\r\n",[3048,3051,3054],{"name":3049,"color":3050},"bug","d73a4a",{"name":3052,"color":3053},"good first issue","7057ff",{"name":3055,"color":3056},"help wanted","008672",63,"TransformControls cientos props without set method not updating","2023-01-07T18:45:57Z","https://github.com/Tresjs/tres/issues/63",0.7351521,{"description":3063,"labels":3064,"number":3071,"owner":3029,"repository":3072,"state":3040,"title":3073,"updated_at":3074,"url":3075,"score":3076},"### Describe the bug\n\nThere is a discrepancy between the documentation and the implementation regarding the default value of the enableDamping property in OrbitControls. The documentation states that enableDamping should be false by default, but in the code, it is set to true.\r\n[Line 237](https://github.com/Tresjs/cientos/blob/981de572c97183b8d2070925daa8209d2fa6b55e/src/core/controls/OrbitControls.vue#L237)\n\n### Reproduction\n\nhttps://stackblitz.com/edit/tresjs-basic-ldqdkm?file=src%2Fcomponents%2FTheExperience.vue\n\n### Steps to reproduce\n\nJust use OrbitControls with default arguments. \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.",[3065,3068],{"name":3066,"color":3067},"p1-chore","BFD4F2",{"name":3069,"color":3070},"PR Welcome","2D76B0",447,"cientos","Discrepancy Between Documentation and Default Value for enableDamping in OrbitControls","2024-09-08T10:33:25Z","https://github.com/Tresjs/cientos/issues/447",0.7422321,{"description":3078,"labels":3079,"number":3081,"owner":3029,"repository":3030,"state":3040,"title":3082,"updated_at":3083,"url":3084,"score":3085},"### Describe the bug\n\nThe official [Vue devtools](https://github.com/vuejs/devtools) is broken since v2. Most probably related to the edge case of the use of a custom renderer.\r\n\r\n\n\n### Reproduction\n\nhttps://stackblitz.com/edit/stackblitz-starters-sa3ruk?file=README.md\n\n### Steps to reproduce\n\nOpen in a new tab\r\nCheck dev tools\r\nCheck error in console\r\n\r\n```\r\nTypeError: Cannot read properties of undefined (reading 'ownerDocument')\r\n```\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.",[3080],{"name":3049,"color":3050},317,"Vue-devtools broken since v2 custom renderer","2023-08-23T05:12:31Z","https://github.com/Tresjs/tres/issues/317",0.74818516,{"description":3087,"labels":3088,"number":3092,"owner":3029,"repository":3093,"state":3040,"title":3094,"updated_at":3095,"url":3096,"score":3097},"**Is your feature request related to a problem? Please describe.**\r\nAs of now, effects are typescript `.ts` files with `defineComponent`.\r\n\r\n```ts\r\nexport const Glitch = defineComponent\u003CGlitchProps>({\r\n name: 'Glitch',\r\n props: [\r\n 'delay',\r\n 'duration',\r\n 'strength',\r\n 'mode',\r\n 'active',\r\n 'ratio',\r\n 'columns',\r\n 'chromaticAberrationOffset',\r\n 'peturbationMap',\r\n 'dtSize',\r\n ] as unknown as undefined,\r\n\r\n async setup(props, { expose }) {\r\n const { state } = useCore()\r\n const composer = inject\u003Cany>('effectComposer')\r\n const pass = ref\u003CEffectPass | null>(null)\r\n\r\n expose({ getPass: () => pass.value })\r\n\r\n watchEffect(() => {\r\n if (state.camera && composer && composer.value) {\r\n pass.value = new EffectPass(unref(state.camera), new GlitchEffect(props))\r\n composer.value?.addPass(toRaw(pass.value))\r\n }\r\n })\r\n\r\n watch(\r\n () => props.active,\r\n value => {\r\n if (pass.value) {\r\n pass.value.enabled = value as boolean\r\n }\r\n },\r\n )\r\n\r\n return () => {\r\n pass\r\n }\r\n },\r\n})\r\n\r\n```\r\n\r\n**Describe the solution you'd like**\r\n\r\nUse a similar approach as cientos and use vue SFC components \r\n\r\n",[3089],{"name":3090,"color":3091},"enhancement","a2eeef",23,"post-processing","Refactor Effects to .vue files","2023-06-23T16:06:50Z","https://github.com/Tresjs/post-processing/issues/23",0.7534977,{"description":3099,"labels":3100,"number":3092,"owner":3029,"repository":3030,"state":3040,"title":3105,"updated_at":3106,"url":3107,"score":3097},"Atm HMR disposal is not working as expected. Meshes are duplicated and this could lead to performance issues on large scenes.\n\nAlso not nice for DX. User needs to reload everytime.\n\nThis one is pretty tricky.\n\n# Desired solution.\n\nRenderer, scene and object follow a disposal flow when HMR hits",[3101,3102],{"name":3055,"color":3056},{"name":3103,"color":3104},"discussion 💭","AE4C80","HMR disposal","2023-09-12T18:58:32Z","https://github.com/Tresjs/tres/issues/23",{"description":3109,"labels":3110,"number":3111,"owner":3029,"repository":3112,"state":3040,"title":3113,"updated_at":3114,"url":3115,"score":3116},"### Describe the bug\n\nI am trying to use a TresCanvas that is known to work when using in a staticly declared way\r\nbut if I use it in a component that is dynamicly loaded using \r\n\r\n`defineAsyncComponent(() => import('@/components/pageBuilder/component.vue'))`\r\n\r\nit doesn't render the canvas the most I can get is the following\r\n\r\n`\u003Cdiv window-size=\"\" clear-color=\"#241246\" shadows=\"\" data-v-3789b801=\"\">\u003Ccanvas style=\"\">\u003C/canvas>\u003C/div>`\r\n\r\n## Recent findings\r\n\r\njust having the TresCanvas in a component that is nested 2 levels deep doesn't work.\r\nno idea why or what is causing this. \r\n\r\nI've provided a reproduction of this\r\n\n\n### Reproduction\n\nhttps://stackblitz.com/edit/tresjs-basic-z2g8yk?file=src%2Fcomponents%2FTheExperience.vue\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/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.",[],79,"nuxt","TresCanvas doesn't render in Dynamicly loaded components or deeply nested components","2024-01-26T12:08:01Z","https://github.com/Tresjs/nuxt/issues/79",0.760497,{"description":3118,"labels":3119,"number":3122,"owner":3029,"repository":3072,"state":3040,"title":3123,"updated_at":3124,"url":3125,"score":3126},"### Description\r\n\r\nAs a developer using TresJS, I want \r\n- Environment props to be reactive\r\n- More presets other than 'sunset' (city, etc)\r\n\r\n so that:\r\n- I can dynamically configure the preset or toggle the `background` property\r\n\r\n### Suggested solution\r\n\r\nModify the `useEnvironment/component.ts` component so:\r\n\r\n- Convert to vue file SFC\r\n- texture should be a ref\r\n- Set the default for the props here.\r\n\r\nModify the `useEnvironment/index.ts` composable so:\r\n\r\n- Reacts to prop changes (Using watchers and computed)\r\n- Return the texture as a ref\r\n\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.",[3120,3121],{"name":3052,"color":3053},{"name":3055,"color":3056},147,"Enhance Environment and useEnvironment abstractions","2023-10-09T17:33:47Z","https://github.com/Tresjs/cientos/issues/147",0.76053923,{"description":3128,"labels":3129,"number":3122,"owner":3029,"repository":3093,"state":3040,"title":3137,"updated_at":3138,"url":3139,"score":3126},"Attempting to use the 1.0.0 release with Nuxt, I get an error on the `nuxt prepare` step. This is reproducible within this repo's nuxt playground if you update the dependency to 1.0.0.\r\n\r\n```\r\n ERROR ENOENT: no such file or directory, open '/Users/.../.../post-processing/playground-nuxt/@tresjs/post-processing' 10:29:39 AM\r\n ```\r\n\r\nThis does not happen when using `1.0.0-next.1`.\r\n\r\n```\r\n- Operating System: Darwin\r\n- Node Version: v20.10.0\r\n- Nuxt Version: 3.14.1592\r\n- CLI Version: 3.15.0\r\n- Nitro Version: 2.10.4\r\n- Package Manager: npm@10.8.3\r\n- Builder: -\r\n- User Config: default\r\n- Runtime Modules: @nuxt/eslint@0.7.2, @pinia/nuxt@0.7.0, @nuxtjs/supabase@1.4.3, @primevue/nuxt-module@4.2.4, @nuxtjs/tailwindcss@6.12.2, nuxt-lodash@2.5.3, @nuxt/icon@1.8.2, @tresjs/nuxt@3.0.7\r\n- Build Modules: -\r\n```\r\n\r\nThanks for maintaining this project!",[3130,3131,3134],{"name":3049,"color":3050},{"name":3132,"color":3133},"p4-important-bug","D93F0B",{"name":3135,"color":3136},"types","5C076E","Broken imports in v1.0.0 w/ Nuxt","2025-01-03T09:37:19Z","https://github.com/Tresjs/post-processing/issues/147",["Reactive",3141],{},["Set"],["ShallowReactive",3144],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$f-WgTXrKpiGkHIHe-ntYOmu4MctOcbSlGRr8UnF32HzY":-1},"/Tresjs/tres/325"]