gitextract_tr77z8gq/ ├── .changeset/ │ ├── README.md │ └── config.json ├── .codesandbox/ │ └── ci.json ├── .eslintignore ├── .eslintrc.json ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ ├── issue_template.md │ └── workflows/ │ ├── canary.yml │ ├── docs.yml │ └── test.yml ├── .gitignore ├── .husky/ │ ├── .gitignore │ └── pre-commit ├── .prettierignore ├── .prettierrc ├── CONTRIBUTING.md ├── LICENSE ├── babel.config.js ├── docs/ │ ├── API/ │ │ ├── additional-exports.mdx │ │ ├── canvas.mdx │ │ ├── events.mdx │ │ ├── hooks.mdx │ │ ├── objects.mdx │ │ ├── testing.mdx │ │ └── typescript.mdx │ ├── advanced/ │ │ ├── pitfalls.mdx │ │ └── scaling-performance.mdx │ ├── getting-started/ │ │ ├── basic-example-sandpack/ │ │ │ ├── index.jsx │ │ │ └── styles.css │ │ ├── community-r3f-components.mdx │ │ ├── examples.mdx │ │ ├── installation.mdx │ │ ├── introduction.mdx │ │ └── your-first-scene.mdx │ └── tutorials/ │ ├── basic-animations.mdx │ ├── events-and-interaction.mdx │ ├── how-it-works.mdx │ ├── loading-models.mdx │ ├── loading-textures.mdx │ └── v9-migration-guide.mdx ├── example/ │ ├── .gitignore │ ├── CHANGELOG.md │ ├── index.html │ ├── package.json │ ├── public/ │ │ ├── Parrot.glb │ │ ├── Stork.glb │ │ ├── apple.gltf │ │ ├── bottle.gltf │ │ ├── farm.gltf │ │ ├── lightning.gltf │ │ └── ramen.gltf │ ├── src/ │ │ ├── App.tsx │ │ ├── components.tsx │ │ ├── demos/ │ │ │ ├── Activity.tsx │ │ │ ├── AutoDispose.tsx │ │ │ ├── ChangeTexture.tsx │ │ │ ├── ClickAndHover.tsx │ │ │ ├── ContextMenuOverride.tsx │ │ │ ├── FlushSync.tsx │ │ │ ├── Gestures.tsx │ │ │ ├── Gltf.tsx │ │ │ ├── Inject.tsx │ │ │ ├── Layers.tsx │ │ │ ├── Lines.tsx │ │ │ ├── MultiMaterial.tsx │ │ │ ├── MultiRender.tsx │ │ │ ├── MultiView.tsx │ │ │ ├── Pointcloud.tsx │ │ │ ├── Portals.tsx │ │ │ ├── Reparenting.tsx │ │ │ ├── ResetProps.tsx │ │ │ ├── SVGRenderer.tsx │ │ │ ├── Selection.tsx │ │ │ ├── StopPropagation.tsx │ │ │ ├── SuspenseAndErrors.tsx │ │ │ ├── SuspenseMaterial.tsx │ │ │ ├── Test.tsx │ │ │ ├── ViewTracking.tsx │ │ │ ├── Viewcube.tsx │ │ │ ├── WebGPU.tsx │ │ │ └── index.tsx │ │ ├── index.tsx │ │ └── styles.css │ ├── tsconfig.json │ └── vite.config.ts ├── jest.config.js ├── package.json ├── packages/ │ ├── eslint-plugin/ │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── docs/ │ │ │ └── rules/ │ │ │ ├── no-clone-in-loop.md │ │ │ └── no-new-in-loop.md │ │ ├── package.json │ │ ├── scripts/ │ │ │ └── codegen.ts │ │ ├── src/ │ │ │ ├── configs/ │ │ │ │ ├── all.ts │ │ │ │ └── recommended.ts │ │ │ ├── index.ts │ │ │ ├── lib/ │ │ │ │ └── url.ts │ │ │ └── rules/ │ │ │ ├── index.ts │ │ │ ├── no-clone-in-loop.ts │ │ │ └── no-new-in-loop.ts │ │ └── tests/ │ │ └── rules/ │ │ ├── no-clone-in-loop.test.ts │ │ └── no-new-in-loop.test.ts │ ├── fiber/ │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── __mocks__/ │ │ │ ├── expo-asset.ts │ │ │ ├── expo-file-system.ts │ │ │ ├── expo-gl.ts │ │ │ ├── react-native.ts │ │ │ └── react-use-measure.ts │ │ ├── native/ │ │ │ └── package.json │ │ ├── package.json │ │ ├── readme.md │ │ ├── src/ │ │ │ ├── core/ │ │ │ │ ├── events.ts │ │ │ │ ├── hooks.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── loop.ts │ │ │ │ ├── reconciler.tsx │ │ │ │ ├── renderer.tsx │ │ │ │ ├── store.ts │ │ │ │ └── utils.tsx │ │ │ ├── index.tsx │ │ │ ├── native/ │ │ │ │ ├── Canvas.tsx │ │ │ │ ├── events.ts │ │ │ │ └── polyfills.ts │ │ │ ├── native.tsx │ │ │ ├── three-types.ts │ │ │ └── web/ │ │ │ ├── Canvas.tsx │ │ │ └── events.ts │ │ └── tests/ │ │ ├── __snapshots__/ │ │ │ ├── canvas.native.test.tsx.snap │ │ │ ├── canvas.test.tsx.snap │ │ │ ├── index.test.tsx.snap │ │ │ └── utils.test.ts.snap │ │ ├── canvas.native.test.tsx │ │ ├── canvas.test.tsx │ │ ├── events.test.tsx │ │ ├── hooks.test.tsx │ │ ├── index.test.tsx │ │ ├── polyfills.test.ts │ │ ├── reconciler.test.ts │ │ ├── renderer.test.tsx │ │ └── utils.test.ts │ ├── shared/ │ │ └── setupTests.ts │ └── test-renderer/ │ ├── .npmignore │ ├── CHANGELOG.md │ ├── README.md │ ├── markdown/ │ │ ├── rttr-instance.md │ │ └── rttr.md │ ├── package.json │ └── src/ │ ├── WebGL2RenderingContext.ts │ ├── __tests__/ │ │ ├── RTTR.core.test.tsx │ │ ├── RTTR.events.test.tsx │ │ ├── RTTR.hooks.test.tsx │ │ ├── RTTR.methods.test.tsx │ │ └── __snapshots__/ │ │ └── RTTR.core.test.tsx.snap │ ├── createTestCanvas.ts │ ├── createTestInstance.ts │ ├── fireEvent.ts │ ├── helpers/ │ │ ├── events.ts │ │ ├── graph.ts │ │ ├── strings.ts │ │ ├── testInstance.ts │ │ ├── tree.ts │ │ └── waitFor.ts │ ├── index.tsx │ └── types/ │ ├── index.ts │ ├── internal.ts │ └── public.ts ├── readme.md ├── tsconfig.json └── vite.config.ts