\r\n \u003COrbitControls make-default />\r\n \u003CTresScene>\r\n \u003CTresAmbientLight :intensity=\"0.5\" />\r\n \u003CTransformControls mode=\"scale\" :object=\"sphereRef\" />\r\n\r\n \u003CTresMesh ref=\"sphereRef\" :position=\"[0, 4, 0]\" cast-shadow>\r\n \u003CTresSphereGeometry />\r\n \u003CTresMeshToonMaterial color=\"#FBB03B\" />\r\n \u003C!-- \u003CTresMeshToonMaterial color=\"#FBB03B\" /> -->\r\n \u003C/TresMesh>\r\n \u003CTresDirectionalLight :position=\"[0, 8, 4]\" :intensity=\"0.7\" cast-shadow />\r\n \u003CTresMesh :rotation=\"[-Math.PI / 2, 0, 0]\" receive-shadow>\r\n \u003CTresPlaneGeometry :args=\"[10, 10, 10, 10]\" />\r\n \u003CTresMeshToonMaterial />\r\n \u003C/TresMesh>\r\n \u003CTresDirectionalLight :position=\"[0, 2, 4]\" :intensity=\"1\" cast-shadow />\r\n \u003C/TresScene>\r\n \u003C/TresCanvas>\r\n\u003C/template>\r\n\r\n```\r\n\r\n- [ ] Using a vite plugin to generate all the components from THREE instances (Except Scene)\r\n- [ ] Each component should locally register components on the slots (is possible?)\r\n- [ ] Typescript Definition for the components generated from the ThreeJS instance\r\n- [ ] Include them in the final bundle\r\n- [ ] Strategy for replacing catalog `extend` \r\n- [ ] Update the way `cientos` extends the catalog\r\n",[],104,"Generate instances on build-time rather than run-time","2023-03-13T14:26:46Z","https://github.com/Tresjs/tres/issues/104",0.72055477,{"description":2911,"labels":2912,"number":2913,"owner":2868,"repository":2882,"state":2883,"title":2914,"updated_at":2915,"url":2916,"score":2917},"## 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,"`nodeOps.createElement` throws when `props === null`","2024-09-08T12:49:26Z","https://github.com/Tresjs/tres/issues/827",0.72169185,{"description":2919,"labels":2920,"number":2921,"owner":2868,"repository":2882,"state":2883,"title":2922,"updated_at":2923,"url":2924,"score":2925},"### Describe the bug\r\n\r\nSeems like making `nodeOps` a function #579 broke primitive `obj` reactivity since we need to create a new element for `primitive` \r\n\r\n### Reproduction\r\n\r\nlocal\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: 68.70 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.58\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.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.",[],600,"primitive `obj` reactivity broken after nodeOps being a function","2024-03-27T12:35:54Z","https://github.com/Tresjs/tres/issues/600",0.73067486,{"description":2927,"labels":2928,"number":2935,"owner":2868,"repository":2869,"state":2883,"title":2936,"updated_at":2937,"url":2938,"score":2939},"### 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.",[2929,2932],{"name":2930,"color":2931},"good first issue","7057ff",{"name":2933,"color":2934},"help wanted","008672",147,"Enhance Environment and useEnvironment abstractions","2023-10-09T17:33:47Z","https://github.com/Tresjs/cientos/issues/147",0.73114204,{"description":2941,"labels":2942,"number":2935,"owner":2868,"repository":2950,"state":2883,"title":2951,"updated_at":2952,"url":2953,"score":2939},"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!",[2943,2946,2949],{"name":2944,"color":2945},"bug","d73a4a",{"name":2947,"color":2948},"p4-important-bug","D93F0B",{"name":2895,"color":2896},"post-processing","Broken imports in v1.0.0 w/ Nuxt","2025-01-03T09:37:19Z","https://github.com/Tresjs/post-processing/issues/147",{"description":2955,"labels":2956,"number":104,"owner":2868,"repository":2869,"state":2883,"title":2959,"updated_at":2960,"url":2961,"score":2962},"**Is your feature request related to a problem? Please describe.**\r\n`packages/cientos/core/OrbitControls.vue` offers limited props\r\n\r\n```ts\r\nexport interface OrbitControlsProps {\r\n /**\r\n * Whether to make this the default controls.\r\n *\r\n * @default false\r\n * @type {boolean}\r\n * @memberof OrbitControlsProps\r\n * @see https://threejs.org/docs/#examples/en/controls/OrbitControls\r\n */\r\n makeDefault?: boolean\r\n /**\r\n * The camera to control.\r\n *\r\n * @type {Camera}\r\n * @memberof OrbitControlsProps\r\n * @see https://threejs.org/docs/#examples/en/controls/OrbitControls\r\n */\r\n camera?: Camera\r\n /**\r\n * The dom element to listen to.\r\n *\r\n * @type {HTMLElement}\r\n * @memberof OrbitControlsProps\r\n * @see https://threejs.org/docs/#examples/en/controls/OrbitControls\r\n */\r\n domElement?: HTMLElement\r\n /**\r\n * The target to orbit around.\r\n *\r\n * @type {Ref\u003CVector3>}\r\n * @memberof OrbitControlsProps\r\n * @see https://threejs.org/docs/#examples/en/controls/OrbitControls\r\n */\r\n target?: Ref\u003CVector3>\r\n /**\r\n * Whether to enable damping.\r\n *\r\n * @default false\r\n * @type {boolean}\r\n * @memberof OrbitControlsProps\r\n * @see https://threejs.org/docs/#examples/en/controls/OrbitControls\r\n */\r\n enableDamping?: boolean\r\n}\r\n```\r\n\r\n\r\n**Describe the solution you'd like**\r\nThe ThreeJS [OrbitControls](https://threejs.org/docs/#examples/en/controls/OrbitControls) has way more features and properties we could support\r\n\r\n**Suggested solution**\r\nAdd rest of the properties to abstraction\r\n\r\n**Additional context**\r\nAdd any other context or screenshots about the feature request here.\r\n",[2957,2958],{"name":2930,"color":2931},{"name":2933,"color":2934},"Enhance OrbitControls cientos abstraction","2023-05-18T13:44:09Z","https://github.com/Tresjs/cientos/issues/3",0.73386437,{"description":2964,"labels":2965,"number":104,"owner":2868,"repository":2966,"state":2883,"title":2967,"updated_at":2968,"url":2969,"score":2962},"```Vue\r\n\u003CTresCanvas clear-color=\"#000000\">\r\n \u003CTresPerspectiveCamera\r\n :position=\"[0, 0, 5000]\"\r\n :fov=\"50\"\r\n :aspect=\"1\"\r\n :near=\"1\"\r\n :far=\"10000\"\r\n />\r\n \u003CTresScene>\r\n \u003CTresPoints>\r\n \u003CTresBufferGeometry :position=\"[vertices, 3]\" />\r\n \u003CTresPointsMaterial :color=\"0x888888\" />\r\n \u003C/TresPoints>\r\n \u003C/TresScene>\r\n\u003C/TresCanvas>\r\n```\r\nNo matter how i change `aspect`, for exampe **0.5** or **2**, there is no change in view.\r\n\r\naspect = 0.5\r\n\u003Cimg width=\"656\" alt=\"image\" src=\"https://user-images.githubusercontent.com/11868294/219375921-50474cdc-39bf-4248-bca7-1dd2ee6fe873.png\">\r\n\r\n\r\naspect = 1\r\n\u003Cimg width=\"582\" alt=\"image\" src=\"https://user-images.githubusercontent.com/11868294/219375756-00dc3849-7ec3-4428-bd6c-5ebdb00d8381.png\">\r\n\r\n\r\n\r\n\r\n\r\naspect = 2\r\n\u003Cimg width=\"634\" alt=\"image\" src=\"https://user-images.githubusercontent.com/11868294/219375639-72380307-a3f5-455f-8d7a-ef44a0e880cd.png\">\r\n\r\nMaybe i miss something?\r\n\r\n\r\n",[],"lab","TresPerspectiveCamera: aspect not work?","2023-08-26T15:28:15Z","https://github.com/Tresjs/lab/issues/3",["Reactive",2971],{},["Set"],["ShallowReactive",2974],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fbNtoAS9VDjKbTMr7GKzQKtOQEFjofiabAKEWt2bHf20":-1},"/Tresjs/tres/366"]