@react-three/fiber 10.0.0-canary.7dfc4e4 → 10.0.0-canary.88b1ca7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/chunks/webgpu.cjs +37 -0
  2. package/dist/chunks/webgpu.mjs +21 -0
  3. package/dist/extension.cjs +13 -0
  4. package/dist/extension.d.cts +63 -0
  5. package/dist/extension.d.mts +63 -0
  6. package/dist/extension.d.ts +63 -0
  7. package/dist/extension.mjs +1 -0
  8. package/dist/index.cjs +98 -15354
  9. package/dist/index.d.cts +101 -3762
  10. package/dist/index.d.mts +101 -3762
  11. package/dist/index.d.ts +101 -3762
  12. package/dist/index.mjs +12 -15255
  13. package/dist/legacy.cjs +105 -15291
  14. package/dist/legacy.d.cts +115 -3751
  15. package/dist/legacy.d.mts +115 -3751
  16. package/dist/legacy.d.ts +115 -3751
  17. package/dist/legacy.mjs +21 -15208
  18. package/dist/shared/fiber.34TOMPo3.d.cts +2494 -0
  19. package/dist/shared/fiber.BFuGd7gN.d.cts +90 -0
  20. package/dist/shared/fiber.BO8-26r8.cjs +541 -0
  21. package/dist/shared/fiber.BSXtODQl.cjs +14 -0
  22. package/dist/shared/fiber.Bll9fqKA.d.mts +90 -0
  23. package/dist/shared/fiber.BuWl08aJ.mjs +16564 -0
  24. package/dist/shared/fiber.C-3TIsF8.mjs +500 -0
  25. package/dist/shared/fiber.CjMAAsJy.d.ts +2494 -0
  26. package/dist/shared/fiber.DEWBFQJe.mjs +9 -0
  27. package/dist/shared/fiber.DQTSZ24m.d.cts +1240 -0
  28. package/dist/shared/fiber.DQTSZ24m.d.mts +1240 -0
  29. package/dist/shared/fiber.DQTSZ24m.d.ts +1240 -0
  30. package/dist/shared/fiber.DuA4F8L5.d.ts +90 -0
  31. package/dist/shared/fiber.Dy7Uz273.d.mts +2494 -0
  32. package/dist/shared/fiber.TRm3lZ7I.cjs +16662 -0
  33. package/dist/webgpu/index.cjs +101 -16188
  34. package/dist/webgpu/index.d.cts +106 -4127
  35. package/dist/webgpu/index.d.mts +106 -4127
  36. package/dist/webgpu/index.d.ts +106 -4127
  37. package/dist/webgpu/index.mjs +15 -16071
  38. package/package.json +13 -10
  39. package/readme.md +11 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-three/fiber",
3
- "version": "10.0.0-canary.7dfc4e4",
3
+ "version": "10.0.0-canary.88b1ca7",
4
4
  "description": "A React renderer for Threejs",
5
5
  "keywords": [
6
6
  "react",
@@ -53,29 +53,33 @@
53
53
  "import": "./dist/webgpu/index.mjs",
54
54
  "require": "./dist/webgpu/index.cjs"
55
55
  },
56
+ "./extension": {
57
+ "types": "./dist/extension.d.ts",
58
+ "import": "./dist/extension.mjs",
59
+ "require": "./dist/extension.cjs"
60
+ },
56
61
  "./package.json": "./package.json"
57
62
  },
58
63
  "dependencies": {
59
64
  "@babel/runtime": "^7.28.6",
60
- "@monogrid/gainmap-js": "^3.4.0",
61
- "@pmndrs/scheduler": "^0.2.0",
65
+ "@pmndrs/scheduler": "^0.3.0",
62
66
  "dequal": "^2.0.3",
63
- "its-fine": "^2.0.0",
67
+ "its-fine": "^2.1.1",
64
68
  "react-use-measure": "^2.1.7",
65
- "scheduler": "^0.27.0",
69
+ "scheduler": "^0.28.0",
66
70
  "suspend-react": "^0.1.3",
67
71
  "use-sync-external-store": "^1.6.0",
68
72
  "zustand": "^5.0.10"
69
73
  },
