@react-three/drei 9.65.3 → 9.65.5
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/README.md +2 -2
- package/core/Stage.cjs.js +1 -1
- package/core/Stage.js +16 -15
- package/index.cjs.js +1 -1
- package/package.json +1 -1
- package/web/pivotControls/AxisArrow.cjs.js +1 -1
- package/web/pivotControls/AxisArrow.js +4 -2
- package/web/pivotControls/AxisRotator.cjs.js +1 -1
- package/web/pivotControls/AxisRotator.js +2 -1
- package/web/pivotControls/PlaneSlider.cjs.js +1 -1
- package/web/pivotControls/PlaneSlider.js +4 -2
package/README.md
CHANGED
|
@@ -2441,13 +2441,13 @@ return (
|
|
|
2441
2441
|
<meshBasicMaterial map={texture} toneMapped={false} />
|
|
2442
2442
|
```
|
|
2443
2443
|
|
|
2444
|
-
It also accepts a [`MediaStream`](https://developer.mozilla.org/en-US/docs/Web/API/MediaStream) from eg. [`.getDisplayMedia()`](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getDisplayMedia):
|
|
2444
|
+
It also accepts a [`MediaStream`](https://developer.mozilla.org/en-US/docs/Web/API/MediaStream) from eg. [`.getDisplayMedia()`](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getDisplayMedia) or [`.getUserMedia()`](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia):
|
|
2445
2445
|
|
|
2446
2446
|
```jsx
|
|
2447
2447
|
const [stream, setStream] = useState()
|
|
2448
2448
|
|
|
2449
2449
|
return (
|
|
2450
|
-
<mesh onClick={() => setStream(await navigator.mediaDevices.getDisplayMedia({ video: true })}>
|
|
2450
|
+
<mesh onClick={async () => setStream(await navigator.mediaDevices.getDisplayMedia({ video: true }))}>
|
|
2451
2451
|
<React.Suspense fallback={<meshBasicMaterial wireframe />}>
|
|
2452
2452
|
<VideoMaterial src={stream} />
|
|
2453
2453
|
</React.Suspense>
|
package/core/Stage.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),i=require("./Environment.cjs.js"),n=require("./ContactShadows.cjs.js"),r=require("./Center.cjs.js"),a=require("./AccumulativeShadows.cjs.js"),s=require("./Bounds.cjs.js");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function u(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(i){if("default"!==i){var n=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,n.get?n:{enumerable:!0,get:function(){return e[i]}})}})),t.default=e,Object.freeze(t)}require("@react-three/fiber"),require("three"),require("three-stdlib"),require("./useEnvironment.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("./shaderMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js");var o=l(e),c=u(t);const d={rembrandt:{main:[1,2,1],fill:[-2,-.5,-2]},portrait:{main:[-1,2,.5],fill:[-1,.5,-1.5]},upfront:{main:[0,2,1],fill:[-1,.5,-1.5]},soft:{main:[-2,4,4],fill:[-1,.5,-1.5]}};function m({radius:e,adjustCamera:t}){const i=s.useBounds();return c.useEffect((()=>{t&&i.refresh().clip().fit()}),[e,t]),null}exports.Stage=function({children:e,center:t,adjustCamera:l=!0,intensity:u=.5,shadows:f="contact",environment:p="city",preset:h="rembrandt",...v}){var j,b,g,y,E,q,w,C;const S="string"==typeof h?d[h]:h,[{radius:O,height:z},B]=c.useState({radius:0,width:0,height:0,depth:0}),M=null!==(j=null==f?void 0:f.bias)&&void 0!==j?j:-1e-4,L=null!==(b=null==f?void 0:f.normalBias)&&void 0!==b?b:0,_=null!==(g=null==f?void 0:f.size)&&void 0!==g?g:1024,x=null!==(y=null==f?void 0:f.offset)&&void 0!==y?y:0,P="contact"===f||"contact"===(null==f?void 0:f.type),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),i=require("./Environment.cjs.js"),n=require("./ContactShadows.cjs.js"),r=require("./Center.cjs.js"),a=require("./AccumulativeShadows.cjs.js"),s=require("./Bounds.cjs.js");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function u(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(i){if("default"!==i){var n=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,n.get?n:{enumerable:!0,get:function(){return e[i]}})}})),t.default=e,Object.freeze(t)}require("@react-three/fiber"),require("three"),require("three-stdlib"),require("./useEnvironment.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("./shaderMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js");var o=l(e),c=u(t);const d={rembrandt:{main:[1,2,1],fill:[-2,-.5,-2]},portrait:{main:[-1,2,.5],fill:[-1,.5,-1.5]},upfront:{main:[0,2,1],fill:[-1,.5,-1.5]},soft:{main:[-2,4,4],fill:[-1,.5,-1.5]}};function m({radius:e,adjustCamera:t}){const i=s.useBounds();return c.useEffect((()=>{t&&i.refresh().clip().fit()}),[e,t]),null}exports.Stage=function({children:e,center:t,adjustCamera:l=!0,intensity:u=.5,shadows:f="contact",environment:p="city",preset:h="rembrandt",...v}){var j,b,g,y,E,q,w,C;const S="string"==typeof h?d[h]:h,[{radius:O,height:z},B]=c.useState({radius:0,width:0,height:0,depth:0}),M=null!==(j=null==f?void 0:f.bias)&&void 0!==j?j:-1e-4,L=null!==(b=null==f?void 0:f.normalBias)&&void 0!==b?b:0,_=null!==(g=null==f?void 0:f.size)&&void 0!==g?g:1024,x=null!==(y=null==f?void 0:f.offset)&&void 0!==y?y:0,P="contact"===f||"contact"===(null==f?void 0:f.type),k="accumulative"===f||"accumulative"===(null==f?void 0:f.type),A={..."object"==typeof f?f:{}},D=p?"string"==typeof p?{preset:p}:p:null,F=c.useCallback((e=>{const{width:i,height:n,depth:r,boundingSphere:a}=e;B({radius:a.radius,width:i,height:n,depth:r}),null!=t&&t.onCentered&&t.onCentered(e)}),[]);return c.createElement(c.Fragment,null,c.createElement("ambientLight",{intensity:u/3}),c.createElement("spotLight",{penumbra:1,position:[S.main[0]*O,S.main[1]*O,S.main[2]*O],intensity:2*u,castShadow:!!f,"shadow-bias":M,"shadow-normalBias":L,"shadow-mapSize":_}),c.createElement("pointLight",{position:[S.fill[0]*O,S.fill[1]*O,S.fill[2]*O],intensity:u}),c.createElement(s.Bounds,o.default({fit:!!l,clip:!!l,margin:Number(l),observe:!0},v),c.createElement(m,{radius:O,adjustCamera:l}),c.createElement(r.Center,o.default({},t,{position:[0,x/2,0],onCentered:F}),e)),c.createElement("group",{position:[0,-z/2-x/2,0]},P&&c.createElement(n.ContactShadows,o.default({scale:4*O,far:O,blur:2},A)),k&&c.createElement(a.AccumulativeShadows,o.default({temporal:!0,frames:100,alphaTest:.9,toneMapped:!0,scale:4*O},A),c.createElement(a.RandomizedLight,{amount:null!==(E=A.amount)&&void 0!==E?E:8,radius:null!==(q=A.radius)&&void 0!==q?q:O,ambient:null!==(w=A.ambient)&&void 0!==w?w:.5,intensity:null!==(C=A.intensity)&&void 0!==C?C:1,position:[S.main[0]*O,S.main[1]*O,S.main[2]*O],size:4*O,bias:-M,mapSize:_}))),p&&c.createElement(i.Environment,D))};
|
package/core/Stage.js
CHANGED
|
@@ -69,6 +69,21 @@ function Stage({
|
|
|
69
69
|
const environmentProps = !environment ? null : typeof environment === 'string' ? {
|
|
70
70
|
preset: environment
|
|
71
71
|
} : environment;
|
|
72
|
+
const onCentered = React.useCallback(props => {
|
|
73
|
+
const {
|
|
74
|
+
width,
|
|
75
|
+
height,
|
|
76
|
+
depth,
|
|
77
|
+
boundingSphere
|
|
78
|
+
} = props;
|
|
79
|
+
set({
|
|
80
|
+
radius: boundingSphere.radius,
|
|
81
|
+
width,
|
|
82
|
+
height,
|
|
83
|
+
depth
|
|
84
|
+
});
|
|
85
|
+
if (center != null && center.onCentered) center.onCentered(props);
|
|
86
|
+
}, []);
|
|
72
87
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("ambientLight", {
|
|
73
88
|
intensity: intensity / 3
|
|
74
89
|
}), /*#__PURE__*/React.createElement("spotLight", {
|
|
@@ -92,21 +107,7 @@ function Stage({
|
|
|
92
107
|
adjustCamera: adjustCamera
|
|
93
108
|
}), /*#__PURE__*/React.createElement(Center, _extends({}, center, {
|
|
94
109
|
position: [0, shadowOffset / 2, 0],
|
|
95
|
-
onCentered:
|
|
96
|
-
const {
|
|
97
|
-
width,
|
|
98
|
-
height,
|
|
99
|
-
depth,
|
|
100
|
-
boundingSphere
|
|
101
|
-
} = props;
|
|
102
|
-
set({
|
|
103
|
-
radius: boundingSphere.radius,
|
|
104
|
-
width,
|
|
105
|
-
height,
|
|
106
|
-
depth
|
|
107
|
-
});
|
|
108
|
-
if (center != null && center.onCentered) center.onCentered(props);
|
|
109
|
-
}
|
|
110
|
+
onCentered: onCentered
|
|
110
111
|
}), children)), /*#__PURE__*/React.createElement("group", {
|
|
111
112
|
position: [0, -height / 2 - shadowOffset / 2, 0]
|
|
112
113
|
}, contactShadow && /*#__PURE__*/React.createElement(ContactShadows, _extends({
|