@rydr/game-sdk 3.4.0 → 3.6.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.
- package/dist/client/PlatformClient.d.ts +19 -0
- package/dist/client/PlatformClient.d.ts.map +1 -1
- package/dist/client/PlatformClient.js +14 -2
- package/dist/client/PlatformClient.js.map +1 -1
- package/dist/conversations/hash.d.ts +34 -0
- package/dist/conversations/hash.d.ts.map +1 -0
- package/dist/conversations/hash.js +41 -0
- package/dist/conversations/hash.js.map +1 -0
- package/dist/conversations/index.d.ts +160 -0
- package/dist/conversations/index.d.ts.map +1 -0
- package/dist/conversations/index.js +422 -0
- package/dist/conversations/index.js.map +1 -0
- package/dist/conversations/voices.d.ts +16 -0
- package/dist/conversations/voices.d.ts.map +1 -0
- package/dist/conversations/voices.js +36 -0
- package/dist/conversations/voices.js.map +1 -0
- package/dist/host/PlatformHost.d.ts +14 -0
- package/dist/host/PlatformHost.d.ts.map +1 -1
- package/dist/host/PlatformHost.js +11 -0
- package/dist/host/PlatformHost.js.map +1 -1
- package/dist/protocol/boards.d.ts +16 -0
- package/dist/protocol/boards.d.ts.map +1 -1
- package/dist/protocol/boards.js.map +1 -1
- package/dist/protocol/characters.d.ts +13 -0
- package/dist/protocol/characters.d.ts.map +1 -1
- package/dist/protocol/conversations.d.ts +99 -0
- package/dist/protocol/conversations.d.ts.map +1 -0
- package/dist/protocol/conversations.js +23 -0
- package/dist/protocol/conversations.js.map +1 -0
- package/dist/protocol/guards.d.ts.map +1 -1
- package/dist/protocol/guards.js +1 -0
- package/dist/protocol/guards.js.map +1 -1
- package/dist/protocol/index.d.ts +1 -0
- package/dist/protocol/index.d.ts.map +1 -1
- package/dist/protocol/index.js +1 -0
- package/dist/protocol/index.js.map +1 -1
- package/dist/protocol/messages.d.ts +33 -2
- package/dist/protocol/messages.d.ts.map +1 -1
- package/dist/protocol/version.d.ts +2 -2
- package/dist/protocol/version.d.ts.map +1 -1
- package/dist/protocol/version.js +8 -2
- package/dist/protocol/version.js.map +1 -1
- package/dist/ui/dialogue-card.d.ts +18 -2
- package/dist/ui/dialogue-card.d.ts.map +1 -1
- package/dist/ui/dialogue-card.js +35 -9
- package/dist/ui/dialogue-card.js.map +1 -1
- package/dist/voiceover-editor/index.d.ts +60 -0
- package/dist/voiceover-editor/index.d.ts.map +1 -0
- package/dist/voiceover-editor/index.js +641 -0
- package/dist/voiceover-editor/index.js.map +1 -0
- package/package.json +9 -1
package/dist/ui/dialogue-card.js
CHANGED
|
@@ -42,17 +42,42 @@ export function mountDialogueCard(host, opts = {}) {
|
|
|
42
42
|
// runs past the budget is trimmed, not allowed to grow the box and break the surrounding layout.
|
|
43
43
|
lineEl.style.height = `${(maxLines * 1.4).toFixed(2)}em`;
|
|
44
44
|
lineEl.style.overflow = "hidden";
|
|
45
|
+
const playAudio = opts.audio !== false;
|
|
45
46
|
let lines = [];
|
|
47
|
+
let defaultName = "";
|
|
46
48
|
let idx = 0;
|
|
47
49
|
let timer = null;
|
|
50
|
+
// One reused <audio> element for line voice-over. Created lazily so a text-only card allocates nothing.
|
|
51
|
+
let audioEl = null;
|
|
48
52
|
const stop = () => { if (timer !== null) {
|
|
49
53
|
clearInterval(timer);
|
|
50
54
|
timer = null;
|
|
51
55
|
} };
|
|
56
|
+
const stopAudio = () => { if (audioEl) {
|
|
57
|
+
audioEl.pause();
|
|
58
|
+
audioEl.removeAttribute("src");
|
|
59
|
+
audioEl.load();
|
|
60
|
+
} };
|
|
61
|
+
const speak = (url) => {
|
|
62
|
+
if (!playAudio)
|
|
63
|
+
return;
|
|
64
|
+
stopAudio();
|
|
65
|
+
if (!url)
|
|
66
|
+
return;
|
|
67
|
+
if (!audioEl)
|
|
68
|
+
audioEl = new Audio();
|
|
69
|
+
audioEl.src = url;
|
|
70
|
+
// A missing/blocked file must never break the dialogue — voice-over is a pure enhancement.
|
|
71
|
+
void audioEl.play().catch(() => { });
|
|
72
|
+
};
|
|
52
73
|
const showLine = () => {
|
|
53
74
|
stop();
|
|
54
75
|
opts.onLine?.(idx); // a new line is now on screen → let the caller react (e.g. alternate a talking clip)
|
|
55
|
-
const
|
|
76
|
+
const line = lines[idx] ?? { text: "" };
|
|
77
|
+
const full = line.text ?? "";
|
|
78
|
+
if (line.name != null)
|
|
79
|
+
nameEl.textContent = line.name; // per-line speaker override
|
|
80
|
+
speak(line.audioUrl);
|
|
56
81
|
cueEl.textContent = idx >= lines.length - 1 ? CUE_END : CUE_MORE; // ✓ on the last line, else ▸
|
|
57
82
|
if (ms <= 0) {
|
|
58
83
|
lineEl.textContent = full;
|
|
@@ -67,19 +92,20 @@ export function mountDialogueCard(host, opts = {}) {
|
|
|
67
92
|
stop();
|
|
68
93
|
}, ms);
|
|
69
94
|
};
|
|
70
|
-
const close = () => { stop(); card.setVisible(false); lines = []; idx = 0; };
|
|
95
|
+
const close = () => { stop(); stopAudio(); card.setVisible(false); lines = []; idx = 0; };
|
|
71
96
|
return {
|
|
72
97
|
root: card.root,
|
|
73
98
|
card,
|
|
74
99
|
keycap,
|
|
75
100
|
open(name, ls) {
|
|
101
|
+
defaultName = name;
|
|
102
|
+
lines = ls.map((l) => (typeof l === "string" ? { text: l } : l));
|
|
76
103
|
// Char count is a rough proxy for "will this fit the box" — enough to flag a likely overflow.
|
|
77
|
-
|
|
78
|
-
if (l.length > maxChars)
|
|
79
|
-
console.warn(`[dialogue-card] line ${i} is ${l.length} chars (budget ${maxChars}); it may be clipped: "${l.slice(0, 48)}…"`);
|
|
104
|
+
lines.forEach((l, i) => {
|
|
105
|
+
if (l.text.length > maxChars)
|
|
106
|
+
console.warn(`[dialogue-card] line ${i} is ${l.text.length} chars (budget ${maxChars}); it may be clipped: "${l.text.slice(0, 48)}…"`);
|
|
80
107
|
});
|
|
81
|
-
nameEl.textContent =
|
|
82
|
-
lines = ls;
|
|
108
|
+
nameEl.textContent = defaultName;
|
|
83
109
|
idx = 0;
|
|
84
110
|
card.setVisible(true);
|
|
85
111
|
showLine();
|
|
@@ -87,7 +113,7 @@ export function mountDialogueCard(host, opts = {}) {
|
|
|
87
113
|
advance() {
|
|
88
114
|
if (timer !== null) {
|
|
89
115
|
stop();
|
|
90
|
-
lineEl.textContent = lines[idx] ?? "";
|
|
116
|
+
lineEl.textContent = lines[idx]?.text ?? "";
|
|
91
117
|
return true;
|
|
92
118
|
} // finish the line
|
|
93
119
|
idx++;
|
|
@@ -101,7 +127,7 @@ export function mountDialogueCard(host, opts = {}) {
|
|
|
101
127
|
close,
|
|
102
128
|
setVisible: card.setVisible,
|
|
103
129
|
setScreenPos: card.setScreenPos,
|
|
104
|
-
dispose: () => { stop(); card.dispose(); },
|
|
130
|
+
dispose: () => { stop(); stopAudio(); card.dispose(); },
|
|
105
131
|
};
|
|
106
132
|
}
|
|
107
133
|
//# sourceMappingURL=dialogue-card.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialogue-card.js","sourceRoot":"","sources":["../../src/ui/dialogue-card.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAa,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,YAAY,EAAqD,MAAM,aAAa,CAAC;AAE9F,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,sCAAsC;AAC5D,MAAM,OAAO,GAAG,GAAG,CAAC,CAAE,qDAAqD;
|
|
1
|
+
{"version":3,"file":"dialogue-card.js","sourceRoot":"","sources":["../../src/ui/dialogue-card.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@rydr/game-sdk/voiceover-editor` — the reusable per-game voice-over editor UI.
|
|
3
|
+
*
|
|
4
|
+
* Hosted on a game's admin page (`voice-over-editor.html` → `mountVoiceoverEditor`). Two tabs:
|
|
5
|
+
* - **Conversations** — the game's conversations (`shared` gamedata, collection `conversations`).
|
|
6
|
+
* - **Characters** — the per-game "voice cast" (`voice-cast` gamedata): each speaker's voice + English
|
|
7
|
+
* persona context + default speed. Games can't write the shared character catalog, so casting is here.
|
|
8
|
+
*
|
|
9
|
+
* If the host passes `definitions` (the game's `defineConversation`s, from `listDefinedConversations()`),
|
|
10
|
+
* the editor becomes CODE-AWARE: it lists code-defined conversations (text + per-line style/speed are
|
|
11
|
+
* read-only mirrors of code), shows a **sync status chip** (in-sync / push / lossy) diffing code vs
|
|
12
|
+
* stored, and runs `syncConversations({ prune })` from a header button. You can still author extra
|
|
13
|
+
* conversations here ("+ New") for ad-hoc testing — those are editor-authored and NEVER pruned. With no
|
|
14
|
+
* `definitions` (e.g. the platform's own editor) it's a plain authoring surface (no chip).
|
|
15
|
+
*
|
|
16
|
+
* Self-contained like `@rydr/game-sdk/ui`: injects its own scoped `.rydr-vo-*` CSS once. Admin-gate the
|
|
17
|
+
* HOST — the shell also enforces `shared` writes.
|
|
18
|
+
*/
|
|
19
|
+
import type { GameDoc } from "../protocol/gamedata.js";
|
|
20
|
+
import type { CatalogCharacter } from "../protocol/characters.js";
|
|
21
|
+
import { type ConversationDef } from "../conversations/index.js";
|
|
22
|
+
/** The session surface the editor needs — a `PlatformSession` satisfies it. */
|
|
23
|
+
export interface VoiceoverEditorSession {
|
|
24
|
+
readonly identity: {
|
|
25
|
+
isAdmin?: boolean;
|
|
26
|
+
};
|
|
27
|
+
listCharacters(filter?: {
|
|
28
|
+
category?: string;
|
|
29
|
+
}): Promise<CatalogCharacter[]>;
|
|
30
|
+
getCharacter(id: string): Promise<CatalogCharacter | null>;
|
|
31
|
+
listContent(collection: string): Promise<GameDoc[]>;
|
|
32
|
+
getContent(collection: string, id: string): Promise<GameDoc | null>;
|
|
33
|
+
saveContent(collection: string, id: string, value: unknown): Promise<void>;
|
|
34
|
+
deleteContent(collection: string, id: string): Promise<void>;
|
|
35
|
+
generateVoiceover(input: {
|
|
36
|
+
text: string;
|
|
37
|
+
voice: string;
|
|
38
|
+
style?: string;
|
|
39
|
+
speed?: number;
|
|
40
|
+
lang?: string;
|
|
41
|
+
}): Promise<{
|
|
42
|
+
url: string;
|
|
43
|
+
hash: string;
|
|
44
|
+
cached: boolean;
|
|
45
|
+
}>;
|
|
46
|
+
}
|
|
47
|
+
export interface VoiceoverEditorOptions {
|
|
48
|
+
session: VoiceoverEditorSession;
|
|
49
|
+
/**
|
|
50
|
+
* The game's code-declared conversations (`listDefinedConversations()`). When non-empty the editor is
|
|
51
|
+
* code-aware (read-only code text + sync chip). Empty/omitted → plain authoring surface, no chip.
|
|
52
|
+
*/
|
|
53
|
+
definitions?: ConversationDef[];
|
|
54
|
+
}
|
|
55
|
+
export interface VoiceoverEditor {
|
|
56
|
+
dispose(): void;
|
|
57
|
+
}
|
|
58
|
+
/** Mount the voice-over editor into `root`. */
|
|
59
|
+
export declare function mountVoiceoverEditor(root: HTMLElement, opts: VoiceoverEditorOptions): VoiceoverEditor;
|
|
60
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/voiceover-editor/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAYlE,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEpF,+EAA+E;AAC/E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACzC,cAAc,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC5E,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAC3D,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACpD,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACpE,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,iBAAiB,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACnK;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,sBAAsB,CAAC;IAChC;;;OAGG;IACH,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,IAAI,IAAI,CAAC;CACjB;AAgFD,+CAA+C;AAC/C,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAsB,GAAG,eAAe,CAiiBrG"}
|