\r\n\r\n**Additional context**\r\nI would like feedback about this specific feature, name and props\r\n",[2924],{"name":2925,"color":2926},"feature","c2e0c6","closed","Precipitation abstraction \u003CPrecipitation />","2023-05-24T06:22:46Z","https://github.com/Tresjs/cientos/issues/53",0.46775448,{"description":2933,"labels":2934,"number":2935,"owner":2863,"repository":2885,"state":2927,"title":2936,"updated_at":2937,"url":2938,"score":2939},"### 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.68502706,{"description":2941,"labels":2942,"number":2943,"owner":2863,"repository":2944,"state":2927,"title":2945,"updated_at":2946,"url":2947,"score":2948}," Hello. I appreciate your work for this wonderful library.\r\n As I follow the steps detailed in [https://docs.tresjs.org/advanced/primitive.html](url) using BatchedMesh, it thow an exception as follows: \r\n\r\n My code example is as below:\r\n`\u003Cscript setup lang=\"ts\">\r\n const geometry2 = new THREE.ConeGeometry();\r\n const geometry3 = new THREE.BoxGeometry();\r\n const mtl3 = new THREE.MeshBasicMaterial({ color: 0xffff00 })\r\n const meshWithMtl2 = new THREE.BatchedMesh(20, 1000, 1000, mtl3)\r\n var geoId = meshWithMtl2.addGeometry(geometry2);\r\n meshWithMtl2.addInstance(geoId)\r\n var geoId2 = meshWithMtl2.addGeometry(geometry3);\r\n meshWithMtl2.addInstance(geoId2)\r\n\u003C/script>\r\n\r\n\u003Ctemplate>\r\n \u003Cprimitive :object=\" meshWithMtl2\" />\r\n\u003C/template>\r\n`\r\n What have I missed or mistaken? Hope to get your help.\r\n",[],150,"lab","BatchedMesh dosn't work with the primitive component","2024-08-12T00:16:46Z","https://github.com/Tresjs/lab/issues/150",0.6930216,{"description":2950,"labels":2951,"number":2955,"owner":2863,"repository":2956,"state":2927,"title":2957,"updated_at":2958,"url":2959,"score":2960},"\r\n\r\n😊 https://docs.pmnd.rs/react-postprocessing/effects/noise\r\n",[2952],{"name":2953,"color":2954},"enhancement","a2eeef",66,"post-processing","Noise","2023-11-07T21:19:16Z","https://github.com/Tresjs/post-processing/issues/66",0.70070386,["Reactive",2962],{},["Set"],["ShallowReactive",2965],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fN97Ev1jan8FO9k7iJiIgOLb70Nt3FEOHyqdOzWVSBo4":-1},"/Tresjs/lab/53"]