@norbert_bodziony/bloub 0.6.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import{A as e,B as t,G as n,H as r,I as i,J as a,K as o,M as s,R as c,T as l,U as u,W as d,X as f,Y as p,k as m,q as h,t as ee}from"./chunks/BloubBot-server-V9r0a_k-.js";import{escape as g,memo as _,mergeProps as v,scope as y,ssr as b,ssrAttribute as x,ssrGroup as S,ssrHydrationKey as C,ssrStyle as w,ssrStyleProperty as T}from"@solidjs/web";import{For as E,Show as D,createEffect as O,createMemo as k,createSignal as A,createUniqueId as j,onCleanup as M,untrack as N}from"solid-js";var P={"boule.webp":new URL(`./assets/boule.webp`,import.meta.url).href,"cloe-corps.webp":new URL(`./assets/cloe-corps.webp`,import.meta.url).href,"cloe-oeil0-x.webp":new URL(`./assets/cloe-oeil0-x.webp`,import.meta.url).href,"cloe-oeil0-y.webp":new URL(`./assets/cloe-oeil0-y.webp`,import.meta.url).href,"cloe-oeil1-x.webp":new URL(`./assets/cloe-oeil1-x.webp`,import.meta.url).href,"cloe-oeil1-y.webp":new URL(`./assets/cloe-oeil1-y.webp`,import.meta.url).href,"forme-capsule.webp":new URL(`./assets/forme-capsule.webp`,import.meta.url).href,"forme-carre.webp":new URL(`./assets/forme-carre.webp`,import.meta.url).href,"forme-cercle.webp":new URL(`./assets/forme-cercle.webp`,import.meta.url).href,"forme-galet.webp":new URL(`./assets/forme-galet.webp`,import.meta.url).href,"forme-goutte.webp":new URL(`./assets/forme-goutte.webp`,import.meta.url).href,"forme-hexagone.webp":new URL(`./assets/forme-hexagone.webp`,import.meta.url).href,"forme-losange.webp":new URL(`./assets/forme-losange.webp`,import.meta.url).href,"forme-nuage.webp":new URL(`./assets/forme-nuage.webp`,import.meta.url).href,"forme-pentagone.webp":new URL(`./assets/forme-pentagone.webp`,import.meta.url).href,"forme-squircle.webp":new URL(`./assets/forme-squircle.webp`,import.meta.url).href,"forme-triangle.webp":new URL(`./assets/forme-triangle.webp`,import.meta.url).href,"fred-corps.webp":new URL(`./assets/fred-corps.webp`,import.meta.url).href,"fred-oeil0-x.webp":new URL(`./assets/fred-oeil0-x.webp`,import.meta.url).href,"fred-oeil0-y.webp":new URL(`./assets/fred-oeil0-y.webp`,import.meta.url).href,"fred-oeil1-x.webp":new URL(`./assets/fred-oeil1-x.webp`,import.meta.url).href,"fred-oeil1-y.webp":new URL(`./assets/fred-oeil1-y.webp`,import.meta.url).href,"malu-corps.webp":new URL(`./assets/malu-corps.webp`,import.meta.url).href,"malu-oeil0-x.webp":new URL(`./assets/malu-oeil0-x.webp`,import.meta.url).href,"malu-oeil0-y.webp":new URL(`./assets/malu-oeil0-y.webp`,import.meta.url).href,"malu-oeil1-x.webp":new URL(`./assets/malu-oeil1-x.webp`,import.meta.url).href,"malu-oeil1-y.webp":new URL(`./assets/malu-oeil1-y.webp`,import.meta.url).href,"nexo-corps.webp":new URL(`./assets/nexo-corps.webp`,import.meta.url).href,"nexo-oeil0-x.webp":new URL(`./assets/nexo-oeil0-x.webp`,import.meta.url).href,"nexo-oeil0-y.webp":new URL(`./assets/nexo-oeil0-y.webp`,import.meta.url).href,"nexo-oeil1-x.webp":new URL(`./assets/nexo-oeil1-x.webp`,import.meta.url).href,"nexo-oeil1-y.webp":new URL(`./assets/nexo-oeil1-y.webp`,import.meta.url).href,"vita-corps.webp":new URL(`./assets/vita-corps.webp`,import.meta.url).href,"vita-oeil0-x.webp":new URL(`./assets/vita-oeil0-x.webp`,import.meta.url).href,"vita-oeil0-y.webp":new URL(`./assets/vita-oeil0-y.webp`,import.meta.url).href,"vita-oeil1-x.webp":new URL(`./assets/vita-oeil1-x.webp`,import.meta.url).href,"vita-oeil1-y.webp":new URL(`./assets/vita-oeil1-y.webp`,import.meta.url).href,"yoshi-corps.webp":new URL(`./assets/yoshi-corps.webp`,import.meta.url).href,"yoshi-oeil0-x.webp":new URL(`./assets/yoshi-oeil0-x.webp`,import.meta.url).href,"yoshi-oeil0-y.webp":new URL(`./assets/yoshi-oeil0-y.webp`,import.meta.url).href,"yoshi-oeil1-x.webp":new URL(`./assets/yoshi-oeil1-x.webp`,import.meta.url).href,"yoshi-oeil1-y.webp":new URL(`./assets/yoshi-oeil1-y.webp`,import.meta.url).href},F=[`cercle`,`galet`,`squircle`,`capsule`,`triangle`,`hexagone`,`nuage`,`goutte`,`carre`,`losange`,`pentagone`],te=[`idle`,`wink`,`wide`,`thinking`,`notify`,`asleep`,`failed`],I=(e,t,n=0)=>({w:e,h:t,tilt:n,open:1}),ne={nexo:[[.8463031722054379,1.1432813538461537,.035,-.065],[.8463031722054379,1.1432813538461537,-.015,-.058]],vita:[[1.1065201648485468,1.3715440577454037,.034055756216271146,-.05281578999623958],[.9879326262863181,.704834060505008,-.026029860323685244,-.05510519721699535]],cloe:[[.7330933320692096,.5707016106480031,.024552162164021694,-.038398427223289566],[.7626944185432071,.5431152830931956,-.041541687753233185,-.03950575553898529]],malu:[[1.0586630508735577,1.201687371851717,.009231984564124829,-.0044476764477897265],[.8266234890168364,.8621901641452211,-.026116871314858032,.0003016649469345866]],yoshi:[[.8527194256418902,.7757119056093287,.03916727618687797,.007869041986432974],[.8797267768823489,.7829079218623657,-.028381687537700435,.012892774756514975]],fred:[[1.7586780224155572,1.667393362265376,.039353114938410254,-.035566855454058126],[1.8556643796915675,1.6423739844251715,-.055407781997306026,-.03778285688705488]]},L=(e,t,n,[r,i,a,o])=>{let s=Math.min(n.w,n.h),c=n.w>n.h?n.w-s:0,l=n.h>n.w?n.h-s:0,u=`${e}-oeil${t}`;return{file:`${u}-x.webp`,images:{x:`${u}-x.webp`,y:`${u}-y.webp`},court:s,kw:(r-c)/s,kh:(i-l)/s,dx:a,dy:o}};function R(e,t,n,r,i,a,o,s=0){let[c,l]=ne[e];return{id:e,shape:t,ink:n,body:`${e}-corps.webp`,pads:[L(e,0,i[0],c),L(e,1,i[1],l)],face:{id:`plush-${e}`,gaze:{yaw:a,pitch:o,roll:s},split:r,eyes:i}}}var z=[R(`nexo`,`squircle`,`#e45206`,16,[I(.205,.43,-28),I(.205,.43,35)],1,-7,-1),R(`vita`,`hexagone`,`#22c377`,17,[I(.27,.51,3),I(.49,.13,-4)],-4,5,8),R(`cloe`,`triangle`,`#df2986`,20,[I(.33,.12,28),I(.34,.11,-26)],3,16),R(`malu`,`cercle`,`#9a55ef`,15,[I(.23,.42,-3),I(.19,.18)],9,4,-8),R(`yoshi`,`capsule`,`#e94741`,18,[I(.3,.16,17),I(.31,.15,-18)],11,20,2),R(`fred`,`hexagone`,`#efb428`,21,[I(.46,.5),I(.48,.5)],7,-3)],re=new Map(z.map(e=>[e.id,e])),ie={...re.get(`fred`).pads[0],dx:0,dy:0},ae=e=>`forme-${e}.webp`,oe=`boule.webp`,se=[`flip`,`pop`,`warp`,`dissolve`,`cut`],B=`flip`,V=l.SHAPE_MORPH,ce=m.get(`notify`),H=e=>ce.pose(e).notif?.r??0,U=H(10),le=e=>H(e)/U,W=(()=>{for(let e=1;e<5e3;e++)if(H(e/1e3)===U&&H((e-1)/1e3)!==U)return e/1e3;return V})(),G=V/2,ue={cut:V,warp:V,dissolve:V,flip:V*2,pop:G+W},de={corps:`avant`,melange:0,sx:1,sy:1,bascule:!1,fini:!1},K={corps:`apres`,melange:1,sx:1,sy:1,bascule:!0,fini:!0};function fe(e,t){if(t<0)return de;let n=ue[e];if(t>=n)return K;let r=t/n;switch(e){case`cut`:return{...K,fini:!1};case`warp`:case`dissolve`:return{corps:`deux`,melange:p.easeOutQuint(r),sx:1,sy:1,bascule:!0,fini:!1};case`flip`:{let e=p.easeInOutCubic(r),t=e>=.5;return{corps:t?`apres`:`avant`,melange:+!!t,sx:Math.abs(Math.cos(Math.PI*e)),sy:1,bascule:t,fini:!1}}case`pop`:{if(t<G){let e=1-p.easeInOutCubic(t/G);return{corps:`avant`,melange:0,sx:e,sy:e,bascule:!1,fini:!1}}let e=t-G,n=p.easeOutQuint(a(e/W))*le(e);return{corps:`apres`,melange:1,sx:n,sy:n,bascule:!0,fini:!1}}}}function pe(e,t,n){let r=p.easeOutQuint(a(n/V));return t.map((t,n)=>f(e[n]??t,t,r))}var q=316,me=[`<image`,``,``,``,``,``,``,`></image>`],he=[`<foreignObject`,``,``,``,``,` style="`,`"><canvas`,``,` style="`,`"></canvas></foreignObject>`],ge=[`<filter`,``,` filterUnits="userSpaceOnUse" primitiveUnits="userSpaceOnUse"`,``,``,``,` color-interpolation-filters="sRGB"><feTurbulence type="fractalNoise" baseFrequency="0.05" numOctaves="4" seed="7"></feTurbulence><feColorMatrix type="matrix" values="1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1"></feColorMatrix><feComponentTransfer><feFuncR type="linear"`,``,`></feFuncR><feFuncG type="linear"`,``,`></feFuncG><feFuncB type="linear"`,``,`></feFuncB></feComponentTransfer></filter>`],_e=[`<mask`,``,` maskUnits="userSpaceOnUse"`,``,``,``,`><rect`,``,``,``,` filter="`,`"></rect></mask>`],ve=[`<defs`,`><!--$-->`,`<!--/--><!--$-->`,`<!--/--><!--$-->`,`<!--/--><!--$-->`,`<!--/--></defs>`],J=(e,t)=>D({when:e,children:e=>{var n,r;return n=C(),r=()=>x(`href`,g(e(),!0)),b(me,n,r,x(`x`,-158),x(`y`,-158),x(`width`,g(q,!0)),x(`height`,g(q,!0)),x(`mask`,t?`url(#${g(t,!0)})`:g(void 0,!0)))}});function ye(e){let t=()=>e.rendu().corps===`deux`,[n,r]=A(!1),i=()=>e.transition===`warp`&&t(),a=()=>e.transition===`dissolve`&&t();return[D({get when(){return i()},get children(){return be(v(e,{onPret:r}))}}),D({get when(){return a()},get children(){return Se({get passage(){return e.passage},melange:()=>e.rendu().melange})}}),D({get when(){return _(()=>!(i()&&n()))()&&!a()},get children(){return J(e.rendu().corps===`avant`?e.passage.avant.url:e.passage.apres.url)}})]}function be(e){let[t,n]=A(!1),r=Math.round((e.size??q)*(globalThis.devicePixelRatio||1)),i=()=>null,a=null;M(()=>{a?.detruit(),e.onPret(!1)}),O(()=>e.passage,t=>{a??=i();let{avant:r,apres:o}=t;!a||!r.url||!o.url||(n(!1),e.onPret(!1),a.corps(r.url,o.url).then(()=>{n(!0),e.onPret(!0)}))}),O(()=>{if(!t())return null;let n=e.passage;return{p:n,s:e.clock()-n.debut,melange:e.rendu().melange}},e=>{if(!e||!a)return;let{p:t,s:n,melange:r}=e;a.dessine(t.avant.radii,t.apres.radii,pe(t.avant.radii,t.apres.radii,n),r)});var o=C();return b(he,o,x(`x`,-158),x(`y`,-158),x(`width`,g(q,!0)),x(`height`,g(q,!0)),()=>T(`display:`,t()?`inline`:`none`),x(`width`,g(r,!0)),x(`height`,g(r,!0)),T(`width:`,`100%`)+T(`;height:`,`100%`)+T(`;display:`,`block`))}var xe=.12;function Se(e){var t,n,r,i,a;let o=j(),s=t=>{let n=e.melange(),r=-1/(.4*xe),i=(n*1.12+.75)/xe;return t?{pente:20.833333333333332,origine:1-i}:{pente:r,origine:i}},c=(e,t)=>{var n,r;return n=C(),r=S(()=>[x(`slope`,g(s(t).pente,!0)),x(`intercept`,g(s(t).origine,!0)),x(`slope`,g(s(t).pente,!0)),x(`intercept`,g(s(t).origine,!0)),x(`slope`,g(s(t).pente,!0)),x(`intercept`,g(s(t).origine,!0))],6),b(ge,n,x(`id`,g(e,!0)),x(`x`,-158),x(`y`,-158),x(`width`,g(q,!0)),x(`height`,g(q,!0)),r,r,r,r,r,r)},l=(e,t)=>{var n;return n=C(),b(_e,n,x(`id`,g(e,!0)),x(`x`,-158),x(`y`,-158),x(`width`,g(q,!0)),x(`height`,g(q,!0)),x(`x`,-158),x(`y`,-158),x(`width`,g(q,!0)),x(`height`,g(q,!0)),`url(#${g(t,!0)})`)};return[(t=C(),n=y(()=>g(c(`${o}-fa`,!0))),r=y(()=>g(c(`${o}-fb`,!1))),i=y(()=>g(l(`${o}-ma`,`${o}-fa`))),a=y(()=>g(l(`${o}-mb`,`${o}-fb`))),b(ve,t,n,r,i,a)),_(()=>g(J(e.passage.avant.url,`${o}-ma`))),_(()=>g(J(e.passage.apres.url,`${o}-mb`)))]}var Ce=.5;function we(e,t,n){let r=Math.min(t,n),i=t>=n,a=(Math.max(t,n)-r)/2,[o,s]=i?[e.kw*r,e.kh*r]:[e.kh*r,e.kw*r],c=Ce*r,l=o+2*c,u=(e,t,n,r)=>i?{src:`x`,x:e,y:-s/2,w:t-e,h:s,viewBox:`${n/l} 0 ${(r-n)/l} 1`}:{src:`y`,x:-s/2,y:e,w:s,h:t-e,viewBox:`0 ${n/l} 1 ${(r-n)/l}`},d=[],f=(e,t,n,r)=>{d.push(u(e,t,n,r)),d.push(u(-t,-e,l-r,l-n))},p=Math.max(c,a/3);p===c?f(-a-o/2,Math.min(-a+c,0),0,o/2+Math.min(a,c)):f(-a-o/2,-a,0,o/2);for(let e=+(p===c);e*p<a-1e-9*r;e++){let t=-a+e*p,n=Math.min(t+p,0),r=o/2+e%2*c;f(t,n,r,r+(n-t)/p*c)}return d}function Te(e){let t=0,n=0;for(let r of e)t=Math.max(t,Math.abs(r.x),Math.abs(r.x+r.w)),n=Math.max(n,Math.abs(r.y),Math.abs(r.y+r.h));return{x:t,y:n}}var Ee=e=>e===`thinking`||e===`asleep`||e===`failed`?`idle`:e,Y=e=>m.get(e===`asleep`?`sleep`:e===`failed`?`idle`:e).morph,De={yaw:0,pitch:0,mix:0,spin:0,wander:.4},Oe={yaw:18,pitch:22,mix:1,spin:0,wander:.4},ke={yaw:0,pitch:0,mix:0,spin:0,wander:.15,blink:0},Ae=e=>e===`thinking`?Oe:e===`asleep`?ke:De,je=(e,t,n)=>({yaw:f(e.yaw,t.yaw,n),pitch:f(e.pitch,t.pitch,n),mix:f(e.mix,t.mix,n),spin:f(e.spin,t.spin,n),wander:f(e.wander,t.wander,n),...e.blink===void 0&&t.blink===void 0?{}:{blink:f(e.blink??1,t.blink??1,n)}}),Me=(e,t,n)=>r=>je(e,t,p.easeOutQuint(a(r/n))),Ne=.8,Pe=e=>e<=0||e>=.8?0:12*Math.sin(2*h*e/Ne)*Math.sin(Math.PI*e/Ne);function Fe(e,t){let n=Me(e,Ae(t),Y(t));return t===`failed`?e=>{let t=n(e);return{...t,spin:t.spin+Pe(e)}}:n}var Ie=t.get(`somnolent`),Le={w:.3,h:m.get(`wink`).pose(0).eyes[1].h,open:1,tilt:0},Re={id:`plush-asleep`,gaze:Ie.gaze,split:Ie.split,eyes:[{...Le},{...Le}]},ze=t.get(`triste`),Be=1.8,Ve=[.6,1.7],He=e=>+(e.eyes[1].w*e.eyes[1].h>e.eyes[0].w*e.eyes[0].h),Ue=new WeakMap;function We(e){let t=Ue.get(e);if(!t){let{w:n,h:r}=e.eyes[He(e)],i=n/r>Ve[0]&&n/r<Ve[1]?n/Be:r,a=e=>({w:n,h:i,tilt:ze.eyes[e].tilt,open:1});t={id:`${e.id}-failed`,gaze:{...ze.gaze},split:e.split,eyes:[a(0),a(1)]},Ue.set(e,t)}return t}var Ge=new WeakMap;function Ke(e,t){let n=Ge.get(e);if(!n){let r=e[He(t)];n=[{...r,dx:e[0].dx,dy:e[0].dy},{...r,dx:e[1].dx,dy:e[1].dy}],Ge.set(e,n)}return n}var qe={from:null,at:-1/0,start:1},Je=(e,t)=>e.from?e.start+(1-e.start)*p.easeOutQuint(a((t-e.at)/l.SHAPE_MORPH)):1,Ye=(e,t,n)=>({from:t,at:n,start:1-Je(e,n)});function Xe(e,t){let n=e.map(()=>({x:0,y:0}));if(t===1||!e.length)return n;let r=0,i=0;for(let{m:t}of e)r+=(t[4]??0)/e.length,i+=(t[5]??0)/e.length;let a=Math.hypot(r,i);if(a<1e-6)return n;let o=r/a,s=i/a,c=-1/0;for(let{m:t,w:n,h:r}of e){let[e=1,i=0,a=0,l=1,u=0,d=0]=t,f=Math.hypot(n/2*(e*o+i*s),r/2*(a*o+l*s));c=Math.max(c,u*o+d*s+f)}let l=r+(c-a)*o,u=i+(c-a)*s;return e.map(({m:e})=>({x:(t-1)*((e[4]??0)-l),y:(t-1)*((e[5]??0)-u)}))}var Ze=e=>(e.match(/-?[\d.]+(?:e-?\d+)?/g)??[]).map(Number),Qe=30/205,$e=.1,et=r(0);function tt(e,t){if(t>=1)return;let[n=1,r=0,i=0,a=1]=e,o=r/t,s=a/t,c=n*a-r*i;return`matrix(${(a*n-i*o)/c},${(n*o-r*n)/c},${(a*i-i*s)/c},${(n*s-r*i)/c},0,0)`}function nt(e,t,n,r,i){if(n>=1)return{w:r,h:i};let[a=1,o=0,s=0,c=1]=e,l=o/t,u=c/t;return{w:r*Math.hypot(a,l*n)/Math.hypot(a,l),h:i*Math.hypot(s,u*n)/Math.hypot(s,u)}}function rt(e,t,n,r,i){if(t>=n)return null;let[,,,,o=0,s=0]=e,c=a((t-et)/(n-et)),l=Math.min(r.x,r.y),u=Qe*2*l,d=Math.max(u,Math.hypot(i.x-r.x+l,i.y-r.y+l)-l),f=u+c**8*(d-u),p=$e*2*l,m=[];for(let e=3;e>=0;e--){let t=f+p*e/4;m.push({w:r.x+t,h:r.y+t,r:l+t,alpha:1/(e+1)})}return{x:o,y:s,s:c,bands:m}}var it=(e,t)=>e===`asleep`?Re:e===`failed`?We(t):null,at=.62,ot=-1.3,st=.6,ct=.3,X={phase:0,at:-1/0,from:0,on:!1,exit:1};function Z(e,t){let n=t-e.at;return e.on?e.from+(1-e.from)*p.easeOutCubic(a(n/ct)):e.from*(1-p.easeOutQuint(a(n/e.exit)))}function lt(e,t,n,r){if(t===e.on)return e;let i=Z(e,n);return{phase:t&&i<.001?n:e.phase,at:n,from:i,on:t,exit:Y(r)}}function ut(t,r){let i=Z(t,r);return i<.001?[]:n.map((n,a)=>{let o=e(r-t.phase,a);return{x:at+n*st,y:ot,r:d*st*(1+(u-1)*o)*(.5+.5*i),opacity:i*(.55+.45*o)}})}var dt=3,ft={x:.55,y:-.74},pt={x:1.25,y:-1.38},mt=[.1,.2];function ht(e,t){let n=Z(e,t);if(n<.001)return[];let r=[];for(let i=0;i<dt;i++){let o=(((t-e.phase)/3-i/dt)%1+1)%1,s=a(o/.15)*a((1-o)/.45);s*n<.001||r.push({x:f(ft.x,pt.x,o)+Math.sin(o*h)*.04,y:f(ft.y,pt.y,o),size:f(mt[0],mt[1],o),opacity:s*n})}return r}var gt=[`<g`,``,``,`><!--$-->`,`<!--/--><!--$-->`,`<!--/--></g>`],_t=[`<g`,``,``,` style="`,`">`,`</g>`],vt=[`<svg`,``,``,``,``,``,` preserveAspectRatio="none" style="`,`"><image`,` width="1" height="1" preserveAspectRatio="none"></image></svg>`],yt=[`<g`,``,`><!--$-->`,`<!--/--><g`,``,`><!--$-->`,`<!--/--><!--$-->`,`<!--/--></g></g>`],bt=[`<g`,``,``,`><path d="`,`" fill="none" stroke="#1c1a1d"`,` stroke-linecap="round"`,`></path></g>`],xt=[`<mask`,``,`><g transform="`,`"><g`,`><g`,`>`,`</g></g></g></mask>`],St=[`<rect`,``,``,``,``,``,` fill="#fff"`,`></rect>`],Ct=[`<image`,``,``,``,``,``,``,`></image>`],wt=[`<path`,``,` fill="none"`,``,` stroke-linecap="round" stroke-linejoin="round"`,`></path>`],Tt=[`<image`,``,``,``,``,``,`></image>`],Q=.8,Et=.24,$=e=>Math.round(e*10)/10,Dt=.42,Ot=.2,kt=`mix-blend-mode:plus-lighter`,At=`isolation:isolate`;function jt(e){var t,n,r,i;let a=()=>e.context.frame(),o=k(()=>(a(),e.frozen?K:fe(e.transition,e.context.clock()-e.passage.debut)));O(()=>{let{bascule:e,fini:t}=o();return`${e}|${t}`},t=>{let[n,r]=t.split(`|`);e.onStep?.({bascule:n===`true`,fini:r===`true`})});let s=()=>{let{sx:e,sy:t}=o();return e===1&&t===1?void 0:`scale(${e},${t})`},c=k(()=>(a(),ut(e.dots,e.context.time()))),l=k(()=>(a(),ht(e.zs,e.context.time()))),u=k(()=>(a(),e.padFade?Je(e.padFade,e.context.clock()):1)),d=k(()=>(a(),Z(e.zs,e.context.time()))),f=k(()=>{let t=e.eyeScale??1;return t===1?null:Xe(a().eyes.map((t,n)=>{let r=e.pads[n]??e.pads[0],i=Ze(t.matrix);return i[4]=(i[4]??0)+r.dx*100,i[5]=(i[5]??0)+r.dy*100,{m:i,w:t.w,h:t.h}}),t)}),p=()=>e.eyeScale&&e.eyeScale!==1?` scale(${e.eyeScale})`:``;return[(t=C(),n=S(()=>[x(`opacity`,g(a().bodyAlpha,!0)),x(`transform`,g(s(),!0))],2),r=g(ye({get passage(){return e.passage},get transition(){return e.transition},rendu:o,get clock(){return e.context.clock},get size(){return e.size}})),i=g(E({get each(){return a().eyes},keyed:!1,children:(t,n)=>{var r,i,a,o,s,c,l,m;let h=()=>e.pads[n]??e.pads[0],ee=()=>{let t=e.padFade?.from,r=t?.[n]??t?.[0];return r&&r.file!==h().file&&u()<1?r:null},_=k(()=>Ze(t().matrix)),v=k(()=>nt(_(),t().open,t().rest,t().w,t().h)),T=k(()=>we(h(),v().w,v().h)),O=k(()=>tt(_(),t().open)),A=k(()=>{let e={x:v().w/2,y:v().h/2};return rt(_(),t().open,t().rest,e,Te(T()))}),j=`${e.context.uid}-paupiere-${n}`,M=()=>h().dx*100+(f()?.[n]?.x??0),N=()=>h().dy*100+(f()?.[n]?.y??0),P=(t,n,r)=>{let i=()=>n().length>1;var a=C(),o=S(()=>[x(`opacity`,r()<1?g(r(),!0):g(void 0,!0)),x(`transform`,g(O(),!0)),w(i()?At:void 0)],3),s=g(E({get each(){return n()},keyed:!1,children:n=>{var r,a;return r=C(),a=S(()=>[x(`x`,g(n().x,!0)),x(`y`,g(n().y,!0)),x(`width`,g(n().w,!0)),x(`height`,g(n().h,!0)),x(`viewBox`,g(n().viewBox,!0)),w(i()?kt:void 0),x(`href`,g(e.padHref(t().images[n().src]),!0))],7),b(vt,r,a,a,a,a,a,a,a)}}));return b(_t,a,o,o,o,s)},F=()=>`translate(${M()},${N()}) ${t().matrix}${p()}`;return[D({get when(){return d()<1},get children(){return r=C(),i=()=>x(`mask`,A()?`url(#${g(j,!0)})`:g(void 0,!0)),a=g(D({get when(){return A()},children:e=>{let t=()=>M()+e().x,n=()=>N()+e().y;var r=C(),i=S(()=>[`translate(${g(t(),!0)},${g(n(),!0)}) scale(1,${g(e().s,!0)}) translate(${-t()},${-n()})`,x(`transform`,g(F(),!0)),x(`transform`,g(O(),!0))],3),a=g(E({get each(){return e().bands},keyed:!1,children:e=>{var t,n;return t=C(),n=S(()=>[x(`x`,-e().w),x(`y`,-e().h),x(`width`,2*g(e().w,!0)),x(`height`,2*g(e().h,!0)),x(`rx`,g(e().r,!0)),x(`fill-opacity`,g(e().alpha,!0))],6),b(St,t,n,n,n,n,n,n)}}));return b(xt,r,x(`id`,g(j,!0)),i,i,i,a)}})),o=S(()=>[x(`transform`,g(F(),!0)),x(`opacity`,g(t().alpha,!0))],2),s=g(D({get when(){return ee()},children:e=>{let t=k(()=>we(e(),v().w,v().h));return P(e,t,()=>(1-d())*(1-u()))}})),c=y(()=>g(P(h,T,()=>(1-d())*(ee()?u():1)))),b(yt,r,i,a,o,o,s,c)}}),D({get when(){return d()>0},get children(){return l=C(),m=S(()=>[x(`transform`,g(F(),!0)),x(`opacity`,g(t().alpha,!0)),`M${g($(-t().w/2),!0)},0Q0,${g($(t().w*Dt),!0)} ${g($(t().w/2),!0)},0`,x(`stroke-width`,g($(t().w*Ot),!0)),x(`opacity`,g(d(),!0))],5),b(bt,l,m,m,m,m,m)}})]}})),b(gt,t,n,n,r,i)),D({get when(){return e.dot},children:e=>E({get each(){return c()},keyed:!1,children:t=>{var n,r;return n=C(),r=S(()=>[x(`href`,g(e(),!0)),x(`x`,(g(t().x,!0)-g(t().r,!0)/g(Q,!0))*g(100,!0)),x(`y`,(g(t().y,!0)-g(t().r,!0)/g(Q,!0))*g(100,!0)),x(`width`,2*g(t().r,!0)/g(Q,!0)*g(100,!0)),x(`height`,2*g(t().r,!0)/g(Q,!0)*g(100,!0)),x(`opacity`,g(t().opacity,!0))],6),b(Ct,n,r,r,r,r,r,r)}})}),E({get each(){return l()},keyed:!1,children:t=>{let n=()=>{let{x:e,y:n,size:r}=t(),i=r*100/2,a=e*100,o=n*100;return`M${$(a-i)},${$(o-i)}H${$(a+i)}L${$(a-i)},${$(o+i)}H${$(a+i)}`};var r=C(),i=S(()=>[x(`d`,g(n(),!0)),x(`stroke`,g(e.context.ink(),!0)),x(`stroke-width`,g($(t().size*100*Et),!0)),x(`opacity`,g(t().opacity,!0))],4);return b(wt,r,i,i,i,i)}}),D({get when(){return _(()=>!!e.notif)()?a().notif:null},children:t=>{var n,r;return n=C(),r=S(()=>[x(`href`,g(e.notif,!0)),x(`x`,g(t().x,!0)-g(t().r,!0)/g(Q,!0)),x(`y`,g(t().y,!0)-g(t().r,!0)/g(Q,!0)),x(`width`,2*g(t().r,!0)/g(Q,!0)),x(`height`,2*g(t().r,!0)/g(Q,!0))],5),b(Tt,n,r,r,r,r,r)}})]}var Mt=.55,Nt={gamma:.6,sheen:.08},Pt=e=>e<=.04045?e/12.92:((e+.055)/1.055)**2.4,Ft=e=>e<=.0031308?e*12.92:1.055*e**(1/2.4)-.055;function It(e){let t=Number.parseInt(e.slice(1),16);return[t>>16&255,t>>8&255,t&255]}function Lt(e,{gamma:t,sheen:n}=Nt){let r=It(e).map(e=>Pt(e/255)),i=Pt(Mt),a=new Uint8ClampedArray(768);for(let e=0;e<256;e++){let o=(Pt(e/255)/i)**t,s=n*Math.max(0,(e/255-Mt)/.44999999999999996)**2;for(let t=0;t<3;t++){let n=Math.min(1,r[t]*o);a[e*3+t]=Math.round(Ft(n+(1-n)*s)*255)}}return a}var Rt=new Map;function zt(e){return new Promise((t,n)=>{let r=new Image;r.crossOrigin=`anonymous`,r.onload=()=>t(r),r.onerror=()=>n(Error(`plush: image introuvable ${e}`)),r.src=e})}function Bt(e,t){let n=`${t.toLowerCase()} ${e}`,r=Rt.get(n);return r||(r=zt(e).then(e=>{let n=document.createElement(`canvas`);n.width=e.naturalWidth,n.height=e.naturalHeight;let r=n.getContext(`2d`,{willReadFrequently:!0});r.drawImage(e,0,0);let i=r.getImageData(0,0,n.width,n.height),a=Lt(t),o=i.data;for(let e=0;e<o.length;e+=4){let t=o[e]*3;o[e]=a[t],o[e+1]=a[t+1],o[e+2]=a[t+2]}return r.putImageData(i,0,0),new Promise(e=>n.toBlob(t=>e(t?URL.createObjectURL(t):n.toDataURL()),`image/webp`,.92))}),r.catch(()=>Rt.delete(n)),Rt.set(n,r)),r}var Vt=2.4;function Ht(e){let n=k(()=>e.character?re.get(e.character)??null:null),r=t=>e.assetBase?`${e.assetBase}${t}`:P[t]??``,a=k(()=>{let t=n();if(t)return t.ink;let r=e.color??`encre`;return s.get(r)?.hex??(/^#[0-9a-f]{6}$/i.test(r)?r:`#0a0a0c`)}),u=k(()=>n()?.shape??e.shape??`cercle`),d=t.get(c),f=()=>e.state??`idle`,p=()=>e.transition??`flip`,m=k(()=>{let e=n(),t=e?{url:r(e.body),hex:null}:{url:r(ae(u())),hex:a()};return{clef:`${t.hex??``}|${t.url}`,source:t,shape:u(),pads:e?.pads??[ie,ie],face:e?.face??null}}),h=e=>({url:e.url,radii:i.get(e.shape)?.radii??[]}),g=N(()=>{let{source:e,...t}=m();return{...t,url:null}}),[v,y]=A({avant:g,apres:g,debut:-1/0}),[b,x]=A(!0),S=null,C=!1,w=null;function T(t){let n=N(v);if(n.apres.clef===t.clef){S=null,y({avant:n.avant.clef===t.clef?t:n.avant,apres:t,debut:n.debut});return}if(C&&N(p)!==`cut`){S=t;return}if(S=null,!w||N(()=>e.frozenAt)!==void 0||n.apres.url===null||N(p)===`cut`){y({avant:t,apres:t,debut:-1/0}),x(!0);return}C=!0,w.hold(ue[N(p)]),y({avant:n.apres,apres:t,debut:w.clock()}),x(fe(N(p),0).bascule)}function E(e){x(e.bascule),e.fini&&(C=!1,S&&T(S))}let D=()=>{let e=v();return b()?e.apres:e.avant},j=k(()=>{let n=it(f(),D().face??d);if(n)return n;let r=e.expression;return r===void 0?D().face??d:typeof r==`string`?t.get(r)??d:r}),F=e=>e===`failed`?Ke(D().pads,D().face??d):D().pads,te=k(()=>F(f())),I=new Set;O(()=>D().pads.flatMap(e=>[r(e.images.x),r(e.images.y)]).join(`|`),e=>{if(!(typeof Image>`u`)){I.clear();for(let t of e.split(`|`)){if(!t)continue;let e=new Image;e.src=t,I.add(e)}}}),M(()=>I.clear());let ne=k(()=>{let e=v();return{avant:h(e.avant),apres:h(e.apres),debut:e.debut}}),[L,R]=A(null),[z,se]=A(null),B=!0;M(()=>{B=!1});function V(e,t){let n=0;O(()=>{let{url:t,hex:n}=e();return`${n??``}|${t}`},e=>{let[r,i]=e.split(`|`),a=++n;if(!r)return void t(i);typeof document>`u`||Bt(i,r).then(e=>B&&a===n&&t(e),()=>B&&a===n&&t(null))})}V(()=>m().source,e=>{let{source:t,...n}=N(m);T({...n,url:e})}),V(()=>({url:r(oe),hex:a()}),R),V(()=>({url:r(oe),hex:o}),se);let ce=Ae(N(f)),H=ce,U=e=>({run:t=>H=e(t)}),[le,W]=A(U(()=>ce));O(f,(e,t)=>{t!==void 0&&W(U(Fe(H,e)))});let[G,de]=A(N(f)===`thinking`?{...X,from:1,on:!0}:X),[K,pe]=A(N(f)===`asleep`?{...X,from:1,on:!0}:X),[q,me]=A(qe);O(f,(t,n)=>{if(!w||n===void 0||t===`failed`==(n===`failed`)||N(()=>e.frozenAt)!==void 0)return;let r=N(()=>F(n));me(e=>Ye(e,r,w.clock()))}),O(f,e=>{w&&(w.hold(Math.max(Y(e),e===`failed`?Ne:0,ct,l.SHAPE_MORPH)),de(t=>lt(t,e===`thinking`,w.clock(),e)),pe(t=>lt(t,e===`asleep`,w.clock(),e)))});let he=N(()=>[{state:Ee(f()),duration:Vt}]);return ee({get size(){return e.size},get shape(){return D().shape},get color(){return a()},get expression(){return j()},get state(){return Ee(f())},cycle:he,get fps(){return e.fps},get autoPause(){return e.autoPause},get paused(){return e.paused},get frozenAt(){return e.frozenAt},get follow(){return _(()=>!!e.follow)()?f()===`idle`||f()===`wink`||f()===`wide`||f()===`notify`:e.follow},get gaze(){return le().run},get initialPhase(){return e.initialPhase},get ariaLabel(){return e.ariaLabel??`Animated plush Bloub avatar`},get class(){return e.class},get style(){return e.style},layer:t=>(w=t,jt({context:t,get passage(){return ne()},get transition(){return p()},get frozen(){return e.frozenAt!==void 0},onStep:E,get size(){return e.size},get pads(){return te()},get eyeScale(){return e.eyeScale},get padFade(){return q()},padHref:r,get dot(){return L()},get notif(){return z()},get dots(){return G()},get zs(){return K()}}))})}export{B as DEFAULT_TRANSITION,z as PLUSH_CHARACTERS,re as PLUSH_CHARACTER_BY_ID,F as PLUSH_SHAPES,te as PLUSH_STATES,se as PLUSH_TRANSITIONS,Ht as PlushBot,Lt as tintRamp};
1
+ import{A as e,B as t,G as n,H as r,I as i,J as a,K as o,M as s,R as c,T as l,U as u,W as d,X as f,Y as p,k as m,q as h,t as ee}from"./chunks/BloubBot-server-V9r0a_k-.js";import{escape as g,memo as _,mergeProps as v,scope as y,ssr as b,ssrAttribute as x,ssrGroup as S,ssrHydrationKey as C,ssrStyle as w,ssrStyleProperty as T}from"@solidjs/web";import{For as E,Show as D,createEffect as O,createMemo as k,createSignal as A,createUniqueId as j,onCleanup as M,untrack as N}from"solid-js";var te={"boule.webp":new URL(`./assets/boule.webp`,import.meta.url).href,"cloe-corps.webp":new URL(`./assets/cloe-corps.webp`,import.meta.url).href,"cloe-oeil0-x.webp":new URL(`./assets/cloe-oeil0-x.webp`,import.meta.url).href,"cloe-oeil0-y.webp":new URL(`./assets/cloe-oeil0-y.webp`,import.meta.url).href,"cloe-oeil1-x.webp":new URL(`./assets/cloe-oeil1-x.webp`,import.meta.url).href,"cloe-oeil1-y.webp":new URL(`./assets/cloe-oeil1-y.webp`,import.meta.url).href,"forme-capsule.webp":new URL(`./assets/forme-capsule.webp`,import.meta.url).href,"forme-carre.webp":new URL(`./assets/forme-carre.webp`,import.meta.url).href,"forme-cercle.webp":new URL(`./assets/forme-cercle.webp`,import.meta.url).href,"forme-galet.webp":new URL(`./assets/forme-galet.webp`,import.meta.url).href,"forme-goutte.webp":new URL(`./assets/forme-goutte.webp`,import.meta.url).href,"forme-hexagone.webp":new URL(`./assets/forme-hexagone.webp`,import.meta.url).href,"forme-losange.webp":new URL(`./assets/forme-losange.webp`,import.meta.url).href,"forme-nuage.webp":new URL(`./assets/forme-nuage.webp`,import.meta.url).href,"forme-pentagone.webp":new URL(`./assets/forme-pentagone.webp`,import.meta.url).href,"forme-squircle.webp":new URL(`./assets/forme-squircle.webp`,import.meta.url).href,"forme-triangle.webp":new URL(`./assets/forme-triangle.webp`,import.meta.url).href,"fred-corps.webp":new URL(`./assets/fred-corps.webp`,import.meta.url).href,"fred-oeil0-x.webp":new URL(`./assets/fred-oeil0-x.webp`,import.meta.url).href,"fred-oeil0-y.webp":new URL(`./assets/fred-oeil0-y.webp`,import.meta.url).href,"fred-oeil1-x.webp":new URL(`./assets/fred-oeil1-x.webp`,import.meta.url).href,"fred-oeil1-y.webp":new URL(`./assets/fred-oeil1-y.webp`,import.meta.url).href,"malu-corps.webp":new URL(`./assets/malu-corps.webp`,import.meta.url).href,"malu-oeil0-x.webp":new URL(`./assets/malu-oeil0-x.webp`,import.meta.url).href,"malu-oeil0-y.webp":new URL(`./assets/malu-oeil0-y.webp`,import.meta.url).href,"malu-oeil1-x.webp":new URL(`./assets/malu-oeil1-x.webp`,import.meta.url).href,"malu-oeil1-y.webp":new URL(`./assets/malu-oeil1-y.webp`,import.meta.url).href,"nexo-corps.webp":new URL(`./assets/nexo-corps.webp`,import.meta.url).href,"nexo-oeil0-x.webp":new URL(`./assets/nexo-oeil0-x.webp`,import.meta.url).href,"nexo-oeil0-y.webp":new URL(`./assets/nexo-oeil0-y.webp`,import.meta.url).href,"nexo-oeil1-x.webp":new URL(`./assets/nexo-oeil1-x.webp`,import.meta.url).href,"nexo-oeil1-y.webp":new URL(`./assets/nexo-oeil1-y.webp`,import.meta.url).href,"vita-corps.webp":new URL(`./assets/vita-corps.webp`,import.meta.url).href,"vita-oeil0-x.webp":new URL(`./assets/vita-oeil0-x.webp`,import.meta.url).href,"vita-oeil0-y.webp":new URL(`./assets/vita-oeil0-y.webp`,import.meta.url).href,"vita-oeil1-x.webp":new URL(`./assets/vita-oeil1-x.webp`,import.meta.url).href,"vita-oeil1-y.webp":new URL(`./assets/vita-oeil1-y.webp`,import.meta.url).href,"yoshi-corps.webp":new URL(`./assets/yoshi-corps.webp`,import.meta.url).href,"yoshi-oeil0-x.webp":new URL(`./assets/yoshi-oeil0-x.webp`,import.meta.url).href,"yoshi-oeil0-y.webp":new URL(`./assets/yoshi-oeil0-y.webp`,import.meta.url).href,"yoshi-oeil1-x.webp":new URL(`./assets/yoshi-oeil1-x.webp`,import.meta.url).href,"yoshi-oeil1-y.webp":new URL(`./assets/yoshi-oeil1-y.webp`,import.meta.url).href},P=[`cercle`,`galet`,`squircle`,`capsule`,`triangle`,`hexagone`,`nuage`,`goutte`,`carre`,`losange`,`pentagone`],ne=[`idle`,`wink`,`wide`,`thinking`,`notify`,`asleep`,`failed`],F=(e,t,n=0)=>({w:e,h:t,tilt:n,open:1}),re={nexo:[[.8463031722054379,1.1432813538461537,.035,-.065],[.8463031722054379,1.1432813538461537,-.015,-.058]],vita:[[1.1065201648485468,1.3715440577454037,.034055756216271146,-.05281578999623958],[.9879326262863181,.704834060505008,-.026029860323685244,-.05510519721699535]],cloe:[[.7330933320692096,.5707016106480031,.024552162164021694,-.038398427223289566],[.7626944185432071,.5431152830931956,-.041541687753233185,-.03950575553898529]],malu:[[1.0586630508735577,1.201687371851717,.009231984564124829,-.0044476764477897265],[.8266234890168364,.8621901641452211,-.026116871314858032,.0003016649469345866]],yoshi:[[.8527194256418902,.7757119056093287,.03916727618687797,.007869041986432974],[.8797267768823489,.7829079218623657,-.028381687537700435,.012892774756514975]],fred:[[1.7586780224155572,1.667393362265376,.039353114938410254,-.035566855454058126],[1.8556643796915675,1.6423739844251715,-.055407781997306026,-.03778285688705488]]},ie=(e,t,n,[r,i,a,o])=>{let s=Math.min(n.w,n.h),c=n.w>n.h?n.w-s:0,l=n.h>n.w?n.h-s:0,u=`${e}-oeil${t}`;return{file:`${u}-x.webp`,images:{x:`${u}-x.webp`,y:`${u}-y.webp`},court:s,kw:(r-c)/s,kh:(i-l)/s,dx:a,dy:o}};function I(e,t,n,r,i,a,o,s=0){let[c,l]=re[e];return{id:e,shape:t,ink:n,body:`${e}-corps.webp`,pads:[ie(e,0,i[0],c),ie(e,1,i[1],l)],face:{id:`plush-${e}`,gaze:{yaw:a,pitch:o,roll:s},split:r,eyes:i}}}var L=[I(`nexo`,`squircle`,`#e45206`,16,[F(.205,.43,-28),F(.205,.43,35)],1,-7,-1),I(`vita`,`hexagone`,`#22c377`,17,[F(.27,.51,3),F(.49,.13,-4)],-4,5,8),I(`cloe`,`triangle`,`#df2986`,20,[F(.33,.12,28),F(.34,.11,-26)],3,16),I(`malu`,`cercle`,`#9a55ef`,15,[F(.23,.42,-3),F(.19,.18)],9,4,-8),I(`yoshi`,`capsule`,`#e94741`,18,[F(.3,.16,17),F(.31,.15,-18)],11,20,2),I(`fred`,`hexagone`,`#efb428`,21,[F(.46,.5),F(.48,.5)],7,-3)],R=new Map(L.map(e=>[e.id,e])),ae={...R.get(`fred`).pads[0],dx:0,dy:0},oe=e=>`forme-${e}.webp`,se=`boule.webp`,ce=[`flip`,`pop`,`warp`,`dissolve`,`cut`],z=`flip`,B=l.SHAPE_MORPH,le=m.get(`notify`),V=e=>le.pose(e).notif?.r??0,H=V(10),ue=e=>V(e)/H,U=(()=>{for(let e=1;e<5e3;e++)if(V(e/1e3)===H&&V((e-1)/1e3)!==H)return e/1e3;return B})(),W=B/2,de={cut:B,warp:B,dissolve:B,flip:B*2,pop:W+U},fe={corps:`avant`,melange:0,sx:1,sy:1,bascule:!1,fini:!1},G={corps:`apres`,melange:1,sx:1,sy:1,bascule:!0,fini:!0};function pe(e,t){if(t<0)return fe;let n=de[e];if(t>=n)return G;let r=t/n;switch(e){case`cut`:return{...G,fini:!1};case`warp`:case`dissolve`:return{corps:`deux`,melange:p.easeOutQuint(r),sx:1,sy:1,bascule:!0,fini:!1};case`flip`:{let e=p.easeInOutCubic(r),t=e>=.5;return{corps:t?`apres`:`avant`,melange:+!!t,sx:Math.abs(Math.cos(Math.PI*e)),sy:1,bascule:t,fini:!1}}case`pop`:{if(t<W){let e=1-p.easeInOutCubic(t/W);return{corps:`avant`,melange:0,sx:e,sy:e,bascule:!1,fini:!1}}let e=t-W,n=p.easeOutQuint(a(e/U))*ue(e);return{corps:`apres`,melange:1,sx:n,sy:n,bascule:!0,fini:!1}}}}function me(e,t,n){let r=p.easeOutQuint(a(n/B));return t.map((t,n)=>f(e[n]??t,t,r))}var K=316,he=[`<image`,``,``,``,``,``,``,`></image>`],ge=[`<foreignObject`,``,``,``,``,` style="`,`"><canvas`,``,` style="`,`"></canvas></foreignObject>`],_e=[`<filter`,``,` filterUnits="userSpaceOnUse" primitiveUnits="userSpaceOnUse"`,``,``,``,` color-interpolation-filters="sRGB"><feTurbulence type="fractalNoise" baseFrequency="0.05" numOctaves="4" seed="7"></feTurbulence><feColorMatrix type="matrix" values="1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1"></feColorMatrix><feComponentTransfer><feFuncR type="linear"`,``,`></feFuncR><feFuncG type="linear"`,``,`></feFuncG><feFuncB type="linear"`,``,`></feFuncB></feComponentTransfer></filter>`],ve=[`<mask`,``,` maskUnits="userSpaceOnUse"`,``,``,``,`><rect`,``,``,``,` filter="`,`"></rect></mask>`],ye=[`<defs`,`><!--$-->`,`<!--/--><!--$-->`,`<!--/--><!--$-->`,`<!--/--><!--$-->`,`<!--/--></defs>`],q=(e,t)=>D({when:e,children:e=>{var n,r;return n=C(),r=()=>x(`href`,g(e(),!0)),b(he,n,r,x(`x`,-158),x(`y`,-158),x(`width`,g(K,!0)),x(`height`,g(K,!0)),x(`mask`,t?`url(#${g(t,!0)})`:g(void 0,!0)))}});function be(e){let t=()=>e.rendu().corps===`deux`,[n,r]=A(!1),i=()=>e.transition===`warp`&&t(),a=()=>e.transition===`dissolve`&&t();return[D({get when(){return i()},get children(){return xe(v(e,{onPret:r}))}}),D({get when(){return a()},get children(){return Ce({get passage(){return e.passage},melange:()=>e.rendu().melange})}}),D({get when(){return _(()=>!(i()&&n()))()&&!a()},get children(){return q(e.rendu().corps===`avant`?e.passage.avant.url:e.passage.apres.url)}})]}function xe(e){let[t,n]=A(!1),r=Math.round((e.size??K)*(globalThis.devicePixelRatio||1)),i=()=>null,a=null;M(()=>{a?.detruit(),e.onPret(!1)}),O(()=>e.passage,t=>{a??=i();let{avant:r,apres:o}=t;!a||!r.url||!o.url||(n(!1),e.onPret(!1),a.corps(r.url,o.url).then(()=>{n(!0),e.onPret(!0)}))}),O(()=>{if(!t())return null;let n=e.passage;return{p:n,s:e.clock()-n.debut,melange:e.rendu().melange}},e=>{if(!e||!a)return;let{p:t,s:n,melange:r}=e;a.dessine(t.avant.radii,t.apres.radii,me(t.avant.radii,t.apres.radii,n),r)});var o=C();return b(ge,o,x(`x`,-158),x(`y`,-158),x(`width`,g(K,!0)),x(`height`,g(K,!0)),()=>T(`display:`,t()?`inline`:`none`),x(`width`,g(r,!0)),x(`height`,g(r,!0)),T(`width:`,`100%`)+T(`;height:`,`100%`)+T(`;display:`,`block`))}var Se=.12;function Ce(e){var t,n,r,i,a;let o=j(),s=t=>{let n=e.melange(),r=-1/(.4*Se),i=(n*1.12+.75)/Se;return t?{pente:20.833333333333332,origine:1-i}:{pente:r,origine:i}},c=(e,t)=>{var n,r;return n=C(),r=S(()=>[x(`slope`,g(s(t).pente,!0)),x(`intercept`,g(s(t).origine,!0)),x(`slope`,g(s(t).pente,!0)),x(`intercept`,g(s(t).origine,!0)),x(`slope`,g(s(t).pente,!0)),x(`intercept`,g(s(t).origine,!0))],6),b(_e,n,x(`id`,g(e,!0)),x(`x`,-158),x(`y`,-158),x(`width`,g(K,!0)),x(`height`,g(K,!0)),r,r,r,r,r,r)},l=(e,t)=>{var n;return n=C(),b(ve,n,x(`id`,g(e,!0)),x(`x`,-158),x(`y`,-158),x(`width`,g(K,!0)),x(`height`,g(K,!0)),x(`x`,-158),x(`y`,-158),x(`width`,g(K,!0)),x(`height`,g(K,!0)),`url(#${g(t,!0)})`)};return[(t=C(),n=y(()=>g(c(`${o}-fa`,!0))),r=y(()=>g(c(`${o}-fb`,!1))),i=y(()=>g(l(`${o}-ma`,`${o}-fa`))),a=y(()=>g(l(`${o}-mb`,`${o}-fb`))),b(ye,t,n,r,i,a)),_(()=>g(q(e.passage.avant.url,`${o}-ma`))),_(()=>g(q(e.passage.apres.url,`${o}-mb`)))]}var we=.5;function Te(e,t,n){let r=Math.min(t,n),i=t>=n,a=(Math.max(t,n)-r)/2,[o,s]=i?[e.kw*r,e.kh*r]:[e.kh*r,e.kw*r],c=we*r,l=o+2*c,u=(e,t,n,r)=>i?{src:`x`,x:e,y:-s/2,w:t-e,h:s,viewBox:`${n/l} 0 ${(r-n)/l} 1`}:{src:`y`,x:-s/2,y:e,w:s,h:t-e,viewBox:`0 ${n/l} 1 ${(r-n)/l}`},d=[],f=(e,t,n,r)=>{d.push(u(e,t,n,r)),d.push(u(-t,-e,l-r,l-n))},p=Math.max(c,a/3);p===c?f(-a-o/2,Math.min(-a+c,0),0,o/2+Math.min(a,c)):f(-a-o/2,-a,0,o/2);for(let e=+(p===c);e*p<a-1e-9*r;e++){let t=-a+e*p,n=Math.min(t+p,0),r=o/2+e%2*c;f(t,n,r,r+(n-t)/p*c)}return d}function Ee(e){let t=0,n=0;for(let r of e)t=Math.max(t,Math.abs(r.x),Math.abs(r.x+r.w)),n=Math.max(n,Math.abs(r.y),Math.abs(r.y+r.h));return{x:t,y:n}}var De=e=>e===`thinking`||e===`asleep`||e===`failed`?`idle`:e,J=e=>m.get(e===`asleep`?`sleep`:e===`failed`?`idle`:e).morph,Oe={yaw:0,pitch:0,mix:0,spin:0,wander:.4},ke={yaw:18,pitch:22,mix:1,spin:0,wander:.4},Ae={yaw:0,pitch:0,mix:0,spin:0,wander:.15,blink:0},je=e=>e===`thinking`?ke:e===`asleep`?Ae:Oe,Me=(e,t,n)=>({yaw:f(e.yaw,t.yaw,n),pitch:f(e.pitch,t.pitch,n),mix:f(e.mix,t.mix,n),spin:f(e.spin,t.spin,n),wander:f(e.wander,t.wander,n),...e.blink===void 0&&t.blink===void 0?{}:{blink:f(e.blink??1,t.blink??1,n)}}),Ne=(e,t,n)=>r=>Me(e,t,p.easeOutQuint(a(r/n))),Y=.8,Pe=e=>e<=0||e>=.8?0:12*Math.sin(2*h*e/Y)*Math.sin(Math.PI*e/Y);function Fe(e,t){let n=Ne(e,je(t),J(t));return t===`failed`?e=>{let t=n(e);return{...t,spin:t.spin+Pe(e)}}:n}var Ie=t.get(`somnolent`),Le={w:.3,h:m.get(`wink`).pose(0).eyes[1].h,open:1,tilt:0},Re={id:`plush-asleep`,gaze:Ie.gaze,split:Ie.split,eyes:[{...Le},{...Le}]},ze=t.get(`triste`),Be=1.8,Ve=[.6,1.7],He=e=>+(e.eyes[1].w*e.eyes[1].h>e.eyes[0].w*e.eyes[0].h),Ue=new WeakMap;function We(e){let t=Ue.get(e);if(!t){let{w:n,h:r}=e.eyes[He(e)],i=n/r>Ve[0]&&n/r<Ve[1]?n/Be:r,a=e=>({w:n,h:i,tilt:ze.eyes[e].tilt,open:1});t={id:`${e.id}-failed`,gaze:{...ze.gaze},split:e.split,eyes:[a(0),a(1)]},Ue.set(e,t)}return t}var Ge=new WeakMap;function Ke(e,t){let n=Ge.get(e);if(!n){let r=e[He(t)];n=[{...r,dx:e[0].dx,dy:e[0].dy},{...r,dx:e[1].dx,dy:e[1].dy}],Ge.set(e,n)}return n}var qe={from:null,at:-1/0,start:1},Je=(e,t)=>e.from?e.start+(1-e.start)*p.easeOutQuint(a((t-e.at)/l.SHAPE_MORPH)):1,Ye=(e,t,n)=>({from:t,at:n,start:1-Je(e,n)});function Xe(e,t){let n=e.map(()=>({x:0,y:0}));if(t===1||!e.length)return n;let r=0,i=0;for(let{m:t}of e)r+=(t[4]??0)/e.length,i+=(t[5]??0)/e.length;let a=Math.hypot(r,i);if(a<1e-6)return n;let o=r/a,s=i/a,c=-1/0;for(let{m:t,w:n,h:r}of e){let[e=1,i=0,a=0,l=1,u=0,d=0]=t,f=Math.hypot(n/2*(e*o+i*s),r/2*(a*o+l*s));c=Math.max(c,u*o+d*s+f)}let l=r+(c-a)*o,u=i+(c-a)*s;return e.map(({m:e})=>({x:(t-1)*((e[4]??0)-l),y:(t-1)*((e[5]??0)-u)}))}var Ze=e=>(e.match(/-?[\d.]+(?:e-?\d+)?/g)??[]).map(Number),Qe=30/205,$e=.1,et=r(0);function tt(e,t){if(t>=1)return;let[n=1,r=0,i=0,a=1]=e,o=r/t,s=a/t,c=n*a-r*i;return`matrix(${(a*n-i*o)/c},${(n*o-r*n)/c},${(a*i-i*s)/c},${(n*s-r*i)/c},0,0)`}function nt(e,t,n,r,i){if(n>=1)return{w:r,h:i};let[a=1,o=0,s=0,c=1]=e,l=o/t,u=c/t;return{w:r*Math.hypot(a,l*n)/Math.hypot(a,l),h:i*Math.hypot(s,u*n)/Math.hypot(s,u)}}function rt(e,t,n,r,i){if(t>=n)return null;let[,,,,o=0,s=0]=e,c=a((t-et)/(n-et)),l=Math.min(r.x,r.y),u=Qe*2*l,d=Math.max(u,Math.hypot(i.x-r.x+l,i.y-r.y+l)-l),f=u+c**8*(d-u),p=$e*2*l,m=[];for(let e=3;e>=0;e--){let t=f+p*e/4;m.push({w:r.x+t,h:r.y+t,r:l+t,alpha:1/(e+1)})}return{x:o,y:s,s:c,bands:m}}var it=(e,t)=>e===`asleep`?Re:e===`failed`?We(t):null,at=.62,ot=-1.3,st=.6,ct=.3,X={phase:0,at:-1/0,from:0,on:!1,exit:1};function Z(e,t){let n=t-e.at;return e.on?e.from+(1-e.from)*p.easeOutCubic(a(n/ct)):e.from*(1-p.easeOutQuint(a(n/e.exit)))}function lt(e,t,n,r){if(t===e.on)return e;let i=Z(e,n);return{phase:t&&i<.001?n:e.phase,at:n,from:i,on:t,exit:J(r)}}function ut(t,r){let i=Z(t,r);return i<.001?[]:n.map((n,a)=>{let o=e(r-t.phase,a);return{x:at+n*st,y:ot,r:d*st*(1+(u-1)*o)*(.5+.5*i),opacity:i*(.55+.45*o)}})}var dt=3,ft={x:.55,y:-.74},pt={x:1.25,y:-1.38},mt=[.1,.2];function ht(e,t){let n=Z(e,t);if(n<.001)return[];let r=[];for(let i=0;i<dt;i++){let o=(((t-e.phase)/3-i/dt)%1+1)%1,s=a(o/.15)*a((1-o)/.45);s*n<.001||r.push({x:f(ft.x,pt.x,o)+Math.sin(o*h)*.04,y:f(ft.y,pt.y,o),size:f(mt[0],mt[1],o),opacity:s*n})}return r}var gt=[`<g`,``,``,`><!--$-->`,`<!--/--><!--$-->`,`<!--/--></g>`],_t=[`<g`,``,``,` style="`,`">`,`</g>`],vt=[`<svg`,``,``,``,``,``,` preserveAspectRatio="none" style="`,`"><image`,` width="1" height="1" preserveAspectRatio="none"></image></svg>`],yt=[`<g`,``,`><!--$-->`,`<!--/--><g`,``,`><!--$-->`,`<!--/--><!--$-->`,`<!--/--></g></g>`],bt=[`<g`,``,``,`><path d="`,`" fill="none" stroke="#1c1a1d"`,` stroke-linecap="round"`,`></path></g>`],xt=[`<mask`,``,`><g transform="`,`"><g`,`><g`,`>`,`</g></g></g></mask>`],St=[`<rect`,``,``,``,``,``,` fill="#fff"`,`></rect>`],Ct=[`<image`,``,``,``,``,``,``,`></image>`],wt=[`<path`,``,` fill="none"`,``,` stroke-linecap="round" stroke-linejoin="round"`,`></path>`],Tt=[`<image`,``,``,``,``,``,`></image>`],Q=.8,Et=.24,$=e=>Math.round(e*10)/10,Dt=.42,Ot=.2,kt=`mix-blend-mode:plus-lighter`,At=`isolation:isolate`;function jt(e){var t,n,r,i;let a=()=>e.context.frame(),o=k(()=>(a(),e.frozen?G:pe(e.transition,e.context.clock()-e.passage.debut)));O(()=>{let{bascule:e,fini:t}=o();return`${e}|${t}`},t=>{let[n,r]=t.split(`|`);e.onStep?.({bascule:n===`true`,fini:r===`true`})});let s=()=>{let{sx:e,sy:t}=o();return e===1&&t===1?void 0:`scale(${e},${t})`},c=k(()=>(a(),ut(e.dots,e.context.time()))),l=k(()=>(a(),ht(e.zs,e.context.time()))),u=k(()=>(a(),e.padFade?Je(e.padFade,e.context.clock()):1)),d=k(()=>(a(),Z(e.zs,e.context.time()))),f=k(()=>{let t=e.eyeScale??1;return t===1?null:Xe(a().eyes.map((t,n)=>{let r=e.pads[n]??e.pads[0],i=Ze(t.matrix);return i[4]=(i[4]??0)+r.dx*100,i[5]=(i[5]??0)+r.dy*100,{m:i,w:t.w,h:t.h}}),t)}),p=()=>e.eyeScale&&e.eyeScale!==1?` scale(${e.eyeScale})`:``;return[(t=C(),n=S(()=>[x(`opacity`,g(a().bodyAlpha,!0)),x(`transform`,g(s(),!0))],2),r=g(be({get passage(){return e.passage},get transition(){return e.transition},rendu:o,get clock(){return e.context.clock},get size(){return e.size}})),i=g(E({get each(){return a().eyes},keyed:!1,children:(t,n)=>{var r,i,a,o,s,c,l,m;let h=()=>e.pads[n]??e.pads[0],ee=()=>{let t=e.padFade?.from,r=t?.[n]??t?.[0];return r&&r.file!==h().file&&u()<1?r:null},_=k(()=>Ze(t().matrix)),v=k(()=>nt(_(),t().open,t().rest,t().w,t().h)),T=k(()=>Te(h(),v().w,v().h)),O=k(()=>tt(_(),t().open)),A=k(()=>{let e={x:v().w/2,y:v().h/2};return rt(_(),t().open,t().rest,e,Ee(T()))}),j=`${e.context.uid}-paupiere-${n}`,M=()=>h().dx*100+(f()?.[n]?.x??0),N=()=>h().dy*100+(f()?.[n]?.y??0),te=(t,n,r)=>{let i=()=>n().length>1;var a=C(),o=S(()=>[x(`opacity`,r()<1?g(r(),!0):g(void 0,!0)),x(`transform`,g(O(),!0)),w(i()?At:void 0)],3),s=g(E({get each(){return n()},keyed:!1,children:n=>{var r,a;return r=C(),a=S(()=>[x(`x`,g(n().x,!0)),x(`y`,g(n().y,!0)),x(`width`,g(n().w,!0)),x(`height`,g(n().h,!0)),x(`viewBox`,g(n().viewBox,!0)),w(i()?kt:void 0),x(`href`,g(e.padHref(t().images[n().src]),!0))],7),b(vt,r,a,a,a,a,a,a,a)}}));return b(_t,a,o,o,o,s)},P=()=>`translate(${M()},${N()}) ${t().matrix}${p()}`;return[D({get when(){return d()<1},get children(){return r=C(),i=()=>x(`mask`,A()?`url(#${g(j,!0)})`:g(void 0,!0)),a=g(D({get when(){return A()},children:e=>{let t=()=>M()+e().x,n=()=>N()+e().y;var r=C(),i=S(()=>[`translate(${g(t(),!0)},${g(n(),!0)}) scale(1,${g(e().s,!0)}) translate(${-t()},${-n()})`,x(`transform`,g(P(),!0)),x(`transform`,g(O(),!0))],3),a=g(E({get each(){return e().bands},keyed:!1,children:e=>{var t,n;return t=C(),n=S(()=>[x(`x`,-e().w),x(`y`,-e().h),x(`width`,2*g(e().w,!0)),x(`height`,2*g(e().h,!0)),x(`rx`,g(e().r,!0)),x(`fill-opacity`,g(e().alpha,!0))],6),b(St,t,n,n,n,n,n,n)}}));return b(xt,r,x(`id`,g(j,!0)),i,i,i,a)}})),o=S(()=>[x(`transform`,g(P(),!0)),x(`opacity`,g(t().alpha,!0))],2),s=g(D({get when(){return ee()},children:e=>{let t=k(()=>Te(e(),v().w,v().h));return te(e,t,()=>(1-d())*(1-u()))}})),c=y(()=>g(te(h,T,()=>(1-d())*(ee()?u():1)))),b(yt,r,i,a,o,o,s,c)}}),D({get when(){return d()>0},get children(){return l=C(),m=S(()=>[x(`transform`,g(P(),!0)),x(`opacity`,g(t().alpha,!0)),`M${g($(-t().w/2),!0)},0Q0,${g($(t().w*Dt),!0)} ${g($(t().w/2),!0)},0`,x(`stroke-width`,g($(t().w*Ot),!0)),x(`opacity`,g(d(),!0))],5),b(bt,l,m,m,m,m,m)}})]}})),b(gt,t,n,n,r,i)),D({get when(){return e.dot},children:e=>E({get each(){return c()},keyed:!1,children:t=>{var n,r;return n=C(),r=S(()=>[x(`href`,g(e(),!0)),x(`x`,(g(t().x,!0)-g(t().r,!0)/g(Q,!0))*g(100,!0)),x(`y`,(g(t().y,!0)-g(t().r,!0)/g(Q,!0))*g(100,!0)),x(`width`,2*g(t().r,!0)/g(Q,!0)*g(100,!0)),x(`height`,2*g(t().r,!0)/g(Q,!0)*g(100,!0)),x(`opacity`,g(t().opacity,!0))],6),b(Ct,n,r,r,r,r,r,r)}})}),E({get each(){return l()},keyed:!1,children:t=>{let n=()=>{let{x:e,y:n,size:r}=t(),i=r*100/2,a=e*100,o=n*100;return`M${$(a-i)},${$(o-i)}H${$(a+i)}L${$(a-i)},${$(o+i)}H${$(a+i)}`};var r=C(),i=S(()=>[x(`d`,g(n(),!0)),x(`stroke`,g(e.context.ink(),!0)),x(`stroke-width`,g($(t().size*100*Et),!0)),x(`opacity`,g(t().opacity,!0))],4);return b(wt,r,i,i,i,i)}}),D({get when(){return _(()=>!!e.notif)()?a().notif:null},children:t=>{var n,r;return n=C(),r=S(()=>[x(`href`,g(e.notif,!0)),x(`x`,g(t().x,!0)-g(t().r,!0)/g(Q,!0)),x(`y`,g(t().y,!0)-g(t().r,!0)/g(Q,!0)),x(`width`,2*g(t().r,!0)/g(Q,!0)),x(`height`,2*g(t().r,!0)/g(Q,!0))],5),b(Tt,n,r,r,r,r,r)}})]}var Mt=.55,Nt={gamma:.6,sheen:.08},Pt=e=>e<=.04045?e/12.92:((e+.055)/1.055)**2.4,Ft=e=>e<=.0031308?e*12.92:1.055*e**(1/2.4)-.055;function It(e){let t=Number.parseInt(e.slice(1),16);return[t>>16&255,t>>8&255,t&255]}function Lt(e,{gamma:t,sheen:n}=Nt){let r=It(e).map(e=>Pt(e/255)),i=Pt(Mt),a=new Uint8ClampedArray(768);for(let e=0;e<256;e++){let o=(Pt(e/255)/i)**t,s=n*Math.max(0,(e/255-Mt)/.44999999999999996)**2;for(let t=0;t<3;t++){let n=Math.min(1,r[t]*o);a[e*3+t]=Math.round(Ft(n+(1-n)*s)*255)}}return a}var Rt=new Map;function zt(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>typeof r.result==`string`?t(r.result):n(Error(`plush: teinture illisible`)),r.onerror=()=>n(r.error??Error(`plush: teinture illisible`)),r.readAsDataURL(e)})}function Bt(e){return new Promise((t,n)=>{let r=new Image;r.crossOrigin=`anonymous`,r.onload=()=>t(r),r.onerror=()=>n(Error(`plush: image introuvable ${e}`)),r.src=e})}function Vt(e,t){let n=`${t.toLowerCase()} ${e}`,r=Rt.get(n);return r||(r=Bt(e).then(e=>{let n=document.createElement(`canvas`);n.width=e.naturalWidth,n.height=e.naturalHeight;let r=n.getContext(`2d`,{willReadFrequently:!0});r.drawImage(e,0,0);let i=r.getImageData(0,0,n.width,n.height),a=Lt(t),o=i.data;for(let e=0;e<o.length;e+=4){let t=o[e]*3;o[e]=a[t],o[e+1]=a[t+1],o[e+2]=a[t+2]}return r.putImageData(i,0,0),new Promise(e=>n.toBlob(e,`image/webp`,.92)).then(e=>e?zt(e):n.toDataURL())}),r.catch(()=>Rt.delete(n)),Rt.set(n,r)),r}var Ht=2.4;function Ut(e){let n=k(()=>e.character?R.get(e.character)??null:null),r=t=>e.assetBase?`${e.assetBase}${t}`:te[t]??``,a=k(()=>{let t=n();if(t)return t.ink;let r=e.color??`encre`;return s.get(r)?.hex??(/^#[0-9a-f]{6}$/i.test(r)?r:`#0a0a0c`)}),u=k(()=>n()?.shape??e.shape??`cercle`),d=t.get(c),f=()=>e.state??`idle`,p=()=>e.transition??`flip`,m=k(()=>{let e=n(),t=e?{url:r(e.body),hex:null}:{url:r(oe(u())),hex:a()};return{clef:`${t.hex??``}|${t.url}`,source:t,shape:u(),pads:e?.pads??[ae,ae],face:e?.face??null}}),h=e=>({url:e.url,radii:i.get(e.shape)?.radii??[]}),g=N(()=>{let{source:e,...t}=m();return{...t,url:null}}),[v,y]=A({avant:g,apres:g,debut:-1/0}),[b,x]=A(!0),S=null,C=!1,w=null;function T(t){let n=N(v);if(n.apres.clef===t.clef){S=null,y({avant:n.avant.clef===t.clef?t:n.avant,apres:t,debut:n.debut});return}if(C&&N(p)!==`cut`){S=t;return}if(S=null,!w||N(()=>e.frozenAt)!==void 0||n.apres.url===null||N(p)===`cut`){y({avant:t,apres:t,debut:-1/0}),x(!0);return}C=!0,w.hold(de[N(p)]),y({avant:n.apres,apres:t,debut:w.clock()}),x(pe(N(p),0).bascule)}function E(e){x(e.bascule),e.fini&&(C=!1,S&&T(S))}let D=()=>{let e=v();return b()?e.apres:e.avant},j=k(()=>{let n=it(f(),D().face??d);if(n)return n;let r=e.expression;return r===void 0?D().face??d:typeof r==`string`?t.get(r)??d:r}),P=e=>e===`failed`?Ke(D().pads,D().face??d):D().pads,ne=k(()=>P(f())),F=new Set;O(()=>D().pads.flatMap(e=>[r(e.images.x),r(e.images.y)]).join(`|`),e=>{if(!(typeof Image>`u`)){F.clear();for(let t of e.split(`|`)){if(!t)continue;let e=new Image;e.src=t,F.add(e)}}}),M(()=>F.clear());let re=k(()=>{let e=v();return{avant:h(e.avant),apres:h(e.apres),debut:e.debut}}),[ie,I]=A(null),[L,ce]=A(null),z=!0;M(()=>{z=!1});function B(e,t){let n=0;O(()=>{let{url:t,hex:n}=e();return`${n??``}|${t}`},e=>{let[r,i]=e.split(`|`),a=++n;if(!r)return void t(i);typeof document>`u`||Vt(i,r).then(e=>z&&a===n&&t(e),()=>z&&a===n&&t(null))})}B(()=>m().source,e=>{let{source:t,...n}=N(m);T({...n,url:e})}),B(()=>({url:r(se),hex:a()}),I),B(()=>({url:r(se),hex:o}),ce);let le=je(N(f)),V=le,H=e=>({run:t=>V=e(t)}),[ue,U]=A(H(()=>le));O(f,(e,t)=>{t!==void 0&&U(H(Fe(V,e)))});let[W,fe]=A(N(f)===`thinking`?{...X,from:1,on:!0}:X),[G,me]=A(N(f)===`asleep`?{...X,from:1,on:!0}:X),[K,he]=A(qe);O(f,(t,n)=>{if(!w||n===void 0||t===`failed`==(n===`failed`)||N(()=>e.frozenAt)!==void 0)return;let r=N(()=>P(n));he(e=>Ye(e,r,w.clock()))}),O(f,e=>{w&&(w.hold(Math.max(J(e),e===`failed`?Y:0,ct,l.SHAPE_MORPH)),fe(t=>lt(t,e===`thinking`,w.clock(),e)),me(t=>lt(t,e===`asleep`,w.clock(),e)))});let ge=N(()=>[{state:De(f()),duration:Ht}]);return ee({get size(){return e.size},get shape(){return D().shape},get color(){return a()},get expression(){return j()},get state(){return De(f())},cycle:ge,get fps(){return e.fps},get autoPause(){return e.autoPause},get paused(){return e.paused},get frozenAt(){return e.frozenAt},get follow(){return _(()=>!!e.follow)()?f()===`idle`||f()===`wink`||f()===`wide`||f()===`notify`:e.follow},get gaze(){return ue().run},get initialPhase(){return e.initialPhase},get ariaLabel(){return e.ariaLabel??`Animated plush Bloub avatar`},get class(){return e.class},get style(){return e.style},layer:t=>(w=t,jt({context:t,get passage(){return re()},get transition(){return p()},get frozen(){return e.frozenAt!==void 0},onStep:E,get size(){return e.size},get pads(){return ne()},get eyeScale(){return e.eyeScale},get padFade(){return K()},padHref:r,get dot(){return ie()},get notif(){return L()},get dots(){return W()},get zs(){return G()}}))})}export{z as DEFAULT_TRANSITION,L as PLUSH_CHARACTERS,R as PLUSH_CHARACTER_BY_ID,P as PLUSH_SHAPES,ne as PLUSH_STATES,ce as PLUSH_TRANSITIONS,Ut as PlushBot,Lt as tintRamp};
@@ -944,14 +944,20 @@ function Bt(e, { gamma: t, sheen: n } = It) {
944
944
  }
945
945
  var Vt = /* @__PURE__ */ new Map();
946
946
  function Ht(e) {
947
+ return new Promise((t, n) => {
948
+ let r = new FileReader();
949
+ r.onload = () => typeof r.result == "string" ? t(r.result) : n(/* @__PURE__ */ Error("plush: teinture illisible")), r.onerror = () => n(r.error ?? /* @__PURE__ */ Error("plush: teinture illisible")), r.readAsDataURL(e);
950
+ });
951
+ }
952
+ function Ut(e) {
947
953
  return new Promise((t, n) => {
948
954
  let r = new Image();
949
955
  r.crossOrigin = "anonymous", r.onload = () => t(r), r.onerror = () => n(/* @__PURE__ */ Error(`plush: image introuvable ${e}`)), r.src = e;
950
956
  });
951
957
  }
952
- function Ut(e, t) {
958
+ function Wt(e, t) {
953
959
  let n = `${t.toLowerCase()} ${e}`, r = Vt.get(n);
954
- return r || (r = Ht(e).then((e) => {
960
+ return r || (r = Ut(e).then((e) => {
955
961
  let n = document.createElement("canvas");
956
962
  n.width = e.naturalWidth, n.height = e.naturalHeight;
957
963
  let r = n.getContext("2d", { willReadFrequently: !0 });
@@ -961,13 +967,13 @@ function Ut(e, t) {
961
967
  let t = o[e] * 3;
962
968
  o[e] = a[t], o[e + 1] = a[t + 1], o[e + 2] = a[t + 2];
963
969
  }
964
- return r.putImageData(i, 0, 0), new Promise((e) => n.toBlob((t) => e(t ? URL.createObjectURL(t) : n.toDataURL()), "image/webp", .92));
970
+ return r.putImageData(i, 0, 0), new Promise((e) => n.toBlob(e, "image/webp", .92)).then((e) => e ? Ht(e) : n.toDataURL());
965
971
  }), r.catch(() => Vt.delete(n)), Vt.set(n, r)), r;
966
972
  }
967
973
  //#endregion
968
974
  //#region src/plush/PlushBot.tsx
969
- var Wt = 2.4;
970
- function Gt(e) {
975
+ var Gt = 2.4;
976
+ function Kt(e) {
971
977
  let n = k(() => e.character ? R.get(e.character) ?? null : null), r = (t) => e.assetBase ? `${e.assetBase}${t}` : te[t] ?? "", a = k(() => {
972
978
  let t = n();
973
979
  if (t) return t.ink;
@@ -1071,7 +1077,7 @@ function Gt(e) {
1071
1077
  }, (e) => {
1072
1078
  let [r, i] = e.split("|"), a = ++n;
1073
1079
  if (!r) return void t(i);
1074
- typeof document > "u" || Ut(i, r).then((e) => z && a === n && t(e), () => z && a === n && t(null));
1080
+ typeof document > "u" || Wt(i, r).then((e) => z && a === n && t(e), () => z && a === n && t(null));
1075
1081
  });
1076
1082
  }
1077
1083
  B(() => m().source, (e) => {
@@ -1109,7 +1115,7 @@ function Gt(e) {
1109
1115
  });
1110
1116
  let ve = N(() => [{
1111
1117
  state: je(f()),
1112
- duration: Wt
1118
+ duration: Gt
1113
1119
  }]);
1114
1120
  return _(g, {
1115
1121
  get size() {
@@ -1199,4 +1205,4 @@ function Gt(e) {
1199
1205
  });
1200
1206
  }
1201
1207
  //#endregion
1202
- export { le as DEFAULT_TRANSITION, ie as PLUSH_CHARACTERS, R as PLUSH_CHARACTER_BY_ID, ne as PLUSH_SHAPES, re as PLUSH_STATES, ce as PLUSH_TRANSITIONS, Gt as PlushBot, Bt as tintRamp };
1208
+ export { le as DEFAULT_TRANSITION, ie as PLUSH_CHARACTERS, R as PLUSH_CHARACTER_BY_ID, ne as PLUSH_SHAPES, re as PLUSH_STATES, ce as PLUSH_TRANSITIONS, Kt as PlushBot, Bt as tintRamp };
@@ -23,5 +23,5 @@ export declare function tintRamp(hex: string, { gamma, sheen }?: {
23
23
  gamma: number;
24
24
  sheen: number;
25
25
  }): Uint8ClampedArray;
26
- /** L'URL d'objet du corps `url` teint en `hex`, calculee une fois. Navigateur seulement. */
26
+ /** L'URL `data:` du corps `url` teint en `hex`, calculee une fois. Navigateur seulement. */
27
27
  export declare function tinted(url: string, hex: string): Promise<string>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@norbert_bodziony/bloub",
3
3
  "private": false,
4
- "version": "0.6.0",
4
+ "version": "0.6.1",
5
5
  "type": "module",
6
6
  "description": "SVG recreation of the x.ai bot avatar. One shape morphing through 14 states, measured off the reference video frame by frame.",
7
7
  "license": "MIT",