@react-three/drei 9.65.1 → 9.65.3

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 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("three"),r=require("react"),n=require("@react-three/fiber"),o=require("camera-controls");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function a(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var u=s(e),c=a(t),l=a(r),d=s(o);const f=r.forwardRef(((e,t)=>{r.useMemo((()=>{d.default.install({THREE:c}),n.extend({CameraControlsImpl:d.default})}),[]);const{camera:o,domElement:s,makeDefault:a,onStart:f,onEnd:i,onChange:m,regress:v,...E}=e,p=n.useThree((e=>e.camera)),b=n.useThree((e=>e.gl)),h=n.useThree((e=>e.invalidate)),T=n.useThree((e=>e.events)),g=n.useThree((e=>e.setEvents)),j=n.useThree((e=>e.set)),O=n.useThree((e=>e.get)),L=n.useThree((e=>e.performance)),q=o||p,y=s||T.connected||b.domElement,C=r.useMemo((()=>new d.default(q)),[q]);return n.useFrame(((e,t)=>{C.enabled&&C.update(t)}),-1),r.useEffect((()=>(C.connect(y),()=>{C.disconnect()})),[y,C]),l.useEffect((()=>{const e=e=>{h(),v&&L.regress(),m&&m(e)},t=e=>{f&&f(e)},r=e=>{i&&i(e)};return C.addEventListener("update",e),C.addEventListener("controlstart",t),C.addEventListener("controlend",r),()=>{C.removeEventListener("update",e),C.removeEventListener("controlstart",t),C.removeEventListener("controlend",r)}}),[C,f,i,h,g,v,m]),r.useEffect((()=>{if(a){const e=O().controls;return j({controls:C}),()=>j({controls:e})}}),[a,C]),l.createElement("primitive",u.default({ref:t,object:C},E))}));exports.CameraControls=f;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("three"),r=require("react"),n=require("@react-three/fiber"),o=require("camera-controls");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function a(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var u=s(e),c=a(t),i=a(r),d=s(o);const l=r.forwardRef(((e,t)=>{r.useMemo((()=>{d.default.install({THREE:c}),n.extend({CameraControlsImpl:d.default})}),[]);const{camera:o,domElement:s,makeDefault:a,onStart:l,onEnd:f,onChange:v,regress:m,...E}=e,p=n.useThree((e=>e.camera)),b=n.useThree((e=>e.gl)),h=n.useThree((e=>e.invalidate)),L=n.useThree((e=>e.events)),T=n.useThree((e=>e.setEvents)),g=n.useThree((e=>e.set)),j=n.useThree((e=>e.get)),O=n.useThree((e=>e.performance)),q=o||p,w=s||L.connected||b.domElement,y=r.useMemo((()=>new d.default(q)),[q]);return n.useFrame(((e,t)=>{y.enabled&&y.update(t)}),-1),r.useEffect((()=>(y.connect(w),()=>{y.disconnect()})),[w,y]),i.useEffect((()=>{const e=e=>{h(),m&&O.regress(),v&&v(e)},t=e=>{l&&l(e)},r=e=>{f&&f(e)};return y.addEventListener("update",e),y.addEventListener("controlstart",t),y.addEventListener("controlend",r),y.addEventListener("control",e),y.addEventListener("transitionstart",e),y.addEventListener("wake",e),()=>{y.removeEventListener("update",e),y.removeEventListener("controlstart",t),y.removeEventListener("controlend",r),y.removeEventListener("control",e),y.removeEventListener("transitionstart",e),y.removeEventListener("wake",e)}}),[y,l,f,h,T,m,v]),r.useEffect((()=>{if(a){const e=j().controls;return g({controls:y}),()=>g({controls:e})}}),[a,y]),i.createElement("primitive",u.default({ref:t,object:y},E))}));exports.CameraControls=l;
@@ -60,10 +60,16 @@ const CameraControls = /*#__PURE__*/forwardRef((props, ref) => {
60
60
  controls.addEventListener('update', callback);
61
61
  controls.addEventListener('controlstart', onStartCb);
62
62
  controls.addEventListener('controlend', onEndCb);
63
+ controls.addEventListener('control', callback);
64
+ controls.addEventListener('transitionstart', callback);
65
+ controls.addEventListener('wake', callback);
63
66
  return () => {
64
67
  controls.removeEventListener('update', callback);
65
68
  controls.removeEventListener('controlstart', onStartCb);
66
69
  controls.removeEventListener('controlend', onEndCb);
70
+ controls.removeEventListener('control', callback);
71
+ controls.removeEventListener('transitionstart', callback);
72
+ controls.removeEventListener('wake', callback);
67
73
  };
68
74
  }, [controls, onStart, onEnd, invalidate, setEvents, regress, onChange]);
69
75
  useEffect(() => {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("three"),r=require("react");function n(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(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var o=n(e),i=u(r);const c=i.forwardRef((function({children:e,disable:r,disableX:n,disableY:u,disableZ:c,left:a,right:l,top:f,bottom:s,front:d,back:p,onCentered:b,precise:m=!0,...g},h){const x=i.useRef(null),y=i.useRef(null),j=i.useRef(null),v=i.useRef(new t.Box3);return i.useLayoutEffect((()=>{y.current.matrixWorld.identity();const e=(new t.Box3).setFromObject(j.current,m),o=new t.Vector3,i=new t.Sphere,g=e.max.x-e.min.x,h=e.max.y-e.min.y,O=e.max.z-e.min.z;e.getCenter(o),e.getBoundingSphere(i);const w=f?h/2:s?-h/2:0,z=a?-g/2:l?g/2:0,E=d?O/2:p?-O/2:0;y.current.position.set(r||n?0:-o.x+z,r||u?0:-o.y+w,r||c?0:-o.z+E),void 0===b||v.current.equals(e)||(v.current.copy(e),b({parent:x.current.parent,container:x.current,width:g,height:h,depth:O,boundingBox:e,boundingSphere:i,center:o,verticalAlignment:w,horizontalAlignment:z,depthAlignment:E}))})),i.useImperativeHandle(h,(()=>x.current),[]),i.createElement("group",o.default({ref:x},g),i.createElement("group",{ref:y},i.createElement("group",{ref:j},e)))}));exports.Center=c;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("three"),r=require("react");function n(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(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var i=n(e),o=u(r);const c=o.forwardRef((function({children:e,disable:r,disableX:n,disableY:u,disableZ:c,left:a,right:l,top:f,bottom:d,front:s,back:p,onCentered:b,precise:m=!0,...g},h){const x=o.useRef(null),y=o.useRef(null),j=o.useRef(null);return o.useLayoutEffect((()=>{y.current.matrixWorld.identity();const e=(new t.Box3).setFromObject(j.current,m),i=new t.Vector3,o=new t.Sphere,g=e.max.x-e.min.x,h=e.max.y-e.min.y,v=e.max.z-e.min.z;e.getCenter(i),e.getBoundingSphere(o);const O=f?h/2:d?-h/2:0,w=a?-g/2:l?g/2:0,z=s?v/2:p?-v/2:0;y.current.position.set(r||n?0:-i.x+w,r||u?0:-i.y+O,r||c?0:-i.z+z),void 0!==b&&b({parent:x.current.parent,container:x.current,width:g,height:h,depth:v,boundingBox:e,boundingSphere:o,center:i,verticalAlignment:O,horizontalAlignment:w,depthAlignment:z})}),[e,b,f,a,s,r,n,u,c,m,l,d,p]),o.useImperativeHandle(h,(()=>x.current),[]),o.createElement("group",i.default({ref:x},g),o.createElement("group",{ref:y},o.createElement("group",{ref:j},e)))}));exports.Center=c;
package/core/Center.js CHANGED
@@ -21,7 +21,6 @@ const Center = /*#__PURE__*/React.forwardRef(function Center({
21
21
  const ref = React.useRef(null);
22
22
  const outer = React.useRef(null);
23
23
  const inner = React.useRef(null);
24
- const oldBox = React.useRef(new Box3());
25
24
  React.useLayoutEffect(() => {
26
25
  outer.current.matrixWorld.identity();
27
26
  const box3 = new Box3().setFromObject(inner.current, precise);
@@ -37,8 +36,7 @@ const Center = /*#__PURE__*/React.forwardRef(function Center({
37
36
  const dAlign = front ? depth / 2 : back ? -depth / 2 : 0;
38
37
  outer.current.position.set(disable || disableX ? 0 : -center.x + hAlign, disable || disableY ? 0 : -center.y + vAlign, disable || disableZ ? 0 : -center.z + dAlign); // Only fire onCentered if the bounding box has changed
39
38
 
40
- if (typeof onCentered !== 'undefined' && !oldBox.current.equals(box3)) {
41
- oldBox.current.copy(box3);
39
+ if (typeof onCentered !== 'undefined') {
42
40
  onCentered({
43
41
  parent: ref.current.parent,
44
42
  container: ref.current,
@@ -53,7 +51,7 @@ const Center = /*#__PURE__*/React.forwardRef(function Center({
53
51
  depthAlignment: dAlign
54
52
  });
55
53
  }
56
- });
54
+ }, [children, onCentered, top, left, front, disable, disableX, disableY, disableZ, precise, right, bottom, back]);
57
55
  React.useImperativeHandle(fRef, () => ref.current, []);
58
56
  return /*#__PURE__*/React.createElement("group", _extends({
59
57
  ref: ref
package/core/Float.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@react-three/fiber"),r=require("react-merge-refs"),n=require("three");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function a(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var u=a(e),i=o(r),c=a(n);const l=u.forwardRef((({children:e,speed:r=1,rotationIntensity:n=1,floatIntensity:o=1,floatingRange:a=[-.1,.1],...l},f)=>{const s=u.useRef(null),d=u.useRef(1e4*Math.random());return t.useFrame((e=>{var t,u;const i=d.current+e.clock.getElapsedTime();s.current.rotation.x=Math.cos(i/4*r)/8*n,s.current.rotation.y=Math.sin(i/4*r)/8*n,s.current.rotation.z=Math.sin(i/4*r)/20*n;let l=Math.sin(i/4*r)/10;l=c.MathUtils.mapLinear(l,-.1,.1,null!==(t=null==a?void 0:a[0])&&void 0!==t?t:-.1,null!==(u=null==a?void 0:a[1])&&void 0!==u?u:.1),s.current.position.y=l*o})),u.createElement("group",l,u.createElement("group",{ref:i.default([s,f])},e))}));exports.Float=l;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@react-three/fiber"),r=require("react-merge-refs"),n=require("three");function a(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(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var o=u(e),i=a(r),c=u(n);const l=o.forwardRef((({children:e,enabled:r=!0,speed:n=1,rotationIntensity:a=1,floatIntensity:u=1,floatingRange:l=[-.1,.1],...f},s)=>{const d=o.useRef(null),p=o.useRef(1e4*Math.random());return t.useFrame((e=>{var t,o;if(!r||0===n)return;const i=p.current+e.clock.getElapsedTime();d.current.rotation.x=Math.cos(i/4*n)/8*a,d.current.rotation.y=Math.sin(i/4*n)/8*a,d.current.rotation.z=Math.sin(i/4*n)/20*a;let f=Math.sin(i/4*n)/10;f=c.MathUtils.mapLinear(f,-.1,.1,null!==(t=null==l?void 0:l[0])&&void 0!==t?t:-.1,null!==(o=null==l?void 0:l[1])&&void 0!==o?o:.1),d.current.position.y=f*u,d.current.updateMatrix()})),o.createElement("group",f,o.createElement("group",{ref:i.default([d,s]),matrixAutoUpdate:!1},e))}));exports.Float=l;
package/core/Float.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import * as THREE from 'three';
3
3
  export declare type FloatProps = JSX.IntrinsicElements['group'] & {
4
+ enabled?: boolean;
4
5
  speed?: number;
5
6
  rotationIntensity?: number;
6
7
  floatIntensity?: number;
7
8
  children?: React.ReactNode;
8
9
  floatingRange?: [number?, number?];
9
10
  };
10
- export declare const Float: React.ForwardRefExoticComponent<Pick<FloatProps, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "isGroup" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "speed" | "rotationIntensity" | "floatIntensity" | "floatingRange"> & React.RefAttributes<THREE.Group>>;
11
+ export declare const Float: React.ForwardRefExoticComponent<Pick<FloatProps, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "isGroup" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "enabled" | "speed" | "rotationIntensity" | "floatIntensity" | "floatingRange"> & React.RefAttributes<THREE.Group>>;
package/core/Float.js CHANGED
@@ -5,6 +5,7 @@ import * as THREE from 'three';
5
5
 
6
6
  const Float = /*#__PURE__*/React.forwardRef(({
7
7
  children,
8
+ enabled = true,
8
9
  speed = 1,
9
10
  rotationIntensity = 1,
10
11
  floatIntensity = 1,
@@ -16,6 +17,7 @@ const Float = /*#__PURE__*/React.forwardRef(({
16
17
  useFrame(state => {
17
18
  var _floatingRange$, _floatingRange$2;
18
19
 
20
+ if (!enabled || speed === 0) return;
19
21
  const t = offset.current + state.clock.getElapsedTime();
20
22
  ref.current.rotation.x = Math.cos(t / 4 * speed) / 8 * rotationIntensity;
21
23
  ref.current.rotation.y = Math.sin(t / 4 * speed) / 8 * rotationIntensity;
@@ -23,9 +25,11 @@ const Float = /*#__PURE__*/React.forwardRef(({
23
25
  let yPosition = Math.sin(t / 4 * speed) / 10;
24
26
  yPosition = THREE.MathUtils.mapLinear(yPosition, -0.1, 0.1, (_floatingRange$ = floatingRange == null ? void 0 : floatingRange[0]) !== null && _floatingRange$ !== void 0 ? _floatingRange$ : -0.1, (_floatingRange$2 = floatingRange == null ? void 0 : floatingRange[1]) !== null && _floatingRange$2 !== void 0 ? _floatingRange$2 : 0.1);
25
27
  ref.current.position.y = yPosition * floatIntensity;
28
+ ref.current.updateMatrix();
26
29
  });
27
30
  return /*#__PURE__*/React.createElement("group", props, /*#__PURE__*/React.createElement("group", {
28
- ref: mergeRefs([ref, forwardRef])
31
+ ref: mergeRefs([ref, forwardRef]),
32
+ matrixAutoUpdate: false
29
33
  }, children));
30
34
  });
31
35
 
package/core/Text.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("troika-three-text"),n=require("@react-three/fiber"),o=require("suspend-react");function c(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(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var a=c(e),i=u(t);const f=i.forwardRef((({anchorX:e="center",anchorY:t="middle",font:c,fontSize:u=1,children:f,characters:s,onSync:d,...l},p)=>{const h=n.useThree((({invalidate:e})=>e)),[b]=i.useState((()=>new r.Text)),[y,j]=i.useMemo((()=>{const e=[];let t="";return i.Children.forEach(f,(r=>{"string"==typeof r||"number"==typeof r?t+=r:e.push(r)})),[e,t]}),[f]);return o.suspend((()=>new Promise((e=>r.preloadFont({font:c,characters:s},e)))),["troika-text",c,s]),i.useLayoutEffect((()=>{b.sync((()=>{h(),d&&d(b)}))})),i.useEffect((()=>()=>b.dispose()),[b]),i.createElement("primitive",a.default({object:b,ref:p,font:c,text:j,anchorX:e,anchorY:t,fontSize:u},l),y)}));exports.Text=f;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("troika-three-text"),n=require("@react-three/fiber"),o=require("suspend-react");function c(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(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var a=c(e),i=u(t);const f=i.forwardRef((({sdfGlyphSize:e=64,anchorX:t="center",anchorY:c="middle",font:u,fontSize:f=1,children:s,characters:d,onSync:l,...p},h)=>{const b=n.useThree((({invalidate:e})=>e)),[y]=i.useState((()=>new r.Text)),[j,m]=i.useMemo((()=>{const e=[];let t="";return i.Children.forEach(s,(r=>{"string"==typeof r||"number"==typeof r?t+=r:e.push(r)})),[e,t]}),[s]);return o.suspend((()=>new Promise((e=>r.preloadFont({font:u,characters:d},e)))),["troika-text",u,d]),i.useLayoutEffect((()=>{y.sync((()=>{b(),l&&l(y)}))})),i.useEffect((()=>()=>y.dispose()),[y]),i.createElement("primitive",a.default({object:y,ref:h,font:u,text:m,anchorX:t,anchorY:c,fontSize:f,sdfGlyphSize:e},p),j)}));exports.Text=f;
package/core/Text.d.ts CHANGED
@@ -45,6 +45,7 @@ export declare const Text: React.ForwardRefExoticComponent<Pick<Omit<ReactThreeF
45
45
  strokeColor?: ReactThreeFiber.Color | undefined;
46
46
  strokeOpacity?: number | undefined;
47
47
  fillOpacity?: number | undefined;
48
+ sdfGlyphSize?: number | undefined;
48
49
  debugSDF?: boolean | undefined;
49
50
  onSync?: ((troika: any) => void) | undefined;
50
- }, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | "color" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "font" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition" | "direction" | "fontSize" | "letterSpacing" | "lineHeight" | "maxWidth" | "outlineColor" | "outlineWidth" | "overflowWrap" | "textAlign" | "whiteSpace" | "fillOpacity" | "strokeOpacity" | "strokeWidth" | "anchorX" | "anchorY" | "characters" | "onSync" | "clipRect" | "depthOffset" | "outlineOffsetX" | "outlineOffsetY" | "outlineBlur" | "outlineOpacity" | "strokeColor" | "debugSDF"> & React.RefAttributes<any>>;
51
+ }, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | "color" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "font" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition" | "direction" | "fontSize" | "letterSpacing" | "lineHeight" | "maxWidth" | "outlineColor" | "outlineWidth" | "overflowWrap" | "textAlign" | "whiteSpace" | "fillOpacity" | "strokeOpacity" | "strokeWidth" | "sdfGlyphSize" | "anchorX" | "anchorY" | "characters" | "onSync" | "clipRect" | "depthOffset" | "outlineOffsetX" | "outlineOffsetY" | "outlineBlur" | "outlineOpacity" | "strokeColor" | "debugSDF"> & React.RefAttributes<any>>;
package/core/Text.js CHANGED
@@ -6,6 +6,7 @@ import { suspend } from 'suspend-react';
6
6
 
7
7
  // eslint-disable-next-line prettier/prettier
8
8
  const Text = /*#__PURE__*/React.forwardRef(({
9
+ sdfGlyphSize = 64,
9
10
  anchorX = 'center',
10
11
  anchorY = 'middle',
11
12
  font,
@@ -49,7 +50,8 @@ const Text = /*#__PURE__*/React.forwardRef(({
49
50
  text: text,
50
51
  anchorX: anchorX,
51
52
  anchorY: anchorY,
52
- fontSize: fontSize
53
+ fontSize: fontSize,
54
+ sdfGlyphSize: sdfGlyphSize
53
55
  }, props), nodes);
54
56
  });
55
57