@react-three/drei 10.0.0-rc.3 → 10.0.1

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/core/Billboard.js CHANGED
@@ -3,14 +3,14 @@ import * as React from 'react';
3
3
  import { Quaternion } from 'three';
4
4
  import { useFrame } from '@react-three/fiber';
5
5
 
6
- /**
7
- * Wraps children in a billboarded group. Sample usage:
8
- *
9
- * ```js
10
- * <Billboard>
11
- * <Text>hi</Text>
12
- * </Billboard>
13
- * ```
6
+ /**
7
+ * Wraps children in a billboarded group. Sample usage:
8
+ *
9
+ * ```js
10
+ * <Billboard>
11
+ * <Text>hi</Text>
12
+ * </Billboard>
13
+ * ```
14
14
  */
15
15
  const Billboard = /* @__PURE__ */React.forwardRef(function Billboard({
16
16
  children,
package/core/Bounds.js CHANGED
@@ -124,8 +124,8 @@ function Bounds({
124
124
  t.current = 0;
125
125
  return this;
126
126
  },
127
- /**
128
- * @deprecated Use moveTo and lookAt instead
127
+ /**
128
+ * @deprecated Use moveTo and lookAt instead
129
129
  */
130
130
  to({
131
131
  position,
package/core/Bvh.js CHANGED
@@ -6,8 +6,8 @@ import { SAH, acceleratedRaycast, computeBoundsTree, disposeBoundsTree } from 't
6
6
 
7
7
  const isMesh = child => child.isMesh;
8
8
 
9
- /**
10
- * @deprecated Use the Bvh component instead
9
+ /**
10
+ * @deprecated Use the Bvh component instead
11
11
  */
12
12
  function useBVH(mesh, options) {
13
13
  options = {
@@ -1,7 +1,7 @@
1
1
  import { Line2 } from 'three-stdlib';
2
2
  import { LineProps } from './Line';
3
3
  import { ForwardRefComponent } from '../helpers/ts-utils';
4
- export type CatmullRomLineProps = Omit<LineProps, 'ref'> & {
4
+ export type CatmullRomLineProps = Omit<LineProps, 'ref' | 'segments'> & {
5
5
  closed?: boolean;
6
6
  curveType?: 'centripetal' | 'chordal' | 'catmullrom';
7
7
  tension?: number;
@@ -2,10 +2,10 @@ import _extends from '@babel/runtime/helpers/esm/extends';
2
2
  import * as React from 'react';
3
3
  import { BufferAttribute } from 'three';
4
4
 
5
- /**
6
- * Used exclusively as a child of a BufferGeometry.
7
- * Computes the BufferAttribute by calling the `compute` function
8
- * and attaches the attribute to the geometry.
5
+ /**
6
+ * Used exclusively as a child of a BufferGeometry.
7
+ * Computes the BufferAttribute by calling the `compute` function
8
+ * and attaches the attribute to the geometry.
9
9
  */
10
10
  const ComputedAttribute = ({
11
11
  compute,
package/core/Example.js CHANGED
@@ -3,8 +3,8 @@ import { Text3D } from './Text3D.js';
3
3
  import { Center } from './Center.js';
4
4
 
5
5
  /* eslint react-hooks/exhaustive-deps: 1 */
6
- /**
7
- * A simple counter example component. Click to increment, meta-click to decrement.
6
+ /**
7
+ * A simple counter example component. Click to increment, meta-click to decrement.
8
8
  */
9
9
  const Example = /* @__PURE__ */React.forwardRef(({
10
10
  font,
package/core/Instances.js CHANGED
@@ -221,9 +221,9 @@ const Merged = /*#__PURE__*/React.forwardRef(function Merged({
221
221
  }, children(instances));
222
222
  });
223
223
 
224
- /** Idea and implementation for global instances and instanced attributes by
225
- /* Matias Gonzalez Fernandez https://x.com/matiNotFound
226
- /* and Paul Henschel https://x.com/0xca0a
224
+ /** Idea and implementation for global instances and instanced attributes by
225
+ /* Matias Gonzalez Fernandez https://x.com/matiNotFound
226
+ /* and Paul Henschel https://x.com/0xca0a
227
227
  */
228
228
  function createInstances() {
229
229
  const context = /*#__PURE__*/React.createContext(null);
@@ -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("maath");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(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 s=u(e),a=c(t),i=c(r);const f=i.createContext(null);function l(){return i.useContext(f)}function p({points:e=50}){const{path:t}=l(),[r,n]=i.useState([]),[o]=i.useState((()=>new a.MeshBasicMaterial({color:"black"}))),[u]=i.useState((()=>new a.SphereGeometry(.025,16,16))),c=i.useRef([]);return i.useEffect((()=>{t.curves!==c.current&&(n(t.getPoints(e)),c.current=t.curves)})),i.createElement(i.Fragment,null,r.map(((e,t)=>i.createElement("mesh",{key:t,material:o,geometry:u,position:[e.x,e.y,e.z]}))))}const m=i.forwardRef((({children:e,curves:t=[],object:r,debug:u=!1,smooth:c=!1,focus:l,offset:m,eps:d=1e-5,damping:g=.1,focusDamping:v=.1,maxSpeed:h=1/0,...b},j)=>{const{camera:y}=n.useThree(),P=i.useRef(null),[w]=i.useState((()=>new a.CurvePath)),x=i.useRef(null!=m?m:0),O=i.useMemo((()=>({focus:l,object:(null==r?void 0:r.current)instanceof a.Object3D?r:{current:y},path:w,current:x.current,offset:x.current,point:new a.Vector3,tangent:new a.Vector3,next:new a.Vector3})),[l,r]);i.useLayoutEffect((()=>{w.curves=[];const e=t.length>0?t:P.current.__r3f.children.map((e=>e.object));for(var r=0;r<e.length;r++)w.add(e[r]);if(c){const e=w.getPoints("number"==typeof c?c:1),t=new a.CatmullRomCurve3(e);w.curves=[t]}w.updateArcLengths()})),i.useImperativeHandle(j,(()=>P.current),[]),i.useLayoutEffect((()=>{x.current=o.misc.repeat(x.current,1)}),[m]);let E=0;const[C]=i.useState((()=>new a.Vector3));return n.useFrame(((e,t)=>{if(E=O.offset,o.easing.damp(x,"current",void 0!==m?m:O.current,g,t,h,void 0,d),O.offset=o.misc.repeat(x.current,1),w.getCurveLengths().length>0){w.getPointAt(O.offset,O.point),w.getTangentAt(O.offset,O.tangent).normalize(),w.getPointAt(o.misc.repeat(x.current-(E-O.offset),1),O.next);const e=(null==r?void 0:r.current)instanceof a.Object3D?r.current:y;e.position.copy(O.point),l&&o.easing.dampLookAt(e,(e=>(null==e?void 0:e.current)instanceof a.Object3D)(l)?l.current.getWorldPosition(C):l,v,t,h,void 0,d)}})),i.createElement("group",s.default({ref:P},b),i.createElement(f.Provider,{value:O},e,u&&i.createElement(p,null)))}));exports.MotionPathControls=m,exports.useMotion=l;
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("maath");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 s=c(e),a=u(t),i=u(r);const f=i.createContext(null);function l(){const e=i.useContext(f);if(!e)throw new Error("useMotion hook must be used in a MotionPathControls component.");return e}function m({points:e=50,color:t="black"}){const{path:r}=l(),[n,o]=i.useState([]),c=i.useMemo((()=>new a.MeshBasicMaterial({color:t})),[t]),u=i.useMemo((()=>new a.SphereGeometry(.025,16,16)),[]),s=i.useRef([]);return i.useEffect((()=>{r.curves!==s.current&&(o(r.getPoints(e)),s.current=r.curves)})),n.map(((e,t)=>i.createElement("mesh",{key:t,material:c,geometry:u,position:[e.x,e.y,e.z]})))}const p=i.forwardRef((({children:e,curves:t=[],debug:r=!1,debugColor:c="black",object:u,focus:l,loop:p=!0,offset:d,smooth:g=!1,eps:b=1e-5,damping:h=.1,focusDamping:v=.1,maxSpeed:j=1/0,...y},M)=>{const{camera:w}=n.useThree(),P=i.useRef(null),O=i.useRef(null!=d?d:0),x=i.useMemo((()=>new a.CurvePath),[]),C=i.useMemo((()=>({focus:l,object:(null==u?void 0:u.current)instanceof a.Object3D?u:{current:w},path:x,current:O.current,offset:O.current,point:new a.Vector3,tangent:new a.Vector3,next:new a.Vector3})),[l,u]),E=n.useInstanceHandle(P);i.useLayoutEffect((()=>{const e=E.current;x.curves=[];const r=t.length>0?t:e.children.map((e=>e.object));for(let e=0;e<r.length;e++)x.add(r[e]);if(g){const e=x.getPoints("number"==typeof g?g:1),t=new a.CatmullRomCurve3(e);x.curves=[t]}x.updateArcLengths()})),i.useImperativeHandle(M,(()=>Object.assign(P.current,{motion:C})),[C]),i.useLayoutEffect((()=>{O.current=o.misc.repeat(O.current,1)}),[d]);const k=i.useMemo((()=>new a.Vector3),[]);return n.useFrame(((e,t)=>{const r=C.offset;if(o.easing.damp(O,"current",void 0!==d?d:C.current,h,t,j,void 0,b),C.offset=p?o.misc.repeat(O.current,1):o.misc.clamp(O.current,0,1),x.getCurveLengths().length>0){x.getPointAt(C.offset,C.point),x.getTangentAt(C.offset,C.tangent).normalize(),x.getPointAt(o.misc.repeat(O.current-(r-C.offset),1),C.next);const e=(null==u?void 0:u.current)instanceof a.Object3D?u.current:w;e.position.copy(C.point),l&&o.easing.dampLookAt(e,(e=>(null==e?void 0:e.current)instanceof a.Object3D)(l)?l.current.getWorldPosition(k):l,v,t,j,void 0,b)}})),i.createElement("group",s.default({ref:P},y),i.createElement(f.Provider,{value:C},e,r&&i.createElement(m,{color:c})))}));exports.MotionPathControls=p,exports.useMotion=l;
@@ -1,11 +1,13 @@
1
1
  import * as THREE from 'three';
2
2
  import * as React from 'react';
3
3
  import { ThreeElements } from '@react-three/fiber';
4
- export type MotionPathProps = Omit<ThreeElements['group'], 'ref'> & {
4
+ export type MotionPathProps = ThreeElements['group'] & {
5
5
  curves?: THREE.Curve<THREE.Vector3>[];
6
6
  debug?: boolean;
7
+ debugColor?: THREE.ColorRepresentation;
7
8
  object?: React.RefObject<THREE.Object3D>;
8
9
  focus?: [x: number, y: number, z: number] | React.RefObject<THREE.Object3D>;
10
+ loop?: boolean;
9
11
  offset?: number;
10
12
  smooth?: boolean | number;
11
13
  eps?: number;
@@ -23,17 +25,9 @@ type MotionState = {
23
25
  tangent: THREE.Vector3;
24
26
  next: THREE.Vector3;
25
27
  };
28
+ export type MotionPathRef = THREE.Group & {
29
+ motion: MotionState;
30
+ };
26
31
  export declare function useMotion(): MotionState;
27
- export declare const MotionPathControls: React.ForwardRefExoticComponent<Omit<import("@react-three/fiber/dist/declarations/src/core/utils").Mutable<import("@react-three/fiber/dist/declarations/src/core/utils").Overwrite<Partial<import("@react-three/fiber/dist/declarations/src/core/utils").Overwrite<THREE.Group<THREE.Object3DEventMap>, import("@react-three/fiber").MathProps<THREE.Group<THREE.Object3DEventMap>> & import("@react-three/fiber").ReactProps<THREE.Group<THREE.Object3DEventMap>> & Partial<import("@react-three/fiber").EventHandlers>>>, Omit<import("@react-three/fiber").InstanceProps<THREE.Group<THREE.Object3DEventMap>, typeof THREE.Group>, "object">>>, "ref"> & {
28
- curves?: THREE.Curve<THREE.Vector3>[];
29
- debug?: boolean;
30
- object?: React.RefObject<THREE.Object3D>;
31
- focus?: [x: number, y: number, z: number] | React.RefObject<THREE.Object3D>;
32
- offset?: number;
33
- smooth?: boolean | number;
34
- eps?: number;
35
- damping?: number;
36
- focusDamping?: number;
37
- maxSpeed?: number;
38
- } & React.RefAttributes<THREE.Group<THREE.Object3DEventMap>>>;
32
+ export declare const MotionPathControls: React.ForwardRefExoticComponent<Omit<MotionPathProps, "ref"> & React.RefAttributes<MotionPathRef>>;
39
33
  export {};
@@ -1,25 +1,28 @@
1
1
  import _extends from '@babel/runtime/helpers/esm/extends';
2
2
  import * as THREE from 'three';
3
3
  import * as React from 'react';
4
- import { useThree, useFrame } from '@react-three/fiber';
4
+ import { useThree, useInstanceHandle, useFrame } from '@react-three/fiber';
5
5
  import { misc, easing } from 'maath';
6
6
 
7
7
  const isObject3DRef = ref => (ref == null ? void 0 : ref.current) instanceof THREE.Object3D;
8
- const context = /* @__PURE__ */React.createContext(null);
8
+ const MotionContext = /* @__PURE__ */React.createContext(null);
9
9
  function useMotion() {
10
- return React.useContext(context);
10
+ const context = React.useContext(MotionContext);
11
+ if (!context) throw new Error('useMotion hook must be used in a MotionPathControls component.');
12
+ return context;
11
13
  }
12
14
  function Debug({
13
- points = 50
15
+ points = 50,
16
+ color = 'black'
14
17
  }) {
15
18
  const {
16
19
  path
17
20
  } = useMotion();
18
21
  const [dots, setDots] = React.useState([]);
19
- const [material] = React.useState(() => new THREE.MeshBasicMaterial({
20
- color: 'black'
21
- }));
22
- const [geometry] = React.useState(() => new THREE.SphereGeometry(0.025, 16, 16));
22
+ const material = React.useMemo(() => new THREE.MeshBasicMaterial({
23
+ color: color
24
+ }), [color]);
25
+ const geometry = React.useMemo(() => new THREE.SphereGeometry(0.025, 16, 16), []);
23
26
  const last = React.useRef([]);
24
27
  React.useEffect(() => {
25
28
  if (path.curves !== last.current) {
@@ -27,21 +30,23 @@ function Debug({
27
30
  last.current = path.curves;
28
31
  }
29
32
  });
30
- return /*#__PURE__*/React.createElement(React.Fragment, null, dots.map((item, index) => /*#__PURE__*/React.createElement("mesh", {
33
+ return dots.map((item, index) => /*#__PURE__*/React.createElement("mesh", {
31
34
  key: index,
32
35
  material: material,
33
36
  geometry: geometry,
34
37
  position: [item.x, item.y, item.z]
35
- })));
38
+ }));
36
39
  }
37
40
  const MotionPathControls = /* @__PURE__ */React.forwardRef(({
38
41
  children,
39
42
  curves = [],
40
- object,
41
43
  debug = false,
42
- smooth = false,
44
+ debugColor = 'black',
45
+ object,
43
46
  focus,
47
+ loop = true,
44
48
  offset = undefined,
49
+ smooth = false,
45
50
  eps = 0.00001,
46
51
  damping = 0.1,
47
52
  focusDamping = 0.1,
@@ -52,8 +57,8 @@ const MotionPathControls = /* @__PURE__ */React.forwardRef(({
52
57
  camera
53
58
  } = useThree();
54
59
  const ref = React.useRef(null);
55
- const [path] = React.useState(() => new THREE.CurvePath());
56
60
  const pos = React.useRef(offset !== null && offset !== void 0 ? offset : 0);
61
+ const path = React.useMemo(() => new THREE.CurvePath(), []);
57
62
  const state = React.useMemo(() => ({
58
63
  focus,
59
64
  object: (object == null ? void 0 : object.current) instanceof THREE.Object3D ? object : {
@@ -66,12 +71,14 @@ const MotionPathControls = /* @__PURE__ */React.forwardRef(({
66
71
  tangent: new THREE.Vector3(),
67
72
  next: new THREE.Vector3()
68
73
  }), [focus, object]);
74
+ const instanceRef = useInstanceHandle(ref);
69
75
  React.useLayoutEffect(() => {
76
+ const instance = instanceRef.current;
70
77
  path.curves = [];
71
- const _curves = curves.length > 0 ? curves : ref.current.__r3f.children.map(instance => instance.object);
72
- for (var i = 0; i < _curves.length; i++) path.add(_curves[i]);
78
+ const _curves = curves.length > 0 ? curves : instance.children.map(instance => instance.object);
79
+ for (let i = 0; i < _curves.length; i++) path.add(_curves[i]);
73
80
 
74
- //Smoothen curve
81
+ // Smoothen curve
75
82
  if (smooth) {
76
83
  const points = path.getPoints(typeof smooth === 'number' ? smooth : 1);
77
84
  const catmull = new THREE.CatmullRomCurve3(points);
@@ -79,24 +86,24 @@ const MotionPathControls = /* @__PURE__ */React.forwardRef(({
79
86
  }
80
87
  path.updateArcLengths();
81
88
  });
82
- React.useImperativeHandle(fref, () => ref.current, []);
89
+ React.useImperativeHandle(fref, () => Object.assign(ref.current, {
90
+ motion: state
91
+ }), [state]);
83
92
  React.useLayoutEffect(() => {
84
93
  // When offset changes, normalise pos to avoid overshoot spinning
85
94
  pos.current = misc.repeat(pos.current, 1);
86
95
  }, [offset]);
87
- let last = 0;
88
- const [vec] = React.useState(() => new THREE.Vector3());
96
+ const vec = React.useMemo(() => new THREE.Vector3(), []);
89
97
  useFrame((_state, delta) => {
90
- last = state.offset;
98
+ const lastOffset = state.offset;
91
99
  easing.damp(pos, 'current', offset !== undefined ? offset : state.current, damping, delta, maxSpeed, undefined, eps);
92
- state.offset = misc.repeat(pos.current, 1);
100
+ state.offset = loop ? misc.repeat(pos.current, 1) : misc.clamp(pos.current, 0, 1);
93
101
  if (path.getCurveLengths().length > 0) {
94
102
  path.getPointAt(state.offset, state.point);
95
103
  path.getTangentAt(state.offset, state.tangent).normalize();
96
- path.getPointAt(misc.repeat(pos.current - (last - state.offset), 1), state.next);
104
+ path.getPointAt(misc.repeat(pos.current - (lastOffset - state.offset), 1), state.next);
97
105
  const target = (object == null ? void 0 : object.current) instanceof THREE.Object3D ? object.current : camera;
98
106
  target.position.copy(state.point);
99
- //@ts-ignore
100
107
  if (focus) {
101
108
  easing.dampLookAt(target, isObject3DRef(focus) ? focus.current.getWorldPosition(vec) : focus, focusDamping, delta, maxSpeed, undefined, eps);
102
109
  }
@@ -104,9 +111,11 @@ const MotionPathControls = /* @__PURE__ */React.forwardRef(({
104
111
  });
105
112
  return /*#__PURE__*/React.createElement("group", _extends({
106
113
  ref: ref
107
- }, props), /*#__PURE__*/React.createElement(context.Provider, {
114
+ }, props), /*#__PURE__*/React.createElement(MotionContext.Provider, {
108
115
  value: state
109
- }, children, debug && /*#__PURE__*/React.createElement(Debug, null)));
116
+ }, children, debug && /*#__PURE__*/React.createElement(Debug, {
117
+ color: debugColor
118
+ })));
110
119
  });
111
120
 
112
121
  export { MotionPathControls, useMotion };
package/core/Points.js CHANGED
@@ -62,8 +62,8 @@ const context = /* @__PURE__ */React.createContext(null);
62
62
  const parentMatrix = /* @__PURE__ */new THREE.Matrix4();
63
63
  const position = /* @__PURE__ */new THREE.Vector3();
64
64
 
65
- /**
66
- * Instance implementation, relies on react + context to update the attributes based on the children of this component
65
+ /**
66
+ * Instance implementation, relies on react + context to update the attributes based on the children of this component
67
67
  */
68
68
  const PointsInstances = /* @__PURE__ */React.forwardRef(({
69
69
  children,
@@ -151,8 +151,8 @@ const Point = /* @__PURE__ */React.forwardRef(({
151
151
  }, props), children);
152
152
  });
153
153
 
154
- /**
155
- * Buffer implementation, relies on complete buffers of the correct number, leaves it to the user to update them
154
+ /**
155
+ * Buffer implementation, relies on complete buffers of the correct number, leaves it to the user to update them
156
156
  */
157
157
 
158
158
  const PointsBuffer = /* @__PURE__ */React.forwardRef(({
@@ -6,18 +6,18 @@ import { Vector3 } from 'three';
6
6
  import { calculateScaleFactor } from './calculateScaleFactor.js';
7
7
 
8
8
  const worldPos = /* @__PURE__ */new Vector3();
9
- /**
10
- * Wraps children in an `Object3D` and attempts to scale from
11
- * world units to screen units * scale factor.
12
- *
13
- * For example, this will render a box of roughly 1x1 pixel size,
14
- * independently of how far the camera is.
15
- *
16
- * ```jsx
17
- * <ScreenSizer>
18
- * <Box />
19
- * </ScreenSizer>
20
- * ```
9
+ /**
10
+ * Wraps children in an `Object3D` and attempts to scale from
11
+ * world units to screen units * scale factor.
12
+ *
13
+ * For example, this will render a box of roughly 1x1 pixel size,
14
+ * independently of how far the camera is.
15
+ *
16
+ * ```jsx
17
+ * <ScreenSizer>
18
+ * <Box />
19
+ * </ScreenSizer>
20
+ * ```
21
21
  */
22
22
  const ScreenSizer = /* @__PURE__ */forwardRef(({
23
23
  scale = 1,
@@ -2,14 +2,14 @@ import { useFrame } from '@react-three/fiber';
2
2
  import * as React from 'react';
3
3
  import * as THREE from 'three';
4
4
 
5
- /**
6
- * Integration and compilation: Faraz Shaikh (https://twitter.com/CantBeFaraz)
7
- *
8
- * Based on:
9
- * - https://gkjohnson.github.io/threejs-sandbox/screendoor-transparency/ by Garrett Johnson (https://github.com/gkjohnson)
10
- *
11
- * Note:
12
- * - Must depreciate in favor of https://github.com/mrdoob/three.js/issues/10600 when it's ready.
5
+ /**
6
+ * Integration and compilation: Faraz Shaikh (https://twitter.com/CantBeFaraz)
7
+ *
8
+ * Based on:
9
+ * - https://gkjohnson.github.io/threejs-sandbox/screendoor-transparency/ by Garrett Johnson (https://github.com/gkjohnson)
10
+ *
11
+ * Note:
12
+ * - Must depreciate in favor of https://github.com/mrdoob/three.js/issues/10600 when it's ready.
13
13
  */
14
14
  function ShadowAlpha({
15
15
  opacity,
package/core/Text3D.js CHANGED
@@ -51,9 +51,9 @@ const Text3D = /* @__PURE__ */React.forwardRef(({
51
51
  };
52
52
  }, [font, size, height, bevelThickness, bevelSize, bevelEnabled, bevelSegments, bevelOffset, curveSegments, letterSpacing, lineHeight]);
53
53
 
54
- /**
55
- * We need the `children` in the deps because we
56
- * need to be able to do `<Text3d>{state}</Text3d>`.
54
+ /**
55
+ * We need the `children` in the deps because we
56
+ * need to be able to do `<Text3d>{state}</Text3d>`.
57
57
  */
58
58
  const [label, ...rest] = useMemo(() => getTextFromChildren(children), [children]);
59
59
  const args = React.useMemo(() => [label, opts], [label, opts]);
package/core/index.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Billboard.cjs.js"),r=require("./ScreenSpace.cjs.js"),s=require("./ScreenSizer.cjs.js"),t=require("./QuadraticBezierLine.cjs.js"),o=require("./CubicBezierLine.cjs.js"),i=require("./CatmullRomLine.cjs.js"),a=require("./Line.cjs.js"),u=require("./PositionalAudio.cjs.js"),c=require("./Text.cjs.js"),n=require("./Text3D.cjs.js"),p=require("./Effects.cjs.js"),j=require("./GradientTexture.cjs.js"),x=require("./Image.cjs.js"),l=require("./Edges.cjs.js"),d=require("./Outlines.cjs.js"),q=require("./Trail.cjs.js"),m=require("./Sampler.cjs.js"),h=require("./ComputedAttribute.cjs.js"),C=require("./Clone.cjs.js"),M=require("./MarchingCubes.cjs.js"),S=require("./Decal.cjs.js"),T=require("./Svg.cjs.js"),b=require("./Gltf.cjs.js"),P=require("./AsciiRenderer.cjs.js"),g=require("./Splat.cjs.js"),f=require("./OrthographicCamera.cjs.js"),B=require("./PerspectiveCamera.cjs.js"),v=require("./CubeCamera.cjs.js"),A=require("./DeviceOrientationControls.cjs.js"),F=require("./FlyControls.cjs.js"),L=require("./MapControls.cjs.js"),G=require("./OrbitControls.cjs.js"),D=require("./TrackballControls.cjs.js"),E=require("./ArcballControls.cjs.js"),R=require("./TransformControls.cjs.js"),k=require("./PointerLockControls.cjs.js"),I=require("./FirstPersonControls.cjs.js"),w=require("./CameraControls.cjs.js"),z=require("./MotionPathControls.cjs.js"),O=require("./GizmoHelper.cjs.js"),y=require("./GizmoViewcube.cjs.js"),H=require("./GizmoViewport.cjs.js"),V=require("./Grid.cjs.js"),W=require("./CubeTexture.cjs.js"),K=require("./Fbx.cjs.js"),Q=require("./Ktx2.cjs.js"),N=require("./Progress.cjs.js"),U=require("./Texture.cjs.js"),X=require("./VideoTexture.cjs.js"),_=require("./useFont.cjs.js"),J=require("./useSpriteLoader.cjs.js"),Y=require("./Helper.cjs.js"),Z=require("./Stats.cjs.js"),$=require("./StatsGl.cjs.js"),ee=require("./useDepthBuffer.cjs.js"),re=require("./useAspect.cjs.js"),se=require("./useCamera.cjs.js"),te=require("./DetectGPU.cjs.js"),oe=require("./Bvh.cjs.js"),ie=require("./useContextBridge.cjs.js"),ae=require("./useAnimations.cjs.js"),ue=require("./Fbo.cjs.js"),ce=require("./useIntersect.cjs.js"),ne=require("./useBoxProjectedEnv.cjs.js"),pe=require("./BBAnchor.cjs.js"),je=require("./TrailTexture.cjs.js"),xe=require("./Example.cjs.js"),le=require("./SpriteAnimator.cjs.js"),de=require("./CurveModifier.cjs.js"),qe=require("./MeshDistortMaterial.cjs.js"),me=require("./MeshWobbleMaterial.cjs.js"),he=require("./MeshReflectorMaterial.cjs.js"),Ce=require("./MeshRefractionMaterial.cjs.js"),Me=require("./MeshTransmissionMaterial.cjs.js"),Se=require("./MeshDiscardMaterial.cjs.js"),Te=require("./MultiMaterial.cjs.js"),be=require("./PointMaterial.cjs.js"),Pe=require("./shaderMaterial.cjs.js"),ge=require("./softShadows.cjs.js"),fe=require("./shapes.cjs.js"),Be=require("./RoundedBox.cjs.js"),ve=require("./ScreenQuad.cjs.js"),Ae=require("./Center.cjs.js"),Fe=require("./Resize.cjs.js"),Le=require("./Bounds.cjs.js"),Ge=require("./CameraShake.cjs.js"),De=require("./Float.cjs.js"),Ee=require("./Stage.cjs.js"),Re=require("./Backdrop.cjs.js"),ke=require("./Shadow.cjs.js"),Ie=require("./Caustics.cjs.js"),we=require("./ContactShadows.cjs.js"),ze=require("./AccumulativeShadows.cjs.js"),Oe=require("./SpotLight.cjs.js"),ye=require("./Environment.cjs.js"),He=require("./Lightformer.cjs.js"),Ve=require("./Sky.cjs.js"),We=require("./Stars.cjs.js"),Ke=require("./Cloud.cjs.js"),Qe=require("./Sparkles.cjs.js"),Ne=require("./useEnvironment.cjs.js"),Ue=require("./MatcapTexture.cjs.js"),Xe=require("./NormalTexture.cjs.js"),_e=require("./Wireframe.cjs.js"),Je=require("./ShadowAlpha.cjs.js"),Ye=require("./Points.cjs.js"),Ze=require("./Instances.cjs.js"),$e=require("./Segments.cjs.js"),er=require("./Detailed.cjs.js"),rr=require("./Preload.cjs.js"),sr=require("./BakeShadows.cjs.js"),tr=require("./meshBounds.cjs.js"),or=require("./AdaptiveDpr.cjs.js"),ir=require("./AdaptiveEvents.cjs.js"),ar=require("./PerformanceMonitor.cjs.js"),ur=require("./RenderTexture.cjs.js"),cr=require("./RenderCubeTexture.cjs.js"),nr=require("./Mask.cjs.js"),pr=require("./Hud.cjs.js"),jr=require("./Fisheye.cjs.js"),xr=require("./MeshPortalMaterial.cjs.js"),lr=require("./calculateScaleFactor.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("three"),require("@react-three/fiber"),require("three-stdlib"),require("troika-three-text"),require("suspend-react"),require("../helpers/constants.cjs.js"),require("meshline"),require("camera-controls"),require("maath"),require("zustand"),require("hls.js"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("stats-gl"),require("detect-gpu"),require("three-mesh-bvh"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../materials/MeshRefractionMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("@monogrid/gainmap-js"),require("../helpers/environment-assets.cjs.js"),require("../helpers/deprecated.cjs.js"),require("../materials/WireframeMaterial.cjs.js"),exports.Billboard=e.Billboard,exports.ScreenSpace=r.ScreenSpace,exports.ScreenSizer=s.ScreenSizer,exports.QuadraticBezierLine=t.QuadraticBezierLine,exports.CubicBezierLine=o.CubicBezierLine,exports.CatmullRomLine=i.CatmullRomLine,exports.Line=a.Line,exports.PositionalAudio=u.PositionalAudio,exports.Text=c.Text,exports.Text3D=n.Text3D,exports.Effects=p.Effects,exports.isWebGL2Available=p.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.GradientType=j.GradientType,exports.Image=x.Image,exports.Edges=l.Edges,exports.Outlines=d.Outlines,exports.Trail=q.Trail,exports.useTrail=q.useTrail,exports.Sampler=m.Sampler,exports.useSurfaceSampler=m.useSurfaceSampler,exports.ComputedAttribute=h.ComputedAttribute,exports.Clone=C.Clone,exports.MarchingCube=M.MarchingCube,exports.MarchingCubes=M.MarchingCubes,exports.MarchingPlane=M.MarchingPlane,exports.Decal=S.Decal,exports.Svg=T.Svg,exports.Gltf=b.Gltf,exports.useGLTF=b.useGLTF,exports.AsciiRenderer=P.AsciiRenderer,exports.Splat=g.Splat,exports.OrthographicCamera=f.OrthographicCamera,exports.PerspectiveCamera=B.PerspectiveCamera,exports.CubeCamera=v.CubeCamera,exports.useCubeCamera=v.useCubeCamera,exports.DeviceOrientationControls=A.DeviceOrientationControls,exports.FlyControls=F.FlyControls,exports.MapControls=L.MapControls,exports.OrbitControls=G.OrbitControls,exports.TrackballControls=D.TrackballControls,exports.ArcballControls=E.ArcballControls,exports.TransformControls=R.TransformControls,exports.PointerLockControls=k.PointerLockControls,exports.FirstPersonControls=I.FirstPersonControls,exports.CameraControls=w.CameraControls,exports.MotionPathControls=z.MotionPathControls,exports.useMotion=z.useMotion,exports.GizmoHelper=O.GizmoHelper,exports.useGizmoContext=O.useGizmoContext,exports.GizmoViewcube=y.GizmoViewcube,exports.GizmoViewport=H.GizmoViewport,exports.Grid=V.Grid,exports.CubeTexture=W.CubeTexture,exports.useCubeTexture=W.useCubeTexture,exports.Fbx=K.Fbx,exports.useFBX=K.useFBX,exports.Ktx2=Q.Ktx2,exports.useKTX2=Q.useKTX2,exports.Progress=N.Progress,exports.useProgress=N.useProgress,exports.IsObject=U.IsObject,exports.Texture=U.Texture,exports.useTexture=U.useTexture,exports.VideoTexture=X.VideoTexture,exports.useVideoTexture=X.useVideoTexture,exports.useFont=_.useFont,exports.checkIfFrameIsEmpty=J.checkIfFrameIsEmpty,exports.getFirstFrame=J.getFirstFrame,exports.useSpriteLoader=J.useSpriteLoader,exports.Helper=Y.Helper,exports.useHelper=Y.useHelper,exports.Stats=Z.Stats,exports.StatsGl=$.StatsGl,exports.useDepthBuffer=ee.useDepthBuffer,exports.useAspect=re.useAspect,exports.useCamera=se.useCamera,exports.DetectGPU=te.DetectGPU,exports.useDetectGPU=te.useDetectGPU,exports.Bvh=oe.Bvh,exports.useBVH=oe.useBVH,exports.useContextBridge=ie.useContextBridge,exports.useAnimations=ae.useAnimations,exports.Fbo=ue.Fbo,exports.useFBO=ue.useFBO,exports.useIntersect=ce.useIntersect,exports.useBoxProjectedEnv=ne.useBoxProjectedEnv,exports.BBAnchor=pe.BBAnchor,exports.TrailTexture=je.TrailTexture,exports.useTrailTexture=je.useTrailTexture,exports.Example=xe.Example,exports.SpriteAnimator=le.SpriteAnimator,exports.useSpriteAnimator=le.useSpriteAnimator,exports.CurveModifier=de.CurveModifier,exports.MeshDistortMaterial=qe.MeshDistortMaterial,exports.MeshWobbleMaterial=me.MeshWobbleMaterial,exports.MeshReflectorMaterial=he.MeshReflectorMaterial,exports.MeshRefractionMaterial=Ce.MeshRefractionMaterial,exports.MeshTransmissionMaterial=Me.MeshTransmissionMaterial,exports.MeshDiscardMaterial=Se.MeshDiscardMaterial,exports.MultiMaterial=Te.MultiMaterial,exports.PointMaterial=be.PointMaterial,exports.PointMaterialImpl=be.PointMaterialImpl,exports.shaderMaterial=Pe.shaderMaterial,exports.SoftShadows=ge.SoftShadows,exports.Box=fe.Box,exports.Capsule=fe.Capsule,exports.Circle=fe.Circle,exports.Cone=fe.Cone,exports.Cylinder=fe.Cylinder,exports.Dodecahedron=fe.Dodecahedron,exports.Extrude=fe.Extrude,exports.Icosahedron=fe.Icosahedron,exports.Lathe=fe.Lathe,exports.Octahedron=fe.Octahedron,exports.Plane=fe.Plane,exports.Polyhedron=fe.Polyhedron,exports.Ring=fe.Ring,exports.Shape=fe.Shape,exports.Sphere=fe.Sphere,exports.Tetrahedron=fe.Tetrahedron,exports.Torus=fe.Torus,exports.TorusKnot=fe.TorusKnot,exports.Tube=fe.Tube,exports.RoundedBox=Be.RoundedBox,exports.ScreenQuad=ve.ScreenQuad,exports.Center=Ae.Center,exports.Resize=Fe.Resize,exports.Bounds=Le.Bounds,exports.useBounds=Le.useBounds,exports.CameraShake=Ge.CameraShake,exports.Float=De.Float,exports.Stage=Ee.Stage,exports.Backdrop=Re.Backdrop,exports.Shadow=ke.Shadow,exports.Caustics=Ie.Caustics,exports.ContactShadows=we.ContactShadows,exports.AccumulativeShadows=ze.AccumulativeShadows,exports.RandomizedLight=ze.RandomizedLight,exports.accumulativeContext=ze.accumulativeContext,exports.SpotLight=Oe.SpotLight,exports.SpotLightShadow=Oe.SpotLightShadow,exports.Environment=ye.Environment,exports.EnvironmentCube=ye.EnvironmentCube,exports.EnvironmentMap=ye.EnvironmentMap,exports.EnvironmentPortal=ye.EnvironmentPortal,exports.Lightformer=He.Lightformer,exports.Sky=Ve.Sky,exports.calcPosFromAngles=Ve.calcPosFromAngles,exports.Stars=We.Stars,exports.Cloud=Ke.Cloud,exports.CloudInstance=Ke.CloudInstance,exports.Clouds=Ke.Clouds,exports.Sparkles=Qe.Sparkles,exports.useEnvironment=Ne.useEnvironment,exports.MatcapTexture=Ue.MatcapTexture,exports.useMatcapTexture=Ue.useMatcapTexture,exports.NormalTexture=Xe.NormalTexture,exports.useNormalTexture=Xe.useNormalTexture,exports.Wireframe=_e.Wireframe,exports.ShadowAlpha=Je.ShadowAlpha,exports.Point=Ye.Point,exports.Points=Ye.Points,exports.PointsBuffer=Ye.PointsBuffer,exports.PositionPoint=Ye.PositionPoint,exports.Instance=Ze.Instance,exports.InstancedAttribute=Ze.InstancedAttribute,exports.Instances=Ze.Instances,exports.Merged=Ze.Merged,exports.PositionMesh=Ze.PositionMesh,exports.createInstances=Ze.createInstances,exports.Segment=$e.Segment,exports.SegmentObject=$e.SegmentObject,exports.Segments=$e.Segments,exports.Detailed=er.Detailed,exports.Preload=rr.Preload,exports.BakeShadows=sr.BakeShadows,exports.meshBounds=tr.meshBounds,exports.AdaptiveDpr=or.AdaptiveDpr,exports.AdaptiveEvents=ir.AdaptiveEvents,exports.PerformanceMonitor=ar.PerformanceMonitor,exports.usePerformanceMonitor=ar.usePerformanceMonitor,exports.RenderTexture=ur.RenderTexture,exports.RenderCubeTexture=cr.RenderCubeTexture,exports.Mask=nr.Mask,exports.useMask=nr.useMask,exports.Hud=pr.Hud,exports.Fisheye=jr.Fisheye,exports.MeshPortalMaterial=xr.MeshPortalMaterial,exports.calculateScaleFactor=lr.calculateScaleFactor;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Billboard.cjs.js"),r=require("./ScreenSpace.cjs.js"),s=require("./ScreenSizer.cjs.js"),t=require("./QuadraticBezierLine.cjs.js"),o=require("./CubicBezierLine.cjs.js"),i=require("./CatmullRomLine.cjs.js"),a=require("./Line.cjs.js"),u=require("./PositionalAudio.cjs.js"),c=require("./Text.cjs.js"),n=require("./Text3D.cjs.js"),p=require("./Effects.cjs.js"),j=require("./GradientTexture.cjs.js"),x=require("./Image.cjs.js"),l=require("./Edges.cjs.js"),d=require("./Outlines.cjs.js"),q=require("./Trail.cjs.js"),m=require("./Sampler.cjs.js"),h=require("./ComputedAttribute.cjs.js"),C=require("./Clone.cjs.js"),M=require("./MarchingCubes.cjs.js"),S=require("./Decal.cjs.js"),T=require("./Svg.cjs.js"),b=require("./Gltf.cjs.js"),P=require("./AsciiRenderer.cjs.js"),g=require("./Splat.cjs.js"),f=require("./OrthographicCamera.cjs.js"),B=require("./PerspectiveCamera.cjs.js"),v=require("./CubeCamera.cjs.js"),A=require("./DeviceOrientationControls.cjs.js"),F=require("./FlyControls.cjs.js"),L=require("./MapControls.cjs.js"),G=require("./OrbitControls.cjs.js"),D=require("./TrackballControls.cjs.js"),E=require("./ArcballControls.cjs.js"),R=require("./TransformControls.cjs.js"),k=require("./PointerLockControls.cjs.js"),I=require("./FirstPersonControls.cjs.js"),w=require("./CameraControls.cjs.js"),z=require("./MotionPathControls.cjs.js"),O=require("./GizmoHelper.cjs.js"),y=require("./GizmoViewcube.cjs.js"),H=require("./GizmoViewport.cjs.js"),V=require("./Grid.cjs.js"),W=require("./CubeTexture.cjs.js"),K=require("./Fbx.cjs.js"),Q=require("./Ktx2.cjs.js"),N=require("./Progress.cjs.js"),U=require("./Texture.cjs.js"),X=require("./VideoTexture.cjs.js"),_=require("./useFont.cjs.js"),J=require("./useSpriteLoader.cjs.js"),Y=require("./Helper.cjs.js"),Z=require("./Stats.cjs.js"),$=require("./StatsGl.cjs.js"),ee=require("./useDepthBuffer.cjs.js"),re=require("./useAspect.cjs.js"),se=require("./useCamera.cjs.js"),te=require("./DetectGPU.cjs.js"),oe=require("./Bvh.cjs.js"),ie=require("./useContextBridge.cjs.js"),ae=require("./useAnimations.cjs.js"),ue=require("./Fbo.cjs.js"),ce=require("./useIntersect.cjs.js"),ne=require("./useBoxProjectedEnv.cjs.js"),pe=require("./BBAnchor.cjs.js"),je=require("./TrailTexture.cjs.js"),xe=require("./Example.cjs.js"),le=require("./SpriteAnimator.cjs.js"),de=require("./CurveModifier.cjs.js"),qe=require("./MeshDistortMaterial.cjs.js"),me=require("./MeshWobbleMaterial.cjs.js"),he=require("./MeshReflectorMaterial.cjs.js"),Ce=require("./MeshRefractionMaterial.cjs.js"),Me=require("./MeshTransmissionMaterial.cjs.js"),Se=require("./MeshDiscardMaterial.cjs.js"),Te=require("./MultiMaterial.cjs.js"),be=require("./PointMaterial.cjs.js"),Pe=require("./shaderMaterial.cjs.js"),ge=require("./softShadows.cjs.js"),fe=require("./shapes.cjs.js"),Be=require("./RoundedBox.cjs.js"),ve=require("./ScreenQuad.cjs.js"),Ae=require("./Center.cjs.js"),Fe=require("./Resize.cjs.js"),Le=require("./Bounds.cjs.js"),Ge=require("./CameraShake.cjs.js"),De=require("./Float.cjs.js"),Ee=require("./Stage.cjs.js"),Re=require("./Backdrop.cjs.js"),ke=require("./Shadow.cjs.js"),Ie=require("./Caustics.cjs.js"),we=require("./ContactShadows.cjs.js"),ze=require("./AccumulativeShadows.cjs.js"),Oe=require("./SpotLight.cjs.js"),ye=require("./Environment.cjs.js"),He=require("./Lightformer.cjs.js"),Ve=require("./Sky.cjs.js"),We=require("./Stars.cjs.js"),Ke=require("./Cloud.cjs.js"),Qe=require("./Sparkles.cjs.js"),Ne=require("./useEnvironment.cjs.js"),Ue=require("./MatcapTexture.cjs.js"),Xe=require("./NormalTexture.cjs.js"),_e=require("./Wireframe.cjs.js"),Je=require("./ShadowAlpha.cjs.js"),Ye=require("./Points.cjs.js"),Ze=require("./Instances.cjs.js"),$e=require("./Segments.cjs.js"),er=require("./Detailed.cjs.js"),rr=require("./Preload.cjs.js"),sr=require("./BakeShadows.cjs.js"),tr=require("./meshBounds.cjs.js"),or=require("./AdaptiveDpr.cjs.js"),ir=require("./AdaptiveEvents.cjs.js"),ar=require("./PerformanceMonitor.cjs.js"),ur=require("./RenderTexture.cjs.js"),cr=require("./RenderCubeTexture.cjs.js"),nr=require("./Mask.cjs.js"),pr=require("./Hud.cjs.js"),jr=require("./Fisheye.cjs.js"),xr=require("./MeshPortalMaterial.cjs.js"),lr=require("./calculateScaleFactor.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("three"),require("@react-three/fiber"),require("three-stdlib"),require("troika-three-text"),require("suspend-react"),require("../helpers/constants.cjs.js"),require("meshline"),require("camera-controls"),require("maath"),require("zustand"),require("hls.js"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("stats-gl"),require("detect-gpu"),require("three-mesh-bvh"),require("../helpers/deprecated.cjs.js"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../materials/MeshRefractionMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("@monogrid/gainmap-js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../materials/WireframeMaterial.cjs.js"),exports.Billboard=e.Billboard,exports.ScreenSpace=r.ScreenSpace,exports.ScreenSizer=s.ScreenSizer,exports.QuadraticBezierLine=t.QuadraticBezierLine,exports.CubicBezierLine=o.CubicBezierLine,exports.CatmullRomLine=i.CatmullRomLine,exports.Line=a.Line,exports.PositionalAudio=u.PositionalAudio,exports.Text=c.Text,exports.Text3D=n.Text3D,exports.Effects=p.Effects,exports.isWebGL2Available=p.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.GradientType=j.GradientType,exports.Image=x.Image,exports.Edges=l.Edges,exports.Outlines=d.Outlines,exports.Trail=q.Trail,exports.useTrail=q.useTrail,exports.Sampler=m.Sampler,exports.useSurfaceSampler=m.useSurfaceSampler,exports.ComputedAttribute=h.ComputedAttribute,exports.Clone=C.Clone,exports.MarchingCube=M.MarchingCube,exports.MarchingCubes=M.MarchingCubes,exports.MarchingPlane=M.MarchingPlane,exports.Decal=S.Decal,exports.Svg=T.Svg,exports.Gltf=b.Gltf,exports.useGLTF=b.useGLTF,exports.AsciiRenderer=P.AsciiRenderer,exports.Splat=g.Splat,exports.OrthographicCamera=f.OrthographicCamera,exports.PerspectiveCamera=B.PerspectiveCamera,exports.CubeCamera=v.CubeCamera,exports.useCubeCamera=v.useCubeCamera,exports.DeviceOrientationControls=A.DeviceOrientationControls,exports.FlyControls=F.FlyControls,exports.MapControls=L.MapControls,exports.OrbitControls=G.OrbitControls,exports.TrackballControls=D.TrackballControls,exports.ArcballControls=E.ArcballControls,exports.TransformControls=R.TransformControls,exports.PointerLockControls=k.PointerLockControls,exports.FirstPersonControls=I.FirstPersonControls,exports.CameraControls=w.CameraControls,exports.MotionPathControls=z.MotionPathControls,exports.useMotion=z.useMotion,exports.GizmoHelper=O.GizmoHelper,exports.useGizmoContext=O.useGizmoContext,exports.GizmoViewcube=y.GizmoViewcube,exports.GizmoViewport=H.GizmoViewport,exports.Grid=V.Grid,exports.CubeTexture=W.CubeTexture,exports.useCubeTexture=W.useCubeTexture,exports.Fbx=K.Fbx,exports.useFBX=K.useFBX,exports.Ktx2=Q.Ktx2,exports.useKTX2=Q.useKTX2,exports.Progress=N.Progress,exports.useProgress=N.useProgress,exports.IsObject=U.IsObject,exports.Texture=U.Texture,exports.useTexture=U.useTexture,exports.VideoTexture=X.VideoTexture,exports.useVideoTexture=X.useVideoTexture,exports.useFont=_.useFont,exports.checkIfFrameIsEmpty=J.checkIfFrameIsEmpty,exports.getFirstFrame=J.getFirstFrame,exports.useSpriteLoader=J.useSpriteLoader,exports.Helper=Y.Helper,exports.useHelper=Y.useHelper,exports.Stats=Z.Stats,exports.StatsGl=$.StatsGl,exports.useDepthBuffer=ee.useDepthBuffer,exports.useAspect=re.useAspect,exports.useCamera=se.useCamera,exports.DetectGPU=te.DetectGPU,exports.useDetectGPU=te.useDetectGPU,exports.Bvh=oe.Bvh,exports.useBVH=oe.useBVH,exports.useContextBridge=ie.useContextBridge,exports.useAnimations=ae.useAnimations,exports.Fbo=ue.Fbo,exports.useFBO=ue.useFBO,exports.useIntersect=ce.useIntersect,exports.useBoxProjectedEnv=ne.useBoxProjectedEnv,exports.BBAnchor=pe.BBAnchor,exports.TrailTexture=je.TrailTexture,exports.useTrailTexture=je.useTrailTexture,exports.Example=xe.Example,exports.SpriteAnimator=le.SpriteAnimator,exports.useSpriteAnimator=le.useSpriteAnimator,exports.CurveModifier=de.CurveModifier,exports.MeshDistortMaterial=qe.MeshDistortMaterial,exports.MeshWobbleMaterial=me.MeshWobbleMaterial,exports.MeshReflectorMaterial=he.MeshReflectorMaterial,exports.MeshRefractionMaterial=Ce.MeshRefractionMaterial,exports.MeshTransmissionMaterial=Me.MeshTransmissionMaterial,exports.MeshDiscardMaterial=Se.MeshDiscardMaterial,exports.MultiMaterial=Te.MultiMaterial,exports.PointMaterial=be.PointMaterial,exports.PointMaterialImpl=be.PointMaterialImpl,exports.shaderMaterial=Pe.shaderMaterial,exports.SoftShadows=ge.SoftShadows,exports.Box=fe.Box,exports.Capsule=fe.Capsule,exports.Circle=fe.Circle,exports.Cone=fe.Cone,exports.Cylinder=fe.Cylinder,exports.Dodecahedron=fe.Dodecahedron,exports.Extrude=fe.Extrude,exports.Icosahedron=fe.Icosahedron,exports.Lathe=fe.Lathe,exports.Octahedron=fe.Octahedron,exports.Plane=fe.Plane,exports.Polyhedron=fe.Polyhedron,exports.Ring=fe.Ring,exports.Shape=fe.Shape,exports.Sphere=fe.Sphere,exports.Tetrahedron=fe.Tetrahedron,exports.Torus=fe.Torus,exports.TorusKnot=fe.TorusKnot,exports.Tube=fe.Tube,exports.RoundedBox=Be.RoundedBox,exports.ScreenQuad=ve.ScreenQuad,exports.Center=Ae.Center,exports.Resize=Fe.Resize,exports.Bounds=Le.Bounds,exports.useBounds=Le.useBounds,exports.CameraShake=Ge.CameraShake,exports.Float=De.Float,exports.Stage=Ee.Stage,exports.Backdrop=Re.Backdrop,exports.Shadow=ke.Shadow,exports.Caustics=Ie.Caustics,exports.ContactShadows=we.ContactShadows,exports.AccumulativeShadows=ze.AccumulativeShadows,exports.RandomizedLight=ze.RandomizedLight,exports.accumulativeContext=ze.accumulativeContext,exports.SpotLight=Oe.SpotLight,exports.SpotLightShadow=Oe.SpotLightShadow,exports.Environment=ye.Environment,exports.EnvironmentCube=ye.EnvironmentCube,exports.EnvironmentMap=ye.EnvironmentMap,exports.EnvironmentPortal=ye.EnvironmentPortal,exports.Lightformer=He.Lightformer,exports.Sky=Ve.Sky,exports.calcPosFromAngles=Ve.calcPosFromAngles,exports.Stars=We.Stars,exports.Cloud=Ke.Cloud,exports.CloudInstance=Ke.CloudInstance,exports.Clouds=Ke.Clouds,exports.Sparkles=Qe.Sparkles,exports.useEnvironment=Ne.useEnvironment,exports.MatcapTexture=Ue.MatcapTexture,exports.useMatcapTexture=Ue.useMatcapTexture,exports.NormalTexture=Xe.NormalTexture,exports.useNormalTexture=Xe.useNormalTexture,exports.Wireframe=_e.Wireframe,exports.ShadowAlpha=Je.ShadowAlpha,exports.Point=Ye.Point,exports.Points=Ye.Points,exports.PointsBuffer=Ye.PointsBuffer,exports.PositionPoint=Ye.PositionPoint,exports.Instance=Ze.Instance,exports.InstancedAttribute=Ze.InstancedAttribute,exports.Instances=Ze.Instances,exports.Merged=Ze.Merged,exports.PositionMesh=Ze.PositionMesh,exports.createInstances=Ze.createInstances,exports.Segment=$e.Segment,exports.SegmentObject=$e.SegmentObject,exports.Segments=$e.Segments,exports.Detailed=er.Detailed,exports.Preload=rr.Preload,exports.BakeShadows=sr.BakeShadows,exports.meshBounds=tr.meshBounds,exports.AdaptiveDpr=or.AdaptiveDpr,exports.AdaptiveEvents=ir.AdaptiveEvents,exports.PerformanceMonitor=ar.PerformanceMonitor,exports.usePerformanceMonitor=ar.usePerformanceMonitor,exports.RenderTexture=ur.RenderTexture,exports.RenderCubeTexture=cr.RenderCubeTexture,exports.Mask=nr.Mask,exports.useMask=nr.useMask,exports.Hud=pr.Hud,exports.Fisheye=jr.Fisheye,exports.MeshPortalMaterial=xr.MeshPortalMaterial,exports.calculateScaleFactor=lr.calculateScaleFactor;
package/core/index.js CHANGED
@@ -138,13 +138,13 @@ import '../helpers/useEffectfulState.js';
138
138
  import 'stats-gl';
139
139
  import 'detect-gpu';
140
140
  import 'three-mesh-bvh';
141
+ import '../helpers/deprecated.js';
141
142
  import '../materials/BlurPass.js';
142
143
  import '../materials/ConvolutionMaterial.js';
143
144
  import '../materials/MeshReflectorMaterial.js';
144
145
  import '../materials/MeshRefractionMaterial.js';
145
146
  import '../materials/DiscardMaterial.js';
146
- import '../materials/SpotLightMaterial.js';
147
147
  import '@monogrid/gainmap-js';
148
148
  import '../helpers/environment-assets.js';
149
- import '../helpers/deprecated.js';
149
+ import '../materials/SpotLightMaterial.js';
150
150
  import '../materials/WireframeMaterial.js';
@@ -2,19 +2,19 @@ import * as React from 'react';
2
2
  import * as THREE from 'three';
3
3
  import { useThree } from '@react-three/fiber';
4
4
 
5
- /* Integration and compilation: @N8Programs
6
- Inspired by:
7
- https://github.com/mrdoob/three.js/blob/dev/examples/webgl_shadowmap_pcss.html
8
- https://developer.nvidia.com/gpugems/gpugems2/part-ii-shading-lighting-and-shadows/chapter-17-efficient-soft-edged-shadows-using
9
- https://developer.download.nvidia.com/whitepapers/2008/PCSS_Integration.pdf
10
- https://github.com/mrdoob/three.js/blob/master/examples/webgl_shadowmap_pcss.html [spidersharma03]
11
- https://spline.design/
12
- Concept:
13
- https://www.gamedev.net/tutorials/programming/graphics/contact-hardening-soft-shadows-made-fast-r4906/
14
- Vogel Disk Implementation:
15
- https://www.shadertoy.com/view/4l3yRM [ashalah]
16
- High-Frequency Noise Implementation:
17
- https://www.shadertoy.com/view/tt3fDH [spawner64]
5
+ /* Integration and compilation: @N8Programs
6
+ Inspired by:
7
+ https://github.com/mrdoob/three.js/blob/dev/examples/webgl_shadowmap_pcss.html
8
+ https://developer.nvidia.com/gpugems/gpugems2/part-ii-shading-lighting-and-shadows/chapter-17-efficient-soft-edged-shadows-using
9
+ https://developer.download.nvidia.com/whitepapers/2008/PCSS_Integration.pdf
10
+ https://github.com/mrdoob/three.js/blob/master/examples/webgl_shadowmap_pcss.html [spidersharma03]
11
+ https://spline.design/
12
+ Concept:
13
+ https://www.gamedev.net/tutorials/programming/graphics/contact-hardening-soft-shadows-made-fast-r4906/
14
+ Vogel Disk Implementation:
15
+ https://www.shadertoy.com/view/4l3yRM [ashalah]
16
+ High-Frequency Noise Implementation:
17
+ https://www.shadertoy.com/view/tt3fDH [spawner64]
18
18
  */
19
19
  const pcss = ({
20
20
  focus = 0,
@@ -10,10 +10,10 @@ function useContextBridge(...contexts) {
10
10
  value: cRef.current[i],
11
11
  children: acc
12
12
  }), children
13
- /*
14
- * done this way in reference to:
15
- * https://github.com/DefinitelyTyped/DefinitelyTyped/issues/44572#issuecomment-625878049
16
- * https://github.com/microsoft/TypeScript/issues/14729
13
+ /*
14
+ * done this way in reference to:
15
+ * https://github.com/DefinitelyTyped/DefinitelyTyped/issues/44572#issuecomment-625878049
16
+ * https://github.com/microsoft/TypeScript/issues/14729
17
17
  */), []);
18
18
  }
19
19
 
@@ -1,5 +1,5 @@
1
- /**
2
- * Sets `BufferAttribute.updateRange` since r159.
1
+ /**
2
+ * Sets `BufferAttribute.updateRange` since r159.
3
3
  */
4
4
  const setUpdateRange = (attribute, updateRange) => {
5
5
  attribute.updateRanges[0] = updateRange;