\r\n\r\n \u003C!-- There will be a type problem here -->\r\n\t\t\t\u003CTresPerspectiveCamera :position=\"[3, 3, 3]\" :look-at=\"[0, 0, 0]\" />\r\n\r\n\t\t\t\u003CSuspense>\r\n\t\t\t\t\u003CTexture_02 />\r\n\t\t\t\u003C/Suspense>\r\n\r\n \u003C!-- OK -->\r\n\t\t\t\u003CTresDirectionalLight :intensity=\"1\" :position=\"new THREE.Vector3(0, 3, 3)\" v-light-helper />\r\n\t\t\u003C/TresCanvas>\r\n\t\u003C/div>\r\n\u003C/template>\r\n\r\n\u003Cstyle lang=\"scss\" scoped>\r\n\t.container {\r\n\t\twidth: 100%;\r\n\t\theight: 100%;\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t}\r\n\u003C/style>\r\n\r\n```\n\n### Alternative\n\nAt first I thought: position=\"new THREE.Vector3(0, 3, 3)\" is a better way to understand the original parameters of threejs, but after reading the documentation, I found: position=\"[0,3,3]\" is simpler ;But the recommended writing method in the document is: position=\"[0,3,3]\"\r\n\r\n\r\n\n\n### Additional context\n\n\r\n\r\n\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.",[],696,"position type is incorrect","2024-05-27T03:45:05Z","https://github.com/Tresjs/tres/issues/696",0.78493226,{"description":2899,"labels":2900,"number":2901,"owner":2868,"repository":2869,"state":2902,"title":2903,"updated_at":2904,"url":2905,"score":2906},"# Goal\r\nGenerate three-shakeable components on build time to avoid the need for a catalog of global components. This will be probably a BREAKING CHANGE, especially for cientos.\r\n\r\n```vue\r\n\u003Cscript setup lang=\"ts\">\r\n\r\nimport { TresCanvas, TresPerspectiveCamera, TresScene, TresAmbienLight, useRenderLoop } from '@tresjs/core' \r\nimport { OrbitControls, TransformControls } from '@tresjs/cientos'\r\n\r\nconst sphereRef = ref()\r\n\r\nconst { onLoop } = useRenderLoop()\r\n\r\nonLoop(({ elapsed }) => {\r\n sphereRef.value.position.y += Math.sin(elapsed * 0.01) * 0.1\r\n})\r\n\u003C/script>\r\n\u003Ctemplate>\r\n \u003CTresCanvas v-bind=\"state\">\r\n \u003CTresPerspectiveCamera :position=\"[5, 5, 5]\" :fov=\"45\" :near=\"0.1\" :far=\"1000\" :look-at=\"[-8, 3, -3]\" />\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,"closed","Generate instances on build-time rather than run-time","2023-03-13T14:26:46Z","https://github.com/Tresjs/tres/issues/104",0.73485804,{"description":2908,"labels":2909,"number":2916,"owner":2868,"repository":2869,"state":2902,"title":2917,"updated_at":2918,"url":2919,"score":2920},"**Describe the bug**\r\nSince we are using a Custom Renderer, the main instances of Vue don't recognize the Tres components and throw these annoying warnings that will confuse users.\r\n\r\nOne way around this is to add this to the `vite.config.ts`:\r\n\r\n```\r\nplugins: [vue({\r\n template: {\r\n compilerOptions: {\r\n isCustomElement: tag => tag.startsWith('Tres') && tag !== 'TresCanvas',\r\n },\r\n },\r\n })],\r\n```\r\nBut that's not ideal.\r\n\r\n**Expected behavior**\r\nNo warnings\r\n\r\n**Screenshots**\r\n\u003Cimg width=\"803\" alt=\"Screenshot 2023-03-23 at 06 15 08\" src=\"https://user-images.githubusercontent.com/4699008/227110134-44644ecb-367b-4fe4-b071-8e3b645611ce.png\">\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**Additional context**\r\nAdd any other context about the problem here.\r\n",[2910,2913],{"name":2911,"color":2912},"bug","d73a4a",{"name":2914,"color":2915},"pending-triage","97A4FE",162,"[v2] - Failed to resolve component warnings","2023-11-23T18:35:20Z","https://github.com/Tresjs/tres/issues/162",0.74305594,{"description":2922,"labels":2923,"number":2930,"owner":2868,"repository":2869,"state":2902,"title":2931,"updated_at":2932,"url":2933,"score":2934},"### Description\n\nAs a TresJS developer, I would like to have better type support and IntelliSense. The idea would be to replace the current approach of generating the types on the build.\n\n### Suggested solution\n\nCody from Pmndrs gave me a hint on how R3F is tackling the typing. https://github.com/pmndrs/react-three-fiber/blob/v9/packages/fiber/src/three-types.ts\r\n\r\n```ts\r\ntype ThreeExports = typeof THREE\r\ntype ThreeElementsImpl = {\r\n [K in keyof ThreeExports as Uncapitalize\u003CK>]: ThreeExports[K] extends ConstructorRepresentation\r\n ? ThreeElement\u003CThreeExports[K]>\r\n : never\r\n}\r\n```\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.",[2924,2927],{"name":2925,"color":2926},"dx","1576AD",{"name":2928,"color":2929},"types","5C076E",268,"Refactor typescript support from build to runtime","2023-05-21T09:05:02Z","https://github.com/Tresjs/tres/issues/268",0.75194275,{"description":2936,"labels":2937,"number":2938,"owner":2868,"repository":2869,"state":2902,"title":2939,"updated_at":2940,"url":2941,"score":2942},"**Is your feature request related to a problem? Please describe.**\r\nR3F is based on a custom renderer with reconciliation\r\n\r\n**Describe the solution you'd like**\r\nExplore if we could find an easy solution using https://vuejs.org/api/custom-renderer.html#createrenderer or push the Vue team to implement it.\r\n\r\nSupposedly is possible but documentation is poor to say at least.\r\n\r\n\r\n\r\nThis probably would be a BREAKING CHANGE for a potential v2\r\n\r\nfdyi @Tahul @wheatjs \r\n\r\n",[],86,"Explore Vue Custom Render API ","2023-03-22T09:52:11Z","https://github.com/Tresjs/tres/issues/86",0.75707906,{"description":2944,"labels":2945,"number":2947,"owner":2868,"repository":2869,"state":2902,"title":2948,"updated_at":2949,"url":2950,"score":2951},"### 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.",[2946],{"name":2911,"color":2912},317,"Vue-devtools broken since v2 custom renderer","2023-08-23T05:12:31Z","https://github.com/Tresjs/tres/issues/317",0.7639426,{"description":2953,"labels":2954,"number":2958,"owner":2868,"repository":2869,"state":2902,"title":2959,"updated_at":2960,"url":2961,"score":2962},"**Is your feature request related to a problem? Please describe.**\r\n\r\nTresJS is intended to be as simple and verbose as possible, but we can add an optional \"preset\" configuration for example for realistic scenes\r\n\r\n**Describe the solution you'd like**\r\n\r\n```\r\n\u003CTresCanvas preset=\"realistic\" />\r\n```\r\n\r\nWould set the following properties to the render\r\n\r\n```\r\nrenderer.physicallyCorrectLights = true // real lights\r\nrenderer.outputEncoding = THREE.sRGBEncoding // gama correction\r\nrenderer.toneMapping = THREE.ACESFilmicToneMapping\r\nrenderer.toneMappingExposure = 3\r\nrenderer.shadowMap.enabled = true\r\nrenderer.shadowMap.type = THREE.PCFSoftShadowMap\r\n```\r\n\r\n",[2955],{"name":2956,"color":2957},"good first issue","7057ff",109,"Renderer presets","2023-02-19T13:59:01Z","https://github.com/Tresjs/tres/issues/109",0.76823646,{"description":2964,"labels":2965,"number":2978,"owner":2868,"repository":2979,"state":2902,"title":2980,"updated_at":2981,"url":2982,"score":2983},"### Description\r\n\r\nAs a developer using `@tresjs/cientos` I would like to benefit from the new composable and loop logic introduced in v4 https://github.com/Tresjs/tres/pull/673 \r\n\r\n### Suggested solution\r\n\r\nUpdate the following abstractions\r\n\r\n- [x] Stats.ts\r\n- [x] StatsGL\r\n- [x] Ocean\r\n- [x] Smoke\r\n- [ ] useEnvironment\r\n- [ ] BakeShadows\r\n- [x] Html\r\n- [x] KeyboardControls\r\n- [ ] ContactShadows\r\n- [x] Levioso\r\n- [x] ScrollControls\r\n- [x] useAnimations\r\n- [x] Precipitation\r\n- [x] HolographicMaterial\r\n- [x] MeshWobbleMaterial\r\n- [x] OrbitControls\r\n- [x] MouseParallax\r\n- [x] CameraControls\r\n- [ ] MeshReflectionMaterial\r\n- [ ] Sparkles\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.",[2966,2969,2972,2975],{"name":2967,"color":2968},"feature","c2e0c6",{"name":2970,"color":2971},"v4","EEF2B0",{"name":2973,"color":2974},"breaking-change","5319E7",{"name":2976,"color":2977},"p3-significant","2C78E3",421,"cientos","Adapt abstractions to `useLoop` instead of `useRenderLoop`","2024-08-28T19:21:42Z","https://github.com/Tresjs/cientos/issues/421",0.7690017,["Reactive",2985],{},["Set"],["ShallowReactive",2988],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fURHales75iaL8B7bItXgZ8Am2kMUSEjEIjlOXjC5GxE":-1},"/Tresjs/tres/148"]