@rydr/game-sdk 3.10.0 → 3.11.0

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.
Files changed (39) hide show
  1. package/dist/conversations/index.d.ts +15 -4
  2. package/dist/conversations/index.d.ts.map +1 -1
  3. package/dist/conversations/index.js +43 -14
  4. package/dist/conversations/index.js.map +1 -1
  5. package/dist/conversations/voice-samples.d.ts +45 -0
  6. package/dist/conversations/voice-samples.d.ts.map +1 -0
  7. package/dist/conversations/voice-samples.js +63 -0
  8. package/dist/conversations/voice-samples.js.map +1 -0
  9. package/dist/conversations/voices.d.ts +33 -5
  10. package/dist/conversations/voices.d.ts.map +1 -1
  11. package/dist/conversations/voices.js +59 -31
  12. package/dist/conversations/voices.js.map +1 -1
  13. package/dist/protocol/conversations.d.ts +2 -2
  14. package/dist/protocol/conversations.d.ts.map +1 -1
  15. package/dist/protocol/version.d.ts +1 -1
  16. package/dist/protocol/version.js +1 -1
  17. package/dist/ui/README.md +2 -0
  18. package/dist/ui/index.d.ts +2 -0
  19. package/dist/ui/index.d.ts.map +1 -1
  20. package/dist/ui/index.js +2 -0
  21. package/dist/ui/index.js.map +1 -1
  22. package/dist/ui/power-race.d.ts +125 -0
  23. package/dist/ui/power-race.d.ts.map +1 -0
  24. package/dist/ui/power-race.js +726 -0
  25. package/dist/ui/power-race.js.map +1 -0
  26. package/dist/ui/showcase/index.d.ts.map +1 -1
  27. package/dist/ui/showcase/index.js +45 -1
  28. package/dist/ui/showcase/index.js.map +1 -1
  29. package/dist/ui/styles.js +13 -0
  30. package/dist/ui/styles.js.map +1 -1
  31. package/dist/ui/subtitle.d.ts +27 -0
  32. package/dist/ui/subtitle.d.ts.map +1 -0
  33. package/dist/ui/subtitle.js +77 -0
  34. package/dist/ui/subtitle.js.map +1 -0
  35. package/dist/voice-gallery/index.d.ts +31 -0
  36. package/dist/voice-gallery/index.d.ts.map +1 -0
  37. package/dist/voice-gallery/index.js +276 -0
  38. package/dist/voice-gallery/index.js.map +1 -0
  39. package/package.json +5 -1
@@ -21,8 +21,10 @@ import type { GameDoc } from "../protocol/gamedata.js";
21
21
  import type { CatalogCharacter } from "../protocol/characters.js";
22
22
  import { type Conversation, type ConversationLine, type ConversationSpecLine } from "../protocol/conversations.js";
23
23
  import { type DialogueCard, type DialogueCardOptions } from "../ui/dialogue-card.js";
24
+ import { type Subtitle, type SubtitleOptions } from "../ui/subtitle.js";
24
25
  export * from "./hash.js";
25
26
  export * from "./voices.js";
27
+ export * from "./voice-samples.js";
26
28
  export { CONVERSATIONS_COLLECTION, VOICE_CAST_COLLECTION, DEFAULT_VOICEOVER_SPEED, synthDirection, type Conversation, type ConversationLine, type ConversationSpecLine, type VoiceCastEntry, type VoiceoverLang, } from "../protocol/conversations.js";
27
29
  /** The narrow session surface `defineConversation` needs — a `PlatformSession` satisfies it. */
