mingyang91 commited on
Commit
7a54c68
Β·
verified Β·
1 Parent(s): 7cfdf7b

align output format with lintao

Browse files

Signed-off-by: ζ˜Žζ‰¬ <[email protected]>

src/asr/aws.rs CHANGED
@@ -12,7 +12,7 @@ use tokio::select;
12
  use tokio::sync::broadcast::Receiver;
13
  use tokio_stream::Stream;
14
  use futures_util::TryStreamExt;
15
- use tracing::{trace, warn};
16
  use crate::asr::{ASR, Event, slice_i16_to_u8_le};
17
 
18
  pub struct AwsAsr {
 
12
  use tokio::sync::broadcast::Receiver;
13
  use tokio_stream::Stream;
14
  use futures_util::TryStreamExt;
15
+ use tracing::{warn};
16
  use crate::asr::{ASR, Event, slice_i16_to_u8_le};
17
 
18
  pub struct AwsAsr {
src/lib.rs CHANGED
@@ -21,7 +21,7 @@ use poem::{
21
  };
22
  use serde::{Deserialize, Serialize};
23
  use tokio::select;
24
- use tracing::{debug, span};
25
 
26
  use crate::base64box::Base64Box;
27
  use crate::config::SETTINGS;
@@ -56,6 +56,8 @@ pub enum SingleEvent {
56
  Voice {
57
  content: Base64Box
58
  },
 
 
59
  }
60
 
61
 
@@ -156,10 +158,10 @@ async fn stream_speaker(
156
  let res: anyhow::Result<()> = fut.await;
157
  match res {
158
  Ok(()) => {
159
- tracing::info!("lesson speaker closed");
160
  }
161
  Err(e) => {
162
- tracing::warn!("lesson speaker error: {}", e);
163
  }
164
  }
165
  })
@@ -171,6 +173,7 @@ async fn stream_listener(
171
  query: Query<LessonListenerQuery>,
172
  ws: WebSocket,
173
  ) -> impl IntoResponse {
 
174
  let lessons_manager = ctx.lessons_manager.clone();
175
 
176
  ws.on_upgrade(|mut socket| async move {
@@ -204,7 +207,7 @@ async fn stream_listener(
204
  select! {
205
  transcript_poll = transcript_rx.recv() => {
206
  let transcript = transcript_poll?;
207
- let evt = LiveLessonTextEvent::Transcription {
208
  content: transcript.transcript,
209
  is_final: transcript.is_final
210
  };
@@ -212,17 +215,17 @@ async fn stream_listener(
212
  tracing::warn!("failed to serialize: {:?}", evt);
213
  continue
214
  };
215
- tracing::debug!("Transcribed: {}", json);
216
  socket.send(Message::Text(json)).await?
217
  },
218
  translated_poll = translate_rx.recv() => {
219
  let translated = translated_poll?;
220
- let evt = LiveLessonTextEvent::Translation { content: translated };
221
  let Ok(json) = serde_json::to_string(&evt) else {
222
- tracing::warn!("failed to serialize: {:?}", evt);
223
  continue
224
  };
225
- tracing::debug!("Translated: {}", json);
226
  socket.send(Message::Text(json)).await?
227
  },
228
  voice_poll = voice_rx.recv() => {
@@ -231,9 +234,9 @@ async fn stream_listener(
231
  },
232
  visemes_poll = lip_sync_rx.recv() => {
233
  let visemes = visemes_poll?;
234
- let evt = LiveLessonTextEvent::LipSync { visemes };
235
  let Ok(json) = serde_json::to_string(&evt) else {
236
- tracing::warn!("failed to serialize: {:?}", evt);
237
  continue
238
  };
239
  socket.send(Message::Text(json)).await?
@@ -247,10 +250,10 @@ async fn stream_listener(
247
  let res: anyhow::Result<()> = fut.await;
248
  match res {
249
  Ok(()) => {
250
- tracing::info!("lesson listener closed");
251
  }
252
  Err(e) => {
253
- tracing::warn!("lesson listener error: {}", e);
254
  }
255
  }
256
  })
 
21
  };
22
  use serde::{Deserialize, Serialize};
23
  use tokio::select;
24
+ use tracing::{debug, info, span, warn};
25
 
26
  use crate::base64box::Base64Box;
27
  use crate::config::SETTINGS;
 
56
  Voice {
57
  content: Base64Box
58
  },
59
+ #[serde(rename = "lipSync")]
60
+ LipSync { visemes: Vec<Viseme> },
61
  }
62
 
63
 
 
158
  let res: anyhow::Result<()> = fut.await;
159
  match res {
160
  Ok(()) => {
161
+ info!("lesson speaker closed");
162
  }
163
  Err(e) => {
164
+ warn!("lesson speaker error: {}", e);
165
  }
166
  }
167
  })
 
173
  query: Query<LessonListenerQuery>,
174
  ws: WebSocket,
175
  ) -> impl IntoResponse {
176
+ info!("listener param = {:?}", query);
177
  let lessons_manager = ctx.lessons_manager.clone();
178
 
179
  ws.on_upgrade(|mut socket| async move {
 
207
  select! {
208
  transcript_poll = transcript_rx.recv() => {
209
  let transcript = transcript_poll?;
210
+ let evt = SingleEvent::Transcription {
211
  content: transcript.transcript,
212
  is_final: transcript.is_final
213
  };
 
215
  tracing::warn!("failed to serialize: {:?}", evt);
216
  continue
217
  };
218
+ debug!("Transcribed: {}", json);
219
  socket.send(Message::Text(json)).await?
220
  },
221
  translated_poll = translate_rx.recv() => {
222
  let translated = translated_poll?;
223
+ let evt = SingleEvent::Translation { content: translated };
224
  let Ok(json) = serde_json::to_string(&evt) else {
225
+ warn!("failed to serialize: {:?}", evt);
226
  continue
227
  };
228
+ debug!("Translated: {}", json);
229
  socket.send(Message::Text(json)).await?
230
  },
231
  voice_poll = voice_rx.recv() => {
 
234
  },
235
  visemes_poll = lip_sync_rx.recv() => {
236
  let visemes = visemes_poll?;
237
+ let evt = SingleEvent::LipSync { visemes };
238
  let Ok(json) = serde_json::to_string(&evt) else {
239
+ warn!("failed to serialize: {:?}", evt);
240
  continue
241
  };
242
  socket.send(Message::Text(json)).await?
 
250
  let res: anyhow::Result<()> = fut.await;
251
  match res {
252
  Ok(()) => {
253
+ info!("lesson listener closed");
254
  }
255
  Err(e) => {
256
+ warn!("lesson listener error: {}", e);
257
  }
258
  }
259
  })
static/assets/{Experience-24a16945.js β†’ Experience-f42a3bd5.js} RENAMED
@@ -3695,4 +3695,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
3695
  * Released under the MIT License.
3696
  */var Yj=Gj,Qj=Xj,gR=VD,vR=Kj,Zj=function(n,e,t){if(!vR(n)||(Array.isArray(e)&&(e=[].concat.apply([],e).join(".")),typeof e!="string"))return n;for(var r=Yj(e,{sep:".",brackets:!0}).filter(qj),i=r.length,s=-1,o=n;++s<i;){var a=r[s];if(s!==i-1){vR(o[a])||(o[a]={}),o=o[a];continue}gR(o[a])&&gR(t)?o[a]=Qj({},o[a],t):o[a]=t}return n};function qj(n){return n!=="__proto__"&&n!=="constructor"&&n!=="prototype"}var L_=yS,yR=Pj,eJ=Ij,_R=Zj,tJ=function(e,t,r){if(!L_(e))throw new TypeError("expected an object");if(typeof t!="string"||r==null)return yR.apply(null,arguments);if(typeof r=="string")return _R(e,t,r),e;var i=eJ(e,t);return L_(r)&&L_(i)&&(r=yR({},i,r)),_R(e,t,r),e};const _S=(...n)=>n.filter(Boolean).join(".");function nJ(n){const e=n.split(".");return[e.pop(),e.join(".")||void 0]}function rJ(n,e){return Object.entries(N$(n,e)).reduce((t,[,{value:r,disabled:i,key:s}])=>(t[s]=i?void 0:r,t),{})}function iJ(n,e){const t=D.useRef();return(e?Qd:Dh)(n,t.current)||(t.current=n),t.current}function $D(n,e){return D.useMemo(n,iJ(e,!0))}function sJ(n){const e=D.useRef(null),t=D.useRef(null),r=D.useRef(!0);return D.useLayoutEffect(()=>{n||(e.current.style.height="0px",e.current.style.overflow="hidden")},[]),D.useEffect(()=>{if(r.current){r.current=!1;return}let i;const s=e.current,o=()=>{n&&(s.style.removeProperty("height"),s.style.removeProperty("overflow"),t.current.scrollIntoView({behavior:"smooth",block:"nearest"}))};s.addEventListener("transitionend",o,{once:!0});const{height:a}=t.current.getBoundingClientRect();return s.style.height=a+"px",n||(s.style.overflow="hidden",i=window.setTimeout(()=>s.style.height="0px",50)),()=>{s.removeEventListener("transitionend",o),clearTimeout(i)}},[n]),{wrapperRef:e,contentRef:t}}const oJ=n=>{const[e,t]=D.useState(n.getVisiblePaths());return D.useEffect(()=>{t(n.getVisiblePaths());const r=n.useStore.subscribe(n.getVisiblePaths,t,{equalityFn:Dh});return()=>r()},[n]),e};function aJ(n,e,t){return n.useStore(i=>{const s=xt(xt({},t),i.data);return rJ(s,e)},Dh)}function XD(n=3){const e=D.useRef(null),t=D.useRef(null),[r,i]=D.useState(!1),s=D.useCallback(()=>i(!0),[]),o=D.useCallback(()=>i(!1),[]);return D.useLayoutEffect(()=>{if(r){const{bottom:a,top:l,left:c}=e.current.getBoundingClientRect(),{height:d}=t.current.getBoundingClientRect(),h=a+d>window.innerHeight-40?"up":"down";t.current.style.position="fixed",t.current.style.zIndex="10000",t.current.style.left=c+"px",h==="down"?t.current.style.top=a+n+"px":t.current.style.bottom=window.innerHeight-l+n+"px"}},[n,r]),{popinRef:e,wrapperRef:t,shown:r,show:s,hide:o}}xX([EX]);const lJ={rgb:"toRgb",hsl:"toHsl",hsv:"toHsv",hex:"toHex"};ti.extend({color:()=>n=>Nr(n).isValid()});const cJ=n=>ti().color().test(n);function jD(n,{format:e,hasAlpha:t,isString:r}){const i=lJ[e]+(r&&e!=="hex"?"String":""),s=n[i]();return typeof s=="object"&&!t?U$(s,["a"]):s}const JD=(n,e)=>{const t=Nr(n);if(!t.isValid())throw Error("Invalid color");return jD(t,e)},uJ=(n,e)=>jD(Nr(n),xt(xt({},e),{},{isString:!0,format:"hex"})),fJ=({value:n})=>{const e=_X(n),t=e==="name"?"hex":e,r=typeof n=="object"?"a"in n:e==="hex"&&n.length===8||/^(rgba)|(hsla)|(hsva)/.test(n),i={format:t,hasAlpha:r,isString:typeof n=="string"};return{value:JD(n,i),settings:i}};var dJ=Object.freeze({__proto__:null,schema:cJ,sanitize:JD,format:uJ,normalize:fJ});const hJ=yt("div",{position:"relative",boxSizing:"border-box",borderRadius:"$sm",overflow:"hidden",cursor:"pointer",height:"$rowHeight",width:"$rowHeight",backgroundColor:"#fff",backgroundImage:`url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity=".05"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>')`,$inputStyle:"",$hover:"",zIndex:1,variants:{active:{true:{$inputStyle:"$accent1"}}},"&::before":{content:'""',position:"absolute",top:0,bottom:0,right:0,left:0,backgroundColor:"currentColor",zIndex:1}}),pJ=yt("div",{position:"relative",display:"grid",gridTemplateColumns:"$sizes$rowHeight auto",columnGap:"$colGap",alignItems:"center"}),mJ=yt("div",{width:"$colorPickerWidth",height:"$colorPickerHeight",".react-colorful":{width:"100%",height:"100%",boxShadow:"$level2",cursor:"crosshair"},".react-colorful__saturation":{borderRadius:"$sm $sm 0 0"},".react-colorful__alpha, .react-colorful__hue":{height:10},".react-colorful__last-control":{borderRadius:"0 0 $sm $sm"},".react-colorful__pointer":{height:12,width:12}});function xR(n,e){return e!=="rgb"?Nr(n).toRgb():n}function gJ({value:n,displayValue:e,settings:t,onUpdate:r}){const{emitOnEditStart:i,emitOnEditEnd:s}=br(),{format:o,hasAlpha:a}=t,{popinRef:l,wrapperRef:c,shown:d,show:h,hide:p}=XD(),m=D.useRef(0),[v,E]=D.useState(()=>xR(n,o)),x=a?CX:PX,g=()=>{E(xR(n,o)),h(),i()},A=()=>{p(),s(),window.clearTimeout(m.current)},_=()=>{m.current=window.setTimeout(A,500)};return D.useEffect(()=>()=>window.clearTimeout(m.current),[]),Q.createElement(Q.Fragment,null,Q.createElement(hJ,{ref:l,active:d,onClick:()=>g(),style:{color:e}}),d&&Q.createElement(uS,null,Q.createElement(mD,{onPointerUp:A}),Q.createElement(mJ,{ref:c,onMouseEnter:()=>window.clearTimeout(m.current),onMouseLeave:w=>w.buttons===0&&_()},Q.createElement(x,{color:v,onChange:r}))))}function vJ(){const{value:n,displayValue:e,label:t,onChange:r,onUpdate:i,settings:s}=br();return Q.createElement(Xi,{input:!0},Q.createElement(_s,null,t),Q.createElement(pJ,null,Q.createElement(gJ,{value:n,displayValue:e,onChange:r,onUpdate:i,settings:s}),Q.createElement(cS,{value:e,onChange:r,onUpdate:i})))}var yJ=xt({component:vJ},dJ);function _J(){const{label:n,displayValue:e,onUpdate:t,settings:r}=br();return Q.createElement(Xi,{input:!0},Q.createElement(_s,null,n),Q.createElement(dS,{value:e,settings:r,onUpdate:t}))}var xJ=xt({component:_J},SD(["x","y","z"]));const EJ=yt("div",{$flexCenter:"",position:"relative",backgroundColor:"$elevation3",borderRadius:"$sm",cursor:"pointer",height:"$rowHeight",width:"$rowHeight",touchAction:"none",$draggable:"",$hover:"","&:active":{cursor:"none"},"&::after":{content:'""',backgroundColor:"$accent2",height:4,width:4,borderRadius:2}}),AJ=yt("div",{$flexCenter:"",width:"$joystickWidth",height:"$joystickHeight",borderRadius:"$sm",boxShadow:"$level2",position:"fixed",zIndex:1e4,overflow:"hidden",$draggable:"",transform:"translate(-50%, -50%)",variants:{isOutOfBounds:{true:{backgroundColor:"$elevation1"},false:{backgroundColor:"$elevation3"}}},"> div":{position:"absolute",$flexCenter:"",borderStyle:"solid",borderWidth:1,borderColor:"$highlight1",backgroundColor:"$elevation3",width:"80%",height:"80%","&::after,&::before":{content:'""',position:"absolute",zindex:10,backgroundColor:"$highlight1"},"&::before":{width:"100%",height:1},"&::after":{height:"100%",width:1}},"> span":{position:"relative",zindex:100,width:10,height:10,backgroundColor:"$accent2",borderRadius:"50%"}});function SJ({value:n,settings:e,onUpdate:t}){const r=D.useRef(),i=D.useRef(0),s=D.useRef(0),o=D.useRef(1),[a,l]=D.useState(!1),[c,d]=D.useState(!1),[h,p]=vD(),m=D.useRef(null),v=D.useRef(null);D.useLayoutEffect(()=>{if(a){const{top:j,left:$,width:K,height:Y}=m.current.getBoundingClientRect();v.current.style.left=$+K/2+"px",v.current.style.top=j+Y/2+"px"}},[a]);const{keys:[E,x],joystick:g}=e,A=g==="invertY"?1:-1,{[E]:{step:_},[x]:{step:w}}=e,C=wo("sizes","joystickWidth"),b=wo("sizes","joystickHeight"),B=parseFloat(C)*.8/2,I=parseFloat(b)*.8/2,R=D.useCallback(()=>{r.current||(d(!0),i.current&&p({x:i.current*B}),s.current&&p({y:s.current*-I}),r.current=window.setInterval(()=>{t(j=>{const $=_*i.current*o.current,K=A*w*s.current*o.current;return Array.isArray(j)?{[E]:j[0]+$,[x]:j[1]+K}:{[E]:j[E]+$,[x]:j[x]+K}})},16))},[B,I,t,p,_,w,E,x,A]),L=D.useCallback(()=>{window.clearTimeout(r.current),r.current=void 0,d(!1)},[]);D.useEffect(()=>{function j($){o.current=tD($)}return window.addEventListener("keydown",j),window.addEventListener("keyup",j),()=>{window.clearTimeout(r.current),window.removeEventListener("keydown",j),window.removeEventListener("keyup",j)}},[]);const U=Fh(({first:j,active:$,delta:[K,Y],movement:[ne,ie]})=>{j&&l(!0);const z=Ia(ne,-B,B),Z=Ia(ie,-I,I);i.current=Math.abs(ne)>Math.abs(z)?Math.sign(ne-z):0,s.current=Math.abs(ie)>Math.abs(Z)?Math.sign(Z-ie):0;let q=n[E],ae=n[x];$?(i.current||(q+=K*_*o.current,p({x:z})),s.current||(ae-=A*Y*w*o.current,p({y:Z})),i.current||s.current?R():L(),t({[E]:q,[x]:ae})):(l(!1),i.current=0,s.current=0,p({x:0,y:0}),L())});return Q.createElement(EJ,Nn({ref:m},U()),a&&Q.createElement(uS,null,Q.createElement(AJ,{ref:v,isOutOfBounds:c},Q.createElement("div",null),Q.createElement("span",{ref:h}))))}const wJ=yt("div",{display:"grid",columnGap:"$colGap",variants:{withJoystick:{true:{gridTemplateColumns:"$sizes$rowHeight auto"},false:{gridTemplateColumns:"auto"}}}});function MJ(){const{label:n,displayValue:e,onUpdate:t,settings:r}=br();return Q.createElement(Xi,{input:!0},Q.createElement(_s,null,n),Q.createElement(wJ,{withJoystick:!!r.joystick},r.joystick&&Q.createElement(SJ,{value:e,settings:r,onUpdate:t}),Q.createElement(dS,{value:e,settings:r,onUpdate:t})))}const TJ=["joystick"],KD=SD(["x","y"]),bJ=n=>{let{joystick:e=!0}=n,t=on(n,TJ);const{value:r,settings:i}=KD.normalize(t);return{value:r,settings:xt(xt({},i),{},{joystick:e})}};var CJ=xt(xt({component:MJ},KD),{},{normalize:bJ});const RJ=n=>{if(n!==void 0){if(n instanceof File)try{return URL.createObjectURL(n)}catch{return}if(typeof n=="string"&&n.indexOf("blob:")===0)return n;throw Error("Invalid image format [undefined | blob |Β File].")}},PJ=(n,e)=>typeof e=="object"&&"image"in e,IJ=({image:n})=>({value:n});var BJ=Object.freeze({__proto__:null,sanitize:RJ,schema:PJ,normalize:IJ});const LJ=yt("div",{position:"relative",display:"grid",gridTemplateColumns:"$sizes$rowHeight auto 20px",columnGap:"$colGap",alignItems:"center"}),DJ=yt("div",{$flexCenter:"",overflow:"hidden",height:"$rowHeight",background:"$elevation3",textAlign:"center",color:"inherit",borderRadius:"$sm",outline:"none",userSelect:"none",cursor:"pointer",$inputStyle:"",$hover:"",$focusWithin:"",$active:"$accent1 $elevation1",variants:{isDragAccept:{true:{$inputStyle:"$accent1",backgroundColor:"$elevation1"}}}}),OJ=yt("div",{boxSizing:"border-box",borderRadius:"$sm",height:"$rowHeight",width:"$rowHeight",$inputStyle:"",backgroundSize:"cover",backgroundPosition:"center",variants:{hasImage:{true:{cursor:"pointer",$hover:"",$active:""}}}}),FJ=yt("div",{$flexCenter:"",width:"$imagePreviewWidth",height:"$imagePreviewHeight",borderRadius:"$sm",boxShadow:"$level2",pointerEvents:"none",$inputStyle:"",backgroundSize:"cover",backgroundPosition:"center"}),NJ=yt("div",{fontSize:"0.8em",height:"100%",padding:"$rowGap $md"}),UJ=yt("div",{$flexCenter:"",top:"0",right:"0",marginRight:"$sm",height:"100%",cursor:"pointer",variants:{disabled:{true:{color:"$elevation3",cursor:"default"}}},"&::after,&::before":{content:'""',position:"absolute",height:2,width:10,borderRadius:1,backgroundColor:"currentColor"},"&::after":{transform:"rotate(45deg)"},"&::before":{transform:"rotate(-45deg)"}});function kJ(){const{label:n,value:e,onUpdate:t,disabled:r}=br(),{popinRef:i,wrapperRef:s,shown:o,show:a,hide:l}=XD(),c=D.useCallback(v=>{v.length&&t(v[0])},[t]),d=D.useCallback(v=>{v.stopPropagation(),t(void 0)},[t]),{getRootProps:h,getInputProps:p,isDragAccept:m}=GD({maxFiles:1,accept:"image/*",onDrop:c,disabled:r});return Q.createElement(Xi,{input:!0},Q.createElement(_s,null,n),Q.createElement(LJ,null,Q.createElement(OJ,{ref:i,hasImage:!!e,onPointerDown:()=>!!e&&a(),onPointerUp:l,style:{backgroundImage:e?`url(${e})`:"none"}}),o&&!!e&&Q.createElement(uS,null,Q.createElement(mD,{onPointerUp:l,style:{cursor:"pointer"}}),Q.createElement(FJ,{ref:s,style:{backgroundImage:`url(${e})`}})),Q.createElement(DJ,h({isDragAccept:m}),Q.createElement("input",p()),Q.createElement(NJ,null,m?"drop image":"click or drop")),Q.createElement(UJ,{onClick:d,disabled:!e})))}var zJ=xt({component:kJ},BJ);const ER=ti().number(),HJ=(n,e)=>ti().array().length(2).every.number().test(n)&&ti().schema({min:ER,max:ER}).test(e),o0=n=>({min:n[0],max:n[1]}),YD=(n,{bounds:[e,t]},r)=>{const i=Array.isArray(n)?o0(n):n,s={min:r[0],max:r[1]},{min:o,max:a}=xt(xt({},s),i);return[Ia(Number(o),e,Math.max(e,a)),Ia(Number(a),Math.min(t,o),t)]},GJ=({value:n,min:e,max:t})=>{const r={min:e,max:t},i=AD(o0(n),{min:r,max:r}),s=[e,t],o=xt(xt({},i),{},{bounds:s});return{value:YD(o0(n),o,n),settings:o}};var VJ=Object.freeze({__proto__:null,schema:HJ,format:o0,sanitize:YD,normalize:GJ});const WJ=["value","bounds","onDrag"],$J=["bounds"],XJ=yt("div",{display:"grid",columnGap:"$colGap",gridTemplateColumns:"auto calc($sizes$numberInputMinWidth * 2 + $space$rowGap)"});function jJ(n){let{value:e,bounds:[t,r],onDrag:i}=n,s=on(n,WJ);const o=D.useRef(null),a=D.useRef(null),l=D.useRef(null),c=D.useRef(0),d=wo("sizes","scrubberWidth"),h=Fh(({event:v,first:E,xy:[x],movement:[g],memo:A={}})=>{if(E){const{width:w,left:C}=o.current.getBoundingClientRect();c.current=w-parseFloat(d);const b=(v==null?void 0:v.target)===a.current||(v==null?void 0:v.target)===l.current;A.pos=e0((x-C)/w,t,r);const B=Math.abs(A.pos-e.min)-Math.abs(A.pos-e.max);A.key=B<0||B===0&&A.pos<=e.min?"min":"max",b&&(A.pos=e[A.key])}const _=A.pos+e0(g/c.current,0,r-t);return i({[A.key]:T7(_,s[A.key])}),A}),p=`calc(${qg(e.min,t,r)} * (100% - ${d} - 8px) + 4px)`,m=`calc(${1-qg(e.max,t,r)} * (100% - ${d} - 8px) + 4px)`;return Q.createElement(_D,Nn({ref:o},h()),Q.createElement(yD,null,Q.createElement(xD,{style:{left:p,right:m}})),Q.createElement(O1,{position:"left",ref:a,style:{left:p}}),Q.createElement(O1,{position:"right",ref:l,style:{right:m}}))}function JJ(){const{label:n,displayValue:e,onUpdate:t,settings:r}=br(),i=on(r,$J);return Q.createElement(Q.Fragment,null,Q.createElement(Xi,{input:!0},Q.createElement(_s,null,n),Q.createElement(XJ,null,Q.createElement(jJ,Nn({value:e},r,{onDrag:t})),Q.createElement(dS,{value:e,settings:i,onUpdate:t,innerLabelTrim:0}))))}var KJ=xt({component:JJ},VJ);const YJ=()=>{const n=new Map;return{on:(e,t)=>{let r=n.get(e);r===void 0&&(r=new Set,n.set(e,r)),r.add(t)},off:(e,t)=>{const r=n.get(e);r!==void 0&&(r.delete(t),r.size===0&&n.delete(e))},emit:(e,...t)=>{const r=n.get(e);if(r!==void 0)for(const i of r)i(...t)}}},QJ=["type","value"],ZJ=["onChange","transient","onEditStart","onEditEnd"],qJ=function(){const e=XA(o6(()=>({data:{}}))),t=YJ();this.storeId=F$(),this.useStore=e;const r={},i=new Set;this.getVisiblePaths=()=>{const o=this.getData(),a=Object.keys(o),l=[];Object.entries(r).forEach(([d,h])=>{h.render&&a.some(p=>p.indexOf(d)===0)&&!h.render(this.get)&&l.push(d+".")});const c=[];return i.forEach(d=>{d in o&&o[d].__refCount>0&&l.every(h=>d.indexOf(h)===-1)&&(!o[d].render||o[d].render(this.get))&&c.push(d)}),c},this.setOrderedPaths=o=>{o.forEach(a=>i.add(a))},this.orderPaths=o=>(this.setOrderedPaths(o),o),this.disposePaths=o=>{e.setState(a=>{const l=a.data;return o.forEach(c=>{if(c in l){const d=l[c];d.__refCount--,d.__refCount===0&&d.type in ls&&delete l[c]}}),{data:l}})},this.dispose=()=>{e.setState(()=>({data:{}}))},this.getFolderSettings=o=>r[o]||{},this.getData=()=>e.getState().data,this.addData=(o,a)=>{e.setState(l=>{const c=l.data;return Object.entries(o).forEach(([d,h])=>{let p=c[d];if(p){const{type:m,value:v}=h,E=on(h,QJ);m!==p.type?ho(wn.INPUT_TYPE_OVERRIDE,m):((p.__refCount===0||a)&&Object.assign(p,E),p.__refCount++)}else c[d]=xt(xt({},h),{},{__refCount:1})}),{data:c}})},this.setValueAtPath=(o,a,l)=>{e.setState(c=>{const d=c.data;return WC(d[o],a,o,this,l),{data:d}})},this.setSettingsAtPath=(o,a)=>{e.setState(l=>{const c=l.data;return c[o].settings=xt(xt({},c[o].settings),a),{data:c}})},this.disableInputAtPath=(o,a)=>{e.setState(l=>{const c=l.data;return c[o].disabled=a,{data:c}})},this.set=(o,a)=>{e.setState(l=>{const c=l.data;return Object.entries(o).forEach(([d,h])=>{try{WC(c[d],h,void 0,void 0,a)}catch{}}),{data:c}})},this.getInput=o=>{try{return this.getData()[o]}catch{ho(wn.PATH_DOESNT_EXIST,o)}},this.get=o=>{var a;return(a=this.getInput(o))===null||a===void 0?void 0:a.value},this.emitOnEditStart=o=>{t.emit(`onEditStart:${o}`,this.get(o),o,xt(xt({},this.getInput(o)),{},{get:this.get}))},this.emitOnEditEnd=o=>{t.emit(`onEditEnd:${o}`,this.get(o),o,xt(xt({},this.getInput(o)),{},{get:this.get}))},this.subscribeToEditStart=(o,a)=>{const l=`onEditStart:${o}`;return t.on(l,a),()=>t.off(l,a)},this.subscribeToEditEnd=(o,a)=>{const l=`onEditEnd:${o}`;return t.on(l,a),()=>t.off(l,a)};const s=(o,a,l)=>{const c={};return Object.entries(o).forEach(([d,h])=>{if(d==="")return ho(wn.EMPTY_KEY);let p=_S(a,d);if(h.type===ls.FOLDER){const m=s(h.schema,p,l);Object.assign(c,m),p in r||(r[p]=h.settings)}else if(d in l)ho(wn.DUPLICATE_KEYS,d,p,l[d].path);else{const m=W$(h,d,p,c);if(m){const{type:v,options:E,input:x}=m,{onChange:g,transient:A,onEditStart:_,onEditEnd:w}=E,C=on(E,ZJ);c[p]=xt(xt(xt({type:v},C),x),{},{fromPanel:!0}),l[d]={path:p,onChange:g,transient:A,onEditStart:_,onEditEnd:w}}else ho(wn.UNKNOWN_INPUT,p,h)}}),c};this.getDataFromSchema=o=>{const a={};return[s(o,"",a),a]}},QD=new qJ,eK={collapsed:!1};function tK(n,e){return{type:ls.FOLDER,schema:n,settings:xt(xt({},eK),e)}}const AR=n=>"__levaInput"in n,nK=(n,e)=>{const t={},r=e?e.toLowerCase():null;return n.forEach(i=>{const[s,o]=nJ(i);(!r||s.toLowerCase().indexOf(r)>-1)&&tJ(t,o,{[s]:{__levaInput:!0,path:i}})}),t},rK=["type","label","path","valueKey","value","settings","setValue","disabled"];function iK(n){let{type:e,label:t,path:r,valueKey:i,value:s,settings:o,setValue:a,disabled:l}=n,c=on(n,rK);const{displayValue:d,onChange:h,onUpdate:p}=gD({type:e,value:s,settings:o,setValue:a}),m=Hl[e].component;return m?Q.createElement(oD.Provider,{value:xt({key:i,path:r,id:""+r,label:t,displayValue:d,value:s,onChange:h,onUpdate:p,settings:o,setValue:a,disabled:l},c)},Q.createElement(u7,{disabled:l},Q.createElement(m,null))):(ho(wn.NO_COMPONENT_FOR_TYPE,e,r),null)}const sK=yt("button",{display:"block",$reset:"",fontWeight:"$button",height:"$rowHeight",borderStyle:"none",borderRadius:"$sm",backgroundColor:"$elevation1",color:"$highlight1","&:not(:disabled)":{color:"$highlight3",backgroundColor:"$accent2",cursor:"pointer",$hover:"$accent3",$active:"$accent3 $accent1",$focus:""}});function oK({onClick:n,settings:e,label:t}){const r=Oh();return Q.createElement(Xi,null,Q.createElement(sK,{disabled:e.disabled,onClick:()=>n(r.get)},t))}const aK=yt("div",{$flex:"",justifyContent:"flex-end",gap:"$colGap"}),lK=yt("button",{$reset:"",cursor:"pointer",borderRadius:"$xs","&:hover":{backgroundColor:"$elevation3"}}),cK=({label:n,opts:e})=>{let t=typeof n=="string"&&n.trim()===""?null:n,r=e;return typeof e.opts=="object"&&(r.label!==void 0&&(t=e.label),r=e.opts),{label:t,opts:r}};function uK(n){const{label:e,opts:t}=cK(n),r=Oh();return Q.createElement(Xi,{input:!!e},e&&Q.createElement(_s,null,e),Q.createElement(aK,null,Object.entries(t).map(([i,s])=>Q.createElement(lK,{key:i,onClick:()=>s(r.get)},i))))}const fK=yt("canvas",{height:"$monitorHeight",width:"100%",display:"block",borderRadius:"$sm"}),ZD=100;function dK(n,e){n.push(e),n.length>ZD&&n.shift()}const hK=D.forwardRef(function({initialValue:n},e){const t=wo("colors","highlight3"),r=wo("colors","elevation2"),i=wo("colors","highlight1"),[s,o]=D.useMemo(()=>[Nr(i).alpha(.4).toRgbString(),Nr(i).alpha(.1).toRgbString()],[i]),a=D.useRef([n]),l=D.useRef(n),c=D.useRef(n),d=D.useRef(),h=D.useCallback((v,E)=>{if(!v)return;const{width:x,height:g}=v,A=new Path2D,_=x/ZD,w=g*.05;for(let B=0;B<a.current.length;B++){const I=qg(a.current[B],l.current,c.current),R=_*B,L=g-I*(g-w*2)-w;A.lineTo(R,L)}E.clearRect(0,0,x,g);const C=new Path2D(A);C.lineTo(_*(a.current.length+1),g),C.lineTo(0,g),C.lineTo(0,0);const b=E.createLinearGradient(0,0,0,g);b.addColorStop(0,s),b.addColorStop(1,o),E.fillStyle=b,E.fill(C),E.strokeStyle=r,E.lineJoin="round",E.lineWidth=14,E.stroke(A),E.strokeStyle=t,E.lineWidth=2,E.stroke(A)},[t,r,s,o]),[p,m]=_7(h);return D.useImperativeHandle(e,()=>({frame:v=>{(l.current===void 0||v<l.current)&&(l.current=v),(c.current===void 0||v>c.current)&&(c.current=v),dK(a.current,v),d.current=requestAnimationFrame(()=>h(p.current,m.current))}}),[p,m,h]),D.useEffect(()=>()=>cancelAnimationFrame(d.current),[]),Q.createElement(fK,{ref:p})}),SR=n=>Number.isFinite(n)?n.toPrecision(2):n.toString(),pK=D.forwardRef(function({initialValue:n},e){const[t,r]=D.useState(SR(n));return D.useImperativeHandle(e,()=>({frame:i=>r(SR(i))}),[]),Q.createElement("div",null,t)});function wR(n){return typeof n=="function"?n():n.current}function mK({label:n,objectOrFn:e,settings:t}){const r=D.useRef(),i=D.useRef(wR(e));return D.useEffect(()=>{const s=window.setInterval(()=>{var o;document.hidden||(o=r.current)===null||o===void 0||o.frame(wR(e))},t.interval);return()=>window.clearInterval(s)},[e,t.interval]),Q.createElement(Xi,{input:!0},Q.createElement(_s,{align:"top"},n),t.graph?Q.createElement(hK,{ref:r,initialValue:i.current}):Q.createElement(pK,{ref:r,initialValue:i.current}))}const gK=["type","label","key"],vK={[ls.BUTTON]:oK,[ls.BUTTON_GROUP]:uK,[ls.MONITOR]:mK},yK=Q.memo(({path:n})=>{const[e,{set:t,setSettings:r,disable:i,storeId:s,emitOnEditStart:o,emitOnEditEnd:a}]=E7(n);if(!e)return null;const{type:l,label:c,key:d}=e,h=on(e,gK);if(l in ls){const p=vK[l];return Q.createElement(p,Nn({label:c,path:n},h))}return l in Hl?Q.createElement(iK,Nn({key:s+n,type:l,label:c,storeId:s,path:n,valueKey:d,setValue:t,setSettings:r,disable:i,emitOnEditStart:o,emitOnEditEnd:a},h)):(C$(wn.UNSUPPORTED_INPUT,l,n),null)});function _K({toggle:n,toggled:e,name:t}){return Q.createElement(a7,{onClick:()=>n()},Q.createElement(fS,{toggled:e}),Q.createElement("div",null,t))}const xK=({name:n,path:e,tree:t})=>{const r=Oh(),i=_S(e,n),{collapsed:s,color:o}=r.getFolderSettings(i),[a,l]=D.useState(!s),c=D.useRef(null),d=wo("colors","folderWidgetColor"),h=wo("colors","folderTextColor");return D.useLayoutEffect(()=>{c.current.style.setProperty("--leva-colors-folderWidgetColor",o||d),c.current.style.setProperty("--leva-colors-folderTextColor",o||h)},[o,d,h]),Q.createElement(t0,{ref:c},Q.createElement(_K,{name:n,toggled:a,toggle:()=>l(p=>!p)}),Q.createElement(qD,{parent:i,tree:t,toggled:a}))},qD=Q.memo(({isRoot:n=!1,fill:e=!1,flat:t=!1,parent:r,tree:i,toggled:s})=>{const{wrapperRef:o,contentRef:a}=sJ(s),l=Oh(),c=([h,p])=>{var m;return(AR(p)?(m=l.getInput(p.path))===null||m===void 0?void 0:m.order:l.getFolderSettings(_S(r,h)).order)||0},d=Object.entries(i).sort((h,p)=>c(h)-c(p));return Q.createElement(L1,{ref:o,isRoot:n,fill:e,flat:t},Q.createElement(dD,{ref:a,isRoot:n,toggled:s},d.map(([h,p])=>AR(p)?Q.createElement(yK,{key:p.path,valueKey:p.valueKey,path:p.path}):Q.createElement(xK,{key:h,name:h,path:r,tree:p}))))}),EK=yt("div",{position:"relative",fontFamily:"$mono",fontSize:"$root",color:"$rootText",backgroundColor:"$elevation1",variants:{fill:{false:{position:"fixed",top:"10px",right:"10px",zIndex:1e3,width:"$rootWidth"},true:{position:"relative",width:"100%"}},flat:{false:{borderRadius:"$lg",boxShadow:"$level1"}},oneLineLabels:{true:{[`${pD}`]:{gridTemplateColumns:"auto",gridAutoColumns:"minmax(max-content, 1fr)",gridAutoRows:"minmax($sizes$rowHeight), auto)",rowGap:0,columnGap:0,marginTop:"$rowGap"}}},hideTitleBar:{true:{$$titleBarHeight:"0px"},false:{$$titleBarHeight:"$sizes$titleBarHeight"}}},"&,*,*:after,*:before":{boxSizing:"border-box"},"*::selection":{backgroundColor:"$accent2"}}),e3=40,a0=yt("i",{$flexCenter:"",width:e3,userSelect:"none",cursor:"pointer","> svg":{fill:"$highlight1",transition:"transform 350ms ease, fill 250ms ease"},"&:hover > svg":{fill:"$highlight3"},variants:{active:{true:{"> svg":{fill:"$highlight2"}}}}}),AK=yt("div",{display:"flex",alignItems:"stretch",justifyContent:"space-between",height:"$titleBarHeight",variants:{mode:{drag:{cursor:"grab"}}}}),SK=yt("div",{$flex:"",position:"relative",width:"100%",overflow:"hidden",transition:"height 250ms ease",color:"$highlight3",paddingLeft:"$md",[`> ${a0}`]:{height:30},variants:{toggled:{true:{height:30},false:{height:0}}}}),wK=yt("input",{$reset:"",flex:1,position:"relative",height:30,width:"100%",backgroundColor:"transparent",fontSize:"10px",borderRadius:"$root","&:focus":{},"&::placeholder":{color:"$highlight2"}}),MK=yt("div",{touchAction:"none",$flexCenter:"",flex:1,"> svg":{fill:"$highlight1"},color:"$highlight1",variants:{drag:{true:{$draggable:"","> svg":{transition:"fill 250ms ease"},"&:hover":{color:"$highlight3"},"&:hover > svg":{fill:"$highlight3"}}},filterEnabled:{false:{paddingRight:e3}}}}),TK=Q.forwardRef(({setFilter:n,toggle:e},t)=>{const[r,i]=D.useState(""),s=D.useMemo(()=>eD(n,250),[n]),o=()=>{n(""),i("")},a=l=>{const c=l.currentTarget.value;e(!0),i(c)};return D.useEffect(()=>{s(r)},[r,s]),Q.createElement(Q.Fragment,null,Q.createElement(wK,{ref:t,value:r,placeholder:"[Open filter with CMD+SHIFT+L]",onPointerDown:l=>l.stopPropagation(),onChange:a}),Q.createElement(a0,{onClick:()=>o(),style:{visibility:r?"visible":"hidden"}},Q.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",height:"14",width:"14",viewBox:"0 0 20 20",fill:"currentColor"},Q.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z",clipRule:"evenodd"}))))});function bK({setFilter:n,onDrag:e,onDragStart:t,onDragEnd:r,toggle:i,toggled:s,title:o,drag:a,filterEnabled:l,from:c}){const[d,h]=D.useState(!1),p=D.useRef(null);D.useEffect(()=>{var v,E;d?(v=p.current)===null||v===void 0||v.focus():(E=p.current)===null||E===void 0||E.blur()},[d]);const m=Fh(({offset:[v,E],first:x,last:g})=>{e({x:v,y:E}),x&&t({x:v,y:E}),g&&r({x:v,y:E})},{filterTaps:!0,from:({offset:[v,E]})=>[(c==null?void 0:c.x)||v,(c==null?void 0:c.y)||E]});return D.useEffect(()=>{const v=E=>{E.key==="L"&&E.shiftKey&&E.metaKey&&h(x=>!x)};return window.addEventListener("keydown",v),()=>window.removeEventListener("keydown",v)},[]),Q.createElement(Q.Fragment,null,Q.createElement(AK,{mode:a?"drag":void 0},Q.createElement(a0,{active:!s,onClick:()=>i()},Q.createElement(fS,{toggled:s,width:12,height:8})),Q.createElement(MK,Nn({},a?m():{},{drag:a,filterEnabled:l}),o===void 0&&a?Q.createElement("svg",{width:"20",height:"10",viewBox:"0 0 28 14",xmlns:"http://www.w3.org/2000/svg"},Q.createElement("circle",{cx:"2",cy:"2",r:"2"}),Q.createElement("circle",{cx:"14",cy:"2",r:"2"}),Q.createElement("circle",{cx:"26",cy:"2",r:"2"}),Q.createElement("circle",{cx:"2",cy:"12",r:"2"}),Q.createElement("circle",{cx:"14",cy:"12",r:"2"}),Q.createElement("circle",{cx:"26",cy:"12",r:"2"})):o),l&&Q.createElement(a0,{active:d,onClick:()=>h(v=>!v)},Q.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",height:"20",viewBox:"0 0 20 20"},Q.createElement("path",{d:"M9 9a2 2 0 114 0 2 2 0 01-4 0z"}),Q.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm1-13a4 4 0 00-3.446 6.032l-2.261 2.26a1 1 0 101.414 1.415l2.261-2.261A4 4 0 1011 5z",clipRule:"evenodd"})))),Q.createElement(SK,{toggled:d},Q.createElement(TK,{ref:p,setFilter:n,toggle:i})))}const CK=["store","hidden","theme","collapsed"];function RK(n){let{store:e,hidden:t=!1,theme:r,collapsed:i=!1}=n,s=on(n,CK);const o=$D(()=>t7(r),[r]),[a,l]=D.useState(!i),c=typeof i=="object"?!i.collapsed:a,d=D.useMemo(()=>typeof i=="object"?h=>{typeof h=="function"?i.onChange(!h(!i.collapsed)):i.onChange(!h)}:l,[i]);return!e||t?null:Q.createElement(lS.Provider,{value:o},Q.createElement(PK,Nn({store:e},s,{toggled:c,setToggle:d,rootClass:o.className})))}const PK=Q.memo(({store:n,rootClass:e,fill:t=!1,flat:r=!1,neverHide:i=!1,oneLineLabels:s=!1,titleBar:o={title:void 0,drag:!0,filter:!0,position:void 0,onDrag:void 0,onDragStart:void 0,onDragEnd:void 0},hideCopyButton:a=!1,toggled:l,setToggle:c})=>{var d,h;const p=oJ(n),[m,v]=D.useState(""),E=D.useMemo(()=>nK(p,m),[p,m]),[x,g]=vD(),A=i||p.length>0,_=typeof o=="object"&&o.title||void 0,w=typeof o=="object"&&(d=o.drag)!==null&&d!==void 0?d:!0,C=typeof o=="object"&&(h=o.filter)!==null&&h!==void 0?h:!0,b=typeof o=="object"&&o.position||void 0,B=typeof o=="object"&&o.onDrag||void 0,I=typeof o=="object"&&o.onDragStart||void 0,R=typeof o=="object"&&o.onDragEnd||void 0;return Q.useEffect(()=>{g({x:b==null?void 0:b.x,y:b==null?void 0:b.y})},[b,g]),e7(),Q.createElement(lD.Provider,{value:{hideCopyButton:a}},Q.createElement(EK,{ref:x,className:e,fill:t,flat:r,oneLineLabels:s,hideTitleBar:!o,style:{display:A?"block":"none"}},o&&Q.createElement(bK,{onDrag:L=>{g(L),B==null||B(L)},onDragStart:L=>I==null?void 0:I(L),onDragEnd:L=>R==null?void 0:R(L),setFilter:v,toggle:L=>c(U=>L??!U),toggled:l,title:_,drag:w,filterEnabled:C,from:b}),A&&Q.createElement(aD.Provider,{value:n},Q.createElement(qD,{isRoot:!0,fill:t,flat:r,tree:E,toggled:l}))))}),IK=["isRoot"];let l0=!1,El=null;function BK(n){let{isRoot:e=!1}=n,t=on(n,IK);return D.useEffect(()=>(l0=!0,!e&&El&&(El.remove(),El=null),()=>{e||(l0=!1)}),[e]),Q.createElement(RK,Nn({store:QD},t))}function LK(n){D.useEffect(()=>{n&&!l0&&(El||(El=document.getElementById("leva__root")||Object.assign(document.createElement("div"),{id:"leva__root"}),document.body&&(document.body.appendChild(El),X$(Q.createElement(BK,{isRoot:!0}),El))),l0=!0)},[n])}function DK(n,e,t,r,i){let s,o,a,l,c;return typeof n=="string"?(o=n,s=e,Array.isArray(t)?c=t:t&&("store"in t?(l=t,c=r):(a=t,Array.isArray(r)?c=r:(l=r,c=i)))):(s=n,Array.isArray(e)?c=e:(l=e,c=t)),{schema:s,folderName:o,folderSettings:a,hookSettings:l,deps:c||[]}}function OK(n,e,t,r,i){const{folderName:s,schema:o,folderSettings:a,hookSettings:l,deps:c}=DK(n,e,t,r,i),d=typeof o=="function",h=D.useRef(!1),p=D.useRef(!0),m=$D(()=>{h.current=!0;const U=typeof o=="function"?o():o;return s?{[s]:tK(U,a)}:U},c),v=!(l!=null&&l.store);LK(v);const[E]=D.useState(()=>(l==null?void 0:l.store)||QD),[x,g]=D.useMemo(()=>E.getDataFromSchema(m),[E,m]),[A,_,w,C,b]=D.useMemo(()=>{const U=[],j=[],$={},K={},Y={};return Object.values(g).forEach(({path:ne,onChange:ie,onEditStart:z,onEditEnd:Z,transient:q})=>{U.push(ne),ie?($[ne]=ie,q||j.push(ne)):j.push(ne),z&&(K[ne]=z),Z&&(Y[ne]=Z)}),[U,j,$,K,Y]},[g]),B=D.useMemo(()=>E.orderPaths(A),[A,E]),I=aJ(E,_,x),R=D.useCallback(U=>{const j=Object.entries(U).reduce(($,[K,Y])=>Object.assign($,{[g[K].path]:Y}),{});E.set(j,!1)},[E,g]),L=D.useCallback(U=>E.get(g[U].path),[E,g]);return D.useEffect(()=>{const U=!p.current&&h.current;return E.addData(x,U),p.current=!1,h.current=!1,()=>E.disposePaths(B)},[E,B,x]),D.useEffect(()=>{const U=[];return Object.entries(w).forEach(([j,$])=>{$(E.get(j),j,xt({initial:!0,get:E.get},E.getInput(j)));const K=E.useStore.subscribe(Y=>{const ne=Y.data[j];return[ne.disabled?void 0:ne.value,ne]},([Y,ne])=>$(Y,j,xt({initial:!1,get:E.get},ne)),{equalityFn:Dh});U.push(K)}),()=>U.forEach(j=>j())},[E,w]),D.useEffect(()=>{const U=[];return Object.entries(C).forEach(([j,$])=>U.push(E.subscribeToEditStart(j,$))),Object.entries(b).forEach(([j,$])=>U.push(E.subscribeToEditEnd(j,$))),()=>U.forEach(j=>j())},[C,b,E]),d?[I,R,L]:I}No(ps.SELECT,U7);No(ps.IMAGE,zJ);No(ps.NUMBER,C7);No(ps.COLOR,yJ);No(ps.STRING,j7);No(ps.BOOLEAN,eX);No(ps.INTERVAL,KJ);No(ps.VECTOR3D,xJ);No(ps.VECTOR2D,CJ);function Mo(n){return typeof n=="function"}function t3(n){var e=function(r){Error.call(r),r.stack=new Error().stack},t=n(e);return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var D_=t3(function(n){return function(t){n(this),this.message=t?t.length+` errors occurred during unsubscription:
3697
  `+t.map(function(r,i){return i+1+") "+r.toString()}).join(`
3698
- `):"",this.name="UnsubscriptionError",this.errors=t}});function Y1(n,e){if(n){var t=n.indexOf(e);0<=t&&n.splice(t,1)}}var Q0=function(){function n(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return n.prototype.unsubscribe=function(){var e,t,r,i,s;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var a=rh(o),l=a.next();!l.done;l=a.next()){var c=l.value;c.remove(this)}}catch(E){e={error:E}}finally{try{l&&!l.done&&(t=a.return)&&t.call(a)}finally{if(e)throw e.error}}else o.remove(this);var d=this.initialTeardown;if(Mo(d))try{d()}catch(E){s=E instanceof D_?E.errors:[E]}var h=this._finalizers;if(h){this._finalizers=null;try{for(var p=rh(h),m=p.next();!m.done;m=p.next()){var v=m.value;try{MR(v)}catch(E){s=s??[],E instanceof D_?s=n0(n0([],ih(s)),ih(E.errors)):s.push(E)}}}catch(E){r={error:E}}finally{try{m&&!m.done&&(i=p.return)&&i.call(p)}finally{if(r)throw r.error}}}if(s)throw new D_(s)}},n.prototype.add=function(e){var t;if(e&&e!==this)if(this.closed)MR(e);else{if(e instanceof n){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(t=this._finalizers)!==null&&t!==void 0?t:[]).push(e)}},n.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},n.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},n.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&Y1(t,e)},n.prototype.remove=function(e){var t=this._finalizers;t&&Y1(t,e),e instanceof n&&e._removeParent(this)},n.EMPTY=function(){var e=new n;return e.closed=!0,e}(),n}(),n3=Q0.EMPTY;function r3(n){return n instanceof Q0||n&&"closed"in n&&Mo(n.remove)&&Mo(n.add)&&Mo(n.unsubscribe)}function MR(n){Mo(n)?n():n.unsubscribe()}var i3={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Q1={setTimeout:function(n,e){for(var t=[],r=2;r<arguments.length;r++)t[r-2]=arguments[r];var i=Q1.delegate;return i!=null&&i.setTimeout?i.setTimeout.apply(i,n0([n,e],ih(t))):setTimeout.apply(void 0,n0([n,e],ih(t)))},clearTimeout:function(n){var e=Q1.delegate;return((e==null?void 0:e.clearTimeout)||clearTimeout)(n)},delegate:void 0};function FK(n){Q1.setTimeout(function(){throw n})}function TR(){}function gg(n){n()}var s3=function(n){Y0(e,n);function e(t){var r=n.call(this)||this;return r.isStopped=!1,t?(r.destination=t,r3(t)&&t.add(r)):r.destination=zK,r}return e.create=function(t,r,i){return new Z1(t,r,i)},e.prototype.next=function(t){this.isStopped||this._next(t)},e.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,n.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){try{this.destination.error(t)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(Q0),NK=Function.prototype.bind;function O_(n,e){return NK.call(n,e)}var UK=function(){function n(e){this.partialObserver=e}return n.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(r){jm(r)}},n.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(r){jm(r)}else jm(e)},n.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(t){jm(t)}},n}(),Z1=function(n){Y0(e,n);function e(t,r,i){var s=n.call(this)||this,o;if(Mo(t)||!t)o={next:t??void 0,error:r??void 0,complete:i??void 0};else{var a;s&&i3.useDeprecatedNextContext?(a=Object.create(t),a.unsubscribe=function(){return s.unsubscribe()},o={next:t.next&&O_(t.next,a),error:t.error&&O_(t.error,a),complete:t.complete&&O_(t.complete,a)}):o=t}return s.destination=new UK(o),s}return e}(s3);function jm(n){FK(n)}function kK(n){throw n}var zK={closed:!0,next:TR,error:kK,complete:TR},HK=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function GK(n){return n}function VK(n){return n.length===0?GK:n.length===1?n[0]:function(t){return n.reduce(function(r,i){return i(r)},t)}}var bR=function(){function n(e){e&&(this._subscribe=e)}return n.prototype.lift=function(e){var t=new n;return t.source=this,t.operator=e,t},n.prototype.subscribe=function(e,t,r){var i=this,s=$K(e)?e:new Z1(e,t,r);return gg(function(){var o=i,a=o.operator,l=o.source;s.add(a?a.call(s,l):l?i._subscribe(s):i._trySubscribe(s))}),s},n.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},n.prototype.forEach=function(e,t){var r=this;return t=CR(t),new t(function(i,s){var o=new Z1({next:function(a){try{e(a)}catch(l){s(l),o.unsubscribe()}},error:s,complete:i});r.subscribe(o)})},n.prototype._subscribe=function(e){var t;return(t=this.source)===null||t===void 0?void 0:t.subscribe(e)},n.prototype[HK]=function(){return this},n.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return VK(e)(this)},n.prototype.toPromise=function(e){var t=this;return e=CR(e),new e(function(r,i){var s;t.subscribe(function(o){return s=o},function(o){return i(o)},function(){return r(s)})})},n.create=function(e){return new n(e)},n}();function CR(n){var e;return(e=n??i3.Promise)!==null&&e!==void 0?e:Promise}function WK(n){return n&&Mo(n.next)&&Mo(n.error)&&Mo(n.complete)}function $K(n){return n&&n instanceof s3||WK(n)&&r3(n)}var XK=t3(function(n){return function(){n(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),jK=function(n){Y0(e,n);function e(){var t=n.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return e.prototype.lift=function(t){var r=new RR(this,this);return r.operator=t,r},e.prototype._throwIfClosed=function(){if(this.closed)throw new XK},e.prototype.next=function(t){var r=this;gg(function(){var i,s;if(r._throwIfClosed(),!r.isStopped){r.currentObservers||(r.currentObservers=Array.from(r.observers));try{for(var o=rh(r.currentObservers),a=o.next();!a.done;a=o.next()){var l=a.value;l.next(t)}}catch(c){i={error:c}}finally{try{a&&!a.done&&(s=o.return)&&s.call(o)}finally{if(i)throw i.error}}}})},e.prototype.error=function(t){var r=this;gg(function(){if(r._throwIfClosed(),!r.isStopped){r.hasError=r.isStopped=!0,r.thrownError=t;for(var i=r.observers;i.length;)i.shift().error(t)}})},e.prototype.complete=function(){var t=this;gg(function(){if(t._throwIfClosed(),!t.isStopped){t.isStopped=!0;for(var r=t.observers;r.length;)r.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var t;return((t=this.observers)===null||t===void 0?void 0:t.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(t){return this._throwIfClosed(),n.prototype._trySubscribe.call(this,t)},e.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},e.prototype._innerSubscribe=function(t){var r=this,i=this,s=i.hasError,o=i.isStopped,a=i.observers;return s||o?n3:(this.currentObservers=null,a.push(t),new Q0(function(){r.currentObservers=null,Y1(a,t)}))},e.prototype._checkFinalizedStatuses=function(t){var r=this,i=r.hasError,s=r.thrownError,o=r.isStopped;i?t.error(s):o&&t.complete()},e.prototype.asObservable=function(){var t=new bR;return t.source=this,t},e.create=function(t,r){return new RR(t,r)},e}(bR),RR=function(n){Y0(e,n);function e(t,r){var i=n.call(this)||this;return i.destination=t,i.source=r,i}return e.prototype.next=function(t){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.next)===null||i===void 0||i.call(r,t)},e.prototype.error=function(t){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.error)===null||i===void 0||i.call(r,t)},e.prototype.complete=function(){var t,r;(r=(t=this.destination)===null||t===void 0?void 0:t.complete)===null||r===void 0||r.call(t)},e.prototype._subscribe=function(t){var r,i;return(i=(r=this.source)===null||r===void 0?void 0:r.subscribe(t))!==null&&i!==void 0?i:n3},e}(jK);const rl={"@":"viseme_sil",sil:"viseme_sil",p:"viseme_PP",b:"viseme_PP",m:"viseme_PP",f:"viseme_FF",v:"viseme_FF",T:"viseme_TH",dh:"viseme_TH",t:"viseme_DD",d:"viseme_DD",k:"viseme_kk",g:"viseme_kk",ng:"viseme_kk",ch:"viseme_CH",j:"viseme_CH",s:"viseme_SS",z:"viseme_SS",sh:"viseme_SS",zh:"viseme_SS",n:"viseme_nn",r:"viseme_RR",er:"viseme_RR",a:"viseme_aa",aa:"viseme_aa",ax:"viseme_aa",ah:"viseme_aa",ae:"viseme_E",ey:"viseme_E",eh:"viseme_E",ih:"viseme_I",ix:"viseme_I",aw:"viseme_O",ow:"viseme_O",ao:"viseme_O",oy:"viseme_O",uw:"viseme_U",uh:"viseme_U",w:"viseme_U",y:"viseme_U",o:"viseme_O",e:"viseme_E",S:"viseme_SS",u:"viseme_U",E:"viseme_E",i:"viseme_I"};function JK(n){const{startListening:e,headFollow:t,smoothMorphTarget:r,morphTargetSmoothing:i}=OK({startListening:!!n.startListening,headFollow:!0,smoothMorphTarget:!0,morphTargetSmoothing:.25}),[s,o]=D.useState([]),[a,l]=D.useState(Date.now());D.useEffect(()=>{if(e){const m=n.subject.subscribe({next(v){if(!(v.data instanceof Blob)){const E=JSON.parse(v.data);E.type==="Translate"?console.log("translation:",E.content):E.type==="Transcript"?console.log("transcription:",E.content):(o(E.visemes),l(Date.now()))}}});return()=>{m.unsubscribe()}}},[e]),$g(()=>{const p=Date.now()-a,m={visemes:s};Object.values(rl).forEach(v=>{r?(c.Wolf3D_Head.morphTargetInfluences[c.Wolf3D_Head.morphTargetDictionary[v]]=qc.lerp(c.Wolf3D_Head.morphTargetInfluences[c.Wolf3D_Head.morphTargetDictionary[v]],0,i),c.Wolf3D_Teeth.morphTargetInfluences[c.Wolf3D_Teeth.morphTargetDictionary[v]]=qc.lerp(c.Wolf3D_Teeth.morphTargetInfluences[c.Wolf3D_Teeth.morphTargetDictionary[v]],0,i)):(c.Wolf3D_Head.morphTargetInfluences[c.Wolf3D_Head.morphTargetDictionary[v]]=0,c.Wolf3D_Teeth.morphTargetInfluences[c.Wolf3D_Teeth.morphTargetDictionary[v]]=0)});for(let v=0;v<m.visemes.length;v++){const E=m.visemes[v];if(p>=E.time&&p<=E.time+100){r?(c.Wolf3D_Head.morphTargetInfluences[c.Wolf3D_Head.morphTargetDictionary[rl[E.value]]]=qc.lerp(c.Wolf3D_Head.morphTargetInfluences[c.Wolf3D_Head.morphTargetDictionary[rl[E.value]]],1,i),c.Wolf3D_Teeth.morphTargetInfluences[c.Wolf3D_Teeth.morphTargetDictionary[rl[E.value]]]=qc.lerp(c.Wolf3D_Teeth.morphTargetInfluences[c.Wolf3D_Teeth.morphTargetDictionary[rl[E.value]]],1,i)):(c.Wolf3D_Head.morphTargetInfluences[c.Wolf3D_Head.morphTargetDictionary[rl[E.value]]]=1,c.Wolf3D_Teeth.morphTargetInfluences[c.Wolf3D_Teeth.morphTargetDictionary[rl[E.value]]]=1);break}}});const{nodes:c,materials:d}=V0("/models/646d9dcdc8a5f5bddbfac913.glb"),h=D.useRef();return $g(p=>{t&&h.current.getObjectByName("Head").lookAt(p.camera.position)}),F_("group",{...n,dispose:null,ref:h,children:[Or("primitive",{object:c.Hips}),Or("skinnedMesh",{geometry:c.Wolf3D_Body.geometry,material:d.Wolf3D_Body,skeleton:c.Wolf3D_Body.skeleton}),Or("skinnedMesh",{geometry:c.Wolf3D_Outfit_Bottom.geometry,material:d.Wolf3D_Outfit_Bottom,skeleton:c.Wolf3D_Outfit_Bottom.skeleton}),Or("skinnedMesh",{geometry:c.Wolf3D_Outfit_Footwear.geometry,material:d.Wolf3D_Outfit_Footwear,skeleton:c.Wolf3D_Outfit_Footwear.skeleton}),Or("skinnedMesh",{geometry:c.Wolf3D_Outfit_Top.geometry,material:d.Wolf3D_Outfit_Top,skeleton:c.Wolf3D_Outfit_Top.skeleton}),Or("skinnedMesh",{geometry:c.Wolf3D_Hair.geometry,material:d.Wolf3D_Hair,skeleton:c.Wolf3D_Hair.skeleton}),Or("skinnedMesh",{name:"EyeLeft",geometry:c.EyeLeft.geometry,material:d.Wolf3D_Eye,skeleton:c.EyeLeft.skeleton,morphTargetDictionary:c.EyeLeft.morphTargetDictionary,morphTargetInfluences:c.EyeLeft.morphTargetInfluences}),Or("skinnedMesh",{name:"EyeRight",geometry:c.EyeRight.geometry,material:d.Wolf3D_Eye,skeleton:c.EyeRight.skeleton,morphTargetDictionary:c.EyeRight.morphTargetDictionary,morphTargetInfluences:c.EyeRight.morphTargetInfluences}),Or("skinnedMesh",{name:"Wolf3D_Head",geometry:c.Wolf3D_Head.geometry,material:d.Wolf3D_Skin,skeleton:c.Wolf3D_Head.skeleton,morphTargetDictionary:c.Wolf3D_Head.morphTargetDictionary,morphTargetInfluences:c.Wolf3D_Head.morphTargetInfluences}),Or("skinnedMesh",{name:"Wolf3D_Teeth",geometry:c.Wolf3D_Teeth.geometry,material:d.Wolf3D_Teeth,skeleton:c.Wolf3D_Teeth.skeleton,morphTargetDictionary:c.Wolf3D_Teeth.morphTargetDictionary,morphTargetInfluences:c.Wolf3D_Teeth.morphTargetInfluences})]})}V0.preload("/models/646d9dcdc8a5f5bddbfac913.glb");const oY=n=>{const e=ZA("textures/youtubeBackground.jpg"),t=Qr(r=>r.viewport);return F_(_O,{children:[Or(aV,{enabled:n.orbitControl}),Or(JK,{position:[0,-3,5],scale:2,subject:n.subject,startListening:n.startListening}),Or(hV,{preset:"sunset"}),F_("mesh",{children:[Or("planeGeometry",{args:[t.width,t.height]}),Or("meshBasicMaterial",{map:e})]})]})};export{RR as A,QK as C,oY as E,BK as L,bR as O,Q as R,s3 as S,Y0 as _,jK as a,iY as b,tf as c,V1 as d,rh as e,ef as f,sY as g,tR as h,Mo as i,Q0 as j,Or as k,F_ as l,D as m,eM as n,HK as o,FK as r};
 
3695
  * Released under the MIT License.
3696
  */var Yj=Gj,Qj=Xj,gR=VD,vR=Kj,Zj=function(n,e,t){if(!vR(n)||(Array.isArray(e)&&(e=[].concat.apply([],e).join(".")),typeof e!="string"))return n;for(var r=Yj(e,{sep:".",brackets:!0}).filter(qj),i=r.length,s=-1,o=n;++s<i;){var a=r[s];if(s!==i-1){vR(o[a])||(o[a]={}),o=o[a];continue}gR(o[a])&&gR(t)?o[a]=Qj({},o[a],t):o[a]=t}return n};function qj(n){return n!=="__proto__"&&n!=="constructor"&&n!=="prototype"}var L_=yS,yR=Pj,eJ=Ij,_R=Zj,tJ=function(e,t,r){if(!L_(e))throw new TypeError("expected an object");if(typeof t!="string"||r==null)return yR.apply(null,arguments);if(typeof r=="string")return _R(e,t,r),e;var i=eJ(e,t);return L_(r)&&L_(i)&&(r=yR({},i,r)),_R(e,t,r),e};const _S=(...n)=>n.filter(Boolean).join(".");function nJ(n){const e=n.split(".");return[e.pop(),e.join(".")||void 0]}function rJ(n,e){return Object.entries(N$(n,e)).reduce((t,[,{value:r,disabled:i,key:s}])=>(t[s]=i?void 0:r,t),{})}function iJ(n,e){const t=D.useRef();return(e?Qd:Dh)(n,t.current)||(t.current=n),t.current}function $D(n,e){return D.useMemo(n,iJ(e,!0))}function sJ(n){const e=D.useRef(null),t=D.useRef(null),r=D.useRef(!0);return D.useLayoutEffect(()=>{n||(e.current.style.height="0px",e.current.style.overflow="hidden")},[]),D.useEffect(()=>{if(r.current){r.current=!1;return}let i;const s=e.current,o=()=>{n&&(s.style.removeProperty("height"),s.style.removeProperty("overflow"),t.current.scrollIntoView({behavior:"smooth",block:"nearest"}))};s.addEventListener("transitionend",o,{once:!0});const{height:a}=t.current.getBoundingClientRect();return s.style.height=a+"px",n||(s.style.overflow="hidden",i=window.setTimeout(()=>s.style.height="0px",50)),()=>{s.removeEventListener("transitionend",o),clearTimeout(i)}},[n]),{wrapperRef:e,contentRef:t}}const oJ=n=>{const[e,t]=D.useState(n.getVisiblePaths());return D.useEffect(()=>{t(n.getVisiblePaths());const r=n.useStore.subscribe(n.getVisiblePaths,t,{equalityFn:Dh});return()=>r()},[n]),e};function aJ(n,e,t){return n.useStore(i=>{const s=xt(xt({},t),i.data);return rJ(s,e)},Dh)}function XD(n=3){const e=D.useRef(null),t=D.useRef(null),[r,i]=D.useState(!1),s=D.useCallback(()=>i(!0),[]),o=D.useCallback(()=>i(!1),[]);return D.useLayoutEffect(()=>{if(r){const{bottom:a,top:l,left:c}=e.current.getBoundingClientRect(),{height:d}=t.current.getBoundingClientRect(),h=a+d>window.innerHeight-40?"up":"down";t.current.style.position="fixed",t.current.style.zIndex="10000",t.current.style.left=c+"px",h==="down"?t.current.style.top=a+n+"px":t.current.style.bottom=window.innerHeight-l+n+"px"}},[n,r]),{popinRef:e,wrapperRef:t,shown:r,show:s,hide:o}}xX([EX]);const lJ={rgb:"toRgb",hsl:"toHsl",hsv:"toHsv",hex:"toHex"};ti.extend({color:()=>n=>Nr(n).isValid()});const cJ=n=>ti().color().test(n);function jD(n,{format:e,hasAlpha:t,isString:r}){const i=lJ[e]+(r&&e!=="hex"?"String":""),s=n[i]();return typeof s=="object"&&!t?U$(s,["a"]):s}const JD=(n,e)=>{const t=Nr(n);if(!t.isValid())throw Error("Invalid color");return jD(t,e)},uJ=(n,e)=>jD(Nr(n),xt(xt({},e),{},{isString:!0,format:"hex"})),fJ=({value:n})=>{const e=_X(n),t=e==="name"?"hex":e,r=typeof n=="object"?"a"in n:e==="hex"&&n.length===8||/^(rgba)|(hsla)|(hsva)/.test(n),i={format:t,hasAlpha:r,isString:typeof n=="string"};return{value:JD(n,i),settings:i}};var dJ=Object.freeze({__proto__:null,schema:cJ,sanitize:JD,format:uJ,normalize:fJ});const hJ=yt("div",{position:"relative",boxSizing:"border-box",borderRadius:"$sm",overflow:"hidden",cursor:"pointer",height:"$rowHeight",width:"$rowHeight",backgroundColor:"#fff",backgroundImage:`url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity=".05"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>')`,$inputStyle:"",$hover:"",zIndex:1,variants:{active:{true:{$inputStyle:"$accent1"}}},"&::before":{content:'""',position:"absolute",top:0,bottom:0,right:0,left:0,backgroundColor:"currentColor",zIndex:1}}),pJ=yt("div",{position:"relative",display:"grid",gridTemplateColumns:"$sizes$rowHeight auto",columnGap:"$colGap",alignItems:"center"}),mJ=yt("div",{width:"$colorPickerWidth",height:"$colorPickerHeight",".react-colorful":{width:"100%",height:"100%",boxShadow:"$level2",cursor:"crosshair"},".react-colorful__saturation":{borderRadius:"$sm $sm 0 0"},".react-colorful__alpha, .react-colorful__hue":{height:10},".react-colorful__last-control":{borderRadius:"0 0 $sm $sm"},".react-colorful__pointer":{height:12,width:12}});function xR(n,e){return e!=="rgb"?Nr(n).toRgb():n}function gJ({value:n,displayValue:e,settings:t,onUpdate:r}){const{emitOnEditStart:i,emitOnEditEnd:s}=br(),{format:o,hasAlpha:a}=t,{popinRef:l,wrapperRef:c,shown:d,show:h,hide:p}=XD(),m=D.useRef(0),[v,E]=D.useState(()=>xR(n,o)),x=a?CX:PX,g=()=>{E(xR(n,o)),h(),i()},A=()=>{p(),s(),window.clearTimeout(m.current)},_=()=>{m.current=window.setTimeout(A,500)};return D.useEffect(()=>()=>window.clearTimeout(m.current),[]),Q.createElement(Q.Fragment,null,Q.createElement(hJ,{ref:l,active:d,onClick:()=>g(),style:{color:e}}),d&&Q.createElement(uS,null,Q.createElement(mD,{onPointerUp:A}),Q.createElement(mJ,{ref:c,onMouseEnter:()=>window.clearTimeout(m.current),onMouseLeave:w=>w.buttons===0&&_()},Q.createElement(x,{color:v,onChange:r}))))}function vJ(){const{value:n,displayValue:e,label:t,onChange:r,onUpdate:i,settings:s}=br();return Q.createElement(Xi,{input:!0},Q.createElement(_s,null,t),Q.createElement(pJ,null,Q.createElement(gJ,{value:n,displayValue:e,onChange:r,onUpdate:i,settings:s}),Q.createElement(cS,{value:e,onChange:r,onUpdate:i})))}var yJ=xt({component:vJ},dJ);function _J(){const{label:n,displayValue:e,onUpdate:t,settings:r}=br();return Q.createElement(Xi,{input:!0},Q.createElement(_s,null,n),Q.createElement(dS,{value:e,settings:r,onUpdate:t}))}var xJ=xt({component:_J},SD(["x","y","z"]));const EJ=yt("div",{$flexCenter:"",position:"relative",backgroundColor:"$elevation3",borderRadius:"$sm",cursor:"pointer",height:"$rowHeight",width:"$rowHeight",touchAction:"none",$draggable:"",$hover:"","&:active":{cursor:"none"},"&::after":{content:'""',backgroundColor:"$accent2",height:4,width:4,borderRadius:2}}),AJ=yt("div",{$flexCenter:"",width:"$joystickWidth",height:"$joystickHeight",borderRadius:"$sm",boxShadow:"$level2",position:"fixed",zIndex:1e4,overflow:"hidden",$draggable:"",transform:"translate(-50%, -50%)",variants:{isOutOfBounds:{true:{backgroundColor:"$elevation1"},false:{backgroundColor:"$elevation3"}}},"> div":{position:"absolute",$flexCenter:"",borderStyle:"solid",borderWidth:1,borderColor:"$highlight1",backgroundColor:"$elevation3",width:"80%",height:"80%","&::after,&::before":{content:'""',position:"absolute",zindex:10,backgroundColor:"$highlight1"},"&::before":{width:"100%",height:1},"&::after":{height:"100%",width:1}},"> span":{position:"relative",zindex:100,width:10,height:10,backgroundColor:"$accent2",borderRadius:"50%"}});function SJ({value:n,settings:e,onUpdate:t}){const r=D.useRef(),i=D.useRef(0),s=D.useRef(0),o=D.useRef(1),[a,l]=D.useState(!1),[c,d]=D.useState(!1),[h,p]=vD(),m=D.useRef(null),v=D.useRef(null);D.useLayoutEffect(()=>{if(a){const{top:j,left:$,width:K,height:Y}=m.current.getBoundingClientRect();v.current.style.left=$+K/2+"px",v.current.style.top=j+Y/2+"px"}},[a]);const{keys:[E,x],joystick:g}=e,A=g==="invertY"?1:-1,{[E]:{step:_},[x]:{step:w}}=e,C=wo("sizes","joystickWidth"),b=wo("sizes","joystickHeight"),B=parseFloat(C)*.8/2,I=parseFloat(b)*.8/2,R=D.useCallback(()=>{r.current||(d(!0),i.current&&p({x:i.current*B}),s.current&&p({y:s.current*-I}),r.current=window.setInterval(()=>{t(j=>{const $=_*i.current*o.current,K=A*w*s.current*o.current;return Array.isArray(j)?{[E]:j[0]+$,[x]:j[1]+K}:{[E]:j[E]+$,[x]:j[x]+K}})},16))},[B,I,t,p,_,w,E,x,A]),L=D.useCallback(()=>{window.clearTimeout(r.current),r.current=void 0,d(!1)},[]);D.useEffect(()=>{function j($){o.current=tD($)}return window.addEventListener("keydown",j),window.addEventListener("keyup",j),()=>{window.clearTimeout(r.current),window.removeEventListener("keydown",j),window.removeEventListener("keyup",j)}},[]);const U=Fh(({first:j,active:$,delta:[K,Y],movement:[ne,ie]})=>{j&&l(!0);const z=Ia(ne,-B,B),Z=Ia(ie,-I,I);i.current=Math.abs(ne)>Math.abs(z)?Math.sign(ne-z):0,s.current=Math.abs(ie)>Math.abs(Z)?Math.sign(Z-ie):0;let q=n[E],ae=n[x];$?(i.current||(q+=K*_*o.current,p({x:z})),s.current||(ae-=A*Y*w*o.current,p({y:Z})),i.current||s.current?R():L(),t({[E]:q,[x]:ae})):(l(!1),i.current=0,s.current=0,p({x:0,y:0}),L())});return Q.createElement(EJ,Nn({ref:m},U()),a&&Q.createElement(uS,null,Q.createElement(AJ,{ref:v,isOutOfBounds:c},Q.createElement("div",null),Q.createElement("span",{ref:h}))))}const wJ=yt("div",{display:"grid",columnGap:"$colGap",variants:{withJoystick:{true:{gridTemplateColumns:"$sizes$rowHeight auto"},false:{gridTemplateColumns:"auto"}}}});function MJ(){const{label:n,displayValue:e,onUpdate:t,settings:r}=br();return Q.createElement(Xi,{input:!0},Q.createElement(_s,null,n),Q.createElement(wJ,{withJoystick:!!r.joystick},r.joystick&&Q.createElement(SJ,{value:e,settings:r,onUpdate:t}),Q.createElement(dS,{value:e,settings:r,onUpdate:t})))}const TJ=["joystick"],KD=SD(["x","y"]),bJ=n=>{let{joystick:e=!0}=n,t=on(n,TJ);const{value:r,settings:i}=KD.normalize(t);return{value:r,settings:xt(xt({},i),{},{joystick:e})}};var CJ=xt(xt({component:MJ},KD),{},{normalize:bJ});const RJ=n=>{if(n!==void 0){if(n instanceof File)try{return URL.createObjectURL(n)}catch{return}if(typeof n=="string"&&n.indexOf("blob:")===0)return n;throw Error("Invalid image format [undefined | blob |Β File].")}},PJ=(n,e)=>typeof e=="object"&&"image"in e,IJ=({image:n})=>({value:n});var BJ=Object.freeze({__proto__:null,sanitize:RJ,schema:PJ,normalize:IJ});const LJ=yt("div",{position:"relative",display:"grid",gridTemplateColumns:"$sizes$rowHeight auto 20px",columnGap:"$colGap",alignItems:"center"}),DJ=yt("div",{$flexCenter:"",overflow:"hidden",height:"$rowHeight",background:"$elevation3",textAlign:"center",color:"inherit",borderRadius:"$sm",outline:"none",userSelect:"none",cursor:"pointer",$inputStyle:"",$hover:"",$focusWithin:"",$active:"$accent1 $elevation1",variants:{isDragAccept:{true:{$inputStyle:"$accent1",backgroundColor:"$elevation1"}}}}),OJ=yt("div",{boxSizing:"border-box",borderRadius:"$sm",height:"$rowHeight",width:"$rowHeight",$inputStyle:"",backgroundSize:"cover",backgroundPosition:"center",variants:{hasImage:{true:{cursor:"pointer",$hover:"",$active:""}}}}),FJ=yt("div",{$flexCenter:"",width:"$imagePreviewWidth",height:"$imagePreviewHeight",borderRadius:"$sm",boxShadow:"$level2",pointerEvents:"none",$inputStyle:"",backgroundSize:"cover",backgroundPosition:"center"}),NJ=yt("div",{fontSize:"0.8em",height:"100%",padding:"$rowGap $md"}),UJ=yt("div",{$flexCenter:"",top:"0",right:"0",marginRight:"$sm",height:"100%",cursor:"pointer",variants:{disabled:{true:{color:"$elevation3",cursor:"default"}}},"&::after,&::before":{content:'""',position:"absolute",height:2,width:10,borderRadius:1,backgroundColor:"currentColor"},"&::after":{transform:"rotate(45deg)"},"&::before":{transform:"rotate(-45deg)"}});function kJ(){const{label:n,value:e,onUpdate:t,disabled:r}=br(),{popinRef:i,wrapperRef:s,shown:o,show:a,hide:l}=XD(),c=D.useCallback(v=>{v.length&&t(v[0])},[t]),d=D.useCallback(v=>{v.stopPropagation(),t(void 0)},[t]),{getRootProps:h,getInputProps:p,isDragAccept:m}=GD({maxFiles:1,accept:"image/*",onDrop:c,disabled:r});return Q.createElement(Xi,{input:!0},Q.createElement(_s,null,n),Q.createElement(LJ,null,Q.createElement(OJ,{ref:i,hasImage:!!e,onPointerDown:()=>!!e&&a(),onPointerUp:l,style:{backgroundImage:e?`url(${e})`:"none"}}),o&&!!e&&Q.createElement(uS,null,Q.createElement(mD,{onPointerUp:l,style:{cursor:"pointer"}}),Q.createElement(FJ,{ref:s,style:{backgroundImage:`url(${e})`}})),Q.createElement(DJ,h({isDragAccept:m}),Q.createElement("input",p()),Q.createElement(NJ,null,m?"drop image":"click or drop")),Q.createElement(UJ,{onClick:d,disabled:!e})))}var zJ=xt({component:kJ},BJ);const ER=ti().number(),HJ=(n,e)=>ti().array().length(2).every.number().test(n)&&ti().schema({min:ER,max:ER}).test(e),o0=n=>({min:n[0],max:n[1]}),YD=(n,{bounds:[e,t]},r)=>{const i=Array.isArray(n)?o0(n):n,s={min:r[0],max:r[1]},{min:o,max:a}=xt(xt({},s),i);return[Ia(Number(o),e,Math.max(e,a)),Ia(Number(a),Math.min(t,o),t)]},GJ=({value:n,min:e,max:t})=>{const r={min:e,max:t},i=AD(o0(n),{min:r,max:r}),s=[e,t],o=xt(xt({},i),{},{bounds:s});return{value:YD(o0(n),o,n),settings:o}};var VJ=Object.freeze({__proto__:null,schema:HJ,format:o0,sanitize:YD,normalize:GJ});const WJ=["value","bounds","onDrag"],$J=["bounds"],XJ=yt("div",{display:"grid",columnGap:"$colGap",gridTemplateColumns:"auto calc($sizes$numberInputMinWidth * 2 + $space$rowGap)"});function jJ(n){let{value:e,bounds:[t,r],onDrag:i}=n,s=on(n,WJ);const o=D.useRef(null),a=D.useRef(null),l=D.useRef(null),c=D.useRef(0),d=wo("sizes","scrubberWidth"),h=Fh(({event:v,first:E,xy:[x],movement:[g],memo:A={}})=>{if(E){const{width:w,left:C}=o.current.getBoundingClientRect();c.current=w-parseFloat(d);const b=(v==null?void 0:v.target)===a.current||(v==null?void 0:v.target)===l.current;A.pos=e0((x-C)/w,t,r);const B=Math.abs(A.pos-e.min)-Math.abs(A.pos-e.max);A.key=B<0||B===0&&A.pos<=e.min?"min":"max",b&&(A.pos=e[A.key])}const _=A.pos+e0(g/c.current,0,r-t);return i({[A.key]:T7(_,s[A.key])}),A}),p=`calc(${qg(e.min,t,r)} * (100% - ${d} - 8px) + 4px)`,m=`calc(${1-qg(e.max,t,r)} * (100% - ${d} - 8px) + 4px)`;return Q.createElement(_D,Nn({ref:o},h()),Q.createElement(yD,null,Q.createElement(xD,{style:{left:p,right:m}})),Q.createElement(O1,{position:"left",ref:a,style:{left:p}}),Q.createElement(O1,{position:"right",ref:l,style:{right:m}}))}function JJ(){const{label:n,displayValue:e,onUpdate:t,settings:r}=br(),i=on(r,$J);return Q.createElement(Q.Fragment,null,Q.createElement(Xi,{input:!0},Q.createElement(_s,null,n),Q.createElement(XJ,null,Q.createElement(jJ,Nn({value:e},r,{onDrag:t})),Q.createElement(dS,{value:e,settings:i,onUpdate:t,innerLabelTrim:0}))))}var KJ=xt({component:JJ},VJ);const YJ=()=>{const n=new Map;return{on:(e,t)=>{let r=n.get(e);r===void 0&&(r=new Set,n.set(e,r)),r.add(t)},off:(e,t)=>{const r=n.get(e);r!==void 0&&(r.delete(t),r.size===0&&n.delete(e))},emit:(e,...t)=>{const r=n.get(e);if(r!==void 0)for(const i of r)i(...t)}}},QJ=["type","value"],ZJ=["onChange","transient","onEditStart","onEditEnd"],qJ=function(){const e=XA(o6(()=>({data:{}}))),t=YJ();this.storeId=F$(),this.useStore=e;const r={},i=new Set;this.getVisiblePaths=()=>{const o=this.getData(),a=Object.keys(o),l=[];Object.entries(r).forEach(([d,h])=>{h.render&&a.some(p=>p.indexOf(d)===0)&&!h.render(this.get)&&l.push(d+".")});const c=[];return i.forEach(d=>{d in o&&o[d].__refCount>0&&l.every(h=>d.indexOf(h)===-1)&&(!o[d].render||o[d].render(this.get))&&c.push(d)}),c},this.setOrderedPaths=o=>{o.forEach(a=>i.add(a))},this.orderPaths=o=>(this.setOrderedPaths(o),o),this.disposePaths=o=>{e.setState(a=>{const l=a.data;return o.forEach(c=>{if(c in l){const d=l[c];d.__refCount--,d.__refCount===0&&d.type in ls&&delete l[c]}}),{data:l}})},this.dispose=()=>{e.setState(()=>({data:{}}))},this.getFolderSettings=o=>r[o]||{},this.getData=()=>e.getState().data,this.addData=(o,a)=>{e.setState(l=>{const c=l.data;return Object.entries(o).forEach(([d,h])=>{let p=c[d];if(p){const{type:m,value:v}=h,E=on(h,QJ);m!==p.type?ho(wn.INPUT_TYPE_OVERRIDE,m):((p.__refCount===0||a)&&Object.assign(p,E),p.__refCount++)}else c[d]=xt(xt({},h),{},{__refCount:1})}),{data:c}})},this.setValueAtPath=(o,a,l)=>{e.setState(c=>{const d=c.data;return WC(d[o],a,o,this,l),{data:d}})},this.setSettingsAtPath=(o,a)=>{e.setState(l=>{const c=l.data;return c[o].settings=xt(xt({},c[o].settings),a),{data:c}})},this.disableInputAtPath=(o,a)=>{e.setState(l=>{const c=l.data;return c[o].disabled=a,{data:c}})},this.set=(o,a)=>{e.setState(l=>{const c=l.data;return Object.entries(o).forEach(([d,h])=>{try{WC(c[d],h,void 0,void 0,a)}catch{}}),{data:c}})},this.getInput=o=>{try{return this.getData()[o]}catch{ho(wn.PATH_DOESNT_EXIST,o)}},this.get=o=>{var a;return(a=this.getInput(o))===null||a===void 0?void 0:a.value},this.emitOnEditStart=o=>{t.emit(`onEditStart:${o}`,this.get(o),o,xt(xt({},this.getInput(o)),{},{get:this.get}))},this.emitOnEditEnd=o=>{t.emit(`onEditEnd:${o}`,this.get(o),o,xt(xt({},this.getInput(o)),{},{get:this.get}))},this.subscribeToEditStart=(o,a)=>{const l=`onEditStart:${o}`;return t.on(l,a),()=>t.off(l,a)},this.subscribeToEditEnd=(o,a)=>{const l=`onEditEnd:${o}`;return t.on(l,a),()=>t.off(l,a)};const s=(o,a,l)=>{const c={};return Object.entries(o).forEach(([d,h])=>{if(d==="")return ho(wn.EMPTY_KEY);let p=_S(a,d);if(h.type===ls.FOLDER){const m=s(h.schema,p,l);Object.assign(c,m),p in r||(r[p]=h.settings)}else if(d in l)ho(wn.DUPLICATE_KEYS,d,p,l[d].path);else{const m=W$(h,d,p,c);if(m){const{type:v,options:E,input:x}=m,{onChange:g,transient:A,onEditStart:_,onEditEnd:w}=E,C=on(E,ZJ);c[p]=xt(xt(xt({type:v},C),x),{},{fromPanel:!0}),l[d]={path:p,onChange:g,transient:A,onEditStart:_,onEditEnd:w}}else ho(wn.UNKNOWN_INPUT,p,h)}}),c};this.getDataFromSchema=o=>{const a={};return[s(o,"",a),a]}},QD=new qJ,eK={collapsed:!1};function tK(n,e){return{type:ls.FOLDER,schema:n,settings:xt(xt({},eK),e)}}const AR=n=>"__levaInput"in n,nK=(n,e)=>{const t={},r=e?e.toLowerCase():null;return n.forEach(i=>{const[s,o]=nJ(i);(!r||s.toLowerCase().indexOf(r)>-1)&&tJ(t,o,{[s]:{__levaInput:!0,path:i}})}),t},rK=["type","label","path","valueKey","value","settings","setValue","disabled"];function iK(n){let{type:e,label:t,path:r,valueKey:i,value:s,settings:o,setValue:a,disabled:l}=n,c=on(n,rK);const{displayValue:d,onChange:h,onUpdate:p}=gD({type:e,value:s,settings:o,setValue:a}),m=Hl[e].component;return m?Q.createElement(oD.Provider,{value:xt({key:i,path:r,id:""+r,label:t,displayValue:d,value:s,onChange:h,onUpdate:p,settings:o,setValue:a,disabled:l},c)},Q.createElement(u7,{disabled:l},Q.createElement(m,null))):(ho(wn.NO_COMPONENT_FOR_TYPE,e,r),null)}const sK=yt("button",{display:"block",$reset:"",fontWeight:"$button",height:"$rowHeight",borderStyle:"none",borderRadius:"$sm",backgroundColor:"$elevation1",color:"$highlight1","&:not(:disabled)":{color:"$highlight3",backgroundColor:"$accent2",cursor:"pointer",$hover:"$accent3",$active:"$accent3 $accent1",$focus:""}});function oK({onClick:n,settings:e,label:t}){const r=Oh();return Q.createElement(Xi,null,Q.createElement(sK,{disabled:e.disabled,onClick:()=>n(r.get)},t))}const aK=yt("div",{$flex:"",justifyContent:"flex-end",gap:"$colGap"}),lK=yt("button",{$reset:"",cursor:"pointer",borderRadius:"$xs","&:hover":{backgroundColor:"$elevation3"}}),cK=({label:n,opts:e})=>{let t=typeof n=="string"&&n.trim()===""?null:n,r=e;return typeof e.opts=="object"&&(r.label!==void 0&&(t=e.label),r=e.opts),{label:t,opts:r}};function uK(n){const{label:e,opts:t}=cK(n),r=Oh();return Q.createElement(Xi,{input:!!e},e&&Q.createElement(_s,null,e),Q.createElement(aK,null,Object.entries(t).map(([i,s])=>Q.createElement(lK,{key:i,onClick:()=>s(r.get)},i))))}const fK=yt("canvas",{height:"$monitorHeight",width:"100%",display:"block",borderRadius:"$sm"}),ZD=100;function dK(n,e){n.push(e),n.length>ZD&&n.shift()}const hK=D.forwardRef(function({initialValue:n},e){const t=wo("colors","highlight3"),r=wo("colors","elevation2"),i=wo("colors","highlight1"),[s,o]=D.useMemo(()=>[Nr(i).alpha(.4).toRgbString(),Nr(i).alpha(.1).toRgbString()],[i]),a=D.useRef([n]),l=D.useRef(n),c=D.useRef(n),d=D.useRef(),h=D.useCallback((v,E)=>{if(!v)return;const{width:x,height:g}=v,A=new Path2D,_=x/ZD,w=g*.05;for(let B=0;B<a.current.length;B++){const I=qg(a.current[B],l.current,c.current),R=_*B,L=g-I*(g-w*2)-w;A.lineTo(R,L)}E.clearRect(0,0,x,g);const C=new Path2D(A);C.lineTo(_*(a.current.length+1),g),C.lineTo(0,g),C.lineTo(0,0);const b=E.createLinearGradient(0,0,0,g);b.addColorStop(0,s),b.addColorStop(1,o),E.fillStyle=b,E.fill(C),E.strokeStyle=r,E.lineJoin="round",E.lineWidth=14,E.stroke(A),E.strokeStyle=t,E.lineWidth=2,E.stroke(A)},[t,r,s,o]),[p,m]=_7(h);return D.useImperativeHandle(e,()=>({frame:v=>{(l.current===void 0||v<l.current)&&(l.current=v),(c.current===void 0||v>c.current)&&(c.current=v),dK(a.current,v),d.current=requestAnimationFrame(()=>h(p.current,m.current))}}),[p,m,h]),D.useEffect(()=>()=>cancelAnimationFrame(d.current),[]),Q.createElement(fK,{ref:p})}),SR=n=>Number.isFinite(n)?n.toPrecision(2):n.toString(),pK=D.forwardRef(function({initialValue:n},e){const[t,r]=D.useState(SR(n));return D.useImperativeHandle(e,()=>({frame:i=>r(SR(i))}),[]),Q.createElement("div",null,t)});function wR(n){return typeof n=="function"?n():n.current}function mK({label:n,objectOrFn:e,settings:t}){const r=D.useRef(),i=D.useRef(wR(e));return D.useEffect(()=>{const s=window.setInterval(()=>{var o;document.hidden||(o=r.current)===null||o===void 0||o.frame(wR(e))},t.interval);return()=>window.clearInterval(s)},[e,t.interval]),Q.createElement(Xi,{input:!0},Q.createElement(_s,{align:"top"},n),t.graph?Q.createElement(hK,{ref:r,initialValue:i.current}):Q.createElement(pK,{ref:r,initialValue:i.current}))}const gK=["type","label","key"],vK={[ls.BUTTON]:oK,[ls.BUTTON_GROUP]:uK,[ls.MONITOR]:mK},yK=Q.memo(({path:n})=>{const[e,{set:t,setSettings:r,disable:i,storeId:s,emitOnEditStart:o,emitOnEditEnd:a}]=E7(n);if(!e)return null;const{type:l,label:c,key:d}=e,h=on(e,gK);if(l in ls){const p=vK[l];return Q.createElement(p,Nn({label:c,path:n},h))}return l in Hl?Q.createElement(iK,Nn({key:s+n,type:l,label:c,storeId:s,path:n,valueKey:d,setValue:t,setSettings:r,disable:i,emitOnEditStart:o,emitOnEditEnd:a},h)):(C$(wn.UNSUPPORTED_INPUT,l,n),null)});function _K({toggle:n,toggled:e,name:t}){return Q.createElement(a7,{onClick:()=>n()},Q.createElement(fS,{toggled:e}),Q.createElement("div",null,t))}const xK=({name:n,path:e,tree:t})=>{const r=Oh(),i=_S(e,n),{collapsed:s,color:o}=r.getFolderSettings(i),[a,l]=D.useState(!s),c=D.useRef(null),d=wo("colors","folderWidgetColor"),h=wo("colors","folderTextColor");return D.useLayoutEffect(()=>{c.current.style.setProperty("--leva-colors-folderWidgetColor",o||d),c.current.style.setProperty("--leva-colors-folderTextColor",o||h)},[o,d,h]),Q.createElement(t0,{ref:c},Q.createElement(_K,{name:n,toggled:a,toggle:()=>l(p=>!p)}),Q.createElement(qD,{parent:i,tree:t,toggled:a}))},qD=Q.memo(({isRoot:n=!1,fill:e=!1,flat:t=!1,parent:r,tree:i,toggled:s})=>{const{wrapperRef:o,contentRef:a}=sJ(s),l=Oh(),c=([h,p])=>{var m;return(AR(p)?(m=l.getInput(p.path))===null||m===void 0?void 0:m.order:l.getFolderSettings(_S(r,h)).order)||0},d=Object.entries(i).sort((h,p)=>c(h)-c(p));return Q.createElement(L1,{ref:o,isRoot:n,fill:e,flat:t},Q.createElement(dD,{ref:a,isRoot:n,toggled:s},d.map(([h,p])=>AR(p)?Q.createElement(yK,{key:p.path,valueKey:p.valueKey,path:p.path}):Q.createElement(xK,{key:h,name:h,path:r,tree:p}))))}),EK=yt("div",{position:"relative",fontFamily:"$mono",fontSize:"$root",color:"$rootText",backgroundColor:"$elevation1",variants:{fill:{false:{position:"fixed",top:"10px",right:"10px",zIndex:1e3,width:"$rootWidth"},true:{position:"relative",width:"100%"}},flat:{false:{borderRadius:"$lg",boxShadow:"$level1"}},oneLineLabels:{true:{[`${pD}`]:{gridTemplateColumns:"auto",gridAutoColumns:"minmax(max-content, 1fr)",gridAutoRows:"minmax($sizes$rowHeight), auto)",rowGap:0,columnGap:0,marginTop:"$rowGap"}}},hideTitleBar:{true:{$$titleBarHeight:"0px"},false:{$$titleBarHeight:"$sizes$titleBarHeight"}}},"&,*,*:after,*:before":{boxSizing:"border-box"},"*::selection":{backgroundColor:"$accent2"}}),e3=40,a0=yt("i",{$flexCenter:"",width:e3,userSelect:"none",cursor:"pointer","> svg":{fill:"$highlight1",transition:"transform 350ms ease, fill 250ms ease"},"&:hover > svg":{fill:"$highlight3"},variants:{active:{true:{"> svg":{fill:"$highlight2"}}}}}),AK=yt("div",{display:"flex",alignItems:"stretch",justifyContent:"space-between",height:"$titleBarHeight",variants:{mode:{drag:{cursor:"grab"}}}}),SK=yt("div",{$flex:"",position:"relative",width:"100%",overflow:"hidden",transition:"height 250ms ease",color:"$highlight3",paddingLeft:"$md",[`> ${a0}`]:{height:30},variants:{toggled:{true:{height:30},false:{height:0}}}}),wK=yt("input",{$reset:"",flex:1,position:"relative",height:30,width:"100%",backgroundColor:"transparent",fontSize:"10px",borderRadius:"$root","&:focus":{},"&::placeholder":{color:"$highlight2"}}),MK=yt("div",{touchAction:"none",$flexCenter:"",flex:1,"> svg":{fill:"$highlight1"},color:"$highlight1",variants:{drag:{true:{$draggable:"","> svg":{transition:"fill 250ms ease"},"&:hover":{color:"$highlight3"},"&:hover > svg":{fill:"$highlight3"}}},filterEnabled:{false:{paddingRight:e3}}}}),TK=Q.forwardRef(({setFilter:n,toggle:e},t)=>{const[r,i]=D.useState(""),s=D.useMemo(()=>eD(n,250),[n]),o=()=>{n(""),i("")},a=l=>{const c=l.currentTarget.value;e(!0),i(c)};return D.useEffect(()=>{s(r)},[r,s]),Q.createElement(Q.Fragment,null,Q.createElement(wK,{ref:t,value:r,placeholder:"[Open filter with CMD+SHIFT+L]",onPointerDown:l=>l.stopPropagation(),onChange:a}),Q.createElement(a0,{onClick:()=>o(),style:{visibility:r?"visible":"hidden"}},Q.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",height:"14",width:"14",viewBox:"0 0 20 20",fill:"currentColor"},Q.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z",clipRule:"evenodd"}))))});function bK({setFilter:n,onDrag:e,onDragStart:t,onDragEnd:r,toggle:i,toggled:s,title:o,drag:a,filterEnabled:l,from:c}){const[d,h]=D.useState(!1),p=D.useRef(null);D.useEffect(()=>{var v,E;d?(v=p.current)===null||v===void 0||v.focus():(E=p.current)===null||E===void 0||E.blur()},[d]);const m=Fh(({offset:[v,E],first:x,last:g})=>{e({x:v,y:E}),x&&t({x:v,y:E}),g&&r({x:v,y:E})},{filterTaps:!0,from:({offset:[v,E]})=>[(c==null?void 0:c.x)||v,(c==null?void 0:c.y)||E]});return D.useEffect(()=>{const v=E=>{E.key==="L"&&E.shiftKey&&E.metaKey&&h(x=>!x)};return window.addEventListener("keydown",v),()=>window.removeEventListener("keydown",v)},[]),Q.createElement(Q.Fragment,null,Q.createElement(AK,{mode:a?"drag":void 0},Q.createElement(a0,{active:!s,onClick:()=>i()},Q.createElement(fS,{toggled:s,width:12,height:8})),Q.createElement(MK,Nn({},a?m():{},{drag:a,filterEnabled:l}),o===void 0&&a?Q.createElement("svg",{width:"20",height:"10",viewBox:"0 0 28 14",xmlns:"http://www.w3.org/2000/svg"},Q.createElement("circle",{cx:"2",cy:"2",r:"2"}),Q.createElement("circle",{cx:"14",cy:"2",r:"2"}),Q.createElement("circle",{cx:"26",cy:"2",r:"2"}),Q.createElement("circle",{cx:"2",cy:"12",r:"2"}),Q.createElement("circle",{cx:"14",cy:"12",r:"2"}),Q.createElement("circle",{cx:"26",cy:"12",r:"2"})):o),l&&Q.createElement(a0,{active:d,onClick:()=>h(v=>!v)},Q.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",height:"20",viewBox:"0 0 20 20"},Q.createElement("path",{d:"M9 9a2 2 0 114 0 2 2 0 01-4 0z"}),Q.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm1-13a4 4 0 00-3.446 6.032l-2.261 2.26a1 1 0 101.414 1.415l2.261-2.261A4 4 0 1011 5z",clipRule:"evenodd"})))),Q.createElement(SK,{toggled:d},Q.createElement(TK,{ref:p,setFilter:n,toggle:i})))}const CK=["store","hidden","theme","collapsed"];function RK(n){let{store:e,hidden:t=!1,theme:r,collapsed:i=!1}=n,s=on(n,CK);const o=$D(()=>t7(r),[r]),[a,l]=D.useState(!i),c=typeof i=="object"?!i.collapsed:a,d=D.useMemo(()=>typeof i=="object"?h=>{typeof h=="function"?i.onChange(!h(!i.collapsed)):i.onChange(!h)}:l,[i]);return!e||t?null:Q.createElement(lS.Provider,{value:o},Q.createElement(PK,Nn({store:e},s,{toggled:c,setToggle:d,rootClass:o.className})))}const PK=Q.memo(({store:n,rootClass:e,fill:t=!1,flat:r=!1,neverHide:i=!1,oneLineLabels:s=!1,titleBar:o={title:void 0,drag:!0,filter:!0,position:void 0,onDrag:void 0,onDragStart:void 0,onDragEnd:void 0},hideCopyButton:a=!1,toggled:l,setToggle:c})=>{var d,h;const p=oJ(n),[m,v]=D.useState(""),E=D.useMemo(()=>nK(p,m),[p,m]),[x,g]=vD(),A=i||p.length>0,_=typeof o=="object"&&o.title||void 0,w=typeof o=="object"&&(d=o.drag)!==null&&d!==void 0?d:!0,C=typeof o=="object"&&(h=o.filter)!==null&&h!==void 0?h:!0,b=typeof o=="object"&&o.position||void 0,B=typeof o=="object"&&o.onDrag||void 0,I=typeof o=="object"&&o.onDragStart||void 0,R=typeof o=="object"&&o.onDragEnd||void 0;return Q.useEffect(()=>{g({x:b==null?void 0:b.x,y:b==null?void 0:b.y})},[b,g]),e7(),Q.createElement(lD.Provider,{value:{hideCopyButton:a}},Q.createElement(EK,{ref:x,className:e,fill:t,flat:r,oneLineLabels:s,hideTitleBar:!o,style:{display:A?"block":"none"}},o&&Q.createElement(bK,{onDrag:L=>{g(L),B==null||B(L)},onDragStart:L=>I==null?void 0:I(L),onDragEnd:L=>R==null?void 0:R(L),setFilter:v,toggle:L=>c(U=>L??!U),toggled:l,title:_,drag:w,filterEnabled:C,from:b}),A&&Q.createElement(aD.Provider,{value:n},Q.createElement(qD,{isRoot:!0,fill:t,flat:r,tree:E,toggled:l}))))}),IK=["isRoot"];let l0=!1,El=null;function BK(n){let{isRoot:e=!1}=n,t=on(n,IK);return D.useEffect(()=>(l0=!0,!e&&El&&(El.remove(),El=null),()=>{e||(l0=!1)}),[e]),Q.createElement(RK,Nn({store:QD},t))}function LK(n){D.useEffect(()=>{n&&!l0&&(El||(El=document.getElementById("leva__root")||Object.assign(document.createElement("div"),{id:"leva__root"}),document.body&&(document.body.appendChild(El),X$(Q.createElement(BK,{isRoot:!0}),El))),l0=!0)},[n])}function DK(n,e,t,r,i){let s,o,a,l,c;return typeof n=="string"?(o=n,s=e,Array.isArray(t)?c=t:t&&("store"in t?(l=t,c=r):(a=t,Array.isArray(r)?c=r:(l=r,c=i)))):(s=n,Array.isArray(e)?c=e:(l=e,c=t)),{schema:s,folderName:o,folderSettings:a,hookSettings:l,deps:c||[]}}function OK(n,e,t,r,i){const{folderName:s,schema:o,folderSettings:a,hookSettings:l,deps:c}=DK(n,e,t,r,i),d=typeof o=="function",h=D.useRef(!1),p=D.useRef(!0),m=$D(()=>{h.current=!0;const U=typeof o=="function"?o():o;return s?{[s]:tK(U,a)}:U},c),v=!(l!=null&&l.store);LK(v);const[E]=D.useState(()=>(l==null?void 0:l.store)||QD),[x,g]=D.useMemo(()=>E.getDataFromSchema(m),[E,m]),[A,_,w,C,b]=D.useMemo(()=>{const U=[],j=[],$={},K={},Y={};return Object.values(g).forEach(({path:ne,onChange:ie,onEditStart:z,onEditEnd:Z,transient:q})=>{U.push(ne),ie?($[ne]=ie,q||j.push(ne)):j.push(ne),z&&(K[ne]=z),Z&&(Y[ne]=Z)}),[U,j,$,K,Y]},[g]),B=D.useMemo(()=>E.orderPaths(A),[A,E]),I=aJ(E,_,x),R=D.useCallback(U=>{const j=Object.entries(U).reduce(($,[K,Y])=>Object.assign($,{[g[K].path]:Y}),{});E.set(j,!1)},[E,g]),L=D.useCallback(U=>E.get(g[U].path),[E,g]);return D.useEffect(()=>{const U=!p.current&&h.current;return E.addData(x,U),p.current=!1,h.current=!1,()=>E.disposePaths(B)},[E,B,x]),D.useEffect(()=>{const U=[];return Object.entries(w).forEach(([j,$])=>{$(E.get(j),j,xt({initial:!0,get:E.get},E.getInput(j)));const K=E.useStore.subscribe(Y=>{const ne=Y.data[j];return[ne.disabled?void 0:ne.value,ne]},([Y,ne])=>$(Y,j,xt({initial:!1,get:E.get},ne)),{equalityFn:Dh});U.push(K)}),()=>U.forEach(j=>j())},[E,w]),D.useEffect(()=>{const U=[];return Object.entries(C).forEach(([j,$])=>U.push(E.subscribeToEditStart(j,$))),Object.entries(b).forEach(([j,$])=>U.push(E.subscribeToEditEnd(j,$))),()=>U.forEach(j=>j())},[C,b,E]),d?[I,R,L]:I}No(ps.SELECT,U7);No(ps.IMAGE,zJ);No(ps.NUMBER,C7);No(ps.COLOR,yJ);No(ps.STRING,j7);No(ps.BOOLEAN,eX);No(ps.INTERVAL,KJ);No(ps.VECTOR3D,xJ);No(ps.VECTOR2D,CJ);function Mo(n){return typeof n=="function"}function t3(n){var e=function(r){Error.call(r),r.stack=new Error().stack},t=n(e);return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var D_=t3(function(n){return function(t){n(this),this.message=t?t.length+` errors occurred during unsubscription:
3697
  `+t.map(function(r,i){return i+1+") "+r.toString()}).join(`
3698
+ `):"",this.name="UnsubscriptionError",this.errors=t}});function Y1(n,e){if(n){var t=n.indexOf(e);0<=t&&n.splice(t,1)}}var Q0=function(){function n(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return n.prototype.unsubscribe=function(){var e,t,r,i,s;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var a=rh(o),l=a.next();!l.done;l=a.next()){var c=l.value;c.remove(this)}}catch(E){e={error:E}}finally{try{l&&!l.done&&(t=a.return)&&t.call(a)}finally{if(e)throw e.error}}else o.remove(this);var d=this.initialTeardown;if(Mo(d))try{d()}catch(E){s=E instanceof D_?E.errors:[E]}var h=this._finalizers;if(h){this._finalizers=null;try{for(var p=rh(h),m=p.next();!m.done;m=p.next()){var v=m.value;try{MR(v)}catch(E){s=s??[],E instanceof D_?s=n0(n0([],ih(s)),ih(E.errors)):s.push(E)}}}catch(E){r={error:E}}finally{try{m&&!m.done&&(i=p.return)&&i.call(p)}finally{if(r)throw r.error}}}if(s)throw new D_(s)}},n.prototype.add=function(e){var t;if(e&&e!==this)if(this.closed)MR(e);else{if(e instanceof n){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(t=this._finalizers)!==null&&t!==void 0?t:[]).push(e)}},n.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},n.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},n.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&Y1(t,e)},n.prototype.remove=function(e){var t=this._finalizers;t&&Y1(t,e),e instanceof n&&e._removeParent(this)},n.EMPTY=function(){var e=new n;return e.closed=!0,e}(),n}(),n3=Q0.EMPTY;function r3(n){return n instanceof Q0||n&&"closed"in n&&Mo(n.remove)&&Mo(n.add)&&Mo(n.unsubscribe)}function MR(n){Mo(n)?n():n.unsubscribe()}var i3={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Q1={setTimeout:function(n,e){for(var t=[],r=2;r<arguments.length;r++)t[r-2]=arguments[r];var i=Q1.delegate;return i!=null&&i.setTimeout?i.setTimeout.apply(i,n0([n,e],ih(t))):setTimeout.apply(void 0,n0([n,e],ih(t)))},clearTimeout:function(n){var e=Q1.delegate;return((e==null?void 0:e.clearTimeout)||clearTimeout)(n)},delegate:void 0};function FK(n){Q1.setTimeout(function(){throw n})}function TR(){}function gg(n){n()}var s3=function(n){Y0(e,n);function e(t){var r=n.call(this)||this;return r.isStopped=!1,t?(r.destination=t,r3(t)&&t.add(r)):r.destination=zK,r}return e.create=function(t,r,i){return new Z1(t,r,i)},e.prototype.next=function(t){this.isStopped||this._next(t)},e.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,n.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){try{this.destination.error(t)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(Q0),NK=Function.prototype.bind;function O_(n,e){return NK.call(n,e)}var UK=function(){function n(e){this.partialObserver=e}return n.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(r){jm(r)}},n.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(r){jm(r)}else jm(e)},n.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(t){jm(t)}},n}(),Z1=function(n){Y0(e,n);function e(t,r,i){var s=n.call(this)||this,o;if(Mo(t)||!t)o={next:t??void 0,error:r??void 0,complete:i??void 0};else{var a;s&&i3.useDeprecatedNextContext?(a=Object.create(t),a.unsubscribe=function(){return s.unsubscribe()},o={next:t.next&&O_(t.next,a),error:t.error&&O_(t.error,a),complete:t.complete&&O_(t.complete,a)}):o=t}return s.destination=new UK(o),s}return e}(s3);function jm(n){FK(n)}function kK(n){throw n}var zK={closed:!0,next:TR,error:kK,complete:TR},HK=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function GK(n){return n}function VK(n){return n.length===0?GK:n.length===1?n[0]:function(t){return n.reduce(function(r,i){return i(r)},t)}}var bR=function(){function n(e){e&&(this._subscribe=e)}return n.prototype.lift=function(e){var t=new n;return t.source=this,t.operator=e,t},n.prototype.subscribe=function(e,t,r){var i=this,s=$K(e)?e:new Z1(e,t,r);return gg(function(){var o=i,a=o.operator,l=o.source;s.add(a?a.call(s,l):l?i._subscribe(s):i._trySubscribe(s))}),s},n.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},n.prototype.forEach=function(e,t){var r=this;return t=CR(t),new t(function(i,s){var o=new Z1({next:function(a){try{e(a)}catch(l){s(l),o.unsubscribe()}},error:s,complete:i});r.subscribe(o)})},n.prototype._subscribe=function(e){var t;return(t=this.source)===null||t===void 0?void 0:t.subscribe(e)},n.prototype[HK]=function(){return this},n.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return VK(e)(this)},n.prototype.toPromise=function(e){var t=this;return e=CR(e),new e(function(r,i){var s;t.subscribe(function(o){return s=o},function(o){return i(o)},function(){return r(s)})})},n.create=function(e){return new n(e)},n}();function CR(n){var e;return(e=n??i3.Promise)!==null&&e!==void 0?e:Promise}function WK(n){return n&&Mo(n.next)&&Mo(n.error)&&Mo(n.complete)}function $K(n){return n&&n instanceof s3||WK(n)&&r3(n)}var XK=t3(function(n){return function(){n(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),jK=function(n){Y0(e,n);function e(){var t=n.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return e.prototype.lift=function(t){var r=new RR(this,this);return r.operator=t,r},e.prototype._throwIfClosed=function(){if(this.closed)throw new XK},e.prototype.next=function(t){var r=this;gg(function(){var i,s;if(r._throwIfClosed(),!r.isStopped){r.currentObservers||(r.currentObservers=Array.from(r.observers));try{for(var o=rh(r.currentObservers),a=o.next();!a.done;a=o.next()){var l=a.value;l.next(t)}}catch(c){i={error:c}}finally{try{a&&!a.done&&(s=o.return)&&s.call(o)}finally{if(i)throw i.error}}}})},e.prototype.error=function(t){var r=this;gg(function(){if(r._throwIfClosed(),!r.isStopped){r.hasError=r.isStopped=!0,r.thrownError=t;for(var i=r.observers;i.length;)i.shift().error(t)}})},e.prototype.complete=function(){var t=this;gg(function(){if(t._throwIfClosed(),!t.isStopped){t.isStopped=!0;for(var r=t.observers;r.length;)r.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var t;return((t=this.observers)===null||t===void 0?void 0:t.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(t){return this._throwIfClosed(),n.prototype._trySubscribe.call(this,t)},e.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},e.prototype._innerSubscribe=function(t){var r=this,i=this,s=i.hasError,o=i.isStopped,a=i.observers;return s||o?n3:(this.currentObservers=null,a.push(t),new Q0(function(){r.currentObservers=null,Y1(a,t)}))},e.prototype._checkFinalizedStatuses=function(t){var r=this,i=r.hasError,s=r.thrownError,o=r.isStopped;i?t.error(s):o&&t.complete()},e.prototype.asObservable=function(){var t=new bR;return t.source=this,t},e.create=function(t,r){return new RR(t,r)},e}(bR),RR=function(n){Y0(e,n);function e(t,r){var i=n.call(this)||this;return i.destination=t,i.source=r,i}return e.prototype.next=function(t){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.next)===null||i===void 0||i.call(r,t)},e.prototype.error=function(t){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.error)===null||i===void 0||i.call(r,t)},e.prototype.complete=function(){var t,r;(r=(t=this.destination)===null||t===void 0?void 0:t.complete)===null||r===void 0||r.call(t)},e.prototype._subscribe=function(t){var r,i;return(i=(r=this.source)===null||r===void 0?void 0:r.subscribe(t))!==null&&i!==void 0?i:n3},e}(jK);const rl={"@":"viseme_sil",sil:"viseme_sil",p:"viseme_PP",b:"viseme_PP",m:"viseme_PP",f:"viseme_FF",v:"viseme_FF",T:"viseme_TH",dh:"viseme_TH",t:"viseme_DD",d:"viseme_DD",k:"viseme_kk",g:"viseme_kk",ng:"viseme_kk",ch:"viseme_CH",j:"viseme_CH",s:"viseme_SS",z:"viseme_SS",sh:"viseme_SS",zh:"viseme_SS",n:"viseme_nn",r:"viseme_RR",er:"viseme_RR",a:"viseme_aa",aa:"viseme_aa",ax:"viseme_aa",ah:"viseme_aa",ae:"viseme_E",ey:"viseme_E",eh:"viseme_E",ih:"viseme_I",ix:"viseme_I",aw:"viseme_O",ow:"viseme_O",ao:"viseme_O",oy:"viseme_O",uw:"viseme_U",uh:"viseme_U",w:"viseme_U",y:"viseme_U",o:"viseme_O",e:"viseme_E",S:"viseme_SS",u:"viseme_U",E:"viseme_E",i:"viseme_I"};function JK(n){const{startListening:e,headFollow:t,smoothMorphTarget:r,morphTargetSmoothing:i}=OK({startListening:!!n.startListening,headFollow:!0,smoothMorphTarget:!0,morphTargetSmoothing:.25}),[s,o]=D.useState([]),[a,l]=D.useState(Date.now());D.useEffect(()=>{if(e){const m=n.subject.subscribe({next(v){if(!(v.data instanceof Blob)){const E=JSON.parse(v.data);E.type==="translated"?console.log("translation:",E.content):E.type==="original"?console.log("transcription:",E.content):E.type==="lipSync"&&(o(E.visemes),l(Date.now()))}}});return()=>{m.unsubscribe()}}},[e]),$g(()=>{const p=Date.now()-a,m={visemes:s};Object.values(rl).forEach(v=>{r?(c.Wolf3D_Head.morphTargetInfluences[c.Wolf3D_Head.morphTargetDictionary[v]]=qc.lerp(c.Wolf3D_Head.morphTargetInfluences[c.Wolf3D_Head.morphTargetDictionary[v]],0,i),c.Wolf3D_Teeth.morphTargetInfluences[c.Wolf3D_Teeth.morphTargetDictionary[v]]=qc.lerp(c.Wolf3D_Teeth.morphTargetInfluences[c.Wolf3D_Teeth.morphTargetDictionary[v]],0,i)):(c.Wolf3D_Head.morphTargetInfluences[c.Wolf3D_Head.morphTargetDictionary[v]]=0,c.Wolf3D_Teeth.morphTargetInfluences[c.Wolf3D_Teeth.morphTargetDictionary[v]]=0)});for(let v=0;v<m.visemes.length;v++){const E=m.visemes[v];if(p>=E.time&&p<=E.time+100){r?(c.Wolf3D_Head.morphTargetInfluences[c.Wolf3D_Head.morphTargetDictionary[rl[E.value]]]=qc.lerp(c.Wolf3D_Head.morphTargetInfluences[c.Wolf3D_Head.morphTargetDictionary[rl[E.value]]],1,i),c.Wolf3D_Teeth.morphTargetInfluences[c.Wolf3D_Teeth.morphTargetDictionary[rl[E.value]]]=qc.lerp(c.Wolf3D_Teeth.morphTargetInfluences[c.Wolf3D_Teeth.morphTargetDictionary[rl[E.value]]],1,i)):(c.Wolf3D_Head.morphTargetInfluences[c.Wolf3D_Head.morphTargetDictionary[rl[E.value]]]=1,c.Wolf3D_Teeth.morphTargetInfluences[c.Wolf3D_Teeth.morphTargetDictionary[rl[E.value]]]=1);break}}});const{nodes:c,materials:d}=V0("/models/646d9dcdc8a5f5bddbfac913.glb"),h=D.useRef();return $g(p=>{t&&h.current.getObjectByName("Head").lookAt(p.camera.position)}),F_("group",{...n,dispose:null,ref:h,children:[Or("primitive",{object:c.Hips}),Or("skinnedMesh",{geometry:c.Wolf3D_Body.geometry,material:d.Wolf3D_Body,skeleton:c.Wolf3D_Body.skeleton}),Or("skinnedMesh",{geometry:c.Wolf3D_Outfit_Bottom.geometry,material:d.Wolf3D_Outfit_Bottom,skeleton:c.Wolf3D_Outfit_Bottom.skeleton}),Or("skinnedMesh",{geometry:c.Wolf3D_Outfit_Footwear.geometry,material:d.Wolf3D_Outfit_Footwear,skeleton:c.Wolf3D_Outfit_Footwear.skeleton}),Or("skinnedMesh",{geometry:c.Wolf3D_Outfit_Top.geometry,material:d.Wolf3D_Outfit_Top,skeleton:c.Wolf3D_Outfit_Top.skeleton}),Or("skinnedMesh",{geometry:c.Wolf3D_Hair.geometry,material:d.Wolf3D_Hair,skeleton:c.Wolf3D_Hair.skeleton}),Or("skinnedMesh",{name:"EyeLeft",geometry:c.EyeLeft.geometry,material:d.Wolf3D_Eye,skeleton:c.EyeLeft.skeleton,morphTargetDictionary:c.EyeLeft.morphTargetDictionary,morphTargetInfluences:c.EyeLeft.morphTargetInfluences}),Or("skinnedMesh",{name:"EyeRight",geometry:c.EyeRight.geometry,material:d.Wolf3D_Eye,skeleton:c.EyeRight.skeleton,morphTargetDictionary:c.EyeRight.morphTargetDictionary,morphTargetInfluences:c.EyeRight.morphTargetInfluences}),Or("skinnedMesh",{name:"Wolf3D_Head",geometry:c.Wolf3D_Head.geometry,material:d.Wolf3D_Skin,skeleton:c.Wolf3D_Head.skeleton,morphTargetDictionary:c.Wolf3D_Head.morphTargetDictionary,morphTargetInfluences:c.Wolf3D_Head.morphTargetInfluences}),Or("skinnedMesh",{name:"Wolf3D_Teeth",geometry:c.Wolf3D_Teeth.geometry,material:d.Wolf3D_Teeth,skeleton:c.Wolf3D_Teeth.skeleton,morphTargetDictionary:c.Wolf3D_Teeth.morphTargetDictionary,morphTargetInfluences:c.Wolf3D_Teeth.morphTargetInfluences})]})}V0.preload("/models/646d9dcdc8a5f5bddbfac913.glb");const oY=n=>{const e=ZA("textures/youtubeBackground.jpg"),t=Qr(r=>r.viewport);return F_(_O,{children:[Or(aV,{enabled:n.orbitControl}),Or(JK,{position:[0,-3,5],scale:2,subject:n.subject,startListening:n.startListening}),Or(hV,{preset:"sunset"}),F_("mesh",{children:[Or("planeGeometry",{args:[t.width,t.height]}),Or("meshBasicMaterial",{map:e})]})]})};export{RR as A,QK as C,oY as E,BK as L,bR as O,Q as R,s3 as S,Y0 as _,jK as a,iY as b,tf as c,V1 as d,rh as e,ef as f,sY as g,tR as h,Mo as i,Q0 as j,Or as k,F_ as l,D as m,eM as n,HK as o,FK as r};
static/assets/{avatar-2909902a.js β†’ avatar-2d784853.js} RENAMED
@@ -1 +1 @@
1
- import{a as v,n as t,l as m,R as _,k as i,L as n,C as o,E as r}from"./Experience-24a16945.js";function c(s){const e=new v;return t.createRoot(s).render(m(_.StrictMode,{children:[i(n,{hidden:!0}),m(o,{shadows:!0,camera:{position:[0,.5,8],fov:21},children:[i("color",{attach:"background",args:["#ececec"]}),i(r,{orbitControl:!1,subject:e,startListening:!0})]})]})),e}const u=c(document.getElementById("root")),a={"@":"viseme_sil",sil:"viseme_sil",p:"viseme_PP",b:"viseme_PP",m:"viseme_PP",f:"viseme_FF",v:"viseme_FF",T:"viseme_TH",dh:"viseme_TH",t:"viseme_DD",d:"viseme_DD",k:"viseme_kk",g:"viseme_kk",ng:"viseme_kk",ch:"viseme_CH",j:"viseme_CH",s:"viseme_SS",z:"viseme_SS",sh:"viseme_SS",zh:"viseme_SS",n:"viseme_nn",r:"viseme_RR",er:"viseme_RR",a:"viseme_aa",aa:"viseme_aa",ax:"viseme_aa",ah:"viseme_aa",ae:"viseme_E",ey:"viseme_E",eh:"viseme_E",ih:"viseme_I",ix:"viseme_I",aw:"viseme_O",ow:"viseme_O",ao:"viseme_O",oy:"viseme_O",uw:"viseme_U",uh:"viseme_U",w:"viseme_U",y:"viseme_U",o:"viseme_O",e:"viseme_E",S:"viseme_SS",u:"viseme_U",E:"viseme_E",i:"viseme_I"};async function h(s){return new Promise(e=>setTimeout(e,s))}async function d(){for(;;){const s=Object.keys(a)[Math.floor(Math.random()*Object.keys(a).length)],e=JSON.stringify({visemes:[{value:s,time:50}]});u.next({data:e}),await h(200)}}d();
 
1
+ import{a as v,n as t,l as m,R as _,k as i,L as n,C as o,E as r}from"./Experience-f42a3bd5.js";function c(s){const e=new v;return t.createRoot(s).render(m(_.StrictMode,{children:[i(n,{hidden:!0}),m(o,{shadows:!0,camera:{position:[0,.5,8],fov:21},children:[i("color",{attach:"background",args:["#ececec"]}),i(r,{orbitControl:!1,subject:e,startListening:!0})]})]})),e}const u=c(document.getElementById("root")),a={"@":"viseme_sil",sil:"viseme_sil",p:"viseme_PP",b:"viseme_PP",m:"viseme_PP",f:"viseme_FF",v:"viseme_FF",T:"viseme_TH",dh:"viseme_TH",t:"viseme_DD",d:"viseme_DD",k:"viseme_kk",g:"viseme_kk",ng:"viseme_kk",ch:"viseme_CH",j:"viseme_CH",s:"viseme_SS",z:"viseme_SS",sh:"viseme_SS",zh:"viseme_SS",n:"viseme_nn",r:"viseme_RR",er:"viseme_RR",a:"viseme_aa",aa:"viseme_aa",ax:"viseme_aa",ah:"viseme_aa",ae:"viseme_E",ey:"viseme_E",eh:"viseme_E",ih:"viseme_I",ix:"viseme_I",aw:"viseme_O",ow:"viseme_O",ao:"viseme_O",oy:"viseme_O",uw:"viseme_U",uh:"viseme_U",w:"viseme_U",y:"viseme_U",o:"viseme_O",e:"viseme_E",S:"viseme_SS",u:"viseme_U",E:"viseme_E",i:"viseme_I"};async function h(s){return new Promise(e=>setTimeout(e,s))}async function d(){for(;;){const s=Object.keys(a)[Math.floor(Math.random()*Object.keys(a).length)],e=JSON.stringify({visemes:[{value:s,time:50}]});u.next({data:e}),await h(200)}}d();
static/assets/{index-d899befb.js β†’ index-49498a48.js} RENAMED
The diff for this file is too large to render. See raw diff
 
static/avatar.html CHANGED
@@ -6,8 +6,8 @@
6
  <link rel="icon" type="image/svg+xml" href="/vite.svg" />
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
8
  <title>Vite + React</title>
9
- <script type="module" crossorigin src="/assets/avatar-2909902a.js"></script>
10
- <link rel="modulepreload" crossorigin href="/assets/Experience-24a16945.js">
11
  </head>
12
 
13
  <body>
 
6
  <link rel="icon" type="image/svg+xml" href="/vite.svg" />
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
8
  <title>Vite + React</title>
9
+ <script type="module" crossorigin src="/assets/avatar-2d784853.js"></script>
10
+ <link rel="modulepreload" crossorigin href="/assets/Experience-f42a3bd5.js">
11
  </head>
12
 
13
  <body>
static/index.html CHANGED
@@ -5,8 +5,8 @@
5
  <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
  <title>Vite + React</title>
8
- <script type="module" crossorigin src="/assets/index-d899befb.js"></script>
9
- <link rel="modulepreload" crossorigin href="/assets/Experience-24a16945.js">
10
  <link rel="stylesheet" href="/assets/index-983f9492.css">
11
  </head>
12
  <body>
 
5
  <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
  <title>Vite + React</title>
8
+ <script type="module" crossorigin src="/assets/index-49498a48.js"></script>
9
+ <link rel="modulepreload" crossorigin href="/assets/Experience-f42a3bd5.js">
10
  <link rel="stylesheet" href="/assets/index-983f9492.css">
11
  </head>
12
  <body>
whisper/Cargo.lock CHANGED
@@ -279,12 +279,6 @@ version = "2.1.0"
279
  source = "registry+https://github.com/rust-lang/crates.io-index"
280
  checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
281
 
282
- [[package]]
283
- name = "itoa"
284
- version = "1.0.9"
285
- source = "registry+https://github.com/rust-lang/crates.io-index"
286
- checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
287
-
288
  [[package]]
289
  name = "lazy_static"
290
  version = "1.4.0"
@@ -546,12 +540,6 @@ dependencies = [
546
  "windows-sys 0.48.0",
547
  ]
548
 
549
- [[package]]
550
- name = "ryu"
551
- version = "1.0.15"
552
- source = "registry+https://github.com/rust-lang/crates.io-index"
553
- checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
554
-
555
  [[package]]
556
  name = "serde"
557
  version = "1.0.193"
@@ -572,17 +560,6 @@ dependencies = [
572
  "syn 2.0.39",
573
  ]
574
 
575
- [[package]]
576
- name = "serde_json"
577
- version = "1.0.108"
578
- source = "registry+https://github.com/rust-lang/crates.io-index"
579
- checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
580
- dependencies = [
581
- "itoa",
582
- "ryu",
583
- "serde",
584
- ]
585
-
586
  [[package]]
587
  name = "sharded-slab"
588
  version = "0.1.7"
@@ -852,7 +829,6 @@ dependencies = [
852
  "lazy_static",
853
  "once_cell",
854
  "serde",
855
- "serde_json",
856
  "tokio",
857
  "tracing",
858
  "tracing-test",
 
279
  source = "registry+https://github.com/rust-lang/crates.io-index"
280
  checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
281
 
 
 
 
 
 
 
282
  [[package]]
283
  name = "lazy_static"
284
  version = "1.4.0"
 
540
  "windows-sys 0.48.0",
541
  ]
542
 
 
 
 
 
 
 
543
  [[package]]
544
  name = "serde"
545
  version = "1.0.193"
 
560
  "syn 2.0.39",
561
  ]
562
 
 
 
 
 
 
 
 
 
 
 
 
563
  [[package]]
564
  name = "sharded-slab"
565
  version = "0.1.7"
 
829
  "lazy_static",
830
  "once_cell",
831
  "serde",
 
832
  "tokio",
833
  "tracing",
834
  "tracing-test",