@norbert_bodziony/bloub 0.6.0 → 0.6.2

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,8 +1,8 @@
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 g } from "./chunks/BloubBot-_XolrDe1.js";
2
- import { createComponent as _, effect as v, insert as y, memo as b, mergeProps as x, ref as ee, setAttribute as S, setStyleProperty as C, style as w, template as T } from "@solidjs/web";
3
- 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";
1
+ import { A as e, E as t, G as n, J as r, K as i, L as a, N as o, U as s, V as c, W as l, X as u, Y as d, Z as f, j as p, q as m, t as h, x as g, z as _ } from "./chunks/BloubBot-Bpb4WbeJ.js";
2
+ import { createComponent as v, effect as y, insert as b, memo as x, mergeProps as S, ref as C, setAttribute as w, setStyleProperty as T, style as E, template as D } from "@solidjs/web";
3
+ import { For as O, Show as k, createEffect as A, createMemo as j, createSignal as M, createUniqueId as ee, onCleanup as te, untrack as N } from "solid-js";
4
4
  //#region src/plush/assets.ts
5
- var te = {
5
+ var ne = {
6
6
  "boule.webp": new URL("./assets/boule.webp", import.meta.url).href,
7
7
  "cloe-corps.webp": new URL("./assets/cloe-corps.webp", import.meta.url).href,
8
8
  "cloe-oeil0-x.webp": new URL("./assets/cloe-oeil0-x.webp", import.meta.url).href,
@@ -45,7 +45,7 @@ var te = {
45
45
  "yoshi-oeil0-y.webp": new URL("./assets/yoshi-oeil0-y.webp", import.meta.url).href,
46
46
  "yoshi-oeil1-x.webp": new URL("./assets/yoshi-oeil1-x.webp", import.meta.url).href,
47
47
  "yoshi-oeil1-y.webp": new URL("./assets/yoshi-oeil1-y.webp", import.meta.url).href
48
- }, ne = [
48
+ }, P = [
49
49
  "cercle",
50
50
  "galet",
51
51
  "squircle",
@@ -65,12 +65,12 @@ var te = {
65
65
  "notify",
66
66
  "asleep",
67
67
  "failed"
68
- ], P = (e, t, n = 0) => ({
68
+ ], F = (e, t, n = 0) => ({
69
69
  w: e,
70
70
  h: t,
71
71
  tilt: n,
72
72
  open: 1
73
- }), F = {
73
+ }), ie = {
74
74
  nexo: [[
75
75
  .8463031722054379,
76
76
  1.1432813538461537,
@@ -153,7 +153,7 @@ var te = {
153
153
  };
154
154
  };
155
155
  function L(e, t, n, r, i, a, o, s = 0) {
156
- let [c, l] = F[e];
156
+ let [c, l] = ie[e];
157
157
  return {
158
158
  id: e,
159
159
  shape: t,
@@ -172,32 +172,32 @@ function L(e, t, n, r, i, a, o, s = 0) {
172
172
  }
173
173
  };
174
174
  }
175
- var ie = [
176
- L("nexo", "squircle", "#e45206", 16, [P(.205, .43, -28), P(.205, .43, 35)], 1, -7, -1),
177
- L("vita", "hexagone", "#22c377", 17, [P(.27, .51, 3), P(.49, .13, -4)], -4, 5, 8),
178
- L("cloe", "triangle", "#df2986", 20, [P(.33, .12, 28), P(.34, .11, -26)], 3, 16),
179
- L("malu", "cercle", "#9a55ef", 15, [P(.23, .42, -3), P(.19, .18)], 9, 4, -8),
180
- L("yoshi", "capsule", "#e94741", 18, [P(.3, .16, 17), P(.31, .15, -18)], 11, 20, 2),
181
- L("fred", "hexagone", "#efb428", 21, [P(.46, .5), P(.48, .5)], 7, -3)
182
- ], R = new Map(ie.map((e) => [e.id, e])), ae = {
183
- ...R.get("fred").pads[0],
175
+ var ae = [
176
+ L("nexo", "squircle", "#e45206", 16, [F(.205, .43, -28), F(.205, .43, 35)], 1, -7, -1),
177
+ L("vita", "hexagone", "#22c377", 17, [F(.27, .51, 3), F(.49, .13, -4)], -4, 5, 8),
178
+ L("cloe", "triangle", "#df2986", 20, [F(.33, .12, 28), F(.34, .11, -26)], 3, 16),
179
+ L("malu", "cercle", "#9a55ef", 15, [F(.23, .42, -3), F(.19, .18)], 9, 4, -8),
180
+ L("yoshi", "capsule", "#e94741", 18, [F(.3, .16, 17), F(.31, .15, -18)], 11, 20, 2),
181
+ L("fred", "hexagone", "#efb428", 21, [F(.46, .5), F(.48, .5)], 7, -3)
182
+ ], oe = new Map(ae.map((e) => [e.id, e])), se = {
183
+ ...oe.get("fred").pads[0],
184
184
  dx: 0,
185
185
  dy: 0
186
- }, oe = (e) => `forme-${e}.webp`, se = "boule.webp", ce = [
186
+ }, ce = (e) => `forme-${e}.webp`, le = "boule.webp", ue = [
187
187
  "flip",
188
188
  "pop",
189
189
  "warp",
190
190
  "dissolve",
191
191
  "cut"
192
- ], le = "flip", z = l.SHAPE_MORPH, B = m.get("notify"), V = (e) => B.pose(e).notif?.r ?? 0, H = V(10), ue = (e) => V(e) / H, de = (() => {
192
+ ], R = "flip", z = t.SHAPE_MORPH, B = e.get("notify"), V = (e) => B.pose(e).notif?.r ?? 0, H = V(10), de = (e) => V(e) / H, U = (() => {
193
193
  for (let e = 1; e < 5e3; e++) if (V(e / 1e3) === H && V((e - 1) / 1e3) !== H) return e / 1e3;
194
194
  return z;
195
- })(), U = z / 2, fe = {
195
+ })(), W = z / 2, fe = {
196
196
  cut: z,
197
197
  warp: z,
198
198
  dissolve: z,
199
199
  flip: z * 2,
200
- pop: U + de
200
+ pop: W + U
201
201
  }, pe = {
202
202
  corps: "avant",
203
203
  melange: 0,
@@ -205,7 +205,7 @@ var ie = [
205
205
  sy: 1,
206
206
  bascule: !1,
207
207
  fini: !1
208
- }, W = {
208
+ }, G = {
209
209
  corps: "apres",
210
210
  melange: 1,
211
211
  sx: 1,
@@ -216,24 +216,24 @@ var ie = [
216
216
  function me(e, t) {
217
217
  if (t < 0) return pe;
218
218
  let n = fe[e];
219
- if (t >= n) return W;
219
+ if (t >= n) return G;
220
220
  let r = t / n;
221
221
  switch (e) {
222
222
  case "cut": return {
223
- ...W,
223
+ ...G,
224
224
  fini: !1
225
225
  };
226
226
  case "warp":
227
227
  case "dissolve": return {
228
228
  corps: "deux",
229
- melange: p.easeOutQuint(r),
229
+ melange: u.easeOutQuint(r),
230
230
  sx: 1,
231
231
  sy: 1,
232
232
  bascule: !0,
233
233
  fini: !1
234
234
  };
235
235
  case "flip": {
236
- let e = p.easeInOutCubic(r), t = e >= .5;
236
+ let e = u.easeInOutCubic(r), t = e >= .5;
237
237
  return {
238
238
  corps: t ? "apres" : "avant",
239
239
  melange: +!!t,
@@ -244,8 +244,8 @@ function me(e, t) {
244
244
  };
245
245
  }
246
246
  case "pop": {
247
- if (t < U) {
248
- let e = 1 - p.easeInOutCubic(t / U);
247
+ if (t < W) {
248
+ let e = 1 - u.easeInOutCubic(t / W);
249
249
  return {
250
250
  corps: "avant",
251
251
  melange: 0,
@@ -255,7 +255,7 @@ function me(e, t) {
255
255
  fini: !1
256
256
  };
257
257
  }
258
- let e = t - U, n = p.easeOutQuint(a(e / de)) * ue(e);
258
+ let e = t - W, n = u.easeOutQuint(d(e / U)) * de(e);
259
259
  return {
260
260
  corps: "apres",
261
261
  melange: 1,
@@ -268,13 +268,13 @@ function me(e, t) {
268
268
  }
269
269
  }
270
270
  function he(e, t, n) {
271
- let r = p.easeOutQuint(a(n / z));
271
+ let r = u.easeOutQuint(d(n / z));
272
272
  return t.map((t, n) => f(e[n] ?? t, t, r));
273
273
  }
274
274
  //#endregion
275
275
  //#region src/plush/warp.ts
276
276
  var ge = "#version 300 es\nin vec2 p;\nout vec2 v;\nvoid main() {\n v = p;\n gl_Position = vec4(p, 0.0, 1.0);\n}", _e = "#version 300 es\nprecision highp float;\n#define N 64\nin vec2 v;\nout vec4 couleur;\nuniform sampler2D ta;\nuniform sampler2D tb;\nuniform float ra[N];\nuniform float rb[N];\nuniform float rc[N];\nuniform float melange;\nconst float TAU = 6.283185307179586;\n\n// comme radiusAtAngle : interpolation lineaire entre deux echantillons voisins\nfloat rayon(float r[N], float t) {\n int i = int(floor(t));\n float f = t - floor(t);\n return mix(r[i % N], r[(i + 1) % N], f);\n}\n\nvoid main() {\n // repere du viewBox : y vers le bas, comme le moteur\n vec2 q = vec2(v.x, -v.y);\n float ang = atan(q.y, q.x);\n float t = fract(ang / TAU) * float(N);\n float r = rayon(rc, t);\n vec2 qa = q * rayon(ra, t) / r;\n vec2 qb = q * rayon(rb, t) / r;\n // l'image couvre le viewBox ; sa premiere ligne est le haut\n vec4 a = texture(ta, (qa + 1.0) * 0.5);\n vec4 b = texture(tb, (qb + 1.0) * 0.5);\n couleur = mix(a, b, melange);\n}";
277
- function G(e) {
277
+ function K(e) {
278
278
  return new Promise((t, n) => {
279
279
  let r = new Image();
280
280
  r.onload = () => t(r), r.onerror = () => n(/* @__PURE__ */ Error(`warp: image introuvable ${e}`)), r.src = e;
@@ -319,7 +319,7 @@ function ve(e) {
319
319
  }, d = 0;
320
320
  return {
321
321
  async corps(e, t) {
322
- let n = ++d, [r, i] = await Promise.all([G(e), G(t)]);
322
+ let n = ++d, [r, i] = await Promise.all([K(e), K(t)]);
323
323
  n === d && (u(0, s, r), u(1, c, i));
324
324
  },
325
325
  dessine(n, r, i, a) {
@@ -330,32 +330,32 @@ function ve(e) {
330
330
  }
331
331
  };
332
332
  }
333
- var K = 316, ye = /* @__PURE__ */ T("<svg><image></svg>", 2), be = /* @__PURE__ */ T("<svg><foreignObject><canvas style=width:100%;height:100%;display:block></svg>", 2), xe = /* @__PURE__ */ T("<svg><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></svg>", 2), Se = /* @__PURE__ */ T("<svg><mask maskUnits=userSpaceOnUse><rect></svg>", 2), Ce = /* @__PURE__ */ T("<svg><defs><!><!><!><!></svg>", 2), q = (e, t) => _(D, {
333
+ var q = 316, ye = /* @__PURE__ */ D("<svg><image></svg>", 2), be = /* @__PURE__ */ D("<svg><foreignObject><canvas style=width:100%;height:100%;display:block></svg>", 2), xe = /* @__PURE__ */ D("<svg><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></svg>", 2), Se = /* @__PURE__ */ D("<svg><mask maskUnits=userSpaceOnUse><rect></svg>", 2), Ce = /* @__PURE__ */ D("<svg><defs><!><!><!><!></svg>", 2), J = (e, t) => v(k, {
334
334
  when: e,
335
335
  children: (e) => (() => {
336
336
  var n = ye();
337
- return S(n, "x", -158), S(n, "y", -158), S(n, "width", K), S(n, "height", K), S(n, "mask", t ? `url(#${t})` : void 0), v(() => e(), (e) => {
338
- S(n, "href", e);
337
+ return w(n, "x", -158), w(n, "y", -158), w(n, "width", q), w(n, "height", q), w(n, "mask", t ? `url(#${t})` : void 0), y(() => e(), (e) => {
338
+ w(n, "href", e);
339
339
  }), n;
340
340
  })()
341
341
  });
342
342
  function we(e) {
343
- let t = () => e.rendu().corps === "deux", [n, r] = A(!1), i = () => e.transition === "warp" && t(), a = () => e.transition === "dissolve" && t();
343
+ let t = () => e.rendu().corps === "deux", [n, r] = M(!1), i = () => e.transition === "warp" && t(), a = () => e.transition === "dissolve" && t();
344
344
  return [
345
- _(D, {
345
+ v(k, {
346
346
  get when() {
347
347
  return i();
348
348
  },
349
349
  get children() {
350
- return _(Te, x(e, { onPret: r }));
350
+ return v(Te, S(e, { onPret: r }));
351
351
  }
352
352
  }),
353
- _(D, {
353
+ v(k, {
354
354
  get when() {
355
355
  return a();
356
356
  },
357
357
  get children() {
358
- return _(De, {
358
+ return v(De, {
359
359
  get passage() {
360
360
  return e.passage;
361
361
  },
@@ -363,27 +363,27 @@ function we(e) {
363
363
  });
364
364
  }
365
365
  }),
366
- _(D, {
366
+ v(k, {
367
367
  get when() {
368
- return b(() => !(i() && n()))() && !a();
368
+ return x(() => !(i() && n()))() && !a();
369
369
  },
370
370
  get children() {
371
- return q(e.rendu().corps === "avant" ? e.passage.avant.url : e.passage.apres.url);
371
+ return J(e.rendu().corps === "avant" ? e.passage.avant.url : e.passage.apres.url);
372
372
  }
373
373
  })
374
374
  ];
375
375
  }
376
376
  function Te(e) {
377
- let [t, n] = A(!1), r = Math.round((e.size ?? K) * (globalThis.devicePixelRatio || 1)), i, a = () => i ? ve(i) : null, o = null;
378
- M(() => {
377
+ let [t, n] = M(!1), r = Math.round((e.size ?? q) * (globalThis.devicePixelRatio || 1)), i, a = () => i ? ve(i) : null, o = null;
378
+ te(() => {
379
379
  o?.detruit(), e.onPret(!1);
380
- }), O(() => e.passage, (t) => {
380
+ }), A(() => e.passage, (t) => {
381
381
  o ??= a();
382
382
  let { avant: r, apres: i } = t;
383
383
  !o || !r.url || !i.url || (n(!1), e.onPret(!1), o.corps(r.url, i.url).then(() => {
384
384
  n(!0), e.onPret(!0);
385
385
  }));
386
- }), O(() => {
386
+ }), A(() => {
387
387
  if (!t()) return null;
388
388
  let n = e.passage;
389
389
  return {
@@ -397,15 +397,15 @@ function Te(e) {
397
397
  o.dessine(t.avant.radii, t.apres.radii, he(t.avant.radii, t.apres.radii, n), r);
398
398
  });
399
399
  var s = be(), c = s.firstChild;
400
- S(s, "x", -158), S(s, "y", -158), S(s, "width", K), S(s, "height", K);
400
+ w(s, "x", -158), w(s, "y", -158), w(s, "width", q), w(s, "height", q);
401
401
  var l = i;
402
- return typeof l == "function" || Array.isArray(l) ? ee(() => l, c) : i = c, S(c, "width", r), S(c, "height", r), v(() => t() ? "inline" : "none", (e) => {
403
- C(s, "display", e);
402
+ return typeof l == "function" || Array.isArray(l) ? C(() => l, c) : i = c, w(c, "width", r), w(c, "height", r), y(() => t() ? "inline" : "none", (e) => {
403
+ T(s, "display", e);
404
404
  }), s;
405
405
  }
406
406
  var Ee = .12;
407
407
  function De(e) {
408
- let t = j(), n = (t) => {
408
+ let t = ee(), n = (t) => {
409
409
  let n = e.melange(), r = -1 / (.4 * Ee), i = (n * 1.12 + .75) / Ee;
410
410
  return t ? {
411
411
  pente: 20.833333333333332,
@@ -416,7 +416,7 @@ function De(e) {
416
416
  };
417
417
  }, r = (e, t) => (() => {
418
418
  var r = xe(), i = r.firstChild.nextSibling.nextSibling.firstChild, a = i.nextSibling, o = a.nextSibling;
419
- return S(r, "id", e), S(r, "x", -158), S(r, "y", -158), S(r, "width", K), S(r, "height", K), v(() => ({
419
+ return w(r, "id", e), w(r, "x", -158), w(r, "y", -158), w(r, "width", q), w(r, "height", q), y(() => ({
420
420
  e: n(t).pente,
421
421
  t: n(t).origine,
422
422
  a: n(t).pente,
@@ -424,19 +424,19 @@ function De(e) {
424
424
  i: n(t).pente,
425
425
  n: n(t).origine
426
426
  }), ({ e, t, a: n, o: r, i: s, n: c }, l) => {
427
- e !== l?.e && S(i, "slope", e), t !== l?.t && S(i, "intercept", t), n !== l?.a && S(a, "slope", n), r !== l?.o && S(a, "intercept", r), s !== l?.i && S(o, "slope", s), c !== l?.n && S(o, "intercept", c);
427
+ e !== l?.e && w(i, "slope", e), t !== l?.t && w(i, "intercept", t), n !== l?.a && w(a, "slope", n), r !== l?.o && w(a, "intercept", r), s !== l?.i && w(o, "slope", s), c !== l?.n && w(o, "intercept", c);
428
428
  }), r;
429
429
  })(), i = (e, t) => (() => {
430
430
  var n = Se(), r = n.firstChild;
431
- return S(n, "id", e), S(n, "x", -158), S(n, "y", -158), S(n, "width", K), S(n, "height", K), S(r, "x", -158), S(r, "y", -158), S(r, "width", K), S(r, "height", K), S(r, "filter", `url(#${t})`), n;
431
+ return w(n, "id", e), w(n, "x", -158), w(n, "y", -158), w(n, "width", q), w(n, "height", q), w(r, "x", -158), w(r, "y", -158), w(r, "width", q), w(r, "height", q), w(r, "filter", `url(#${t})`), n;
432
432
  })();
433
433
  return [
434
434
  (() => {
435
435
  var e = Ce(), n = e.firstChild, a = n.nextSibling, o = a.nextSibling, s = o.nextSibling;
436
- return y(e, () => r(`${t}-fa`, !0), n), y(e, () => r(`${t}-fb`, !1), a), y(e, () => i(`${t}-ma`, `${t}-fa`), o), y(e, () => i(`${t}-mb`, `${t}-fb`), s), e;
436
+ return b(e, () => r(`${t}-fa`, !0), n), b(e, () => r(`${t}-fb`, !1), a), b(e, () => i(`${t}-ma`, `${t}-fa`), o), b(e, () => i(`${t}-mb`, `${t}-fb`), s), e;
437
437
  })(),
438
- b(() => q(e.passage.avant.url, `${t}-ma`)),
439
- b(() => q(e.passage.apres.url, `${t}-mb`))
438
+ x(() => J(e.passage.avant.url, `${t}-ma`)),
439
+ x(() => J(e.passage.apres.url, `${t}-mb`))
440
440
  ];
441
441
  }
442
442
  //#endregion
@@ -477,7 +477,7 @@ function Ae(e) {
477
477
  }
478
478
  //#endregion
479
479
  //#region src/plush/motion.ts
480
- var je = (e) => e === "thinking" || e === "asleep" || e === "failed" ? "idle" : e, J = (e) => m.get(e === "asleep" ? "sleep" : e === "failed" ? "idle" : e).morph, Me = {
480
+ var je = (e) => e === "thinking" || e === "asleep" || e === "failed" ? "idle" : e, Y = (t) => e.get(t === "asleep" ? "sleep" : t === "failed" ? "idle" : t).morph, Me = {
481
481
  yaw: 0,
482
482
  pitch: 0,
483
483
  mix: 0,
@@ -503,51 +503,51 @@ var je = (e) => e === "thinking" || e === "asleep" || e === "failed" ? "idle" :
503
503
  spin: f(e.spin, t.spin, n),
504
504
  wander: f(e.wander, t.wander, n),
505
505
  ...e.blink === void 0 && t.blink === void 0 ? {} : { blink: f(e.blink ?? 1, t.blink ?? 1, n) }
506
- }), Le = (e, t, n) => (r) => Ie(e, t, p.easeOutQuint(a(r / n))), Y = .8, Re = (e) => e <= 0 || e >= .8 ? 0 : 12 * Math.sin(2 * h * e / Y) * Math.sin(Math.PI * e / Y);
507
- function ze(e, t) {
508
- let n = Le(e, Fe(t), J(t));
506
+ }), Le = (e, t, n) => (r) => Ie(e, t, u.easeOutQuint(d(r / n))), Re = .8, ze = (e) => e <= 0 || e >= .8 ? 0 : 12 * Math.sin(2 * r * e / Re) * Math.sin(Math.PI * e / Re);
507
+ function Be(e, t) {
508
+ let n = Le(e, Fe(t), Y(t));
509
509
  return t === "failed" ? (e) => {
510
510
  let t = n(e);
511
511
  return {
512
512
  ...t,
513
- spin: t.spin + Re(e)
513
+ spin: t.spin + ze(e)
514
514
  };
515
515
  } : n;
516
516
  }
517
- var Be = t.get("somnolent"), Ve = {
517
+ var Ve = c.get("somnolent"), He = {
518
518
  w: .3,
519
- h: m.get("wink").pose(0).eyes[1].h,
519
+ h: e.get("wink").pose(0).eyes[1].h,
520
520
  open: 1,
521
521
  tilt: 0
522
- }, He = {
522
+ }, Ue = {
523
523
  id: "plush-asleep",
524
- gaze: Be.gaze,
525
- split: Be.split,
526
- eyes: [{ ...Ve }, { ...Ve }]
527
- }, Ue = t.get("triste"), We = 1.8, Ge = [.6, 1.7], Ke = (e) => +(e.eyes[1].w * e.eyes[1].h > e.eyes[0].w * e.eyes[0].h), qe = /* @__PURE__ */ new WeakMap();
528
- function Je(e) {
529
- let t = qe.get(e);
524
+ gaze: Ve.gaze,
525
+ split: Ve.split,
526
+ eyes: [{ ...He }, { ...He }]
527
+ }, We = c.get("triste"), Ge = 1.8, Ke = [.6, 1.7], qe = (e) => +(e.eyes[1].w * e.eyes[1].h > e.eyes[0].w * e.eyes[0].h), Je = /* @__PURE__ */ new WeakMap();
528
+ function Ye(e) {
529
+ let t = Je.get(e);
530
530
  if (!t) {
531
- let { w: n, h: r } = e.eyes[Ke(e)], i = n / r > Ge[0] && n / r < Ge[1] ? n / We : r, a = (e) => ({
531
+ let { w: n, h: r } = e.eyes[qe(e)], i = n / r > Ke[0] && n / r < Ke[1] ? n / Ge : r, a = (e) => ({
532
532
  w: n,
533
533
  h: i,
534
- tilt: Ue.eyes[e].tilt,
534
+ tilt: We.eyes[e].tilt,
535
535
  open: 1
536
536
  });
537
537
  t = {
538
538
  id: `${e.id}-failed`,
539
- gaze: { ...Ue.gaze },
539
+ gaze: { ...We.gaze },
540
540
  split: e.split,
541
541
  eyes: [a(0), a(1)]
542
- }, qe.set(e, t);
542
+ }, Je.set(e, t);
543
543
  }
544
544
  return t;
545
545
  }
546
- var Ye = /* @__PURE__ */ new WeakMap();
547
- function Xe(e, t) {
548
- let n = Ye.get(e);
546
+ var Xe = /* @__PURE__ */ new WeakMap();
547
+ function Ze(e, t) {
548
+ let n = Xe.get(e);
549
549
  if (!n) {
550
- let r = e[Ke(t)];
550
+ let r = e[qe(t)];
551
551
  n = [{
552
552
  ...r,
553
553
  dx: e[0].dx,
@@ -556,20 +556,20 @@ function Xe(e, t) {
556
556
  ...r,
557
557
  dx: e[1].dx,
558
558
  dy: e[1].dy
559
- }], Ye.set(e, n);
559
+ }], Xe.set(e, n);
560
560
  }
561
561
  return n;
562
562
  }
563
- var Ze = {
563
+ var Qe = {
564
564
  from: null,
565
565
  at: -Infinity,
566
566
  start: 1
567
- }, Qe = (e, t) => e.from ? e.start + (1 - e.start) * p.easeOutQuint(a((t - e.at) / l.SHAPE_MORPH)) : 1, $e = (e, t, n) => ({
567
+ }, $e = (e, n) => e.from ? e.start + (1 - e.start) * u.easeOutQuint(d((n - e.at) / t.SHAPE_MORPH)) : 1, et = (e, t, n) => ({
568
568
  from: t,
569
569
  at: n,
570
- start: 1 - Qe(e, n)
570
+ start: 1 - $e(e, n)
571
571
  });
572
- function et(e, t) {
572
+ function tt(e, t) {
573
573
  let n = e.map(() => ({
574
574
  x: 0,
575
575
  y: 0
@@ -590,13 +590,13 @@ function et(e, t) {
590
590
  y: (t - 1) * ((e[5] ?? 0) - u)
591
591
  }));
592
592
  }
593
- var tt = (e) => (e.match(/-?[\d.]+(?:e-?\d+)?/g) ?? []).map(Number), nt = 30 / 205, rt = .1, it = r(0);
594
- function at(e, t) {
593
+ var nt = (e) => (e.match(/-?[\d.]+(?:e-?\d+)?/g) ?? []).map(Number), rt = 30 / 205, it = .1, at = s(0);
594
+ function ot(e, t) {
595
595
  if (t >= 1) return;
596
596
  let [n = 1, r = 0, i = 0, a = 1] = e, o = r / t, s = a / t, c = n * a - r * i;
597
597
  return `matrix(${(a * n - i * o) / c},${(n * o - r * n) / c},${(a * i - i * s) / c},${(n * s - r * i) / c},0,0)`;
598
598
  }
599
- function ot(e, t, n, r, i) {
599
+ function st(e, t, n, r, i) {
600
600
  if (n >= 1) return {
601
601
  w: r,
602
602
  h: i
@@ -607,26 +607,26 @@ function ot(e, t, n, r, i) {
607
607
  h: i * Math.hypot(s, u * n) / Math.hypot(s, u)
608
608
  };
609
609
  }
610
- function st(e, t, n, r, i) {
610
+ function ct(e, t, n, r, i) {
611
611
  if (t >= n) return null;
612
- let [, , , , o = 0, s = 0] = e, c = a((t - it) / (n - it)), l = Math.min(r.x, r.y), u = nt * 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 = rt * 2 * l, m = [];
612
+ let [, , , , a = 0, o = 0] = e, s = d((t - at) / (n - at)), c = Math.min(r.x, r.y), l = rt * 2 * c, u = Math.max(l, Math.hypot(i.x - r.x + c, i.y - r.y + c) - c), f = l + s ** 8 * (u - l), p = it * 2 * c, m = [];
613
613
  for (let e = 3; e >= 0; e--) {
614
614
  let t = f + p * e / 4;
615
615
  m.push({
616
616
  w: r.x + t,
617
617
  h: r.y + t,
618
- r: l + t,
618
+ r: c + t,
619
619
  alpha: 1 / (e + 1)
620
620
  });
621
621
  }
622
622
  return {
623
- x: o,
624
- y: s,
625
- s: c,
623
+ x: a,
624
+ y: o,
625
+ s,
626
626
  bands: m
627
627
  };
628
628
  }
629
- var ct = (e, t) => e === "asleep" ? He : e === "failed" ? Je(t) : null, lt = .62, ut = -1.3, dt = .6, ft = .3, X = {
629
+ var lt = (e, t) => e === "asleep" ? Ue : e === "failed" ? Ye(t) : null, ut = .62, dt = -1.3, ft = .6, pt = .3, X = {
630
630
  phase: 0,
631
631
  at: -Infinity,
632
632
  from: 0,
@@ -635,9 +635,9 @@ var ct = (e, t) => e === "asleep" ? He : e === "failed" ? Je(t) : null, lt = .62
635
635
  };
636
636
  function Z(e, t) {
637
637
  let n = t - e.at;
638
- return e.on ? e.from + (1 - e.from) * p.easeOutCubic(a(n / ft)) : e.from * (1 - p.easeOutQuint(a(n / e.exit)));
638
+ return e.on ? e.from + (1 - e.from) * u.easeOutCubic(d(n / pt)) : e.from * (1 - u.easeOutQuint(d(n / e.exit)));
639
639
  }
640
- function pt(e, t, n, r) {
640
+ function mt(e, t, n, r) {
641
641
  if (t === e.on) return e;
642
642
  let i = Z(e, n);
643
643
  return {
@@ -645,49 +645,49 @@ function pt(e, t, n, r) {
645
645
  at: n,
646
646
  from: i,
647
647
  on: t,
648
- exit: J(r)
648
+ exit: Y(r)
649
649
  };
650
650
  }
651
- function mt(t, r) {
652
- let i = Z(t, r);
653
- return i < .001 ? [] : n.map((n, a) => {
654
- let o = e(r - t.phase, a);
651
+ function ht(e, t) {
652
+ let r = Z(e, t);
653
+ return r < .001 ? [] : i.map((i, a) => {
654
+ let o = p(t - e.phase, a);
655
655
  return {
656
- x: lt + n * dt,
657
- y: ut,
658
- r: d * dt * (1 + (u - 1) * o) * (.5 + .5 * i),
659
- opacity: i * (.55 + .45 * o)
656
+ x: ut + i * ft,
657
+ y: dt,
658
+ r: n * ft * (1 + (l - 1) * o) * (.5 + .5 * r),
659
+ opacity: r * (.55 + .45 * o)
660
660
  };
661
661
  });
662
662
  }
663
- var ht = 3, gt = {
663
+ var gt = 3, _t = {
664
664
  x: .55,
665
665
  y: -.74
666
- }, _t = {
666
+ }, vt = {
667
667
  x: 1.25,
668
668
  y: -1.38
669
- }, vt = [.1, .2];
670
- function yt(e, t) {
669
+ }, yt = [.1, .2];
670
+ function bt(e, t) {
671
671
  let n = Z(e, t);
672
672
  if (n < .001) return [];
673
- let r = [];
674
- for (let i = 0; i < ht; i++) {
675
- let o = (((t - e.phase) / 3 - i / ht) % 1 + 1) % 1, s = a(o / .15) * a((1 - o) / .45);
676
- s * n < .001 || r.push({
677
- x: f(gt.x, _t.x, o) + Math.sin(o * h) * .04,
678
- y: f(gt.y, _t.y, o),
679
- size: f(vt[0], vt[1], o),
673
+ let i = [];
674
+ for (let a = 0; a < gt; a++) {
675
+ let o = (((t - e.phase) / 3 - a / gt) % 1 + 1) % 1, s = d(o / .15) * d((1 - o) / .45);
676
+ s * n < .001 || i.push({
677
+ x: f(_t.x, vt.x, o) + Math.sin(o * r) * .04,
678
+ y: f(_t.y, vt.y, o),
679
+ size: f(yt[0], yt[1], o),
680
680
  opacity: s * n
681
681
  });
682
682
  }
683
- return r;
683
+ return i;
684
684
  }
685
685
  //#endregion
686
686
  //#region src/plush/layer.tsx
687
- var bt = /* @__PURE__ */ T("<svg><g><!><!></svg>", 2), xt = /* @__PURE__ */ T("<svg><g></svg>", 2), St = /* @__PURE__ */ T("<svg preserveAspectRatio=none><image width=1 height=1 preserveAspectRatio=none>"), Ct = /* @__PURE__ */ T("<svg><g><g><!><!></svg>", 2), wt = /* @__PURE__ */ T("<svg><g><path fill=none stroke=#1c1a1d stroke-linecap=round></svg>", 2), Tt = /* @__PURE__ */ T("<svg><mask><g><g><g></svg>", 2), Et = /* @__PURE__ */ T("<svg><rect fill=#fff></svg>", 2), Dt = /* @__PURE__ */ T("<svg><image></svg>", 2), Ot = /* @__PURE__ */ T("<svg><path fill=none stroke-linecap=round stroke-linejoin=round></svg>", 2), Q = .8, kt = .24, $ = (e) => Math.round(e * 10) / 10, At = .42, jt = .2, Mt = "mix-blend-mode:plus-lighter", Nt = "isolation:isolate";
688
- function Pt(e) {
689
- let t = () => e.context.frame(), n = k(() => (t(), e.frozen ? W : me(e.transition, e.context.clock() - e.passage.debut)));
690
- O(() => {
687
+ var xt = /* @__PURE__ */ D("<svg><g><!><!></svg>", 2), St = /* @__PURE__ */ D("<svg><g></svg>", 2), Ct = /* @__PURE__ */ D("<svg preserveAspectRatio=none><image width=1 height=1 preserveAspectRatio=none>"), wt = /* @__PURE__ */ D("<svg><g><g><!><!></svg>", 2), Tt = /* @__PURE__ */ D("<svg><g><path fill=none stroke=#1c1a1d stroke-linecap=round></svg>", 2), Et = /* @__PURE__ */ D("<svg><mask><g><g><g></svg>", 2), Dt = /* @__PURE__ */ D("<svg><rect fill=#fff></svg>", 2), Ot = /* @__PURE__ */ D("<svg><image></svg>", 2), kt = /* @__PURE__ */ D("<svg><path fill=none stroke-linecap=round stroke-linejoin=round></svg>", 2), Q = .8, At = .24, $ = (e) => Math.round(e * 10) / 10, jt = .42, Mt = .2, Nt = "mix-blend-mode:plus-lighter", Pt = "isolation:isolate";
688
+ function Ft(e) {
689
+ let t = () => e.context.frame(), n = j(() => (t(), e.frozen ? G : me(e.transition, e.context.clock() - e.passage.debut)));
690
+ A(() => {
691
691
  let { bascule: e, fini: t } = n();
692
692
  return `${e}|${t}`;
693
693
  }, (t) => {
@@ -700,10 +700,10 @@ function Pt(e) {
700
700
  let r = () => {
701
701
  let { sx: e, sy: t } = n();
702
702
  return e === 1 && t === 1 ? void 0 : `scale(${e},${t})`;
703
- }, i = k(() => (t(), mt(e.dots, e.context.time()))), a = k(() => (t(), yt(e.zs, e.context.time()))), o = k(() => (t(), e.padFade ? Qe(e.padFade, e.context.clock()) : 1)), s = k(() => (t(), Z(e.zs, e.context.time()))), c = k(() => {
703
+ }, i = j(() => (t(), ht(e.dots, e.context.time()))), a = j(() => (t(), bt(e.zs, e.context.time()))), o = j(() => (t(), e.padFade ? $e(e.padFade, e.context.clock()) : 1)), s = j(() => (t(), Z(e.zs, e.context.time()))), c = j(() => {
704
704
  let n = e.eyeScale ?? 1;
705
- return n === 1 ? null : et(t().eyes.map((t, n) => {
706
- let r = e.pads[n] ?? e.pads[0], i = tt(t.matrix);
705
+ return n === 1 ? null : tt(t().eyes.map((t, n) => {
706
+ let r = e.pads[n] ?? e.pads[0], i = nt(t.matrix);
707
707
  return i[4] = (i[4] ?? 0) + r.dx * 100, i[5] = (i[5] ?? 0) + r.dy * 100, {
708
708
  m: i,
709
709
  w: t.w,
@@ -713,8 +713,8 @@ function Pt(e) {
713
713
  }), l = () => e.eyeScale && e.eyeScale !== 1 ? ` scale(${e.eyeScale})` : "";
714
714
  return [
715
715
  (() => {
716
- var i = bt(), a = i.firstChild, u = a.nextSibling;
717
- return y(i, _(we, {
716
+ var i = xt(), a = i.firstChild, u = a.nextSibling;
717
+ return b(i, v(we, {
718
718
  get passage() {
719
719
  return e.passage;
720
720
  },
@@ -728,7 +728,7 @@ function Pt(e) {
728
728
  get size() {
729
729
  return e.size;
730
730
  }
731
- }), a), y(i, _(E, {
731
+ }), a), b(i, v(O, {
732
732
  get each() {
733
733
  return t().eyes;
734
734
  },
@@ -737,63 +737,63 @@ function Pt(e) {
737
737
  let r = () => e.pads[n] ?? e.pads[0], i = () => {
738
738
  let t = e.padFade?.from, i = t?.[n] ?? t?.[0];
739
739
  return i && i.file !== r().file && o() < 1 ? i : null;
740
- }, a = k(() => tt(t().matrix)), u = k(() => ot(a(), t().open, t().rest, t().w, t().h)), d = k(() => ke(r(), u().w, u().h)), f = k(() => at(a(), t().open)), p = k(() => {
740
+ }, a = j(() => nt(t().matrix)), u = j(() => st(a(), t().open, t().rest, t().w, t().h)), d = j(() => ke(r(), u().w, u().h)), f = j(() => ot(a(), t().open)), p = j(() => {
741
741
  let e = {
742
742
  x: u().w / 2,
743
743
  y: u().h / 2
744
744
  };
745
- return st(a(), t().open, t().rest, e, Ae(d()));
746
- }), m = `${e.context.uid}-paupiere-${n}`, h = () => r().dx * 100 + (c()?.[n]?.x ?? 0), g = () => r().dy * 100 + (c()?.[n]?.y ?? 0), b = (t, n, r) => {
745
+ return ct(a(), t().open, t().rest, e, Ae(d()));
746
+ }), m = `${e.context.uid}-paupiere-${n}`, h = () => r().dx * 100 + (c()?.[n]?.x ?? 0), _ = () => r().dy * 100 + (c()?.[n]?.y ?? 0), x = (t, n, r) => {
747
747
  let i = () => n().length > 1;
748
- var a = xt();
749
- return y(a, _(E, {
748
+ var a = St();
749
+ return b(a, v(O, {
750
750
  get each() {
751
751
  return n();
752
752
  },
753
753
  keyed: !1,
754
754
  children: (n) => (() => {
755
- var r = St(), a = r.firstChild;
756
- return v(() => ({
755
+ var r = Ct(), a = r.firstChild;
756
+ return y(() => ({
757
757
  e: n().x,
758
758
  t: n().y,
759
759
  a: n().w,
760
760
  o: n().h,
761
761
  i: n().viewBox,
762
- n: i() ? Mt : void 0,
762
+ n: i() ? Nt : void 0,
763
763
  s: e.padHref(t().images[n().src])
764
764
  }), ({ e, t, a: n, o: i, i: o, n: s, s: c }, l) => {
765
- e !== l?.e && S(r, "x", e), t !== l?.t && S(r, "y", t), n !== l?.a && S(r, "width", n), i !== l?.o && S(r, "height", i), o !== l?.i && S(r, "viewBox", o), w(r, s, l?.n), c !== l?.s && S(a, "href", c);
765
+ e !== l?.e && w(r, "x", e), t !== l?.t && w(r, "y", t), n !== l?.a && w(r, "width", n), i !== l?.o && w(r, "height", i), o !== l?.i && w(r, "viewBox", o), E(r, s, l?.n), c !== l?.s && w(a, "href", c);
766
766
  }), r;
767
767
  })()
768
- })), v(() => ({
768
+ })), y(() => ({
769
769
  e: r() < 1 ? r() : void 0,
770
770
  t: f(),
771
- a: i() ? Nt : void 0
771
+ a: i() ? Pt : void 0
772
772
  }), ({ e, t, a: n }, r) => {
773
- e !== r?.e && S(a, "opacity", e), t !== r?.t && S(a, "transform", t), w(a, n, r?.a);
773
+ e !== r?.e && w(a, "opacity", e), t !== r?.t && w(a, "transform", t), E(a, n, r?.a);
774
774
  }), a;
775
- }, x = () => `translate(${h()},${g()}) ${t().matrix}${l()}`;
776
- return [_(D, {
775
+ }, S = () => `translate(${h()},${_()}) ${t().matrix}${l()}`;
776
+ return [v(k, {
777
777
  get when() {
778
778
  return s() < 1;
779
779
  },
780
780
  get children() {
781
- var e = Ct(), n = e.firstChild, a = n.firstChild, c = a.nextSibling;
782
- return y(e, _(D, {
781
+ var e = wt(), n = e.firstChild, a = n.firstChild, c = a.nextSibling;
782
+ return b(e, v(k, {
783
783
  get when() {
784
784
  return p();
785
785
  },
786
786
  children: (e) => {
787
- let t = () => h() + e().x, n = () => g() + e().y;
788
- var r = Tt(), i = r.firstChild, a = i.firstChild, o = a.firstChild;
789
- return S(r, "id", m), y(o, _(E, {
787
+ let t = g(e), n = () => h() + t().x, r = () => _() + t().y;
788
+ var i = Et(), a = i.firstChild, o = a.firstChild, s = o.firstChild;
789
+ return w(i, "id", m), b(s, v(O, {
790
790
  get each() {
791
- return e().bands;
791
+ return t().bands;
792
792
  },
793
793
  keyed: !1,
794
794
  children: (e) => (() => {
795
- var t = Et();
796
- return v(() => ({
795
+ var t = Dt();
796
+ return y(() => ({
797
797
  e: -e().w,
798
798
  t: -e().h,
799
799
  a: 2 * e().w,
@@ -801,70 +801,70 @@ function Pt(e) {
801
801
  i: e().r,
802
802
  n: e().alpha
803
803
  }), ({ e, t: n, a: r, o: i, i: a, n: o }, s) => {
804
- e !== s?.e && S(t, "x", e), n !== s?.t && S(t, "y", n), r !== s?.a && S(t, "width", r), i !== s?.o && S(t, "height", i), a !== s?.i && S(t, "rx", a), o !== s?.n && S(t, "fill-opacity", o);
804
+ e !== s?.e && w(t, "x", e), n !== s?.t && w(t, "y", n), r !== s?.a && w(t, "width", r), i !== s?.o && w(t, "height", i), a !== s?.i && w(t, "rx", a), o !== s?.n && w(t, "fill-opacity", o);
805
805
  }), t;
806
806
  })()
807
- })), v(() => ({
808
- e: `translate(${t()},${n()}) scale(1,${e().s}) translate(${-t()},${-n()})`,
809
- t: x(),
807
+ })), y(() => ({
808
+ e: `translate(${n()},${r()}) scale(1,${t().s}) translate(${-n()},${-r()})`,
809
+ t: S(),
810
810
  a: f()
811
811
  }), ({ e, t, a: n }, r) => {
812
- e !== r?.e && S(i, "transform", e), t !== r?.t && S(a, "transform", t), n !== r?.a && S(o, "transform", n);
813
- }), r;
812
+ e !== r?.e && w(a, "transform", e), t !== r?.t && w(o, "transform", t), n !== r?.a && w(s, "transform", n);
813
+ }), i;
814
814
  }
815
- }), e.firstChild), y(n, _(D, {
815
+ }), e.firstChild), b(n, v(k, {
816
816
  get when() {
817
817
  return i();
818
818
  },
819
819
  children: (e) => {
820
- let t = k(() => ke(e(), u().w, u().h));
821
- return b(e, t, () => (1 - s()) * (1 - o()));
820
+ let t = g(e), n = j(() => ke(t(), u().w, u().h));
821
+ return x(t, n, () => (1 - s()) * (1 - o()));
822
822
  }
823
- }), a), y(n, () => b(r, d, () => (1 - s()) * (i() ? o() : 1)), c), v(() => ({
823
+ }), a), b(n, () => x(r, d, () => (1 - s()) * (i() ? o() : 1)), c), y(() => ({
824
824
  e: p() ? `url(#${m})` : void 0,
825
- t: x(),
825
+ t: S(),
826
826
  a: t().alpha
827
827
  }), ({ e: t, t: r, a: i }, a) => {
828
- t !== a?.e && S(e, "mask", t), r !== a?.t && S(n, "transform", r), i !== a?.a && S(n, "opacity", i);
828
+ t !== a?.e && w(e, "mask", t), r !== a?.t && w(n, "transform", r), i !== a?.a && w(n, "opacity", i);
829
829
  }), e;
830
830
  }
831
- }), _(D, {
831
+ }), v(k, {
832
832
  get when() {
833
833
  return s() > 0;
834
834
  },
835
835
  get children() {
836
- var e = wt(), n = e.firstChild;
837
- return v(() => ({
838
- e: x(),
836
+ var e = Tt(), n = e.firstChild;
837
+ return y(() => ({
838
+ e: S(),
839
839
  t: t().alpha,
840
- a: `M${$(-t().w / 2)},0Q0,${$(t().w * At)} ${$(t().w / 2)},0`,
841
- o: $(t().w * jt),
840
+ a: `M${$(-t().w / 2)},0Q0,${$(t().w * jt)} ${$(t().w / 2)},0`,
841
+ o: $(t().w * Mt),
842
842
  i: s()
843
843
  }), ({ e: t, t: r, a: i, o: a, i: o }, s) => {
844
- t !== s?.e && S(e, "transform", t), r !== s?.t && S(e, "opacity", r), i !== s?.a && S(n, "d", i), a !== s?.o && S(n, "stroke-width", a), o !== s?.i && S(n, "opacity", o);
844
+ t !== s?.e && w(e, "transform", t), r !== s?.t && w(e, "opacity", r), i !== s?.a && w(n, "d", i), a !== s?.o && w(n, "stroke-width", a), o !== s?.i && w(n, "opacity", o);
845
845
  }), e;
846
846
  }
847
847
  })];
848
848
  }
849
- }), u), v(() => ({
849
+ }), u), y(() => ({
850
850
  e: t().bodyAlpha,
851
851
  t: r()
852
852
  }), ({ e, t }, n) => {
853
- e !== n?.e && S(i, "opacity", e), t !== n?.t && S(i, "transform", t);
853
+ e !== n?.e && w(i, "opacity", e), t !== n?.t && w(i, "transform", t);
854
854
  }), i;
855
855
  })(),
856
- _(D, {
856
+ v(k, {
857
857
  get when() {
858
858
  return e.dot;
859
859
  },
860
- children: (e) => _(E, {
860
+ children: (e) => v(O, {
861
861
  get each() {
862
862
  return i();
863
863
  },
864
864
  keyed: !1,
865
865
  children: (t) => (() => {
866
- var n = Dt();
867
- return v(() => ({
866
+ var n = Ot();
867
+ return y(() => ({
868
868
  e: e(),
869
869
  t: (t().x - t().r / Q) * 100,
870
870
  a: (t().y - t().r / Q) * 100,
@@ -872,12 +872,12 @@ function Pt(e) {
872
872
  i: 2 * t().r / Q * 100,
873
873
  n: t().opacity
874
874
  }), ({ e, t, a: r, o: i, i: a, n: o }, s) => {
875
- e !== s?.e && S(n, "href", e), t !== s?.t && S(n, "x", t), r !== s?.a && S(n, "y", r), i !== s?.o && S(n, "width", i), a !== s?.i && S(n, "height", a), o !== s?.n && S(n, "opacity", o);
875
+ e !== s?.e && w(n, "href", e), t !== s?.t && w(n, "x", t), r !== s?.a && w(n, "y", r), i !== s?.o && w(n, "width", i), a !== s?.i && w(n, "height", a), o !== s?.n && w(n, "opacity", o);
876
876
  }), n;
877
877
  })()
878
878
  })
879
879
  }),
880
- _(E, {
880
+ v(O, {
881
881
  get each() {
882
882
  return a();
883
883
  },
@@ -887,43 +887,44 @@ function Pt(e) {
887
887
  let { x: e, y: n, size: r } = t(), i = r * 100 / 2, a = e * 100, o = n * 100;
888
888
  return `M${$(a - i)},${$(o - i)}H${$(a + i)}L${$(a - i)},${$(o + i)}H${$(a + i)}`;
889
889
  };
890
- var r = Ot();
891
- return v(() => ({
890
+ var r = kt();
891
+ return y(() => ({
892
892
  e: n(),
893
893
  t: e.context.ink(),
894
- a: $(t().size * 100 * kt),
894
+ a: $(t().size * 100 * At),
895
895
  o: t().opacity
896
896
  }), ({ e, t, a: n, o: i }, a) => {
897
- e !== a?.e && S(r, "d", e), t !== a?.t && S(r, "stroke", t), n !== a?.a && S(r, "stroke-width", n), i !== a?.o && S(r, "opacity", i);
897
+ e !== a?.e && w(r, "d", e), t !== a?.t && w(r, "stroke", t), n !== a?.a && w(r, "stroke-width", n), i !== a?.o && w(r, "opacity", i);
898
898
  }), r;
899
899
  }
900
900
  }),
901
- _(D, {
901
+ v(k, {
902
902
  get when() {
903
- return b(() => !!e.notif)() ? t().notif : null;
903
+ return x(() => !!e.notif)() ? t().notif : null;
904
904
  },
905
- children: (t) => (() => {
906
- var n = Dt();
907
- return v(() => ({
905
+ children: (t) => {
906
+ let n = g(t);
907
+ var r = Ot();
908
+ return y(() => ({
908
909
  e: e.notif,
909
- t: t().x - t().r / Q,
910
- a: t().y - t().r / Q,
911
- o: 2 * t().r / Q,
912
- i: 2 * t().r / Q
913
- }), ({ e, t, a: r, o: i, i: a }, o) => {
914
- e !== o?.e && S(n, "href", e), t !== o?.t && S(n, "x", t), r !== o?.a && S(n, "y", r), i !== o?.o && S(n, "width", i), a !== o?.i && S(n, "height", a);
915
- }), n;
916
- })()
910
+ t: n().x - n().r / Q,
911
+ a: n().y - n().r / Q,
912
+ o: 2 * n().r / Q,
913
+ i: 2 * n().r / Q
914
+ }), ({ e, t, a: n, o: i, i: a }, o) => {
915
+ e !== o?.e && w(r, "href", e), t !== o?.t && w(r, "x", t), n !== o?.a && w(r, "y", n), i !== o?.o && w(r, "width", i), a !== o?.i && w(r, "height", a);
916
+ }), r;
917
+ }
917
918
  })
918
919
  ];
919
920
  }
920
921
  //#endregion
921
922
  //#region src/plush/tint.ts
922
- var Ft = .55, It = {
923
+ var It = .55, Lt = {
923
924
  gamma: .6,
924
925
  sheen: .08
925
- }, Lt = (e) => e <= .04045 ? e / 12.92 : ((e + .055) / 1.055) ** 2.4, Rt = (e) => e <= .0031308 ? e * 12.92 : 1.055 * e ** (1 / 2.4) - .055;
926
- function zt(e) {
926
+ }, Rt = (e) => e <= .04045 ? e / 12.92 : ((e + .055) / 1.055) ** 2.4, zt = (e) => e <= .0031308 ? e * 12.92 : 1.055 * e ** (1 / 2.4) - .055;
927
+ function Bt(e) {
927
928
  let t = Number.parseInt(e.slice(1), 16);
928
929
  return [
929
930
  t >> 16 & 255,
@@ -931,118 +932,124 @@ function zt(e) {
931
932
  t & 255
932
933
  ];
933
934
  }
934
- function Bt(e, { gamma: t, sheen: n } = It) {
935
- let r = zt(e).map((e) => Lt(e / 255)), i = Lt(Ft), a = /* @__PURE__ */ new Uint8ClampedArray(768);
935
+ function Vt(e, { gamma: t, sheen: n } = Lt) {
936
+ let r = Bt(e).map((e) => Rt(e / 255)), i = Rt(It), a = /* @__PURE__ */ new Uint8ClampedArray(768);
936
937
  for (let e = 0; e < 256; e++) {
937
- let o = (Lt(e / 255) / i) ** t, s = n * Math.max(0, (e / 255 - Ft) / .44999999999999996) ** 2;
938
+ let o = (Rt(e / 255) / i) ** t, s = n * Math.max(0, (e / 255 - It) / .44999999999999996) ** 2;
938
939
  for (let t = 0; t < 3; t++) {
939
940
  let n = Math.min(1, r[t] * o);
940
- a[e * 3 + t] = Math.round(Rt(n + (1 - n) * s) * 255);
941
+ a[e * 3 + t] = Math.round(zt(n + (1 - n) * s) * 255);
941
942
  }
942
943
  }
943
944
  return a;
944
945
  }
945
- var Vt = /* @__PURE__ */ new Map();
946
- function Ht(e) {
946
+ var Ht = /* @__PURE__ */ new Map();
947
+ function Ut(e) {
948
+ return new Promise((t, n) => {
949
+ let r = new FileReader();
950
+ 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);
951
+ });
952
+ }
953
+ function Wt(e) {
947
954
  return new Promise((t, n) => {
948
955
  let r = new Image();
949
956
  r.crossOrigin = "anonymous", r.onload = () => t(r), r.onerror = () => n(/* @__PURE__ */ Error(`plush: image introuvable ${e}`)), r.src = e;
950
957
  });
951
958
  }
952
- function Ut(e, t) {
953
- let n = `${t.toLowerCase()} ${e}`, r = Vt.get(n);
954
- return r || (r = Ht(e).then((e) => {
959
+ function Gt(e, t) {
960
+ let n = `${t.toLowerCase()} ${e}`, r = Ht.get(n);
961
+ return r || (r = Wt(e).then((e) => {
955
962
  let n = document.createElement("canvas");
956
963
  n.width = e.naturalWidth, n.height = e.naturalHeight;
957
964
  let r = n.getContext("2d", { willReadFrequently: !0 });
958
965
  r.drawImage(e, 0, 0);
959
- let i = r.getImageData(0, 0, n.width, n.height), a = Bt(t), o = i.data;
966
+ let i = r.getImageData(0, 0, n.width, n.height), a = Vt(t), o = i.data;
960
967
  for (let e = 0; e < o.length; e += 4) {
961
968
  let t = o[e] * 3;
962
969
  o[e] = a[t], o[e + 1] = a[t + 1], o[e + 2] = a[t + 2];
963
970
  }
964
- return r.putImageData(i, 0, 0), new Promise((e) => n.toBlob((t) => e(t ? URL.createObjectURL(t) : n.toDataURL()), "image/webp", .92));
965
- }), r.catch(() => Vt.delete(n)), Vt.set(n, r)), r;
971
+ return r.putImageData(i, 0, 0), new Promise((e) => n.toBlob(e, "image/webp", .92)).then((e) => e ? Ut(e) : n.toDataURL());
972
+ }), r.catch(() => Ht.delete(n)), Ht.set(n, r)), r;
966
973
  }
967
974
  //#endregion
968
975
  //#region src/plush/PlushBot.tsx
969
- var Wt = 2.4;
970
- function Gt(e) {
971
- let n = k(() => e.character ? R.get(e.character) ?? null : null), r = (t) => e.assetBase ? `${e.assetBase}${t}` : te[t] ?? "", a = k(() => {
976
+ var Kt = 2.4;
977
+ function qt(e) {
978
+ let n = j(() => e.character ? oe.get(e.character) ?? null : null), r = (t) => e.assetBase ? `${e.assetBase}${t}` : ne[t] ?? "", i = j(() => {
972
979
  let t = n();
973
980
  if (t) return t.ink;
974
981
  let r = e.color ?? "encre";
975
- return s.get(r)?.hex ?? (/^#[0-9a-f]{6}$/i.test(r) ? r : "#0a0a0c");
976
- }), u = k(() => n()?.shape ?? e.shape ?? "cercle"), d = t.get(c), f = () => e.state ?? "idle", p = () => e.transition ?? "flip", m = k(() => {
982
+ return o.get(r)?.hex ?? (/^#[0-9a-f]{6}$/i.test(r) ? r : "#0a0a0c");
983
+ }), s = j(() => n()?.shape ?? e.shape ?? "cercle"), l = c.get(_), u = () => e.state ?? "idle", d = () => e.transition ?? "flip", f = j(() => {
977
984
  let e = n(), t = e ? {
978
985
  url: r(e.body),
979
986
  hex: null
980
987
  } : {
981
- url: r(oe(u())),
982
- hex: a()
988
+ url: r(ce(s())),
989
+ hex: i()
983
990
  };
984
991
  return {
985
992
  clef: `${t.hex ?? ""}|${t.url}`,
986
993
  source: t,
987
- shape: u(),
988
- pads: e?.pads ?? [ae, ae],
994
+ shape: s(),
995
+ pads: e?.pads ?? [se, se],
989
996
  face: e?.face ?? null
990
997
  };
991
- }), h = (e) => ({
998
+ }), p = (e) => ({
992
999
  url: e.url,
993
- radii: i.get(e.shape)?.radii ?? []
994
- }), v = N(() => {
995
- let { source: e, ...t } = m();
1000
+ radii: a.get(e.shape)?.radii ?? []
1001
+ }), g = N(() => {
1002
+ let { source: e, ...t } = f();
996
1003
  return {
997
1004
  ...t,
998
1005
  url: null
999
1006
  };
1000
- }), [y, x] = A({
1001
- avant: v,
1002
- apres: v,
1007
+ }), [y, b] = M({
1008
+ avant: g,
1009
+ apres: g,
1003
1010
  debut: -Infinity
1004
- }), [ee, S] = A(!0), C = null, w = !1, T = null;
1005
- function E(t) {
1011
+ }), [S, C] = M(!0), w = null, T = !1, E = null;
1012
+ function D(t) {
1006
1013
  let n = N(y);
1007
1014
  if (n.apres.clef === t.clef) {
1008
- C = null, x({
1015
+ w = null, b({
1009
1016
  avant: n.avant.clef === t.clef ? t : n.avant,
1010
1017
  apres: t,
1011
1018
  debut: n.debut
1012
1019
  });
1013
1020
  return;
1014
1021
  }
1015
- if (w && N(p) !== "cut") {
1016
- C = t;
1022
+ if (T && N(d) !== "cut") {
1023
+ w = t;
1017
1024
  return;
1018
1025
  }
1019
- if (C = null, !T || N(() => e.frozenAt) !== void 0 || n.apres.url === null || N(p) === "cut") {
1020
- x({
1026
+ if (w = null, !E || N(() => e.frozenAt) !== void 0 || n.apres.url === null || N(d) === "cut") {
1027
+ b({
1021
1028
  avant: t,
1022
1029
  apres: t,
1023
1030
  debut: -Infinity
1024
- }), S(!0);
1031
+ }), C(!0);
1025
1032
  return;
1026
1033
  }
1027
- w = !0, T.hold(fe[N(p)]), x({
1034
+ T = !0, E.hold(fe[N(d)]), b({
1028
1035
  avant: n.apres,
1029
1036
  apres: t,
1030
- debut: T.clock()
1031
- }), S(me(N(p), 0).bascule);
1037
+ debut: E.clock()
1038
+ }), C(me(N(d), 0).bascule);
1032
1039
  }
1033
- function D(e) {
1034
- S(e.bascule), e.fini && (w = !1, C && E(C));
1040
+ function O(e) {
1041
+ C(e.bascule), e.fini && (T = !1, w && D(w));
1035
1042
  }
1036
- let j = () => {
1043
+ let k = () => {
1037
1044
  let e = y();
1038
- return ee() ? e.apres : e.avant;
1039
- }, ne = k(() => {
1040
- let n = ct(f(), j().face ?? d);
1041
- if (n) return n;
1042
- let r = e.expression;
1043
- return r === void 0 ? j().face ?? d : typeof r == "string" ? t.get(r) ?? d : r;
1044
- }), re = (e) => e === "failed" ? Xe(j().pads, j().face ?? d) : j().pads, P = k(() => re(f())), F = /* @__PURE__ */ new Set();
1045
- O(() => j().pads.flatMap((e) => [r(e.images.x), r(e.images.y)]).join("|"), (e) => {
1045
+ return S() ? e.apres : e.avant;
1046
+ }, ee = j(() => {
1047
+ let t = lt(u(), k().face ?? l);
1048
+ if (t) return t;
1049
+ let n = e.expression;
1050
+ return n === void 0 ? k().face ?? l : typeof n == "string" ? c.get(n) ?? l : n;
1051
+ }), P = (e) => e === "failed" ? Ze(k().pads, k().face ?? l) : k().pads, re = j(() => P(u())), F = /* @__PURE__ */ new Set();
1052
+ A(() => k().pads.flatMap((e) => [r(e.images.x), r(e.images.y)]).join("|"), (e) => {
1046
1053
  if (!(typeof Image > "u")) {
1047
1054
  F.clear();
1048
1055
  for (let t of e.split("|")) {
@@ -1051,83 +1058,83 @@ function Gt(e) {
1051
1058
  e.src = t, F.add(e);
1052
1059
  }
1053
1060
  }
1054
- }), M(() => F.clear());
1055
- let I = k(() => {
1061
+ }), te(() => F.clear());
1062
+ let ie = j(() => {
1056
1063
  let e = y();
1057
1064
  return {
1058
- avant: h(e.avant),
1059
- apres: h(e.apres),
1065
+ avant: p(e.avant),
1066
+ apres: p(e.apres),
1060
1067
  debut: e.debut
1061
1068
  };
1062
- }), [L, ie] = A(null), [ce, le] = A(null), z = !0;
1063
- M(() => {
1064
- z = !1;
1069
+ }), [I, L] = M(null), [ae, ue] = M(null), R = !0;
1070
+ te(() => {
1071
+ R = !1;
1065
1072
  });
1066
- function B(e, t) {
1073
+ function z(e, t) {
1067
1074
  let n = 0;
1068
- O(() => {
1075
+ A(() => {
1069
1076
  let { url: t, hex: n } = e();
1070
1077
  return `${n ?? ""}|${t}`;
1071
1078
  }, (e) => {
1072
1079
  let [r, i] = e.split("|"), a = ++n;
1073
1080
  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));
1081
+ typeof document > "u" || Gt(i, r).then((e) => R && a === n && t(e), () => R && a === n && t(null));
1075
1082
  });
1076
1083
  }
1077
- B(() => m().source, (e) => {
1078
- let { source: t, ...n } = N(m);
1079
- E({
1084
+ z(() => f().source, (e) => {
1085
+ let { source: t, ...n } = N(f);
1086
+ D({
1080
1087
  ...n,
1081
1088
  url: e
1082
1089
  });
1083
- }), B(() => ({
1084
- url: r(se),
1085
- hex: a()
1086
- }), ie), B(() => ({
1087
- url: r(se),
1088
- hex: o
1089
- }), le);
1090
- let V = Fe(N(f)), H = V, ue = (e) => ({ run: (t) => H = e(t) }), [de, U] = A(ue(() => V));
1091
- O(f, (e, t) => {
1092
- t !== void 0 && U(ue(ze(H, e)));
1090
+ }), z(() => ({
1091
+ url: r(le),
1092
+ hex: i()
1093
+ }), L), z(() => ({
1094
+ url: r(le),
1095
+ hex: m
1096
+ }), ue);
1097
+ let B = Fe(N(u)), V = B, H = (e) => ({ run: (t) => V = e(t) }), [de, U] = M(H(() => B));
1098
+ A(u, (e, t) => {
1099
+ t !== void 0 && U(H(Be(V, e)));
1093
1100
  });
1094
- let [pe, W] = A(N(f) === "thinking" ? {
1101
+ let [W, pe] = M(N(u) === "thinking" ? {
1095
1102
  ...X,
1096
1103
  from: 1,
1097
1104
  on: !0
1098
- } : X), [he, ge] = A(N(f) === "asleep" ? {
1105
+ } : X), [G, he] = M(N(u) === "asleep" ? {
1099
1106
  ...X,
1100
1107
  from: 1,
1101
1108
  on: !0
1102
- } : X), [_e, G] = A(Ze);
1103
- O(f, (t, n) => {
1104
- if (!T || n === void 0 || t === "failed" == (n === "failed") || N(() => e.frozenAt) !== void 0) return;
1105
- let r = N(() => re(n));
1106
- G((e) => $e(e, r, T.clock()));
1107
- }), O(f, (e) => {
1108
- T && (T.hold(Math.max(J(e), e === "failed" ? Y : 0, ft, l.SHAPE_MORPH)), W((t) => pt(t, e === "thinking", T.clock(), e)), ge((t) => pt(t, e === "asleep", T.clock(), e)));
1109
+ } : X), [ge, _e] = M(Qe);
1110
+ A(u, (t, n) => {
1111
+ if (!E || n === void 0 || t === "failed" == (n === "failed") || N(() => e.frozenAt) !== void 0) return;
1112
+ let r = N(() => P(n));
1113
+ _e((e) => et(e, r, E.clock()));
1114
+ }), A(u, (e) => {
1115
+ E && (E.hold(Math.max(Y(e), e === "failed" ? Re : 0, pt, t.SHAPE_MORPH)), pe((t) => mt(t, e === "thinking", E.clock(), e)), he((t) => mt(t, e === "asleep", E.clock(), e)));
1109
1116
  });
1110
- let ve = N(() => [{
1111
- state: je(f()),
1112
- duration: Wt
1117
+ let K = N(() => [{
1118
+ state: je(u()),
1119
+ duration: Kt
1113
1120
  }]);
1114
- return _(g, {
1121
+ return v(h, {
1115
1122
  get size() {
1116
1123
  return e.size;
1117
1124
  },
1118
1125
  get shape() {
1119
- return j().shape;
1126
+ return k().shape;
1120
1127
  },
1121
1128
  get color() {
1122
- return a();
1129
+ return i();
1123
1130
  },
1124
1131
  get expression() {
1125
- return ne();
1132
+ return ee();
1126
1133
  },
1127
1134
  get state() {
1128
- return je(f());
1135
+ return je(u());
1129
1136
  },
1130
- cycle: ve,
1137
+ cycle: K,
1131
1138
  get fps() {
1132
1139
  return e.fps;
1133
1140
  },
@@ -1141,7 +1148,7 @@ function Gt(e) {
1141
1148
  return e.frozenAt;
1142
1149
  },
1143
1150
  get follow() {
1144
- return b(() => !!e.follow)() ? f() === "idle" || f() === "wink" || f() === "wide" || f() === "notify" : e.follow;
1151
+ return x(() => !!e.follow)() ? u() === "idle" || u() === "wink" || u() === "wide" || u() === "notify" : e.follow;
1145
1152
  },
1146
1153
  get gaze() {
1147
1154
  return de().run;
@@ -1158,45 +1165,45 @@ function Gt(e) {
1158
1165
  get style() {
1159
1166
  return e.style;
1160
1167
  },
1161
- layer: (t) => (T = t, _(Pt, {
1168
+ layer: (t) => (E = t, v(Ft, {
1162
1169
  context: t,
1163
1170
  get passage() {
1164
- return I();
1171
+ return ie();
1165
1172
  },
1166
1173
  get transition() {
1167
- return p();
1174
+ return d();
1168
1175
  },
1169
1176
  get frozen() {
1170
1177
  return e.frozenAt !== void 0;
1171
1178
  },
1172
- onStep: D,
1179
+ onStep: O,
1173
1180
  get size() {
1174
1181
  return e.size;
1175
1182
  },
1176
1183
  get pads() {
1177
- return P();
1184
+ return re();
1178
1185
  },
1179
1186
  get eyeScale() {
1180
1187
  return e.eyeScale;
1181
1188
  },
1182
1189
  get padFade() {
1183
- return _e();
1190
+ return ge();
1184
1191
  },
1185
1192
  padHref: r,
1186
1193
  get dot() {
1187
- return L();
1194
+ return I();
1188
1195
  },
1189
1196
  get notif() {
1190
- return ce();
1197
+ return ae();
1191
1198
  },
1192
1199
  get dots() {
1193
- return pe();
1200
+ return W();
1194
1201
  },
1195
1202
  get zs() {
1196
- return he();
1203
+ return G();
1197
1204
  }
1198
1205
  }))
1199
1206
  });
1200
1207
  }
1201
1208
  //#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 };
1209
+ export { R as DEFAULT_TRANSITION, ae as PLUSH_CHARACTERS, oe as PLUSH_CHARACTER_BY_ID, P as PLUSH_SHAPES, re as PLUSH_STATES, ue as PLUSH_TRANSITIONS, qt as PlushBot, Vt as tintRamp };