\r\n \u003C/template>\r\n ```\n\n### Suggested solution\n\nAdd logic to `nodeOps` to re-instance the THREE object when `args` change\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.",[2951],{"name":2895,"color":2896},366,"Re-instance THREE instances via args prop reactivity","2023-08-17T13:53:39Z","https://github.com/Tresjs/tres/issues/366",0.723305,{"description":2958,"labels":2959,"number":2963,"owner":2860,"repository":2886,"state":2899,"title":2964,"updated_at":2965,"url":2966,"score":2967},"### Description\n\nAs a developer using TresJS I want to have better documentation about primitives so that I can understand it's functionality better\n\n### Suggested solution\n\nAdd dedicated guide to primitives\n\n### Alternative\n\n_No response_\n\n### Additional context\n\nRequested by community\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.",[2960],{"name":2961,"color":2962},"docs","0075ca",349,"Extended guide about primitives on docs","2023-09-18T08:02:56Z","https://github.com/Tresjs/tres/issues/349",0.73209536,{"description":2969,"labels":2970,"number":2971,"owner":2860,"repository":2886,"state":2899,"title":2972,"updated_at":2973,"url":2974,"score":2975},"## 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.73409045,["Reactive",2977],{},["Set"],["ShallowReactive",2980],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fhXStDVxHgePDCjJ3_u5N_X7MbVJhxJ2XwcIax2_g57w":-1},"/Tresjs/tres/600"]