70
74
  "devDependencies": {
71
- "@types/react-reconciler": "^0.32.3",
75
+ "@types/react-reconciler": "^0.33.0",
72
76
  "@types/three": "^0.185.0",
73
77
  "@types/webxr": "*",
74
- "react-reconciler": "^0.33.0"
78
+ "react-reconciler": "^0.34.0"
75
79
  },
76
80
  "peerDependencies": {
77
- "react": ">=19.0 <19.3",
78
- "react-dom": ">=19.0 <19.3",
81
+ "react": ">=19.0 <19.4",
82
+ "react-dom": ">=19.0 <19.4",
79
83
  "three": ">=0.185.0"
80
84
  },
81
85
  "peerDependenciesMeta": {
@@ -86,7 +90,6 @@
86
90
  "scripts": {
87
91
  "prebuild": "node -e \"require('fs').copyFileSync('../../readme.md', 'readme.md')\"",
88
92
  "build": "unbuild",
89
- "postbuild": "node ../../scripts/fix-three-types.js",
90
93
  "stub": "unbuild --stub"
91
94
  }
92
95
  }
package/readme.md CHANGED
@@ -37,7 +37,16 @@ Yes. It merely expresses Threejs in JSX, `<mesh />` dynamically turns into `new
37
37
 
38
38
  #### Does it support WebGPU?
39
39
 
40
- Yes. With minor changes in v9 and significant work in v10 WebGPU support is first class. We support all ThreeJS WebGPU features/Nodes and expand it with our own hooks and utilities.
40
+ Yes. In v10 it is the default: `<Canvas>` from `@react-three/fiber` renders with three's `WebGPURenderer`, which falls back to a WebGL2 backend where the browser has no WebGPU, and the hooks are typed for it. Node materials and TSL work out of the box, with our own hooks in [`@react-three/tsl`](https://github.com/pmndrs/react-three-fiber/tree/v10/packages/tsl). Scenes that need `WebGLRenderer` (GLSL `ShaderMaterial`s, `onBeforeCompile`, `postprocessing`) import from `@react-three/fiber/legacy`.
41
+
42
+ #### Upgrading to v10?
43
+
44
+ v10 is in alpha (`npm install @react-three/fiber@alpha`). Read the [migration guide](https://r3f.docs.pmnd.rs/next/migration/v10) and the [list of breaking changes](https://r3f.docs.pmnd.rs/next/migration/breaking-changes). The short version:
45
+
46
+ - `@react-three/fiber` renders with WebGPU; WebGL is `@react-three/fiber/legacy`, chosen by the import.
47
+ - `useThree`, `useFrame` and `onCreated` are typed for the import's renderer, so `state.renderer.compute(...)` needs no cast. Libraries that run on both renderers type against `@react-three/fiber/extension`.
48
+ - `state.gl` is `state.renderer` (deprecated), `state.clock` is gone (`state.elapsed`, `state.delta`), and `shadows` and the color props moved into `renderer={{ ... }}` / `gl={{ ... }}`.
49
+ - The TSL hooks live in `@react-three/tsl`; the `physics` frame phase runs on a fixed timestep.
41
50
 
42
51
  ### What does it look like?
43
52
 
@@ -215,7 +224,7 @@ Visit [docs.pmnd.rs](https://docs.pmnd.rs/react-three-fiber) | [Awesome React Th
215
224
 
216
225
  You need to be versed in both React and Threejs before rushing into this. If you are unsure about React consult the official [React docs](https://react.dev/learn), especially [the section about hooks](https://react.dev/reference/react). As for Threejs, make sure you at least glance over the following links:
217
226
 
218
- 1. Make sure you have a [basic grasp of Threejs](https://threejs.org/docs/index.html#manual/en/introduction/Creating-a-scene). Keep that site open.
227
+ 1. Make sure you have a [basic grasp of Threejs](https://threejs.org/manual/#en/creating-a-scene). Keep that site open.
219
228
  2. When you know what a scene is, a camera, mesh, geometry, material, fork the [demo above](https://github.com/pmndrs/react-three-fiber#what-does-it-look-like).
220
229
  3. [Look up](https://threejs.org/docs/index.html#api/en/objects/Mesh) the JSX elements that you see (mesh, ambientLight, etc), _all_ threejs exports are native to three-fiber.
221
230
  4. Try changing some values, scroll through our [API](https://docs.pmnd.rs/react-three-fiber) to see what the various settings and hooks do.