28
30
  export interface ConversationSession {
@@ -54,8 +56,11 @@ export interface OpenedConversation {
54
56
  * these differ only in the visuals and how the line finishes (i.e. when its promise resolves):
55
57
  * - `"card"` — the SDK dialogue card + "continue" keycap; finishes when the game calls `advance()`
56
58
  * (wire it to a button press). Interactive pacing — for cutscenes/intro beats.
57
- * - `"auto"` — the card WITHOUT a continue prompt; auto-hides after a timer derived from the audio
58
- * length (`holdMs`, else `holdFactor × duration`). A self-dismissing subtitle.
59
+ * - `"auto"` — a boxless, self-dismissing SUBTITLE ({@link mountSubtitle}: a large centred caption +
60
+ * speaker name with a soft drop shadow, no frame — not the card), which auto-hides after a
61
+ * timer derived from the audio length (`holdMs`, else `holdFactor × duration`) and takes no
62
+ * continue prompt. Its position (anchor + offset) + name visibility come from
63
+ * {@link VoicePlayerOptions.subtitle}.
59
64
  * - `"none"` — nothing on screen; finishes when the audio `ended` fires. Voice-only.
60
65
  */
61
66
  export type VoiceDisplay = "card" | "auto" | "none";
@@ -85,12 +90,16 @@ export interface VoicePlayResult {
85
90
  * `"gated"` a {@link VoicePlayOptions.waitMs} gate elapsed and the line was left playing. */
86
91
  done: "ended" | "skipped" | "interrupted" | "timeout" | "gated";
87
92
  }
88
- /** Options for {@link ConversationDef.player}. Extends the dialogue-card options (used for `"card"`/`"auto"`). */
93
+ /** Options for {@link ConversationDef.player}. Extends the dialogue-card options (which apply to the
94
+ * `"card"` display mode); {@link subtitle} configures the `"auto"` mode instead. */
89
95
  export interface VoicePlayerOptions extends DialogueCardOptions {
90
96
  /** Default display mode for every `play()` (default `"card"` when a host is given, else `"none"`). */
91
97
  display?: VoiceDisplay;
92
98
  /** Default `"auto"` hold factor (default 1.5). */
93
99
  holdFactor?: number;
100
+ /** Look + placement of the `"auto"`-mode subtitle: `anchor`/`offset` (so it can clear a game's HUD),
101
+ * speaker-name visibility, and typewriter speed. Type sizes + shadow are fixed (contract). */
102
+ subtitle?: SubtitleOptions;
94
103
  }
95
104
  /**
96
105
  * An imperative, awaitable voice-over player: play a conversation's lines at ARBITRARY beats, each with
@@ -105,8 +114,10 @@ export interface VoicePlayerOptions extends DialogueCardOptions {
105
114
  * in the same pass — a `play()` before they land just runs silent (voice-over is a pure enhancement).
106
115
  */
107
116
  export interface VoicePlayer {
108
- /** The lazily-mounted dialogue card (for `"card"`/`"auto"` modes); `null` until one is needed / host-less. */
117
+ /** The lazily-mounted dialogue card (for the `"card"` mode); `null` until a `"card"` line plays / host-less. */
109
118
  readonly card: DialogueCard | null;
119
+ /** The lazily-mounted subtitle (for the `"auto"` mode); `null` until an `"auto"` line plays / host-less. */
120
+ readonly subtitle: Subtitle | null;
110
121
  /** Settles once the background gamedata read has landed — i.e. once {@link text} returns the EDITED
111
122
  * (voice-over-editor) words rather than the code fallback. `await player.ready` before you paint your
112
123
  * own cards from {@link text} if you need the edited text on the very first frame; a scene that only
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/conversations/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/conversations/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  import { CONVERSATIONS_COLLECTION, VOICE_CAST_COLLECTION, DEFAULT_VOICEOVER_SPEED, synthDirection, } from "../protocol/conversations.js";
2
2
  import { lineHash } from "./hash.js";
3
3
  import { mountDialogueCard, } from "../ui/dialogue-card.js";
4
+ import { mountSubtitle } from "../ui/subtitle.js";
4
5
  export * from "./hash.js";
5
6
  export * from "./voices.js";
7
+ export * from "./voice-samples.js";
6
8
  export { CONVERSATIONS_COLLECTION, VOICE_CAST_COLLECTION, DEFAULT_VOICEOVER_SPEED, synthDirection, } from "../protocol/conversations.js";
7
9
  /** Normalize authored spec lines to {@link ConversationLine}s (authored fields only). */
8
10
  function normalize(id, spec) {
@@ -163,6 +165,7 @@ export function defineConversation(id, spec, opts) {
163
165
  // text after; `ready` lets a scene await the resolved text before it paints cards (see below).
164
166
  const codeById = new Map(lines.map((l) => [l.id, l]));
165
167
  const resolvedText = new Map(); // gamedata → code, filled once resolved
168
+ const resolvedName = new Map(); // speaker display label, filled once resolved
166
169
  const pool = new Map();
167
170
  let disposed = false;
168
171
  let markReady;
@@ -175,6 +178,7 @@ export function defineConversation(id, spec, opts) {
175
178
  }
176
179
  for (const r of resolved) {
177
180
  resolvedText.set(r.id, r.text);
181
+ resolvedName.set(r.id, r.name);
178
182
  if (r.audioUrl) {
179
183
  const a = new Audio(r.audioUrl);
180
184
  a.preload = "auto";
@@ -196,11 +200,20 @@ export function defineConversation(id, spec, opts) {
196
200
  card = mountDialogueCard(host, cardOpts);
197
201
  return card;
198
202
  };
203
+ // The `"auto"` mode's surface: a boxless, self-dismissing subtitle (position + name from opts.subtitle).
204
+ let subtitle = null;
205
+ const ensureSubtitle = () => {
206
+ if (!host)
207
+ return null;
208
+ if (!subtitle)
209
+ subtitle = mountSubtitle(host, opts?.subtitle ?? {});
210
+ return subtitle;
211
+ };
199
212
  let unlocked = false;
200
213
  let current = null; // the line the caller is currently awaiting (the "gate")
201
214
  let pending = null; // a line whose autoplay was blocked, awaiting unlock()
202
215
  const detached = new Set(); // lines that gated early (waitMs) and keep playing out
203
- let cardOwner = null; // the single card shows at most one beat's text at a time
216
+ let surfaceOwner = null; // at most one beat's text shows on screen at a time (card OR subtitle)
204
217
  /** Resolve the gate promise exactly once (does NOT stop the presentation). */
205
218
  const settle = (b, done) => {
206
219
  if (b.settled)
@@ -222,9 +235,12 @@ export function defineConversation(id, spec, opts) {
222
235
  }
223
236
  catch { /* ignore */ }
224
237
  }
225
- if (b.usedCard && cardOwner === b) {
226
- card?.close();
227
- cardOwner = null;
238
+ if (b.surface && surfaceOwner === b) {
239
+ if (b.surface === "card")
240
+ card?.close();
241
+ else
242
+ subtitle?.close();
243
+ surfaceOwner = null;
228
244
  }
229
245
  if (current === b)
230
246
  current = null;
@@ -271,14 +287,17 @@ export function defineConversation(id, spec, opts) {
271
287
  finish(current, "interrupted"); // supersede the gating line (detached lines keep going)
272
288
  const line = codeById.get(lineId); // speaker + code-text fallback (sync)
273
289
  const shownText = resolvedText.get(lineId) ?? line?.text ?? ""; // edited text once resolved, else code
290
+ const speaker = resolvedName.get(lineId) ?? line?.characterId ?? ""; // display label once resolved, else id
274
291
  const want = pOpts?.display ?? defaultDisplay;
275
- const dlgCard = want !== "none" ? ensureCard() : null;
276
- // A card mode with no host degrades to audio-only "none".
277
- const mode = want !== "none" && !dlgCard ? "none" : want;
292
+ // Resolve the on-screen surface for this mode: "card" dialogue card, "auto" → boxless subtitle.
293
+ // A visual mode with no host degrades to audio-only "none".
294
+ const surface = want === "card" ? ensureCard() : want === "auto" ? ensureSubtitle() : null;
295
+ const surfaceKind = want === "card" && surface ? "card" : want === "auto" && surface ? "subtitle" : null;
296
+ const mode = want !== "none" && !surface ? "none" : want;
278
297
  const factor = pOpts?.holdFactor ?? defaultFactor;
279
298
  const audio = pool.get(lineId) ?? null; // background-resolved; null until the clip lands / if silent
280
299
  return new Promise((resolve) => {
281
- const b = { resolve, settled: false, timer: null, gateTimer: null, audio, offs: [], usedCard: mode !== "none", pausedByVis: false };
300
+ const b = { resolve, settled: false, timer: null, gateTimer: null, audio, offs: [], surface: surfaceKind, pausedByVis: false };
282
301
  current = b;
283
302
  if (pOpts?.signal) {
284
303
  if (pOpts.signal.aborted) {
@@ -290,10 +309,17 @@ export function defineConversation(id, spec, opts) {
290
309
  signal.addEventListener("abort", onAbort, { once: true });
291
310
  b.offs.push(() => signal.removeEventListener("abort", onAbort));
292
311
  }
293
- // Taking the card closes whatever it was showing (incl. a detached subtitle) — one text at a time.
294
- if (dlgCard && mode !== "none") {
295
- cardOwner = b;
296
- dlgCard.open(line?.characterId ?? "", [{ text: shownText }]);
312
+ // Taking a surface closes whatever the OTHER surface was showing (incl. a detached line) — one
313
+ // text on screen at a time, across both the card and the subtitle.
314
+ if (surfaceKind === "card") {
315
+ subtitle?.close();
316
+ surfaceOwner = b;
317
+ surface.open(speaker, [{ text: shownText }]);
318
+ }
319
+ else if (surfaceKind === "subtitle") {
320
+ card?.close();
321
+ surfaceOwner = b;
322
+ surface.open(speaker, shownText);
297
323
  }
298
324
  const startAudio = () => {
299
325
  if (!audio)
@@ -350,18 +376,19 @@ export function defineConversation(id, spec, opts) {
350
376
  const b = current;
351
377
  if (!b)
352
378
  return false;
353
- if (b.usedCard && card && cardOwner === b) {
379
+ if (b.surface === "card" && card && surfaceOwner === b) {
354
380
  const more = card.advance(); // first press finishes the typewriter, next closes the single-line card
355
381
  if (more)
356
382
  return true;
357
383
  finish(b, "ended");
358
384
  return false;
359
385
  }
360
- finish(b, "skipped"); // auto/none → A skips early
386
+ finish(b, "skipped"); // auto (subtitle) / none → A skips early
361
387
  return false;
362
388
  };
363
389
  return {
364
390
  get card() { return card; },
391
+ get subtitle() { return subtitle; },
365
392
  ready,
366
393
  text: (lineId) => resolvedText.get(lineId) ?? codeById.get(lineId)?.text ?? "",
367
394
  play,
@@ -385,6 +412,8 @@ export function defineConversation(id, spec, opts) {
385
412
  document.removeEventListener("visibilitychange", onVisibility);
386
413
  card?.dispose();
387
414
  card = null;
415
+ subtitle?.dispose();
416
+ subtitle = null;
388
417
  for (const a of pool.values()) {
389
418
  a.pause();
390
419
  a.removeAttribute("src");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/conversations/index.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,GAKf,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EACL,iBAAiB,GAIlB,MAAM,wBAAwB,CAAC;AAEhC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,GAMf,MAAM,8BAA8B,CAAC;AAuJtC,yFAAyF;AACzF,SAAS,SAAS,CAAC,EAAU,EAAE,IAA4B;IACzD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACzB,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,CAAC,EAAE;QACxB,WAAW,EAAE,CAAC,CAAC,OAAO;QACtB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,IAAI,EAAE,IAAa;KACpB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,uDAAuD;AACvD,KAAK,UAAU,iBAAiB,CAC9B,OAA4B,EAC5B,KAAyB;IAEzB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAmC,CAAC;IACvD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;YAAE,SAAS;QACrC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,oEAAoE;AACpE,KAAK,UAAU,WAAW,CACxB,OAA4B,EAC5B,KAAyB;IAEzB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAiC,CAAC;IACrD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;YAAE,SAAS;QACrC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC7F,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAG,GAAG,EAAE,IAAmC,IAAI,IAAI,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;mEAGmE;AACnE,SAAS,gBAAgB,CACvB,IAAsB,EACtB,MAAoC;IAEpC,OAAO;QACL,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,IAAI,CAAC,WAAW;QACpD,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI;QAC/B,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK;QAClC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK;KACnC,CAAC;AACJ,CAAC;AAED;6EAC6E;AAC7E,SAAS,WAAW,CAClB,GAA6D,EAC7D,SAAkC,EAClC,IAA2B;IAE3B,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,SAAS,EAAE,KAAK,CAAC;IAC9C,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,SAAS,EAAE,UAAU,CAAC;IACvD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,uBAAuB,CAAC;IAClE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;AACzE,CAAC;AAYD,6EAA6E;AAC7E,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,gHAAgH;AAChH,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,4GAA4G;AAC5G,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,4GAA4G;AAC5G,MAAM,aAAa;IAKwB;IAJjC,MAAM,GAAyC,IAAI,CAAC;IACpD,SAAS,CAAS;IAClB,SAAS,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,KAAK,CAAC;IACrB,YAAY,EAAU,EAAmB,EAAc;QAAd,OAAE,GAAF,EAAE,CAAY;QACrD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IACD,MAAM;QACJ,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACvG,CAAC;IACD,KAAK;QACH,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO;QACjC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM;QACJ,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;YAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAgBD,MAAM,UAAU,kBAAkB,CAChC,EAAU,EACV,IAA4B,EAC5B,IAA2B;IAE3B,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAElC;uFACmF;IACnF,MAAM,eAAe,GAAG,KAAK,EAAE,OAA4B,EAA2B,EAAE;QACtF,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAmB,CAAC;QAC5G,MAAM,WAAW,GAAG,IAAI,GAAG,EAA4B,CAAC;QACxD,KAAK,MAAM,CAAC,IAAK,MAAM,EAAE,IAAiC,EAAE,KAAK,IAAI,EAAE;YAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAClG,yGAAyG;QACzG,iFAAiF;QACjF,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACnH,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QAChH,MAAM,GAAG,GAAmB,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAChC,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAQ,8CAA8C;YACzF,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;YAC9C,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC;YAC5F,IAAI,QAA4B,CAAC;YACjC,IAAI,KAAK,EAAE,CAAC;gBACV,oGAAoG;gBACpG,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9F,IAAI,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI;oBAAE,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;YACjE,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,IAAI,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAgC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC9D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO;YAAE,OAAO,CAAC,0DAA0D;QACjG,MAAM,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAmB,CAAC;QAC9G,MAAM,QAAQ,GAAG,QAAQ,EAAE,IAAgC,CAAC;QAC5D,MAAM,IAAI,GAAG,IAAI,GAAG,EAA4B,CAAC;QACjD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,KAAK,IAAI,EAAE;YAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAEzD,mGAAmG;QACnG,sGAAsG;QACtG,kGAAkG;QAClG,qGAAqG;QACrG,MAAM,MAAM,GAAuB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACjD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACzB,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACnH,CAAC,CAAC,CAAC;QACH,MAAM,GAAG,GAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC9F,MAAM,OAAO,CAAC,WAAW,CAAC,wBAAwB,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAC/D,CAAC,CAAC;IAEF,MAAM,IAAI,GAA4B,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAClE,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,GAAG,GAAmB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACxG,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QACnC,OAAO;YACL,IAAI;YACJ,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE;YAC7B,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE;YACzB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE;SAC9B,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,MAAM,GAA8B,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAChE,MAAM,cAAc,GAAiB,IAAI,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC/E,MAAM,aAAa,GAAG,IAAI,EAAE,UAAU,IAAI,mBAAmB,CAAC;QAE9D,oGAAoG;QACpG,oGAAoG;QACpG,+FAA+F;QAC/F,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAU,CAAC,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAM,wCAAwC;QAC7F,MAAM,IAAI,GAAG,IAAI,GAAG,EAA4B,CAAC;QACjD,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,SAAsB,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,EAAE,GAAG,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAoB,CAAC,CAAC;YAClF,IAAI,QAAQ,EAAE,CAAC;gBAAC,SAAS,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YACtC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAAC,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAAC,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC;oBAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBAAC,CAAC;YAC7F,CAAC;YACD,SAAS,EAAE,CAAC;QACd,CAAC,CAAC,EAAE,CAAC;QAEL,iGAAiG;QACjG,MAAM,QAAQ,GAAwB;YACpC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;YACpF,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;SACvF,CAAC;QACF,IAAI,IAAI,GAAwB,IAAI,CAAC;QACrC,MAAM,UAAU,GAAG,GAAwB,EAAE;YAC3C,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;YACvB,IAAI,CAAC,IAAI;gBAAE,IAAI,GAAG,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,OAAO,GAAgB,IAAI,CAAC,CAAc,yDAAyD;QACvG,IAAI,OAAO,GAAgB,IAAI,CAAC,CAAc,uDAAuD;QACrG,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAQ,CAAC,CAAa,uDAAuD;QACrG,IAAI,SAAS,GAAgB,IAAI,CAAC,CAAY,0DAA0D;QAExG,8EAA8E;QAC9E,MAAM,MAAM,GAAG,CAAC,CAAO,EAAE,IAA6B,EAAQ,EAAE;YAC9D,IAAI,CAAC,CAAC,OAAO;gBAAE,OAAO;YACtB,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACtB,CAAC,CAAC;QAEF,iFAAiF;QACjF,MAAM,QAAQ,GAAG,CAAC,CAAO,EAAQ,EAAE;YACjC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YAClB,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;YACtB,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI;gBAAE,GAAG,EAAE,CAAC;YAChC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;YACZ,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBAAC,IAAI,CAAC;oBAAC,CAAC,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAAC,CAAC;YACzF,IAAI,CAAC,CAAC,QAAQ,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;gBAAC,IAAI,EAAE,KAAK,EAAE,CAAC;gBAAC,SAAS,GAAG,IAAI,CAAC;YAAC,CAAC;YACvE,IAAI,OAAO,KAAK,CAAC;gBAAE,OAAO,GAAG,IAAI,CAAC;YAClC,IAAI,OAAO,KAAK,CAAC;gBAAE,OAAO,GAAG,IAAI,CAAC;YAClC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC;QAEF,6FAA6F;QAC7F,MAAM,MAAM,GAAG,CAAC,CAAO,EAAE,IAA6B,EAAQ,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnG,oGAAoG;QACpG,MAAM,UAAU,GAAG,CAAC,CAAO,EAAQ,EAAE;YACnC,IAAI,CAAC,CAAC,OAAO;gBAAE,OAAO,CAAsB,6CAA6C;YACzF,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACnB,IAAI,OAAO,KAAK,CAAC;gBAAE,OAAO,GAAG,IAAI,CAAC;YAClC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAA4B,gDAAgD;QAC9F,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,GAAW,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;QAErF,2FAA2F;QAC3F,MAAM,YAAY,GAAG,GAAS,EAAE;YAC9B,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,EAAE,CAAC;gBAC9B,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACpB,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;wBAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;wBAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC;oBAAC,CAAC;oBAC1E,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;oBACjB,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;oBAClB,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;oBACtB,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;wBAAC,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC;wBAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAuB,CAAC,CAAC,CAAC;oBAAC,CAAC;gBACtI,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QACF,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;QAE5D,MAAM,IAAI,GAAwB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAClD,IAAI,OAAO;gBAAE,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,wDAAwD;YACrG,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,sCAAsC;YACzE,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,uCAAuC;YACvG,MAAM,IAAI,GAAG,KAAK,EAAE,OAAO,IAAI,cAAc,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACtD,0DAA0D;YAC1D,MAAM,IAAI,GAAiB,IAAI,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YACvE,MAAM,MAAM,GAAG,KAAK,EAAE,UAAU,IAAI,aAAa,CAAC;YAClD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,6DAA6D;YAErG,OAAO,IAAI,OAAO,CAAkB,CAAC,OAAO,EAAE,EAAE;gBAC9C,MAAM,CAAC,GAAS,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,KAAK,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;gBAC1I,OAAO,GAAG,CAAC,CAAC;gBAEZ,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;oBAClB,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;wBAAC,MAAM,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;wBAAC,OAAO;oBAAC,CAAC;oBAC/D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;oBAC5B,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;oBAC/C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC1D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;gBAClE,CAAC;gBAED,mGAAmG;gBACnG,IAAI,OAAO,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;oBAAC,SAAS,GAAG,CAAC,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;gBAAC,CAAC;gBAEhH,MAAM,UAAU,GAAG,GAAS,EAAE;oBAC5B,IAAI,CAAC,KAAK;wBAAE,OAAO;oBACnB,IAAI,CAAC;wBAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;oBACrD,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ;wBAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClG,CAAC,CAAC;gBACF,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC;gBAC1B,UAAU,EAAE,CAAC;gBAEb,mGAAmG;gBACnG,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI;oBAAE,CAAC,CAAC,SAAS,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE9F,MAAM,KAAK,GAAG,GAAW,EAAE,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;gBACnI,MAAM,OAAO,GAAG,GAAY,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAEzF,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;oBACpB,OAAO,CAAC,mFAAmF;gBAC7F,CAAC;gBACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;oBACpB,MAAM,GAAG,GAAG,GAAS,EAAE;wBACrB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;wBAClB,CAAC,CAAC,KAAK,GAAG,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,IAAI,MAAM,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;oBAC3F,CAAC,CAAC;oBACF,IAAI,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;wBACjD,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;wBAC3B,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;wBACjE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;oBACzE,CAAC;oBACD,GAAG,EAAE,CAAC;oBACN,OAAO;gBACT,CAAC;gBACD,2FAA2F;gBAC3F,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;oBACzC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oBACzD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;oBAC/D,MAAM,GAAG,GAAG,GAAS,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,aAAa,CAAC,KAAK,EAAE,GAAG,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;wBACf,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;wBAC3B,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;wBACjE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;oBACzE,CAAC;oBACD,GAAG,EAAE,CAAC;gBACR,CAAC;qBAAM,CAAC;oBACN,CAAC,CAAC,KAAK,GAAG,IAAI,aAAa,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,OAAO,GAA2B,GAAG,EAAE;YAC3C,MAAM,CAAC,GAAG,OAAO,CAAC;YAClB,IAAI,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YACrB,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;gBAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,wEAAwE;gBACrG,IAAI,IAAI;oBAAE,OAAO,IAAI,CAAC;gBACtB,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBACnB,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,4BAA4B;YAClD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,OAAO;YACL,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;YAC3B,KAAK;YACL,IAAI,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,EAAE;YACtF,IAAI;YACJ,OAAO;YACP,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,OAAO;gBAAE,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,EAAE,GAAG,EAAE;gBACX,IAAI,QAAQ;oBAAE,OAAO;gBACrB,QAAQ,GAAG,IAAI,CAAC;gBAChB,IAAI,OAAO;oBAAE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,6CAA6C;gBAClF,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;YACD,OAAO,EAAE,GAAG,EAAE;gBACZ,QAAQ,GAAG,IAAI,CAAC,CAAC,qEAAqE;gBACtF,IAAI,OAAO;oBAAE,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;gBAC5C,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;oBAAE,MAAM,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;gBACxD,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;gBAC/D,IAAI,EAAE,OAAO,EAAE,CAAC;gBAChB,IAAI,GAAG,IAAI,CAAC;gBACZ,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;oBAAC,CAAC,CAAC,KAAK,EAAE,CAAC;oBAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBAAC,CAAC;gBACvE,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,KAAK,GAA6B,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAEhG,MAAM,GAAG,GAA8B,KAAK,EAAE,OAAO,EAAE,EAAE;QACvD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO;YAAE,OAAO;QACtC,MAAM,OAAO,CAAC,aAAa,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAkC,CAAC,CAAC,CAAC;IAC5G,CAAC,CAAC;IAEF,MAAM,GAAG,GAAoB,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC/G,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,gEAAgE;IACvF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,6GAA6G;AAC7G,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;AAEpD;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CACrC,IAAkB,EAClB,IAA2B;IAE3B,MAAM,CAAC,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,4CAA4C;IAChG,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAChC,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvF,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACrD,OAAO,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IACtC,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClD,qGAAqG;IACrG,uGAAuG;IACvG,MAAM,IAAI,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,OAAO,CACL,gBAAgB,OAAO,yBAAyB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO;QACjE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QACtB,IAAI,IAAI,MAAM,CACf,CAAC;AACJ,CAAC;AAED,sHAAsH;AACtH,SAAS,OAAO,CAAC,EAAU;IACzB,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,CAAqB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzG,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,KAAK,EAAE,CAAC;AAC5D,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,wBAAwB;IACtC,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAA4B,EAC5B,IAA0B;IAE1B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACjE,MAAM,IAAI,GAAG,wBAAwB,EAAE,CAAC;IACxC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IACD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAe,CAAC,CAAC;QAChG,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS;YAClC,kGAAkG;YAClG,oFAAoF;YACpF,IAAK,GAAG,CAAC,IAAiC,EAAE,MAAM,KAAK,MAAM;gBAAE,SAAS;YACxE,MAAM,OAAO,CAAC,aAAa,CAAC,wBAAwB,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAqB,CAAC,CAAC,CAAC;YACjG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/conversations/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { type VoiceSampleLang } from "./voices.js";
2
+ /** Speaking rate every sample is generated at (matches the platform default so it sounds in-game). */
3
+ export declare const VOICE_SAMPLE_SPEED = 1.2;
4
+ /** Stable manifest/generation key for a single (voice, language, emotion) sample. */
5
+ export declare function voiceSampleKey(voice: string, lang: VoiceSampleLang, emotion: string): string;
6
+ /** One unit of work: the exact inputs to synthesise a single sample. */
7
+ export interface VoiceSampleJob {
8
+ key: string;
9
+ voice: string;
10
+ lang: VoiceSampleLang;
11
+ emotion: string;
12
+ /** The spoken line (French or English) for this emotion. */
13
+ text: string;
14
+ /** English delivery direction fed to the TTS as `prompt`. */
15
+ style: string;
16
+ speed: number;
17
+ }
18
+ /**
19
+ * Every sample the catalogue covers: `voices × langs × emotions` (currently 30 × 2 × 3 = 180).
20
+ * Drives both the gallery grid and the "Generate all" run — the single source of what "complete" means.
21
+ */
22
+ export declare function voiceSampleJobs(): VoiceSampleJob[];
23
+ /** A generated clip: the public R2 URL and its content hash (for dedup/debugging). */
24
+ export interface VoiceSampleClip {
25
+ url: string;
26
+ hash: string;
27
+ }
28
+ export interface VoiceSampleManifest {
29
+ /** Epoch ms of the last full generation run, or `null` if never generated. */
30
+ generatedAt: number | null;
31
+ /** The speed the clips were generated at (for reference/regeneration). */
32
+ speed: number;
33
+ /** {@link voiceSampleKey} → clip. A missing key means "not generated yet". */
34
+ clips: Record<string, VoiceSampleClip>;
35
+ }
36
+ /**
37
+ * The committed catalogue. Populated by the voice-gallery "Generate all" run — until then `clips` is
38
+ * empty and the gallery renders every cell as "not generated". Do not hand-edit URLs; regenerate.
39
+ */
40
+ export declare const VOICE_SAMPLES: VoiceSampleManifest;
41
+ /** The whole manifest (e.g. to render a picker). */
42
+ export declare function getVoiceSamples(): VoiceSampleManifest;
43
+ /** The clip for one (voice, language, emotion), or `undefined` if it hasn't been generated. */
44
+ export declare function getVoiceSample(voice: string, lang: VoiceSampleLang, emotion: string): VoiceSampleClip | undefined;
45
+ //# sourceMappingURL=voice-samples.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice-samples.d.ts","sourceRoot":"","sources":["../../src/conversations/voice-samples.ts"],"names":[],"mappings":"AAYA,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AAErB,sGAAsG;AACtG,eAAO,MAAM,kBAAkB,MAA0B,CAAC;AAE1D,qFAAqF;AACrF,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5F;AAED,wEAAwE;AACxE,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,cAAc,EAAE,CAoBlD;AAED,sFAAsF;AACtF,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,8EAA8E;IAC9E,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CACxC;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,mBAI3B,CAAC;AAEF,oDAAoD;AACpD,wBAAgB,eAAe,IAAI,mBAAmB,CAErD;AAED,+FAA+F;AAC/F,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,MAAM,GACd,eAAe,GAAG,SAAS,CAE7B"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * The "generate once, play anywhere" voice-sample catalogue.
3
+ *
4
+ * Every prebuilt voice ({@link GEMINI_VOICES}) is sampled in each language ({@link VOICE_SAMPLE_LANGS})
5
+ * with each emotion ({@link VOICE_SAMPLE_EMOTIONS}) — one short line per emotion. The clips are
6
+ * generated ONCE by the voice-gallery ("Generate all") and content-addressed in R2, so any consumer
7
+ * plays them with a plain `<audio>`: no TTS key, no runtime generation, no per-game duplication.
8
+ *
9
+ * The URLs live in {@link VOICE_SAMPLES} below, committed to the SDK. To (re)populate them, open the
10
+ * voice gallery as an admin, click "Generate all", then paste its exported block over `VOICE_SAMPLES`.
11
+ */
12
+ import { DEFAULT_VOICEOVER_SPEED } from "../protocol/conversations.js";
13
+ import { GEMINI_VOICES, VOICE_SAMPLE_EMOTIONS, VOICE_SAMPLE_LANGS, VOICE_SAMPLE_TEXT, } from "./voices.js";
14
+ /** Speaking rate every sample is generated at (matches the platform default so it sounds in-game). */
15
+ export const VOICE_SAMPLE_SPEED = DEFAULT_VOICEOVER_SPEED;
16
+ /** Stable manifest/generation key for a single (voice, language, emotion) sample. */
17
+ export function voiceSampleKey(voice, lang, emotion) {
18
+ return `${voice}|${lang}|${emotion}`;
19
+ }
20
+ /**
21
+ * Every sample the catalogue covers: `voices × langs × emotions` (currently 30 × 2 × 3 = 180).
22
+ * Drives both the gallery grid and the "Generate all" run — the single source of what "complete" means.
23
+ */
24
+ export function voiceSampleJobs() {
25
+ const jobs = [];
26
+ for (const voice of GEMINI_VOICES) {
27
+ for (const lang of VOICE_SAMPLE_LANGS) {
28
+ for (const emotion of VOICE_SAMPLE_EMOTIONS) {
29
+ const line = VOICE_SAMPLE_TEXT[emotion.id];
30
+ if (!line)
31
+ continue;
32
+ jobs.push({
33
+ key: voiceSampleKey(voice.id, lang, emotion.id),
34
+ voice: voice.id,
35
+ lang,
36
+ emotion: emotion.id,
37
+ text: line[lang],
38
+ style: emotion.style,
39
+ speed: VOICE_SAMPLE_SPEED,
40
+ });
41
+ }
42
+ }
43
+ }
44
+ return jobs;
45
+ }
46
+ /**
47
+ * The committed catalogue. Populated by the voice-gallery "Generate all" run — until then `clips` is
48
+ * empty and the gallery renders every cell as "not generated". Do not hand-edit URLs; regenerate.
49
+ */
50
+ export const VOICE_SAMPLES = {
51
+ generatedAt: null,
52
+ speed: VOICE_SAMPLE_SPEED,
53
+ clips: {},
54
+ };
55
+ /** The whole manifest (e.g. to render a picker). */
56
+ export function getVoiceSamples() {
57
+ return VOICE_SAMPLES;
58
+ }
59
+ /** The clip for one (voice, language, emotion), or `undefined` if it hasn't been generated. */
60
+ export function getVoiceSample(voice, lang, emotion) {
61
+ return VOICE_SAMPLES.clips[voiceSampleKey(voice, lang, emotion)];
62
+ }
63
+ //# sourceMappingURL=voice-samples.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice-samples.js","sourceRoot":"","sources":["../../src/conversations/voice-samples.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,GAElB,MAAM,aAAa,CAAC;AAErB,sGAAsG;AACtG,MAAM,CAAC,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;AAE1D,qFAAqF;AACrF,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,IAAqB,EAAE,OAAe;IAClF,OAAO,GAAG,KAAK,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;AACvC,CAAC;AAeD;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,IAAI,GAAqB,EAAE,CAAC;IAClC,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;YACtC,KAAK,MAAM,OAAO,IAAI,qBAAqB,EAAE,CAAC;gBAC5C,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC3C,IAAI,CAAC,IAAI;oBAAE,SAAS;gBACpB,IAAI,CAAC,IAAI,CAAC;oBACR,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;oBAC/C,KAAK,EAAE,KAAK,CAAC,EAAE;oBACf,IAAI;oBACJ,OAAO,EAAE,OAAO,CAAC,EAAE;oBACnB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;oBAChB,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,KAAK,EAAE,kBAAkB;iBAC1B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAiBD;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAwB;IAChD,WAAW,EAAE,IAAI;IACjB,KAAK,EAAE,kBAAkB;IACzB,KAAK,EAAE,EAAE;CACV,CAAC;AAEF,oDAAoD;AACpD,MAAM,UAAU,eAAe;IAC7B,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,cAAc,CAC5B,KAAa,EACb,IAAqB,EACrB,OAAe;IAEf,OAAO,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACnE,CAAC"}
@@ -1,16 +1,44 @@
1
1
  /**
2
- * The prebuilt Gemini TTS voices, for character/voice pickers (Character Studio, the VO editor).
3
- * The names are Gemini's own; `label` adds the documented timbre hint. Language is auto-detected at
4
- * synthesis (we always feed French text), so a voice is just a timbre, not a locale.
2
+ * The prebuilt Gemini TTS voices, for character/voice pickers (Character Studio, the VO editor)
3
+ * and the voice-sample gallery. The names are Gemini's own; `label` adds the documented timbre
4
+ * hint, `gender` is Google's published designation, and `persona` is a short pick-helper blurb.
5
+ * Language is chosen at synthesis (French or English), so a voice is a timbre, not a locale.
5
6
  */
6
7
  export interface GeminiVoice {
7
8
  /** The exact voice name passed to the TTS API (also stored on {@link CatalogCharacter.voice}). */
8
9
  id: string;
9
- /** Human hint for pickers. */
10
+ /** Human hint for pickers, e.g. "Kore · firm". */
10
11
  label: string;
12
+ /** Google's published voice gender;helps a consumer cast the right character. */
13
+ gender: "male" | "female";
14
+ /** Short evocative blurb (timbre + suggested casting) shown in the gallery. */
15
+ persona: string;
11
16
  }
12
- /** The 30 prebuilt voices (Gemini 2.5/3.1 flash TTS). */
17
+ /**
18
+ * The 30 prebuilt voices (Gemini 2.5/3.1 flash TTS). `gender` is from Google's Chirp 3: HD /
19
+ * Gemini-TTS voice roster (docs.cloud.google.com/text-to-speech/docs/chirp3-hd), not inferred.
20
+ */
13
21
  export declare const GEMINI_VOICES: readonly GeminiVoice[];
14
22
  /** Default voice when a character has none set. */
15
23
  export declare const DEFAULT_VOICE = "Charon";
24
+ /** Languages the sample gallery renders a column for. Mirrors the widened `VoiceoverLang`. */
25
+ export type VoiceSampleLang = "fr" | "en";
26
+ export declare const VOICE_SAMPLE_LANGS: readonly VoiceSampleLang[];
27
+ /**
28
+ * The emotion palette every voice is sampled with. `style` is the English direction fed to Gemini
29
+ * as the synthesis `prompt`; `label` is what the gallery shows.
30
+ */
31
+ export interface VoiceSampleEmotion {
32
+ id: string;
33
+ label: string;
34
+ /** English delivery direction → Gemini `input.prompt`. */
35
+ style: string;
36
+ }
37
+ export declare const VOICE_SAMPLE_EMOTIONS: readonly VoiceSampleEmotion[];
38
+ /**
39
+ * The sentence each emotion is spoken with, per language. One line per emotion (the words carry the
40
+ * emotion) so a listener hears each voice's take on the same brief. French lines avoid first-person
41
+ * gendered agreement so they read correctly for both male and female voices.
42
+ */
43
+ export declare const VOICE_SAMPLE_TEXT: Record<string, Record<VoiceSampleLang, string>>;
16
44
  //# sourceMappingURL=voices.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"voices.d.ts","sourceRoot":"","sources":["../../src/conversations/voices.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,kGAAkG;IAClG,EAAE,EAAE,MAAM,CAAC;IACX,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,yDAAyD;AACzD,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EA+B/C,CAAC;AAEF,mDAAmD;AACnD,eAAO,MAAM,aAAa,WAAW,CAAC"}
1
+ {"version":3,"file":"voices.d.ts","sourceRoot":"","sources":["../../src/conversations/voices.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,kGAAkG;IAClG,EAAE,EAAE,MAAM,CAAC;IACX,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1B,+EAA+E;IAC/E,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EA+B/C,CAAC;AAEF,mDAAmD;AACnD,eAAO,MAAM,aAAa,WAAW,CAAC;AAEtC,8FAA8F;AAC9F,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,IAAI,CAAC;AAC1C,eAAO,MAAM,kBAAkB,EAAE,SAAS,eAAe,EAAiB,CAAC;AAE3E;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,qBAAqB,EAAE,SAAS,kBAAkB,EAI9D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAa7E,CAAC"}
@@ -1,36 +1,64 @@
1
- /** The 30 prebuilt voices (Gemini 2.5/3.1 flash TTS). */
1
+ /**
2
+ * The 30 prebuilt voices (Gemini 2.5/3.1 flash TTS). `gender` is from Google's Chirp 3: HD /
3
+ * Gemini-TTS voice roster (docs.cloud.google.com/text-to-speech/docs/chirp3-hd), not inferred.
4
+ */
2
5
  export const GEMINI_VOICES = [
3
- { id: "Zephyr", label: "Zephyr bright" },
4
- { id: "Puck", label: "Puck upbeat" },
5
- { id: "Charon", label: "Charon informative" },
6
- { id: "Kore", label: "Kore firm" },
7
- { id: "Fenrir", label: "Fenrir excitable" },
8
- { id: "Leda", label: "Leda youthful" },
9
- { id: "Orus", label: "Orus firm" },
10
- { id: "Aoede", label: "Aoede breezy" },
11
- { id: "Callirrhoe", label: "Callirrhoe easy-going" },
12
- { id: "Autonoe", label: "Autonoe bright" },
13
- { id: "Enceladus", label: "Enceladus breathy" },
14
- { id: "Iapetus", label: "Iapetus clear" },
15
- { id: "Umbriel", label: "Umbriel easy-going" },
16
- { id: "Algieba", label: "Algieba smooth" },
17
- { id: "Despina", label: "Despina smooth" },
18
- { id: "Erinome", label: "Erinome clear" },
19
- { id: "Algenib", label: "Algenib gravelly" },
20
- { id: "Rasalgethi", label: "Rasalgethi informative" },
21
- { id: "Laomedeia", label: "Laomedeia upbeat" },
22
- { id: "Achernar", label: "Achernar soft" },
23
- { id: "Alnilam", label: "Alnilam firm" },
24
- { id: "Schedar", label: "Schedar even" },
25
- { id: "Gacrux", label: "Gacrux mature" },
26
- { id: "Pulcherrima", label: "Pulcherrima forward" },
27
- { id: "Achird", label: "Achird friendly" },
28
- { id: "Zubenelgenubi", label: "Zubenelgenubi casual" },
29
- { id: "Vindemiatrix", label: "Vindemiatrix gentle" },
30
- { id: "Sadachbia", label: "Sadachbia lively" },
31
- { id: "Sadaltager", label: "Sadaltager knowledgeable" },
32
- { id: "Sulafat", label: "Sulafat warm" },
6
+ { id: "Zephyr", label: "Zephyr · bright", gender: "female", persona: "Bright and airy; an upbeat guide" },
7
+ { id: "Puck", label: "Puck · upbeat", gender: "male", persona: "Upbeat, playful; an energetic sidekick" },
8
+ { id: "Charon", label: "Charon · informative", gender: "male", persona: "Informative, steady; a trustworthy narrator" },
9
+ { id: "Kore", label: "Kore · firm", gender: "female", persona: "Firm, assured; a confident leader" },
10
+ { id: "Fenrir", label: "Fenrir · excitable", gender: "male", persona: "Excitable, punchy; a hype coach" },
11
+ { id: "Leda", label: "Leda · youthful", gender: "female", persona: "Youthful, spirited; a young hero" },
12
+ { id: "Orus", label: "Orus · firm", gender: "male", persona: "Firm, grounded; a seasoned commander" },
13
+ { id: "Aoede", label: "Aoede · breezy", gender: "female", persona: "Breezy, relaxed; an easygoing companion" },
14
+ { id: "Callirrhoe", label: "Callirrhoe · easy-going", gender: "female", persona: "Easy-going, warm; a friendly host" },
15
+ { id: "Autonoe", label: "Autonoe · bright", gender: "female", persona: "Bright, cheerful; a sunny presenter" },
16
+ { id: "Enceladus", label: "Enceladus · breathy", gender: "male", persona: "Breathy, intimate; a close narrator" },
17
+ { id: "Iapetus", label: "Iapetus · clear", gender: "male", persona: "Clear, crisp; a precise announcer" },
18
+ { id: "Umbriel", label: "Umbriel · easy-going", gender: "male", persona: "Easy-going, mellow; a laid-back mentor" },
19
+ { id: "Algieba", label: "Algieba · smooth", gender: "male", persona: "Smooth, mellow; a cool operator" },
20
+ { id: "Despina", label: "Despina · smooth", gender: "female", persona: "Smooth, soft; a soothing guide" },
21
+ { id: "Erinome", label: "Erinome · clear", gender: "female", persona: "Clear, articulate; a sharp presenter" },
22
+ { id: "Algenib", label: "Algenib · gravelly", gender: "male", persona: "Gravelly, rugged; a grizzled veteran" },
23
+ { id: "Rasalgethi", label: "Rasalgethi · informative", gender: "male", persona: "Informative, measured; an expert narrator" },
24
+ { id: "Laomedeia", label: "Laomedeia · upbeat", gender: "female", persona: "Upbeat, lively; a cheerful cheerleader" },
25
+ { id: "Achernar", label: "Achernar · soft", gender: "female", persona: "Soft, gentle; a tender voice" },
26
+ { id: "Alnilam", label: "Alnilam · firm", gender: "male", persona: "Firm, commanding; a drill sergeant" },
27
+ { id: "Schedar", label: "Schedar · even", gender: "male", persona: "Even, balanced; a calm anchor" },
28
+ { id: "Gacrux", label: "Gacrux · mature", gender: "female", persona: "Mature, wise; an elder mentor" },
29
+ { id: "Pulcherrima", label: "Pulcherrima · forward", gender: "female", persona: "Forward, bold; an assertive lead" },
30
+ { id: "Achird", label: "Achird · friendly", gender: "male", persona: "Friendly, approachable; a loyal buddy" },
31
+ { id: "Zubenelgenubi", label: "Zubenelgenubi · casual", gender: "male", persona: "Casual, conversational; an everyman" },
32
+ { id: "Vindemiatrix", label: "Vindemiatrix · gentle", gender: "female", persona: "Gentle, calm; a reassuring guide" },
33
+ { id: "Sadachbia", label: "Sadachbia · lively", gender: "male", persona: "Lively, animated; a spirited host" },
34
+ { id: "Sadaltager", label: "Sadaltager · knowledgeable", gender: "male", persona: "Knowledgeable, authoritative; a mentor" },
35
+ { id: "Sulafat", label: "Sulafat · warm", gender: "female", persona: "Warm, inviting; a comforting narrator" },
33
36
  ];
34
37
  /** Default voice when a character has none set. */
35
38
  export const DEFAULT_VOICE = "Charon";
39
+ export const VOICE_SAMPLE_LANGS = ["fr", "en"];
40
+ export const VOICE_SAMPLE_EMOTIONS = [
41
+ { id: "dramatic", label: "Dramatic", style: "Dramatic, weighty, cinematic delivery" },
42
+ { id: "excited", label: "Excited", style: "Excited, high energy, enthusiastic" },
43
+ { id: "tense", label: "Tense", style: "Tense, urgent, on edge" },
44
+ ];
45
+ /**
46
+ * The sentence each emotion is spoken with, per language. One line per emotion (the words carry the
47
+ * emotion) so a listener hears each voice's take on the same brief. French lines avoid first-person
48
+ * gendered agreement so they read correctly for both male and female voices.
49
+ */
50
+ export const VOICE_SAMPLE_TEXT = {
51
+ dramatic: {
52
+ fr: "Soldat, le sort du monde repose sur tes épaules.",
53
+ en: "Soldier, the fate of the world rests on your shoulders.",
54
+ },
55
+ excited: {
56
+ fr: "Quel plaisir de te revoir, ça va être incroyable !",
57
+ en: "I'm so happy to see you again, this is going to be incredible!",
58
+ },
59
+ tense: {
60
+ fr: "On dirait que l'ennemi est tout près… fais attention !",
61
+ en: "It looks like the enemy is very close… watch out!",
62
+ },
63
+ };
36
64
  //# sourceMappingURL=voices.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"voices.js","sourceRoot":"","sources":["../../src/conversations/voices.ts"],"names":[],"mappings":"AAYA,yDAAyD;AACzD,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAC1C,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE;IACtC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,sBAAsB,EAAE;IAC/C,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE;IACpC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,oBAAoB,EAAE;IAC7C,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE;IACxC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE;IACpC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE;IACxC,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,yBAAyB,EAAE;IACtD,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE;IAC5C,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,qBAAqB,EAAE;IACjD,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAC3C,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,sBAAsB,EAAE;IAChD,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE;IAC5C,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE;IAC5C,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAC3C,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,oBAAoB,EAAE;IAC9C,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,0BAA0B,EAAE;IACvD,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,oBAAoB,EAAE;IAChD,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAC5C,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE;IAC1C,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE;IAC1C,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAC1C,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,uBAAuB,EAAE;IACrD,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,EAAE;IAC5C,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,wBAAwB,EAAE;IACxD,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,uBAAuB,EAAE;IACtD,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,oBAAoB,EAAE;IAChD,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,4BAA4B,EAAE;IACzD,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE;CAC3C,CAAC;AAEF,mDAAmD;AACnD,MAAM,CAAC,MAAM,aAAa,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"voices.js","sourceRoot":"","sources":["../../src/conversations/voices.ts"],"names":[],"mappings":"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"}