@rydr/game-sdk 3.4.0 → 3.7.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 (52) hide show
  1. package/README.md +5 -0
  2. package/dist/client/PlatformClient.d.ts +19 -0
  3. package/dist/client/PlatformClient.d.ts.map +1 -1
  4. package/dist/client/PlatformClient.js +14 -2
  5. package/dist/client/PlatformClient.js.map +1 -1
  6. package/dist/conversations/hash.d.ts +34 -0
  7. package/dist/conversations/hash.d.ts.map +1 -0
  8. package/dist/conversations/hash.js +41 -0
  9. package/dist/conversations/hash.js.map +1 -0
  10. package/dist/conversations/index.d.ts +170 -0
  11. package/dist/conversations/index.d.ts.map +1 -0
  12. package/dist/conversations/index.js +430 -0
  13. package/dist/conversations/index.js.map +1 -0
  14. package/dist/conversations/voices.d.ts +16 -0
  15. package/dist/conversations/voices.d.ts.map +1 -0
  16. package/dist/conversations/voices.js +36 -0
  17. package/dist/conversations/voices.js.map +1 -0
  18. package/dist/host/PlatformHost.d.ts +14 -0
  19. package/dist/host/PlatformHost.d.ts.map +1 -1
  20. package/dist/host/PlatformHost.js +11 -0
  21. package/dist/host/PlatformHost.js.map +1 -1
  22. package/dist/protocol/boards.d.ts +16 -0
  23. package/dist/protocol/boards.d.ts.map +1 -1
  24. package/dist/protocol/boards.js.map +1 -1
  25. package/dist/protocol/characters.d.ts +13 -0
  26. package/dist/protocol/characters.d.ts.map +1 -1
  27. package/dist/protocol/conversations.d.ts +99 -0
  28. package/dist/protocol/conversations.d.ts.map +1 -0
  29. package/dist/protocol/conversations.js +23 -0
  30. package/dist/protocol/conversations.js.map +1 -0
  31. package/dist/protocol/guards.d.ts.map +1 -1
  32. package/dist/protocol/guards.js +1 -0
  33. package/dist/protocol/guards.js.map +1 -1
  34. package/dist/protocol/index.d.ts +1 -0
  35. package/dist/protocol/index.d.ts.map +1 -1
  36. package/dist/protocol/index.js +1 -0
  37. package/dist/protocol/index.js.map +1 -1
  38. package/dist/protocol/messages.d.ts +33 -2
  39. package/dist/protocol/messages.d.ts.map +1 -1
  40. package/dist/protocol/version.d.ts +2 -2
  41. package/dist/protocol/version.d.ts.map +1 -1
  42. package/dist/protocol/version.js +8 -2
  43. package/dist/protocol/version.js.map +1 -1
  44. package/dist/ui/dialogue-card.d.ts +18 -2
  45. package/dist/ui/dialogue-card.d.ts.map +1 -1
  46. package/dist/ui/dialogue-card.js +35 -9
  47. package/dist/ui/dialogue-card.js.map +1 -1
  48. package/dist/voiceover-editor/index.d.ts +60 -0
  49. package/dist/voiceover-editor/index.d.ts.map +1 -0
  50. package/dist/voiceover-editor/index.js +641 -0
  51. package/dist/voiceover-editor/index.js.map +1 -0
  52. package/package.json +9 -1
