@react-three/fiber 10.0.0-canary.611635d → 10.0.0-canary.6eb9584
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.
- package/dist/index.cjs +6 -3
- package/dist/index.d.cts +6 -1
- package/dist/index.d.mts +6 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.mjs +6 -3
- package/dist/legacy.cjs +5 -7
- package/dist/legacy.d.cts +5 -4
- package/dist/legacy.d.mts +5 -4
- package/dist/legacy.d.ts +5 -4
- package/dist/legacy.mjs +5 -7
- package/dist/webgpu/index.cjs +34 -25
- package/dist/webgpu/index.d.cts +24 -51
- package/dist/webgpu/index.d.mts +24 -51
- package/dist/webgpu/index.d.ts +24 -51
- package/dist/webgpu/index.mjs +34 -25
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
const webgpu = require('three/webgpu');
|
|
4
4
|
const three = require('three');
|
|
5
|
-
const Inspector_js = require('three/addons/inspector/Inspector.js');
|
|
6
5
|
const jsxRuntime = require('react/jsx-runtime');
|
|
7
6
|
const React = require('react');
|
|
8
7
|
const useMeasure = require('react-use-measure');
|
|
@@ -52,18 +51,22 @@ const Tb__default = /*#__PURE__*/_interopDefaultCompat(Tb);
|
|
|
52
51
|
|
|
53
52
|
const R3F_BUILD_LEGACY = true;
|
|
54
53
|
const R3F_BUILD_WEBGPU = true;
|
|
54
|
+
async function loadInspector() {
|
|
55
|
+
const { Inspector } = await import('three/addons/inspector/Inspector.js');
|
|
56
|
+
return Inspector;
|
|
57
|
+
}
|
|
55
58
|
|
|
56
59
|
const THREE = /*#__PURE__*/_mergeNamespaces({
|
|
57
60
|
__proto__: null,
|
|
58
61
|
CubeRenderTarget: webgpu.CubeRenderTarget,
|
|
59
62
|
CubeRenderTargetCompat: webgpu.CubeRenderTarget,
|
|
60
|
-
Inspector: Inspector_js.Inspector,
|
|
61
63
|
R3F_BUILD_LEGACY: R3F_BUILD_LEGACY,
|
|
62
64
|
R3F_BUILD_WEBGPU: R3F_BUILD_WEBGPU,
|
|
63
65
|
RenderTargetCompat: webgpu.RenderTarget,
|
|
64
66
|
WebGLCubeRenderTarget: three.WebGLCubeRenderTarget,
|
|
65
67
|
WebGLRenderTarget: three.WebGLRenderTarget,
|
|
66
|
-
WebGLRenderer: three.WebGLRenderer
|
|
68
|
+
WebGLRenderer: three.WebGLRenderer,
|
|
69
|
+
loadInspector: loadInspector
|
|
67
70
|
}, [webgpu__namespace]);
|
|
68
71
|
|
|
69
72
|
const primaryRegistry = /* @__PURE__ */ new Map();
|
package/dist/index.d.cts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as three_examples_jsm_inspector_Inspector_js from 'three/examples/jsm/inspector/Inspector.js';
|
|
1
2
|
import * as three_webgpu from 'three/webgpu';
|
|
2
3
|
import { CubeRenderTarget, RenderTarget, WebGPURenderer, Node, StorageTexture, Data3DTexture, CanvasTarget, ShaderNodeObject, Euler as Euler$2, Color as Color$2, ColorRepresentation as ColorRepresentation$1, Layers as Layers$1, Raycaster, Intersection as Intersection$1, BufferGeometry, Matrix4 as Matrix4$1, Quaternion as Quaternion$1, Vector2 as Vector2$1, Vector3 as Vector3$1, Vector4 as Vector4$1, Matrix3 as Matrix3$1, Loader as Loader$1, ColorSpace, Texture as Texture$1, CubeTexture, Scene, Object3D, Frustum, OrthographicCamera } from 'three/webgpu';
|
|
3
4
|
import * as THREE$1 from 'three';
|
|
@@ -47,6 +48,9 @@ function _mergeNamespaces(n, m) {
|
|
|
47
48
|
declare const R3F_BUILD_LEGACY = true;
|
|
48
49
|
declare const R3F_BUILD_WEBGPU = true;
|
|
49
50
|
|
|
51
|
+
/** Lazily load the three Inspector. Keeps it out of the eager module graph — see note above. */
|
|
52
|
+
declare function loadInspector(): Promise<typeof three_examples_jsm_inspector_Inspector_js.Inspector>;
|
|
53
|
+
|
|
50
54
|
var THREE = /*#__PURE__*/_mergeNamespaces({
|
|
51
55
|
__proto__: null,
|
|
52
56
|
CubeRenderTarget: CubeRenderTarget,
|
|
@@ -58,7 +62,8 @@ var THREE = /*#__PURE__*/_mergeNamespaces({
|
|
|
58
62
|
WebGLCubeRenderTarget: WebGLCubeRenderTarget,
|
|
59
63
|
WebGLRenderTarget: WebGLRenderTarget,
|
|
60
64
|
WebGLRenderer: WebGLRenderer,
|
|
61
|
-
WebGLRendererParameters: WebGLRendererParameters
|
|
65
|
+
WebGLRendererParameters: WebGLRendererParameters,
|
|
66
|
+
loadInspector: loadInspector
|
|
62
67
|
}, [three_webgpu]);
|
|
63
68
|
|
|
64
69
|
//* Utility Types ==============================
|
package/dist/index.d.mts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as three_examples_jsm_inspector_Inspector_js from 'three/examples/jsm/inspector/Inspector.js';
|
|
1
2
|
import * as three_webgpu from 'three/webgpu';
|
|
2
3
|
import { CubeRenderTarget, RenderTarget, WebGPURenderer, Node, StorageTexture, Data3DTexture, CanvasTarget, ShaderNodeObject, Euler as Euler$2, Color as Color$2, ColorRepresentation as ColorRepresentation$1, Layers as Layers$1, Raycaster, Intersection as Intersection$1, BufferGeometry, Matrix4 as Matrix4$1, Quaternion as Quaternion$1, Vector2 as Vector2$1, Vector3 as Vector3$1, Vector4 as Vector4$1, Matrix3 as Matrix3$1, Loader as Loader$1, ColorSpace, Texture as Texture$1, CubeTexture, Scene, Object3D, Frustum, OrthographicCamera } from 'three/webgpu';
|
|
3
4
|
import * as THREE$1 from 'three';
|
|
@@ -47,6 +48,9 @@ function _mergeNamespaces(n, m) {
|
|
|
47
48
|
declare const R3F_BUILD_LEGACY = true;
|
|
48
49
|
declare const R3F_BUILD_WEBGPU = true;
|
|
49
50
|
|
|
51
|
+
/** Lazily load the three Inspector. Keeps it out of the eager module graph — see note above. */
|
|
52
|
+
declare function loadInspector(): Promise<typeof three_examples_jsm_inspector_Inspector_js.Inspector>;
|
|
53
|
+
|
|
50
54
|
var THREE = /*#__PURE__*/_mergeNamespaces({
|
|
51
55
|
__proto__: null,
|
|
52
56
|
CubeRenderTarget: CubeRenderTarget,
|
|
@@ -58,7 +62,8 @@ var THREE = /*#__PURE__*/_mergeNamespaces({
|
|
|
58
62
|
WebGLCubeRenderTarget: WebGLCubeRenderTarget,
|
|
59
63
|
WebGLRenderTarget: WebGLRenderTarget,
|
|
60
64
|
WebGLRenderer: WebGLRenderer,
|
|
61
|
-
WebGLRendererParameters: WebGLRendererParameters
|
|
65
|
+
WebGLRendererParameters: WebGLRendererParameters,
|
|
66
|
+
loadInspector: loadInspector
|
|
62
67
|
}, [three_webgpu]);
|
|
63
68
|
|
|
64
69
|
//* Utility Types ==============================
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as three_examples_jsm_inspector_Inspector_js from 'three/examples/jsm/inspector/Inspector.js';
|
|
1
2
|
import * as three_webgpu from 'three/webgpu';
|
|
2
3
|
import { CubeRenderTarget, RenderTarget, WebGPURenderer, Node, StorageTexture, Data3DTexture, CanvasTarget, ShaderNodeObject, Euler as Euler$2, Color as Color$2, ColorRepresentation as ColorRepresentation$1, Layers as Layers$1, Raycaster, Intersection as Intersection$1, BufferGeometry, Matrix4 as Matrix4$1, Quaternion as Quaternion$1, Vector2 as Vector2$1, Vector3 as Vector3$1, Vector4 as Vector4$1, Matrix3 as Matrix3$1, Loader as Loader$1, ColorSpace, Texture as Texture$1, CubeTexture, Scene, Object3D, Frustum, OrthographicCamera } from 'three/webgpu';
|
|
3
4
|
import * as THREE$1 from 'three';
|
|
@@ -47,6 +48,9 @@ function _mergeNamespaces(n, m) {
|
|
|
47
48
|
declare const R3F_BUILD_LEGACY = true;
|
|
48
49
|
declare const R3F_BUILD_WEBGPU = true;
|
|
49
50
|
|
|
51
|
+
/** Lazily load the three Inspector. Keeps it out of the eager module graph — see note above. */
|
|
52
|
+
declare function loadInspector(): Promise<typeof three_examples_jsm_inspector_Inspector_js.Inspector>;
|
|
53
|
+
|
|
50
54
|
var THREE = /*#__PURE__*/_mergeNamespaces({
|
|
51
55
|
__proto__: null,
|
|
52
56
|
CubeRenderTarget: CubeRenderTarget,
|
|
@@ -58,7 +62,8 @@ var THREE = /*#__PURE__*/_mergeNamespaces({
|
|
|
58
62
|
WebGLCubeRenderTarget: WebGLCubeRenderTarget,
|
|
59
63
|
WebGLRenderTarget: WebGLRenderTarget,
|
|
60
64
|
WebGLRenderer: WebGLRenderer,
|
|
61
|
-
WebGLRendererParameters: WebGLRendererParameters
|
|
65
|
+
WebGLRendererParameters: WebGLRendererParameters,
|
|
66
|
+
loadInspector: loadInspector
|
|
62
67
|
}, [three_webgpu]);
|
|
63
68
|
|
|
64
69
|
//* Utility Types ==============================
|
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as webgpu from 'three/webgpu';
|
|
2
2
|
import { CubeRenderTarget, RenderTarget, Frustum, Matrix4, Group, BoxGeometry, MeshBasicNodeMaterial, Mesh, Node, NodeUpdateType, Layers, ShaderMaterial, Uniform, SRGBColorSpace, RGBAFormat, UnsignedByteType, Vector3, Vector2, TextureLoader, Texture as Texture$1, CubeReflectionMapping, EquirectangularReflectionMapping, CubeTextureLoader, CanvasTarget, Raycaster, OrthographicCamera, PerspectiveCamera, Scene, PCFShadowMap, VSMShadowMap, BasicShadowMap, ACESFilmicToneMapping, WebGPURenderer, HalfFloatType, Color } from 'three/webgpu';
|
|
3
3
|
import { WebGLCubeRenderTarget, WebGLRenderTarget, WebGLRenderer } from 'three';
|
|
4
|
-
import { Inspector } from 'three/addons/inspector/Inspector.js';
|
|
5
4
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
6
5
|
import * as React from 'react';
|
|
7
6
|
import React__default, { useRef, useMemo, useLayoutEffect, useEffect, useContext, useImperativeHandle, useCallback, useState } from 'react';
|
|
@@ -32,18 +31,22 @@ function _mergeNamespaces(n, m) {
|
|
|
32
31
|
|
|
33
32
|
const R3F_BUILD_LEGACY = true;
|
|
34
33
|
const R3F_BUILD_WEBGPU = true;
|
|
34
|
+
async function loadInspector() {
|
|
35
|
+
const { Inspector } = await import('three/addons/inspector/Inspector.js');
|
|
36
|
+
return Inspector;
|
|
37
|
+
}
|
|
35
38
|
|
|
36
39
|
const THREE = /*#__PURE__*/_mergeNamespaces({
|
|
37
40
|
__proto__: null,
|
|
38
41
|
CubeRenderTarget: CubeRenderTarget,
|
|
39
42
|
CubeRenderTargetCompat: CubeRenderTarget,
|
|
40
|
-
Inspector: Inspector,
|
|
41
43
|
R3F_BUILD_LEGACY: R3F_BUILD_LEGACY,
|
|
42
44
|
R3F_BUILD_WEBGPU: R3F_BUILD_WEBGPU,
|
|
43
45
|
RenderTargetCompat: RenderTarget,
|
|
44
46
|
WebGLCubeRenderTarget: WebGLCubeRenderTarget,
|
|
45
47
|
WebGLRenderTarget: WebGLRenderTarget,
|
|
46
|
-
WebGLRenderer: WebGLRenderer
|
|
48
|
+
WebGLRenderer: WebGLRenderer,
|
|
49
|
+
loadInspector: loadInspector
|
|
47
50
|
}, [webgpu]);
|
|
48
51
|
|
|
49
52
|
const primaryRegistry = /* @__PURE__ */ new Map();
|
package/dist/legacy.cjs
CHANGED
|
@@ -50,11 +50,9 @@ const Tb__default = /*#__PURE__*/_interopDefaultCompat(Tb);
|
|
|
50
50
|
|
|
51
51
|
const R3F_BUILD_LEGACY = true;
|
|
52
52
|
const R3F_BUILD_WEBGPU = false;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
};
|
|
53
|
+
async function loadInspector() {
|
|
54
|
+
throw new Error("Inspector is not available in legacy builds. Use @react-three/fiber/webgpu instead.");
|
|
55
|
+
}
|
|
58
56
|
const WebGPURenderer = class WebGPURenderer2 {
|
|
59
57
|
constructor() {
|
|
60
58
|
throw new Error("WebGPURenderer is not available in legacy builds. Use @react-three/fiber/webgpu instead.");
|
|
@@ -67,12 +65,12 @@ const THREE = /*#__PURE__*/_mergeNamespaces({
|
|
|
67
65
|
__proto__: null,
|
|
68
66
|
CubeRenderTarget: CubeRenderTarget,
|
|
69
67
|
CubeRenderTargetCompat: three.WebGLCubeRenderTarget,
|
|
70
|
-
Inspector: Inspector,
|
|
71
68
|
R3F_BUILD_LEGACY: R3F_BUILD_LEGACY,
|
|
72
69
|
R3F_BUILD_WEBGPU: R3F_BUILD_WEBGPU,
|
|
73
70
|
RenderTarget: RenderTarget,
|
|
74
71
|
RenderTargetCompat: three.WebGLRenderTarget,
|
|
75
|
-
WebGPURenderer: WebGPURenderer
|
|
72
|
+
WebGPURenderer: WebGPURenderer,
|
|
73
|
+
loadInspector: loadInspector
|
|
76
74
|
}, [three__namespace]);
|
|
77
75
|
|
|
78
76
|
const primaryRegistry = /* @__PURE__ */ new Map();
|
package/dist/legacy.d.cts
CHANGED
|
@@ -38,9 +38,9 @@ function _mergeNamespaces(n, m) {
|
|
|
38
38
|
declare const R3F_BUILD_LEGACY = true;
|
|
39
39
|
declare const R3F_BUILD_WEBGPU = false;
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
type Inspector = never;
|
|
42
|
+
/** Not available on the legacy (WebGL-only) entry. */
|
|
43
|
+
declare function loadInspector(): Promise<never>;
|
|
44
44
|
declare const WebGPURenderer: {
|
|
45
45
|
new (): {};
|
|
46
46
|
};
|
|
@@ -58,7 +58,8 @@ var THREE = /*#__PURE__*/_mergeNamespaces({
|
|
|
58
58
|
R3F_BUILD_WEBGPU: R3F_BUILD_WEBGPU,
|
|
59
59
|
RenderTarget: RenderTarget,
|
|
60
60
|
RenderTargetCompat: WebGLRenderTarget,
|
|
61
|
-
WebGPURenderer: WebGPURenderer
|
|
61
|
+
WebGPURenderer: WebGPURenderer,
|
|
62
|
+
loadInspector: loadInspector
|
|
62
63
|
}, [THREE$1]);
|
|
63
64
|
|
|
64
65
|
//* Utility Types ==============================
|
package/dist/legacy.d.mts
CHANGED
|
@@ -38,9 +38,9 @@ function _mergeNamespaces(n, m) {
|
|
|
38
38
|
declare const R3F_BUILD_LEGACY = true;
|
|
39
39
|
declare const R3F_BUILD_WEBGPU = false;
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
type Inspector = never;
|
|
42
|
+
/** Not available on the legacy (WebGL-only) entry. */
|
|
43
|
+
declare function loadInspector(): Promise<never>;
|
|
44
44
|
declare const WebGPURenderer: {
|
|
45
45
|
new (): {};
|
|
46
46
|
};
|
|
@@ -58,7 +58,8 @@ var THREE = /*#__PURE__*/_mergeNamespaces({
|
|
|
58
58
|
R3F_BUILD_WEBGPU: R3F_BUILD_WEBGPU,
|
|
59
59
|
RenderTarget: RenderTarget,
|
|
60
60
|
RenderTargetCompat: WebGLRenderTarget,
|
|
61
|
-
WebGPURenderer: WebGPURenderer
|
|
61
|
+
WebGPURenderer: WebGPURenderer,
|
|
62
|
+
loadInspector: loadInspector
|
|
62
63
|
}, [THREE$1]);
|
|
63
64
|
|
|
64
65
|
//* Utility Types ==============================
|
package/dist/legacy.d.ts
CHANGED
|
@@ -38,9 +38,9 @@ function _mergeNamespaces(n, m) {
|
|
|
38
38
|
declare const R3F_BUILD_LEGACY = true;
|
|
39
39
|
declare const R3F_BUILD_WEBGPU = false;
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
type Inspector = never;
|
|
42
|
+
/** Not available on the legacy (WebGL-only) entry. */
|
|
43
|
+
declare function loadInspector(): Promise<never>;
|
|
44
44
|
declare const WebGPURenderer: {
|
|
45
45
|
new (): {};
|
|
46
46
|
};
|
|
@@ -58,7 +58,8 @@ var THREE = /*#__PURE__*/_mergeNamespaces({
|
|
|
58
58
|
R3F_BUILD_WEBGPU: R3F_BUILD_WEBGPU,
|
|
59
59
|
RenderTarget: RenderTarget,
|
|
60
60
|
RenderTargetCompat: WebGLRenderTarget,
|
|
61
|
-
WebGPURenderer: WebGPURenderer
|
|
61
|
+
WebGPURenderer: WebGPURenderer,
|
|
62
|
+
loadInspector: loadInspector
|
|
62
63
|
}, [THREE$1]);
|
|
63
64
|
|
|
64
65
|
//* Utility Types ==============================
|
package/dist/legacy.mjs
CHANGED
|
@@ -30,11 +30,9 @@ function _mergeNamespaces(n, m) {
|
|
|
30
30
|
|
|
31
31
|
const R3F_BUILD_LEGACY = true;
|
|
32
32
|
const R3F_BUILD_WEBGPU = false;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
};
|
|
33
|
+
async function loadInspector() {
|
|
34
|
+
throw new Error("Inspector is not available in legacy builds. Use @react-three/fiber/webgpu instead.");
|
|
35
|
+
}
|
|
38
36
|
const WebGPURenderer = class WebGPURenderer2 {
|
|
39
37
|
constructor() {
|
|
40
38
|
throw new Error("WebGPURenderer is not available in legacy builds. Use @react-three/fiber/webgpu instead.");
|
|
@@ -47,12 +45,12 @@ const THREE = /*#__PURE__*/_mergeNamespaces({
|
|
|
47
45
|
__proto__: null,
|
|
48
46
|
CubeRenderTarget: CubeRenderTarget,
|
|
49
47
|
CubeRenderTargetCompat: WebGLCubeRenderTarget,
|
|
50
|
-
Inspector: Inspector,
|
|
51
48
|
R3F_BUILD_LEGACY: R3F_BUILD_LEGACY,
|
|
52
49
|
R3F_BUILD_WEBGPU: R3F_BUILD_WEBGPU,
|
|
53
50
|
RenderTarget: RenderTarget,
|
|
54
51
|
RenderTargetCompat: WebGLRenderTarget,
|
|
55
|
-
WebGPURenderer: WebGPURenderer
|
|
52
|
+
WebGPURenderer: WebGPURenderer,
|
|
53
|
+
loadInspector: loadInspector
|
|
56
54
|
}, [three]);
|
|
57
55
|
|
|
58
56
|
const primaryRegistry = /* @__PURE__ */ new Map();
|
package/dist/webgpu/index.cjs
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
const webgpu = require('three/webgpu');
|
|
4
|
-
const Inspector_js = require('three/addons/inspector/Inspector.js');
|
|
5
4
|
const jsxRuntime = require('react/jsx-runtime');
|
|
6
5
|
const React = require('react');
|
|
7
6
|
const useMeasure = require('react-use-measure');
|
|
@@ -54,6 +53,10 @@ const Tb__default = /*#__PURE__*/_interopDefaultCompat(Tb);
|
|
|
54
53
|
|
|
55
54
|
const R3F_BUILD_LEGACY = false;
|
|
56
55
|
const R3F_BUILD_WEBGPU = true;
|
|
56
|
+
async function loadInspector() {
|
|
57
|
+
const { Inspector } = await import('three/addons/inspector/Inspector.js');
|
|
58
|
+
return Inspector;
|
|
59
|
+
}
|
|
57
60
|
const WebGLRenderer = class WebGLRenderer2 {
|
|
58
61
|
constructor() {
|
|
59
62
|
throw new Error(
|
|
@@ -67,13 +70,13 @@ const WebGLCubeRenderTarget = null;
|
|
|
67
70
|
const THREE = /*#__PURE__*/_mergeNamespaces({
|
|
68
71
|
__proto__: null,
|
|
69
72
|
CubeRenderTargetCompat: webgpu.CubeRenderTarget,
|
|
70
|
-
Inspector: Inspector_js.Inspector,
|
|
71
73
|
R3F_BUILD_LEGACY: R3F_BUILD_LEGACY,
|
|
72
74
|
R3F_BUILD_WEBGPU: R3F_BUILD_WEBGPU,
|
|
73
75
|
RenderTargetCompat: webgpu.RenderTarget,
|
|
74
76
|
WebGLCubeRenderTarget: WebGLCubeRenderTarget,
|
|
75
77
|
WebGLRenderTarget: WebGLRenderTarget,
|
|
76
|
-
WebGLRenderer: WebGLRenderer
|
|
78
|
+
WebGLRenderer: WebGLRenderer,
|
|
79
|
+
loadInspector: loadInspector
|
|
77
80
|
}, [webgpu__namespace]);
|
|
78
81
|
|
|
79
82
|
const primaryRegistry = /* @__PURE__ */ new Map();
|
|
@@ -1158,7 +1161,7 @@ useLoader.clear = function(loader, input, cacheKey) {
|
|
|
1158
1161
|
};
|
|
1159
1162
|
useLoader.loader = getLoader$1;
|
|
1160
1163
|
|
|
1161
|
-
function useFrame(callback, priorityOrOptions) {
|
|
1164
|
+
function useFrame$1(callback, priorityOrOptions) {
|
|
1162
1165
|
const store = React__namespace.useContext(context);
|
|
1163
1166
|
const isInsideCanvas = store !== null;
|
|
1164
1167
|
const scheduler$1 = scheduler.getScheduler();
|
|
@@ -1326,7 +1329,7 @@ function buildFromCache(input, textureCache) {
|
|
|
1326
1329
|
}
|
|
1327
1330
|
}
|
|
1328
1331
|
function useTexture(input, optionsOrOnLoad) {
|
|
1329
|
-
const renderer = useThree((state) => state.internal.actualRenderer);
|
|
1332
|
+
const renderer = useThree$1((state) => state.internal.actualRenderer);
|
|
1330
1333
|
const store = useStore();
|
|
1331
1334
|
const options = typeof optionsOrOnLoad === "function" ? { onLoad: optionsOrOnLoad } : optionsOrOnLoad ?? {};
|
|
1332
1335
|
const { onLoad, cache = true } = options;
|
|
@@ -1492,13 +1495,13 @@ function useTextures(selector) {
|
|
|
1492
1495
|
};
|
|
1493
1496
|
}, [store]);
|
|
1494
1497
|
const subscribe = selector ? () => selector(registry) : (state) => state.textures;
|
|
1495
|
-
const selected = useThree(subscribe);
|
|
1498
|
+
const selected = useThree$1(subscribe);
|
|
1496
1499
|
return selector ? selected : registry;
|
|
1497
1500
|
}
|
|
1498
1501
|
|
|
1499
1502
|
function useRenderTarget(widthOrOptions, heightOrOptions, options) {
|
|
1500
|
-
const isLegacy = useThree((s) => s.isLegacy);
|
|
1501
|
-
const size = useThree((s) => s.size);
|
|
1503
|
+
const isLegacy = useThree$1((s) => s.isLegacy);
|
|
1504
|
+
const size = useThree$1((s) => s.size);
|
|
1502
1505
|
let width;
|
|
1503
1506
|
let height;
|
|
1504
1507
|
let opts;
|
|
@@ -1555,7 +1558,7 @@ function useEnvironment({
|
|
|
1555
1558
|
const { extension, isCubemap } = getExtension(files);
|
|
1556
1559
|
const loader = getLoader(extension);
|
|
1557
1560
|
if (!loader) throw new Error("useEnvironment: Unrecognized file extension: " + files);
|
|
1558
|
-
const renderer = useThree((state) => state.renderer);
|
|
1561
|
+
const renderer = useThree$1((state) => state.renderer);
|
|
1559
1562
|
React.useLayoutEffect(() => {
|
|
1560
1563
|
if (extension !== "webp" && extension !== "jpg" && extension !== "jpeg") return;
|
|
1561
1564
|
function clearGainmapTexture() {
|
|
@@ -1648,7 +1651,7 @@ function useStore() {
|
|
|
1648
1651
|
if (!store) throw new Error("R3F: Hooks can only be used within the Canvas component!");
|
|
1649
1652
|
return store;
|
|
1650
1653
|
}
|
|
1651
|
-
function useThree(selector = (state) => state, equalityFn) {
|
|
1654
|
+
function useThree$1(selector = (state) => state, equalityFn) {
|
|
1652
1655
|
return useStore()(selector, equalityFn);
|
|
1653
1656
|
}
|
|
1654
1657
|
function useInstanceHandle(ref) {
|
|
@@ -14739,7 +14742,7 @@ function setEnvProps(background, scene, defaultScene, texture, sceneProps = {})
|
|
|
14739
14742
|
};
|
|
14740
14743
|
}
|
|
14741
14744
|
function EnvironmentMap({ scene, background = false, map, ...config }) {
|
|
14742
|
-
const defaultScene = useThree((state) => state.scene);
|
|
14745
|
+
const defaultScene = useThree$1((state) => state.scene);
|
|
14743
14746
|
React__namespace.useLayoutEffect(() => {
|
|
14744
14747
|
if (map) return setEnvProps(background, scene, defaultScene, map, config);
|
|
14745
14748
|
});
|
|
@@ -14757,7 +14760,7 @@ function EnvironmentCube({
|
|
|
14757
14760
|
...rest
|
|
14758
14761
|
}) {
|
|
14759
14762
|
const texture = useEnvironment(rest);
|
|
14760
|
-
const defaultScene = useThree((state) => state.scene);
|
|
14763
|
+
const defaultScene = useThree$1((state) => state.scene);
|
|
14761
14764
|
React__namespace.useLayoutEffect(() => {
|
|
14762
14765
|
return setEnvProps(background, scene, defaultScene, texture, {
|
|
14763
14766
|
backgroundBlurriness: blur ?? backgroundBlurriness,
|
|
@@ -14794,9 +14797,9 @@ function EnvironmentPortal({
|
|
|
14794
14797
|
preset = void 0,
|
|
14795
14798
|
extensions
|
|
14796
14799
|
}) {
|
|
14797
|
-
const renderer = useThree((state) => state.renderer);
|
|
14798
|
-
const isLegacy = useThree((state) => state.isLegacy);
|
|
14799
|
-
const defaultScene = useThree((state) => state.scene);
|
|
14800
|
+
const renderer = useThree$1((state) => state.renderer);
|
|
14801
|
+
const isLegacy = useThree$1((state) => state.isLegacy);
|
|
14802
|
+
const defaultScene = useThree$1((state) => state.scene);
|
|
14800
14803
|
const camera = React__namespace.useRef(null);
|
|
14801
14804
|
const [virtualScene] = React__namespace.useState(() => new webgpu.Scene());
|
|
14802
14805
|
const fbo = React__namespace.useMemo(() => {
|
|
@@ -14840,7 +14843,7 @@ function EnvironmentPortal({
|
|
|
14840
14843
|
environmentRotation
|
|
14841
14844
|
]);
|
|
14842
14845
|
let count = 1;
|
|
14843
|
-
useFrame(() => {
|
|
14846
|
+
useFrame$1(() => {
|
|
14844
14847
|
if (frames === Infinity || count < frames) {
|
|
14845
14848
|
const autoClear = renderer.autoClear;
|
|
14846
14849
|
renderer.autoClear = true;
|
|
@@ -14880,7 +14883,7 @@ function EnvironmentGround(props) {
|
|
|
14880
14883
|
] });
|
|
14881
14884
|
}
|
|
14882
14885
|
function EnvironmentColor({ color, scene }) {
|
|
14883
|
-
const defaultScene = useThree((state) => state.scene);
|
|
14886
|
+
const defaultScene = useThree$1((state) => state.scene);
|
|
14884
14887
|
React__namespace.useLayoutEffect(() => {
|
|
14885
14888
|
if (color === void 0) return;
|
|
14886
14889
|
const target = resolveScene(scene || defaultScene);
|
|
@@ -15474,6 +15477,11 @@ function createTextureOperations(set) {
|
|
|
15474
15477
|
removeMultiple: (keys) => removeTextures(set, keys)
|
|
15475
15478
|
};
|
|
15476
15479
|
}
|
|
15480
|
+
function scopedNodeName(scope, name) {
|
|
15481
|
+
const raw = scope ? `${scope}_${name}` : name;
|
|
15482
|
+
const safe = raw.replace(/[^A-Za-z0-9_]/g, "_");
|
|
15483
|
+
return /^[A-Za-z_]/.test(safe) ? safe : `_${safe}`;
|
|
15484
|
+
}
|
|
15477
15485
|
function extractTSLValue(value) {
|
|
15478
15486
|
if (value === null || value === void 0) return value;
|
|
15479
15487
|
if (typeof value !== "object") return value;
|
|
@@ -15672,8 +15680,7 @@ function createUniform(inName, node, scope) {
|
|
|
15672
15680
|
const inValue = vectorize(node);
|
|
15673
15681
|
const newUniform = tsl.uniform(inValue);
|
|
15674
15682
|
if (typeof newUniform.setName === "function") {
|
|
15675
|
-
|
|
15676
|
-
newUniform.setName(name);
|
|
15683
|
+
newUniform.setName(scopedNodeName(scope, inName));
|
|
15677
15684
|
}
|
|
15678
15685
|
return newUniform;
|
|
15679
15686
|
}
|
|
@@ -15772,7 +15779,7 @@ function useNodes(creatorOrScope, scope) {
|
|
|
15772
15779
|
return creatorOrScope(createLazyCreatorState(store.getState(), store));
|
|
15773
15780
|
},
|
|
15774
15781
|
prepare: (name, node) => {
|
|
15775
|
-
node.setName?.(scope
|
|
15782
|
+
node.setName?.(scopedNodeName(scope, name));
|
|
15776
15783
|
return node;
|
|
15777
15784
|
}
|
|
15778
15785
|
});
|
|
@@ -15881,7 +15888,7 @@ function useBuffers(creatorOrScope, scope) {
|
|
|
15881
15888
|
},
|
|
15882
15889
|
prepare: (name, buffer) => {
|
|
15883
15890
|
if ("setName" in buffer && typeof buffer.setName === "function") {
|
|
15884
|
-
buffer.setName(scope
|
|
15891
|
+
buffer.setName(scopedNodeName(scope, name));
|
|
15885
15892
|
}
|
|
15886
15893
|
return buffer;
|
|
15887
15894
|
}
|
|
@@ -15952,7 +15959,7 @@ function useGPUStorage(creatorOrScope, scope) {
|
|
|
15952
15959
|
return creatorOrScope(createLazyCreatorState(store.getState(), store));
|
|
15953
15960
|
},
|
|
15954
15961
|
prepare: (name, storage) => {
|
|
15955
|
-
const label = scope
|
|
15962
|
+
const label = scopedNodeName(scope, name);
|
|
15956
15963
|
if ("setName" in storage && typeof storage.setName === "function") {
|
|
15957
15964
|
storage.setName(label);
|
|
15958
15965
|
}
|
|
@@ -15983,7 +15990,7 @@ function rebuildAllStorage(store, scope) {
|
|
|
15983
15990
|
|
|
15984
15991
|
function useRenderPipeline(mainCB, setupCB) {
|
|
15985
15992
|
const store = useStore();
|
|
15986
|
-
const { scene, camera, renderer, isLegacy } = useThree();
|
|
15993
|
+
const { scene, camera, renderer, isLegacy } = useThree$1();
|
|
15987
15994
|
const callbacksRanRef = React.useRef(false);
|
|
15988
15995
|
const scenePassCacheRef = React.useRef(null);
|
|
15989
15996
|
const mainCBRef = React.useRef(mainCB);
|
|
@@ -16061,8 +16068,8 @@ function useRenderPipeline(mainCB, setupCB) {
|
|
|
16061
16068
|
console.warn("[useRenderPipeline] Setup failed; the render pipeline was not configured:", error);
|
|
16062
16069
|
}
|
|
16063
16070
|
}, [store, renderer, scene, camera, isLegacy, rebuildVersion]);
|
|
16064
|
-
const passes = useThree((s) => s.passes);
|
|
16065
|
-
const renderPipeline = useThree((s) => s.renderPipeline);
|
|
16071
|
+
const passes = useThree$1((s) => s.passes);
|
|
16072
|
+
const renderPipeline = useThree$1((s) => s.renderPipeline);
|
|
16066
16073
|
return {
|
|
16067
16074
|
passes,
|
|
16068
16075
|
renderPipeline,
|
|
@@ -16075,6 +16082,8 @@ function useRenderPipeline(mainCB, setupCB) {
|
|
|
16075
16082
|
}
|
|
16076
16083
|
|
|
16077
16084
|
extend(THREE);
|
|
16085
|
+
const useThree = useThree$1;
|
|
16086
|
+
const useFrame = useFrame$1;
|
|
16078
16087
|
|
|
16079
16088
|
exports.Scheduler = scheduler.Scheduler;
|
|
16080
16089
|
exports.getScheduler = scheduler.getScheduler;
|
package/dist/webgpu/index.d.cts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as three_examples_jsm_inspector_Inspector_js from 'three/examples/jsm/inspector/Inspector.js';
|
|
1
2
|
import * as three_webgpu from 'three/webgpu';
|
|
2
3
|
import { CubeRenderTarget, RenderTarget, WebGPURenderer, Node, StorageTexture, Data3DTexture, CanvasTarget, ShaderNodeObject, Euler as Euler$2, Color as Color$2, ColorRepresentation as ColorRepresentation$1, Layers as Layers$1, Raycaster, Intersection as Intersection$1, BufferGeometry, Matrix4 as Matrix4$1, Quaternion as Quaternion$1, Vector2 as Vector2$1, Vector3 as Vector3$1, Vector4 as Vector4$1, Matrix3 as Matrix3$1, Loader as Loader$1, ColorSpace, Texture as Texture$1, CubeTexture, Scene, Object3D, Frustum, OrthographicCamera, WebGPURendererParameters } from 'three/webgpu';
|
|
3
4
|
import { Inspector } from 'three/addons/inspector/Inspector.js';
|
|
@@ -40,6 +41,8 @@ function _mergeNamespaces(n, m) {
|
|
|
40
41
|
declare const R3F_BUILD_LEGACY = false;
|
|
41
42
|
declare const R3F_BUILD_WEBGPU = true;
|
|
42
43
|
|
|
44
|
+
/** Lazily load the three Inspector. Keeps it out of the eager module graph — see note above. */
|
|
45
|
+
declare function loadInspector(): Promise<typeof three_examples_jsm_inspector_Inspector_js.Inspector>;
|
|
43
46
|
declare const WebGLRenderer: {
|
|
44
47
|
new (): {};
|
|
45
48
|
};
|
|
@@ -61,7 +64,8 @@ var THREE = /*#__PURE__*/_mergeNamespaces({
|
|
|
61
64
|
WebGLRenderTarget: WebGLRenderTarget,
|
|
62
65
|
WebGLRenderer: WebGLRenderer,
|
|
63
66
|
WebGLRendererParameters: WebGLRendererParameters,
|
|
64
|
-
WebGLShadowMap: WebGLShadowMap
|
|
67
|
+
WebGLShadowMap: WebGLShadowMap,
|
|
68
|
+
loadInspector: loadInspector
|
|
65
69
|
}, [three_webgpu]);
|
|
66
70
|
|
|
67
71
|
//* Utility Types ==============================
|
|
@@ -1868,50 +1872,6 @@ declare namespace useLoader {
|
|
|
1868
1872
|
var loader: typeof getLoader;
|
|
1869
1873
|
}
|
|
1870
1874
|
|
|
1871
|
-
/**
|
|
1872
|
-
* Frame hook with phase-based ordering, priority, and FPS throttling.
|
|
1873
|
-
*
|
|
1874
|
-
* Always delivers full RootState — works both inside and outside Canvas context:
|
|
1875
|
-
* - Inside Canvas: Full RootState (renderer, scene, camera, etc.)
|
|
1876
|
-
* - Outside Canvas: The job registers immediately but the callback is held until a
|
|
1877
|
-
* Canvas adopts it, then runs with full RootState. For hostless / standalone
|
|
1878
|
-
* frame loops with no Canvas, use `@pmndrs/scheduler` directly.
|
|
1879
|
-
*
|
|
1880
|
-
* Returns a controls object for manual stepping, pausing, and resuming.
|
|
1881
|
-
*
|
|
1882
|
-
* @param callback - Function called each frame with (state, delta). Optional if you only need scheduler access.
|
|
1883
|
-
* @param priorityOrOptions - Either a priority number (backwards compat) or options object
|
|
1884
|
-
* @returns Controls object with step(), stepAll(), pause(), resume(), isPaused, id, scheduler
|
|
1885
|
-
*
|
|
1886
|
-
* @example
|
|
1887
|
-
* // Simple priority (backwards compat)
|
|
1888
|
-
* useFrame((state, delta) => { ... }, 5)
|
|
1889
|
-
*
|
|
1890
|
-
* @example
|
|
1891
|
-
* // With phase-based ordering
|
|
1892
|
-
* useFrame((state, delta) => { ... }, { phase: 'physics' })
|
|
1893
|
-
*
|
|
1894
|
-
* @example
|
|
1895
|
-
* // Outside Canvas - callback waits for a Canvas, then always has full state
|
|
1896
|
-
* function UI() {
|
|
1897
|
-
* useFrame((state, delta) => { syncUI(state.camera) });
|
|
1898
|
-
* return <button>...</button>;
|
|
1899
|
-
* }
|
|
1900
|
-
*
|
|
1901
|
-
* @example
|
|
1902
|
-
* // Hostless / standalone loop (no Canvas) - use @pmndrs/scheduler directly
|
|
1903
|
-
* import { getScheduler } from '@pmndrs/scheduler'
|
|
1904
|
-
* getScheduler().register((state, delta) => { updateGame(delta) })
|
|
1905
|
-
*
|
|
1906
|
-
* @example
|
|
1907
|
-
* // Scheduler-only access (no callback)
|
|
1908
|
-
* const { scheduler } = useFrame()
|
|
1909
|
-
* scheduler.pauseJob('some-job-id')
|
|
1910
|
-
*
|
|
1911
|
-
* @see https://docs.pmnd.rs/react-three-fiber/api/hooks#useframe
|
|
1912
|
-
*/
|
|
1913
|
-
declare function useFrame(callback?: FrameNextCallback, priorityOrOptions?: number | UseFrameNextOptions): FrameNextControls;
|
|
1914
|
-
|
|
1915
1875
|
declare const IsObject: (url: unknown) => url is Record<string, string>;
|
|
1916
1876
|
type TextureArray<T> = T extends string[] ? Texture$1[] : never;
|
|
1917
1877
|
type TextureRecord<T> = T extends Record<string, string> ? {
|
|
@@ -2097,11 +2057,6 @@ declare function useRenderTarget(width: number, height: number, options?: Render
|
|
|
2097
2057
|
* @see https://docs.pmnd.rs/react-three-fiber/api/hooks#usestore
|
|
2098
2058
|
*/
|
|
2099
2059
|
declare function useStore(): RootStore;
|
|
2100
|
-
/**
|
|
2101
|
-
* Accesses R3F's internal state, containing renderer, canvas, scene, etc.
|
|
2102
|
-
* @see https://docs.pmnd.rs/react-three-fiber/api/hooks#usethree
|
|
2103
|
-
*/
|
|
2104
|
-
declare function useThree<T = RootState>(selector?: (state: RootState) => T, equalityFn?: <T>(state: T, newState: T) => boolean): T;
|
|
2105
2060
|
/**
|
|
2106
2061
|
* Exposes an object's {@link Instance}.
|
|
2107
2062
|
* @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#useInstanceHandle
|
|
@@ -4163,5 +4118,23 @@ interface WebGPURootState extends Omit<RootState, 'renderer' | 'gl' | 'internal'
|
|
|
4163
4118
|
internal: WebGPUInternalState
|
|
4164
4119
|
}
|
|
4165
4120
|
|
|
4121
|
+
/**
|
|
4122
|
+
* @fileoverview WebGPU entry point - WebGPU only, no legacy WebGL
|
|
4123
|
+
*
|
|
4124
|
+
* This entry point is for apps that want to use ONLY WebGPURenderer.
|
|
4125
|
+
* Includes WebGPU-specific hooks (useUniforms, useNodes, useTextures).
|
|
4126
|
+
* Auto-extends THREE with WebGPU node materials (MeshBasicNodeMaterial, etc.)
|
|
4127
|
+
*
|
|
4128
|
+
* Usage:
|
|
4129
|
+
* import { Canvas, useFrame, useUniforms } from '@react-three/fiber/webgpu'
|
|
4130
|
+
*/
|
|
4131
|
+
|
|
4132
|
+
/** `useThree` narrowed to WebGPU state — `state.renderer` is a `WebGPURenderer`. */
|
|
4133
|
+
type UseThreeWebGPU = <T = WebGPURootState>(selector?: (state: WebGPURootState) => T, equalityFn?: <U>(state: U, newState: U) => boolean) => T;
|
|
4134
|
+
/** `useFrame` narrowed to WebGPU state — the callback's `state.renderer` is a `WebGPURenderer`. */
|
|
4135
|
+
type UseFrameWebGPU = (callback?: FrameCallback$1<WebGPURootState>, priorityOrOptions?: number | UseFrameNextOptions) => FrameNextControls;
|
|
4136
|
+
declare const useThree: UseThreeWebGPU;
|
|
4137
|
+
declare const useFrame: UseFrameWebGPU;
|
|
4138
|
+
|
|
4166
4139
|
export { Block, Canvas, Environment, EnvironmentCube, EnvironmentMap, EnvironmentPortal, ErrorBoundary, FROM_REF, IsObject, ONCE, Portal, R3F_BUILD_LEGACY, R3F_BUILD_WEBGPU, REACT_INTERNAL_PROPS, RESERVED_PROPS, three_d as ReactThreeFiber, Texture, _roots, addAfterEffect, addEffect, addTail, advance, applyProps, attach, buildGraph, calculateDpr, clearNodeScope, clearRootNodes, clearRootUniforms, clearScope, context, createEvents, createPointerEvents, createPortal, createRoot, createScopedStore, createStore, createTextureOperations, detach, diffProps, dispose, createPointerEvents as events, extend, findInitialRoot, flushSync, fromRef, getInstanceProps, getPrimary, getPrimaryIds, getRootState, getUuidPrefix, hasConstructor, hasPrimary, invalidate, invalidateInstance, is, isColorRepresentation, isCopyable, isFromRef, isObject3D, isOnce, isOrthographicCamera, isRef, isRenderer, isTexture, isVectorLike, once, prepare, presetsObj, rebuildAllBuffers, rebuildAllNodes, rebuildAllStorage, rebuildAllUniforms, reconciler, registerPrimary, removeInteractivity, removeNodes, removeUniforms, resolve, swapInteractivity, unmountComponentAtNode, unregisterPrimary, updateCamera, updateFrustum, useBridge, useBuffers, useEnvironment, useFrame, useGPUStorage, useGraph, useInstanceHandle, useIsomorphicLayoutEffect, useLoader, useLocalNodes, useMutableCallback, useNodes, useRenderPipeline, useRenderTarget, useStore, useTexture, useTextures, useThree, useUniform, useUniforms, waitForPrimary };
|
|
4167
|
-
export type { Act, Args, ArgsProp, AttachFnType, AttachType, BackgroundConfig, BackgroundProp, BaseRendererProps, Bridge, BufferCreator, BufferLike, BufferRecord, BufferStore, BuffersWithUtils, Camera, CameraProps, CanvasProps, CanvasSchedulerConfig, Catalogue, ClearBuffersFn, ClearNodesFn, ClearStorageFn, ClearUniformsFn, Color, ColorManagementConfig, ComputeFunction, ConstructorRepresentation, CreatorState, DefaultGLProps, DefaultRendererProps, Disposable, DisposeBuffersFn, DisposeOptions, DisposeStorageFn, DomEvent, Dpr, ElementProps, EnvironmentLoaderProps, EnvironmentProps, EquConfig, Euler, EventHandlers, EventManager, EventProps, Events, Extensions, FiberRoot, FilterFunction, FrameCallback, FrameNextCallback, FrameNextState, FrameState, Frameloop, GLProps, GLTFLike, GeometryProps, GeometryTransformProps, GlobalEffectType, GlobalRenderCallback, HostConfig, InferLoadResult, InjectState, InputLike, Instance, InstanceProps, WebGPUInternalState as InternalState, Intersection, IntersectionEvent, IsAllOptional, IsOptional, Layers, LegacyInternalState, LegacyRenderer, LegacyRootState, LoaderInstance, LoaderLike, LoaderResult, LocalNodeCreator, MappedTextureType, MathProps, MathRepresentation, MathType, MathTypes, Matrix3, Matrix4, Mutable, MutableOrReadonlyParameters, NodeCreator, NodeProps, NodeRecord, NodesWithUtils, NonFunctionKeys, ObjectMap, OffscreenCanvas$1 as OffscreenCanvas, Overwrite, Performance, PointerCaptureTarget, PointerState, PresetsType, PrimaryCanvasEntry, Properties, Quaternion, WebGPUR3FRenderer as R3FRenderer, RaycastableRepresentation, ReactProps, RebuildBuffersFn, RebuildNodesFn, RebuildStorageFn, RebuildUniformsFn, ReconcilerRoot, RemoveBuffersFn, RemoveNodesFn, RemoveStorageFn, RemoveUniformsFn, RenderCallback, RenderProps, RenderTargetOptions, Renderer, RendererConfigExtended, RendererFactory, RendererProps, Root, WebGPURootState as RootState, RootStore, ScopedStoreType, SetBlock, Size, StorageCreator, StorageLike, StorageRecord, StorageStore, StorageWithUtils, Subscription, TSLNode, TSLNodeInput, TextureEntry, TextureInput, TextureNode, TextureOperations, TextureResult, ThreeCamera, ThreeElement, ThreeElements, ThreeElementsImpl, ThreeEvent, ThreeExports, ThreeToJSXElements, UnblockProps, UniformCreator, UniformValue, UniformsWithUtils, UseTextureOptions, UseTexturesReturn, Vector2, Vector3, Vector4, VectorRepresentation, Viewport, VisibilityEntry, WebGLDefaultProps, WebGLProps, WebGLShadowConfig, WebGPUDefaultProps, WebGPUProps, WebGPUShadowConfig, XRManager, XRPointerConfig };
|
|
4140
|
+
export type { Act, Args, ArgsProp, AttachFnType, AttachType, BackgroundConfig, BackgroundProp, BaseRendererProps, Bridge, BufferCreator, BufferLike, BufferRecord, BufferStore, BuffersWithUtils, Camera, CameraProps, CanvasProps, CanvasSchedulerConfig, Catalogue, ClearBuffersFn, ClearNodesFn, ClearStorageFn, ClearUniformsFn, Color, ColorManagementConfig, ComputeFunction, ConstructorRepresentation, CreatorState, DefaultGLProps, DefaultRendererProps, Disposable, DisposeBuffersFn, DisposeOptions, DisposeStorageFn, DomEvent, Dpr, ElementProps, EnvironmentLoaderProps, EnvironmentProps, EquConfig, Euler, EventHandlers, EventManager, EventProps, Events, Extensions, FiberRoot, FilterFunction, FrameCallback, FrameNextCallback, FrameNextState, FrameState, Frameloop, GLProps, GLTFLike, GeometryProps, GeometryTransformProps, GlobalEffectType, GlobalRenderCallback, HostConfig, InferLoadResult, InjectState, InputLike, Instance, InstanceProps, WebGPUInternalState as InternalState, Intersection, IntersectionEvent, IsAllOptional, IsOptional, Layers, LegacyInternalState, LegacyRenderer, LegacyRootState, LoaderInstance, LoaderLike, LoaderResult, LocalNodeCreator, MappedTextureType, MathProps, MathRepresentation, MathType, MathTypes, Matrix3, Matrix4, Mutable, MutableOrReadonlyParameters, NodeCreator, NodeProps, NodeRecord, NodesWithUtils, NonFunctionKeys, ObjectMap, OffscreenCanvas$1 as OffscreenCanvas, Overwrite, Performance, PointerCaptureTarget, PointerState, PresetsType, PrimaryCanvasEntry, Properties, Quaternion, WebGPUR3FRenderer as R3FRenderer, RaycastableRepresentation, ReactProps, RebuildBuffersFn, RebuildNodesFn, RebuildStorageFn, RebuildUniformsFn, ReconcilerRoot, RemoveBuffersFn, RemoveNodesFn, RemoveStorageFn, RemoveUniformsFn, RenderCallback, RenderProps, RenderTargetOptions, Renderer, RendererConfigExtended, RendererFactory, RendererProps, Root, WebGPURootState as RootState, RootStore, ScopedStoreType, SetBlock, Size, StorageCreator, StorageLike, StorageRecord, StorageStore, StorageWithUtils, Subscription, TSLNode, TSLNodeInput, TextureEntry, TextureInput, TextureNode, TextureOperations, TextureResult, ThreeCamera, ThreeElement, ThreeElements, ThreeElementsImpl, ThreeEvent, ThreeExports, ThreeToJSXElements, UnblockProps, UniformCreator, UniformValue, UniformsWithUtils, UseFrameWebGPU, UseTextureOptions, UseTexturesReturn, UseThreeWebGPU, Vector2, Vector3, Vector4, VectorRepresentation, Viewport, VisibilityEntry, WebGLDefaultProps, WebGLProps, WebGLShadowConfig, WebGPUDefaultProps, WebGPUProps, WebGPUShadowConfig, XRManager, XRPointerConfig };
|
package/dist/webgpu/index.d.mts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as three_examples_jsm_inspector_Inspector_js from 'three/examples/jsm/inspector/Inspector.js';
|
|
1
2
|
import * as three_webgpu from 'three/webgpu';
|
|
2
3
|
import { CubeRenderTarget, RenderTarget, WebGPURenderer, Node, StorageTexture, Data3DTexture, CanvasTarget, ShaderNodeObject, Euler as Euler$2, Color as Color$2, ColorRepresentation as ColorRepresentation$1, Layers as Layers$1, Raycaster, Intersection as Intersection$1, BufferGeometry, Matrix4 as Matrix4$1, Quaternion as Quaternion$1, Vector2 as Vector2$1, Vector3 as Vector3$1, Vector4 as Vector4$1, Matrix3 as Matrix3$1, Loader as Loader$1, ColorSpace, Texture as Texture$1, CubeTexture, Scene, Object3D, Frustum, OrthographicCamera, WebGPURendererParameters } from 'three/webgpu';
|
|
3
4
|
import { Inspector } from 'three/addons/inspector/Inspector.js';
|
|
@@ -40,6 +41,8 @@ function _mergeNamespaces(n, m) {
|
|
|
40
41
|
declare const R3F_BUILD_LEGACY = false;
|
|
41
42
|
declare const R3F_BUILD_WEBGPU = true;
|
|
42
43
|
|
|
44
|
+
/** Lazily load the three Inspector. Keeps it out of the eager module graph — see note above. */
|
|
45
|
+
declare function loadInspector(): Promise<typeof three_examples_jsm_inspector_Inspector_js.Inspector>;
|
|
43
46
|
declare const WebGLRenderer: {
|
|
44
47
|
new (): {};
|
|
45
48
|
};
|
|
@@ -61,7 +64,8 @@ var THREE = /*#__PURE__*/_mergeNamespaces({
|
|
|
61
64
|
WebGLRenderTarget: WebGLRenderTarget,
|
|
62
65
|
WebGLRenderer: WebGLRenderer,
|
|
63
66
|
WebGLRendererParameters: WebGLRendererParameters,
|
|
64
|
-
WebGLShadowMap: WebGLShadowMap
|
|
67
|
+
WebGLShadowMap: WebGLShadowMap,
|
|
68
|
+
loadInspector: loadInspector
|
|
65
69
|
}, [three_webgpu]);
|
|
66
70
|
|
|
67
71
|
//* Utility Types ==============================
|
|
@@ -1868,50 +1872,6 @@ declare namespace useLoader {
|
|
|
1868
1872
|
var loader: typeof getLoader;
|
|
1869
1873
|
}
|
|
1870
1874
|
|
|
1871
|
-
/**
|
|
1872
|
-
* Frame hook with phase-based ordering, priority, and FPS throttling.
|
|
1873
|
-
*
|
|
1874
|
-
* Always delivers full RootState — works both inside and outside Canvas context:
|
|
1875
|
-
* - Inside Canvas: Full RootState (renderer, scene, camera, etc.)
|
|
1876
|
-
* - Outside Canvas: The job registers immediately but the callback is held until a
|
|
1877
|
-
* Canvas adopts it, then runs with full RootState. For hostless / standalone
|
|
1878
|
-
* frame loops with no Canvas, use `@pmndrs/scheduler` directly.
|
|
1879
|
-
*
|
|
1880
|
-
* Returns a controls object for manual stepping, pausing, and resuming.
|
|
1881
|
-
*
|
|
1882
|
-
* @param callback - Function called each frame with (state, delta). Optional if you only need scheduler access.
|
|
1883
|
-
* @param priorityOrOptions - Either a priority number (backwards compat) or options object
|
|
1884
|
-
* @returns Controls object with step(), stepAll(), pause(), resume(), isPaused, id, scheduler
|
|
1885
|
-
*
|
|
1886
|
-
* @example
|
|
1887
|
-
* // Simple priority (backwards compat)
|
|
1888
|
-
* useFrame((state, delta) => { ... }, 5)
|
|
1889
|
-
*
|
|
1890
|
-
* @example
|
|
1891
|
-
* // With phase-based ordering
|
|
1892
|
-
* useFrame((state, delta) => { ... }, { phase: 'physics' })
|
|
1893
|
-
*
|
|
1894
|
-
* @example
|
|
1895
|
-
* // Outside Canvas - callback waits for a Canvas, then always has full state
|
|
1896
|
-
* function UI() {
|
|
1897
|
-
* useFrame((state, delta) => { syncUI(state.camera) });
|
|
1898
|
-
* return <button>...</button>;
|
|
1899
|
-
* }
|
|
1900
|
-
*
|
|
1901
|
-
* @example
|
|
1902
|
-
* // Hostless / standalone loop (no Canvas) - use @pmndrs/scheduler directly
|
|
1903
|
-
* import { getScheduler } from '@pmndrs/scheduler'
|
|
1904
|
-
* getScheduler().register((state, delta) => { updateGame(delta) })
|
|
1905
|
-
*
|
|
1906
|
-
* @example
|
|
1907
|
-
* // Scheduler-only access (no callback)
|
|
1908
|
-
* const { scheduler } = useFrame()
|
|
1909
|
-
* scheduler.pauseJob('some-job-id')
|
|
1910
|
-
*
|
|
1911
|
-
* @see https://docs.pmnd.rs/react-three-fiber/api/hooks#useframe
|
|
1912
|
-
*/
|
|
1913
|
-
declare function useFrame(callback?: FrameNextCallback, priorityOrOptions?: number | UseFrameNextOptions): FrameNextControls;
|
|
1914
|
-
|
|
1915
1875
|
declare const IsObject: (url: unknown) => url is Record<string, string>;
|
|
1916
1876
|
type TextureArray<T> = T extends string[] ? Texture$1[] : never;
|
|
1917
1877
|
type TextureRecord<T> = T extends Record<string, string> ? {
|
|
@@ -2097,11 +2057,6 @@ declare function useRenderTarget(width: number, height: number, options?: Render
|
|
|
2097
2057
|
* @see https://docs.pmnd.rs/react-three-fiber/api/hooks#usestore
|
|
2098
2058
|
*/
|
|
2099
2059
|
declare function useStore(): RootStore;
|
|
2100
|
-
/**
|
|
2101
|
-
* Accesses R3F's internal state, containing renderer, canvas, scene, etc.
|
|
2102
|
-
* @see https://docs.pmnd.rs/react-three-fiber/api/hooks#usethree
|
|
2103
|
-
*/
|
|
2104
|
-
declare function useThree<T = RootState>(selector?: (state: RootState) => T, equalityFn?: <T>(state: T, newState: T) => boolean): T;
|
|
2105
2060
|
/**
|
|
2106
2061
|
* Exposes an object's {@link Instance}.
|
|
2107
2062
|
* @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#useInstanceHandle
|
|
@@ -4163,5 +4118,23 @@ interface WebGPURootState extends Omit<RootState, 'renderer' | 'gl' | 'internal'
|
|
|
4163
4118
|
internal: WebGPUInternalState
|
|
4164
4119
|
}
|
|
4165
4120
|
|
|
4121
|
+
/**
|
|
4122
|
+
* @fileoverview WebGPU entry point - WebGPU only, no legacy WebGL
|
|
4123
|
+
*
|
|
4124
|
+
* This entry point is for apps that want to use ONLY WebGPURenderer.
|
|
4125
|
+
* Includes WebGPU-specific hooks (useUniforms, useNodes, useTextures).
|
|
4126
|
+
* Auto-extends THREE with WebGPU node materials (MeshBasicNodeMaterial, etc.)
|
|
4127
|
+
*
|
|
4128
|
+
* Usage:
|
|
4129
|
+
* import { Canvas, useFrame, useUniforms } from '@react-three/fiber/webgpu'
|
|
4130
|
+
*/
|
|
4131
|
+
|
|
4132
|
+
/** `useThree` narrowed to WebGPU state — `state.renderer` is a `WebGPURenderer`. */
|
|
4133
|
+
type UseThreeWebGPU = <T = WebGPURootState>(selector?: (state: WebGPURootState) => T, equalityFn?: <U>(state: U, newState: U) => boolean) => T;
|
|
4134
|
+
/** `useFrame` narrowed to WebGPU state — the callback's `state.renderer` is a `WebGPURenderer`. */
|
|
4135
|
+
type UseFrameWebGPU = (callback?: FrameCallback$1<WebGPURootState>, priorityOrOptions?: number | UseFrameNextOptions) => FrameNextControls;
|
|
4136
|
+
declare const useThree: UseThreeWebGPU;
|
|
4137
|
+
declare const useFrame: UseFrameWebGPU;
|
|
4138
|
+
|
|
4166
4139
|
export { Block, Canvas, Environment, EnvironmentCube, EnvironmentMap, EnvironmentPortal, ErrorBoundary, FROM_REF, IsObject, ONCE, Portal, R3F_BUILD_LEGACY, R3F_BUILD_WEBGPU, REACT_INTERNAL_PROPS, RESERVED_PROPS, three_d as ReactThreeFiber, Texture, _roots, addAfterEffect, addEffect, addTail, advance, applyProps, attach, buildGraph, calculateDpr, clearNodeScope, clearRootNodes, clearRootUniforms, clearScope, context, createEvents, createPointerEvents, createPortal, createRoot, createScopedStore, createStore, createTextureOperations, detach, diffProps, dispose, createPointerEvents as events, extend, findInitialRoot, flushSync, fromRef, getInstanceProps, getPrimary, getPrimaryIds, getRootState, getUuidPrefix, hasConstructor, hasPrimary, invalidate, invalidateInstance, is, isColorRepresentation, isCopyable, isFromRef, isObject3D, isOnce, isOrthographicCamera, isRef, isRenderer, isTexture, isVectorLike, once, prepare, presetsObj, rebuildAllBuffers, rebuildAllNodes, rebuildAllStorage, rebuildAllUniforms, reconciler, registerPrimary, removeInteractivity, removeNodes, removeUniforms, resolve, swapInteractivity, unmountComponentAtNode, unregisterPrimary, updateCamera, updateFrustum, useBridge, useBuffers, useEnvironment, useFrame, useGPUStorage, useGraph, useInstanceHandle, useIsomorphicLayoutEffect, useLoader, useLocalNodes, useMutableCallback, useNodes, useRenderPipeline, useRenderTarget, useStore, useTexture, useTextures, useThree, useUniform, useUniforms, waitForPrimary };
|
|
4167
|
-
export type { Act, Args, ArgsProp, AttachFnType, AttachType, BackgroundConfig, BackgroundProp, BaseRendererProps, Bridge, BufferCreator, BufferLike, BufferRecord, BufferStore, BuffersWithUtils, Camera, CameraProps, CanvasProps, CanvasSchedulerConfig, Catalogue, ClearBuffersFn, ClearNodesFn, ClearStorageFn, ClearUniformsFn, Color, ColorManagementConfig, ComputeFunction, ConstructorRepresentation, CreatorState, DefaultGLProps, DefaultRendererProps, Disposable, DisposeBuffersFn, DisposeOptions, DisposeStorageFn, DomEvent, Dpr, ElementProps, EnvironmentLoaderProps, EnvironmentProps, EquConfig, Euler, EventHandlers, EventManager, EventProps, Events, Extensions, FiberRoot, FilterFunction, FrameCallback, FrameNextCallback, FrameNextState, FrameState, Frameloop, GLProps, GLTFLike, GeometryProps, GeometryTransformProps, GlobalEffectType, GlobalRenderCallback, HostConfig, InferLoadResult, InjectState, InputLike, Instance, InstanceProps, WebGPUInternalState as InternalState, Intersection, IntersectionEvent, IsAllOptional, IsOptional, Layers, LegacyInternalState, LegacyRenderer, LegacyRootState, LoaderInstance, LoaderLike, LoaderResult, LocalNodeCreator, MappedTextureType, MathProps, MathRepresentation, MathType, MathTypes, Matrix3, Matrix4, Mutable, MutableOrReadonlyParameters, NodeCreator, NodeProps, NodeRecord, NodesWithUtils, NonFunctionKeys, ObjectMap, OffscreenCanvas$1 as OffscreenCanvas, Overwrite, Performance, PointerCaptureTarget, PointerState, PresetsType, PrimaryCanvasEntry, Properties, Quaternion, WebGPUR3FRenderer as R3FRenderer, RaycastableRepresentation, ReactProps, RebuildBuffersFn, RebuildNodesFn, RebuildStorageFn, RebuildUniformsFn, ReconcilerRoot, RemoveBuffersFn, RemoveNodesFn, RemoveStorageFn, RemoveUniformsFn, RenderCallback, RenderProps, RenderTargetOptions, Renderer, RendererConfigExtended, RendererFactory, RendererProps, Root, WebGPURootState as RootState, RootStore, ScopedStoreType, SetBlock, Size, StorageCreator, StorageLike, StorageRecord, StorageStore, StorageWithUtils, Subscription, TSLNode, TSLNodeInput, TextureEntry, TextureInput, TextureNode, TextureOperations, TextureResult, ThreeCamera, ThreeElement, ThreeElements, ThreeElementsImpl, ThreeEvent, ThreeExports, ThreeToJSXElements, UnblockProps, UniformCreator, UniformValue, UniformsWithUtils, UseTextureOptions, UseTexturesReturn, Vector2, Vector3, Vector4, VectorRepresentation, Viewport, VisibilityEntry, WebGLDefaultProps, WebGLProps, WebGLShadowConfig, WebGPUDefaultProps, WebGPUProps, WebGPUShadowConfig, XRManager, XRPointerConfig };
|
|
4140
|
+
export type { Act, Args, ArgsProp, AttachFnType, AttachType, BackgroundConfig, BackgroundProp, BaseRendererProps, Bridge, BufferCreator, BufferLike, BufferRecord, BufferStore, BuffersWithUtils, Camera, CameraProps, CanvasProps, CanvasSchedulerConfig, Catalogue, ClearBuffersFn, ClearNodesFn, ClearStorageFn, ClearUniformsFn, Color, ColorManagementConfig, ComputeFunction, ConstructorRepresentation, CreatorState, DefaultGLProps, DefaultRendererProps, Disposable, DisposeBuffersFn, DisposeOptions, DisposeStorageFn, DomEvent, Dpr, ElementProps, EnvironmentLoaderProps, EnvironmentProps, EquConfig, Euler, EventHandlers, EventManager, EventProps, Events, Extensions, FiberRoot, FilterFunction, FrameCallback, FrameNextCallback, FrameNextState, FrameState, Frameloop, GLProps, GLTFLike, GeometryProps, GeometryTransformProps, GlobalEffectType, GlobalRenderCallback, HostConfig, InferLoadResult, InjectState, InputLike, Instance, InstanceProps, WebGPUInternalState as InternalState, Intersection, IntersectionEvent, IsAllOptional, IsOptional, Layers, LegacyInternalState, LegacyRenderer, LegacyRootState, LoaderInstance, LoaderLike, LoaderResult, LocalNodeCreator, MappedTextureType, MathProps, MathRepresentation, MathType, MathTypes, Matrix3, Matrix4, Mutable, MutableOrReadonlyParameters, NodeCreator, NodeProps, NodeRecord, NodesWithUtils, NonFunctionKeys, ObjectMap, OffscreenCanvas$1 as OffscreenCanvas, Overwrite, Performance, PointerCaptureTarget, PointerState, PresetsType, PrimaryCanvasEntry, Properties, Quaternion, WebGPUR3FRenderer as R3FRenderer, RaycastableRepresentation, ReactProps, RebuildBuffersFn, RebuildNodesFn, RebuildStorageFn, RebuildUniformsFn, ReconcilerRoot, RemoveBuffersFn, RemoveNodesFn, RemoveStorageFn, RemoveUniformsFn, RenderCallback, RenderProps, RenderTargetOptions, Renderer, RendererConfigExtended, RendererFactory, RendererProps, Root, WebGPURootState as RootState, RootStore, ScopedStoreType, SetBlock, Size, StorageCreator, StorageLike, StorageRecord, StorageStore, StorageWithUtils, Subscription, TSLNode, TSLNodeInput, TextureEntry, TextureInput, TextureNode, TextureOperations, TextureResult, ThreeCamera, ThreeElement, ThreeElements, ThreeElementsImpl, ThreeEvent, ThreeExports, ThreeToJSXElements, UnblockProps, UniformCreator, UniformValue, UniformsWithUtils, UseFrameWebGPU, UseTextureOptions, UseTexturesReturn, UseThreeWebGPU, Vector2, Vector3, Vector4, VectorRepresentation, Viewport, VisibilityEntry, WebGLDefaultProps, WebGLProps, WebGLShadowConfig, WebGPUDefaultProps, WebGPUProps, WebGPUShadowConfig, XRManager, XRPointerConfig };
|
package/dist/webgpu/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as three_examples_jsm_inspector_Inspector_js from 'three/examples/jsm/inspector/Inspector.js';
|
|
1
2
|
import * as three_webgpu from 'three/webgpu';
|
|
2
3
|
import { CubeRenderTarget, RenderTarget, WebGPURenderer, Node, StorageTexture, Data3DTexture, CanvasTarget, ShaderNodeObject, Euler as Euler$2, Color as Color$2, ColorRepresentation as ColorRepresentation$1, Layers as Layers$1, Raycaster, Intersection as Intersection$1, BufferGeometry, Matrix4 as Matrix4$1, Quaternion as Quaternion$1, Vector2 as Vector2$1, Vector3 as Vector3$1, Vector4 as Vector4$1, Matrix3 as Matrix3$1, Loader as Loader$1, ColorSpace, Texture as Texture$1, CubeTexture, Scene, Object3D, Frustum, OrthographicCamera, WebGPURendererParameters } from 'three/webgpu';
|
|
3
4
|
import { Inspector } from 'three/addons/inspector/Inspector.js';
|
|
@@ -40,6 +41,8 @@ function _mergeNamespaces(n, m) {
|
|
|
40
41
|
declare const R3F_BUILD_LEGACY = false;
|
|
41
42
|
declare const R3F_BUILD_WEBGPU = true;
|
|
42
43
|
|
|
44
|
+
/** Lazily load the three Inspector. Keeps it out of the eager module graph — see note above. */
|
|
45
|
+
declare function loadInspector(): Promise<typeof three_examples_jsm_inspector_Inspector_js.Inspector>;
|
|
43
46
|
declare const WebGLRenderer: {
|
|
44
47
|
new (): {};
|
|
45
48
|
};
|
|
@@ -61,7 +64,8 @@ var THREE = /*#__PURE__*/_mergeNamespaces({
|
|
|
61
64
|
WebGLRenderTarget: WebGLRenderTarget,
|
|
62
65
|
WebGLRenderer: WebGLRenderer,
|
|
63
66
|
WebGLRendererParameters: WebGLRendererParameters,
|
|
64
|
-
WebGLShadowMap: WebGLShadowMap
|
|
67
|
+
WebGLShadowMap: WebGLShadowMap,
|
|
68
|
+
loadInspector: loadInspector
|
|
65
69
|
}, [three_webgpu]);
|
|
66
70
|
|
|
67
71
|
//* Utility Types ==============================
|
|
@@ -1868,50 +1872,6 @@ declare namespace useLoader {
|
|
|
1868
1872
|
var loader: typeof getLoader;
|
|
1869
1873
|
}
|
|
1870
1874
|
|
|
1871
|
-
/**
|
|
1872
|
-
* Frame hook with phase-based ordering, priority, and FPS throttling.
|
|
1873
|
-
*
|
|
1874
|
-
* Always delivers full RootState — works both inside and outside Canvas context:
|
|
1875
|
-
* - Inside Canvas: Full RootState (renderer, scene, camera, etc.)
|
|
1876
|
-
* - Outside Canvas: The job registers immediately but the callback is held until a
|
|
1877
|
-
* Canvas adopts it, then runs with full RootState. For hostless / standalone
|
|
1878
|
-
* frame loops with no Canvas, use `@pmndrs/scheduler` directly.
|
|
1879
|
-
*
|
|
1880
|
-
* Returns a controls object for manual stepping, pausing, and resuming.
|
|
1881
|
-
*
|
|
1882
|
-
* @param callback - Function called each frame with (state, delta). Optional if you only need scheduler access.
|
|
1883
|
-
* @param priorityOrOptions - Either a priority number (backwards compat) or options object
|
|
1884
|
-
* @returns Controls object with step(), stepAll(), pause(), resume(), isPaused, id, scheduler
|
|
1885
|
-
*
|
|
1886
|
-
* @example
|
|
1887
|
-
* // Simple priority (backwards compat)
|
|
1888
|
-
* useFrame((state, delta) => { ... }, 5)
|
|
1889
|
-
*
|
|
1890
|
-
* @example
|
|
1891
|
-
* // With phase-based ordering
|
|
1892
|
-
* useFrame((state, delta) => { ... }, { phase: 'physics' })
|
|
1893
|
-
*
|
|
1894
|
-
* @example
|
|
1895
|
-
* // Outside Canvas - callback waits for a Canvas, then always has full state
|
|
1896
|
-
* function UI() {
|
|
1897
|
-
* useFrame((state, delta) => { syncUI(state.camera) });
|
|
1898
|
-
* return <button>...</button>;
|
|
1899
|
-
* }
|
|
1900
|
-
*
|
|
1901
|
-
* @example
|
|
1902
|
-
* // Hostless / standalone loop (no Canvas) - use @pmndrs/scheduler directly
|
|
1903
|
-
* import { getScheduler } from '@pmndrs/scheduler'
|
|
1904
|
-
* getScheduler().register((state, delta) => { updateGame(delta) })
|
|
1905
|
-
*
|
|
1906
|
-
* @example
|
|
1907
|
-
* // Scheduler-only access (no callback)
|
|
1908
|
-
* const { scheduler } = useFrame()
|
|
1909
|
-
* scheduler.pauseJob('some-job-id')
|
|
1910
|
-
*
|
|
1911
|
-
* @see https://docs.pmnd.rs/react-three-fiber/api/hooks#useframe
|
|
1912
|
-
*/
|
|
1913
|
-
declare function useFrame(callback?: FrameNextCallback, priorityOrOptions?: number | UseFrameNextOptions): FrameNextControls;
|
|
1914
|
-
|
|
1915
1875
|
declare const IsObject: (url: unknown) => url is Record<string, string>;
|
|
1916
1876
|
type TextureArray<T> = T extends string[] ? Texture$1[] : never;
|
|
1917
1877
|
type TextureRecord<T> = T extends Record<string, string> ? {
|
|
@@ -2097,11 +2057,6 @@ declare function useRenderTarget(width: number, height: number, options?: Render
|
|
|
2097
2057
|
* @see https://docs.pmnd.rs/react-three-fiber/api/hooks#usestore
|
|
2098
2058
|
*/
|
|
2099
2059
|
declare function useStore(): RootStore;
|
|
2100
|
-
/**
|
|
2101
|
-
* Accesses R3F's internal state, containing renderer, canvas, scene, etc.
|
|
2102
|
-
* @see https://docs.pmnd.rs/react-three-fiber/api/hooks#usethree
|
|
2103
|
-
*/
|
|
2104
|
-
declare function useThree<T = RootState>(selector?: (state: RootState) => T, equalityFn?: <T>(state: T, newState: T) => boolean): T;
|
|
2105
2060
|
/**
|
|
2106
2061
|
* Exposes an object's {@link Instance}.
|
|
2107
2062
|
* @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#useInstanceHandle
|
|
@@ -4163,5 +4118,23 @@ interface WebGPURootState extends Omit<RootState, 'renderer' | 'gl' | 'internal'
|
|
|
4163
4118
|
internal: WebGPUInternalState
|
|
4164
4119
|
}
|
|
4165
4120
|
|
|
4121
|
+
/**
|
|
4122
|
+
* @fileoverview WebGPU entry point - WebGPU only, no legacy WebGL
|
|
4123
|
+
*
|
|
4124
|
+
* This entry point is for apps that want to use ONLY WebGPURenderer.
|
|
4125
|
+
* Includes WebGPU-specific hooks (useUniforms, useNodes, useTextures).
|
|
4126
|
+
* Auto-extends THREE with WebGPU node materials (MeshBasicNodeMaterial, etc.)
|
|
4127
|
+
*
|
|
4128
|
+
* Usage:
|
|
4129
|
+
* import { Canvas, useFrame, useUniforms } from '@react-three/fiber/webgpu'
|
|
4130
|
+
*/
|
|
4131
|
+
|
|
4132
|
+
/** `useThree` narrowed to WebGPU state — `state.renderer` is a `WebGPURenderer`. */
|
|
4133
|
+
type UseThreeWebGPU = <T = WebGPURootState>(selector?: (state: WebGPURootState) => T, equalityFn?: <U>(state: U, newState: U) => boolean) => T;
|
|
4134
|
+
/** `useFrame` narrowed to WebGPU state — the callback's `state.renderer` is a `WebGPURenderer`. */
|
|
4135
|
+
type UseFrameWebGPU = (callback?: FrameCallback$1<WebGPURootState>, priorityOrOptions?: number | UseFrameNextOptions) => FrameNextControls;
|
|
4136
|
+
declare const useThree: UseThreeWebGPU;
|
|
4137
|
+
declare const useFrame: UseFrameWebGPU;
|
|
4138
|
+
|
|
4166
4139
|
export { Block, Canvas, Environment, EnvironmentCube, EnvironmentMap, EnvironmentPortal, ErrorBoundary, FROM_REF, IsObject, ONCE, Portal, R3F_BUILD_LEGACY, R3F_BUILD_WEBGPU, REACT_INTERNAL_PROPS, RESERVED_PROPS, three_d as ReactThreeFiber, Texture, _roots, addAfterEffect, addEffect, addTail, advance, applyProps, attach, buildGraph, calculateDpr, clearNodeScope, clearRootNodes, clearRootUniforms, clearScope, context, createEvents, createPointerEvents, createPortal, createRoot, createScopedStore, createStore, createTextureOperations, detach, diffProps, dispose, createPointerEvents as events, extend, findInitialRoot, flushSync, fromRef, getInstanceProps, getPrimary, getPrimaryIds, getRootState, getUuidPrefix, hasConstructor, hasPrimary, invalidate, invalidateInstance, is, isColorRepresentation, isCopyable, isFromRef, isObject3D, isOnce, isOrthographicCamera, isRef, isRenderer, isTexture, isVectorLike, once, prepare, presetsObj, rebuildAllBuffers, rebuildAllNodes, rebuildAllStorage, rebuildAllUniforms, reconciler, registerPrimary, removeInteractivity, removeNodes, removeUniforms, resolve, swapInteractivity, unmountComponentAtNode, unregisterPrimary, updateCamera, updateFrustum, useBridge, useBuffers, useEnvironment, useFrame, useGPUStorage, useGraph, useInstanceHandle, useIsomorphicLayoutEffect, useLoader, useLocalNodes, useMutableCallback, useNodes, useRenderPipeline, useRenderTarget, useStore, useTexture, useTextures, useThree, useUniform, useUniforms, waitForPrimary };
|
|
4167
|
-
export type { Act, Args, ArgsProp, AttachFnType, AttachType, BackgroundConfig, BackgroundProp, BaseRendererProps, Bridge, BufferCreator, BufferLike, BufferRecord, BufferStore, BuffersWithUtils, Camera, CameraProps, CanvasProps, CanvasSchedulerConfig, Catalogue, ClearBuffersFn, ClearNodesFn, ClearStorageFn, ClearUniformsFn, Color, ColorManagementConfig, ComputeFunction, ConstructorRepresentation, CreatorState, DefaultGLProps, DefaultRendererProps, Disposable, DisposeBuffersFn, DisposeOptions, DisposeStorageFn, DomEvent, Dpr, ElementProps, EnvironmentLoaderProps, EnvironmentProps, EquConfig, Euler, EventHandlers, EventManager, EventProps, Events, Extensions, FiberRoot, FilterFunction, FrameCallback, FrameNextCallback, FrameNextState, FrameState, Frameloop, GLProps, GLTFLike, GeometryProps, GeometryTransformProps, GlobalEffectType, GlobalRenderCallback, HostConfig, InferLoadResult, InjectState, InputLike, Instance, InstanceProps, WebGPUInternalState as InternalState, Intersection, IntersectionEvent, IsAllOptional, IsOptional, Layers, LegacyInternalState, LegacyRenderer, LegacyRootState, LoaderInstance, LoaderLike, LoaderResult, LocalNodeCreator, MappedTextureType, MathProps, MathRepresentation, MathType, MathTypes, Matrix3, Matrix4, Mutable, MutableOrReadonlyParameters, NodeCreator, NodeProps, NodeRecord, NodesWithUtils, NonFunctionKeys, ObjectMap, OffscreenCanvas$1 as OffscreenCanvas, Overwrite, Performance, PointerCaptureTarget, PointerState, PresetsType, PrimaryCanvasEntry, Properties, Quaternion, WebGPUR3FRenderer as R3FRenderer, RaycastableRepresentation, ReactProps, RebuildBuffersFn, RebuildNodesFn, RebuildStorageFn, RebuildUniformsFn, ReconcilerRoot, RemoveBuffersFn, RemoveNodesFn, RemoveStorageFn, RemoveUniformsFn, RenderCallback, RenderProps, RenderTargetOptions, Renderer, RendererConfigExtended, RendererFactory, RendererProps, Root, WebGPURootState as RootState, RootStore, ScopedStoreType, SetBlock, Size, StorageCreator, StorageLike, StorageRecord, StorageStore, StorageWithUtils, Subscription, TSLNode, TSLNodeInput, TextureEntry, TextureInput, TextureNode, TextureOperations, TextureResult, ThreeCamera, ThreeElement, ThreeElements, ThreeElementsImpl, ThreeEvent, ThreeExports, ThreeToJSXElements, UnblockProps, UniformCreator, UniformValue, UniformsWithUtils, UseTextureOptions, UseTexturesReturn, Vector2, Vector3, Vector4, VectorRepresentation, Viewport, VisibilityEntry, WebGLDefaultProps, WebGLProps, WebGLShadowConfig, WebGPUDefaultProps, WebGPUProps, WebGPUShadowConfig, XRManager, XRPointerConfig };
|
|
4140
|
+
export type { Act, Args, ArgsProp, AttachFnType, AttachType, BackgroundConfig, BackgroundProp, BaseRendererProps, Bridge, BufferCreator, BufferLike, BufferRecord, BufferStore, BuffersWithUtils, Camera, CameraProps, CanvasProps, CanvasSchedulerConfig, Catalogue, ClearBuffersFn, ClearNodesFn, ClearStorageFn, ClearUniformsFn, Color, ColorManagementConfig, ComputeFunction, ConstructorRepresentation, CreatorState, DefaultGLProps, DefaultRendererProps, Disposable, DisposeBuffersFn, DisposeOptions, DisposeStorageFn, DomEvent, Dpr, ElementProps, EnvironmentLoaderProps, EnvironmentProps, EquConfig, Euler, EventHandlers, EventManager, EventProps, Events, Extensions, FiberRoot, FilterFunction, FrameCallback, FrameNextCallback, FrameNextState, FrameState, Frameloop, GLProps, GLTFLike, GeometryProps, GeometryTransformProps, GlobalEffectType, GlobalRenderCallback, HostConfig, InferLoadResult, InjectState, InputLike, Instance, InstanceProps, WebGPUInternalState as InternalState, Intersection, IntersectionEvent, IsAllOptional, IsOptional, Layers, LegacyInternalState, LegacyRenderer, LegacyRootState, LoaderInstance, LoaderLike, LoaderResult, LocalNodeCreator, MappedTextureType, MathProps, MathRepresentation, MathType, MathTypes, Matrix3, Matrix4, Mutable, MutableOrReadonlyParameters, NodeCreator, NodeProps, NodeRecord, NodesWithUtils, NonFunctionKeys, ObjectMap, OffscreenCanvas$1 as OffscreenCanvas, Overwrite, Performance, PointerCaptureTarget, PointerState, PresetsType, PrimaryCanvasEntry, Properties, Quaternion, WebGPUR3FRenderer as R3FRenderer, RaycastableRepresentation, ReactProps, RebuildBuffersFn, RebuildNodesFn, RebuildStorageFn, RebuildUniformsFn, ReconcilerRoot, RemoveBuffersFn, RemoveNodesFn, RemoveStorageFn, RemoveUniformsFn, RenderCallback, RenderProps, RenderTargetOptions, Renderer, RendererConfigExtended, RendererFactory, RendererProps, Root, WebGPURootState as RootState, RootStore, ScopedStoreType, SetBlock, Size, StorageCreator, StorageLike, StorageRecord, StorageStore, StorageWithUtils, Subscription, TSLNode, TSLNodeInput, TextureEntry, TextureInput, TextureNode, TextureOperations, TextureResult, ThreeCamera, ThreeElement, ThreeElements, ThreeElementsImpl, ThreeEvent, ThreeExports, ThreeToJSXElements, UnblockProps, UniformCreator, UniformValue, UniformsWithUtils, UseFrameWebGPU, UseTextureOptions, UseTexturesReturn, UseThreeWebGPU, Vector2, Vector3, Vector4, VectorRepresentation, Viewport, VisibilityEntry, WebGLDefaultProps, WebGLProps, WebGLShadowConfig, WebGPUDefaultProps, WebGPUProps, WebGPUShadowConfig, XRManager, XRPointerConfig };
|
package/dist/webgpu/index.mjs
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as webgpu from 'three/webgpu';
|
|
2
2
|
import { CubeRenderTarget, RenderTarget, Frustum, Matrix4, Group, BoxGeometry, MeshBasicNodeMaterial, Mesh, Node, NodeUpdateType, Layers, ShaderMaterial, Uniform, SRGBColorSpace, RGBAFormat, UnsignedByteType, Vector3, Vector2, TextureLoader, Texture as Texture$1, CubeReflectionMapping, EquirectangularReflectionMapping, CubeTextureLoader, CanvasTarget, Raycaster, OrthographicCamera, PerspectiveCamera, Scene, PCFShadowMap, VSMShadowMap, BasicShadowMap, ACESFilmicToneMapping, WebGPURenderer, HalfFloatType, Color, Vector4, RenderPipeline } from 'three/webgpu';
|
|
3
|
-
import { Inspector } from 'three/addons/inspector/Inspector.js';
|
|
4
3
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
5
4
|
import * as React from 'react';
|
|
6
5
|
import React__default, { useRef, useMemo, useLayoutEffect, useEffect, useContext, useImperativeHandle, useCallback, useState } from 'react';
|
|
@@ -34,6 +33,10 @@ function _mergeNamespaces(n, m) {
|
|
|
34
33
|
|
|
35
34
|
const R3F_BUILD_LEGACY = false;
|
|
36
35
|
const R3F_BUILD_WEBGPU = true;
|
|
36
|
+
async function loadInspector() {
|
|
37
|
+
const { Inspector } = await import('three/addons/inspector/Inspector.js');
|
|
38
|
+
return Inspector;
|
|
39
|
+
}
|
|
37
40
|
const WebGLRenderer = class WebGLRenderer2 {
|
|
38
41
|
constructor() {
|
|
39
42
|
throw new Error(
|
|
@@ -47,13 +50,13 @@ const WebGLCubeRenderTarget = null;
|
|
|
47
50
|
const THREE = /*#__PURE__*/_mergeNamespaces({
|
|
48
51
|
__proto__: null,
|
|
49
52
|
CubeRenderTargetCompat: CubeRenderTarget,
|
|
50
|
-
Inspector: Inspector,
|
|
51
53
|
R3F_BUILD_LEGACY: R3F_BUILD_LEGACY,
|
|
52
54
|
R3F_BUILD_WEBGPU: R3F_BUILD_WEBGPU,
|
|
53
55
|
RenderTargetCompat: RenderTarget,
|
|
54
56
|
WebGLCubeRenderTarget: WebGLCubeRenderTarget,
|
|
55
57
|
WebGLRenderTarget: WebGLRenderTarget,
|
|
56
|
-
WebGLRenderer: WebGLRenderer
|
|
58
|
+
WebGLRenderer: WebGLRenderer,
|
|
59
|
+
loadInspector: loadInspector
|
|
57
60
|
}, [webgpu]);
|
|
58
61
|
|
|
59
62
|
const primaryRegistry = /* @__PURE__ */ new Map();
|
|
@@ -1138,7 +1141,7 @@ useLoader.clear = function(loader, input, cacheKey) {
|
|
|
1138
1141
|
};
|
|
1139
1142
|
useLoader.loader = getLoader$1;
|
|
1140
1143
|
|
|
1141
|
-
function useFrame(callback, priorityOrOptions) {
|
|
1144
|
+
function useFrame$1(callback, priorityOrOptions) {
|
|
1142
1145
|
const store = React.useContext(context);
|
|
1143
1146
|
const isInsideCanvas = store !== null;
|
|
1144
1147
|
const scheduler = getScheduler();
|
|
@@ -1306,7 +1309,7 @@ function buildFromCache(input, textureCache) {
|
|
|
1306
1309
|
}
|
|
1307
1310
|
}
|
|
1308
1311
|
function useTexture(input, optionsOrOnLoad) {
|
|
1309
|
-
const renderer = useThree((state) => state.internal.actualRenderer);
|
|
1312
|
+
const renderer = useThree$1((state) => state.internal.actualRenderer);
|
|
1310
1313
|
const store = useStore();
|
|
1311
1314
|
const options = typeof optionsOrOnLoad === "function" ? { onLoad: optionsOrOnLoad } : optionsOrOnLoad ?? {};
|
|
1312
1315
|
const { onLoad, cache = true } = options;
|
|
@@ -1472,13 +1475,13 @@ function useTextures(selector) {
|
|
|
1472
1475
|
};
|
|
1473
1476
|
}, [store]);
|
|
1474
1477
|
const subscribe = selector ? () => selector(registry) : (state) => state.textures;
|
|
1475
|
-
const selected = useThree(subscribe);
|
|
1478
|
+
const selected = useThree$1(subscribe);
|
|
1476
1479
|
return selector ? selected : registry;
|
|
1477
1480
|
}
|
|
1478
1481
|
|
|
1479
1482
|
function useRenderTarget(widthOrOptions, heightOrOptions, options) {
|
|
1480
|
-
const isLegacy = useThree((s) => s.isLegacy);
|
|
1481
|
-
const size = useThree((s) => s.size);
|
|
1483
|
+
const isLegacy = useThree$1((s) => s.isLegacy);
|
|
1484
|
+
const size = useThree$1((s) => s.size);
|
|
1482
1485
|
let width;
|
|
1483
1486
|
let height;
|
|
1484
1487
|
let opts;
|
|
@@ -1535,7 +1538,7 @@ function useEnvironment({
|
|
|
1535
1538
|
const { extension, isCubemap } = getExtension(files);
|
|
1536
1539
|
const loader = getLoader(extension);
|
|
1537
1540
|
if (!loader) throw new Error("useEnvironment: Unrecognized file extension: " + files);
|
|
1538
|
-
const renderer = useThree((state) => state.renderer);
|
|
1541
|
+
const renderer = useThree$1((state) => state.renderer);
|
|
1539
1542
|
useLayoutEffect(() => {
|
|
1540
1543
|
if (extension !== "webp" && extension !== "jpg" && extension !== "jpeg") return;
|
|
1541
1544
|
function clearGainmapTexture() {
|
|
@@ -1628,7 +1631,7 @@ function useStore() {
|
|
|
1628
1631
|
if (!store) throw new Error("R3F: Hooks can only be used within the Canvas component!");
|
|
1629
1632
|
return store;
|
|
1630
1633
|
}
|
|
1631
|
-
function useThree(selector = (state) => state, equalityFn) {
|
|
1634
|
+
function useThree$1(selector = (state) => state, equalityFn) {
|
|
1632
1635
|
return useStore()(selector, equalityFn);
|
|
1633
1636
|
}
|
|
1634
1637
|
function useInstanceHandle(ref) {
|
|
@@ -14719,7 +14722,7 @@ function setEnvProps(background, scene, defaultScene, texture, sceneProps = {})
|
|
|
14719
14722
|
};
|
|
14720
14723
|
}
|
|
14721
14724
|
function EnvironmentMap({ scene, background = false, map, ...config }) {
|
|
14722
|
-
const defaultScene = useThree((state) => state.scene);
|
|
14725
|
+
const defaultScene = useThree$1((state) => state.scene);
|
|
14723
14726
|
React.useLayoutEffect(() => {
|
|
14724
14727
|
if (map) return setEnvProps(background, scene, defaultScene, map, config);
|
|
14725
14728
|
});
|
|
@@ -14737,7 +14740,7 @@ function EnvironmentCube({
|
|
|
14737
14740
|
...rest
|
|
14738
14741
|
}) {
|
|
14739
14742
|
const texture = useEnvironment(rest);
|
|
14740
|
-
const defaultScene = useThree((state) => state.scene);
|
|
14743
|
+
const defaultScene = useThree$1((state) => state.scene);
|
|
14741
14744
|
React.useLayoutEffect(() => {
|
|
14742
14745
|
return setEnvProps(background, scene, defaultScene, texture, {
|
|
14743
14746
|
backgroundBlurriness: blur ?? backgroundBlurriness,
|
|
@@ -14774,9 +14777,9 @@ function EnvironmentPortal({
|
|
|
14774
14777
|
preset = void 0,
|
|
14775
14778
|
extensions
|
|
14776
14779
|
}) {
|
|
14777
|
-
const renderer = useThree((state) => state.renderer);
|
|
14778
|
-
const isLegacy = useThree((state) => state.isLegacy);
|
|
14779
|
-
const defaultScene = useThree((state) => state.scene);
|
|
14780
|
+
const renderer = useThree$1((state) => state.renderer);
|
|
14781
|
+
const isLegacy = useThree$1((state) => state.isLegacy);
|
|
14782
|
+
const defaultScene = useThree$1((state) => state.scene);
|
|
14780
14783
|
const camera = React.useRef(null);
|
|
14781
14784
|
const [virtualScene] = React.useState(() => new Scene());
|
|
14782
14785
|
const fbo = React.useMemo(() => {
|
|
@@ -14820,7 +14823,7 @@ function EnvironmentPortal({
|
|
|
14820
14823
|
environmentRotation
|
|
14821
14824
|
]);
|
|
14822
14825
|
let count = 1;
|
|
14823
|
-
useFrame(() => {
|
|
14826
|
+
useFrame$1(() => {
|
|
14824
14827
|
if (frames === Infinity || count < frames) {
|
|
14825
14828
|
const autoClear = renderer.autoClear;
|
|
14826
14829
|
renderer.autoClear = true;
|
|
@@ -14860,7 +14863,7 @@ function EnvironmentGround(props) {
|
|
|
14860
14863
|
] });
|
|
14861
14864
|
}
|
|
14862
14865
|
function EnvironmentColor({ color, scene }) {
|
|
14863
|
-
const defaultScene = useThree((state) => state.scene);
|
|
14866
|
+
const defaultScene = useThree$1((state) => state.scene);
|
|
14864
14867
|
React.useLayoutEffect(() => {
|
|
14865
14868
|
if (color === void 0) return;
|
|
14866
14869
|
const target = resolveScene(scene || defaultScene);
|
|
@@ -15454,6 +15457,11 @@ function createTextureOperations(set) {
|
|
|
15454
15457
|
removeMultiple: (keys) => removeTextures(set, keys)
|
|
15455
15458
|
};
|
|
15456
15459
|
}
|
|
15460
|
+
function scopedNodeName(scope, name) {
|
|
15461
|
+
const raw = scope ? `${scope}_${name}` : name;
|
|
15462
|
+
const safe = raw.replace(/[^A-Za-z0-9_]/g, "_");
|
|
15463
|
+
return /^[A-Za-z_]/.test(safe) ? safe : `_${safe}`;
|
|
15464
|
+
}
|
|
15457
15465
|
function extractTSLValue(value) {
|
|
15458
15466
|
if (value === null || value === void 0) return value;
|
|
15459
15467
|
if (typeof value !== "object") return value;
|
|
@@ -15652,8 +15660,7 @@ function createUniform(inName, node, scope) {
|
|
|
15652
15660
|
const inValue = vectorize(node);
|
|
15653
15661
|
const newUniform = uniform(inValue);
|
|
15654
15662
|
if (typeof newUniform.setName === "function") {
|
|
15655
|
-
|
|
15656
|
-
newUniform.setName(name);
|
|
15663
|
+
newUniform.setName(scopedNodeName(scope, inName));
|
|
15657
15664
|
}
|
|
15658
15665
|
return newUniform;
|
|
15659
15666
|
}
|
|
@@ -15752,7 +15759,7 @@ function useNodes(creatorOrScope, scope) {
|
|
|
15752
15759
|
return creatorOrScope(createLazyCreatorState(store.getState(), store));
|
|
15753
15760
|
},
|
|
15754
15761
|
prepare: (name, node) => {
|
|
15755
|
-
node.setName?.(scope
|
|
15762
|
+
node.setName?.(scopedNodeName(scope, name));
|
|
15756
15763
|
return node;
|
|
15757
15764
|
}
|
|
15758
15765
|
});
|
|
@@ -15861,7 +15868,7 @@ function useBuffers(creatorOrScope, scope) {
|
|
|
15861
15868
|
},
|
|
15862
15869
|
prepare: (name, buffer) => {
|
|
15863
15870
|
if ("setName" in buffer && typeof buffer.setName === "function") {
|
|
15864
|
-
buffer.setName(scope
|
|
15871
|
+
buffer.setName(scopedNodeName(scope, name));
|
|
15865
15872
|
}
|
|
15866
15873
|
return buffer;
|
|
15867
15874
|
}
|
|
@@ -15932,7 +15939,7 @@ function useGPUStorage(creatorOrScope, scope) {
|
|
|
15932
15939
|
return creatorOrScope(createLazyCreatorState(store.getState(), store));
|
|
15933
15940
|
},
|
|
15934
15941
|
prepare: (name, storage) => {
|
|
15935
|
-
const label = scope
|
|
15942
|
+
const label = scopedNodeName(scope, name);
|
|
15936
15943
|
if ("setName" in storage && typeof storage.setName === "function") {
|
|
15937
15944
|
storage.setName(label);
|
|
15938
15945
|
}
|
|
@@ -15963,7 +15970,7 @@ function rebuildAllStorage(store, scope) {
|
|
|
15963
15970
|
|
|
15964
15971
|
function useRenderPipeline(mainCB, setupCB) {
|
|
15965
15972
|
const store = useStore();
|
|
15966
|
-
const { scene, camera, renderer, isLegacy } = useThree();
|
|
15973
|
+
const { scene, camera, renderer, isLegacy } = useThree$1();
|
|
15967
15974
|
const callbacksRanRef = useRef(false);
|
|
15968
15975
|
const scenePassCacheRef = useRef(null);
|
|
15969
15976
|
const mainCBRef = useRef(mainCB);
|
|
@@ -16041,8 +16048,8 @@ function useRenderPipeline(mainCB, setupCB) {
|
|
|
16041
16048
|
console.warn("[useRenderPipeline] Setup failed; the render pipeline was not configured:", error);
|
|
16042
16049
|
}
|
|
16043
16050
|
}, [store, renderer, scene, camera, isLegacy, rebuildVersion]);
|
|
16044
|
-
const passes = useThree((s) => s.passes);
|
|
16045
|
-
const renderPipeline = useThree((s) => s.renderPipeline);
|
|
16051
|
+
const passes = useThree$1((s) => s.passes);
|
|
16052
|
+
const renderPipeline = useThree$1((s) => s.renderPipeline);
|
|
16046
16053
|
return {
|
|
16047
16054
|
passes,
|
|
16048
16055
|
renderPipeline,
|
|
@@ -16055,5 +16062,7 @@ function useRenderPipeline(mainCB, setupCB) {
|
|
|
16055
16062
|
}
|
|
16056
16063
|
|
|
16057
16064
|
extend(THREE);
|
|
16065
|
+
const useThree = useThree$1;
|
|
16066
|
+
const useFrame = useFrame$1;
|
|
16058
16067
|
|
|
16059
16068
|
export { Block, Canvas, Environment, EnvironmentCube, EnvironmentMap, EnvironmentPortal, ErrorBoundary, FROM_REF, IsObject, ONCE, Portal, R3F_BUILD_LEGACY, R3F_BUILD_WEBGPU, REACT_INTERNAL_PROPS, RESERVED_PROPS, Texture, _roots, addAfterEffect, addEffect, addTail, advance, applyProps, attach, buildGraph, calculateDpr, clearNodeScope, clearRootNodes, clearRootUniforms, clearScope, context, createEvents, createPointerEvents, createPortal, createRoot, createScopedStore, createStore, createTextureOperations, detach, diffProps, dispose, createPointerEvents as events, extend, findInitialRoot, flushSync, fromRef, getInstanceProps, getPrimary, getPrimaryIds, getRootState, getUuidPrefix, hasConstructor, hasPrimary, invalidate, invalidateInstance, is, isColorRepresentation, isCopyable, isFromRef, isObject3D, isOnce, isOrthographicCamera, isRef$1 as isRef, isRenderer, isTexture, isVectorLike, once, prepare, presetsObj, rebuildAllBuffers, rebuildAllNodes, rebuildAllStorage, rebuildAllUniforms, reconciler, registerPrimary, removeInteractivity, removeNodes, removeUniforms, resolve, swapInteractivity, unmountComponentAtNode, unregisterPrimary, updateCamera, updateFrustum, useBridge, useBuffers, useEnvironment, useFrame, useGPUStorage, useGraph, useInstanceHandle, useIsomorphicLayoutEffect, useLoader, useLocalNodes, useMutableCallback, useNodes, useRenderPipeline, useRenderTarget, useStore, useTexture, useTextures, useThree, useUniform, useUniforms, waitForPrimary };
|