\r\n \u003C/Suspense>\r\n```\r\nBut get `Failed to resolve component: primitive`",[],53,"Tresjs","lab","open","How to load and render STL models?","2024-07-17T17:42:39Z","https://github.com/Tresjs/lab/issues/53",0.7056674,{"description":3027,"labels":3028,"number":3035,"owner":3019,"repository":3036,"state":3021,"title":3037,"updated_at":3038,"url":3039,"score":3040},"### Describe the bug\n\nThe examples under https://cientos.tresjs.org/guide/misc/html-component.html#html are currently broken\n\n### Reproduction\n\nhttps://cientos.tresjs.org/guide/misc/html-component.html#html\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/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.",[3029,3032],{"name":3030,"color":3031},"bug","d73a4a",{"name":3033,"color":3034},"docs","0075ca",368,"cientos","[Docs] - HTML examples are broken ","2024-07-18T08:07:36Z","https://github.com/Tresjs/cientos/issues/368",0.7102069,{"description":3042,"labels":3043,"number":3048,"owner":3019,"repository":3036,"state":3021,"title":3049,"updated_at":3050,"url":3051,"score":3052},"### Describe the bug\n\nI used Line2 to add a point to the props.points, but it doesn't seem to render. \r\nSpecifically, points larger than the original array were not rendered, but points smaller than the original array were re rendered\n\n### Reproduction\n\nhttps://stackblitz.com/edit/tresjs-basic-kftrax?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/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.",[3044,3045],{"name":3030,"color":3031},{"name":3046,"color":3047},"p2-nice-to-have","D4C5F9",493,"Line2,Modify props.points, but it does not take effect","2024-10-17T16:25:41Z","https://github.com/Tresjs/cientos/issues/493",0.7281517,{"description":3054,"labels":3055,"number":3062,"owner":3019,"repository":3063,"state":3021,"title":3064,"updated_at":3065,"url":3066,"score":3067},"### Description\n\nAs a maintainer of TresJS, I would like to clean up the core logic by refactoring it to use VueUse `createInjectionState` https://vueuse.org/shared/createInjectionState/#createinjectionstate instead\n\n### Suggested solution\n\nReplace manual context provider with something like:\n\n```ts\nconst [useTresContextProvider, useTresContext] = createInjectionState((props, emit) => {\n // Create refs with initial null values\n const scene = shallowRef\u003CTresScene | null>(null)\n const renderer = shallowRef\u003CWebGLRenderer | null>(null)\n const camera = shallowRef\u003CPerspectiveCamera | null>(null)\n const loop = createRenderLoop()\n\n // Render mode logic etc\n})\n\nexport { useTresContext, useTresContextProvider }\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.",[3056,3059],{"name":3057,"color":3058},"p3-significant","2C78E3",{"name":3060,"color":3061},"v5","EFC959",961,"tres","Refactor `useTresContextProvider` into `createInjectionState`","2025-03-18T15:30:44Z","https://github.com/Tresjs/tres/issues/961",0.7337573,{"description":3069,"labels":3070,"number":3075,"owner":3019,"repository":3076,"state":3021,"title":3077,"updated_at":3078,"url":3079,"score":3080},"### 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.",[3071,3072],{"name":3030,"color":3031},{"name":3073,"color":3074},"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.73458457,{"description":3082,"labels":3083,"number":3088,"owner":3019,"repository":3036,"state":3021,"title":3089,"updated_at":3090,"url":3091,"score":3092},"### Description\n\nAs a developer using TresJS, I would like to have a component that can keep child components centered on screen, even after screen resizes.\n\n### Suggested solution\n\nA component that works like [Drei's `\u003CBounds />`](https://drei.docs.pmnd.rs/staging/bounds#bounds) would be welcome.\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/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.",[3084,3087],{"name":3085,"color":3086},"feature","c2e0c6",{"name":3046,"color":3047},408,"\u003CBounds />","2024-12-17T18:07:35Z","https://github.com/Tresjs/cientos/issues/408",0.7348712,{"description":3094,"labels":3095,"number":3098,"owner":3019,"repository":3063,"state":3021,"title":3099,"updated_at":3100,"url":3101,"score":3102},"### Description\r\n\r\nAs a developer using TresJS, I want to have a `\u003CPortal>` component that can contain a separate `Scene` and `context`.\r\n\r\n### Suggested solution\r\n\r\nProvide a `\u003CPortal>` component similar to R3F.\r\n\r\n### Requirements\r\n\r\n- [ ] Add override-able pointer to `TresContext` (Also add as prop to TresCanvas: see #581 ); use vanilla `THREE.Vector2`, accept `Vector2` and `UsePointerOptions` as TresCanvas prop\r\n- [ ] Make these fields on `TresContext` swappable and (in some case injectable by the user): scene, camera, cameras, controls, raycaster, eventManager, sizes\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.",[3096,3097],{"name":3057,"color":3058},{"name":3060,"color":3061},789,"Portal","2025-02-06T09:59:01Z","https://github.com/Tresjs/tres/issues/789",0.7356943,{"description":3104,"labels":3105,"number":3106,"owner":3019,"repository":3063,"state":3107,"title":3108,"updated_at":3109,"url":3110,"score":3111},"### 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,"closed","New and better state context provider","2023-07-29T08:58:56Z","https://github.com/Tresjs/tres/issues/331",0.6962421,{"description":3113,"labels":3114,"number":3018,"owner":3019,"repository":3036,"state":3107,"title":3116,"updated_at":3117,"url":3118,"score":3025},"**Is your feature request related to a problem? Please describe.**\r\nWe can implement a rain abstraction where particles flow to infinity. This effect works also for snow effect and even for beam\r\n\r\n\r\n**Describe the solution you'd like**\r\nExamples here:\r\nhttps://github.com/PacktPublishing/Learn-Three.js-Fourth-edition/blob/main/source/samples/chapters/chapter-7/rain.js\r\nhttps://github.com/PacktPublishing/Learn-Three.js-Fourth-edition/blob/main/source/samples/chapters/chapter-7/snow.js\r\n\r\n**Suggested solution**\r\n\u003CFlowParticle\r\nspeed=\"\"\r\nfrom=\"\"\r\nto=\"\"\r\ntexture=\"\"\r\nsize=\"\"\r\ncount=\"\"\r\nrange=\"\"\r\n />\r\n\r\n**Additional context**\r\nI would like feedback about this specific feature, name and props\r\n",[3115],{"name":3085,"color":3086},"Precipitation abstraction \u003CPrecipitation />","2023-05-24T06:22:46Z","https://github.com/Tresjs/cientos/issues/53",{"description":3120,"labels":3121,"number":3126,"owner":3019,"repository":3036,"state":3107,"title":3127,"updated_at":3128,"url":3129,"score":3130},"\nCheck if we can avoid deep exposure `.value.value`",[3122,3123],{"name":3030,"color":3031},{"name":3124,"color":3125},"dx","1576ad",60,"Check defineExpose for refs","2023-05-31T09:01:21Z","https://github.com/Tresjs/cientos/issues/60",0.7128999,["Reactive",3132],{},["Set"],["ShallowReactive",3135],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$f6f91Hec7xSDtrWEq3iFOB1lxYIuezIEgSje77xalM2g":-1},"/Tresjs/post-processing/66"]