@rydr/game-sdk 3.11.0 → 3.13.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/README.md +9 -1
- package/dist/client/PlatformClient.d.ts +17 -4
- package/dist/client/PlatformClient.d.ts.map +1 -1
- package/dist/client/PlatformClient.js +1 -1
- package/dist/client/PlatformClient.js.map +1 -1
- package/dist/conversations/voice-samples.d.ts.map +1 -1
- package/dist/conversations/voice-samples.js +183 -2
- package/dist/conversations/voice-samples.js.map +1 -1
- package/dist/conversations/voices.d.ts.map +1 -1
- package/dist/conversations/voices.js +5 -3
- package/dist/conversations/voices.js.map +1 -1
- package/dist/host/PlatformHost.d.ts +4 -2
- package/dist/host/PlatformHost.d.ts.map +1 -1
- package/dist/host/PlatformHost.js +1 -1
- package/dist/host/PlatformHost.js.map +1 -1
- package/dist/protocol/boards.d.ts +4 -0
- package/dist/protocol/boards.d.ts.map +1 -1
- package/dist/protocol/boards.js.map +1 -1
- package/dist/protocol/conversations.d.ts +11 -0
- package/dist/protocol/conversations.d.ts.map +1 -1
- package/dist/protocol/conversations.js +14 -0
- package/dist/protocol/conversations.js.map +1 -1
- package/dist/protocol/messages.d.ts +7 -1
- 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 +7 -2
- package/dist/protocol/version.js.map +1 -1
- package/dist/sound-gallery/index.d.ts +41 -0
- package/dist/sound-gallery/index.d.ts.map +1 -0
- package/dist/sound-gallery/index.js +1264 -0
- package/dist/sound-gallery/index.js.map +1 -0
- package/dist/soundboard-editor/index.d.ts +44 -0
- package/dist/soundboard-editor/index.d.ts.map +1 -0
- package/dist/soundboard-editor/index.js +253 -0
- package/dist/soundboard-editor/index.js.map +1 -0
- package/dist/sounds/audio-utils.d.ts +16 -0
- package/dist/sounds/audio-utils.d.ts.map +1 -0
- package/dist/sounds/audio-utils.js +150 -0
- package/dist/sounds/audio-utils.js.map +1 -0
- package/dist/sounds/index.d.ts +25 -0
- package/dist/sounds/index.d.ts.map +1 -0
- package/dist/sounds/index.js +22 -0
- package/dist/sounds/index.js.map +1 -0
- package/dist/sounds/sound-bank.d.ts +73 -0
- package/dist/sounds/sound-bank.d.ts.map +1 -0
- package/dist/sounds/sound-bank.js +321 -0
- package/dist/sounds/sound-bank.js.map +1 -0
- package/dist/sounds/soundboard.d.ts +121 -0
- package/dist/sounds/soundboard.d.ts.map +1 -0
- package/dist/sounds/soundboard.js +154 -0
- package/dist/sounds/soundboard.js.map +1 -0
- package/dist/sounds/types.d.ts +88 -0
- package/dist/sounds/types.d.ts.map +1 -0
- package/dist/sounds/types.js +8 -0
- package/dist/sounds/types.js.map +1 -0
- package/dist/ui/index.d.ts +2 -1
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +2 -1
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/power-race.d.ts +2 -2
- package/dist/ui/power-race.d.ts.map +1 -1
- package/dist/ui/power-race.js +8 -72
- package/dist/ui/power-race.js.map +1 -1
- package/dist/ui/showcase/index.d.ts.map +1 -1
- package/dist/ui/showcase/index.js +42 -2
- package/dist/ui/showcase/index.js.map +1 -1
- package/dist/ui/solo-labeled-diamond.d.ts +69 -0
- package/dist/ui/solo-labeled-diamond.d.ts.map +1 -0
- package/dist/ui/solo-labeled-diamond.js +168 -0
- package/dist/ui/solo-labeled-diamond.js.map +1 -0
- package/dist/ui/styles.js +11 -2
- package/dist/ui/styles.js.map +1 -1
- package/dist/voice-gallery/index.d.ts.map +1 -1
- package/dist/voice-gallery/index.js +132 -12
- package/dist/voice-gallery/index.js.map +1 -1
- package/dist/voiceover-editor/index.d.ts +6 -0
- package/dist/voiceover-editor/index.d.ts.map +1 -1
- package/dist/voiceover-editor/index.js +222 -14
- package/dist/voiceover-editor/index.js.map +1 -1
- package/package.json +16 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/showcase/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/showcase/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SOLO LABELED DIAMOND — the {@link mountLabeledDiamond} look (a card-seated label radiating out from a
|
|
3
|
+
* button in an A/B/Y/Z cluster) but with EXACTLY ONE active button at a time, and the other three drawn
|
|
4
|
+
* as the small blank grey circles of the classic A/B/Y/Z diamond (`createKeycap(…, { variant: "full" })`
|
|
5
|
+
* in {@link ./keycap}). Where the labeled diamond is a "here are all the actions on offer" menu (any
|
|
6
|
+
* number lit at once), this is the "press THIS one" affordance: a single plain label on one button, the
|
|
7
|
+
* rest sunk and quiet.
|
|
8
|
+
*
|
|
9
|
+
* The centre cluster IS a full A/B/Y/Z keycap, so it inherits that state machine for free — colour vs
|
|
10
|
+
* mono (`colored`), the bouncing pulse (`animate`), pressed sink, cooldown ring, and disabled — all
|
|
11
|
+
* driven through the exposed `keycap` handle. `setActive` moves the active button to any of A/B/Y/Z.
|
|
12
|
+
*
|
|
13
|
+
* The label's SIDE is independent of which button is active: `labelPos` defaults to `"auto"` (the active
|
|
14
|
+
* button's own side) but can be forced to `"top"/"right"/"bottom"/"left"` — including a side holding a
|
|
15
|
+
* small inactive circle. The label's tuck is computed from the real pip geometry, so it seats neatly on
|
|
16
|
+
* the big active pip AND the smaller inactive ones.
|
|
17
|
+
*
|
|
18
|
+
* Fixed-overlay by default (call `setScreenPos` to track a projected world point), or `inline:true` to
|
|
19
|
+
* lay it in normal flow.
|
|
20
|
+
*/
|
|
21
|
+
import { type ButtonLetter, type ButtonSource, type Keycap } from "./keycap.js";
|
|
22
|
+
/** Which side the single label sits on. `"auto"` follows the active button; the rest force a side. */
|
|
23
|
+
export type SoloLabelPos = "auto" | "top" | "right" | "bottom" | "left";
|
|
24
|
+
export interface SoloLabeledDiamondOptions {
|
|
25
|
+
/** Lay the diamond inline (normal flow, full width) instead of as a fixed overlay. */
|
|
26
|
+
inline?: boolean;
|
|
27
|
+
/** Per-button hue (default true). `false` → mono: a white active face with a dark letter. */
|
|
28
|
+
colored?: boolean;
|
|
29
|
+
/** Run the bouncing attract pulse on the active button (default true). */
|
|
30
|
+
animate?: boolean;
|
|
31
|
+
/** Wire to real controller input: the active keycap shows its pressed sink while ITS button is held. */
|
|
32
|
+
press?: ButtonSource;
|
|
33
|
+
/** Which button starts active (default `"A"`). */
|
|
34
|
+
active?: ButtonLetter;
|
|
35
|
+
/** The label text (radiates from `labelPos`). */
|
|
36
|
+
label?: string;
|
|
37
|
+
/** Which side the label sits on (default `"auto"` = the active button's side). */
|
|
38
|
+
labelPos?: SoloLabelPos;
|
|
39
|
+
/**
|
|
40
|
+
* Hug the keycap: size the cluster cell to the diamond's real bounding box instead of the fixed
|
|
41
|
+
* 110×100 overlay cell, so an inline chip carries no dead space around the glyph (and the wrap
|
|
42
|
+
* hugs its content rather than filling its width). The box tracks the active button's bbox on
|
|
43
|
+
* `setActive`. Intended for compact inline chips; leave off for the fixed screen-tracking overlay.
|
|
44
|
+
*/
|
|
45
|
+
compact?: boolean;
|
|
46
|
+
}
|
|
47
|
+
export interface SoloLabeledDiamond {
|
|
48
|
+
root: HTMLElement;
|
|
49
|
+
/** The centre A/B/Y/Z keycap — drive cooldown / disabled / pressed / colour through it. */
|
|
50
|
+
keycap: Keycap;
|
|
51
|
+
/** Which button is currently active. */
|
|
52
|
+
active: ButtonLetter;
|
|
53
|
+
/** Move the single active button to `button`; optionally set its label. */
|
|
54
|
+
setActive(button: ButtonLetter, label?: string): void;
|
|
55
|
+
/** Update the label text (`null`/`""` hides it). */
|
|
56
|
+
setLabel(text: string | null): void;
|
|
57
|
+
/** Move the label to a side (`"auto"` = follow the active button). */
|
|
58
|
+
setLabelPos(pos: SoloLabelPos): void;
|
|
59
|
+
setVisible(v: boolean): void;
|
|
60
|
+
/** Centre the diamond at a viewport pixel (e.g. a target projected to screen). */
|
|
61
|
+
setScreenPos(x: number, y: number): void;
|
|
62
|
+
dispose(): void;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Mount a solo labeled diamond: a full A/B/Y/Z keycap (one big active pip, three small blank grey
|
|
66
|
+
* circles) with a single card-seated label radiating from a configurable side.
|
|
67
|
+
*/
|
|
68
|
+
export declare function mountSoloLabeledDiamond(host: HTMLElement, opts?: SoloLabeledDiamondOptions): SoloLabeledDiamond;
|
|
69
|
+
//# sourceMappingURL=solo-labeled-diamond.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solo-labeled-diamond.d.ts","sourceRoot":"","sources":["../../src/ui/solo-labeled-diamond.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAgB,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAM9F,sGAAsG;AACtG,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AA0CxE,MAAM,WAAW,yBAAyB;IACxC,sFAAsF;IACtF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6FAA6F;IAC7F,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wGAAwG;IACxG,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,kDAAkD;IAClD,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kFAAkF;IAClF,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,WAAW,CAAC;IAClB,2FAA2F;IAC3F,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,MAAM,EAAE,YAAY,CAAC;IACrB,2EAA2E;IAC3E,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtD,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACpC,sEAAsE;IACtE,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,kFAAkF;IAClF,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,GAAE,yBAA8B,GAAG,kBAAkB,CA2GnH"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SOLO LABELED DIAMOND — the {@link mountLabeledDiamond} look (a card-seated label radiating out from a
|
|
3
|
+
* button in an A/B/Y/Z cluster) but with EXACTLY ONE active button at a time, and the other three drawn
|
|
4
|
+
* as the small blank grey circles of the classic A/B/Y/Z diamond (`createKeycap(…, { variant: "full" })`
|
|
5
|
+
* in {@link ./keycap}). Where the labeled diamond is a "here are all the actions on offer" menu (any
|
|
6
|
+
* number lit at once), this is the "press THIS one" affordance: a single plain label on one button, the
|
|
7
|
+
* rest sunk and quiet.
|
|
8
|
+
*
|
|
9
|
+
* The centre cluster IS a full A/B/Y/Z keycap, so it inherits that state machine for free — colour vs
|
|
10
|
+
* mono (`colored`), the bouncing pulse (`animate`), pressed sink, cooldown ring, and disabled — all
|
|
11
|
+
* driven through the exposed `keycap` handle. `setActive` moves the active button to any of A/B/Y/Z.
|
|
12
|
+
*
|
|
13
|
+
* The label's SIDE is independent of which button is active: `labelPos` defaults to `"auto"` (the active
|
|
14
|
+
* button's own side) but can be forced to `"top"/"right"/"bottom"/"left"` — including a side holding a
|
|
15
|
+
* small inactive circle. The label's tuck is computed from the real pip geometry, so it seats neatly on
|
|
16
|
+
* the big active pip AND the smaller inactive ones.
|
|
17
|
+
*
|
|
18
|
+
* Fixed-overlay by default (call `setScreenPos` to track a projected world point), or `inline:true` to
|
|
19
|
+
* lay it in normal flow.
|
|
20
|
+
*/
|
|
21
|
+
import { mountCard } from "./card.js";
|
|
22
|
+
import { createKeycap } from "./keycap.js";
|
|
23
|
+
import { injectCss } from "./styles.js";
|
|
24
|
+
const POS = { Y: "top", A: "rgt", B: "bot", Z: "lft" };
|
|
25
|
+
const SIDE = { top: "top", right: "rgt", bottom: "bot", left: "lft" };
|
|
26
|
+
// Keycap "full" geometry (mirrors keycap.ts): small pip radius, active pip radius, and the on-axis
|
|
27
|
+
// distance of each — inactive pips sit at r0 from centre, the active one is pushed out to D.
|
|
28
|
+
const RI = 10, RA = 19, R0 = 19, D = 29;
|
|
29
|
+
const DIRV = { top: [0, -1], bot: [0, 1], lft: [-1, 0], rgt: [1, 0] };
|
|
30
|
+
// The DEFAULT cluster cell (matches .rydr-ui-sld-cluster): a fixed overlay box the keycap is pinned to,
|
|
31
|
+
// so every pip lands at a known cluster pixel regardless of which button is active. `compact` mode
|
|
32
|
+
// replaces this frame with the keycap's own tight bbox (keycapFrame) so an inline chip has no dead space.
|
|
33
|
+
const CW = 110, CH = 100;
|
|
34
|
+
// How far the pip's OUTER edge tucks UNDER the label card (px). The card has 20px side padding, so a
|
|
35
|
+
// left/right pip must overlap by well under that or it hides the first/last letter — hence the smaller
|
|
36
|
+
// horizontal value. Vertical text is centred, so a top/bottom pip can sit a touch deeper.
|
|
37
|
+
const OVERLAP_V = 6;
|
|
38
|
+
const OVERLAP_H = 10;
|
|
39
|
+
const FIXED_FRAME = { w: CW, h: CH, cx: CW / 2, cy: CH / 2 };
|
|
40
|
+
/** The keycap's OWN tight bounding box for a given active pos, plus where the pip-cluster centre sits
|
|
41
|
+
* inside it (mirrors keycap.ts `buildPips`). Used as the cluster frame in `compact` mode so the box
|
|
42
|
+
* hugs the glyph. Tracks the active button — its big pip pushes the bounds out on one side. */
|
|
43
|
+
function keycapFrame(active) {
|
|
44
|
+
let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;
|
|
45
|
+
for (const k of ["top", "bot", "lft", "rgt"]) {
|
|
46
|
+
const isA = k === active, r = isA ? RA : RI, dist = isA ? D : R0;
|
|
47
|
+
minX = Math.min(minX, DIRV[k][0] * dist - r);
|
|
48
|
+
maxX = Math.max(maxX, DIRV[k][0] * dist + r);
|
|
49
|
+
minY = Math.min(minY, DIRV[k][1] * dist - r);
|
|
50
|
+
maxY = Math.max(maxY, DIRV[k][1] * dist + r);
|
|
51
|
+
}
|
|
52
|
+
return { w: maxX - minX, h: maxY - minY, cx: -minX, cy: -minY };
|
|
53
|
+
}
|
|
54
|
+
/** Centre + radius (in cluster pixels) of the pip at `side`, given the frame's pip-cluster centre. */
|
|
55
|
+
function pipGeom(side, active, fx, fy) {
|
|
56
|
+
const isActive = side === active;
|
|
57
|
+
const r = isActive ? RA : RI;
|
|
58
|
+
const dist = isActive ? D : R0;
|
|
59
|
+
return { cx: fx + DIRV[side][0] * dist, cy: fy + DIRV[side][1] * dist, r };
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Mount a solo labeled diamond: a full A/B/Y/Z keycap (one big active pip, three small blank grey
|
|
63
|
+
* circles) with a single card-seated label radiating from a configurable side.
|
|
64
|
+
*/
|
|
65
|
+
export function mountSoloLabeledDiamond(host, opts = {}) {
|
|
66
|
+
injectCss();
|
|
67
|
+
const colored = opts.colored ?? true;
|
|
68
|
+
const animate = opts.animate ?? true;
|
|
69
|
+
const root = document.createElement("div");
|
|
70
|
+
root.className = "rydr-ui-ld-host rydr-ui-sld-host" + (opts.inline ? " inline" : "");
|
|
71
|
+
const wrap = document.createElement("div");
|
|
72
|
+
wrap.className = "rydr-ui-ld-wrap";
|
|
73
|
+
root.appendChild(wrap);
|
|
74
|
+
// centre cell: the full A/B/Y/Z keycap, absolutely placed so its pip-cluster centre is the cell centre
|
|
75
|
+
const cluster = document.createElement("div");
|
|
76
|
+
cluster.className = "rydr-ui-sld-cluster";
|
|
77
|
+
wrap.appendChild(cluster);
|
|
78
|
+
// ONE label (any number of sides possible, but only one active at a time), seated in the dark card
|
|
79
|
+
const slot = document.createElement("div");
|
|
80
|
+
slot.className = "rydr-ui-ld-lbl";
|
|
81
|
+
const card = mountCard(slot, { content: "", inline: true });
|
|
82
|
+
wrap.appendChild(slot);
|
|
83
|
+
host.appendChild(root);
|
|
84
|
+
const compact = opts.compact ?? false;
|
|
85
|
+
// In compact mode the wrap hugs its content instead of the inline default (full width + 210px min-
|
|
86
|
+
// height), so the chip is as small as the glyph + label — no game-side CSS override needed. The grid
|
|
87
|
+
// stays 3×3 (so the label's grid-area still picks its side) but every track is `auto`: an empty side
|
|
88
|
+
// track then collapses to 0. (Under `max-content` the default `1fr` tracks do NOT collapse — they keep
|
|
89
|
+
// a flexible share — which left a wide empty cell on the label-less side.)
|
|
90
|
+
if (compact) {
|
|
91
|
+
wrap.style.width = "max-content";
|
|
92
|
+
wrap.style.minHeight = "0";
|
|
93
|
+
wrap.style.padding = "0";
|
|
94
|
+
wrap.style.gridTemplateColumns = "auto auto auto";
|
|
95
|
+
wrap.style.gridTemplateRows = "auto auto auto";
|
|
96
|
+
}
|
|
97
|
+
let active = opts.active ?? "A";
|
|
98
|
+
let label = opts.label ?? null;
|
|
99
|
+
let labelPos = opts.labelPos ?? "auto";
|
|
100
|
+
let keycap;
|
|
101
|
+
let frame = FIXED_FRAME;
|
|
102
|
+
const side = () => (labelPos === "auto" ? POS[active] : SIDE[labelPos]);
|
|
103
|
+
const buildKeycap = () => {
|
|
104
|
+
keycap?.dispose();
|
|
105
|
+
keycap = createKeycap(active, { variant: "full", colored, animate, press: opts.press });
|
|
106
|
+
// compact → the cluster hugs the keycap's own bbox; otherwise it stays the fixed overlay cell.
|
|
107
|
+
frame = compact ? keycapFrame(POS[active]) : FIXED_FRAME;
|
|
108
|
+
if (compact) {
|
|
109
|
+
cluster.style.width = `${frame.w}px`;
|
|
110
|
+
cluster.style.height = `${frame.h}px`;
|
|
111
|
+
}
|
|
112
|
+
// Place the keycap so its 4-pip centre lands at the frame's pip-cluster centre. The keycap's own
|
|
113
|
+
// bbox top-left is at (-kc.cx, -kc.cy) from that centre; in compact mode this resolves to (0, 0).
|
|
114
|
+
const kc = keycapFrame(POS[active]);
|
|
115
|
+
keycap.el.style.position = "absolute";
|
|
116
|
+
keycap.el.style.left = `${frame.cx - kc.cx}px`;
|
|
117
|
+
keycap.el.style.top = `${frame.cy - kc.cy}px`;
|
|
118
|
+
cluster.appendChild(keycap.el);
|
|
119
|
+
};
|
|
120
|
+
const paintLabel = () => {
|
|
121
|
+
const s = side();
|
|
122
|
+
slot.className = `rydr-ui-ld-lbl rydr-ui-ld-lbl-${s}`;
|
|
123
|
+
const on = label != null && label !== "";
|
|
124
|
+
slot.style.display = on ? "" : "none";
|
|
125
|
+
if (on)
|
|
126
|
+
card.setLabel(label);
|
|
127
|
+
// tuck the label so the pip's OUTER edge sits a fixed overlap under the card — computed from THIS
|
|
128
|
+
// pip's real radius/position, so a big active pip and a small grey one each seat correctly.
|
|
129
|
+
const { cx, cy, r } = pipGeom(s, POS[active], frame.cx, frame.cy);
|
|
130
|
+
slot.style.margin = "0";
|
|
131
|
+
if (s === "top")
|
|
132
|
+
slot.style.marginBottom = `${-((cy - r) + OVERLAP_V)}px`;
|
|
133
|
+
else if (s === "bot")
|
|
134
|
+
slot.style.marginTop = `${-((frame.h - (cy + r)) + OVERLAP_V)}px`;
|
|
135
|
+
else if (s === "lft")
|
|
136
|
+
slot.style.marginRight = `${-((cx - r) + OVERLAP_H)}px`;
|
|
137
|
+
else
|
|
138
|
+
slot.style.marginLeft = `${-((frame.w - (cx + r)) + OVERLAP_H)}px`;
|
|
139
|
+
// Cross-axis: seat the label on the TARGET pip's centre, not the box centre. A compact box grows
|
|
140
|
+
// toward the big active pip, so its geometric centre can differ from the pip the label tucks to
|
|
141
|
+
// (e.g. Back = big B + right label). A no-op for the symmetric fixed frame (frame centre = box centre).
|
|
142
|
+
slot.style.transform =
|
|
143
|
+
s === "lft" || s === "rgt" ? `translateY(${frame.cy - frame.h / 2}px)` : `translateX(${frame.cx - frame.w / 2}px)`;
|
|
144
|
+
};
|
|
145
|
+
buildKeycap();
|
|
146
|
+
paintLabel();
|
|
147
|
+
return {
|
|
148
|
+
root,
|
|
149
|
+
get keycap() { return keycap; },
|
|
150
|
+
get active() { return active; },
|
|
151
|
+
setActive: (button, next) => {
|
|
152
|
+
active = button;
|
|
153
|
+
if (next !== undefined)
|
|
154
|
+
label = next;
|
|
155
|
+
buildKeycap();
|
|
156
|
+
paintLabel();
|
|
157
|
+
},
|
|
158
|
+
setLabel: (text) => { label = text; paintLabel(); },
|
|
159
|
+
setLabelPos: (pos) => { labelPos = pos; paintLabel(); },
|
|
160
|
+
setVisible: (v) => { root.style.visibility = v ? "" : "hidden"; },
|
|
161
|
+
setScreenPos(x, y) {
|
|
162
|
+
root.style.left = `${x}px`;
|
|
163
|
+
root.style.top = `${y}px`;
|
|
164
|
+
},
|
|
165
|
+
dispose: () => { keycap?.dispose(); root.remove(); },
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=solo-labeled-diamond.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solo-labeled-diamond.js","sourceRoot":"","sources":["../../src/ui/solo-labeled-diamond.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/styles.js
CHANGED
|
@@ -24,8 +24,10 @@ const CSS = `
|
|
|
24
24
|
.rydr-ui-root { position: fixed; left: 50%; bottom: 96px; z-index: 40; pointer-events: none;
|
|
25
25
|
transform: translateX(-50%); opacity: 0; transition: opacity 0.18s; }
|
|
26
26
|
.rydr-ui-root.inline { position: relative; left: auto; bottom: auto; transform: none; opacity: 1; display: inline-block; z-index: auto; }
|
|
27
|
-
/* the dark action card holding the content slot
|
|
28
|
-
|
|
27
|
+
/* the dark action card holding the content slot. Padding is a var so a consumer can retune it (the
|
|
28
|
+
default 10/20/12 is asymmetric to seat a bottom-straddling keycap; a chip with a side keycap or
|
|
29
|
+
custom content may want it symmetric/tighter) via the --rydr-ui-card-pad property on an ancestor. */
|
|
30
|
+
.rydr-ui-card { position: relative; padding: var(--rydr-ui-card-pad, 10px 20px 12px); border-radius: 12px; background: rgba(8,14,24,0.7);
|
|
29
31
|
border: 1px solid rgba(255,255,255,0.16); backdrop-filter: blur(8px); box-shadow: 0 6px 18px rgba(0,0,0,0.4);
|
|
30
32
|
color: #eef4ff; text-align: center; }
|
|
31
33
|
/* the card is JUST a dark container with padding — it hugs its content by default. A consumer can fix
|
|
@@ -172,6 +174,13 @@ const CSS = `
|
|
|
172
174
|
/* a disabled action's label fades back (the pip carries its own inert grey via .rydr-ui-pip.disabled) */
|
|
173
175
|
.rydr-ui-ld-lbl-off { opacity: 0.4; transition: opacity 0.12s; }
|
|
174
176
|
|
|
177
|
+
/* SOLO LABELED DIAMOND (mountSoloLabeledDiamond) — reuses the labeled-diamond grid + label cells, but
|
|
178
|
+
its centre cell is a full A/B/Y/Z keycap (one big active pip, three small blank grey circles) rather
|
|
179
|
+
than the same-size pip cluster. The keycap is absolutely placed by JS so its 4-pip centre lands at
|
|
180
|
+
the cell centre (a known pixel), and the single label's tuck margin is computed per-pip in JS (so it
|
|
181
|
+
seats on the big active pip AND the small inactive ones) — hence no per-side margins here. */
|
|
182
|
+
.rydr-ui-sld-cluster { grid-area: 2 / 2; position: relative; width: 110px; height: 100px; z-index: 3; }
|
|
183
|
+
|
|
175
184
|
/* RARITY CARD (mountRarityCard) — a generic rarity-tinted glass frame + a content slot the game fills.
|
|
176
185
|
The whole frame is tinted by --rarity (set inline per card). An optional top band carries the rarity
|
|
177
186
|
label; .selected adds a ring + deeper glow and lifts the card for arrow-navigable pickers. */
|
package/dist/ui/styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/ui/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB,MAAM,UAAU,SAAS;IACvB,IAAI,WAAW,IAAI,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;QAAC,WAAW,GAAG,IAAI,CAAC;QAAC,OAAO;IAAC,CAAC;IAC1F,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,GAAG,aAAa,CAAC;IACzB,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,WAAW,GAAG,IAAI,CAAC;AACrB,CAAC;AAED,MAAM,GAAG,GAAG
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/ui/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB,MAAM,UAAU,SAAS;IACvB,IAAI,WAAW,IAAI,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;QAAC,WAAW,GAAG,IAAI,CAAC;QAAC,OAAO;IAAC,CAAC;IAC1F,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,GAAG,aAAa,CAAC;IACzB,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,WAAW,GAAG,IAAI,CAAC;AACrB,CAAC;AAED,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkNX,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/voice-gallery/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/voice-gallery/index.ts"],"names":[],"mappings":"AA4BA,gFAAgF;AAChF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACzC,iBAAiB,CAAC,KAAK,EAAE;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,IAAI,IAAI,CAAC;CACjB;AA0ED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,mBAAmB,GAAG,YAAY,CAuU5F"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* Self-contained like `@rydr/game-sdk/ui`: injects its own scoped `.rydr-vg-*` CSS once.
|
|
14
14
|
*/
|
|
15
15
|
import { GEMINI_VOICES, VOICE_SAMPLE_EMOTIONS, VOICE_SAMPLE_LANGS, } from "../conversations/voices.js";
|
|
16
|
-
import { getVoiceSamples, voiceSampleJobs, voiceSampleKey,
|
|
16
|
+
import { getVoiceSamples, voiceSampleJobs, voiceSampleKey, } from "../conversations/voice-samples.js";
|
|
17
17
|
const LANG_LABEL = { fr: "🇫🇷 Français", en: "🇬🇧 English" };
|
|
18
18
|
const GENDER_ICON = { female: "♀", male: "♂" };
|
|
19
19
|
const CSS = `
|
|
@@ -36,15 +36,33 @@ const CSS = `
|
|
|
36
36
|
.rydr-vg-g{font-size:13px;font-weight:700}
|
|
37
37
|
.rydr-vg-g.female{color:#ff8fc7}
|
|
38
38
|
.rydr-vg-g.male{color:#6fb4ff}
|
|
39
|
+
.rydr-vg-gender{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600}
|
|
40
|
+
.rydr-vg-filter{display:inline-flex;gap:3px;border:1px solid #2a3242;border-radius:8px;padding:3px;background:#12151d}
|
|
41
|
+
.rydr-vg-fbtn{padding:5px 11px;border-radius:6px;border:none;background:transparent;color:#9aa4b8;cursor:pointer;font:inherit;font-size:12px}
|
|
42
|
+
.rydr-vg-fbtn:hover{color:#e7e9ee}
|
|
43
|
+
.rydr-vg-fbtn.sel{background:#2b5fd6;color:#fff}
|
|
39
44
|
.rydr-vg-persona{color:#8b93a7;font-size:12px;margin-top:2px}
|
|
40
45
|
.rydr-vg-cell{display:flex;flex-wrap:wrap;gap:6px}
|
|
41
46
|
.rydr-vg-clip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid #2a3242;background:#161b25;color:#cdd3e0;cursor:pointer;font:inherit;font-size:12px}
|
|
42
47
|
.rydr-vg-clip:hover:not(:disabled){border-color:#3f74ee;color:#fff}
|
|
43
48
|
.rydr-vg-clip:disabled{opacity:.4;cursor:default}
|
|
44
49
|
.rydr-vg-clip.playing{background:#2b5fd6;border-color:#3f74ee;color:#fff}
|
|
50
|
+
.rydr-vg-clip.gen{border-color:#3f74ee;color:#fff}
|
|
51
|
+
.rydr-vg-clip.err{border-color:#5c2436;background:#2a1119;color:#e2718f}
|
|
52
|
+
.rydr-vg-clip.err:hover:not(:disabled){border-color:#e2718f;color:#f2a9bd}
|
|
45
53
|
.rydr-vg-clip .ic{font-size:10px}
|
|
54
|
+
.rydr-vg-clip.gen .ic{display:inline-block;animation:rydr-vg-spin 1s linear infinite}
|
|
55
|
+
@keyframes rydr-vg-spin{to{transform:rotate(360deg)}}
|
|
46
56
|
.rydr-vg-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#1b2130;border:1px solid #31405f;padding:10px 16px;border-radius:8px;box-shadow:0 8px 30px rgba(0,0,0,.5);z-index:5}
|
|
47
57
|
`;
|
|
58
|
+
/** A short, human-readable hint for a TTS failure — flags the content-policy block explicitly so the
|
|
59
|
+
* operator knows to simplify the text/style rather than just retry. */
|
|
60
|
+
function ttsErrorHint(msg) {
|
|
61
|
+
if (/usage guidelines|INVALID_ARGUMENT|violates|safety|policy/i.test(msg)) {
|
|
62
|
+
return "Blocked by content policy — simplify the spoken text and the style, then retry.";
|
|
63
|
+
}
|
|
64
|
+
return msg.length > 140 ? msg.slice(0, 137) + "…" : msg;
|
|
65
|
+
}
|
|
48
66
|
const STYLE_ID = "rydr-vg-style";
|
|
49
67
|
function ensureStyle() {
|
|
50
68
|
if (typeof document === "undefined" || document.getElementById(STYLE_ID))
|
|
@@ -74,14 +92,24 @@ export function mountVoiceGallery(root, opts) {
|
|
|
74
92
|
// Runtime URL map, seeded from the committed manifest; generation updates it live so an admin can
|
|
75
93
|
// preview clips before committing.
|
|
76
94
|
const urls = new Map(Object.entries(getVoiceSamples().clips));
|
|
95
|
+
// Per-clip generation: the exact inputs for every (voice, lang, emotion) cell, keyed by sample key,
|
|
96
|
+
// plus the set of keys currently synthesising — so an admin can generate ONE cell and preview it
|
|
97
|
+
// (not just the whole grid via "Generate all").
|
|
98
|
+
const jobByKey = new Map(voiceSampleJobs().map((j) => [j.key, j]));
|
|
99
|
+
const generating = new Set();
|
|
100
|
+
const errors = new Map(); // key → last generation error (shown on the cell)
|
|
77
101
|
const audio = new Audio();
|
|
78
102
|
let playingKey = null;
|
|
79
103
|
const clipButtons = new Map();
|
|
104
|
+
const refreshClipButton = (key) => {
|
|
105
|
+
clipButtons.get(key)?._refresh?.();
|
|
106
|
+
};
|
|
80
107
|
function stopPlaying() {
|
|
81
108
|
audio.pause();
|
|
82
|
-
|
|
83
|
-
clipButtons.get(playingKey)?.classList.remove("playing");
|
|
109
|
+
const was = playingKey;
|
|
84
110
|
playingKey = null;
|
|
111
|
+
if (was)
|
|
112
|
+
refreshClipButton(was); // flip ⏸ → ▶ (replay)
|
|
85
113
|
}
|
|
86
114
|
function togglePlay(key) {
|
|
87
115
|
const clip = urls.get(key);
|
|
@@ -96,8 +124,9 @@ export function mountVoiceGallery(root, opts) {
|
|
|
96
124
|
audio.currentTime = 0;
|
|
97
125
|
void audio.play().catch(() => undefined);
|
|
98
126
|
playingKey = key;
|
|
99
|
-
|
|
127
|
+
refreshClipButton(key); // flip ▶ → ⏸ (click to stop)
|
|
100
128
|
}
|
|
129
|
+
// At end-of-clip the audio stops itself; reset our state + icon so the button shows ▶ to replay.
|
|
101
130
|
audio.addEventListener("ended", stopPlaying);
|
|
102
131
|
const container = el("div", "rydr-vg");
|
|
103
132
|
// ── Header ──────────────────────────────────────────────────────────────────
|
|
@@ -108,6 +137,29 @@ export function mountVoiceGallery(root, opts) {
|
|
|
108
137
|
title.appendChild(el("div", "sub", `${GEMINI_VOICES.length} voices · ${VOICE_SAMPLE_LANGS.length} languages · ${VOICE_SAMPLE_EMOTIONS.length} emotions (${total} clips)`));
|
|
109
138
|
head.appendChild(title);
|
|
110
139
|
const actions = el("div", "rydr-vg-actions");
|
|
140
|
+
// Gender filter (everyone): All / Women / Men, toggling row visibility. `voiceRows` is filled as the
|
|
141
|
+
// table body is built below; the handlers only run after that, so the forward reference is safe.
|
|
142
|
+
const voiceRows = [];
|
|
143
|
+
let genderFilter = "all";
|
|
144
|
+
const filterBar = el("div", "rydr-vg-filter");
|
|
145
|
+
const applyGenderFilter = () => {
|
|
146
|
+
for (const [g, tr] of voiceRows)
|
|
147
|
+
tr.style.display = genderFilter === "all" || g === genderFilter ? "" : "none";
|
|
148
|
+
for (const b of Array.from(filterBar.children)) {
|
|
149
|
+
b.classList.toggle("sel", b.dataset.v === genderFilter);
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
for (const f of [
|
|
153
|
+
{ v: "all", label: "All" },
|
|
154
|
+
{ v: "female", label: "♀ Women" },
|
|
155
|
+
{ v: "male", label: "♂ Men" },
|
|
156
|
+
]) {
|
|
157
|
+
const b = el("button", "rydr-vg-fbtn", f.label);
|
|
158
|
+
b.dataset.v = f.v;
|
|
159
|
+
b.addEventListener("click", () => { genderFilter = f.v; applyGenderFilter(); });
|
|
160
|
+
filterBar.appendChild(b);
|
|
161
|
+
}
|
|
162
|
+
actions.appendChild(filterBar);
|
|
111
163
|
const prog = el("div", "rydr-vg-prog");
|
|
112
164
|
const genBtn = el("button", "rydr-vg-btn primary");
|
|
113
165
|
genBtn.textContent = "Generate all";
|
|
@@ -125,6 +177,7 @@ export function mountVoiceGallery(root, opts) {
|
|
|
125
177
|
const thead = el("thead");
|
|
126
178
|
const hrow = el("tr");
|
|
127
179
|
hrow.appendChild(el("th", undefined, "Voice"));
|
|
180
|
+
hrow.appendChild(el("th", undefined, "Gender"));
|
|
128
181
|
for (const lang of VOICE_SAMPLE_LANGS)
|
|
129
182
|
hrow.appendChild(el("th", undefined, LANG_LABEL[lang]));
|
|
130
183
|
thead.appendChild(hrow);
|
|
@@ -138,11 +191,36 @@ export function mountVoiceGallery(root, opts) {
|
|
|
138
191
|
btn.appendChild(el("span", undefined, label));
|
|
139
192
|
const refresh = () => {
|
|
140
193
|
const has = urls.has(key);
|
|
141
|
-
|
|
142
|
-
|
|
194
|
+
const gen = generating.has(key);
|
|
195
|
+
const playing = playingKey === key;
|
|
196
|
+
const err = !has && !gen ? errors.get(key) : undefined;
|
|
197
|
+
btn.classList.toggle("gen", gen);
|
|
198
|
+
btn.classList.toggle("playing", playing);
|
|
199
|
+
btn.classList.toggle("err", !!err);
|
|
200
|
+
// An admin can click an ungenerated cell to synthesise just that one and preview it; a
|
|
201
|
+
// non-admin can only play what is already committed.
|
|
202
|
+
btn.disabled = gen || (!has && !isAdmin);
|
|
203
|
+
// ▶ play · ⏸ playing (click to stop) · ◌ generating · ⚠ failed (retry) · ✦ generate one
|
|
204
|
+
ic.textContent = playing ? "⏸" : has ? "▶" : gen ? "◌" : err ? "⚠" : "✦";
|
|
205
|
+
btn.title = playing
|
|
206
|
+
? `Stop ${label} (${lang})`
|
|
207
|
+
: has
|
|
208
|
+
? `Play ${label} (${lang})`
|
|
209
|
+
: gen
|
|
210
|
+
? "Generating…"
|
|
211
|
+
: err
|
|
212
|
+
? `${err} (click to retry)`
|
|
213
|
+
: isAdmin
|
|
214
|
+
? `Generate ${label} (${lang}) and preview`
|
|
215
|
+
: "Not generated yet";
|
|
143
216
|
};
|
|
144
217
|
refresh();
|
|
145
|
-
btn.addEventListener("click", () =>
|
|
218
|
+
btn.addEventListener("click", () => {
|
|
219
|
+
if (urls.has(key))
|
|
220
|
+
togglePlay(key);
|
|
221
|
+
else if (isAdmin)
|
|
222
|
+
void generateOne(key);
|
|
223
|
+
});
|
|
146
224
|
clipButtons.set(key, btn);
|
|
147
225
|
// stash the refresher so generation can re-enable it
|
|
148
226
|
btn._refresh = refresh;
|
|
@@ -153,10 +231,15 @@ export function mountVoiceGallery(root, opts) {
|
|
|
153
231
|
const nameCell = el("td");
|
|
154
232
|
const nameLine = el("div", "rydr-vg-name");
|
|
155
233
|
nameLine.appendChild(el("span", undefined, voice.id));
|
|
156
|
-
nameLine.appendChild(el("span", `rydr-vg-g ${voice.gender}`, GENDER_ICON[voice.gender]));
|
|
157
234
|
nameCell.appendChild(nameLine);
|
|
158
235
|
nameCell.appendChild(el("div", "rydr-vg-persona", voice.persona));
|
|
159
236
|
tr.appendChild(nameCell);
|
|
237
|
+
const genderCell = el("td");
|
|
238
|
+
const gender = el("div", "rydr-vg-gender");
|
|
239
|
+
gender.appendChild(el("span", `rydr-vg-g ${voice.gender}`, GENDER_ICON[voice.gender]));
|
|
240
|
+
gender.appendChild(el("span", `rydr-vg-g ${voice.gender}`, voice.gender === "female" ? "Female" : "Male"));
|
|
241
|
+
genderCell.appendChild(gender);
|
|
242
|
+
tr.appendChild(genderCell);
|
|
160
243
|
for (const lang of VOICE_SAMPLE_LANGS) {
|
|
161
244
|
const cell = el("td");
|
|
162
245
|
const wrap = el("div", "rydr-vg-cell");
|
|
@@ -166,9 +249,11 @@ export function mountVoiceGallery(root, opts) {
|
|
|
166
249
|
cell.appendChild(wrap);
|
|
167
250
|
tr.appendChild(cell);
|
|
168
251
|
}
|
|
252
|
+
voiceRows.push([voice.gender, tr]);
|
|
169
253
|
tbody.appendChild(tr);
|
|
170
254
|
}
|
|
171
255
|
table.appendChild(tbody);
|
|
256
|
+
applyGenderFilter(); // set the initial "All" selected state
|
|
172
257
|
container.appendChild(table);
|
|
173
258
|
root.appendChild(container);
|
|
174
259
|
// ── Generation (admin) ───────────────────────────────────────────────────────
|
|
@@ -180,8 +265,40 @@ export function mountVoiceGallery(root, opts) {
|
|
|
180
265
|
}
|
|
181
266
|
function markGenerated(key, clip) {
|
|
182
267
|
urls.set(key, clip);
|
|
183
|
-
|
|
184
|
-
|
|
268
|
+
refreshClipButton(key);
|
|
269
|
+
}
|
|
270
|
+
/** Synthesise a SINGLE (voice, lang, emotion) sample, then play it — the "generate one + preview"
|
|
271
|
+
* path. No-op if it is already generated or in flight. Updates the live manifest so "Copy manifest"
|
|
272
|
+
* includes it. */
|
|
273
|
+
async function generateOne(key) {
|
|
274
|
+
if (generating.has(key) || urls.has(key))
|
|
275
|
+
return;
|
|
276
|
+
const job = jobByKey.get(key);
|
|
277
|
+
if (!job)
|
|
278
|
+
return;
|
|
279
|
+
generating.add(key);
|
|
280
|
+
errors.delete(key); // clear any prior failure for this cell before retrying
|
|
281
|
+
refreshClipButton(key);
|
|
282
|
+
try {
|
|
283
|
+
const r = await session.generateVoiceover({
|
|
284
|
+
text: job.text,
|
|
285
|
+
voice: job.voice,
|
|
286
|
+
style: job.style,
|
|
287
|
+
speed: job.speed,
|
|
288
|
+
lang: job.lang,
|
|
289
|
+
});
|
|
290
|
+
generatedAt = Date.now();
|
|
291
|
+
markGenerated(key, { url: r.url, hash: r.hash });
|
|
292
|
+
generating.delete(key);
|
|
293
|
+
togglePlay(key); // preview immediately
|
|
294
|
+
if (isAdmin)
|
|
295
|
+
setProgress(`${urls.size}/${total} generated`);
|
|
296
|
+
}
|
|
297
|
+
catch (e) {
|
|
298
|
+
generating.delete(key);
|
|
299
|
+
errors.set(key, ttsErrorHint(e instanceof Error ? e.message : String(e)));
|
|
300
|
+
refreshClipButton(key);
|
|
301
|
+
}
|
|
185
302
|
}
|
|
186
303
|
async function generateAll() {
|
|
187
304
|
if (busy)
|
|
@@ -202,6 +319,7 @@ export function mountVoiceGallery(root, opts) {
|
|
|
202
319
|
if (!job)
|
|
203
320
|
break;
|
|
204
321
|
try {
|
|
322
|
+
errors.delete(job.key);
|
|
205
323
|
const r = await session.generateVoiceover({
|
|
206
324
|
text: job.text,
|
|
207
325
|
voice: job.voice,
|
|
@@ -213,8 +331,10 @@ export function mountVoiceGallery(root, opts) {
|
|
|
213
331
|
if (r.cached)
|
|
214
332
|
cached++;
|
|
215
333
|
}
|
|
216
|
-
catch {
|
|
334
|
+
catch (e) {
|
|
217
335
|
failed++;
|
|
336
|
+
errors.set(job.key, ttsErrorHint(e instanceof Error ? e.message : String(e)));
|
|
337
|
+
refreshClipButton(job.key);
|
|
218
338
|
}
|
|
219
339
|
done++;
|
|
220
340
|
setProgress(`${done} / ${jobs.length}${failed ? ` · ${failed} failed` : ""}`);
|
|
@@ -238,7 +358,7 @@ export function mountVoiceGallery(root, opts) {
|
|
|
238
358
|
.join("\n");
|
|
239
359
|
return (`export const VOICE_SAMPLES: VoiceSampleManifest = {\n` +
|
|
240
360
|
` generatedAt: ${generatedAt},\n` +
|
|
241
|
-
` speed:
|
|
361
|
+
` speed: VOICE_SAMPLE_SPEED,\n` +
|
|
242
362
|
` clips: {\n${clipLines}\n },\n` +
|
|
243
363
|
`};\n`);
|
|
244
364
|
}
|