{"id":15505314,"url":"https://github.com/hasparus/r3fts","last_synced_at":"2025-10-04T05:32:39.434Z","repository":{"id":72291946,"uuid":"243270233","full_name":"hasparus/r3fts","owner":"hasparus","description":"mdx deck for my talk at WroTS #12","archived":false,"fork":false,"pushed_at":"2020-04-04T13:33:24.000Z","size":928,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-19T05:18:09.498Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hasparus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-02-26T13:33:40.000Z","updated_at":"2020-02-27T18:46:41.000Z","dependencies_parsed_at":"2023-03-11T12:11:56.168Z","dependency_job_id":null,"html_url":"https://github.com/hasparus/r3fts","commit_stats":{"total_commits":15,"total_committers":1,"mean_commits":15.0,"dds":0.0,"last_synced_commit":"e820d660abcd869fab163ed5f01f8aa16a370c4c"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hasparus/r3fts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasparus%2Fr3fts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasparus%2Fr3fts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasparus%2Fr3fts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasparus%2Fr3fts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hasparus","download_url":"https://codeload.github.com/hasparus/r3fts/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasparus%2Fr3fts/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264152120,"owners_count":23564882,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-02T09:22:34.886Z","updated_at":"2025-10-04T05:32:34.389Z","avatar_url":"https://github.com/hasparus.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Wednesday, February 26, 2020\\\n[Wrocław TypeScript #12: Giving Back](https://www.meetup.com/WrocTypeScript/events/sjzhvqybcdbjc/)\n\n## Fixing @types/react conflict in react-three-fiber\n\n### Usage\n\n```\nyarn\nyarn start\n```\n\n### Notes\n\n**Dan Questions**:\n\n- How will you deliver the idea to the audience?\n  - R3F is pretty rad. Gonna show [this](https://i2160.csb.app/) on the first slide.\n\n    _Started with the tease, went ahead to explain the problem and continued with the solution.\\\n     Why -\u003e What -\u003e How. Got good feedback on the flow._\n\n- What is the one thing that you want people to take away from your talk?\n  - Compiler API is __powerful__. We can use this power to hard solve problems.\n\n- Why are you giving the talk? What is the emotional core? What do you believe in?\n  - Don’t be afraid. Contribute to open source. Hack weird stuff.\n\n**Format**: Case Study.\n\n**Outline**:\n\n- what is React Three Fiber\n- why I care about it\n  - (past threejs experience in Explain Everything)\n- how it works\n  - what is a reconciler?\n- reconciler problem -- conflict with @types/react [#233](https://github.com/react-spring/react-three-fiber/pull/233) \\\n  I generated components for dynamic behavior of r3f by mapping over THREE types, dumping them to a file with Compiler API.\n  - why was it hard in TS\n    - static clashes with dynamic\n  - How React Native lies about its types\n  - Why was traversing the API in JS harder (impossible?)\n  - show the code\n\n**Comments**:\n\nI have actually removed 1/3 of the talk ([initial idea gist](https://gist.github.com/hasparus/bcd582d93d5892f54a18607fe54afb4b/edit)) on the same day I gave it.\nIt was a good idea. The talk took the time it was meant to.\n\nI got some feedback and I think it resonated pretty well. However, after watching the video I'm a bit unhappy with the delivery. The deck could also be improved. I might polish it and try to fit more story and more knowledge in a bit longer time window. I think I'll leave rollup plugin story for another talk though, to keep this more focused on React and TS Compiler API.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhasparus%2Fr3fts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhasparus%2Fr3fts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhasparus%2Fr3fts/lists"}