@react-three/fiber 8.6.0 → 8.7.0

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.
@@ -1,11 +1,11 @@
1
- import * as React from 'react';
2
- import type { Options as ResizeOptions } from 'react-use-measure';
3
- import { RenderProps } from '../core';
4
- export interface Props extends Omit<RenderProps<HTMLCanvasElement>, 'size'>, React.HTMLAttributes<HTMLDivElement> {
5
- children: React.ReactNode;
6
- fallback?: React.ReactNode;
7
- resize?: ResizeOptions;
8
- eventSource?: HTMLElement;
9
- eventPrefix?: 'offset' | 'client' | 'page' | 'layer' | 'screen';
10
- }
11
- export declare const Canvas: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLCanvasElement>>;
1
+ import * as React from 'react';
2
+ import type { Options as ResizeOptions } from 'react-use-measure';
3
+ import { RenderProps } from '../core';
4
+ export interface Props extends Omit<RenderProps<HTMLCanvasElement>, 'size'>, React.HTMLAttributes<HTMLDivElement> {
5
+ children: React.ReactNode;
6
+ fallback?: React.ReactNode;
7
+ resize?: ResizeOptions;
8
+ eventSource?: HTMLElement;
9
+ eventPrefix?: 'offset' | 'client' | 'page' | 'layer' | 'screen';
10
+ }
11
+ export declare const Canvas: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLCanvasElement>>;
@@ -1,4 +1,4 @@
1
- import { UseBoundStore } from 'zustand';
2
- import { RootState } from '../core/store';
3
- import { EventManager } from '../core/events';
4
- export declare function createPointerEvents(store: UseBoundStore<RootState>): EventManager<HTMLElement>;
1
+ import { UseBoundStore } from 'zustand';
2
+ import { RootState } from '../core/store';
3
+ import { EventManager } from '../core/events';
4
+ export declare function createPointerEvents(store: UseBoundStore<RootState>): EventManager<HTMLElement>;
@@ -1063,8 +1063,10 @@ function createRenderer(_roots, _getEventPriority) {
1063
1063
  supportsHydration: false,
1064
1064
  noTimeout: -1,
1065
1065
  appendChildToContainer: (container, child) => {
1066
- if (!child) return;
1067
- const scene = container.getState().scene; // Link current root to the default scene
1066
+ if (!child) return; // Don't append to unmounted container
1067
+
1068
+ const scene = container.getState().scene;
1069
+ if (!scene.__r3f) return; // Link current root to the default scene
1068
1070
 
1069
1071
  scene.__r3f.root = container;
1070
1072
  appendChild(scene, child);
@@ -1074,8 +1076,11 @@ function createRenderer(_roots, _getEventPriority) {
1074
1076
  removeChild(container.getState().scene, child);
1075
1077
  },
1076
1078
  insertInContainerBefore: (container, child, beforeChild) => {
1077
- if (!child || !beforeChild) return;
1078
- insertBefore(container.getState().scene, child, beforeChild);
1079
+ if (!child || !beforeChild) return; // Don't append to unmounted container
1080
+
1081
+ const scene = container.getState().scene;
1082
+ if (!scene.__r3f) return;
1083
+ insertBefore(scene, child, beforeChild);
1079
1084
  },
1080
1085
  getRootHostContext: () => null,
1081
1086
  getChildHostContext: parentHostContext => parentHostContext,
@@ -1463,11 +1468,24 @@ const addAfterEffect = callback => createSubs(callback, globalAfterEffects);
1463
1468
  const addTail = callback => createSubs(callback, globalTailEffects);
1464
1469
 
1465
1470
  function run(effects, timestamp) {
1471
+ if (!effects.size) return;
1466
1472
  effects.forEach(({
1467
1473
  callback
1468
1474
  }) => callback(timestamp));
1469
1475
  }
1470
1476
 
1477
+ function flushGlobalEffects(type, timestamp) {
1478
+ switch (type) {
1479
+ case 'before':
1480
+ return run(globalEffects, timestamp);
1481
+
1482
+ case 'after':
1483
+ return run(globalAfterEffects, timestamp);
1484
+
1485
+ case 'tail':
1486
+ return run(globalTailEffects, timestamp);
1487
+ }
1488
+ }
1471
1489
  let subscribers;
1472
1490
  let subscription;
1473
1491
 
@@ -1507,7 +1525,7 @@ function createLoop(roots) {
1507
1525
  running = true;
1508
1526
  repeat = 0; // Run effects
1509
1527
 
1510
- if (globalEffects.size) run(globalEffects, timestamp); // Render all roots
1528
+ flushGlobalEffects('before', timestamp); // Render all roots
1511
1529
 
1512
1530
  roots.forEach(root => {
1513
1531
  var _state$gl$xr;
@@ -1519,11 +1537,11 @@ function createLoop(roots) {
1519
1537
  }
1520
1538
  }); // Run after-effects
1521
1539
 
1522
- if (globalAfterEffects.size) run(globalAfterEffects, timestamp); // Stop the loop if nothing invalidates it
1540
+ flushGlobalEffects('after', timestamp); // Stop the loop if nothing invalidates it
1523
1541
 
1524
1542
  if (repeat === 0) {
1525
1543
  // Tail call effects, they are called when rendering stops
1526
- if (globalTailEffects.size) run(globalTailEffects, timestamp); // Flag end of operation
1544
+ flushGlobalEffects('tail', timestamp); // Flag end of operation
1527
1545
 
1528
1546
  running = false;
1529
1547
  return cancelAnimationFrame(frame);
@@ -1545,9 +1563,9 @@ function createLoop(roots) {
1545
1563
  }
1546
1564
 
1547
1565
  function advance(timestamp, runGlobalEffects = true, state, frame) {
1548
- if (runGlobalEffects) run(globalEffects, timestamp);
1566
+ if (runGlobalEffects) flushGlobalEffects('before', timestamp);
1549
1567
  if (!state) roots.forEach(root => render$1(timestamp, root.store.getState()));else render$1(timestamp, state, frame);
1550
- if (runGlobalEffects) run(globalAfterEffects, timestamp);
1568
+ if (runGlobalEffects) flushGlobalEffects('after', timestamp);
1551
1569
  }
1552
1570
 
1553
1571
  return {
@@ -1567,6 +1585,17 @@ function createLoop(roots) {
1567
1585
  };
1568
1586
  }
1569
1587
 
1588
+ /**
1589
+ * Exposes an object's {@link LocalState}.
1590
+ * @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#useInstanceHandle
1591
+ *
1592
+ * **Note**: this is an escape hatch to react-internal fields. Expect this to change significantly between versions.
1593
+ */
1594
+ function useInstanceHandle(ref) {
1595
+ const instance = React.useRef(null);
1596
+ useIsomorphicLayoutEffect(() => void (instance.current = ref.current.__r3f), [ref]);
1597
+ return instance;
1598
+ }
1570
1599
  function useStore() {
1571
1600
  const store = React.useContext(context);
1572
1601
  if (!store) throw new Error('R3F: Hooks can only be used within the Canvas component!');
@@ -2100,4 +2129,4 @@ reconciler.injectIntoDevTools({
2100
2129
  });
2101
2130
  const act = React.unstable_act;
2102
2131
 
2103
- export { Block as B, ErrorBoundary as E, createRoot as a, useIsomorphicLayoutEffect as b, createEvents as c, unmountComponentAtNode as d, extend as e, context as f, createPortal as g, reconciler as h, applyProps as i, dispose as j, invalidate as k, advance as l, addEffect as m, addAfterEffect as n, addTail as o, getRootState as p, act as q, render as r, roots as s, threeTypes as t, useMutableCallback as u, useStore as v, useThree as w, useFrame as x, useGraph as y, useLoader as z };
2132
+ export { useLoader as A, Block as B, ErrorBoundary as E, createRoot as a, useIsomorphicLayoutEffect as b, createEvents as c, unmountComponentAtNode as d, extend as e, context as f, createPortal as g, reconciler as h, applyProps as i, dispose as j, invalidate as k, advance as l, addEffect as m, addAfterEffect as n, addTail as o, getRootState as p, act as q, render as r, roots as s, threeTypes as t, useMutableCallback as u, useInstanceHandle as v, useStore as w, useThree as x, useFrame as y, useGraph as z };
@@ -1090,8 +1090,10 @@ function createRenderer(_roots, _getEventPriority) {
1090
1090
  supportsHydration: false,
1091
1091
  noTimeout: -1,
1092
1092
  appendChildToContainer: (container, child) => {
1093
- if (!child) return;
1094
- const scene = container.getState().scene; // Link current root to the default scene
1093
+ if (!child) return; // Don't append to unmounted container
1094
+
1095
+ const scene = container.getState().scene;
1096
+ if (!scene.__r3f) return; // Link current root to the default scene
1095
1097
 
1096
1098
  scene.__r3f.root = container;
1097
1099
  appendChild(scene, child);
@@ -1101,8 +1103,11 @@ function createRenderer(_roots, _getEventPriority) {
1101
1103
  removeChild(container.getState().scene, child);
1102
1104
  },
1103
1105
  insertInContainerBefore: (container, child, beforeChild) => {
1104
- if (!child || !beforeChild) return;
1105
- insertBefore(container.getState().scene, child, beforeChild);
1106
+ if (!child || !beforeChild) return; // Don't append to unmounted container
1107
+
1108
+ const scene = container.getState().scene;
1109
+ if (!scene.__r3f) return;
1110
+ insertBefore(scene, child, beforeChild);
1106
1111
  },
1107
1112
  getRootHostContext: () => null,
1108
1113
  getChildHostContext: parentHostContext => parentHostContext,
@@ -1490,11 +1495,24 @@ const addAfterEffect = callback => createSubs(callback, globalAfterEffects);
1490
1495
  const addTail = callback => createSubs(callback, globalTailEffects);
1491
1496
 
1492
1497
  function run(effects, timestamp) {
1498
+ if (!effects.size) return;
1493
1499
  effects.forEach(({
1494
1500
  callback
1495
1501
  }) => callback(timestamp));
1496
1502
  }
1497
1503
 
1504
+ function flushGlobalEffects(type, timestamp) {
1505
+ switch (type) {
1506
+ case 'before':
1507
+ return run(globalEffects, timestamp);
1508
+
1509
+ case 'after':
1510
+ return run(globalAfterEffects, timestamp);
1511
+
1512
+ case 'tail':
1513
+ return run(globalTailEffects, timestamp);
1514
+ }
1515
+ }
1498
1516
  let subscribers;
1499
1517
  let subscription;
1500
1518
 
@@ -1534,7 +1552,7 @@ function createLoop(roots) {
1534
1552
  running = true;
1535
1553
  repeat = 0; // Run effects
1536
1554
 
1537
- if (globalEffects.size) run(globalEffects, timestamp); // Render all roots
1555
+ flushGlobalEffects('before', timestamp); // Render all roots
1538
1556
 
1539
1557
  roots.forEach(root => {
1540
1558
  var _state$gl$xr;
@@ -1546,11 +1564,11 @@ function createLoop(roots) {
1546
1564
  }
1547
1565
  }); // Run after-effects
1548
1566
 
1549
- if (globalAfterEffects.size) run(globalAfterEffects, timestamp); // Stop the loop if nothing invalidates it
1567
+ flushGlobalEffects('after', timestamp); // Stop the loop if nothing invalidates it
1550
1568
 
1551
1569
  if (repeat === 0) {
1552
1570
  // Tail call effects, they are called when rendering stops
1553
- if (globalTailEffects.size) run(globalTailEffects, timestamp); // Flag end of operation
1571
+ flushGlobalEffects('tail', timestamp); // Flag end of operation
1554
1572
 
1555
1573
  running = false;
1556
1574
  return cancelAnimationFrame(frame);
@@ -1572,9 +1590,9 @@ function createLoop(roots) {
1572
1590
  }
1573
1591
 
1574
1592
  function advance(timestamp, runGlobalEffects = true, state, frame) {
1575
- if (runGlobalEffects) run(globalEffects, timestamp);
1593
+ if (runGlobalEffects) flushGlobalEffects('before', timestamp);
1576
1594
  if (!state) roots.forEach(root => render$1(timestamp, root.store.getState()));else render$1(timestamp, state, frame);
1577
- if (runGlobalEffects) run(globalAfterEffects, timestamp);
1595
+ if (runGlobalEffects) flushGlobalEffects('after', timestamp);
1578
1596
  }
1579
1597
 
1580
1598
  return {
@@ -1594,6 +1612,17 @@ function createLoop(roots) {
1594
1612
  };
1595
1613
  }
1596
1614
 
1615
+ /**
1616
+ * Exposes an object's {@link LocalState}.
1617
+ * @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#useInstanceHandle
1618
+ *
1619
+ * **Note**: this is an escape hatch to react-internal fields. Expect this to change significantly between versions.
1620
+ */
1621
+ function useInstanceHandle(ref) {
1622
+ const instance = React__namespace.useRef(null);
1623
+ useIsomorphicLayoutEffect(() => void (instance.current = ref.current.__r3f), [ref]);
1624
+ return instance;
1625
+ }
1597
1626
  function useStore() {
1598
1627
  const store = React__namespace.useContext(context);
1599
1628
  if (!store) throw new Error('R3F: Hooks can only be used within the Canvas component!');
@@ -2150,6 +2179,7 @@ exports.threeTypes = threeTypes;
2150
2179
  exports.unmountComponentAtNode = unmountComponentAtNode;
2151
2180
  exports.useFrame = useFrame;
2152
2181
  exports.useGraph = useGraph;
2182
+ exports.useInstanceHandle = useInstanceHandle;
2153
2183
  exports.useIsomorphicLayoutEffect = useIsomorphicLayoutEffect;
2154
2184
  exports.useLoader = useLoader;
2155
2185
  exports.useMutableCallback = useMutableCallback;
@@ -1090,8 +1090,10 @@ function createRenderer(_roots, _getEventPriority) {
1090
1090
  supportsHydration: false,
1091
1091
  noTimeout: -1,
1092
1092
  appendChildToContainer: (container, child) => {
1093
- if (!child) return;
1094
- const scene = container.getState().scene; // Link current root to the default scene
1093
+ if (!child) return; // Don't append to unmounted container
1094
+
1095
+ const scene = container.getState().scene;
1096
+ if (!scene.__r3f) return; // Link current root to the default scene
1095
1097
 
1096
1098
  scene.__r3f.root = container;
1097
1099
  appendChild(scene, child);
@@ -1101,8 +1103,11 @@ function createRenderer(_roots, _getEventPriority) {
1101
1103
  removeChild(container.getState().scene, child);
1102
1104
  },
1103
1105
  insertInContainerBefore: (container, child, beforeChild) => {
1104
- if (!child || !beforeChild) return;
1105
- insertBefore(container.getState().scene, child, beforeChild);
1106
+ if (!child || !beforeChild) return; // Don't append to unmounted container
1107
+
1108
+ const scene = container.getState().scene;
1109
+ if (!scene.__r3f) return;
1110
+ insertBefore(scene, child, beforeChild);
1106
1111
  },
1107
1112
  getRootHostContext: () => null,
1108
1113
  getChildHostContext: parentHostContext => parentHostContext,
@@ -1490,11 +1495,24 @@ const addAfterEffect = callback => createSubs(callback, globalAfterEffects);
1490
1495
  const addTail = callback => createSubs(callback, globalTailEffects);
1491
1496
 
1492
1497
  function run(effects, timestamp) {
1498
+ if (!effects.size) return;
1493
1499
  effects.forEach(({
1494
1500
  callback
1495
1501
  }) => callback(timestamp));
1496
1502
  }
1497
1503
 
1504
+ function flushGlobalEffects(type, timestamp) {
1505
+ switch (type) {
1506
+ case 'before':
1507
+ return run(globalEffects, timestamp);
1508
+
1509
+ case 'after':
1510
+ return run(globalAfterEffects, timestamp);
1511
+
1512
+ case 'tail':
1513
+ return run(globalTailEffects, timestamp);
1514
+ }
1515
+ }
1498
1516
  let subscribers;
1499
1517
  let subscription;
1500
1518
 
@@ -1534,7 +1552,7 @@ function createLoop(roots) {
1534
1552
  running = true;
1535
1553
  repeat = 0; // Run effects
1536
1554
 
1537
- if (globalEffects.size) run(globalEffects, timestamp); // Render all roots
1555
+ flushGlobalEffects('before', timestamp); // Render all roots
1538
1556
 
1539
1557
  roots.forEach(root => {
1540
1558
  var _state$gl$xr;
@@ -1546,11 +1564,11 @@ function createLoop(roots) {
1546
1564
  }
1547
1565
  }); // Run after-effects
1548
1566
 
1549
- if (globalAfterEffects.size) run(globalAfterEffects, timestamp); // Stop the loop if nothing invalidates it
1567
+ flushGlobalEffects('after', timestamp); // Stop the loop if nothing invalidates it
1550
1568
 
1551
1569
  if (repeat === 0) {
1552
1570
  // Tail call effects, they are called when rendering stops
1553
- if (globalTailEffects.size) run(globalTailEffects, timestamp); // Flag end of operation
1571
+ flushGlobalEffects('tail', timestamp); // Flag end of operation
1554
1572
 
1555
1573
  running = false;
1556
1574
  return cancelAnimationFrame(frame);
@@ -1572,9 +1590,9 @@ function createLoop(roots) {
1572
1590
  }
1573
1591
 
1574
1592
  function advance(timestamp, runGlobalEffects = true, state, frame) {
1575
- if (runGlobalEffects) run(globalEffects, timestamp);
1593
+ if (runGlobalEffects) flushGlobalEffects('before', timestamp);
1576
1594
  if (!state) roots.forEach(root => render$1(timestamp, root.store.getState()));else render$1(timestamp, state, frame);
1577
- if (runGlobalEffects) run(globalAfterEffects, timestamp);
1595
+ if (runGlobalEffects) flushGlobalEffects('after', timestamp);
1578
1596
  }
1579
1597
 
1580
1598
  return {
@@ -1594,6 +1612,17 @@ function createLoop(roots) {
1594
1612
  };
1595
1613
  }
1596
1614
 
1615
+ /**
1616
+ * Exposes an object's {@link LocalState}.
1617
+ * @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#useInstanceHandle
1618
+ *
1619
+ * **Note**: this is an escape hatch to react-internal fields. Expect this to change significantly between versions.
1620
+ */
1621
+ function useInstanceHandle(ref) {
1622
+ const instance = React__namespace.useRef(null);
1623
+ useIsomorphicLayoutEffect(() => void (instance.current = ref.current.__r3f), [ref]);
1624
+ return instance;
1625
+ }
1597
1626
  function useStore() {
1598
1627
  const store = React__namespace.useContext(context);
1599
1628
  if (!store) throw new Error('R3F: Hooks can only be used within the Canvas component!');
@@ -2150,6 +2179,7 @@ exports.threeTypes = threeTypes;
2150
2179
  exports.unmountComponentAtNode = unmountComponentAtNode;
2151
2180
  exports.useFrame = useFrame;
2152
2181
  exports.useGraph = useGraph;
2182
+ exports.useInstanceHandle = useInstanceHandle;
2153
2183
  exports.useIsomorphicLayoutEffect = useIsomorphicLayoutEffect;
2154
2184
  exports.useLoader = useLoader;
2155
2185
  exports.useMutableCallback = useMutableCallback;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('./index-08c4a2bb.cjs.dev.js');
5
+ var index = require('./index-b3d1f4d2.cjs.dev.js');
6
6
  var _extends = require('@babel/runtime/helpers/extends');
7
7
  var React = require('react');
8
8
  var THREE = require('three');
@@ -263,6 +263,7 @@ exports.render = index.render;
263
263
  exports.unmountComponentAtNode = index.unmountComponentAtNode;
264
264
  exports.useFrame = index.useFrame;
265
265
  exports.useGraph = index.useGraph;
266
+ exports.useInstanceHandle = index.useInstanceHandle;
266
267
  exports.useLoader = index.useLoader;
267
268
  exports.useStore = index.useStore;
268
269
  exports.useThree = index.useThree;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('./index-8826c241.cjs.prod.js');
5
+ var index = require('./index-846c69c6.cjs.prod.js');
6
6
  var _extends = require('@babel/runtime/helpers/extends');
7
7
  var React = require('react');
8
8
  var THREE = require('three');
@@ -263,6 +263,7 @@ exports.render = index.render;
263
263
  exports.unmountComponentAtNode = index.unmountComponentAtNode;
264
264
  exports.useFrame = index.useFrame;
265
265
  exports.useGraph = index.useGraph;
266
+ exports.useInstanceHandle = index.useInstanceHandle;
266
267
  exports.useLoader = index.useLoader;
267
268
  exports.useStore = index.useStore;
268
269
  exports.useThree = index.useThree;
@@ -1,5 +1,5 @@
1
- import { c as createEvents, e as extend, u as useMutableCallback, a as createRoot, E as ErrorBoundary, B as Block, b as useIsomorphicLayoutEffect, d as unmountComponentAtNode } from './index-cf0284c7.esm.js';
2
- export { t as ReactThreeFiber, s as _roots, q as act, n as addAfterEffect, m as addEffect, o as addTail, l as advance, i as applyProps, f as context, c as createEvents, g as createPortal, a as createRoot, j as dispose, e as extend, p as getRootState, k as invalidate, h as reconciler, r as render, d as unmountComponentAtNode, x as useFrame, y as useGraph, z as useLoader, v as useStore, w as useThree } from './index-cf0284c7.esm.js';
1
+ import { c as createEvents, e as extend, u as useMutableCallback, a as createRoot, E as ErrorBoundary, B as Block, b as useIsomorphicLayoutEffect, d as unmountComponentAtNode } from './index-3b3bed95.esm.js';
2
+ export { t as ReactThreeFiber, s as _roots, q as act, n as addAfterEffect, m as addEffect, o as addTail, l as advance, i as applyProps, f as context, c as createEvents, g as createPortal, a as createRoot, j as dispose, e as extend, p as getRootState, k as invalidate, h as reconciler, r as render, d as unmountComponentAtNode, y as useFrame, z as useGraph, v as useInstanceHandle, A as useLoader, w as useStore, x as useThree } from './index-3b3bed95.esm.js';
3
3
  import _extends from '@babel/runtime/helpers/esm/extends';
4
4
  import * as React from 'react';
5
5
  import * as THREE from 'three';
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('../../dist/index-08c4a2bb.cjs.dev.js');
5
+ var index = require('../../dist/index-b3d1f4d2.cjs.dev.js');
6
6
  var _extends = require('@babel/runtime/helpers/extends');
7
7
  var React = require('react');
8
8
  var THREE = require('three');
@@ -401,6 +401,7 @@ exports.render = index.render;
401
401
  exports.unmountComponentAtNode = index.unmountComponentAtNode;
402
402
  exports.useFrame = index.useFrame;
403
403
  exports.useGraph = index.useGraph;
404
+ exports.useInstanceHandle = index.useInstanceHandle;
404
405
  exports.useLoader = index.useLoader;
405
406
  exports.useStore = index.useStore;
406
407
  exports.useThree = index.useThree;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('../../dist/index-8826c241.cjs.prod.js');
5
+ var index = require('../../dist/index-846c69c6.cjs.prod.js');
6
6
  var _extends = require('@babel/runtime/helpers/extends');
7
7
  var React = require('react');
8
8
  var THREE = require('three');
@@ -401,6 +401,7 @@ exports.render = index.render;
401
401
  exports.unmountComponentAtNode = index.unmountComponentAtNode;
402
402
  exports.useFrame = index.useFrame;
403
403
  exports.useGraph = index.useGraph;
404
+ exports.useInstanceHandle = index.useInstanceHandle;
404
405
  exports.useLoader = index.useLoader;
405
406
  exports.useStore = index.useStore;
406
407
  exports.useThree = index.useThree;
@@ -1,5 +1,5 @@
1
- import { c as createEvents, e as extend, u as useMutableCallback, a as createRoot, E as ErrorBoundary, B as Block, d as unmountComponentAtNode } from '../../dist/index-cf0284c7.esm.js';
2
- export { t as ReactThreeFiber, s as _roots, q as act, n as addAfterEffect, m as addEffect, o as addTail, l as advance, i as applyProps, f as context, g as createPortal, a as createRoot, j as dispose, e as extend, p as getRootState, k as invalidate, h as reconciler, r as render, d as unmountComponentAtNode, x as useFrame, y as useGraph, z as useLoader, v as useStore, w as useThree } from '../../dist/index-cf0284c7.esm.js';
1
+ import { c as createEvents, e as extend, u as useMutableCallback, a as createRoot, E as ErrorBoundary, B as Block, d as unmountComponentAtNode } from '../../dist/index-3b3bed95.esm.js';
2
+ export { t as ReactThreeFiber, s as _roots, q as act, n as addAfterEffect, m as addEffect, o as addTail, l as advance, i as applyProps, f as context, g as createPortal, a as createRoot, j as dispose, e as extend, p as getRootState, k as invalidate, h as reconciler, r as render, d as unmountComponentAtNode, y as useFrame, z as useGraph, v as useInstanceHandle, A as useLoader, w as useStore, x as useThree } from '../../dist/index-3b3bed95.esm.js';
3
3
  import _extends from '@babel/runtime/helpers/esm/extends';
4
4
  import * as React from 'react';
5
5
  import * as THREE from 'three';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-three/fiber",
3
- "version": "8.6.0",
3
+ "version": "8.7.0",
4
4
  "description": "A React renderer for Threejs",
5
5
  "keywords": [
6
6
  "react",