@react-three/drei 9.61.4 → 9.62.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/README.md CHANGED
@@ -105,6 +105,7 @@ The `native` route of the library **does not** export `Html` or `Loader`. The de
105
105
  <li><a href="#cycleraycast">CycleRaycast</a></li>
106
106
  <li><a href="#select">Select</a></li>
107
107
  <li><a href="#stats">Stats</a></li>
108
+ <li><a href="#wireframe">Wireframe</a></li>
108
109
  <li><a href="#usedepthbuffer">useDepthBuffer</a></li>
109
110
  <li><a href="#usecontextbridge">useContextBridge</a></li>
110
111
  <li><a href="#usefbo">useFBO</a></li>
@@ -1994,6 +1995,45 @@ useEffect(() => {
1994
1995
  return <Stats parent={parent} />
1995
1996
  ```
1996
1997
 
1998
+ #### Wireframe
1999
+
2000
+ [![](https://img.shields.io/badge/-storybook-%23ff69b4)](https://drei.vercel.app/?path=/story/staging-wireframe--wireframe-st)
2001
+
2002
+ Renders an Antialiased, shader based wireframe on or around a geometry.
2003
+
2004
+ ```jsx
2005
+ <mesh>
2006
+ <geometry />
2007
+ <material />
2008
+
2009
+ <Wireframe /> // Will apply wireframe on top of existing material on this mesh
2010
+ </mesh>
2011
+
2012
+ // OR
2013
+ <Wireframe
2014
+ geometry={geometry | geometryRef} // Will create the wireframe based on input geometry.
2015
+
2016
+ // Other props
2017
+ simplify={false} // Remove some edges from wireframes
2018
+ fill={"#00ff00"} // Color of the inside of the wireframe
2019
+ fillMix={0} // Mix between the base color and the Wireframe 'fill'. 0 = base; 1 = wireframe
2020
+ fillOpacity={0.25} // Opacity of the inner fill
2021
+ stroke={"#ff0000"} // Color of the stroke
2022
+ strokeOpacity={1} // Opacity of the stroke
2023
+ thickness={0.05} // Thinkness of the lines
2024
+ colorBackfaces={false} // Whether to draw lines that are facing away from the camera
2025
+ backfaceStroke={"#0000ff"} // Color of the lines that are facing away from the camera
2026
+ dashInvert={true} // Invert the dashes
2027
+ dash={false} // Whether to draw lines as dashes
2028
+ dashRepeats={4} // Number of dashes in one seqment
2029
+ dashLength={0.5} // Length of each dash
2030
+ squeeze={false} // Narrow the centers of each line segment
2031
+ squeezeMin={0.2} // Smallest width to squueze to
2032
+ squeezeMax={1} // Largest width to squeeze from
2033
+ />
2034
+
2035
+ ```
2036
+
1997
2037
  #### useDepthBuffer
1998
2038
 
1999
2039
  <p>
@@ -2334,7 +2374,7 @@ const envMap = useCubeTexture(['px.png', 'nx.png', 'py.png', 'ny.png', 'pz.png',
2334
2374
 
2335
2375
  #### useVideoTexture
2336
2376
 
2337
- [![](https://img.shields.io/badge/-storybook-%23ff69b4)](https://drei.pmnd.rs/?path=/story/loaders-videotexture)
2377
+ [![](https://img.shields.io/badge/-storybook-%23ff69b4)](https://drei.pmnd.rs/?path=/story/loaders-videotexture) ![](https://img.shields.io/badge/-suspense-brightgreen)
2338
2378
 
2339
2379
  <p>
2340
2380
  <a href="https://codesandbox.io/s/39hg8"><img width="20%" src="https://codesandbox.io/api/v1/sandboxes/39hg8/screenshot.png" alt="Demo"/></a>
@@ -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 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]),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;
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})})),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
@@ -51,7 +51,7 @@ const Center = /*#__PURE__*/React.forwardRef(function Center({
51
51
  depthAlignment: dAlign
52
52
  });
53
53
  }
54
- }, [children]);
54
+ });
55
55
  React.useImperativeHandle(fRef, () => ref.current, []);
56
56
  return /*#__PURE__*/React.createElement("group", _extends({
57
57
  ref: ref
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("react"),t=require("three"),n=require("@react-three/fiber"),o=require("../materials/WireframeMaterial.cjs.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function a(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}require("./shaderMaterial.cjs.js");var u=i(e),f=a(r),s=a(t);function c(e){return void 0!==(null==e?void 0:e.current)}function l(e){const r=null!=(t=e)&&t.current?e.current:e;var t;if(function(e){return!(null==e||!e.isBufferGeometry)}(r))return r;{const e=r.parent;if(function(e){return!(null==e||!e.geometry)}(e))return e.geometry}}function m(e,r){if(e.index){console.warn("Wireframe: Requires non-indexed geometry, converting to non-indexed geometry.");const r=e.toNonIndexed();e.copy(r),e.setIndex(null)}const t=function(e,r){const t=e.getAttribute("position").count,n=[];for(let e=0;e<t;e++){const t=r?1:0;e%2==0?n.push(0,0,1,0,1,0,1,0,t):n.push(0,1,0,0,0,1,1,0,t)}return new s.BufferAttribute(Float32Array.from(n),3)}(e,r);e.setAttribute("barycentric",t)}function d({geometry:e,simplify:r=!1,...t}){const[n,o]=f.useState(null);f.useLayoutEffect((()=>{const t=l(e);if(!t)throw new Error("Wireframe: geometry prop must be a BufferGeometry or a ref to a BufferGeometry.");m(t,r),c(e)&&o(t)}),[r,e]);const i=c(e)?n:e;return f.createElement(f.Fragment,null,i&&f.createElement("mesh",{geometry:i},f.createElement("meshWireframeMaterial",u.default({attach:"material",transparent:!0,side:s.DoubleSide,polygonOffset:!0,polygonOffsetFactor:-4},t,{extensions:{derivatives:!0,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1}}))))}function y({simplify:e=!1,...r}){const t=f.useRef(null),n=f.useMemo((()=>function(){const e={};for(const r in o.WireframeMaterialShaders.uniforms)e[r]={value:o.WireframeMaterialShaders.uniforms[r]};return e}()),[o.WireframeMaterialShaders.uniforms]);return o.useWireframeUniforms(n,r),f.useLayoutEffect((()=>{const r=l(t);if(!r)throw new Error("Wireframe: Must be a child of a Mesh, Line or Points object or specify a geometry prop.");m(r,e)}),[e]),f.useLayoutEffect((()=>{const e=t.current.parent;o.setWireframeOverride(e.material,n)}),[]),f.createElement("object3D",{ref:t})}a(n).extend({MeshWireframeMaterial:o.WireframeMaterial}),exports.Wireframe=function({geometry:e,...r}){return e?f.createElement(d,u.default({geometry:e},r)):f.createElement(y,r)};
@@ -0,0 +1,17 @@
1
+ import * as React from 'react';
2
+ import * as THREE from 'three';
3
+ import * as FIBER from '@react-three/fiber';
4
+ import { WireframeMaterialProps } from '../materials/WireframeMaterial';
5
+ declare global {
6
+ namespace JSX {
7
+ interface IntrinsicElements {
8
+ meshWireframeMaterial: FIBER.MaterialNode<THREE.ShaderMaterial, WireframeMaterialProps>;
9
+ }
10
+ }
11
+ }
12
+ interface WireframeProps {
13
+ geometry?: THREE.BufferGeometry | React.RefObject<THREE.BufferGeometry>;
14
+ simplify?: boolean;
15
+ }
16
+ export declare function Wireframe({ geometry: customGeometry, ...props }: WireframeProps & WireframeMaterialProps): JSX.Element;
17
+ export {};
@@ -0,0 +1,161 @@
1
+ import _extends from '@babel/runtime/helpers/esm/extends';
2
+ import * as React from 'react';
3
+ import * as THREE from 'three';
4
+ import * as FIBER from '@react-three/fiber';
5
+ import { WireframeMaterial, WireframeMaterialShaders, useWireframeUniforms, setWireframeOverride } from '../materials/WireframeMaterial.js';
6
+
7
+ FIBER.extend({
8
+ MeshWireframeMaterial: WireframeMaterial
9
+ });
10
+
11
+ function isWithGeometry(object) {
12
+ return !!(object != null && object.geometry);
13
+ }
14
+
15
+ function isGeometry(object) {
16
+ return !!(object != null && object.isBufferGeometry);
17
+ }
18
+
19
+ function isRefObject(object) {
20
+ return !!(object != null && object.current);
21
+ }
22
+
23
+ function isRef(object) {
24
+ return (object == null ? void 0 : object.current) !== undefined;
25
+ }
26
+
27
+ function getUniforms() {
28
+ const u = {};
29
+
30
+ for (const key in WireframeMaterialShaders.uniforms) {
31
+ u[key] = {
32
+ value: WireframeMaterialShaders.uniforms[key]
33
+ };
34
+ }
35
+
36
+ return u;
37
+ }
38
+
39
+ function getBarycentricCoordinates(geometry, removeEdge) {
40
+ const position = geometry.getAttribute('position');
41
+ const count = position.count;
42
+ const barycentric = [];
43
+
44
+ for (let i = 0; i < count; i++) {
45
+ const even = i % 2 === 0;
46
+ const Q = removeEdge ? 1 : 0;
47
+
48
+ if (even) {
49
+ barycentric.push(0, 0, 1, 0, 1, 0, 1, 0, Q);
50
+ } else {
51
+ barycentric.push(0, 1, 0, 0, 0, 1, 1, 0, Q);
52
+ }
53
+ }
54
+
55
+ return new THREE.BufferAttribute(Float32Array.from(barycentric), 3);
56
+ }
57
+
58
+ function getInputGeometry(inputGeometry) {
59
+ const geo = isRefObject(inputGeometry) ? inputGeometry.current : inputGeometry;
60
+
61
+ if (!isGeometry(geo)) {
62
+ const parent = geo.parent;
63
+
64
+ if (isWithGeometry(parent)) {
65
+ return parent.geometry;
66
+ }
67
+ } else {
68
+ return geo;
69
+ }
70
+ }
71
+
72
+ function setBarycentricCoordinates(geometry, simplify) {
73
+ if (geometry.index) {
74
+ console.warn('Wireframe: Requires non-indexed geometry, converting to non-indexed geometry.');
75
+ const nonIndexedGeo = geometry.toNonIndexed();
76
+ geometry.copy(nonIndexedGeo);
77
+ geometry.setIndex(null);
78
+ }
79
+
80
+ const newBarycentric = getBarycentricCoordinates(geometry, simplify);
81
+ geometry.setAttribute('barycentric', newBarycentric);
82
+ }
83
+
84
+ function WireframeWithCustomGeo({
85
+ geometry: customGeometry,
86
+ simplify = false,
87
+ ...props
88
+ }) {
89
+ const [geometry, setGeometry] = React.useState(null);
90
+ React.useLayoutEffect(() => {
91
+ const geom = getInputGeometry(customGeometry);
92
+
93
+ if (!geom) {
94
+ throw new Error('Wireframe: geometry prop must be a BufferGeometry or a ref to a BufferGeometry.');
95
+ }
96
+
97
+ setBarycentricCoordinates(geom, simplify);
98
+
99
+ if (isRef(customGeometry)) {
100
+ setGeometry(geom);
101
+ }
102
+ }, [simplify, customGeometry]);
103
+ const drawnGeo = isRef(customGeometry) ? geometry : customGeometry;
104
+ return /*#__PURE__*/React.createElement(React.Fragment, null, drawnGeo && /*#__PURE__*/React.createElement("mesh", {
105
+ geometry: drawnGeo
106
+ }, /*#__PURE__*/React.createElement("meshWireframeMaterial", _extends({
107
+ attach: "material",
108
+ transparent: true,
109
+ side: THREE.DoubleSide,
110
+ polygonOffset: true //
111
+ ,
112
+ polygonOffsetFactor: -4
113
+ }, props, {
114
+ extensions: {
115
+ derivatives: true,
116
+ fragDepth: false,
117
+ drawBuffers: false,
118
+ shaderTextureLOD: false
119
+ }
120
+ }))));
121
+ }
122
+
123
+ function WireframeWithoutCustomGeo({
124
+ simplify = false,
125
+ ...props
126
+ }) {
127
+ const objectRef = React.useRef(null);
128
+ const uniforms = React.useMemo(() => getUniforms(), [WireframeMaterialShaders.uniforms]);
129
+ useWireframeUniforms(uniforms, props);
130
+ React.useLayoutEffect(() => {
131
+ const geom = getInputGeometry(objectRef);
132
+
133
+ if (!geom) {
134
+ throw new Error('Wireframe: Must be a child of a Mesh, Line or Points object or specify a geometry prop.');
135
+ }
136
+
137
+ setBarycentricCoordinates(geom, simplify);
138
+ }, [simplify]);
139
+ React.useLayoutEffect(() => {
140
+ const parentMesh = objectRef.current.parent;
141
+ setWireframeOverride(parentMesh.material, uniforms);
142
+ }, []);
143
+ return /*#__PURE__*/React.createElement("object3D", {
144
+ ref: objectRef
145
+ });
146
+ }
147
+
148
+ function Wireframe({
149
+ geometry: customGeometry,
150
+ ...props
151
+ }) {
152
+ if (customGeometry) {
153
+ return /*#__PURE__*/React.createElement(WireframeWithCustomGeo, _extends({
154
+ geometry: customGeometry
155
+ }, props));
156
+ }
157
+
158
+ return /*#__PURE__*/React.createElement(WireframeWithoutCustomGeo, props);
159
+ }
160
+
161
+ export { Wireframe };
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("./QuadraticBezierLine.cjs.js"),t=require("./CubicBezierLine.cjs.js"),o=require("./CatmullRomLine.cjs.js"),i=require("./Line.cjs.js"),a=require("./PositionalAudio.cjs.js"),u=require("./Text.cjs.js"),c=require("./Text3D.cjs.js"),n=require("./Effects.cjs.js"),j=require("./GradientTexture.cjs.js"),p=require("./Image.cjs.js"),x=require("./Edges.cjs.js"),l=require("./Trail.cjs.js"),d=require("./Sampler.cjs.js"),q=require("./ComputedAttribute.cjs.js"),m=require("./Clone.cjs.js"),h=require("./MarchingCubes.cjs.js"),C=require("./Decal.cjs.js"),M=require("./Svg.cjs.js"),S=require("./Gltf.cjs.js"),T=require("./AsciiRenderer.cjs.js"),B=require("./OrthographicCamera.cjs.js"),P=require("./PerspectiveCamera.cjs.js"),b=require("./CubeCamera.cjs.js"),f=require("./DeviceOrientationControls.cjs.js"),g=require("./FlyControls.cjs.js"),v=require("./MapControls.cjs.js"),A=require("./OrbitControls.cjs.js"),L=require("./TrackballControls.cjs.js"),D=require("./ArcballControls.cjs.js"),k=require("./TransformControls.cjs.js"),G=require("./PointerLockControls.cjs.js"),E=require("./FirstPersonControls.cjs.js"),R=require("./CameraControls.cjs.js"),w=require("./GizmoHelper.cjs.js"),z=require("./GizmoViewcube.cjs.js"),F=require("./GizmoViewport.cjs.js"),O=require("./Grid.cjs.js"),I=require("./useCubeTexture.cjs.js"),H=require("./useFBX.cjs.js"),V=require("./useGLTF.cjs.js"),y=require("./useKTX2.cjs.js"),Q=require("./useProgress.cjs.js"),X=require("./useTexture.cjs.js"),K=require("./useVideoTexture.cjs.js"),W=require("./Stats.cjs.js"),N=require("./useDepthBuffer.cjs.js"),U=require("./useAspect.cjs.js"),_=require("./useCamera.cjs.js"),J=require("./useDetectGPU.cjs.js"),Y=require("./useHelper.cjs.js"),Z=require("./useBVH.cjs.js"),$=require("./useContextBridge.cjs.js"),ee=require("./useAnimations.cjs.js"),re=require("./useFBO.cjs.js"),se=require("./useIntersect.cjs.js"),te=require("./useBoxProjectedEnv.cjs.js"),oe=require("./BBAnchor.cjs.js"),ie=require("./useTrailTexture.cjs.js"),ae=require("./CurveModifier.cjs.js"),ue=require("./MeshDistortMaterial.cjs.js"),ce=require("./MeshWobbleMaterial.cjs.js"),ne=require("./MeshReflectorMaterial.cjs.js"),je=require("./MeshRefractionMaterial.cjs.js"),pe=require("./MeshTransmissionMaterial.cjs.js"),xe=require("./MeshDiscardMaterial.cjs.js"),le=require("./PointMaterial.cjs.js"),de=require("./shaderMaterial.cjs.js"),qe=require("./softShadows.cjs.js"),me=require("./shapes.cjs.js"),he=require("./RoundedBox.cjs.js"),Ce=require("./ScreenQuad.cjs.js"),Me=require("./Center.cjs.js"),Se=require("./Bounds.cjs.js"),Te=require("./CameraShake.cjs.js"),Be=require("./Float.cjs.js"),Pe=require("./Stage.cjs.js"),be=require("./Backdrop.cjs.js"),fe=require("./Shadow.cjs.js"),ge=require("./Caustics.cjs.js"),ve=require("./ContactShadows.cjs.js"),Ae=require("./AccumulativeShadows.cjs.js"),Le=require("./Reflector.cjs.js"),De=require("./SpotLight.cjs.js"),ke=require("./Environment.cjs.js"),Ge=require("./Lightformer.cjs.js"),Ee=require("./Sky.cjs.js"),Re=require("./Stars.cjs.js"),we=require("./Cloud.cjs.js"),ze=require("./Sparkles.cjs.js"),Fe=require("./useEnvironment.cjs.js"),Oe=require("./useMatcapTexture.cjs.js"),Ie=require("./useNormalTexture.cjs.js"),He=require("./Points.cjs.js"),Ve=require("./Instances.cjs.js"),ye=require("./Segments.cjs.js"),Qe=require("./Detailed.cjs.js"),Xe=require("./Preload.cjs.js"),Ke=require("./BakeShadows.cjs.js"),We=require("./meshBounds.cjs.js"),Ne=require("./AdaptiveDpr.cjs.js"),Ue=require("./AdaptiveEvents.cjs.js"),_e=require("./PerformanceMonitor.cjs.js"),Je=require("./RenderTexture.cjs.js"),Ye=require("./Mask.cjs.js"),Ze=require("./Hud.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("@react-three/fiber"),require("react-merge-refs"),require("three"),require("three-stdlib"),require("troika-three-text"),require("suspend-react"),require("meshline"),require("lodash.pick"),require("lodash.omit"),require("camera-controls"),require("zustand"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),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("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.ScreenSpace=r.ScreenSpace,exports.QuadraticBezierLine=s.QuadraticBezierLine,exports.CubicBezierLine=t.CubicBezierLine,exports.CatmullRomLine=o.CatmullRomLine,exports.Line=i.Line,exports.PositionalAudio=a.PositionalAudio,exports.Text=u.Text,exports.Text3D=c.Text3D,exports.Effects=n.Effects,exports.isWebGL2Available=n.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.Image=p.Image,exports.Edges=x.Edges,exports.Trail=l.Trail,exports.useTrail=l.useTrail,exports.Sampler=d.Sampler,exports.useSurfaceSampler=d.useSurfaceSampler,exports.ComputedAttribute=q.ComputedAttribute,exports.Clone=m.Clone,exports.MarchingCube=h.MarchingCube,exports.MarchingCubes=h.MarchingCubes,exports.MarchingPlane=h.MarchingPlane,exports.Decal=C.Decal,exports.Svg=M.Svg,exports.Gltf=S.Gltf,exports.AsciiRenderer=T.AsciiRenderer,exports.OrthographicCamera=B.OrthographicCamera,exports.PerspectiveCamera=P.PerspectiveCamera,exports.CubeCamera=b.CubeCamera,exports.DeviceOrientationControls=f.DeviceOrientationControls,exports.FlyControls=g.FlyControls,exports.MapControls=v.MapControls,exports.OrbitControls=A.OrbitControls,exports.TrackballControls=L.TrackballControls,exports.ArcballControls=D.ArcballControls,exports.TransformControls=k.TransformControls,exports.PointerLockControls=G.PointerLockControls,exports.FirstPersonControls=E.FirstPersonControls,exports.CameraControls=R.CameraControls,exports.GizmoHelper=w.GizmoHelper,exports.useGizmoContext=w.useGizmoContext,exports.GizmoViewcube=z.GizmoViewcube,exports.GizmoViewport=F.GizmoViewport,exports.Grid=O.Grid,exports.useCubeTexture=I.useCubeTexture,exports.useFBX=H.useFBX,exports.useGLTF=V.useGLTF,exports.useKTX2=y.useKTX2,exports.useProgress=Q.useProgress,exports.IsObject=X.IsObject,exports.useTexture=X.useTexture,exports.useVideoTexture=K.useVideoTexture,exports.Stats=W.Stats,exports.useDepthBuffer=N.useDepthBuffer,exports.useAspect=U.useAspect,exports.useCamera=_.useCamera,exports.useDetectGPU=J.useDetectGPU,exports.useHelper=Y.useHelper,exports.Bvh=Z.Bvh,exports.useBVH=Z.useBVH,exports.useContextBridge=$.useContextBridge,exports.useAnimations=ee.useAnimations,exports.useFBO=re.useFBO,exports.useIntersect=se.useIntersect,exports.useBoxProjectedEnv=te.useBoxProjectedEnv,exports.BBAnchor=oe.BBAnchor,exports.useTrailTexture=ie.useTrailTexture,exports.CurveModifier=ae.CurveModifier,exports.MeshDistortMaterial=ue.MeshDistortMaterial,exports.MeshWobbleMaterial=ce.MeshWobbleMaterial,exports.MeshReflectorMaterial=ne.MeshReflectorMaterial,exports.MeshRefractionMaterial=je.MeshRefractionMaterial,exports.MeshTransmissionMaterial=pe.MeshTransmissionMaterial,exports.MeshDiscardMaterial=xe.MeshDiscardMaterial,exports.PointMaterial=le.PointMaterial,exports.PointMaterialImpl=le.PointMaterialImpl,exports.shaderMaterial=de.shaderMaterial,exports.SoftShadows=qe.SoftShadows,exports.Box=me.Box,exports.Capsule=me.Capsule,exports.Circle=me.Circle,exports.Cone=me.Cone,exports.Cylinder=me.Cylinder,exports.Dodecahedron=me.Dodecahedron,exports.Extrude=me.Extrude,exports.Icosahedron=me.Icosahedron,exports.Lathe=me.Lathe,exports.Octahedron=me.Octahedron,exports.Plane=me.Plane,exports.Polyhedron=me.Polyhedron,exports.Ring=me.Ring,exports.Shape=me.Shape,exports.Sphere=me.Sphere,exports.Tetrahedron=me.Tetrahedron,exports.Torus=me.Torus,exports.TorusKnot=me.TorusKnot,exports.Tube=me.Tube,exports.RoundedBox=he.RoundedBox,exports.ScreenQuad=Ce.ScreenQuad,exports.Center=Me.Center,exports.Bounds=Se.Bounds,exports.useBounds=Se.useBounds,exports.CameraShake=Te.CameraShake,exports.Float=Be.Float,exports.Stage=Pe.Stage,exports.Backdrop=be.Backdrop,exports.Shadow=fe.Shadow,exports.Caustics=ge.Caustics,exports.ContactShadows=ve.ContactShadows,exports.AccumulativeShadows=Ae.AccumulativeShadows,exports.RandomizedLight=Ae.RandomizedLight,exports.accumulativeContext=Ae.accumulativeContext,exports.Reflector=Le.Reflector,exports.SpotLight=De.SpotLight,exports.SpotLightShadow=De.SpotLightShadow,exports.Environment=ke.Environment,exports.EnvironmentCube=ke.EnvironmentCube,exports.EnvironmentMap=ke.EnvironmentMap,exports.EnvironmentPortal=ke.EnvironmentPortal,exports.Lightformer=Ge.Lightformer,exports.Sky=Ee.Sky,exports.calcPosFromAngles=Ee.calcPosFromAngles,exports.Stars=Re.Stars,exports.Cloud=we.Cloud,exports.Sparkles=ze.Sparkles,exports.useEnvironment=Fe.useEnvironment,exports.useMatcapTexture=Oe.useMatcapTexture,exports.useNormalTexture=Ie.useNormalTexture,exports.Point=He.Point,exports.Points=He.Points,exports.PointsBuffer=He.PointsBuffer,exports.PositionPoint=He.PositionPoint,exports.Instance=Ve.Instance,exports.Instances=Ve.Instances,exports.Merged=Ve.Merged,exports.Segment=ye.Segment,exports.SegmentObject=ye.SegmentObject,exports.Segments=ye.Segments,exports.Detailed=Qe.Detailed,exports.Preload=Xe.Preload,exports.BakeShadows=Ke.BakeShadows,exports.meshBounds=We.meshBounds,exports.AdaptiveDpr=Ne.AdaptiveDpr,exports.AdaptiveEvents=Ue.AdaptiveEvents,exports.PerformanceMonitor=_e.PerformanceMonitor,exports.usePerformanceMonitor=_e.usePerformanceMonitor,exports.RenderTexture=Je.RenderTexture,exports.Mask=Ye.Mask,exports.useMask=Ye.useMask,exports.Hud=Ze.Hud;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Billboard.cjs.js"),r=require("./ScreenSpace.cjs.js"),s=require("./QuadraticBezierLine.cjs.js"),t=require("./CubicBezierLine.cjs.js"),o=require("./CatmullRomLine.cjs.js"),i=require("./Line.cjs.js"),a=require("./PositionalAudio.cjs.js"),u=require("./Text.cjs.js"),c=require("./Text3D.cjs.js"),n=require("./Effects.cjs.js"),j=require("./GradientTexture.cjs.js"),p=require("./Image.cjs.js"),x=require("./Edges.cjs.js"),l=require("./Trail.cjs.js"),q=require("./Sampler.cjs.js"),d=require("./ComputedAttribute.cjs.js"),m=require("./Clone.cjs.js"),h=require("./MarchingCubes.cjs.js"),C=require("./Decal.cjs.js"),M=require("./Svg.cjs.js"),S=require("./Gltf.cjs.js"),T=require("./AsciiRenderer.cjs.js"),f=require("./OrthographicCamera.cjs.js"),B=require("./PerspectiveCamera.cjs.js"),P=require("./CubeCamera.cjs.js"),b=require("./DeviceOrientationControls.cjs.js"),g=require("./FlyControls.cjs.js"),v=require("./MapControls.cjs.js"),A=require("./OrbitControls.cjs.js"),L=require("./TrackballControls.cjs.js"),D=require("./ArcballControls.cjs.js"),k=require("./TransformControls.cjs.js"),G=require("./PointerLockControls.cjs.js"),E=require("./FirstPersonControls.cjs.js"),R=require("./CameraControls.cjs.js"),w=require("./GizmoHelper.cjs.js"),z=require("./GizmoViewcube.cjs.js"),F=require("./GizmoViewport.cjs.js"),O=require("./Grid.cjs.js"),I=require("./useCubeTexture.cjs.js"),H=require("./useFBX.cjs.js"),V=require("./useGLTF.cjs.js"),y=require("./useKTX2.cjs.js"),W=require("./useProgress.cjs.js"),Q=require("./useTexture.cjs.js"),X=require("./useVideoTexture.cjs.js"),K=require("./Stats.cjs.js"),N=require("./useDepthBuffer.cjs.js"),U=require("./useAspect.cjs.js"),_=require("./useCamera.cjs.js"),J=require("./useDetectGPU.cjs.js"),Y=require("./useHelper.cjs.js"),Z=require("./useBVH.cjs.js"),$=require("./useContextBridge.cjs.js"),ee=require("./useAnimations.cjs.js"),re=require("./useFBO.cjs.js"),se=require("./useIntersect.cjs.js"),te=require("./useBoxProjectedEnv.cjs.js"),oe=require("./BBAnchor.cjs.js"),ie=require("./useTrailTexture.cjs.js"),ae=require("./CurveModifier.cjs.js"),ue=require("./MeshDistortMaterial.cjs.js"),ce=require("./MeshWobbleMaterial.cjs.js"),ne=require("./MeshReflectorMaterial.cjs.js"),je=require("./MeshRefractionMaterial.cjs.js"),pe=require("./MeshTransmissionMaterial.cjs.js"),xe=require("./MeshDiscardMaterial.cjs.js"),le=require("./PointMaterial.cjs.js"),qe=require("./shaderMaterial.cjs.js"),de=require("./softShadows.cjs.js"),me=require("./shapes.cjs.js"),he=require("./RoundedBox.cjs.js"),Ce=require("./ScreenQuad.cjs.js"),Me=require("./Center.cjs.js"),Se=require("./Bounds.cjs.js"),Te=require("./CameraShake.cjs.js"),fe=require("./Float.cjs.js"),Be=require("./Stage.cjs.js"),Pe=require("./Backdrop.cjs.js"),be=require("./Shadow.cjs.js"),ge=require("./Caustics.cjs.js"),ve=require("./ContactShadows.cjs.js"),Ae=require("./AccumulativeShadows.cjs.js"),Le=require("./Reflector.cjs.js"),De=require("./SpotLight.cjs.js"),ke=require("./Environment.cjs.js"),Ge=require("./Lightformer.cjs.js"),Ee=require("./Sky.cjs.js"),Re=require("./Stars.cjs.js"),we=require("./Cloud.cjs.js"),ze=require("./Sparkles.cjs.js"),Fe=require("./useEnvironment.cjs.js"),Oe=require("./useMatcapTexture.cjs.js"),Ie=require("./useNormalTexture.cjs.js"),He=require("./Wireframe.cjs.js"),Ve=require("./Points.cjs.js"),ye=require("./Instances.cjs.js"),We=require("./Segments.cjs.js"),Qe=require("./Detailed.cjs.js"),Xe=require("./Preload.cjs.js"),Ke=require("./BakeShadows.cjs.js"),Ne=require("./meshBounds.cjs.js"),Ue=require("./AdaptiveDpr.cjs.js"),_e=require("./AdaptiveEvents.cjs.js"),Je=require("./PerformanceMonitor.cjs.js"),Ye=require("./RenderTexture.cjs.js"),Ze=require("./Mask.cjs.js"),$e=require("./Hud.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("@react-three/fiber"),require("react-merge-refs"),require("three"),require("three-stdlib"),require("troika-three-text"),require("suspend-react"),require("meshline"),require("lodash.pick"),require("lodash.omit"),require("camera-controls"),require("zustand"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),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("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../materials/WireframeMaterial.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.ScreenSpace=r.ScreenSpace,exports.QuadraticBezierLine=s.QuadraticBezierLine,exports.CubicBezierLine=t.CubicBezierLine,exports.CatmullRomLine=o.CatmullRomLine,exports.Line=i.Line,exports.PositionalAudio=a.PositionalAudio,exports.Text=u.Text,exports.Text3D=c.Text3D,exports.Effects=n.Effects,exports.isWebGL2Available=n.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.Image=p.Image,exports.Edges=x.Edges,exports.Trail=l.Trail,exports.useTrail=l.useTrail,exports.Sampler=q.Sampler,exports.useSurfaceSampler=q.useSurfaceSampler,exports.ComputedAttribute=d.ComputedAttribute,exports.Clone=m.Clone,exports.MarchingCube=h.MarchingCube,exports.MarchingCubes=h.MarchingCubes,exports.MarchingPlane=h.MarchingPlane,exports.Decal=C.Decal,exports.Svg=M.Svg,exports.Gltf=S.Gltf,exports.AsciiRenderer=T.AsciiRenderer,exports.OrthographicCamera=f.OrthographicCamera,exports.PerspectiveCamera=B.PerspectiveCamera,exports.CubeCamera=P.CubeCamera,exports.DeviceOrientationControls=b.DeviceOrientationControls,exports.FlyControls=g.FlyControls,exports.MapControls=v.MapControls,exports.OrbitControls=A.OrbitControls,exports.TrackballControls=L.TrackballControls,exports.ArcballControls=D.ArcballControls,exports.TransformControls=k.TransformControls,exports.PointerLockControls=G.PointerLockControls,exports.FirstPersonControls=E.FirstPersonControls,exports.CameraControls=R.CameraControls,exports.GizmoHelper=w.GizmoHelper,exports.useGizmoContext=w.useGizmoContext,exports.GizmoViewcube=z.GizmoViewcube,exports.GizmoViewport=F.GizmoViewport,exports.Grid=O.Grid,exports.useCubeTexture=I.useCubeTexture,exports.useFBX=H.useFBX,exports.useGLTF=V.useGLTF,exports.useKTX2=y.useKTX2,exports.useProgress=W.useProgress,exports.IsObject=Q.IsObject,exports.useTexture=Q.useTexture,exports.useVideoTexture=X.useVideoTexture,exports.Stats=K.Stats,exports.useDepthBuffer=N.useDepthBuffer,exports.useAspect=U.useAspect,exports.useCamera=_.useCamera,exports.useDetectGPU=J.useDetectGPU,exports.useHelper=Y.useHelper,exports.Bvh=Z.Bvh,exports.useBVH=Z.useBVH,exports.useContextBridge=$.useContextBridge,exports.useAnimations=ee.useAnimations,exports.useFBO=re.useFBO,exports.useIntersect=se.useIntersect,exports.useBoxProjectedEnv=te.useBoxProjectedEnv,exports.BBAnchor=oe.BBAnchor,exports.useTrailTexture=ie.useTrailTexture,exports.CurveModifier=ae.CurveModifier,exports.MeshDistortMaterial=ue.MeshDistortMaterial,exports.MeshWobbleMaterial=ce.MeshWobbleMaterial,exports.MeshReflectorMaterial=ne.MeshReflectorMaterial,exports.MeshRefractionMaterial=je.MeshRefractionMaterial,exports.MeshTransmissionMaterial=pe.MeshTransmissionMaterial,exports.MeshDiscardMaterial=xe.MeshDiscardMaterial,exports.PointMaterial=le.PointMaterial,exports.PointMaterialImpl=le.PointMaterialImpl,exports.shaderMaterial=qe.shaderMaterial,exports.SoftShadows=de.SoftShadows,exports.Box=me.Box,exports.Capsule=me.Capsule,exports.Circle=me.Circle,exports.Cone=me.Cone,exports.Cylinder=me.Cylinder,exports.Dodecahedron=me.Dodecahedron,exports.Extrude=me.Extrude,exports.Icosahedron=me.Icosahedron,exports.Lathe=me.Lathe,exports.Octahedron=me.Octahedron,exports.Plane=me.Plane,exports.Polyhedron=me.Polyhedron,exports.Ring=me.Ring,exports.Shape=me.Shape,exports.Sphere=me.Sphere,exports.Tetrahedron=me.Tetrahedron,exports.Torus=me.Torus,exports.TorusKnot=me.TorusKnot,exports.Tube=me.Tube,exports.RoundedBox=he.RoundedBox,exports.ScreenQuad=Ce.ScreenQuad,exports.Center=Me.Center,exports.Bounds=Se.Bounds,exports.useBounds=Se.useBounds,exports.CameraShake=Te.CameraShake,exports.Float=fe.Float,exports.Stage=Be.Stage,exports.Backdrop=Pe.Backdrop,exports.Shadow=be.Shadow,exports.Caustics=ge.Caustics,exports.ContactShadows=ve.ContactShadows,exports.AccumulativeShadows=Ae.AccumulativeShadows,exports.RandomizedLight=Ae.RandomizedLight,exports.accumulativeContext=Ae.accumulativeContext,exports.Reflector=Le.Reflector,exports.SpotLight=De.SpotLight,exports.SpotLightShadow=De.SpotLightShadow,exports.Environment=ke.Environment,exports.EnvironmentCube=ke.EnvironmentCube,exports.EnvironmentMap=ke.EnvironmentMap,exports.EnvironmentPortal=ke.EnvironmentPortal,exports.Lightformer=Ge.Lightformer,exports.Sky=Ee.Sky,exports.calcPosFromAngles=Ee.calcPosFromAngles,exports.Stars=Re.Stars,exports.Cloud=we.Cloud,exports.Sparkles=ze.Sparkles,exports.useEnvironment=Fe.useEnvironment,exports.useMatcapTexture=Oe.useMatcapTexture,exports.useNormalTexture=Ie.useNormalTexture,exports.Wireframe=He.Wireframe,exports.Point=Ve.Point,exports.Points=Ve.Points,exports.PointsBuffer=Ve.PointsBuffer,exports.PositionPoint=Ve.PositionPoint,exports.Instance=ye.Instance,exports.Instances=ye.Instances,exports.Merged=ye.Merged,exports.Segment=We.Segment,exports.SegmentObject=We.SegmentObject,exports.Segments=We.Segments,exports.Detailed=Qe.Detailed,exports.Preload=Xe.Preload,exports.BakeShadows=Ke.BakeShadows,exports.meshBounds=Ne.meshBounds,exports.AdaptiveDpr=Ue.AdaptiveDpr,exports.AdaptiveEvents=_e.AdaptiveEvents,exports.PerformanceMonitor=Je.PerformanceMonitor,exports.usePerformanceMonitor=Je.usePerformanceMonitor,exports.RenderTexture=Ye.RenderTexture,exports.Mask=Ze.Mask,exports.useMask=Ze.useMask,exports.Hud=$e.Hud;
package/core/index.d.ts CHANGED
@@ -92,6 +92,7 @@ export * from './Sparkles';
92
92
  export * from './useEnvironment';
93
93
  export * from './useMatcapTexture';
94
94
  export * from './useNormalTexture';
95
+ export * from './Wireframe';
95
96
  export * from './Points';
96
97
  export * from './Instances';
97
98
  export * from './Segments';
package/core/index.js CHANGED
@@ -92,6 +92,7 @@ export { Sparkles } from './Sparkles.js';
92
92
  export { useEnvironment } from './useEnvironment.js';
93
93
  export { useMatcapTexture } from './useMatcapTexture.js';
94
94
  export { useNormalTexture } from './useNormalTexture.js';
95
+ export { Wireframe } from './Wireframe.js';
95
96
  export { Point, Points, PointsBuffer, PositionPoint } from './Points.js';
96
97
  export { Instance, Instances, Merged } from './Instances.js';
97
98
  export { Segment, SegmentObject, Segments } from './Segments.js';
@@ -129,4 +130,5 @@ import '../materials/MeshRefractionMaterial.js';
129
130
  import '../materials/DiscardMaterial.js';
130
131
  import '../helpers/environment-assets.js';
131
132
  import '../materials/SpotLightMaterial.js';
133
+ import '../materials/WireframeMaterial.js';
132
134
  import 'react-composer';