@react-three/fiber 10.0.0-canary.aecbafb → 10.0.0-canary.c3fa45d
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 +74 -19
- package/dist/index.d.cts +19 -7
- package/dist/index.d.mts +19 -7
- package/dist/index.d.ts +19 -7
- package/dist/index.mjs +75 -20
- package/dist/legacy.cjs +74 -19
- package/dist/legacy.d.cts +19 -7
- package/dist/legacy.d.mts +19 -7
- package/dist/legacy.d.ts +19 -7
- package/dist/legacy.mjs +75 -20
- package/dist/webgpu/index.cjs +74 -19
- package/dist/webgpu/index.d.cts +19 -7
- package/dist/webgpu/index.d.mts +19 -7
- package/dist/webgpu/index.d.ts +19 -7
- package/dist/webgpu/index.mjs +75 -20
- package/package.json +1 -1
package/dist/webgpu/index.cjs
CHANGED
|
@@ -170,7 +170,7 @@ function useEnvironment({
|
|
|
170
170
|
fiber.useLoader.clear(loader, multiFile ? [files] : files);
|
|
171
171
|
}
|
|
172
172
|
renderer.domElement.addEventListener("webglcontextlost", clearGainmapTexture, { once: true });
|
|
173
|
-
}, [files, renderer.domElement]);
|
|
173
|
+
}, [extension, files, loader, multiFile, renderer.domElement]);
|
|
174
174
|
const loaderResult = fiber.useLoader(
|
|
175
175
|
loader,
|
|
176
176
|
multiFile ? [files] : files,
|
|
@@ -370,7 +370,22 @@ function EnvironmentPortal({
|
|
|
370
370
|
environmentIntensity,
|
|
371
371
|
environmentRotation
|
|
372
372
|
});
|
|
373
|
-
}, [
|
|
373
|
+
}, [
|
|
374
|
+
children,
|
|
375
|
+
virtualScene,
|
|
376
|
+
fbo.texture,
|
|
377
|
+
scene,
|
|
378
|
+
defaultScene,
|
|
379
|
+
background,
|
|
380
|
+
frames,
|
|
381
|
+
gl,
|
|
382
|
+
blur,
|
|
383
|
+
backgroundBlurriness,
|
|
384
|
+
backgroundIntensity,
|
|
385
|
+
backgroundRotation,
|
|
386
|
+
environmentIntensity,
|
|
387
|
+
environmentRotation
|
|
388
|
+
]);
|
|
374
389
|
let count = 1;
|
|
375
390
|
fiber.useFrame(() => {
|
|
376
391
|
if (frames === Infinity || count < frames) {
|
|
@@ -1297,7 +1312,7 @@ function createEvents(store) {
|
|
|
1297
1312
|
}
|
|
1298
1313
|
function processDeferredPointer(event, pointerId) {
|
|
1299
1314
|
const state = store.getState();
|
|
1300
|
-
const {
|
|
1315
|
+
const { internal } = state;
|
|
1301
1316
|
if (!state.events.enabled) return;
|
|
1302
1317
|
const filter = filterPointerEvents;
|
|
1303
1318
|
const hits = intersect(event, filter);
|
|
@@ -1532,6 +1547,7 @@ function createPointerEvents(store) {
|
|
|
1532
1547
|
}
|
|
1533
1548
|
},
|
|
1534
1549
|
connect: (target) => {
|
|
1550
|
+
if (!target) return;
|
|
1535
1551
|
const { set, events } = store.getState();
|
|
1536
1552
|
events.disconnect?.();
|
|
1537
1553
|
set((state) => ({ events: { ...state.events, connected: target } }));
|
|
@@ -1894,7 +1910,7 @@ function shouldRun(job, now) {
|
|
|
1894
1910
|
const minInterval = 1e3 / job.fps;
|
|
1895
1911
|
const lastRun = job.lastRun ?? 0;
|
|
1896
1912
|
const elapsed = now - lastRun;
|
|
1897
|
-
if (elapsed < minInterval) return false;
|
|
1913
|
+
if (elapsed < minInterval - 1) return false;
|
|
1898
1914
|
if (job.drop) {
|
|
1899
1915
|
job.lastRun = now;
|
|
1900
1916
|
} else {
|
|
@@ -2921,14 +2937,16 @@ const createStore = (invalidate, advance) => {
|
|
|
2921
2937
|
oldSize = size;
|
|
2922
2938
|
oldDpr = viewport.dpr;
|
|
2923
2939
|
updateCamera(camera, size);
|
|
2924
|
-
if (canvasTarget) {
|
|
2940
|
+
if (internal.isSecondary && canvasTarget) {
|
|
2925
2941
|
if (viewport.dpr > 0) canvasTarget.setPixelRatio(viewport.dpr);
|
|
2926
|
-
|
|
2927
|
-
canvasTarget.setSize(size.width, size.height, updateStyle);
|
|
2942
|
+
canvasTarget.setSize(size.width, size.height, false);
|
|
2928
2943
|
} else {
|
|
2929
2944
|
if (viewport.dpr > 0) actualRenderer.setPixelRatio(viewport.dpr);
|
|
2930
|
-
|
|
2931
|
-
|
|
2945
|
+
actualRenderer.setSize(size.width, size.height, false);
|
|
2946
|
+
if (canvasTarget) {
|
|
2947
|
+
if (viewport.dpr > 0) canvasTarget.setPixelRatio(viewport.dpr);
|
|
2948
|
+
canvasTarget.setSize(size.width, size.height, false);
|
|
2949
|
+
}
|
|
2932
2950
|
}
|
|
2933
2951
|
}
|
|
2934
2952
|
if (camera !== oldCamera) {
|
|
@@ -15213,7 +15231,6 @@ function createRoot(canvas) {
|
|
|
15213
15231
|
events,
|
|
15214
15232
|
onCreated: onCreatedCallback,
|
|
15215
15233
|
shadows = false,
|
|
15216
|
-
textureColorSpace = webgpu.SRGBColorSpace,
|
|
15217
15234
|
orthographic = false,
|
|
15218
15235
|
frameloop = "always",
|
|
15219
15236
|
dpr = [1, 2],
|
|
@@ -15228,6 +15245,7 @@ function createRoot(canvas) {
|
|
|
15228
15245
|
_sizeProps,
|
|
15229
15246
|
forceEven
|
|
15230
15247
|
} = props;
|
|
15248
|
+
const textureColorSpace = is.obj(glConfig) && !is.fun(glConfig) && !isRenderer(glConfig) && glConfig.textureColorSpace || is.obj(rendererConfig) && !is.fun(rendererConfig) && !isRenderer(rendererConfig) && rendererConfig.textureColorSpace || webgpu.SRGBColorSpace;
|
|
15231
15249
|
const state = store.getState();
|
|
15232
15250
|
const defaultGPUProps = {
|
|
15233
15251
|
canvas,
|
|
@@ -15380,7 +15398,7 @@ function createRoot(canvas) {
|
|
|
15380
15398
|
lastConfiguredProps.performance = performance;
|
|
15381
15399
|
}
|
|
15382
15400
|
if (!state.xr) {
|
|
15383
|
-
const handleXRFrame = (timestamp,
|
|
15401
|
+
const handleXRFrame = (timestamp, _frame) => {
|
|
15384
15402
|
const state2 = store.getState();
|
|
15385
15403
|
if (state2.frameloop === "never") return;
|
|
15386
15404
|
advance(timestamp);
|
|
@@ -15416,15 +15434,22 @@ function createRoot(canvas) {
|
|
|
15416
15434
|
const oldType = renderer.shadowMap.type;
|
|
15417
15435
|
renderer.shadowMap.enabled = !!shadows;
|
|
15418
15436
|
if (is.boo(shadows)) {
|
|
15419
|
-
renderer.shadowMap.type = webgpu.
|
|
15437
|
+
renderer.shadowMap.type = webgpu.PCFShadowMap;
|
|
15420
15438
|
} else if (is.str(shadows)) {
|
|
15439
|
+
if (shadows === "soft") {
|
|
15440
|
+
notifyDepreciated({
|
|
15441
|
+
heading: 'shadows="soft" is deprecated',
|
|
15442
|
+
body: "Three has depreciated soft and improved basic PCFShadows, we converted for you.",
|
|
15443
|
+
link: "https://github.com/mrdoob/three.js/wiki/Migration-Guide?utm_source=chatgpt.com#181--182"
|
|
15444
|
+
});
|
|
15445
|
+
}
|
|
15421
15446
|
const types = {
|
|
15422
15447
|
basic: webgpu.BasicShadowMap,
|
|
15423
15448
|
percentage: webgpu.PCFShadowMap,
|
|
15424
|
-
soft: webgpu.
|
|
15449
|
+
soft: webgpu.PCFShadowMap,
|
|
15425
15450
|
variance: webgpu.VSMShadowMap
|
|
15426
15451
|
};
|
|
15427
|
-
renderer.shadowMap.type = types[shadows] ?? webgpu.
|
|
15452
|
+
renderer.shadowMap.type = types[shadows] ?? webgpu.PCFShadowMap;
|
|
15428
15453
|
} else if (is.obj(shadows)) {
|
|
15429
15454
|
Object.assign(renderer.shadowMap, shadows);
|
|
15430
15455
|
}
|
|
@@ -15440,13 +15465,24 @@ function createRoot(canvas) {
|
|
|
15440
15465
|
if (state.textureColorSpace !== textureColorSpace) state.set(() => ({ textureColorSpace }));
|
|
15441
15466
|
lastConfiguredProps.textureColorSpace = textureColorSpace;
|
|
15442
15467
|
}
|
|
15468
|
+
const r3fProps = ["textureColorSpace"];
|
|
15469
|
+
const constructorOnlyProps = ["samples", "antialias", "alpha", "canvas", "powerPreference"];
|
|
15470
|
+
const nonApplyProps = [...r3fProps, ...constructorOnlyProps];
|
|
15443
15471
|
if (glConfig && !is.fun(glConfig) && !isRenderer(glConfig) && !is.equ(glConfig, renderer, shallowLoose)) {
|
|
15444
|
-
|
|
15472
|
+
const glProps = {};
|
|
15473
|
+
for (const key in glConfig) {
|
|
15474
|
+
if (!nonApplyProps.includes(key)) glProps[key] = glConfig[key];
|
|
15475
|
+
}
|
|
15476
|
+
applyProps(renderer, glProps);
|
|
15445
15477
|
}
|
|
15446
15478
|
if (rendererConfig && !is.fun(rendererConfig) && !isRenderer(rendererConfig) && state.renderer) {
|
|
15447
15479
|
const currentRenderer = state.renderer;
|
|
15448
15480
|
if (!is.equ(rendererConfig, currentRenderer, shallowLoose)) {
|
|
15449
|
-
|
|
15481
|
+
const rendererProps = {};
|
|
15482
|
+
for (const key in rendererConfig) {
|
|
15483
|
+
if (!nonApplyProps.includes(key)) rendererProps[key] = rendererConfig[key];
|
|
15484
|
+
}
|
|
15485
|
+
applyProps(currentRenderer, rendererProps);
|
|
15450
15486
|
}
|
|
15451
15487
|
}
|
|
15452
15488
|
const scheduler = getScheduler();
|
|
@@ -15760,8 +15796,18 @@ function CanvasImpl({
|
|
|
15760
15796
|
forceEven,
|
|
15761
15797
|
...props
|
|
15762
15798
|
}) {
|
|
15763
|
-
const
|
|
15764
|
-
|
|
15799
|
+
const isRendererConfig = typeof rendererProp === "object" && rendererProp !== null && !("render" in rendererProp) && ("primaryCanvas" in rendererProp || "scheduler" in rendererProp);
|
|
15800
|
+
let primaryCanvas;
|
|
15801
|
+
let scheduler;
|
|
15802
|
+
let renderer;
|
|
15803
|
+
if (isRendererConfig) {
|
|
15804
|
+
const { primaryCanvas: pc, scheduler: sc, ...rest } = rendererProp;
|
|
15805
|
+
primaryCanvas = pc;
|
|
15806
|
+
scheduler = sc;
|
|
15807
|
+
renderer = Object.keys(rest).length > 0 ? rest : rendererProp;
|
|
15808
|
+
} else {
|
|
15809
|
+
renderer = rendererProp;
|
|
15810
|
+
}
|
|
15765
15811
|
React__namespace.useMemo(() => extend(THREE), []);
|
|
15766
15812
|
const Bridge = useBridge();
|
|
15767
15813
|
const backgroundProps = React__namespace.useMemo(() => {
|
|
@@ -15971,7 +16017,16 @@ function CanvasImpl({
|
|
|
15971
16017
|
...style
|
|
15972
16018
|
},
|
|
15973
16019
|
...props,
|
|
15974
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref: containerRef, className: "r3f-canvas-container", style: { width: "100%", height: "100%" }, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
16020
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref: containerRef, className: "r3f-canvas-container", style: { width: "100%", height: "100%" }, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
16021
|
+
"canvas",
|
|
16022
|
+
{
|
|
16023
|
+
ref: canvasRef,
|
|
16024
|
+
id,
|
|
16025
|
+
className: "r3f-canvas",
|
|
16026
|
+
style: { display: "block", width: "100%", height: "100%" },
|
|
16027
|
+
children: fallback
|
|
16028
|
+
}
|
|
16029
|
+
) })
|
|
15975
16030
|
}
|
|
15976
16031
|
);
|
|
15977
16032
|
}
|
package/dist/webgpu/index.d.cts
CHANGED
|
@@ -857,6 +857,20 @@ interface Renderer {
|
|
|
857
857
|
render: (scene: THREE$1.Scene, camera: THREE$1.Camera) => any
|
|
858
858
|
}
|
|
859
859
|
|
|
860
|
+
//* Color Management Config ==============================
|
|
861
|
+
|
|
862
|
+
/**
|
|
863
|
+
* Color management configuration shared by both WebGL and WebGPU renderers.
|
|
864
|
+
*/
|
|
865
|
+
interface ColorManagementConfig {
|
|
866
|
+
/**
|
|
867
|
+
* Color space assigned to 8-bit input textures (color maps).
|
|
868
|
+
* Defaults to sRGB. Most textures are authored in sRGB.
|
|
869
|
+
* @default THREE.SRGBColorSpace
|
|
870
|
+
*/
|
|
871
|
+
textureColorSpace?: THREE$1.ColorSpace
|
|
872
|
+
}
|
|
873
|
+
|
|
860
874
|
//* WebGL Renderer Props ==============================
|
|
861
875
|
|
|
862
876
|
type DefaultGLProps = Omit<THREE$1.WebGLRendererParameters, 'canvas'> & {
|
|
@@ -867,7 +881,7 @@ type GLProps =
|
|
|
867
881
|
| Renderer
|
|
868
882
|
| ((defaultProps: DefaultGLProps) => Renderer)
|
|
869
883
|
| ((defaultProps: DefaultGLProps) => Promise<Renderer>)
|
|
870
|
-
| Partial<Properties<THREE$1.WebGLRenderer> | THREE$1.WebGLRendererParameters>
|
|
884
|
+
| (Partial<Properties<THREE$1.WebGLRenderer> | THREE$1.WebGLRendererParameters> & ColorManagementConfig)
|
|
871
885
|
|
|
872
886
|
//* WebGPU Renderer Props ==============================
|
|
873
887
|
|
|
@@ -893,9 +907,9 @@ interface CanvasSchedulerConfig {
|
|
|
893
907
|
}
|
|
894
908
|
|
|
895
909
|
/**
|
|
896
|
-
* Extended renderer configuration for multi-canvas support.
|
|
910
|
+
* Extended renderer configuration for multi-canvas support and color management.
|
|
897
911
|
*/
|
|
898
|
-
interface RendererConfigExtended {
|
|
912
|
+
interface RendererConfigExtended extends ColorManagementConfig {
|
|
899
913
|
/** Share renderer from another canvas (WebGPU only) */
|
|
900
914
|
primaryCanvas?: string
|
|
901
915
|
/** Canvas-level scheduler options */
|
|
@@ -960,8 +974,6 @@ interface RenderProps<TCanvas extends HTMLCanvasElement | OffscreenCanvas$1> {
|
|
|
960
974
|
* @see https://threejs.org/docs/#api/en/renderers/WebGLRenderer.shadowMap
|
|
961
975
|
*/
|
|
962
976
|
shadows?: boolean | 'basic' | 'percentage' | 'soft' | 'variance' | Partial<THREE$1.WebGLShadowMap>
|
|
963
|
-
/** Color space assigned to 8-bit input textures (color maps). Defaults to sRGB. Most textures are authored in sRGB. */
|
|
964
|
-
textureColorSpace?: THREE$1.ColorSpace
|
|
965
977
|
/** Creates an orthographic camera */
|
|
966
978
|
orthographic?: boolean
|
|
967
979
|
/**
|
|
@@ -1214,7 +1226,7 @@ interface CanvasProps
|
|
|
1214
1226
|
*/
|
|
1215
1227
|
resize?: Options
|
|
1216
1228
|
/** The target where events are being subscribed to, default: the div that wraps canvas */
|
|
1217
|
-
eventSource?: HTMLElement | React$1.RefObject<HTMLElement>
|
|
1229
|
+
eventSource?: HTMLElement | React$1.RefObject<HTMLElement | null>
|
|
1218
1230
|
/** The event prefix that is cast into canvas pointer x/y events, default: "offset" */
|
|
1219
1231
|
eventPrefix?: 'offset' | 'client' | 'page' | 'layer' | 'screen'
|
|
1220
1232
|
/** Enable/disable automatic HMR refresh for TSL nodes and uniforms, default: true in dev */
|
|
@@ -4754,4 +4766,4 @@ interface WebGPURootState extends Omit<RootState, 'renderer' | 'gl' | 'internal'
|
|
|
4754
4766
|
}
|
|
4755
4767
|
|
|
4756
4768
|
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, Scheduler, Texture, _roots, act, 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, getScheduler, 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, 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 };
|
|
4757
|
-
export type { Act, AddPhaseOptions, Args, ArgsProp, AttachFnType, AttachType, BackgroundConfig, BackgroundProp, BaseRendererProps, Bridge, BufferCreator, BufferLike, BufferRecord, BufferStore, BuffersWithUtils, Camera, CameraProps, CanvasProps, CanvasSchedulerConfig, Catalogue, ClearBuffersFn, ClearNodesFn, ClearStorageFn, ClearUniformsFn, Color, ComputeFunction, ConstructorRepresentation, CreatorState, DefaultGLProps, DefaultRendererProps, Disposable, DisposeBuffersFn, DisposeStorageFn, DomEvent, Dpr, ElementProps, EnvironmentLoaderProps, EnvironmentProps, EquConfig, Euler, EventHandlers, EventManager, EventProps, Events, Extensions, FiberRoot, FilterFunction, FrameCallback, FrameControls, FrameNextCallback, FrameNextControls, FrameNextState, FrameState, FrameTimingState, 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, RootOptions, WebGPURootState as RootState, RootStore, SchedulerApi, ScopedStoreType, SetBlock, Size, StorageCreator, StorageLike, StorageRecord, StorageStore, StorageWithUtils, Subscription, TSLNode, TSLNodeInput, TextureEntry, TextureOperations, ThreeCamera, ThreeElement, ThreeElements, ThreeElementsImpl, ThreeEvent, ThreeExports, ThreeToJSXElements, UnblockProps, UniformCreator, UniformValue, UniformsWithUtils, UseFrameNextOptions, UseFrameOptions, UseTextureOptions, UseTexturesReturn, Vector2, Vector3, Vector4, VectorRepresentation, Viewport, VisibilityEntry, WebGLDefaultProps, WebGLProps, WebGLShadowConfig, WebGPUDefaultProps, WebGPUProps, WebGPUShadowConfig, XRManager, XRPointerConfig };
|
|
4769
|
+
export type { Act, AddPhaseOptions, 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, DisposeStorageFn, DomEvent, Dpr, ElementProps, EnvironmentLoaderProps, EnvironmentProps, EquConfig, Euler, EventHandlers, EventManager, EventProps, Events, Extensions, FiberRoot, FilterFunction, FrameCallback, FrameControls, FrameNextCallback, FrameNextControls, FrameNextState, FrameState, FrameTimingState, 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, RootOptions, WebGPURootState as RootState, RootStore, SchedulerApi, ScopedStoreType, SetBlock, Size, StorageCreator, StorageLike, StorageRecord, StorageStore, StorageWithUtils, Subscription, TSLNode, TSLNodeInput, TextureEntry, TextureOperations, ThreeCamera, ThreeElement, ThreeElements, ThreeElementsImpl, ThreeEvent, ThreeExports, ThreeToJSXElements, UnblockProps, UniformCreator, UniformValue, UniformsWithUtils, UseFrameNextOptions, UseFrameOptions, UseTextureOptions, UseTexturesReturn, Vector2, Vector3, Vector4, VectorRepresentation, Viewport, VisibilityEntry, WebGLDefaultProps, WebGLProps, WebGLShadowConfig, WebGPUDefaultProps, WebGPUProps, WebGPUShadowConfig, XRManager, XRPointerConfig };
|
package/dist/webgpu/index.d.mts
CHANGED
|
@@ -857,6 +857,20 @@ interface Renderer {
|
|
|
857
857
|
render: (scene: THREE$1.Scene, camera: THREE$1.Camera) => any
|
|
858
858
|
}
|
|
859
859
|
|
|
860
|
+
//* Color Management Config ==============================
|
|
861
|
+
|
|
862
|
+
/**
|
|
863
|
+
* Color management configuration shared by both WebGL and WebGPU renderers.
|
|
864
|
+
*/
|
|
865
|
+
interface ColorManagementConfig {
|
|
866
|
+
/**
|
|
867
|
+
* Color space assigned to 8-bit input textures (color maps).
|
|
868
|
+
* Defaults to sRGB. Most textures are authored in sRGB.
|
|
869
|
+
* @default THREE.SRGBColorSpace
|
|
870
|
+
*/
|
|
871
|
+
textureColorSpace?: THREE$1.ColorSpace
|
|
872
|
+
}
|
|
873
|
+
|
|
860
874
|
//* WebGL Renderer Props ==============================
|
|
861
875
|
|
|
862
876
|
type DefaultGLProps = Omit<THREE$1.WebGLRendererParameters, 'canvas'> & {
|
|
@@ -867,7 +881,7 @@ type GLProps =
|
|
|
867
881
|
| Renderer
|
|
868
882
|
| ((defaultProps: DefaultGLProps) => Renderer)
|
|
869
883
|
| ((defaultProps: DefaultGLProps) => Promise<Renderer>)
|
|
870
|
-
| Partial<Properties<THREE$1.WebGLRenderer> | THREE$1.WebGLRendererParameters>
|
|
884
|
+
| (Partial<Properties<THREE$1.WebGLRenderer> | THREE$1.WebGLRendererParameters> & ColorManagementConfig)
|
|
871
885
|
|
|
872
886
|
//* WebGPU Renderer Props ==============================
|
|
873
887
|
|
|
@@ -893,9 +907,9 @@ interface CanvasSchedulerConfig {
|
|
|
893
907
|
}
|
|
894
908
|
|
|
895
909
|
/**
|
|
896
|
-
* Extended renderer configuration for multi-canvas support.
|
|
910
|
+
* Extended renderer configuration for multi-canvas support and color management.
|
|
897
911
|
*/
|
|
898
|
-
interface RendererConfigExtended {
|
|
912
|
+
interface RendererConfigExtended extends ColorManagementConfig {
|
|
899
913
|
/** Share renderer from another canvas (WebGPU only) */
|
|
900
914
|
primaryCanvas?: string
|
|
901
915
|
/** Canvas-level scheduler options */
|
|
@@ -960,8 +974,6 @@ interface RenderProps<TCanvas extends HTMLCanvasElement | OffscreenCanvas$1> {
|
|
|
960
974
|
* @see https://threejs.org/docs/#api/en/renderers/WebGLRenderer.shadowMap
|
|
961
975
|
*/
|
|
962
976
|
shadows?: boolean | 'basic' | 'percentage' | 'soft' | 'variance' | Partial<THREE$1.WebGLShadowMap>
|
|
963
|
-
/** Color space assigned to 8-bit input textures (color maps). Defaults to sRGB. Most textures are authored in sRGB. */
|
|
964
|
-
textureColorSpace?: THREE$1.ColorSpace
|
|
965
977
|
/** Creates an orthographic camera */
|
|
966
978
|
orthographic?: boolean
|
|
967
979
|
/**
|
|
@@ -1214,7 +1226,7 @@ interface CanvasProps
|
|
|
1214
1226
|
*/
|
|
1215
1227
|
resize?: Options
|
|
1216
1228
|
/** The target where events are being subscribed to, default: the div that wraps canvas */
|
|
1217
|
-
eventSource?: HTMLElement | React$1.RefObject<HTMLElement>
|
|
1229
|
+
eventSource?: HTMLElement | React$1.RefObject<HTMLElement | null>
|
|
1218
1230
|
/** The event prefix that is cast into canvas pointer x/y events, default: "offset" */
|
|
1219
1231
|
eventPrefix?: 'offset' | 'client' | 'page' | 'layer' | 'screen'
|
|
1220
1232
|
/** Enable/disable automatic HMR refresh for TSL nodes and uniforms, default: true in dev */
|
|
@@ -4754,4 +4766,4 @@ interface WebGPURootState extends Omit<RootState, 'renderer' | 'gl' | 'internal'
|
|
|
4754
4766
|
}
|
|
4755
4767
|
|
|
4756
4768
|
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, Scheduler, Texture, _roots, act, 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, getScheduler, 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, 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 };
|
|
4757
|
-
export type { Act, AddPhaseOptions, Args, ArgsProp, AttachFnType, AttachType, BackgroundConfig, BackgroundProp, BaseRendererProps, Bridge, BufferCreator, BufferLike, BufferRecord, BufferStore, BuffersWithUtils, Camera, CameraProps, CanvasProps, CanvasSchedulerConfig, Catalogue, ClearBuffersFn, ClearNodesFn, ClearStorageFn, ClearUniformsFn, Color, ComputeFunction, ConstructorRepresentation, CreatorState, DefaultGLProps, DefaultRendererProps, Disposable, DisposeBuffersFn, DisposeStorageFn, DomEvent, Dpr, ElementProps, EnvironmentLoaderProps, EnvironmentProps, EquConfig, Euler, EventHandlers, EventManager, EventProps, Events, Extensions, FiberRoot, FilterFunction, FrameCallback, FrameControls, FrameNextCallback, FrameNextControls, FrameNextState, FrameState, FrameTimingState, 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, RootOptions, WebGPURootState as RootState, RootStore, SchedulerApi, ScopedStoreType, SetBlock, Size, StorageCreator, StorageLike, StorageRecord, StorageStore, StorageWithUtils, Subscription, TSLNode, TSLNodeInput, TextureEntry, TextureOperations, ThreeCamera, ThreeElement, ThreeElements, ThreeElementsImpl, ThreeEvent, ThreeExports, ThreeToJSXElements, UnblockProps, UniformCreator, UniformValue, UniformsWithUtils, UseFrameNextOptions, UseFrameOptions, UseTextureOptions, UseTexturesReturn, Vector2, Vector3, Vector4, VectorRepresentation, Viewport, VisibilityEntry, WebGLDefaultProps, WebGLProps, WebGLShadowConfig, WebGPUDefaultProps, WebGPUProps, WebGPUShadowConfig, XRManager, XRPointerConfig };
|
|
4769
|
+
export type { Act, AddPhaseOptions, 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, DisposeStorageFn, DomEvent, Dpr, ElementProps, EnvironmentLoaderProps, EnvironmentProps, EquConfig, Euler, EventHandlers, EventManager, EventProps, Events, Extensions, FiberRoot, FilterFunction, FrameCallback, FrameControls, FrameNextCallback, FrameNextControls, FrameNextState, FrameState, FrameTimingState, 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, RootOptions, WebGPURootState as RootState, RootStore, SchedulerApi, ScopedStoreType, SetBlock, Size, StorageCreator, StorageLike, StorageRecord, StorageStore, StorageWithUtils, Subscription, TSLNode, TSLNodeInput, TextureEntry, TextureOperations, ThreeCamera, ThreeElement, ThreeElements, ThreeElementsImpl, ThreeEvent, ThreeExports, ThreeToJSXElements, UnblockProps, UniformCreator, UniformValue, UniformsWithUtils, UseFrameNextOptions, UseFrameOptions, UseTextureOptions, UseTexturesReturn, Vector2, Vector3, Vector4, VectorRepresentation, Viewport, VisibilityEntry, WebGLDefaultProps, WebGLProps, WebGLShadowConfig, WebGPUDefaultProps, WebGPUProps, WebGPUShadowConfig, XRManager, XRPointerConfig };
|
package/dist/webgpu/index.d.ts
CHANGED
|
@@ -857,6 +857,20 @@ interface Renderer {
|
|
|
857
857
|
render: (scene: THREE$1.Scene, camera: THREE$1.Camera) => any
|
|
858
858
|
}
|
|
859
859
|
|
|
860
|
+
//* Color Management Config ==============================
|
|
861
|
+
|
|
862
|
+
/**
|
|
863
|
+
* Color management configuration shared by both WebGL and WebGPU renderers.
|
|
864
|
+
*/
|
|
865
|
+
interface ColorManagementConfig {
|
|
866
|
+
/**
|
|
867
|
+
* Color space assigned to 8-bit input textures (color maps).
|
|
868
|
+
* Defaults to sRGB. Most textures are authored in sRGB.
|
|
869
|
+
* @default THREE.SRGBColorSpace
|
|
870
|
+
*/
|
|
871
|
+
textureColorSpace?: THREE$1.ColorSpace
|
|
872
|
+
}
|
|
873
|
+
|
|
860
874
|
//* WebGL Renderer Props ==============================
|
|
861
875
|
|
|
862
876
|
type DefaultGLProps = Omit<THREE$1.WebGLRendererParameters, 'canvas'> & {
|
|
@@ -867,7 +881,7 @@ type GLProps =
|
|
|
867
881
|
| Renderer
|
|
868
882
|
| ((defaultProps: DefaultGLProps) => Renderer)
|
|
869
883
|
| ((defaultProps: DefaultGLProps) => Promise<Renderer>)
|
|
870
|
-
| Partial<Properties<THREE$1.WebGLRenderer> | THREE$1.WebGLRendererParameters>
|
|
884
|
+
| (Partial<Properties<THREE$1.WebGLRenderer> | THREE$1.WebGLRendererParameters> & ColorManagementConfig)
|
|
871
885
|
|
|
872
886
|
//* WebGPU Renderer Props ==============================
|
|
873
887
|
|
|
@@ -893,9 +907,9 @@ interface CanvasSchedulerConfig {
|
|
|
893
907
|
}
|
|
894
908
|
|
|
895
909
|
/**
|
|
896
|
-
* Extended renderer configuration for multi-canvas support.
|
|
910
|
+
* Extended renderer configuration for multi-canvas support and color management.
|
|
897
911
|
*/
|
|
898
|
-
interface RendererConfigExtended {
|
|
912
|
+
interface RendererConfigExtended extends ColorManagementConfig {
|
|
899
913
|
/** Share renderer from another canvas (WebGPU only) */
|
|
900
914
|
primaryCanvas?: string
|
|
901
915
|
/** Canvas-level scheduler options */
|
|
@@ -960,8 +974,6 @@ interface RenderProps<TCanvas extends HTMLCanvasElement | OffscreenCanvas$1> {
|
|
|
960
974
|
* @see https://threejs.org/docs/#api/en/renderers/WebGLRenderer.shadowMap
|
|
961
975
|
*/
|
|
962
976
|
shadows?: boolean | 'basic' | 'percentage' | 'soft' | 'variance' | Partial<THREE$1.WebGLShadowMap>
|
|
963
|
-
/** Color space assigned to 8-bit input textures (color maps). Defaults to sRGB. Most textures are authored in sRGB. */
|
|
964
|
-
textureColorSpace?: THREE$1.ColorSpace
|
|
965
977
|
/** Creates an orthographic camera */
|
|
966
978
|
orthographic?: boolean
|
|
967
979
|
/**
|
|
@@ -1214,7 +1226,7 @@ interface CanvasProps
|
|
|
1214
1226
|
*/
|
|
1215
1227
|
resize?: Options
|
|
1216
1228
|
/** The target where events are being subscribed to, default: the div that wraps canvas */
|
|
1217
|
-
eventSource?: HTMLElement | React$1.RefObject<HTMLElement>
|
|
1229
|
+
eventSource?: HTMLElement | React$1.RefObject<HTMLElement | null>
|
|
1218
1230
|
/** The event prefix that is cast into canvas pointer x/y events, default: "offset" */
|
|
1219
1231
|
eventPrefix?: 'offset' | 'client' | 'page' | 'layer' | 'screen'
|
|
1220
1232
|
/** Enable/disable automatic HMR refresh for TSL nodes and uniforms, default: true in dev */
|
|
@@ -4754,4 +4766,4 @@ interface WebGPURootState extends Omit<RootState, 'renderer' | 'gl' | 'internal'
|
|
|
4754
4766
|
}
|
|
4755
4767
|
|
|
4756
4768
|
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, Scheduler, Texture, _roots, act, 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, getScheduler, 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, 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 };
|
|
4757
|
-
export type { Act, AddPhaseOptions, Args, ArgsProp, AttachFnType, AttachType, BackgroundConfig, BackgroundProp, BaseRendererProps, Bridge, BufferCreator, BufferLike, BufferRecord, BufferStore, BuffersWithUtils, Camera, CameraProps, CanvasProps, CanvasSchedulerConfig, Catalogue, ClearBuffersFn, ClearNodesFn, ClearStorageFn, ClearUniformsFn, Color, ComputeFunction, ConstructorRepresentation, CreatorState, DefaultGLProps, DefaultRendererProps, Disposable, DisposeBuffersFn, DisposeStorageFn, DomEvent, Dpr, ElementProps, EnvironmentLoaderProps, EnvironmentProps, EquConfig, Euler, EventHandlers, EventManager, EventProps, Events, Extensions, FiberRoot, FilterFunction, FrameCallback, FrameControls, FrameNextCallback, FrameNextControls, FrameNextState, FrameState, FrameTimingState, 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, RootOptions, WebGPURootState as RootState, RootStore, SchedulerApi, ScopedStoreType, SetBlock, Size, StorageCreator, StorageLike, StorageRecord, StorageStore, StorageWithUtils, Subscription, TSLNode, TSLNodeInput, TextureEntry, TextureOperations, ThreeCamera, ThreeElement, ThreeElements, ThreeElementsImpl, ThreeEvent, ThreeExports, ThreeToJSXElements, UnblockProps, UniformCreator, UniformValue, UniformsWithUtils, UseFrameNextOptions, UseFrameOptions, UseTextureOptions, UseTexturesReturn, Vector2, Vector3, Vector4, VectorRepresentation, Viewport, VisibilityEntry, WebGLDefaultProps, WebGLProps, WebGLShadowConfig, WebGPUDefaultProps, WebGPUProps, WebGPUShadowConfig, XRManager, XRPointerConfig };
|
|
4769
|
+
export type { Act, AddPhaseOptions, 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, DisposeStorageFn, DomEvent, Dpr, ElementProps, EnvironmentLoaderProps, EnvironmentProps, EquConfig, Euler, EventHandlers, EventManager, EventProps, Events, Extensions, FiberRoot, FilterFunction, FrameCallback, FrameControls, FrameNextCallback, FrameNextControls, FrameNextState, FrameState, FrameTimingState, 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, RootOptions, WebGPURootState as RootState, RootStore, SchedulerApi, ScopedStoreType, SetBlock, Size, StorageCreator, StorageLike, StorageRecord, StorageStore, StorageWithUtils, Subscription, TSLNode, TSLNodeInput, TextureEntry, TextureOperations, ThreeCamera, ThreeElement, ThreeElements, ThreeElementsImpl, ThreeEvent, ThreeExports, ThreeToJSXElements, UnblockProps, UniformCreator, UniformValue, UniformsWithUtils, UseFrameNextOptions, UseFrameOptions, UseTextureOptions, UseTexturesReturn, Vector2, Vector3, Vector4, VectorRepresentation, Viewport, VisibilityEntry, WebGLDefaultProps, WebGLProps, WebGLShadowConfig, WebGPUDefaultProps, WebGPUProps, WebGPUShadowConfig, XRManager, XRPointerConfig };
|
package/dist/webgpu/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as webgpu from 'three/webgpu';
|
|
2
|
-
import { RenderTarget, CubeReflectionMapping, EquirectangularReflectionMapping, CubeTextureLoader, Scene, WebGLCubeRenderTarget, HalfFloatType, Color, Frustum, Matrix4, Group, BoxGeometry, MeshBasicNodeMaterial, Mesh, Node, NodeUpdateType, Layers, SRGBColorSpace, RGBAFormat, UnsignedByteType, Vector3, Vector2, TextureLoader, Texture as Texture$1, CanvasTarget, Raycaster, OrthographicCamera, PerspectiveCamera,
|
|
2
|
+
import { RenderTarget, CubeReflectionMapping, EquirectangularReflectionMapping, CubeTextureLoader, Scene, WebGLCubeRenderTarget, HalfFloatType, Color, Frustum, Matrix4, Group, BoxGeometry, MeshBasicNodeMaterial, Mesh, Node, NodeUpdateType, Layers, SRGBColorSpace, RGBAFormat, UnsignedByteType, Vector3, Vector2, TextureLoader, Texture as Texture$1, CanvasTarget, Raycaster, OrthographicCamera, PerspectiveCamera, PCFShadowMap, VSMShadowMap, BasicShadowMap, ACESFilmicToneMapping, WebGPURenderer, Vector4, PostProcessing } from 'three/webgpu';
|
|
3
3
|
import { Inspector } from 'three/addons/inspector/Inspector.js';
|
|
4
4
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
5
5
|
import * as React from 'react';
|
|
@@ -149,7 +149,7 @@ function useEnvironment({
|
|
|
149
149
|
useLoader$1.clear(loader, multiFile ? [files] : files);
|
|
150
150
|
}
|
|
151
151
|
renderer.domElement.addEventListener("webglcontextlost", clearGainmapTexture, { once: true });
|
|
152
|
-
}, [files, renderer.domElement]);
|
|
152
|
+
}, [extension, files, loader, multiFile, renderer.domElement]);
|
|
153
153
|
const loaderResult = useLoader$1(
|
|
154
154
|
loader,
|
|
155
155
|
multiFile ? [files] : files,
|
|
@@ -349,7 +349,22 @@ function EnvironmentPortal({
|
|
|
349
349
|
environmentIntensity,
|
|
350
350
|
environmentRotation
|
|
351
351
|
});
|
|
352
|
-
}, [
|
|
352
|
+
}, [
|
|
353
|
+
children,
|
|
354
|
+
virtualScene,
|
|
355
|
+
fbo.texture,
|
|
356
|
+
scene,
|
|
357
|
+
defaultScene,
|
|
358
|
+
background,
|
|
359
|
+
frames,
|
|
360
|
+
gl,
|
|
361
|
+
blur,
|
|
362
|
+
backgroundBlurriness,
|
|
363
|
+
backgroundIntensity,
|
|
364
|
+
backgroundRotation,
|
|
365
|
+
environmentIntensity,
|
|
366
|
+
environmentRotation
|
|
367
|
+
]);
|
|
353
368
|
let count = 1;
|
|
354
369
|
useFrame$1(() => {
|
|
355
370
|
if (frames === Infinity || count < frames) {
|
|
@@ -1276,7 +1291,7 @@ function createEvents(store) {
|
|
|
1276
1291
|
}
|
|
1277
1292
|
function processDeferredPointer(event, pointerId) {
|
|
1278
1293
|
const state = store.getState();
|
|
1279
|
-
const {
|
|
1294
|
+
const { internal } = state;
|
|
1280
1295
|
if (!state.events.enabled) return;
|
|
1281
1296
|
const filter = filterPointerEvents;
|
|
1282
1297
|
const hits = intersect(event, filter);
|
|
@@ -1511,6 +1526,7 @@ function createPointerEvents(store) {
|
|
|
1511
1526
|
}
|
|
1512
1527
|
},
|
|
1513
1528
|
connect: (target) => {
|
|
1529
|
+
if (!target) return;
|
|
1514
1530
|
const { set, events } = store.getState();
|
|
1515
1531
|
events.disconnect?.();
|
|
1516
1532
|
set((state) => ({ events: { ...state.events, connected: target } }));
|
|
@@ -1873,7 +1889,7 @@ function shouldRun(job, now) {
|
|
|
1873
1889
|
const minInterval = 1e3 / job.fps;
|
|
1874
1890
|
const lastRun = job.lastRun ?? 0;
|
|
1875
1891
|
const elapsed = now - lastRun;
|
|
1876
|
-
if (elapsed < minInterval) return false;
|
|
1892
|
+
if (elapsed < minInterval - 1) return false;
|
|
1877
1893
|
if (job.drop) {
|
|
1878
1894
|
job.lastRun = now;
|
|
1879
1895
|
} else {
|
|
@@ -2900,14 +2916,16 @@ const createStore = (invalidate, advance) => {
|
|
|
2900
2916
|
oldSize = size;
|
|
2901
2917
|
oldDpr = viewport.dpr;
|
|
2902
2918
|
updateCamera(camera, size);
|
|
2903
|
-
if (canvasTarget) {
|
|
2919
|
+
if (internal.isSecondary && canvasTarget) {
|
|
2904
2920
|
if (viewport.dpr > 0) canvasTarget.setPixelRatio(viewport.dpr);
|
|
2905
|
-
|
|
2906
|
-
canvasTarget.setSize(size.width, size.height, updateStyle);
|
|
2921
|
+
canvasTarget.setSize(size.width, size.height, false);
|
|
2907
2922
|
} else {
|
|
2908
2923
|
if (viewport.dpr > 0) actualRenderer.setPixelRatio(viewport.dpr);
|
|
2909
|
-
|
|
2910
|
-
|
|
2924
|
+
actualRenderer.setSize(size.width, size.height, false);
|
|
2925
|
+
if (canvasTarget) {
|
|
2926
|
+
if (viewport.dpr > 0) canvasTarget.setPixelRatio(viewport.dpr);
|
|
2927
|
+
canvasTarget.setSize(size.width, size.height, false);
|
|
2928
|
+
}
|
|
2911
2929
|
}
|
|
2912
2930
|
}
|
|
2913
2931
|
if (camera !== oldCamera) {
|
|
@@ -15192,7 +15210,6 @@ function createRoot(canvas) {
|
|
|
15192
15210
|
events,
|
|
15193
15211
|
onCreated: onCreatedCallback,
|
|
15194
15212
|
shadows = false,
|
|
15195
|
-
textureColorSpace = SRGBColorSpace,
|
|
15196
15213
|
orthographic = false,
|
|
15197
15214
|
frameloop = "always",
|
|
15198
15215
|
dpr = [1, 2],
|
|
@@ -15207,6 +15224,7 @@ function createRoot(canvas) {
|
|
|
15207
15224
|
_sizeProps,
|
|
15208
15225
|
forceEven
|
|
15209
15226
|
} = props;
|
|
15227
|
+
const textureColorSpace = is.obj(glConfig) && !is.fun(glConfig) && !isRenderer(glConfig) && glConfig.textureColorSpace || is.obj(rendererConfig) && !is.fun(rendererConfig) && !isRenderer(rendererConfig) && rendererConfig.textureColorSpace || SRGBColorSpace;
|
|
15210
15228
|
const state = store.getState();
|
|
15211
15229
|
const defaultGPUProps = {
|
|
15212
15230
|
canvas,
|
|
@@ -15359,7 +15377,7 @@ function createRoot(canvas) {
|
|
|
15359
15377
|
lastConfiguredProps.performance = performance;
|
|
15360
15378
|
}
|
|
15361
15379
|
if (!state.xr) {
|
|
15362
|
-
const handleXRFrame = (timestamp,
|
|
15380
|
+
const handleXRFrame = (timestamp, _frame) => {
|
|
15363
15381
|
const state2 = store.getState();
|
|
15364
15382
|
if (state2.frameloop === "never") return;
|
|
15365
15383
|
advance(timestamp);
|
|
@@ -15395,15 +15413,22 @@ function createRoot(canvas) {
|
|
|
15395
15413
|
const oldType = renderer.shadowMap.type;
|
|
15396
15414
|
renderer.shadowMap.enabled = !!shadows;
|
|
15397
15415
|
if (is.boo(shadows)) {
|
|
15398
|
-
renderer.shadowMap.type =
|
|
15416
|
+
renderer.shadowMap.type = PCFShadowMap;
|
|
15399
15417
|
} else if (is.str(shadows)) {
|
|
15418
|
+
if (shadows === "soft") {
|
|
15419
|
+
notifyDepreciated({
|
|
15420
|
+
heading: 'shadows="soft" is deprecated',
|
|
15421
|
+
body: "Three has depreciated soft and improved basic PCFShadows, we converted for you.",
|
|
15422
|
+
link: "https://github.com/mrdoob/three.js/wiki/Migration-Guide?utm_source=chatgpt.com#181--182"
|
|
15423
|
+
});
|
|
15424
|
+
}
|
|
15400
15425
|
const types = {
|
|
15401
15426
|
basic: BasicShadowMap,
|
|
15402
15427
|
percentage: PCFShadowMap,
|
|
15403
|
-
soft:
|
|
15428
|
+
soft: PCFShadowMap,
|
|
15404
15429
|
variance: VSMShadowMap
|
|
15405
15430
|
};
|
|
15406
|
-
renderer.shadowMap.type = types[shadows] ??
|
|
15431
|
+
renderer.shadowMap.type = types[shadows] ?? PCFShadowMap;
|
|
15407
15432
|
} else if (is.obj(shadows)) {
|
|
15408
15433
|
Object.assign(renderer.shadowMap, shadows);
|
|
15409
15434
|
}
|
|
@@ -15419,13 +15444,24 @@ function createRoot(canvas) {
|
|
|
15419
15444
|
if (state.textureColorSpace !== textureColorSpace) state.set(() => ({ textureColorSpace }));
|
|
15420
15445
|
lastConfiguredProps.textureColorSpace = textureColorSpace;
|
|
15421
15446
|
}
|
|
15447
|
+
const r3fProps = ["textureColorSpace"];
|
|
15448
|
+
const constructorOnlyProps = ["samples", "antialias", "alpha", "canvas", "powerPreference"];
|
|
15449
|
+
const nonApplyProps = [...r3fProps, ...constructorOnlyProps];
|
|
15422
15450
|
if (glConfig && !is.fun(glConfig) && !isRenderer(glConfig) && !is.equ(glConfig, renderer, shallowLoose)) {
|
|
15423
|
-
|
|
15451
|
+
const glProps = {};
|
|
15452
|
+
for (const key in glConfig) {
|
|
15453
|
+
if (!nonApplyProps.includes(key)) glProps[key] = glConfig[key];
|
|
15454
|
+
}
|
|
15455
|
+
applyProps(renderer, glProps);
|
|
15424
15456
|
}
|
|
15425
15457
|
if (rendererConfig && !is.fun(rendererConfig) && !isRenderer(rendererConfig) && state.renderer) {
|
|
15426
15458
|
const currentRenderer = state.renderer;
|
|
15427
15459
|
if (!is.equ(rendererConfig, currentRenderer, shallowLoose)) {
|
|
15428
|
-
|
|
15460
|
+
const rendererProps = {};
|
|
15461
|
+
for (const key in rendererConfig) {
|
|
15462
|
+
if (!nonApplyProps.includes(key)) rendererProps[key] = rendererConfig[key];
|
|
15463
|
+
}
|
|
15464
|
+
applyProps(currentRenderer, rendererProps);
|
|
15429
15465
|
}
|
|
15430
15466
|
}
|
|
15431
15467
|
const scheduler = getScheduler();
|
|
@@ -15739,8 +15775,18 @@ function CanvasImpl({
|
|
|
15739
15775
|
forceEven,
|
|
15740
15776
|
...props
|
|
15741
15777
|
}) {
|
|
15742
|
-
const
|
|
15743
|
-
|
|
15778
|
+
const isRendererConfig = typeof rendererProp === "object" && rendererProp !== null && !("render" in rendererProp) && ("primaryCanvas" in rendererProp || "scheduler" in rendererProp);
|
|
15779
|
+
let primaryCanvas;
|
|
15780
|
+
let scheduler;
|
|
15781
|
+
let renderer;
|
|
15782
|
+
if (isRendererConfig) {
|
|
15783
|
+
const { primaryCanvas: pc, scheduler: sc, ...rest } = rendererProp;
|
|
15784
|
+
primaryCanvas = pc;
|
|
15785
|
+
scheduler = sc;
|
|
15786
|
+
renderer = Object.keys(rest).length > 0 ? rest : rendererProp;
|
|
15787
|
+
} else {
|
|
15788
|
+
renderer = rendererProp;
|
|
15789
|
+
}
|
|
15744
15790
|
React.useMemo(() => extend(THREE), []);
|
|
15745
15791
|
const Bridge = useBridge();
|
|
15746
15792
|
const backgroundProps = React.useMemo(() => {
|
|
@@ -15950,7 +15996,16 @@ function CanvasImpl({
|
|
|
15950
15996
|
...style
|
|
15951
15997
|
},
|
|
15952
15998
|
...props,
|
|
15953
|
-
children: /* @__PURE__ */ jsx("div", { ref: containerRef, className: "r3f-canvas-container", style: { width: "100%", height: "100%" }, children: /* @__PURE__ */ jsx(
|
|
15999
|
+
children: /* @__PURE__ */ jsx("div", { ref: containerRef, className: "r3f-canvas-container", style: { width: "100%", height: "100%" }, children: /* @__PURE__ */ jsx(
|
|
16000
|
+
"canvas",
|
|
16001
|
+
{
|
|
16002
|
+
ref: canvasRef,
|
|
16003
|
+
id,
|
|
16004
|
+
className: "r3f-canvas",
|
|
16005
|
+
style: { display: "block", width: "100%", height: "100%" },
|
|
16006
|
+
children: fallback
|
|
16007
|
+
}
|
|
16008
|
+
) })
|
|
15954
16009
|
}
|
|
15955
16010
|
);
|
|
15956
16011
|
}
|