@react-three/fiber 8.0.0-beta.3 → 8.0.0-beta.6
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/declarations/src/core/events.d.ts +14 -9
- package/dist/declarations/src/core/hooks.d.ts +5 -1
- package/dist/declarations/src/core/index.d.ts +16 -8
- package/dist/declarations/src/core/renderer.d.ts +7 -6
- package/dist/declarations/src/core/store.d.ts +8 -19
- package/dist/declarations/src/core/utils.d.ts +2 -1
- package/dist/declarations/src/native/Canvas.d.ts +2 -2
- package/dist/declarations/src/native/events.d.ts +2 -2
- package/dist/declarations/src/three-types.d.ts +0 -1
- package/dist/declarations/src/web/Canvas.d.ts +2 -2
- package/dist/declarations/src/web/events.d.ts +2 -2
- package/dist/{index-85b2df17.cjs.prod.js → index-45f5b2a2.cjs.prod.js} +249 -208
- package/dist/{index-05ebefd3.cjs.dev.js → index-4782ba04.cjs.dev.js} +249 -208
- package/dist/{index-e78dd2f0.esm.js → index-74b1fd6b.esm.js} +247 -208
- package/dist/react-three-fiber.cjs.dev.js +23 -6
- package/dist/react-three-fiber.cjs.prod.js +23 -6
- package/dist/react-three-fiber.esm.js +22 -7
- package/native/dist/react-three-fiber-native.cjs.dev.js +24 -7
- package/native/dist/react-three-fiber-native.cjs.prod.js +24 -7
- package/native/dist/react-three-fiber-native.esm.js +23 -8
- package/package.json +3 -2
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var index = require('./index-
|
|
5
|
+
var index = require('./index-4782ba04.cjs.dev.js');
|
|
6
6
|
var _extends = require('@babel/runtime/helpers/extends');
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var THREE = require('three');
|
|
9
9
|
var mergeRefs = require('react-merge-refs');
|
|
10
10
|
var useMeasure = require('react-use-measure');
|
|
11
|
-
require('suspend-react');
|
|
12
11
|
require('react-reconciler/constants');
|
|
13
12
|
require('zustand');
|
|
14
13
|
require('react-reconciler');
|
|
15
14
|
require('scheduler');
|
|
15
|
+
require('suspend-react');
|
|
16
16
|
|
|
17
17
|
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
18
18
|
|
|
@@ -58,7 +58,17 @@ function createPointerEvents(store) {
|
|
|
58
58
|
handlePointer
|
|
59
59
|
} = index.createEvents(store);
|
|
60
60
|
return {
|
|
61
|
-
|
|
61
|
+
priority: 1,
|
|
62
|
+
enabled: true,
|
|
63
|
+
|
|
64
|
+
compute(event, state, previous) {
|
|
65
|
+
// https://github.com/pmndrs/react-three-fiber/pull/782
|
|
66
|
+
// Events trigger outside of canvas when moved, use offsetX/Y by default and allow overrides
|
|
67
|
+
state.pointer.set(event.offsetX / state.size.width * 2 - 1, -(event.offsetY / state.size.height) * 2 + 1);
|
|
68
|
+
state.raycaster.setFromCamera(state.pointer, state.camera);
|
|
69
|
+
},
|
|
70
|
+
|
|
71
|
+
connected: undefined,
|
|
62
72
|
handlers: Object.keys(DOM_EVENTS).reduce((acc, key) => ({ ...acc,
|
|
63
73
|
[key]: handlePointer(key)
|
|
64
74
|
}), {}),
|
|
@@ -99,7 +109,7 @@ function createPointerEvents(store) {
|
|
|
99
109
|
});
|
|
100
110
|
set(state => ({
|
|
101
111
|
events: { ...state.events,
|
|
102
|
-
connected:
|
|
112
|
+
connected: undefined
|
|
103
113
|
}
|
|
104
114
|
}));
|
|
105
115
|
}
|
|
@@ -153,6 +163,7 @@ const Canvas = /*#__PURE__*/React__namespace.forwardRef(function Canvas({
|
|
|
153
163
|
// This will include the entire THREE namespace by default, users can extend
|
|
154
164
|
// their own elements by using the createRoot API instead
|
|
155
165
|
React__namespace.useMemo(() => index.extend(THREE__namespace), []);
|
|
166
|
+
const onPointerMissed = index.useMemoizedFn(props.onPointerMissed);
|
|
156
167
|
const [containerRef, {
|
|
157
168
|
width,
|
|
158
169
|
height
|
|
@@ -166,8 +177,12 @@ const Canvas = /*#__PURE__*/React__namespace.forwardRef(function Canvas({
|
|
|
166
177
|
});
|
|
167
178
|
const canvasRef = React__namespace.useRef(null);
|
|
168
179
|
const [canvas, setCanvas] = React__namespace.useState(null);
|
|
169
|
-
const canvasProps = index.pick(props,
|
|
170
|
-
|
|
180
|
+
const canvasProps = index.pick({ ...props,
|
|
181
|
+
onPointerMissed
|
|
182
|
+
}, CANVAS_PROPS);
|
|
183
|
+
const divProps = index.omit({ ...props,
|
|
184
|
+
onPointerMissed
|
|
185
|
+
}, CANVAS_PROPS);
|
|
171
186
|
const [block, setBlock] = React__namespace.useState(false);
|
|
172
187
|
const [error, setError] = React__namespace.useState(false); // Suspend this component if block is a promise (2nd run)
|
|
173
188
|
|
|
@@ -230,6 +245,7 @@ exports.createPortal = index.createPortal;
|
|
|
230
245
|
exports.createRoot = index.createRoot;
|
|
231
246
|
exports.dispose = index.dispose;
|
|
232
247
|
exports.extend = index.extend;
|
|
248
|
+
exports.getRootState = index.getRootState;
|
|
233
249
|
exports.invalidate = index.invalidate;
|
|
234
250
|
exports.reconciler = index.reconciler;
|
|
235
251
|
exports.render = index.render;
|
|
@@ -237,6 +253,7 @@ exports.unmountComponentAtNode = index.unmountComponentAtNode;
|
|
|
237
253
|
exports.useFrame = index.useFrame;
|
|
238
254
|
exports.useGraph = index.useGraph;
|
|
239
255
|
exports.useLoader = index.useLoader;
|
|
256
|
+
exports.useMemoizedFn = index.useMemoizedFn;
|
|
240
257
|
exports.useStore = index.useStore;
|
|
241
258
|
exports.useThree = index.useThree;
|
|
242
259
|
exports.Canvas = Canvas;
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var index = require('./index-
|
|
5
|
+
var index = require('./index-45f5b2a2.cjs.prod.js');
|
|
6
6
|
var _extends = require('@babel/runtime/helpers/extends');
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var THREE = require('three');
|
|
9
9
|
var mergeRefs = require('react-merge-refs');
|
|
10
10
|
var useMeasure = require('react-use-measure');
|
|
11
|
-
require('suspend-react');
|
|
12
11
|
require('react-reconciler/constants');
|
|
13
12
|
require('zustand');
|
|
14
13
|
require('react-reconciler');
|
|
15
14
|
require('scheduler');
|
|
15
|
+
require('suspend-react');
|
|
16
16
|
|
|
17
17
|
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
18
18
|
|
|
@@ -58,7 +58,17 @@ function createPointerEvents(store) {
|
|
|
58
58
|
handlePointer
|
|
59
59
|
} = index.createEvents(store);
|
|
60
60
|
return {
|
|
61
|
-
|
|
61
|
+
priority: 1,
|
|
62
|
+
enabled: true,
|
|
63
|
+
|
|
64
|
+
compute(event, state, previous) {
|
|
65
|
+
// https://github.com/pmndrs/react-three-fiber/pull/782
|
|
66
|
+
// Events trigger outside of canvas when moved, use offsetX/Y by default and allow overrides
|
|
67
|
+
state.pointer.set(event.offsetX / state.size.width * 2 - 1, -(event.offsetY / state.size.height) * 2 + 1);
|
|
68
|
+
state.raycaster.setFromCamera(state.pointer, state.camera);
|
|
69
|
+
},
|
|
70
|
+
|
|
71
|
+
connected: undefined,
|
|
62
72
|
handlers: Object.keys(DOM_EVENTS).reduce((acc, key) => ({ ...acc,
|
|
63
73
|
[key]: handlePointer(key)
|
|
64
74
|
}), {}),
|
|
@@ -99,7 +109,7 @@ function createPointerEvents(store) {
|
|
|
99
109
|
});
|
|
100
110
|
set(state => ({
|
|
101
111
|
events: { ...state.events,
|
|
102
|
-
connected:
|
|
112
|
+
connected: undefined
|
|
103
113
|
}
|
|
104
114
|
}));
|
|
105
115
|
}
|
|
@@ -153,6 +163,7 @@ const Canvas = /*#__PURE__*/React__namespace.forwardRef(function Canvas({
|
|
|
153
163
|
// This will include the entire THREE namespace by default, users can extend
|
|
154
164
|
// their own elements by using the createRoot API instead
|
|
155
165
|
React__namespace.useMemo(() => index.extend(THREE__namespace), []);
|
|
166
|
+
const onPointerMissed = index.useMemoizedFn(props.onPointerMissed);
|
|
156
167
|
const [containerRef, {
|
|
157
168
|
width,
|
|
158
169
|
height
|
|
@@ -166,8 +177,12 @@ const Canvas = /*#__PURE__*/React__namespace.forwardRef(function Canvas({
|
|
|
166
177
|
});
|
|
167
178
|
const canvasRef = React__namespace.useRef(null);
|
|
168
179
|
const [canvas, setCanvas] = React__namespace.useState(null);
|
|
169
|
-
const canvasProps = index.pick(props,
|
|
170
|
-
|
|
180
|
+
const canvasProps = index.pick({ ...props,
|
|
181
|
+
onPointerMissed
|
|
182
|
+
}, CANVAS_PROPS);
|
|
183
|
+
const divProps = index.omit({ ...props,
|
|
184
|
+
onPointerMissed
|
|
185
|
+
}, CANVAS_PROPS);
|
|
171
186
|
const [block, setBlock] = React__namespace.useState(false);
|
|
172
187
|
const [error, setError] = React__namespace.useState(false); // Suspend this component if block is a promise (2nd run)
|
|
173
188
|
|
|
@@ -230,6 +245,7 @@ exports.createPortal = index.createPortal;
|
|
|
230
245
|
exports.createRoot = index.createRoot;
|
|
231
246
|
exports.dispose = index.dispose;
|
|
232
247
|
exports.extend = index.extend;
|
|
248
|
+
exports.getRootState = index.getRootState;
|
|
233
249
|
exports.invalidate = index.invalidate;
|
|
234
250
|
exports.reconciler = index.reconciler;
|
|
235
251
|
exports.render = index.render;
|
|
@@ -237,6 +253,7 @@ exports.unmountComponentAtNode = index.unmountComponentAtNode;
|
|
|
237
253
|
exports.useFrame = index.useFrame;
|
|
238
254
|
exports.useGraph = index.useGraph;
|
|
239
255
|
exports.useLoader = index.useLoader;
|
|
256
|
+
exports.useMemoizedFn = index.useMemoizedFn;
|
|
240
257
|
exports.useStore = index.useStore;
|
|
241
258
|
exports.useThree = index.useThree;
|
|
242
259
|
exports.Canvas = Canvas;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { c as createEvents, e as extend, p as pick, o as omit, a as createRoot,
|
|
2
|
-
export { t as ReactThreeFiber,
|
|
1
|
+
import { c as createEvents, e as extend, u as useMemoizedFn, p as pick, o as omit, a as createRoot, b as unmountComponentAtNode } from './index-74b1fd6b.esm.js';
|
|
2
|
+
export { t as ReactThreeFiber, v as _roots, s as act, m as addAfterEffect, l as addEffect, n as addTail, k as advance, h as applyProps, d as context, f as createPortal, a as createRoot, i as dispose, e as extend, q as getRootState, j as invalidate, g as reconciler, r as render, b as unmountComponentAtNode, y as useFrame, z as useGraph, A as useLoader, u as useMemoizedFn, w as useStore, x as useThree } from './index-74b1fd6b.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';
|
|
6
6
|
import mergeRefs from 'react-merge-refs';
|
|
7
7
|
import useMeasure from 'react-use-measure';
|
|
8
|
-
import 'suspend-react';
|
|
9
8
|
import 'react-reconciler/constants';
|
|
10
9
|
import 'zustand';
|
|
11
10
|
import 'react-reconciler';
|
|
12
11
|
import 'scheduler';
|
|
12
|
+
import 'suspend-react';
|
|
13
13
|
|
|
14
14
|
const DOM_EVENTS = {
|
|
15
15
|
onClick: ['click', false],
|
|
@@ -28,7 +28,17 @@ function createPointerEvents(store) {
|
|
|
28
28
|
handlePointer
|
|
29
29
|
} = createEvents(store);
|
|
30
30
|
return {
|
|
31
|
-
|
|
31
|
+
priority: 1,
|
|
32
|
+
enabled: true,
|
|
33
|
+
|
|
34
|
+
compute(event, state, previous) {
|
|
35
|
+
// https://github.com/pmndrs/react-three-fiber/pull/782
|
|
36
|
+
// Events trigger outside of canvas when moved, use offsetX/Y by default and allow overrides
|
|
37
|
+
state.pointer.set(event.offsetX / state.size.width * 2 - 1, -(event.offsetY / state.size.height) * 2 + 1);
|
|
38
|
+
state.raycaster.setFromCamera(state.pointer, state.camera);
|
|
39
|
+
},
|
|
40
|
+
|
|
41
|
+
connected: undefined,
|
|
32
42
|
handlers: Object.keys(DOM_EVENTS).reduce((acc, key) => ({ ...acc,
|
|
33
43
|
[key]: handlePointer(key)
|
|
34
44
|
}), {}),
|
|
@@ -69,7 +79,7 @@ function createPointerEvents(store) {
|
|
|
69
79
|
});
|
|
70
80
|
set(state => ({
|
|
71
81
|
events: { ...state.events,
|
|
72
|
-
connected:
|
|
82
|
+
connected: undefined
|
|
73
83
|
}
|
|
74
84
|
}));
|
|
75
85
|
}
|
|
@@ -123,6 +133,7 @@ const Canvas = /*#__PURE__*/React.forwardRef(function Canvas({
|
|
|
123
133
|
// This will include the entire THREE namespace by default, users can extend
|
|
124
134
|
// their own elements by using the createRoot API instead
|
|
125
135
|
React.useMemo(() => extend(THREE), []);
|
|
136
|
+
const onPointerMissed = useMemoizedFn(props.onPointerMissed);
|
|
126
137
|
const [containerRef, {
|
|
127
138
|
width,
|
|
128
139
|
height
|
|
@@ -136,8 +147,12 @@ const Canvas = /*#__PURE__*/React.forwardRef(function Canvas({
|
|
|
136
147
|
});
|
|
137
148
|
const canvasRef = React.useRef(null);
|
|
138
149
|
const [canvas, setCanvas] = React.useState(null);
|
|
139
|
-
const canvasProps = pick(props,
|
|
140
|
-
|
|
150
|
+
const canvasProps = pick({ ...props,
|
|
151
|
+
onPointerMissed
|
|
152
|
+
}, CANVAS_PROPS);
|
|
153
|
+
const divProps = omit({ ...props,
|
|
154
|
+
onPointerMissed
|
|
155
|
+
}, CANVAS_PROPS);
|
|
141
156
|
const [block, setBlock] = React.useState(false);
|
|
142
157
|
const [error, setError] = React.useState(false); // Suspend this component if block is a promise (2nd run)
|
|
143
158
|
|
|
@@ -4,17 +4,17 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var THREE = require('three');
|
|
6
6
|
var expoAsset = require('expo-asset');
|
|
7
|
-
var index = require('../../dist/index-
|
|
7
|
+
var index = require('../../dist/index-4782ba04.cjs.dev.js');
|
|
8
8
|
var _extends = require('@babel/runtime/helpers/extends');
|
|
9
9
|
var React = require('react');
|
|
10
10
|
var reactNative = require('react-native');
|
|
11
11
|
var expoGl = require('expo-gl');
|
|
12
12
|
var Pressability = require('react-native/Libraries/Pressability/Pressability');
|
|
13
|
-
require('suspend-react');
|
|
14
13
|
require('react-reconciler/constants');
|
|
15
14
|
require('zustand');
|
|
16
15
|
require('react-reconciler');
|
|
17
16
|
require('scheduler');
|
|
17
|
+
require('suspend-react');
|
|
18
18
|
|
|
19
19
|
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
20
20
|
|
|
@@ -76,7 +76,17 @@ function createTouchEvents(store) {
|
|
|
76
76
|
};
|
|
77
77
|
|
|
78
78
|
return {
|
|
79
|
-
|
|
79
|
+
priority: 1,
|
|
80
|
+
enabled: true,
|
|
81
|
+
|
|
82
|
+
compute(event, state, previous) {
|
|
83
|
+
// https://github.com/pmndrs/react-three-fiber/pull/782
|
|
84
|
+
// Events trigger outside of canvas when moved, use offsetX/Y by default and allow overrides
|
|
85
|
+
state.pointer.set(event.offsetX / state.size.width * 2 - 1, -(event.offsetY / state.size.height) * 2 + 1);
|
|
86
|
+
state.raycaster.setFromCamera(state.pointer, state.camera);
|
|
87
|
+
},
|
|
88
|
+
|
|
89
|
+
connected: undefined,
|
|
80
90
|
handlers: Object.values(EVENTS).reduce((acc, name) => ({ ...acc,
|
|
81
91
|
[name]: event => handleTouch(event, name)
|
|
82
92
|
}), {}),
|
|
@@ -105,7 +115,7 @@ function createTouchEvents(store) {
|
|
|
105
115
|
events.connected.reset();
|
|
106
116
|
set(state => ({
|
|
107
117
|
events: { ...state.events,
|
|
108
|
-
connected:
|
|
118
|
+
connected: undefined
|
|
109
119
|
}
|
|
110
120
|
}));
|
|
111
121
|
}
|
|
@@ -158,6 +168,7 @@ const Canvas = /*#__PURE__*/React__namespace.forwardRef(({
|
|
|
158
168
|
// This will include the entire THREE namespace by default, users can extend
|
|
159
169
|
// their own elements by using the createRoot API instead
|
|
160
170
|
React__namespace.useMemo(() => index.extend(THREE__namespace), []);
|
|
171
|
+
const onPointerMissed = index.useMemoizedFn(props.onPointerMissed);
|
|
161
172
|
const [{
|
|
162
173
|
width,
|
|
163
174
|
height
|
|
@@ -167,8 +178,12 @@ const Canvas = /*#__PURE__*/React__namespace.forwardRef(({
|
|
|
167
178
|
});
|
|
168
179
|
const [canvas, setCanvas] = React__namespace.useState(null);
|
|
169
180
|
const [bind, setBind] = React__namespace.useState();
|
|
170
|
-
const canvasProps = index.pick(props,
|
|
171
|
-
|
|
181
|
+
const canvasProps = index.pick({ ...props,
|
|
182
|
+
onPointerMissed
|
|
183
|
+
}, CANVAS_PROPS);
|
|
184
|
+
const viewProps = index.omit({ ...props,
|
|
185
|
+
onPointerMissed
|
|
186
|
+
}, CANVAS_PROPS);
|
|
172
187
|
const [block, setBlock] = React__namespace.useState(false);
|
|
173
188
|
const [error, setError] = React__namespace.useState(false); // Suspend this component if block is a promise (2nd run)
|
|
174
189
|
|
|
@@ -280,7 +295,7 @@ THREE__namespace.LoaderUtils.extractUrlBase = url => typeof url === 'string' ? e
|
|
|
280
295
|
|
|
281
296
|
|
|
282
297
|
THREE__namespace.TextureLoader.prototype.load = function load(url, onLoad, onProgress, onError) {
|
|
283
|
-
const texture = new THREE__namespace.Texture(); // @ts-
|
|
298
|
+
const texture = new THREE__namespace.Texture(); // @ts-ignore
|
|
284
299
|
|
|
285
300
|
texture.isDataTexture = true;
|
|
286
301
|
getAsset(url).downloadAsync().then(asset => {
|
|
@@ -350,6 +365,7 @@ exports.createPortal = index.createPortal;
|
|
|
350
365
|
exports.createRoot = index.createRoot;
|
|
351
366
|
exports.dispose = index.dispose;
|
|
352
367
|
exports.extend = index.extend;
|
|
368
|
+
exports.getRootState = index.getRootState;
|
|
353
369
|
exports.invalidate = index.invalidate;
|
|
354
370
|
exports.reconciler = index.reconciler;
|
|
355
371
|
exports.render = index.render;
|
|
@@ -357,6 +373,7 @@ exports.unmountComponentAtNode = index.unmountComponentAtNode;
|
|
|
357
373
|
exports.useFrame = index.useFrame;
|
|
358
374
|
exports.useGraph = index.useGraph;
|
|
359
375
|
exports.useLoader = index.useLoader;
|
|
376
|
+
exports.useMemoizedFn = index.useMemoizedFn;
|
|
360
377
|
exports.useStore = index.useStore;
|
|
361
378
|
exports.useThree = index.useThree;
|
|
362
379
|
exports.Canvas = Canvas;
|
|
@@ -4,17 +4,17 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var THREE = require('three');
|
|
6
6
|
var expoAsset = require('expo-asset');
|
|
7
|
-
var index = require('../../dist/index-
|
|
7
|
+
var index = require('../../dist/index-45f5b2a2.cjs.prod.js');
|
|
8
8
|
var _extends = require('@babel/runtime/helpers/extends');
|
|
9
9
|
var React = require('react');
|
|
10
10
|
var reactNative = require('react-native');
|
|
11
11
|
var expoGl = require('expo-gl');
|
|
12
12
|
var Pressability = require('react-native/Libraries/Pressability/Pressability');
|
|
13
|
-
require('suspend-react');
|
|
14
13
|
require('react-reconciler/constants');
|
|
15
14
|
require('zustand');
|
|
16
15
|
require('react-reconciler');
|
|
17
16
|
require('scheduler');
|
|
17
|
+
require('suspend-react');
|
|
18
18
|
|
|
19
19
|
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
20
20
|
|
|
@@ -76,7 +76,17 @@ function createTouchEvents(store) {
|
|
|
76
76
|
};
|
|
77
77
|
|
|
78
78
|
return {
|
|
79
|
-
|
|
79
|
+
priority: 1,
|
|
80
|
+
enabled: true,
|
|
81
|
+
|
|
82
|
+
compute(event, state, previous) {
|
|
83
|
+
// https://github.com/pmndrs/react-three-fiber/pull/782
|
|
84
|
+
// Events trigger outside of canvas when moved, use offsetX/Y by default and allow overrides
|
|
85
|
+
state.pointer.set(event.offsetX / state.size.width * 2 - 1, -(event.offsetY / state.size.height) * 2 + 1);
|
|
86
|
+
state.raycaster.setFromCamera(state.pointer, state.camera);
|
|
87
|
+
},
|
|
88
|
+
|
|
89
|
+
connected: undefined,
|
|
80
90
|
handlers: Object.values(EVENTS).reduce((acc, name) => ({ ...acc,
|
|
81
91
|
[name]: event => handleTouch(event, name)
|
|
82
92
|
}), {}),
|
|
@@ -105,7 +115,7 @@ function createTouchEvents(store) {
|
|
|
105
115
|
events.connected.reset();
|
|
106
116
|
set(state => ({
|
|
107
117
|
events: { ...state.events,
|
|
108
|
-
connected:
|
|
118
|
+
connected: undefined
|
|
109
119
|
}
|
|
110
120
|
}));
|
|
111
121
|
}
|
|
@@ -158,6 +168,7 @@ const Canvas = /*#__PURE__*/React__namespace.forwardRef(({
|
|
|
158
168
|
// This will include the entire THREE namespace by default, users can extend
|
|
159
169
|
// their own elements by using the createRoot API instead
|
|
160
170
|
React__namespace.useMemo(() => index.extend(THREE__namespace), []);
|
|
171
|
+
const onPointerMissed = index.useMemoizedFn(props.onPointerMissed);
|
|
161
172
|
const [{
|
|
162
173
|
width,
|
|
163
174
|
height
|
|
@@ -167,8 +178,12 @@ const Canvas = /*#__PURE__*/React__namespace.forwardRef(({
|
|
|
167
178
|
});
|
|
168
179
|
const [canvas, setCanvas] = React__namespace.useState(null);
|
|
169
180
|
const [bind, setBind] = React__namespace.useState();
|
|
170
|
-
const canvasProps = index.pick(props,
|
|
171
|
-
|
|
181
|
+
const canvasProps = index.pick({ ...props,
|
|
182
|
+
onPointerMissed
|
|
183
|
+
}, CANVAS_PROPS);
|
|
184
|
+
const viewProps = index.omit({ ...props,
|
|
185
|
+
onPointerMissed
|
|
186
|
+
}, CANVAS_PROPS);
|
|
172
187
|
const [block, setBlock] = React__namespace.useState(false);
|
|
173
188
|
const [error, setError] = React__namespace.useState(false); // Suspend this component if block is a promise (2nd run)
|
|
174
189
|
|
|
@@ -280,7 +295,7 @@ THREE__namespace.LoaderUtils.extractUrlBase = url => typeof url === 'string' ? e
|
|
|
280
295
|
|
|
281
296
|
|
|
282
297
|
THREE__namespace.TextureLoader.prototype.load = function load(url, onLoad, onProgress, onError) {
|
|
283
|
-
const texture = new THREE__namespace.Texture(); // @ts-
|
|
298
|
+
const texture = new THREE__namespace.Texture(); // @ts-ignore
|
|
284
299
|
|
|
285
300
|
texture.isDataTexture = true;
|
|
286
301
|
getAsset(url).downloadAsync().then(asset => {
|
|
@@ -350,6 +365,7 @@ exports.createPortal = index.createPortal;
|
|
|
350
365
|
exports.createRoot = index.createRoot;
|
|
351
366
|
exports.dispose = index.dispose;
|
|
352
367
|
exports.extend = index.extend;
|
|
368
|
+
exports.getRootState = index.getRootState;
|
|
353
369
|
exports.invalidate = index.invalidate;
|
|
354
370
|
exports.reconciler = index.reconciler;
|
|
355
371
|
exports.render = index.render;
|
|
@@ -357,6 +373,7 @@ exports.unmountComponentAtNode = index.unmountComponentAtNode;
|
|
|
357
373
|
exports.useFrame = index.useFrame;
|
|
358
374
|
exports.useGraph = index.useGraph;
|
|
359
375
|
exports.useLoader = index.useLoader;
|
|
376
|
+
exports.useMemoizedFn = index.useMemoizedFn;
|
|
360
377
|
exports.useStore = index.useStore;
|
|
361
378
|
exports.useThree = index.useThree;
|
|
362
379
|
exports.Canvas = Canvas;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import * as THREE from 'three';
|
|
2
2
|
import { Asset } from 'expo-asset';
|
|
3
|
-
import { c as createEvents, e as extend, p as pick, o as omit, a as createRoot,
|
|
4
|
-
export { t as ReactThreeFiber,
|
|
3
|
+
import { c as createEvents, e as extend, u as useMemoizedFn, p as pick, o as omit, a as createRoot, b as unmountComponentAtNode } from '../../dist/index-74b1fd6b.esm.js';
|
|
4
|
+
export { t as ReactThreeFiber, v as _roots, s as act, m as addAfterEffect, l as addEffect, n as addTail, k as advance, h as applyProps, d as context, f as createPortal, a as createRoot, i as dispose, e as extend, q as getRootState, j as invalidate, g as reconciler, r as render, b as unmountComponentAtNode, y as useFrame, z as useGraph, A as useLoader, u as useMemoizedFn, w as useStore, x as useThree } from '../../dist/index-74b1fd6b.esm.js';
|
|
5
5
|
import _extends from '@babel/runtime/helpers/esm/extends';
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import { PixelRatio, View, StyleSheet } from 'react-native';
|
|
8
8
|
import { GLView } from 'expo-gl';
|
|
9
9
|
import Pressability from 'react-native/Libraries/Pressability/Pressability';
|
|
10
|
-
import 'suspend-react';
|
|
11
10
|
import 'react-reconciler/constants';
|
|
12
11
|
import 'zustand';
|
|
13
12
|
import 'react-reconciler';
|
|
14
13
|
import 'scheduler';
|
|
14
|
+
import 'suspend-react';
|
|
15
15
|
|
|
16
16
|
const EVENTS = {
|
|
17
17
|
PRESS: 'onPress',
|
|
@@ -47,7 +47,17 @@ function createTouchEvents(store) {
|
|
|
47
47
|
};
|
|
48
48
|
|
|
49
49
|
return {
|
|
50
|
-
|
|
50
|
+
priority: 1,
|
|
51
|
+
enabled: true,
|
|
52
|
+
|
|
53
|
+
compute(event, state, previous) {
|
|
54
|
+
// https://github.com/pmndrs/react-three-fiber/pull/782
|
|
55
|
+
// Events trigger outside of canvas when moved, use offsetX/Y by default and allow overrides
|
|
56
|
+
state.pointer.set(event.offsetX / state.size.width * 2 - 1, -(event.offsetY / state.size.height) * 2 + 1);
|
|
57
|
+
state.raycaster.setFromCamera(state.pointer, state.camera);
|
|
58
|
+
},
|
|
59
|
+
|
|
60
|
+
connected: undefined,
|
|
51
61
|
handlers: Object.values(EVENTS).reduce((acc, name) => ({ ...acc,
|
|
52
62
|
[name]: event => handleTouch(event, name)
|
|
53
63
|
}), {}),
|
|
@@ -76,7 +86,7 @@ function createTouchEvents(store) {
|
|
|
76
86
|
events.connected.reset();
|
|
77
87
|
set(state => ({
|
|
78
88
|
events: { ...state.events,
|
|
79
|
-
connected:
|
|
89
|
+
connected: undefined
|
|
80
90
|
}
|
|
81
91
|
}));
|
|
82
92
|
}
|
|
@@ -129,6 +139,7 @@ const Canvas = /*#__PURE__*/React.forwardRef(({
|
|
|
129
139
|
// This will include the entire THREE namespace by default, users can extend
|
|
130
140
|
// their own elements by using the createRoot API instead
|
|
131
141
|
React.useMemo(() => extend(THREE), []);
|
|
142
|
+
const onPointerMissed = useMemoizedFn(props.onPointerMissed);
|
|
132
143
|
const [{
|
|
133
144
|
width,
|
|
134
145
|
height
|
|
@@ -138,8 +149,12 @@ const Canvas = /*#__PURE__*/React.forwardRef(({
|
|
|
138
149
|
});
|
|
139
150
|
const [canvas, setCanvas] = React.useState(null);
|
|
140
151
|
const [bind, setBind] = React.useState();
|
|
141
|
-
const canvasProps = pick(props,
|
|
142
|
-
|
|
152
|
+
const canvasProps = pick({ ...props,
|
|
153
|
+
onPointerMissed
|
|
154
|
+
}, CANVAS_PROPS);
|
|
155
|
+
const viewProps = omit({ ...props,
|
|
156
|
+
onPointerMissed
|
|
157
|
+
}, CANVAS_PROPS);
|
|
143
158
|
const [block, setBlock] = React.useState(false);
|
|
144
159
|
const [error, setError] = React.useState(false); // Suspend this component if block is a promise (2nd run)
|
|
145
160
|
|
|
@@ -251,7 +266,7 @@ THREE.LoaderUtils.extractUrlBase = url => typeof url === 'string' ? extractUrlBa
|
|
|
251
266
|
|
|
252
267
|
|
|
253
268
|
THREE.TextureLoader.prototype.load = function load(url, onLoad, onProgress, onError) {
|
|
254
|
-
const texture = new THREE.Texture(); // @ts-
|
|
269
|
+
const texture = new THREE.Texture(); // @ts-ignore
|
|
255
270
|
|
|
256
271
|
texture.isDataTexture = true;
|
|
257
272
|
getAsset(url).downloadAsync().then(asset => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-three/fiber",
|
|
3
|
-
"version": "8.0.0-beta.
|
|
3
|
+
"version": "8.0.0-beta.6",
|
|
4
4
|
"description": "A React renderer for Threejs",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"@babel/runtime": "^7.17.2",
|
|
46
|
+
"@types/react-reconciler": "^0.26.4",
|
|
46
47
|
"react-merge-refs": "^1.1.0",
|
|
47
48
|
"react-reconciler": "^0.27.0-rc.2",
|
|
48
49
|
"react-use-measure": "^2.1.1",
|
|
@@ -57,7 +58,7 @@
|
|
|
57
58
|
"react": ">=18.0",
|
|
58
59
|
"react-dom": ">=18.0",
|
|
59
60
|
"react-native": ">=0.64",
|
|
60
|
-
"three": ">=0.
|
|
61
|
+
"three": ">=0.139"
|
|
61
62
|
},
|
|
62
63
|
"peerDependenciesMeta": {
|
|
63
64
|
"react-dom": {
|