@react-three/drei 9.65.2 → 9.65.4
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 +3 -3
- package/core/CameraControls.cjs.js +1 -1
- package/core/CameraControls.js +6 -0
- package/core/Float.cjs.js +1 -1
- package/core/Float.d.ts +2 -1
- package/core/Float.js +5 -1
- package/core/Text.cjs.js +1 -1
- package/core/Text.d.ts +2 -1
- package/core/Text.js +3 -1
- package/index.cjs.js +1 -1
- package/package.json +1 -1
- package/web/pivotControls/AxisArrow.cjs.js +1 -1
- package/web/pivotControls/AxisArrow.js +4 -2
- package/web/pivotControls/AxisRotator.cjs.js +1 -1
- package/web/pivotControls/AxisRotator.js +2 -1
- package/web/pivotControls/PlaneSlider.cjs.js +1 -1
- package/web/pivotControls/PlaneSlider.js +4 -2
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("three"),r=require("@react-three/fiber"),n=require("../../core/Line.cjs.js"),o=require("../Html.cjs.js"),a=require("./context.cjs.js");function i(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)}require("@babel/runtime/helpers/extends"),require("three-stdlib"),require("react-dom/client");var c=i(e),l=i(t);const s=new l.Vector3,u=new l.Vector3,d=(e,t,r,n)=>{const o=t.dot(t),a=t.dot(e)-t.dot(r),i=t.dot(n);if(0===i)return-a/o;s.copy(n).multiplyScalar(o/i).sub(t),u.copy(n).multiplyScalar(a/i).add(r).sub(e);return-s.dot(u)/s.dot(s)},p=new l.Vector3(0,1,0),m=new l.Matrix4;exports.AxisArrow=({direction:e,axis:t})=>{const{translation:i,translationLimits:s,annotations:u,annotationsClass:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("three"),r=require("@react-three/fiber"),n=require("../../core/Line.cjs.js"),o=require("../Html.cjs.js"),a=require("./context.cjs.js");function i(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)}require("@babel/runtime/helpers/extends"),require("three-stdlib"),require("react-dom/client");var c=i(e),l=i(t);const s=new l.Vector3,u=new l.Vector3,d=(e,t,r,n)=>{const o=t.dot(t),a=t.dot(e)-t.dot(r),i=t.dot(n);if(0===i)return-a/o;s.copy(n).multiplyScalar(o/i).sub(t),u.copy(n).multiplyScalar(a/i).add(r).sub(e);return-s.dot(u)/s.dot(s)},p=new l.Vector3(0,1,0),m=new l.Matrix4;exports.AxisArrow=({direction:e,axis:t})=>{const{translation:i,translationLimits:s,annotations:u,annotationsClass:f,depthTest:x,scale:y,lineWidth:g,fixed:h,axisColors:b,hoveredColor:P,opacity:w,onDragStart:O,onDrag:v,onDragEnd:j,userData:E}=c.useContext(a.context),M=r.useThree((e=>e.controls)),k=c.useRef(null),C=c.useRef(null),q=c.useRef(null),L=c.useRef(0),[D,F]=c.useState(!1),R=c.useCallback((r=>{u&&(k.current.innerText=`${i.current[t].toFixed(2)}`,k.current.style.display="block"),r.stopPropagation();const n=(new l.Matrix4).extractRotation(C.current.matrixWorld),o=r.point.clone(),a=(new l.Vector3).setFromMatrixPosition(C.current.matrixWorld),c=e.clone().applyMatrix4(n).normalize();q.current={clickPoint:o,dir:c},L.current=i.current[t],O({component:"Arrow",axis:t,origin:a,directions:[c]}),M&&(M.enabled=!1),r.target.setPointerCapture(r.pointerId)}),[u,e,M,O,i,t]),T=c.useCallback((e=>{if(e.stopPropagation(),D||F(!0),q.current){const{clickPoint:r,dir:n}=q.current,[o,a]=(null==s?void 0:s[t])||[void 0,void 0];let c=d(r,n,e.ray.origin,e.ray.direction);void 0!==o&&(c=Math.max(c,o-L.current)),void 0!==a&&(c=Math.min(c,a-L.current)),i.current[t]=L.current+c,u&&(k.current.innerText=`${i.current[t].toFixed(2)}`),m.makeTranslation(n.x*c,n.y*c,n.z*c),v(m)}}),[u,v,D,i,s,t]),W=c.useCallback((e=>{u&&(k.current.style.display="none"),e.stopPropagation(),q.current=null,j(),M&&(M.enabled=!0),e.target.releasePointerCapture(e.pointerId)}),[u,M,j]),S=c.useCallback((e=>{e.stopPropagation(),F(!1)}),[]),{cylinderLength:V,coneWidth:z,coneLength:A,matrixL:_}=c.useMemo((()=>{const t=h?g/y*1.6:y/20,r=h?.2:y/5,n=h?1-r:y-r,o=(new l.Quaternion).setFromUnitVectors(p,e.clone().normalize());return{cylinderLength:n,coneWidth:t,coneLength:r,matrixL:(new l.Matrix4).makeRotationFromQuaternion(o)}}),[e,y,g,h]),U=D?P:b[t];return c.createElement("group",{ref:C},c.createElement("group",{matrix:_,matrixAutoUpdate:!1,onPointerDown:R,onPointerMove:T,onPointerUp:W,onPointerOut:S},u&&c.createElement(o.Html,{position:[0,-A,0]},c.createElement("div",{style:{display:"none",background:"#151520",color:"white",padding:"6px 8px",borderRadius:7,whiteSpace:"nowrap"},className:f,ref:k})),c.createElement("mesh",{visible:!1,position:[0,(V+A)/2,0],userData:E},c.createElement("cylinderGeometry",{args:[1.4*z,1.4*z,V+A,8,1]})),c.createElement(n.Line,{transparent:!0,raycast:()=>null,depthTest:x,points:[0,0,0,0,V,0],lineWidth:g,color:U,opacity:w,polygonOffset:!0,renderOrder:1,polygonOffsetFactor:-10,fog:!1}),c.createElement("mesh",{raycast:()=>null,position:[0,V+A/2,0],renderOrder:500},c.createElement("coneGeometry",{args:[z,A,24,1]}),c.createElement("meshBasicMaterial",{transparent:!0,depthTest:x,color:U,opacity:w,polygonOffset:!0,polygonOffsetFactor:-10,fog:!1}))))},exports.calculateOffset=d;
|
|
@@ -180,7 +180,8 @@ const AxisArrow = ({
|
|
|
180
180
|
opacity: opacity,
|
|
181
181
|
polygonOffset: true,
|
|
182
182
|
renderOrder: 1,
|
|
183
|
-
polygonOffsetFactor: -10
|
|
183
|
+
polygonOffsetFactor: -10,
|
|
184
|
+
fog: false
|
|
184
185
|
}), /*#__PURE__*/React.createElement("mesh", {
|
|
185
186
|
raycast: () => null,
|
|
186
187
|
position: [0, cylinderLength + coneLength / 2.0, 0],
|
|
@@ -193,7 +194,8 @@ const AxisArrow = ({
|
|
|
193
194
|
color: color_,
|
|
194
195
|
opacity: opacity,
|
|
195
196
|
polygonOffset: true,
|
|
196
|
-
polygonOffsetFactor: -10
|
|
197
|
+
polygonOffsetFactor: -10,
|
|
198
|
+
fog: false
|
|
197
199
|
}))));
|
|
198
200
|
};
|
|
199
201
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("three"),r=require("@react-three/fiber"),n=require("../../core/Line.cjs.js"),o=require("../Html.cjs.js"),a=require("lodash.clamp"),i=require("./context.cjs.js");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(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)}require("@babel/runtime/helpers/extends"),require("three-stdlib"),require("react-dom/client");var l=s(e),u=s(t),d=c(a);const p=new u.Vector3,m=new u.Vector3,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("three"),r=require("@react-three/fiber"),n=require("../../core/Line.cjs.js"),o=require("../Html.cjs.js"),a=require("lodash.clamp"),i=require("./context.cjs.js");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(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)}require("@babel/runtime/helpers/extends"),require("three-stdlib"),require("react-dom/client");var l=s(e),u=s(t),d=c(a);const p=new u.Vector3,m=new u.Vector3,f=e=>180*e/Math.PI,h=e=>{let t=((e,t)=>{let r=Math.floor(e/t);return r=r<0?r+1:r,e-r*t})(e,2*Math.PI);return Math.abs(t)<1e-6?0:(t<0&&(t+=2*Math.PI),t)},x=new u.Matrix4,P=new u.Vector3,M=new u.Ray,b=new u.Vector3;exports.AxisRotator=({dir1:e,dir2:t,axis:a})=>{const{rotationLimits:c,annotations:s,annotationsClass:y,depthTest:g,scale:w,lineWidth:v,fixed:C,axisColors:j,hoveredColor:I,opacity:k,onDragStart:q,onDrag:O,onDragEnd:R,userData:V}=l.useContext(i.context),F=r.useThree((e=>e.controls)),D=l.useRef(null),E=l.useRef(null),W=l.useRef(0),z=l.useRef(0),T=l.useRef(null),[A,L]=l.useState(!1),_=l.useCallback((e=>{s&&(D.current.innerText=`${f(z.current).toFixed(0)}º`,D.current.style.display="block"),e.stopPropagation();const t=e.point.clone(),r=(new u.Vector3).setFromMatrixPosition(E.current.matrixWorld),n=(new u.Vector3).setFromMatrixColumn(E.current.matrixWorld,0).normalize(),o=(new u.Vector3).setFromMatrixColumn(E.current.matrixWorld,1).normalize(),i=(new u.Vector3).setFromMatrixColumn(E.current.matrixWorld,2).normalize(),c=(new u.Plane).setFromNormalAndCoplanarPoint(i,r);T.current={clickPoint:t,origin:r,e1:n,e2:o,normal:i,plane:c},q({component:"Rotator",axis:a,origin:r,directions:[n,o,i]}),F&&(F.enabled=!1),e.target.setPointerCapture(e.pointerId)}),[s,F,q,a]),S=l.useCallback((e=>{if(e.stopPropagation(),A||L(!0),T.current){const{clickPoint:t,origin:r,e1:n,e2:o,normal:i,plane:l}=T.current,[u,y]=(null==c?void 0:c[a])||[void 0,void 0];M.copy(e.ray),M.intersectPlane(l,b),M.direction.negate(),M.intersectPlane(l,b);let g=((e,t,r,n,o)=>{p.copy(e).sub(r),m.copy(t).sub(r);const a=n.dot(n),i=o.dot(o),c=p.dot(n)/a,s=p.dot(o)/i,l=m.dot(n)/a,u=m.dot(o)/i,d=Math.atan2(s,c);return Math.atan2(u,l)-d})(t,b,r,n,o),w=f(g);e.shiftKey&&(w=10*Math.round(w/10),g=(e=>e*Math.PI/180)(w)),void 0!==u&&void 0!==y&&y-u<2*Math.PI?(g=h(g),g=g>Math.PI?g-2*Math.PI:g,g=d.default(g,u-W.current,y-W.current),z.current=W.current+g):(z.current=h(W.current+g),z.current=z.current>Math.PI?z.current-2*Math.PI:z.current),s&&(w=f(z.current),D.current.innerText=`${w.toFixed(0)}º`),x.makeRotationAxis(i,g),P.copy(r).applyMatrix4(x).sub(r).negate(),x.setPosition(P),O(x)}}),[s,O,A,c,a]),H=l.useCallback((e=>{s&&(D.current.style.display="none"),e.stopPropagation(),W.current=z.current,T.current=null,R(),F&&(F.enabled=!0),e.target.releasePointerCapture(e.pointerId)}),[s,F,R]),N=l.useCallback((e=>{e.stopPropagation(),L(!1)}),[]),U=l.useMemo((()=>{const r=e.clone().normalize(),n=t.clone().normalize();return(new u.Matrix4).makeBasis(r,n,r.clone().cross(n))}),[e,t]),$=C?.65:.65*w,B=l.useMemo((()=>{const e=[];for(let t=0;t<=32;t++){const r=t*(Math.PI/2)/32;e.push(new u.Vector3(Math.cos(r)*$,Math.sin(r)*$,0))}return e}),[$]);return l.createElement("group",{ref:E,onPointerDown:_,onPointerMove:S,onPointerUp:H,onPointerOut:N,matrix:U,matrixAutoUpdate:!1},s&&l.createElement(o.Html,{position:[$,$,0]},l.createElement("div",{style:{display:"none",background:"#151520",color:"white",padding:"6px 8px",borderRadius:7,whiteSpace:"nowrap"},className:y,ref:D})),l.createElement(n.Line,{points:B,lineWidth:4*v,visible:!1,userData:V}),l.createElement(n.Line,{transparent:!0,raycast:()=>null,depthTest:g,points:B,lineWidth:v,color:A?I:j[a],opacity:k,polygonOffset:!0,polygonOffsetFactor:-10,fog:!1}))};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("three"),r=require("@react-three/fiber"),n=require("../../core/Line.cjs.js"),o=require("../Html.cjs.js"),a=require("./context.cjs.js");function i(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)}require("@babel/runtime/helpers/extends"),require("three-stdlib"),require("react-dom/client");var s=i(e),c=i(t);const l=new c.Ray,u=new c.Vector3,p=new c.Matrix4;exports.PlaneSlider=({dir1:e,dir2:t,axis:i})=>{const{translation:d,translationLimits:m,annotations:x,annotationsClass:b,depthTest:g,scale:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("three"),r=require("@react-three/fiber"),n=require("../../core/Line.cjs.js"),o=require("../Html.cjs.js"),a=require("./context.cjs.js");function i(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)}require("@babel/runtime/helpers/extends"),require("three-stdlib"),require("react-dom/client");var s=i(e),c=i(t);const l=new c.Ray,u=new c.Vector3,p=new c.Matrix4;exports.PlaneSlider=({dir1:e,dir2:t,axis:i})=>{const{translation:d,translationLimits:m,annotations:x,annotationsClass:b,depthTest:g,scale:f,lineWidth:h,fixed:M,axisColors:y,hoveredColor:C,opacity:P,onDragStart:v,onDrag:w,onDragEnd:j,userData:O}=s.useContext(a.context),k=r.useThree((e=>e.controls)),F=s.useRef(null),z=s.useRef(null),E=s.useRef(null),V=s.useRef(0),q=s.useRef(0),[D,R]=s.useState(!1),T=s.useCallback((e=>{x&&(F.current.innerText=`${d.current[(i+1)%3].toFixed(2)}, ${d.current[(i+2)%3].toFixed(2)}`,F.current.style.display="block"),e.stopPropagation();const t=e.point.clone(),r=(new c.Vector3).setFromMatrixPosition(z.current.matrixWorld),n=(new c.Vector3).setFromMatrixColumn(z.current.matrixWorld,0).normalize(),o=(new c.Vector3).setFromMatrixColumn(z.current.matrixWorld,1).normalize(),a=(new c.Vector3).setFromMatrixColumn(z.current.matrixWorld,2).normalize(),s=(new c.Plane).setFromNormalAndCoplanarPoint(a,r);E.current={clickPoint:t,e1:n,e2:o,plane:s},V.current=d.current[(i+1)%3],q.current=d.current[(i+2)%3],v({component:"Slider",axis:i,origin:r,directions:[n,o,a]}),k&&(k.enabled=!1),e.target.setPointerCapture(e.pointerId)}),[x,k,v,i]),S=s.useCallback((e=>{if(e.stopPropagation(),D||R(!0),E.current){const{clickPoint:t,e1:r,e2:n,plane:o}=E.current,[a,s]=(null==m?void 0:m[(i+1)%3])||[void 0,void 0],[c,b]=(null==m?void 0:m[(i+2)%3])||[void 0,void 0];l.copy(e.ray),l.intersectPlane(o,u),l.direction.negate(),l.intersectPlane(o,u),u.sub(t);let[g,f]=((e,t,r)=>{const n=Math.abs(e.x)>=Math.abs(e.y)&&Math.abs(e.x)>=Math.abs(e.z)?0:Math.abs(e.y)>=Math.abs(e.x)&&Math.abs(e.y)>=Math.abs(e.z)?1:2,o=[0,1,2].sort(((e,r)=>Math.abs(t.getComponent(r))-Math.abs(t.getComponent(e)))),a=n===o[0]?o[1]:o[0],i=e.getComponent(n),s=e.getComponent(a),c=t.getComponent(n),l=t.getComponent(a),u=r.getComponent(n),p=(r.getComponent(a)-u*(s/i))/(l-c*(s/i));return[(u-p*c)/i,p]})(r,n,u);void 0!==a&&(g=Math.max(g,a-V.current)),void 0!==s&&(g=Math.min(g,s-V.current)),void 0!==c&&(f=Math.max(f,c-q.current)),void 0!==b&&(f=Math.min(f,b-q.current)),d.current[(i+1)%3]=V.current+g,d.current[(i+2)%3]=q.current+f,x&&(F.current.innerText=`${d.current[(i+1)%3].toFixed(2)}, ${d.current[(i+2)%3].toFixed(2)}`),p.makeTranslation(g*r.x+f*n.x,g*r.y+f*n.y,g*r.z+f*n.z),w(p)}}),[x,w,D,d,m,i]),W=s.useCallback((e=>{x&&(F.current.style.display="none"),e.stopPropagation(),E.current=null,j(),k&&(k.enabled=!0),e.target.releasePointerCapture(e.pointerId)}),[x,k,j]),$=s.useCallback((e=>{e.stopPropagation(),R(!1)}),[]),_=s.useMemo((()=>{const r=e.clone().normalize(),n=t.clone().normalize();return(new c.Matrix4).makeBasis(r,n,r.clone().cross(n))}),[e,t]),L=M?1/7:f/7,A=M?.225:.225*f,B=D?C:y[i],H=s.useMemo((()=>[new c.Vector3(0,0,0),new c.Vector3(0,A,0),new c.Vector3(A,A,0),new c.Vector3(A,0,0),new c.Vector3(0,0,0)]),[A]);return s.createElement("group",{ref:z,matrix:_,matrixAutoUpdate:!1},x&&s.createElement(o.Html,{position:[0,0,0]},s.createElement("div",{style:{display:"none",background:"#151520",color:"white",padding:"6px 8px",borderRadius:7,whiteSpace:"nowrap"},className:b,ref:F})),s.createElement("group",{position:[1.7*L,1.7*L,0]},s.createElement("mesh",{visible:!0,onPointerDown:T,onPointerMove:S,onPointerUp:W,onPointerOut:$,scale:A,userData:O},s.createElement("planeGeometry",null),s.createElement("meshBasicMaterial",{transparent:!0,depthTest:g,color:B,polygonOffset:!0,polygonOffsetFactor:-10,side:c.DoubleSide,fog:!1})),s.createElement(n.Line,{position:[-A/2,-A/2,0],transparent:!0,depthTest:g,points:H,lineWidth:h,color:B,opacity:P,polygonOffset:!0,polygonOffsetFactor:-10,userData:O,fog:!1})))};
|
|
@@ -191,7 +191,8 @@ const PlaneSlider = ({
|
|
|
191
191
|
color: color,
|
|
192
192
|
polygonOffset: true,
|
|
193
193
|
polygonOffsetFactor: -10,
|
|
194
|
-
side: THREE.DoubleSide
|
|
194
|
+
side: THREE.DoubleSide,
|
|
195
|
+
fog: false
|
|
195
196
|
})), /*#__PURE__*/React.createElement(Line, {
|
|
196
197
|
position: [-length / 2, -length / 2, 0],
|
|
197
198
|
transparent: true,
|
|
@@ -202,7 +203,8 @@ const PlaneSlider = ({
|
|
|
202
203
|
opacity: opacity,
|
|
203
204
|
polygonOffset: true,
|
|
204
205
|
polygonOffsetFactor: -10,
|
|
205
|
-
userData: userData
|
|
206
|
+
userData: userData,
|
|
207
|
+
fog: false
|
|
206
208
|
})));
|
|
207
209
|
};
|
|
208
210
|
|