@tomorrowevening/hermes 0.0.49 → 0.0.50
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/dist/hermes.cjs.js +1 -1
- package/dist/hermes.es.js +5 -5
- package/package.json +1 -1
package/dist/hermes.cjs.js
CHANGED
@@ -141,4 +141,4 @@ void main() {
|
|
141
141
|
void main() {
|
142
142
|
#include <clipping_planes_fragment>
|
143
143
|
gl_FragColor = vec4(vec3(vUv, 0.0), 1.0);
|
144
|
-
}`;class da extends l.ShaderMaterial{constructor(){super({defines:{USE_UV:""},vertexShader:la,fragmentShader:ua})}}let vt="Renderer",De,gt=!1,Wt=!1,W=null,ce=null,Fe=null,Be=null;function ha(t){const n=t.three.app.appID,a=localStorage.getItem(`${n}_mode`),e=localStorage.getItem(`${n}_tlCam`)!==null?localStorage.getItem(`${n}_tlCam`):"Debug",i=localStorage.getItem(`${n}_trCam`)!==null?localStorage.getItem(`${n}_trCam`):"Orthographic",c=localStorage.getItem(`${n}_blCam`)!==null?localStorage.getItem(`${n}_blCam`):"Front",f=localStorage.getItem(`${n}_brCam`)!==null?localStorage.getItem(`${n}_brCam`):"Top",o=x.useMemo(()=>new Map,[]),d=x.useMemo(()=>new Map,[]),h=x.useMemo(()=>new Map,[]),b=x.useMemo(()=>new Map,[]),g=x.useMemo(()=>new l.Scene,[]),S=x.useMemo(()=>new l.Group,[]),C=x.useMemo(()=>new ca,[]),P=x.useMemo(()=>new l.AxesHelper(500),[]),k=x.useMemo(()=>new l.AxesHelper(100),[]),q=x.useMemo(()=>new l.MeshDepthMaterial,[]),G=x.useMemo(()=>new l.MeshNormalMaterial,[]),B=x.useMemo(()=>new da,[]),A=x.useMemo(()=>new l.MeshBasicMaterial({opacity:.33,transparent:!0,wireframe:!0}),[]);function X(m,v){const M=new l.OrthographicCamera(-100,100,100,-100,50,3e3);return M.name=m,M.position.copy(v),M.lookAt(0,0,0),o.set(m,M),M}const te=["Renderer","Depth","Normals","UVs","Wireframe"],ye=["Single","Side by Side","Stacked","Quad"],K=x.useRef(null),fe=x.useRef(null),le=x.useRef(null),Ce=x.useRef(null),we=x.useRef(null),pe=x.useRef(null),[U,me]=x.useState(a!==null?a:"Single"),[O,Ee]=x.useState(null),[Oe,_e]=x.useState(!1),[Me,Te]=x.useState(!1),[Ae,je]=x.useState(!1),[,Ie]=x.useState(Date.now());localStorage.setItem(`${n}_mode`,U),localStorage.setItem(`${n}_tlCam`,e),localStorage.setItem(`${n}_trCam`,i),localStorage.setItem(`${n}_blCam`,c),localStorage.setItem(`${n}_brCam`,f);const ae=(m,v)=>{const M=d.get(m.name);M!==void 0&&M.dispose(),d.delete(m.name);const L=h.get(m.name);L!==void 0&&(g.remove(L),L.dispose()),h.delete(m.name);const ie=new sa(m,v);switch(ie.enableDamping=!0,ie.dampingFactor=.05,m.name){case"Top":case"Bottom":case"Left":case"Right":case"Front":case"Back":ie.enableRotate=!1;break}if(d.set(m.name,ie),m instanceof l.PerspectiveCamera){const R=new l.CameraHelper(m);h.set(m.name,R),g.add(R)}},Se=m=>{const v=h.get(m.name);v!==void 0&&(g.remove(v),v.dispose(),h.delete(m.name));const M=d.get(m.name);M!==void 0&&(M.dispose(),d.delete(m.name))},Ve=()=>{d.forEach((m,v)=>{m.dispose();const M=h.get(v);M!==void 0&&(g.remove(M),M.dispose()),h.delete(v),d.delete(v)}),d.clear(),h.clear()},$e=()=>{switch(U){case"Single":ae(W,le.current);break;case"Side by Side":case"Stacked":ae(W,le.current),ae(ce,Ce.current);break;case"Quad":ae(W,le.current),ae(ce,Ce.current),ae(Fe,we.current),ae(Be,pe.current);break}};x.useEffect(()=>{const m=new l.WebGLRenderer({canvas:K.current,stencil:!1});m.autoClear=!1,m.shadowMap.enabled=!0,m.setPixelRatio(devicePixelRatio),m.setClearColor(0),t.three.renderer=m,Ee(m)},[]),x.useEffect(()=>{g.name="Debug Scene",S.name="helpers",g.add(S),S.add(C),P.name="axisHelper",S.add(P),k.name="interactionHelper",S.add(k),k.visible=!1,X("Top",new l.Vector3(0,1e3,0)),X("Bottom",new l.Vector3(0,-1e3,0)),X("Left",new l.Vector3(-1e3,0,0)),X("Right",new l.Vector3(1e3,0,0)),X("Front",new l.Vector3(0,0,1e3)),X("Back",new l.Vector3(0,0,-1e3)),X("Orthographic",new l.Vector3(1e3,1e3,1e3));const m=new l.PerspectiveCamera(60,1,50,3e3);m.name="Debug",m.position.set(500,500,500),m.lookAt(0,0,0),o.set("Debug",m),W=o.get(localStorage.getItem(`${n}_tlCam`)),ce=o.get(localStorage.getItem(`${n}_trCam`)),Fe=o.get(localStorage.getItem(`${n}_blCam`)),Be=o.get(localStorage.getItem(`${n}_brCam`))},[]),x.useEffect(()=>{const m=()=>{b.forEach(R=>{S.remove(R),R.dispose()}),b.clear()},v=()=>{De.traverse(R=>{if(R.type.search("Light")>-1){let T;switch(R.type){case"DirectionalLight":T=new l.DirectionalLightHelper(R,100),T.name=`${R.name}Helper`,b.set(R.name,T),S.add(T);break;case"HemisphereLight":T=new l.HemisphereLightHelper(R,100),T.name=`${R.name}Helper`,b.set(R.name,T),S.add(T);break;case"RectAreaLight":T=new ia(R,100),T.name=`${R.name}Helper`,b.set(R.name,T),S.add(T);break;case"PointLight":T=new l.PointLightHelper(R,100),T.name=`${R.name}Helper`,b.set(R.name,T),S.add(T);break;case"SpotLight":T=new l.SpotLightHelper(R,100),T.name=`${R.name}Helper`,b.set(R.name,T),S.add(T);break}}})},M=R=>{m(),jt(De),g.remove(De);const T=t.scenes.get(R.value.name);if(T!==void 0){const V=new T;t.onSceneSet!==void 0&&t.onSceneSet(V),De=V,t.three.scene=De,g.add(De),Wt=!0,v()}},L=R=>{const T=R.value,V=t.three.scene?.getObjectByProperty("uuid",T.uuid);V!==void 0&&o.set(T.name,V),Ie(Date.now())},ie=R=>{o.delete(R.value.name),Ie(Date.now())};return N.addEventListener(F.SET_SCENE,M),N.addEventListener(F.ADD_CAMERA,L),N.addEventListener(F.REMOVE_CAMERA,ie),()=>{N.removeEventListener(F.SET_SCENE,M),N.removeEventListener(F.ADD_CAMERA,L),N.removeEventListener(F.REMOVE_CAMERA,ie)}},[]),x.useEffect(()=>{if(O===null)return;let m=window.innerWidth,v=window.innerHeight,M=Math.floor(m/2),L=Math.floor(v/2),ie=-1;const R=()=>{m=window.innerWidth-300,v=window.innerHeight,M=Math.floor(m/2),L=Math.floor(v/2),O.setSize(m,v);let D=m,z=v;switch(U){case"Side by Side":D=M,z=v;break;case"Stacked":D=m,z=L;break;case"Quad":D=M,z=L;break}o.forEach(Q=>{Q instanceof l.OrthographicCamera?(Q.left=D/-2,Q.right=D/2,Q.top=z/2,Q.bottom=z/-2,Q.updateProjectionMatrix()):Q instanceof l.PerspectiveCamera&&(Q.aspect=D/z,Q.updateProjectionMatrix(),h.get(Q.name)?.update())})},T=()=>{O.setViewport(0,0,m,v),O.setScissor(0,0,m,v),O.render(g,W)},V=()=>{if(U==="Side by Side")O.setViewport(0,0,M,v),O.setScissor(0,0,M,v),O.render(g,W),O.setViewport(M,0,M,v),O.setScissor(M,0,M,v),O.render(g,ce);else{const D=v-L;O.setViewport(0,D,m,L),O.setScissor(0,D,m,L),O.render(g,W),O.setViewport(0,0,m,L),O.setScissor(0,0,m,L),O.render(g,ce)}},re=()=>{let D=0,z=0;z=v-L,D=0,O.setViewport(D,z,M,L),O.setScissor(D,z,M,L),O.render(g,W),D=M,O.setViewport(D,z,M,L),O.setScissor(D,z,M,L),O.render(g,ce),z=0,D=0,O.setViewport(D,z,M,L),O.setScissor(D,z,M,L),O.render(g,Fe),D=M,O.setViewport(D,z,M,L),O.setScissor(D,z,M,L),O.render(g,Be)},se=()=>{switch(d.forEach(D=>{D.update()}),t.onSceneUpdate!==void 0&&Wt&&t.onSceneUpdate(De),O.clear(),U){case"Single":T();break;case"Side by Side":case"Stacked":V();break;case"Quad":re();break}ie=requestAnimationFrame(se)};return $e(),window.addEventListener("resize",R),R(),se(),()=>{window.removeEventListener("resize",R),cancelAnimationFrame(ie),ie=-1}},[U,O]),x.useEffect(()=>{if(O!==null){const m=new l.Raycaster,v=new l.Vector2,M=(T,V,re,se)=>{switch(U){case"Quad":T<re?V<se?m.setFromCamera(v,W):m.setFromCamera(v,Fe):V<se?m.setFromCamera(v,ce):m.setFromCamera(v,Be);break;case"Side by Side":T<re?m.setFromCamera(v,W):m.setFromCamera(v,ce);break;case"Single":m.setFromCamera(v,W);break;case"Stacked":V<se?m.setFromCamera(v,W):m.setFromCamera(v,ce);break}},L=T=>{if(!gt)return;const V=new l.Vector2;O.getSize(V);const re=Math.min(T.clientX,V.x),se=Math.min(T.clientY,V.y);v.x=Qe(re,0,V.x,-1,1),v.y=Qe(se,0,V.y,1,-1);const D=V.x/2,z=V.y/2,Q=()=>{re<D?v.x=Qe(re,0,D,-1,1):v.x=Qe(re,D,V.x,-1,1)},Pe=()=>{se<z?v.y=Qe(se,0,z,1,-1):v.y=Qe(se,z,V.y,1,-1)};switch(U){case"Quad":Q(),Pe();break;case"Side by Side":Q();break;case"Stacked":Pe(),Pe();break}M(re,se,D,z);const Ke=m.intersectObjects(De.children);Ke.length>0&&k.position.copy(Ke[0].point)},ie=T=>{if(!gt)return;const V=new l.Vector2;if(O.getSize(V),T.clientX>=V.x)return;L(T);const re=m.intersectObjects(De.children);re.length>0&&t.three.getObject(re[0].object.uuid)},R=fe.current;return R.addEventListener("mousemove",L,!1),R.addEventListener("click",ie,!1),()=>{R.removeEventListener("mousemove",L),R.removeEventListener("click",ie)}}},[U,O]);const de=[];return o.forEach((m,v)=>{de.push(v)}),u.jsxs("div",{className:"multiview",children:[u.jsx("canvas",{ref:K}),O!==null&&u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:`cameras ${U==="Single"||U==="Stacked"?"single":""}`,ref:fe,children:[U==="Single"&&u.jsx(u.Fragment,{children:u.jsx(We,{camera:W,options:de,ref:le,onSelect:m=>{d.get(W.name)?.dispose();const v=o.get(m);v!==void 0&&(Se(W),W=v,localStorage.setItem(`${n}_tlCam`,v.name),ae(v,le.current))}})}),(U==="Side by Side"||U==="Stacked")&&u.jsxs(u.Fragment,{children:[u.jsx(We,{camera:W,options:de,ref:le,onSelect:m=>{d.get(W.name)?.dispose();const v=o.get(m);v!==void 0&&(Se(W),W=v,localStorage.setItem(`${n}_tlCam`,v.name),ae(v,le.current))}}),u.jsx(We,{camera:ce,options:de,ref:Ce,onSelect:m=>{d.get(ce.name)?.dispose();const v=o.get(m);v!==void 0&&(Se(ce),ce=v,localStorage.setItem(`${n}_trCam`,v.name),ae(v,Ce.current))}})]}),U==="Quad"&&u.jsxs(u.Fragment,{children:[u.jsx(We,{camera:W,options:de,ref:le,onSelect:m=>{d.get(W.name)?.dispose();const v=o.get(m);v!==void 0&&(Se(W),W=v,localStorage.setItem(`${n}_tlCam`,v.name),ae(v,le.current))}}),u.jsx(We,{camera:ce,options:de,ref:Ce,onSelect:m=>{d.get(ce.name)?.dispose();const v=o.get(m);v!==void 0&&(Se(ce),ce=v,localStorage.setItem(`${n}_trCam`,v.name),ae(v,Ce.current))}}),u.jsx(We,{camera:Fe,options:de,ref:we,onSelect:m=>{d.get(Fe.name)?.dispose();const v=o.get(m);v!==void 0&&(Se(Fe),Fe=v,localStorage.setItem(`${n}_blCam`,v.name),ae(v,we.current))}}),u.jsx(We,{camera:Be,options:de,ref:pe,onSelect:m=>{d.get(Be.name)?.dispose();const v=o.get(m);v!==void 0&&(Se(Be),Be=v,localStorage.setItem(`${n}_brCam`,v.name),ae(v,pe.current))}})]})]}),u.jsxs("div",{className:"settings",children:[u.jsx(bt,{index:ye.indexOf(U),options:ye,onSelect:m=>{m!==U&&(Ve(),me(m))},open:Oe,onToggle:m=>{_e(m),Me&&Te(!1),Ae&&je(!1)}}),u.jsx(bt,{index:te.indexOf(vt),options:te,onSelect:m=>{if(m!==vt)switch(vt=m,vt){case"Depth":g.overrideMaterial=q;break;case"Normals":g.overrideMaterial=G;break;default:case"Renderer":g.overrideMaterial=null;break;case"Wireframe":g.overrideMaterial=A;break;case"UVs":g.overrideMaterial=B;break}},open:Me,onToggle:m=>{Oe&&_e(!1),Te(m),Ae&&je(!1)}}),u.jsx(bt,{index:0,options:["Orbit Mode","Selection Mode"],onSelect:m=>{gt=m==="Selection Mode",k.visible=gt},open:Ae,onToggle:m=>{Oe&&_e(!1),Me&&Te(!1),je(m)}})]})]})]})}function fa(t){return u.jsxs("div",{className:"editor",ref:t.ref,style:t.style,children:[u.jsx("div",{className:"header",children:t.header}),t.children,u.jsx("div",{className:"footer",children:t.footer})]})}exports.Accordion=Et;exports.Application=En;exports.BaseRemote=lt;exports.ChildObject=Lt;exports.ContainerObject=sn;exports.Draggable=nn;exports.DraggableItem=tn;exports.Dropdown=an;exports.DropdownItem=rn;exports.Editor=fa;exports.Inspector=cn;exports.MultiView=ha;exports.NavButton=It;exports.RemoteComponents=Sn;exports.RemoteController=Dn;exports.RemoteTheatre=yt;exports.RemoteThree=Tn;exports.RemoteTweakpane=Rn;exports.SceneInspector=aa;exports.SidePanel=na;exports.ToolEvents=F;exports.capitalize=ct;exports.clamp=Ue;exports.colorToHex=Zt;exports.debugDispatcher=N;exports.defaultTheatreCallback=gn;exports.dispose=jt;exports.disposeMaterial=Qt;exports.disposeTexture=yn;exports.distance=bn;exports.hierarchyUUID=Dt;exports.isColor=Xt;exports.mix=_t;exports.noop=kt;exports.normalize=Rt;exports.randomID=Kt;exports.resetThreeObjects=Jt;exports.round=et;exports.theatreEditorApp=xn;
|
144
|
+
}`;class da extends l.ShaderMaterial{constructor(){super({defines:{USE_UV:""},vertexShader:la,fragmentShader:ua})}}let vt="Renderer",De,gt=!1,Wt=!1,W=null,ce=null,Fe=null,Be=null;function ha(t){const n=t.three.app.appID,a=localStorage.getItem(`${n}_mode`),e=localStorage.getItem(`${n}_tlCam`)!==null?localStorage.getItem(`${n}_tlCam`):"Debug",i=localStorage.getItem(`${n}_trCam`)!==null?localStorage.getItem(`${n}_trCam`):"Orthographic",c=localStorage.getItem(`${n}_blCam`)!==null?localStorage.getItem(`${n}_blCam`):"Front",f=localStorage.getItem(`${n}_brCam`)!==null?localStorage.getItem(`${n}_brCam`):"Top",o=x.useMemo(()=>new Map,[]),d=x.useMemo(()=>new Map,[]),h=x.useMemo(()=>new Map,[]),b=x.useMemo(()=>new Map,[]),g=x.useMemo(()=>new l.Scene,[]),S=x.useMemo(()=>new l.Group,[]),C=x.useMemo(()=>new ca,[]),P=x.useMemo(()=>new l.AxesHelper(500),[]),k=x.useMemo(()=>new l.AxesHelper(100),[]),q=x.useMemo(()=>new l.MeshDepthMaterial,[]),G=x.useMemo(()=>new l.MeshNormalMaterial,[]),B=x.useMemo(()=>new da,[]),A=x.useMemo(()=>new l.MeshBasicMaterial({opacity:.33,transparent:!0,wireframe:!0}),[]);function X(m,v){const M=new l.OrthographicCamera(-100,100,100,-100,50,3e3);return M.name=m,M.position.copy(v),M.lookAt(0,0,0),o.set(m,M),M}const te=["Renderer","Depth","Normals","UVs","Wireframe"],ye=["Single","Side by Side","Stacked","Quad"],K=x.useRef(null),fe=x.useRef(null),le=x.useRef(null),Ce=x.useRef(null),we=x.useRef(null),pe=x.useRef(null),[U,me]=x.useState(a!==null?a:"Single"),[O,Ee]=x.useState(null),[Oe,_e]=x.useState(!1),[Me,Te]=x.useState(!1),[Ae,je]=x.useState(!1),[,Ie]=x.useState(Date.now());localStorage.setItem(`${n}_mode`,U),localStorage.setItem(`${n}_tlCam`,e),localStorage.setItem(`${n}_trCam`,i),localStorage.setItem(`${n}_blCam`,c),localStorage.setItem(`${n}_brCam`,f);const ae=(m,v)=>{const M=d.get(m.name);M!==void 0&&M.dispose(),d.delete(m.name);const L=h.get(m.name);L!==void 0&&(g.remove(L),L.dispose()),h.delete(m.name);const ie=new sa(m,v);switch(ie.enableDamping=!0,ie.dampingFactor=.05,m.name){case"Top":case"Bottom":case"Left":case"Right":case"Front":case"Back":ie.enableRotate=!1;break}if(d.set(m.name,ie),m instanceof l.PerspectiveCamera){const R=new l.CameraHelper(m);h.set(m.name,R),g.add(R)}},Se=m=>{const v=h.get(m.name);v!==void 0&&(g.remove(v),v.dispose(),h.delete(m.name));const M=d.get(m.name);M!==void 0&&(M.dispose(),d.delete(m.name))},Ve=()=>{d.forEach((m,v)=>{m.dispose();const M=h.get(v);M!==void 0&&(g.remove(M),M.dispose()),h.delete(v),d.delete(v)}),d.clear(),h.clear()},$e=()=>{switch(U){case"Single":ae(W,le.current);break;case"Side by Side":case"Stacked":ae(W,le.current),ae(ce,Ce.current);break;case"Quad":ae(W,le.current),ae(ce,Ce.current),ae(Fe,we.current),ae(Be,pe.current);break}};x.useEffect(()=>{const m=new l.WebGLRenderer({canvas:K.current,stencil:!1});m.autoClear=!1,m.shadowMap.enabled=!0,m.setPixelRatio(devicePixelRatio),m.setClearColor(0),t.three.renderer=m,Ee(m)},[]),x.useEffect(()=>{g.name="Debug Scene",S.name="helpers",g.add(S),S.add(C),P.name="axisHelper",S.add(P),k.name="interactionHelper",S.add(k),k.visible=!1,X("Top",new l.Vector3(0,1e3,0)),X("Bottom",new l.Vector3(0,-1e3,0)),X("Left",new l.Vector3(-1e3,0,0)),X("Right",new l.Vector3(1e3,0,0)),X("Front",new l.Vector3(0,0,1e3)),X("Back",new l.Vector3(0,0,-1e3)),X("Orthographic",new l.Vector3(1e3,1e3,1e3));const m=new l.PerspectiveCamera(60,1,50,3e3);m.name="Debug",m.position.set(500,500,500),m.lookAt(0,0,0),o.set("Debug",m),W=o.get(localStorage.getItem(`${n}_tlCam`)),ce=o.get(localStorage.getItem(`${n}_trCam`)),Fe=o.get(localStorage.getItem(`${n}_blCam`)),Be=o.get(localStorage.getItem(`${n}_brCam`))},[]),x.useEffect(()=>{const m=()=>{b.forEach(R=>{S.remove(R),R.dispose()}),b.clear()},v=()=>{De.traverse(R=>{if(R.type.search("Light")>-1){let T;switch(R.type){case"DirectionalLight":T=new l.DirectionalLightHelper(R),T.name=`${R.name}Helper`,b.set(R.name,T),S.add(T);break;case"HemisphereLight":T=new l.HemisphereLightHelper(R,250),T.name=`${R.name}Helper`,b.set(R.name,T),S.add(T);break;case"RectAreaLight":T=new ia(R),T.name=`${R.name}Helper`,b.set(R.name,T),S.add(T);break;case"PointLight":T=new l.PointLightHelper(R),T.name=`${R.name}Helper`,b.set(R.name,T),S.add(T);break;case"SpotLight":T=new l.SpotLightHelper(R),T.name=`${R.name}Helper`,b.set(R.name,T),S.add(T);break}}})},M=R=>{m(),jt(De),g.remove(De);const T=t.scenes.get(R.value.name);if(T!==void 0){const V=new T;t.onSceneSet!==void 0&&t.onSceneSet(V),De=V,t.three.scene=De,g.add(De),Wt=!0,v()}},L=R=>{const T=R.value,V=t.three.scene?.getObjectByProperty("uuid",T.uuid);V!==void 0&&o.set(T.name,V),Ie(Date.now())},ie=R=>{o.delete(R.value.name),Ie(Date.now())};return N.addEventListener(F.SET_SCENE,M),N.addEventListener(F.ADD_CAMERA,L),N.addEventListener(F.REMOVE_CAMERA,ie),()=>{N.removeEventListener(F.SET_SCENE,M),N.removeEventListener(F.ADD_CAMERA,L),N.removeEventListener(F.REMOVE_CAMERA,ie)}},[]),x.useEffect(()=>{if(O===null)return;let m=window.innerWidth,v=window.innerHeight,M=Math.floor(m/2),L=Math.floor(v/2),ie=-1;const R=()=>{m=window.innerWidth-300,v=window.innerHeight,M=Math.floor(m/2),L=Math.floor(v/2),O.setSize(m,v);let D=m,z=v;switch(U){case"Side by Side":D=M,z=v;break;case"Stacked":D=m,z=L;break;case"Quad":D=M,z=L;break}o.forEach(Q=>{Q instanceof l.OrthographicCamera?(Q.left=D/-2,Q.right=D/2,Q.top=z/2,Q.bottom=z/-2,Q.updateProjectionMatrix()):Q instanceof l.PerspectiveCamera&&(Q.aspect=D/z,Q.updateProjectionMatrix(),h.get(Q.name)?.update())})},T=()=>{O.setViewport(0,0,m,v),O.setScissor(0,0,m,v),O.render(g,W)},V=()=>{if(U==="Side by Side")O.setViewport(0,0,M,v),O.setScissor(0,0,M,v),O.render(g,W),O.setViewport(M,0,M,v),O.setScissor(M,0,M,v),O.render(g,ce);else{const D=v-L;O.setViewport(0,D,m,L),O.setScissor(0,D,m,L),O.render(g,W),O.setViewport(0,0,m,L),O.setScissor(0,0,m,L),O.render(g,ce)}},re=()=>{let D=0,z=0;z=v-L,D=0,O.setViewport(D,z,M,L),O.setScissor(D,z,M,L),O.render(g,W),D=M,O.setViewport(D,z,M,L),O.setScissor(D,z,M,L),O.render(g,ce),z=0,D=0,O.setViewport(D,z,M,L),O.setScissor(D,z,M,L),O.render(g,Fe),D=M,O.setViewport(D,z,M,L),O.setScissor(D,z,M,L),O.render(g,Be)},se=()=>{switch(d.forEach(D=>{D.update()}),t.onSceneUpdate!==void 0&&Wt&&t.onSceneUpdate(De),O.clear(),U){case"Single":T();break;case"Side by Side":case"Stacked":V();break;case"Quad":re();break}ie=requestAnimationFrame(se)};return $e(),window.addEventListener("resize",R),R(),se(),()=>{window.removeEventListener("resize",R),cancelAnimationFrame(ie),ie=-1}},[U,O]),x.useEffect(()=>{if(O!==null){const m=new l.Raycaster,v=new l.Vector2,M=(T,V,re,se)=>{switch(U){case"Quad":T<re?V<se?m.setFromCamera(v,W):m.setFromCamera(v,Fe):V<se?m.setFromCamera(v,ce):m.setFromCamera(v,Be);break;case"Side by Side":T<re?m.setFromCamera(v,W):m.setFromCamera(v,ce);break;case"Single":m.setFromCamera(v,W);break;case"Stacked":V<se?m.setFromCamera(v,W):m.setFromCamera(v,ce);break}},L=T=>{if(!gt)return;const V=new l.Vector2;O.getSize(V);const re=Math.min(T.clientX,V.x),se=Math.min(T.clientY,V.y);v.x=Qe(re,0,V.x,-1,1),v.y=Qe(se,0,V.y,1,-1);const D=V.x/2,z=V.y/2,Q=()=>{re<D?v.x=Qe(re,0,D,-1,1):v.x=Qe(re,D,V.x,-1,1)},Pe=()=>{se<z?v.y=Qe(se,0,z,1,-1):v.y=Qe(se,z,V.y,1,-1)};switch(U){case"Quad":Q(),Pe();break;case"Side by Side":Q();break;case"Stacked":Pe(),Pe();break}M(re,se,D,z);const Ke=m.intersectObjects(De.children);Ke.length>0&&k.position.copy(Ke[0].point)},ie=T=>{if(!gt)return;const V=new l.Vector2;if(O.getSize(V),T.clientX>=V.x)return;L(T);const re=m.intersectObjects(De.children);re.length>0&&t.three.getObject(re[0].object.uuid)},R=fe.current;return R.addEventListener("mousemove",L,!1),R.addEventListener("click",ie,!1),()=>{R.removeEventListener("mousemove",L),R.removeEventListener("click",ie)}}},[U,O]);const de=[];return o.forEach((m,v)=>{de.push(v)}),u.jsxs("div",{className:"multiview",children:[u.jsx("canvas",{ref:K}),O!==null&&u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:`cameras ${U==="Single"||U==="Stacked"?"single":""}`,ref:fe,children:[U==="Single"&&u.jsx(u.Fragment,{children:u.jsx(We,{camera:W,options:de,ref:le,onSelect:m=>{d.get(W.name)?.dispose();const v=o.get(m);v!==void 0&&(Se(W),W=v,localStorage.setItem(`${n}_tlCam`,v.name),ae(v,le.current))}})}),(U==="Side by Side"||U==="Stacked")&&u.jsxs(u.Fragment,{children:[u.jsx(We,{camera:W,options:de,ref:le,onSelect:m=>{d.get(W.name)?.dispose();const v=o.get(m);v!==void 0&&(Se(W),W=v,localStorage.setItem(`${n}_tlCam`,v.name),ae(v,le.current))}}),u.jsx(We,{camera:ce,options:de,ref:Ce,onSelect:m=>{d.get(ce.name)?.dispose();const v=o.get(m);v!==void 0&&(Se(ce),ce=v,localStorage.setItem(`${n}_trCam`,v.name),ae(v,Ce.current))}})]}),U==="Quad"&&u.jsxs(u.Fragment,{children:[u.jsx(We,{camera:W,options:de,ref:le,onSelect:m=>{d.get(W.name)?.dispose();const v=o.get(m);v!==void 0&&(Se(W),W=v,localStorage.setItem(`${n}_tlCam`,v.name),ae(v,le.current))}}),u.jsx(We,{camera:ce,options:de,ref:Ce,onSelect:m=>{d.get(ce.name)?.dispose();const v=o.get(m);v!==void 0&&(Se(ce),ce=v,localStorage.setItem(`${n}_trCam`,v.name),ae(v,Ce.current))}}),u.jsx(We,{camera:Fe,options:de,ref:we,onSelect:m=>{d.get(Fe.name)?.dispose();const v=o.get(m);v!==void 0&&(Se(Fe),Fe=v,localStorage.setItem(`${n}_blCam`,v.name),ae(v,we.current))}}),u.jsx(We,{camera:Be,options:de,ref:pe,onSelect:m=>{d.get(Be.name)?.dispose();const v=o.get(m);v!==void 0&&(Se(Be),Be=v,localStorage.setItem(`${n}_brCam`,v.name),ae(v,pe.current))}})]})]}),u.jsxs("div",{className:"settings",children:[u.jsx(bt,{index:ye.indexOf(U),options:ye,onSelect:m=>{m!==U&&(Ve(),me(m))},open:Oe,onToggle:m=>{_e(m),Me&&Te(!1),Ae&&je(!1)}}),u.jsx(bt,{index:te.indexOf(vt),options:te,onSelect:m=>{if(m!==vt)switch(vt=m,vt){case"Depth":g.overrideMaterial=q;break;case"Normals":g.overrideMaterial=G;break;default:case"Renderer":g.overrideMaterial=null;break;case"Wireframe":g.overrideMaterial=A;break;case"UVs":g.overrideMaterial=B;break}},open:Me,onToggle:m=>{Oe&&_e(!1),Te(m),Ae&&je(!1)}}),u.jsx(bt,{index:0,options:["Orbit Mode","Selection Mode"],onSelect:m=>{gt=m==="Selection Mode",k.visible=gt},open:Ae,onToggle:m=>{Oe&&_e(!1),Me&&Te(!1),je(m)}})]})]})]})}function fa(t){return u.jsxs("div",{className:"editor",ref:t.ref,style:t.style,children:[u.jsx("div",{className:"header",children:t.header}),t.children,u.jsx("div",{className:"footer",children:t.footer})]})}exports.Accordion=Et;exports.Application=En;exports.BaseRemote=lt;exports.ChildObject=Lt;exports.ContainerObject=sn;exports.Draggable=nn;exports.DraggableItem=tn;exports.Dropdown=an;exports.DropdownItem=rn;exports.Editor=fa;exports.Inspector=cn;exports.MultiView=ha;exports.NavButton=It;exports.RemoteComponents=Sn;exports.RemoteController=Dn;exports.RemoteTheatre=yt;exports.RemoteThree=Tn;exports.RemoteTweakpane=Rn;exports.SceneInspector=aa;exports.SidePanel=na;exports.ToolEvents=F;exports.capitalize=ct;exports.clamp=Ue;exports.colorToHex=Zt;exports.debugDispatcher=N;exports.defaultTheatreCallback=gn;exports.dispose=jt;exports.disposeMaterial=Qt;exports.disposeTexture=yn;exports.distance=bn;exports.hierarchyUUID=Dt;exports.isColor=Xt;exports.mix=_t;exports.noop=kt;exports.normalize=Rt;exports.randomID=Kt;exports.resetThreeObjects=Jt;exports.round=et;exports.theatreEditorApp=xn;
|
package/dist/hermes.es.js
CHANGED
@@ -3750,19 +3750,19 @@ function Di(t) {
|
|
3750
3750
|
let O;
|
3751
3751
|
switch (M.type) {
|
3752
3752
|
case "DirectionalLight":
|
3753
|
-
O = new ya(M
|
3753
|
+
O = new ya(M), O.name = `${M.name}Helper`, g.set(M.name, O), E.add(O);
|
3754
3754
|
break;
|
3755
3755
|
case "HemisphereLight":
|
3756
|
-
O = new ba(M,
|
3756
|
+
O = new ba(M, 250), O.name = `${M.name}Helper`, g.set(M.name, O), E.add(O);
|
3757
3757
|
break;
|
3758
3758
|
case "RectAreaLight":
|
3759
|
-
O = new di(M
|
3759
|
+
O = new di(M), O.name = `${M.name}Helper`, g.set(M.name, O), E.add(O);
|
3760
3760
|
break;
|
3761
3761
|
case "PointLight":
|
3762
|
-
O = new ga(M
|
3762
|
+
O = new ga(M), O.name = `${M.name}Helper`, g.set(M.name, O), E.add(O);
|
3763
3763
|
break;
|
3764
3764
|
case "SpotLight":
|
3765
|
-
O = new va(M
|
3765
|
+
O = new va(M), O.name = `${M.name}Helper`, g.set(M.name, O), E.add(O);
|
3766
3766
|
break;
|
3767
3767
|
}
|
3768
3768
|
}
|
package/package.json
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
"module": "./dist/hermes.esm.js",
|
8
8
|
"types": "./types/index.d.ts",
|
9
9
|
"type": "module",
|
10
|
-
"version": "0.0.
|
10
|
+
"version": "0.0.50",
|
11
11
|
"homepage": "https://github.com/tomorrowevening/hermes#readme",
|
12
12
|
"bugs": {
|
13
13
|
"url": "https://github.com/tomorrowevening/hermes/issues"
|