diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index a67b2769..f72ec3f5 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -14,12 +14,6 @@ jobs:
build-job:
runs-on: ubuntu-latest
- # container:
- # image: ghcr.io/pmndrs/playwright:main
- # credentials:
- # username: ${{ github.actor }}
- # password: ${{ secrets.GITHUB_TOKEN }}
-
steps:
- uses: actions/checkout@v4
- id: configurepages
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
deleted file mode 100644
index 44b9a30c..00000000
--- a/.github/workflows/docs.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-name: Create and publish a multi-arch Docker image
-on:
- push:
- branches: ['main', 'app-router']
-
-jobs:
- build:
- uses: pmndrs/docs/.github/workflows/build.yml@app-router
- with:
- mdx: ./docs
- libname: 'pmndrs'
-
- deploy:
- needs: build
- runs-on: ubuntu-latest
-
- # Grant GITHUB_TOKEN the permissions required to make a Pages deployment
- permissions:
- pages: write # to deploy to Pages
- id-token: write # to verify the deployment originates from an appropriate source
-
- # Deploy to the github-pages environment
- environment:
- name: github-pages
- url: ${{ steps.deployment.outputs.page_url }}
-
- steps:
- - id: deployment
- uses: actions/deploy-pages@v4
diff --git a/docs/API/additional-exports.mdx b/docs/API/additional-exports.mdx
deleted file mode 100644
index c2b1ab95..00000000
--- a/docs/API/additional-exports.mdx
+++ /dev/null
@@ -1,22 +0,0 @@
----
-title: Additional Exports
-nav: 9
----
-
-| export | usage |
-| ------------------ | -------------------------------------------------------------- |
-| addEffect | Adds a global render callback which is called each frame |
-| addAfterEffect | Adds a global after-render callback which is called each frame |
-| addTail | Adds a global callback which is called when rendering stops |
-| buildGraph | Collects nodes and materials from a THREE.Object3D |
-| flushGlobalEffects | Flushes global render-effects for when manually driving a loop |
-| invalidate | Forces view global invalidation |
-| advance | Advances the frameloop (given that it's set to 'never') |
-| extend | Extends the native-object catalogue |
-| createPortal | Creates a portal (it's a React feature for re-parenting) |
-| createRoot | Creates a root that can render three JSX into a canvas |
-| events | Dom pointer-event system |
-| applyProps | `applyProps(element, props)` sets element properties, |
-| act | usage with react-testing |
-| useInstanceHandle | Exposes react-internal local state from `instance.__r3f` |
-| | |
diff --git a/docs/API/canvas.mdx b/docs/API/canvas.mdx
deleted file mode 100644
index cdd71f4e..00000000
--- a/docs/API/canvas.mdx
+++ /dev/null
@@ -1,197 +0,0 @@
----
-title: Canvas
-description: 'The Canvas object is your portal into three.js.'
-nav: 4
----
-
-The `Canvas` object is where you start to define your React Three Fiber Scene.
-
-```jsx
-import React from 'react'
-import { Canvas } from '@react-three/fiber'
-
-const App = () => (
-
-)
-```
-
-## Properties
-
-| Prop | Description | Default |
-| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
-| children | three.js JSX elements or regular components | |
-| fallback | optional DOM JSX elements or regular components in case GL is not supported | |
-| gl | Props that go into the default renderer, or your own renderer. Also accepts a synchronous callback like `gl={canvas => new Renderer({ canvas })}` | `{}` |
-| camera | Props that go into the default camera, or your own `THREE.Camera` | `{ fov: 75, near: 0.1, far: 1000, position: [0, 0, 5] }` |
-| scene | Props that go into the default scene, or your own `THREE.Scene` | `{}` |
-| shadows | Props that go into `gl.shadowMap`, can be set true for `PCFsoft` or one of the following: 'basic', 'percentage', 'soft', 'variance' | `false` |
-| raycaster | Props that go into the default raycaster | `{}` |
-| frameloop | Render mode: always, demand, never | `always` |
-| resize | Resize config, see react-use-measure's options | `{ scroll: true, debounce: { scroll: 50, resize: 0 } }` |
-| orthographic | Creates an orthographic camera | `false` |
-| dpr | Pixel-ratio, use `window.devicePixelRatio`, or automatic: [min, max] | `[1, 2]` |
-| legacy | Enables THREE.ColorManagement in three r139 or later | `false` |
-| linear | Switch off automatic sRGB color space and gamma correction | `false` |
-| events | Configuration for the event manager, as a function of state | `import { events } from "@react-three/fiber"` |
-| eventSource | The source where events are being subscribed to, HTMLElement | `React.MutableRefObject`, `gl.domElement.parentNode` |
-| eventPrefix | The event prefix that is cast into canvas pointer x/y events | `offset` |
-| flat | Use `THREE.NoToneMapping` instead of `THREE.ACESFilmicToneMapping` | `false` |
-| onCreated | Callback after the canvas has rendered (but not yet committed) | `(state) => {}` |
-| onPointerMissed | Response for pointer clicks that have missed any target | `(event) => {}` |
-
-## Defaults
-
-Canvas uses [createRoot](#createroot) which will create a translucent `THREE.WebGLRenderer` with the following constructor args:
-
-- antialias=true
-- alpha=true
-- powerPreference="high-performance"
-
-and with the following properties:
-
-- outputColorSpace = THREE.SRGBColorSpace
-- toneMapping = THREE.ACESFilmicToneMapping
-
-It will also create the following scene internals:
-
-- A `THREE.Perspective` camera
-- A `THREE.Orthographic` cam if `orthographic` is true
-- A `THREE.PCFSoftShadowMap` if `shadows` is true
-- A `THREE.Scene` (into which all the JSX is rendered) and a `THREE.Raycaster`
-
-In recent versions of threejs, `THREE.ColorManagement.enabled` will be set to `true` to enable automatic conversion of colors according to the renderer's configured color space. R3F will handle texture color space conversion. For more on this topic, see [https://threejs.org/docs/#manual/en/introduction/Color-management](https://threejs.org/docs/#manual/en/introduction/Color-management).
-
-## Errors and fallbacks
-
-On some systems WebGL may not be supported, you can provide a fallback component that will be rendered instead of the canvas:
-
-```jsx
-
-```
-
-You should also safeguard the canvas against WebGL context crashes, for instance if users have the GPU disabled or GPU drivers are faulty.
-
-```jsx
-import { useErrorBoundary } from 'use-error-boundary'
-
-function App() {
- const { ErrorBoundary, didCatch, error } = useErrorBoundary()
- return didCatch ? (
-
{error.message}
- ) : (
-
-
-
- )
-}
-```
-
-
-
-Ideally, and if possible, your fallback is a seamless, visual replacement for what the canvas would have otherwise rendered.
-
-
-
-## Custom Canvas
-
-R3F can render to a root, similar to how `react-dom` and all the other React renderers work. This allows you to shave off `react-dom` (~40kb), `react-use-measure` (~3kb) and, if you don't need them, `pointer-events` (~7kb) (you need to explicitly import `events` and add them to the config otherwise).
-
-Roots have the same options and properties as `Canvas`, but you are responsible for resizing it. It requires an existing DOM `