package/README.md CHANGED
@@ -21,6 +21,11 @@ Public npm package (no token needed — the source repo is private, the package
21
21
  "dependencies": { "@rydr/game-sdk": "^1.0.0" }
22
22
  ```
23
23
 
24
+ Resolved from the npm **registry** (not a git URL). To upgrade, bump the range and run `npm install`
25
+ — **never hand-edit `package-lock.json`** (`npm ci` in CI/pre-push demands an exact match and rejects a
26
+ drifted lock). A new SDK version is installable **only after its tag's publish CI has run**; a pushed
27
+ git tag alone is not enough (see the SDK repo `CLAUDE.md` → *Releasing & how consumers get it*).
28
+
24
29
  **Starting a new game?** Don't wire this by hand — scaffold from
25
30
  [`create-rydr-game`](https://github.com/bdefrenne/create-rydr-game) (`npx degit
26
31
  bdefrenne/create-rydr-game my-game`), which comes with the SDK wired, a dev script, and an
@@ -221,6 +221,25 @@ export interface PlatformSession {
221
221
  uploadUrl: string;
222
222
  url: string;
223
223
  }>;
224
+ /**
225
+ * Synthesise (or fetch from cache) French voice-over for one line and get a public MP3 URL. The
226
+ * shell relays to its `tts-generate` function, which holds the Gemini key, encodes MP3, and
227
+ * content-addresses the result in R2 — so an identical `(text, voice, style, lang)` returns the
228
+ * cached URL with no re-synthesis. Author rights required (the shell gates it; generation costs
229
+ * money). Used by the voice-over editor and by `defineConversation`'s admin auto-registration —
230
+ * NOT a per-frame runtime call. Rejects against an older shell without support.
231
+ */
232
+ generateVoiceover(input: {
233
+ text: string;
234
+ voice: string;
235
+ style?: string;
236
+ speed?: number;
237
+ lang?: string;
238
+ }): Promise<{
239
+ url: string;
240
+ hash: string;
241
+ cached: boolean;
242
+ }>;
224
243
  /**
225
244
  * Capture a still of the current moment and attach it to this session's recorded activity.
226
245
  * `image` is your own canvas (or a `Blob`/data-URL you produced from it). Resolves with the public
@@ -1 +1 @@
1
- {"version":3,"file":"PlatformClient.d.ts","sourceRoot":"","sources":["../../src/client/PlatformClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlatformClient.d.ts","sourceRoot":"","sources":["../../src/client/PlatformClient.ts"],"names":[],"mappings":"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"}
@@ -71,13 +71,17 @@ export function connectToPlatform(options) {
71
71
  const rooms = new Map();
72
72
  let nextNonce = 1;
73
73
  const REQUEST_TIMEOUT_MS = 10_000;
74
- const request = (send) => {
74
+ // TTS synthesis (Gemini → MP3 encode → R2 upload) routinely runs past the generic 10s budget, so
75
+ // `generateVoiceover` passes a much longer one. It's content-addressed, so a caller that gives up
76
+ // early and retries still hits the cached result once the server finishes.
77
+ const VOICEOVER_TIMEOUT_MS = 120_000;
78
+ const request = (send, timeoutMs = REQUEST_TIMEOUT_MS) => {
75
79
  const nonce = nextNonce++;
76
80
  return new Promise((resolveReq, rejectReq) => {
77
81
  const timer = setTimeout(() => {
78
82
  pending.delete(nonce);
79
83
  rejectReq(new Error("Platform request timed out"));
80
- }, REQUEST_TIMEOUT_MS);
84
+ }, timeoutMs);
81
85
  pending.set(nonce, (value) => {
82
86
  clearTimeout(timer);
83
87
  pending.delete(nonce);
@@ -250,6 +254,9 @@ export function connectToPlatform(options) {
250
254
  case "rydr/asset.uploadUrlResult":
251
255
  pending.get(msg.nonce)?.(msg);
252
256
  break;
257
+ case "rydr/voiceover.generateResult":
258
+ pending.get(msg.nonce)?.(msg);
259
+ break;
253
260
  case "rydr/media.uploadUrlResult":
254
261
  pending.get(msg.nonce)?.(msg);
255
262
  break;
@@ -520,6 +527,11 @@ export function connectToPlatform(options) {
520
527
  throw new Error(`[rydr-sdk] getUploadUrl: ${r.error ?? "no url"}`);
521
528
  return { uploadUrl: r.uploadUrl, url: r.url };
522
529
  }),
530
+ generateVoiceover: (input) => request((nonce) => post({ rydr: true, type: "rydr/voiceover.generate", nonce, text: input.text, voice: input.voice, style: input.style, speed: input.speed, lang: input.lang ?? "fr" }), VOICEOVER_TIMEOUT_MS).then((r) => {
531
+ if (r.error || !r.url || !r.hash)
532
+ throw new Error(`[rydr-sdk] generateVoiceover: ${r.error ?? "no url"}`);
533
+ return { url: r.url, hash: r.hash, cached: r.cached ?? false };
534
+ }),
523
535
  captureMoment: (image, opts) => saveMedia(image, "image", opts?.label),
524
536
  captureClip: (video, opts) => saveMedia(video, "video", opts?.label, opts?.durationMs),
525
537
  joinRoom: (roomId) => {
@@ -1 +1 @@
1
- {"version":3,"file":"PlatformClient.js","sourceRoot":"","sources":["../../src/client/PlatformClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlatformClient.js","sourceRoot":"","sources":["../../src/client/PlatformClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * The ONE content-hash used to cache/dedup/change-detect voice-over audio.
3
+ *
4
+ * `lineHash` maps `(text, voice, style, lang, model, format)` → a hex SHA-256. Audio is stored
5
+ * content-addressed at `tts/{hash}.mp3`, so:
6
+ * - the same French line + same voice hits one cached R2 object (dedup),
7
+ * - editing text/voice/style changes the hash → the old audio is no longer "current" (auto-stale),
8
+ * - the editor and the runtime agree on which file a line points at with no URL bookkeeping.
9
+ *
10
+ * ⚠️ This function is a VERSIONED CONTRACT. It is duplicated byte-for-byte in the `tts-generate`
11
+ * Supabase edge function (Deno). If the two ever compute a different hash the whole join silently
12
+ * breaks. Keep the canonical string, the separator escaping, and the digest identical in both; any
13
+ * intentional change (e.g. a new field, a model/format switch) invalidates every cached file BY
14
+ * DESIGN — that's the point.
15
+ */
16
+ /** The Gemini TTS model these hashes are pinned to. Changing it invalidates every cached line. */
17
+ export declare const VOICEOVER_MODEL = "gemini-3.1-flash-tts-preview";
18
+ /** The audio container we cache. */
19
+ export declare const VOICEOVER_FORMAT = "mp3";
20
+ export interface LineHashInput {
21
+ text: string;
22
+ voice: string;
23
+ style?: string;
24
+ lang?: string;
25
+ /** Speaking-rate multiplier (Cloud TTS `speakingRate`). Defaults to 1. */
26
+ speed?: number;
27
+ /** Defaults to {@link VOICEOVER_MODEL}. */
28
+ model?: string;
29
+ /** Defaults to {@link VOICEOVER_FORMAT}. */
30
+ format?: string;
31
+ }
32
+ /** Compute the content hash for a voice-over line. Async (Web Crypto), works in browsers and Deno. */
33
+ export declare function lineHash(input: LineHashInput): Promise<string>;
34
+ //# sourceMappingURL=hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../src/conversations/hash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,kGAAkG;AAClG,eAAO,MAAM,eAAe,iCAAiC,CAAC;AAC9D,oCAAoC;AACpC,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AAEtC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAOD,sGAAsG;AACtG,wBAAsB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAepE"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * The ONE content-hash used to cache/dedup/change-detect voice-over audio.
3
+ *
4
+ * `lineHash` maps `(text, voice, style, lang, model, format)` → a hex SHA-256. Audio is stored
5
+ * content-addressed at `tts/{hash}.mp3`, so:
6
+ * - the same French line + same voice hits one cached R2 object (dedup),
7
+ * - editing text/voice/style changes the hash → the old audio is no longer "current" (auto-stale),
8
+ * - the editor and the runtime agree on which file a line points at with no URL bookkeeping.
9
+ *
10
+ * ⚠️ This function is a VERSIONED CONTRACT. It is duplicated byte-for-byte in the `tts-generate`
11
+ * Supabase edge function (Deno). If the two ever compute a different hash the whole join silently
12
+ * breaks. Keep the canonical string, the separator escaping, and the digest identical in both; any
13
+ * intentional change (e.g. a new field, a model/format switch) invalidates every cached file BY
14
+ * DESIGN — that's the point.
15
+ */
16
+ /** The Gemini TTS model these hashes are pinned to. Changing it invalidates every cached line. */
17
+ export const VOICEOVER_MODEL = "gemini-3.1-flash-tts-preview";
18
+ /** The audio container we cache. */
19
+ export const VOICEOVER_FORMAT = "mp3";
20
+ /** Escape the field separator so distinct inputs can't alias by concatenation. */
21
+ function esc(s) {
22
+ return s.replace(/\\/g, "\\\\").replace(/\|/g, "\\|");
23
+ }
24
+ /** Compute the content hash for a voice-over line. Async (Web Crypto), works in browsers and Deno. */
25
+ export async function lineHash(input) {
26
+ const canonical = [
27
+ esc(input.text),
28
+ esc(input.voice),
29
+ esc(input.style ?? ""),
30
+ esc(input.lang ?? "fr"),
31
+ esc(String(input.speed ?? 1)),
32
+ esc(input.model ?? VOICEOVER_MODEL),
33
+ esc(input.format ?? VOICEOVER_FORMAT),
34
+ ].join("|");
35
+ const bytes = new TextEncoder().encode(canonical);
36
+ const digest = await crypto.subtle.digest("SHA-256", bytes);
37
+ return Array.from(new Uint8Array(digest))
38
+ .map((b) => b.toString(16).padStart(2, "0"))
39
+ .join("");
40
+ }
41
+ //# sourceMappingURL=hash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.js","sourceRoot":"","sources":["../../src/conversations/hash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,kGAAkG;AAClG,MAAM,CAAC,MAAM,eAAe,GAAG,8BAA8B,CAAC;AAC9D,oCAAoC;AACpC,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAetC,kFAAkF;AAClF,SAAS,GAAG,CAAC,CAAS;IACpB,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,sGAAsG;AACtG,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,KAAoB;IACjD,MAAM,SAAS,GAAG;QAChB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;QACf,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;QAChB,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QACtB,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC;QACvB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;QAC7B,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,eAAe,CAAC;QACnC,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,gBAAgB,CAAC;KACtC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC5D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC"}
@@ -0,0 +1,170 @@
1
+ /**
2
+ * `@rydr/game-sdk/conversations` — author a conversation in game code, get French voice-over for free.
3
+ *
4
+ * A game declares an ordered list of `{ speaker, text }` lines with `defineConversation(id, lines)`.
5
+ * The speaker is a {@link CatalogCharacter} id; its {@link CatalogCharacter.voice} drives TTS. The
6
+ * conversation lives as the game's OWN `shared` gamedata (collection {@link CONVERSATIONS_COLLECTION}),
7
+ * authored/generated in the per-game voice-over editor (`@rydr/game-sdk/voiceover-editor`).
8
+ *
9
+ * At runtime `open()` mounts a dialogue card, resolves each speaker's display name, and plays a line's
10
+ * generated MP3 when it's present and CURRENT (its stored `audioHash` still matches the line's content
11
+ * hash) — otherwise the line shows as silent typewriter text. Voice-over is a pure enhancement: text
12
+ * always works, even with zero generated audio.
13
+ *
14
+ * The one bit of bookkeeping is `register()`: under an ADMIN session it upserts the code-declared lines
15
+ * into gamedata so they appear in the editor (auto-runs on `open` for admins). It preserves already-
16
+ * generated audio for unchanged lines and never writes for non-admins (the shell gates `shared` writes).
17
+ */
18
+ import type { GameDoc } from "../protocol/gamedata.js";
19
+ import type { CatalogCharacter } from "../protocol/characters.js";
20
+ import { type ConversationLine, type ConversationSpecLine } from "../protocol/conversations.js";
21
+ import { type DialogueCard, type DialogueCardOptions } from "../ui/dialogue-card.js";
22
+ export * from "./hash.js";
23
+ export * from "./voices.js";
24
+ export { CONVERSATIONS_COLLECTION, VOICE_CAST_COLLECTION, DEFAULT_VOICEOVER_SPEED, synthDirection, type Conversation, type ConversationLine, type ConversationSpecLine, type VoiceCastEntry, type VoiceoverLang, } from "../protocol/conversations.js";
25
+ /** The narrow session surface `defineConversation` needs — a `PlatformSession` satisfies it. */
26
+ export interface ConversationSession {
27
+ readonly identity: {
28
+ isAdmin?: boolean;
29
+ };
30
+ getCharacter(id: string): Promise<CatalogCharacter | null>;
31
+ getContent(collection: string, id: string): Promise<GameDoc | null>;
32
+ listContent(collection: string): Promise<GameDoc[]>;
33
+ saveContent(collection: string, id: string, value: unknown): Promise<void>;
34
+ deleteContent(collection: string, id: string): Promise<void>;
35
+ }
36
+ /** Result of {@link syncConversations}: which conversation ids were upserted and (with `prune`) removed. */
37
+ export interface ConversationSyncResult {
38
+ pushed: string[];
39
+ pruned: string[];
40
+ }
41
+ export interface OpenConversationOptions extends DialogueCardOptions {
42
+ /** Skip the admin auto-register-on-open. */
43
+ noRegister?: boolean;
44
+ }
45
+ /** A live, opened conversation card. */
46
+ export interface OpenedConversation {
47
+ card: DialogueCard;
48
+ /** Advance the dialogue (finish typewriter / next line / close past the last). */
49
+ advance(): boolean;
50
+ close(): void;
51
+ dispose(): void;
52
+ }
53
+ /**
54
+ * How a single {@link VoicePlayer.play} line is presented on screen. In every mode the audio plays —
55
+ * these differ only in the visuals and how the line finishes (i.e. when its promise resolves):
56
+ * - `"card"` — the SDK dialogue card + "continue" keycap; finishes when the game calls `advance()`
57
+ * (wire it to a button press). Interactive pacing — for cutscenes/intro beats.
58
+ * - `"auto"` — the card WITHOUT a continue prompt; auto-hides after a timer derived from the audio
59
+ * length (`holdMs`, else `holdFactor × duration`). A self-dismissing subtitle.
60
+ * - `"none"` — nothing on screen; finishes when the audio `ended` fires. Voice-only.
61
+ */
62
+ export type VoiceDisplay = "card" | "auto" | "none";
63
+ /** Per-line overrides for {@link VoicePlayer.play}. */
64
+ export interface VoicePlayOptions {
65
+ /** Override the player's default display mode for THIS line. */
66
+ display?: VoiceDisplay;
67
+ /** `"auto"` only: explicit visible time in ms (wins over {@link holdFactor}). */
68
+ holdMs?: number;
69
+ /** `"auto"` only: visible time = `holdFactor × audioDurationMs` (default 1.5). */
70
+ holdFactor?: number;
71
+ /**
72
+ * Resolve the promise after this many ms instead of at the line's natural end, and **let the line keep
73
+ * playing** — the audio/card/subtitle stay ON and run to their own end (or until a later card line takes
74
+ * the card / `dispose()`). Use it to overlap narration with gameplay: `await play("l", { waitMs: 1000 })`
75
+ * proceeds after 1s while a 3s clip finishes in the background. Resolves `done: "gated"`. Independent of
76
+ * `holdMs`/`holdFactor` (those govern how long the SUBTITLE shows; `waitMs` governs how long you WAIT).
77
+ */
78
+ waitMs?: number;
79
+ /** Cancel this line externally; aborting settles its promise `"interrupted"`. */
80
+ signal?: AbortSignal;
81
+ }
82
+ /** How a {@link VoicePlayer.play} line finished. */
83
+ export interface VoicePlayResult {
84
+ /** `"ended"` natural completion · `"skipped"` dismissed early via `advance()` · `"interrupted"` a new
85
+ * line/`stop()`/`dispose()`/abort superseded it · `"timeout"` audio never ended within its bound ·
86
+ * `"gated"` a {@link VoicePlayOptions.waitMs} gate elapsed and the line was left playing. */
87
+ done: "ended" | "skipped" | "interrupted" | "timeout" | "gated";
88
+ }
89
+ /** Options for {@link ConversationDef.player}. Extends the dialogue-card options (used for `"card"`/`"auto"`). */
90
+ export interface VoicePlayerOptions extends DialogueCardOptions {
91
+ /** Default display mode for every `play()` (default `"card"` when a host is given, else `"none"`). */
92
+ display?: VoiceDisplay;
93
+ /** Default `"auto"` hold factor (default 1.5). */
94
+ holdFactor?: number;
95
+ /** Skip the admin auto-register-on-open. */
96
+ noRegister?: boolean;
97
+ }
98
+ /**
99
+ * An imperative, awaitable voice-over player: play a conversation's lines at ARBITRARY beats, each with
100
+ * its own {@link VoiceDisplay}. Unlike {@link OpenedConversation} (a linear card walked with `advance()`),
101
+ * this is what a director-driven scene uses — `await player.play("beat-3")` sequences narration against
102
+ * gameplay. Every `play()` returns a promise that ALWAYS settles (see {@link VoicePlayResult}); it never
103
+ * deadlocks a scripted sequence.
104
+ *
105
+ * Built **synchronously** ({@link ConversationDef.player}/`audio` return this, not a promise): line
106
+ * {@link text} is available immediately (it's the code definition), while audio URLs resolve in the
107
+ * background — a `play()` before they land just runs silent (voice-over is a pure enhancement).
108
+ */
109
+ export interface VoicePlayer {
110
+ /** The lazily-mounted dialogue card (for `"card"`/`"auto"` modes); `null` until one is needed / host-less. */
111
+ readonly card: DialogueCard | null;
112
+ /** The authored text of a line (from the CODE definition), available synchronously — feed it to your
113
+ * own card/UI so on-screen text and generated audio share one source. Empty string for an unknown id. */
114
+ text(lineId: string): string;
115
+ /** Play a line by its stable id. Resolves per its display mode; a new `play()` supersedes the current
116
+ * line (settling it `"interrupted"`). Ignore the promise for fire-and-forget, or `await` to sequence.
117
+ * Silent if the line has no generated audio yet (or none resolved) — text still works. */
118
+ play(lineId: string, opts?: VoicePlayOptions): Promise<VoicePlayResult>;
119
+ /** The "continue" signal — wire to a button press. `"card"`: finish the typewriter, then close+resolve;
120
+ * `"auto"`/`"none"`: skip early (resolve `"skipped"`). Returns `false` once the current line closed. */
121
+ advance(): boolean;
122
+ /** Stop the current line now (settles its promise `"interrupted"`). */
123
+ stop(): void;
124
+ /** Mark audio unlocked (first user gesture) and start any clip a blocked autoplay left pending. */
125
+ unlock(): void;
126
+ /** Tear down: settle any pending line, drop the card, free the audio pool + listeners. */
127
+ dispose(): void;
128
+ }
129
+ export interface ConversationDef {
130
+ readonly id: string;
131
+ /** The normalized authored lines (speaker + text + stable line id). */
132
+ readonly lines: ConversationLine[];
133
+ /**
134
+ * Upsert this conversation into the game's `shared` gamedata so the voice-over editor lists it.
135
+ * Best-effort; resolves as a no-op for non-admin sessions. Preserves already-generated audio for
136
+ * lines whose content hash is unchanged (a text/voice/style edit drops that line's audio → the
137
+ * editor shows it ungenerated).
138
+ */
139
+ register(session: ConversationSession): Promise<void>;
140
+ /** Delete this conversation from the game's `shared` gamedata (admin only; no-op otherwise). */
141
+ delete(session: ConversationSession): Promise<void>;
142
+ /**
143
+ * Mount + open a dialogue card for this conversation. Resolves speaker labels and, per line, the
144
+ * generated MP3 (played only when current). Auto-registers first when the session is admin.
145
+ */
146
+ open(host: HTMLElement, session: ConversationSession, opts?: OpenConversationOptions): Promise<OpenedConversation>;
147
+ /**
148
+ * Build an imperative {@link VoicePlayer} **synchronously** — play lines at arbitrary beats with per-line
149
+ * {@link VoiceDisplay}. Returns immediately (no `await`): line text is ready at once; audio URLs resolve
150
+ * in the background (a line plays silent until its clip is resolved). `host` may be `null` for audio-only
151
+ * use (a `"card"`/`"auto"` line then degrades to `"none"`). Registers in the background when admin (unless
152
+ * `noRegister`).
153
+ */
154
+ player(host: HTMLElement | null, session: ConversationSession, opts?: VoicePlayerOptions): VoicePlayer;
155
+ /** Sugar for a host-less, audio-only {@link VoicePlayer} — `player(null, session, { display: "none" })`. */
156
+ audio(session: ConversationSession): VoicePlayer;
157
+ }
158
+ export declare function defineConversation(id: string, spec: ConversationSpecLine[]): ConversationDef;
159
+ /** All conversations declared in code so far. */
160
+ export declare function listDefinedConversations(): ConversationDef[];
161
+ /**
162
+ * Reconcile ALL code-declared conversations to the game's `shared` gamedata in one call — for a
163
+ * dev-only "Sync" button. Upserts every {@link defineConversation} (preserving generated audio for
164
+ * unchanged lines); with `prune`, deletes stored conversations whose id no longer exists in code.
165
+ * Admin only (no-op otherwise). Returns the ids pushed and pruned.
166
+ */
167
+ export declare function syncConversations(session: ConversationSession, opts?: {
168
+ prune?: boolean;
169
+ }): Promise<ConversationSyncResult>;
170
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/conversations/index.ts"],"names":[],"mappings":"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"}