@rydr/game-sdk 3.9.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.
- package/README.md +64 -0
- package/dist/client/PlatformClient.d.ts +6 -0
- package/dist/client/PlatformClient.d.ts.map +1 -1
- package/dist/client/PlatformClient.js +18 -0
- package/dist/client/PlatformClient.js.map +1 -1
- package/dist/conversations/index.d.ts +76 -38
- package/dist/conversations/index.d.ts.map +1 -1
- package/dist/conversations/index.js +136 -58
- package/dist/conversations/index.js.map +1 -1
- package/dist/conversations/voice-samples.d.ts +45 -0
- package/dist/conversations/voice-samples.d.ts.map +1 -0
- package/dist/conversations/voice-samples.js +63 -0
- package/dist/conversations/voice-samples.js.map +1 -0
- package/dist/conversations/voices.d.ts +33 -5
- package/dist/conversations/voices.d.ts.map +1 -1
- package/dist/conversations/voices.js +59 -31
- package/dist/conversations/voices.js.map +1 -1
- package/dist/protocol/conversations.d.ts +12 -7
- package/dist/protocol/conversations.d.ts.map +1 -1
- package/dist/protocol/conversations.js.map +1 -1
- package/dist/protocol/version.d.ts +1 -1
- package/dist/protocol/version.d.ts.map +1 -1
- package/dist/protocol/version.js +1 -1
- package/dist/protocol/version.js.map +1 -1
- package/dist/ui/README.md +2 -0
- package/dist/ui/index.d.ts +2 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +2 -0
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/power-race.d.ts +125 -0
- package/dist/ui/power-race.d.ts.map +1 -0
- package/dist/ui/power-race.js +726 -0
- package/dist/ui/power-race.js.map +1 -0
- package/dist/ui/showcase/index.d.ts.map +1 -1
- package/dist/ui/showcase/index.js +45 -1
- package/dist/ui/showcase/index.js.map +1 -1
- package/dist/ui/styles.js +13 -0
- package/dist/ui/styles.js.map +1 -1
- package/dist/ui/subtitle.d.ts +27 -0
- package/dist/ui/subtitle.d.ts.map +1 -0
- package/dist/ui/subtitle.js +77 -0
- package/dist/ui/subtitle.js.map +1 -0
- package/dist/voice-gallery/index.d.ts +31 -0
- package/dist/voice-gallery/index.d.ts.map +1 -0
- package/dist/voice-gallery/index.js +276 -0
- package/dist/voice-gallery/index.js.map +1 -0
- package/dist/voiceover-editor/index.d.ts +8 -5
- package/dist/voiceover-editor/index.d.ts.map +1 -1
- package/dist/voiceover-editor/index.js +158 -76
- package/dist/voiceover-editor/index.js.map +1 -1
- package/package.json +5 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"power-race.js","sourceRoot":"","sources":["../../src/ui/power-race.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/showcase/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/showcase/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAwBH,OAAO,EAA2B,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAE7E,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAoBpD,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,mGAAmG;AACnG,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,GAAE,iBAAsB,GAAG,UAAU,CAuS3F"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* components never pulls the catalog into its bundle. Pass a real `session` for live watts + real
|
|
13
13
|
* button reflection; omit it and the catalog renders static.
|
|
14
14
|
*/
|
|
15
|
-
import { createKeycap, createDpadKeycap, mountCard, mountActionCard, mountActionDiamond, mountDialogueCard, mountChoiceCard, mountLabeledDiamond, mountRarityCard, RARITY, } from "../index.js";
|
|
15
|
+
import { createKeycap, createDpadKeycap, mountCard, mountActionCard, mountActionDiamond, mountDialogueCard, mountChoiceCard, mountLabeledDiamond, mountRarityCard, createPowerRace, RARITY, } from "../index.js";
|
|
16
16
|
import { Gallery, el, makeCanvas } from "./gallery.js";
|
|
17
17
|
const FACES = ["A", "B", "Y", "Z"];
|
|
18
18
|
const DIRS = ["UP", "RIGHT", "DOWN", "LEFT"];
|
|
@@ -46,6 +46,16 @@ export function mountUiShowcase(host, opts = {}) {
|
|
|
46
46
|
let offButton;
|
|
47
47
|
const rarityCards = [];
|
|
48
48
|
let offRarity;
|
|
49
|
+
const ftp = session?.identity.ftp ?? 250;
|
|
50
|
+
let race;
|
|
51
|
+
let raceHideT = 0;
|
|
52
|
+
const launchRace = (o) => {
|
|
53
|
+
race?.dispose();
|
|
54
|
+
raceHideT = 0;
|
|
55
|
+
race = createPowerRace({ ftp, ...o });
|
|
56
|
+
host.appendChild(race.element);
|
|
57
|
+
race.start();
|
|
58
|
+
};
|
|
49
59
|
// a captioned cell holding a centred node
|
|
50
60
|
const cell = (grid, caption, node) => {
|
|
51
61
|
const c = el(grid, "div", "bs-cell");
|
|
@@ -255,10 +265,42 @@ export function mountUiShowcase(host, opts = {}) {
|
|
|
255
265
|
});
|
|
256
266
|
}
|
|
257
267
|
}
|
|
268
|
+
// --- the power-race overlay -------------------------------------------
|
|
269
|
+
g.section("Power race (overlay)", "The timed ∫power-vs-deadline race: charge bar (your effort) vs a deadline bar (the clock). First to 100% wins. It's a full-screen overlay — launch one and it plays out, fed by real watts (or a ~1.3×FTP sim without a session). Recolour with `theme`, relabel with `text`.");
|
|
270
|
+
{
|
|
271
|
+
const row = el(g.list, "div", "bs-btnrow");
|
|
272
|
+
const mk = (label, o) => {
|
|
273
|
+
const b = el(row, "button", "bs-btn", label);
|
|
274
|
+
b.addEventListener("click", () => launchRace(o));
|
|
275
|
+
};
|
|
276
|
+
mk("Twin stacked", { variant: "twin-stacked", scoreVariant: "impact" });
|
|
277
|
+
mk("Twin towers", { variant: "twin-towers" });
|
|
278
|
+
mk("Single track", { variant: "single-track" });
|
|
279
|
+
mk("Charge (no rival)", {
|
|
280
|
+
mode: "charge",
|
|
281
|
+
text: { heading: "CHARGING", prompt: "PUSH TO CHARGE", chargeLabel: "CHARGE", win: "CHARGED" },
|
|
282
|
+
});
|
|
283
|
+
mk("Themed + relabelled", {
|
|
284
|
+
variant: "twin-stacked",
|
|
285
|
+
theme: { deadline: "#c084fc", deadlineDeep: "#4c1d95", charge: "#22d3ee", chargeDeep: "#0e7490", win: "#22c55e", winDeep: "#166534" },
|
|
286
|
+
text: { heading: "RÉSONANCE INSTABLE", prompt: "PÉDALE POUR CHARGER", deadlineLabel: "INSTABILITÉ", chargeLabel: "CHARGE", win: "CHARGÉE", lose: "TROP TARD" },
|
|
287
|
+
});
|
|
288
|
+
}
|
|
258
289
|
g.run({
|
|
259
290
|
session,
|
|
260
291
|
perFrame: (dt) => {
|
|
261
292
|
clock += dt;
|
|
293
|
+
if (race) {
|
|
294
|
+
race.setPower(session ? session.hardware.current.power : 1.3 * ftp);
|
|
295
|
+
const ph = race.tick(dt);
|
|
296
|
+
if (ph === "won" || ph === "lost") {
|
|
297
|
+
raceHideT += dt;
|
|
298
|
+
if (raceHideT > 1.8) {
|
|
299
|
+
race.dispose();
|
|
300
|
+
race = undefined;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
}
|
|
262
304
|
for (const { kc, total } of cooldowns) {
|
|
263
305
|
const phase = clock % (total + READY_HOLD);
|
|
264
306
|
if (phase < total)
|
|
@@ -280,6 +322,7 @@ export function mountUiShowcase(host, opts = {}) {
|
|
|
280
322
|
offRarity?.();
|
|
281
323
|
choice?.dispose();
|
|
282
324
|
dialogue?.dispose();
|
|
325
|
+
race?.dispose();
|
|
283
326
|
for (const c of rarityCards)
|
|
284
327
|
c.dispose();
|
|
285
328
|
g.dispose();
|
|
@@ -303,5 +346,6 @@ const BS_CSS = `
|
|
|
303
346
|
font: 700 0.82rem system-ui, sans-serif; color: #eef4ff;
|
|
304
347
|
background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.18); }
|
|
305
348
|
.bs-btn:hover { background: rgba(255,255,255,0.12); border-color: rgba(255,255,255,0.3); }
|
|
349
|
+
.bs-btnrow { display: flex; gap: 0.6rem; flex-wrap: wrap; }
|
|
306
350
|
`;
|
|
307
351
|
//# sourceMappingURL=index.js.map
|
|
@@ -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":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,MAAM,GAUP,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAwB,MAAM,cAAc,CAAC;AAI7E,MAAM,KAAK,GAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACnD,MAAM,IAAI,GAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1D,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,uEAAuE;AAC7F,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,qDAAqD;AAE3E,MAAM,SAAS,GAAG;IAChB,6IAA6I;IAC7I,cAAc;IACd,+GAA+G;IAC/G,cAAc;IACd,4HAA4H;IAC5H,YAAY;CACb,CAAC;AACF,MAAM,aAAa,GAAG,oCAAoC,CAAC;AAC3D,MAAM,cAAc,GAAG,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,cAAc,CAAC,CAAC;AAsBpF,mGAAmG;AACnG,MAAM,UAAU,eAAe,CAAC,IAAiB,EAAE,OAA0B,EAAE;IAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,gEAAgE;IAEvF,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE;QAC1B,KAAK,EAAE,6BAA6B;QACpC,GAAG,EAAE,mIAAmI;QACxI,GAAG,EAAE,MAAM;QACX,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC;IAEH,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,QAAkC,CAAC;IACvC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,MAA8B,CAAC;IACnC,IAAI,SAAmC,CAAC;IACxC,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,IAAI,SAAmC,CAAC;IACxC,MAAM,GAAG,GAAG,OAAO,EAAE,QAAQ,CAAC,GAAG,IAAI,GAAG,CAAC;IACzC,IAAI,IAA8B,CAAC;IACnC,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,UAAU,GAAG,CAAC,CAAgB,EAAE,EAAE;QACtC,IAAI,EAAE,OAAO,EAAE,CAAC;QAChB,SAAS,GAAG,CAAC,CAAC;QACd,IAAI,GAAG,eAAe,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC,CAAC;IAEF,0CAA0C;IAC1C,MAAM,IAAI,GAAG,CAAC,IAAiB,EAAE,OAAe,EAAE,IAAiB,EAAE,EAAE;QACrE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACvC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC,CAAC;IACF,iGAAiG;IACjG,MAAM,QAAQ,GAAG,CAAC,IAAiB,EAAE,OAAe,EAAe,EAAE;QACnE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;QAC5C,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,8FAA8F;IAC9F,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,KAAa,EAAe,EAAE;QAC7D,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACzC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC,CAAC,SAAS,EAAE,CAAC;QACd,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrE,CAAC,CAAC,SAAS,EAAE,CAAC;QACd,CAAC,CAAC,IAAI,EAAE,CAAC;QACT,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,6EAA6E,CAAC;QACnG,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,uEAAuE;IACvE,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,GAAW,EAAe,EAAE;QAC/D,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,+EAA+E,CAAC;QACrG,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,qCAAqC,CAAC;QACxD,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC;QACrB,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,mFAAmF,CAAC;QACtG,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,0EAA0E;IAC1E,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE,2BAA2B,CAAC,CAAC;IAC/D,CAAC;QACC,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,YAAY,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACjD,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,0EAA0E;IAC1E,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,0DAA0D,CAAC,CAAC;IACzF,CAAC;QACC,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC1C,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3G,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9F,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,EAAE,uBAAuB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,0EAA0E;IAC1E,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,4IAA4I,CAAC,CAAC;IAC/K,CAAC;QACC,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC1C,KAAK,MAAM,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3F,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,gBAAgB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACvC,MAAM,EAAE,GAAG,gBAAgB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,EAAE,qBAAqB,EAAE,gBAAgB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACpG,CAAC;IAED,0EAA0E;IAC1E,CAAC,CAAC,OAAO,CAAC,4BAA4B,EAAE,4DAA4D,CAAC,CAAC;IACtG,CAAC;QACC,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAE1C,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC5C,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAEtE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QAC/C,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAE9C,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,+BAA+B,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9F,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,0EAA0E;IAC1E,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,8HAA8H,CAAC,CAAC;IACjK,CAAC;QACC,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC1C,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACpG,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IACrI,CAAC;IAED,0EAA0E;IAC1E,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,gJAAgJ,CAAC,CAAC;IAC7K,CAAC;QACC,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAC7C,QAAQ,GAAG,iBAAiB,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED,0EAA0E;IAC1E,CAAC,CAAC,OAAO,CAAC,2BAA2B,EAAE,sMAAsM,CAAC,CAAC;IAC/O,CAAC;QACC,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3C,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE,cAAc;YACvB,SAAS,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,CAAC,WAAW,GAAG,cAAc,KAAK,EAAE,CAAC,CAAC,CAAC;SAC1E,CAAC,CAAC;QACH,IAAI,OAAO,EAAE,CAAC;YACZ,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE;gBACjC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,MAAM;oBAAE,OAAO;gBACzC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI;oBAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;qBAClC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;oBAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;qBACxC,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG;oBAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YAC5C,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,WAAW,GAAG,kCAAkC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,2JAA2J,CAAC,CAAC;IAC7L,CAAC;QACC,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,kBAAkB,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QACxI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5B,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACrD,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,CAAC,CAAC,OAAO,CAAC,2BAA2B,EAAE,kGAAkG,CAAC,CAAC;IAC3I,CAAC;QACC,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,kBAAkB,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QACxJ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5B,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACrD,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,0EAA0E;IAC1E,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,uMAAuM,CAAC,CAAC;IACtO,CAAC;QACC,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,EAAE,GAAG,mBAAmB,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAC/G,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAsB,CAAC;QAClE,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC9B,GAAG,CAAC,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,mBAAmB,CAAC;QACxE,CAAC,CAAC;QACF,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,IAAI,EAAE,CAAC;IACT,CAAC;IAED,0EAA0E;IAC1E,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,mOAAmO,CAAC,CAAC;IAC9P,CAAC;QACC,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAC5E,MAAM,KAAK,GAA2B;YACpC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB;YAC/E,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,iBAAiB;SACtD,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAClB,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YAC5C,MAAM,CAAC,GAAG,eAAe,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5G,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QACH,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC/E,QAAQ,EAAE,CAAC;QACX,IAAI,OAAO,EAAE,CAAC;YACZ,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE;gBACjC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;oBAAE,OAAO;gBAC9B,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;oBAAC,QAAQ,EAAE,CAAC;gBAAC,CAAC;qBAC7D,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;oBAAC,QAAQ,EAAE,CAAC;gBAAC,CAAC;YAC/F,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE,+QAA+Q,CAAC,CAAC;IACnT,CAAC;QACC,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAC3C,MAAM,EAAE,GAAG,CAAC,KAAa,EAAE,CAAgB,EAAE,EAAE;YAC7C,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAsB,CAAC;YAClE,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC;QACF,EAAE,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxE,EAAE,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;QAC9C,EAAE,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;QAChD,EAAE,CAAC,mBAAmB,EAAE;YACtB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE;SAC/F,CAAC,CAAC;QACH,EAAE,CAAC,qBAAqB,EAAE;YACxB,OAAO,EAAE,cAAc;YACvB,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;YACrI,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,qBAAqB,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE;SAC/J,CAAC,CAAC;IACL,CAAC;IAED,CAAC,CAAC,GAAG,CAAC;QACJ,OAAO;QACP,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE;YACf,KAAK,IAAI,EAAE,CAAC;YACZ,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBACpE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACzB,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;oBAClC,SAAS,IAAI,EAAE,CAAC;oBAChB,IAAI,SAAS,GAAG,GAAG,EAAE,CAAC;wBAAC,IAAI,CAAC,OAAO,EAAE,CAAC;wBAAC,IAAI,GAAG,SAAS,CAAC;oBAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;YACD,KAAK,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,SAAS,EAAE,CAAC;gBACtC,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC;gBAC3C,IAAI,KAAK,GAAG,KAAK;oBAAE,EAAE,CAAC,WAAW,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;;oBAChF,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YACD,IAAI,IAAI,EAAE,CAAC;YACX,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;gBACjC,IAAI,GAAG,CAAC,CAAC;gBACT,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;oBAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE,GAAG,EAAE;YACZ,SAAS,EAAE,EAAE,CAAC;YACd,SAAS,EAAE,EAAE,CAAC;YACd,MAAM,EAAE,OAAO,EAAE,CAAC;YAClB,QAAQ,EAAE,OAAO,EAAE,CAAC;YACpB,IAAI,EAAE,OAAO,EAAE,CAAC;YAChB,KAAK,MAAM,CAAC,IAAI,WAAW;gBAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YACzC,CAAC,CAAC,OAAO,EAAE,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;CAkBd,CAAC"}
|
package/dist/ui/styles.js
CHANGED
|
@@ -201,6 +201,19 @@ const CSS = `
|
|
|
201
201
|
box-shadow: 0 24px 60px rgba(0,0,0,0.55), inset 0 2px 22px rgba(0,0,0,0.55), inset 0 0 32px -2px var(--rarity),
|
|
202
202
|
0 0 64px -2px var(--rarity); }
|
|
203
203
|
|
|
204
|
+
/* SUBTITLE (mountSubtitle) — the voice-over "auto" caption: a boxless, centred, self-dismissing line —
|
|
205
|
+
a large speaker name over a large dialogue line with a soft drop shadow and NO frame, so it reads over
|
|
206
|
+
live gameplay without the dialogue card's weight. The type sizes + shadow are contract (trainer-screen
|
|
207
|
+
legibility); only position (anchor + offset, set inline) and name visibility vary. */
|
|
208
|
+
.rydr-ui-sub { position: fixed; left: 50%; bottom: 9%; transform: translateX(-50%); z-index: 40;
|
|
209
|
+
width: min(1400px, 92vw); text-align: center; pointer-events: none;
|
|
210
|
+
opacity: 0; transition: opacity 0.28s ease; font-family: system-ui, sans-serif; }
|
|
211
|
+
.rydr-ui-sub.show { opacity: 1; }
|
|
212
|
+
.rydr-ui-sub-name { color: #ffe27a; font-weight: 800; font-size: 42px; letter-spacing: 0.01em;
|
|
213
|
+
margin-bottom: 12px; text-shadow: 0 2px 6px rgba(0,0,0,0.85); }
|
|
214
|
+
.rydr-ui-sub-text { color: #fff; font-weight: 700; font-size: 72px; line-height: 1.28;
|
|
215
|
+
text-shadow: 0 4px 18px rgba(0,0,0,0.9), 0 0 5px rgba(0,0,0,0.85); }
|
|
216
|
+
|
|
204
217
|
@keyframes rydr-ui-pulse {
|
|
205
218
|
0%,100% { transform: translateY(0);
|
|
206
219
|
box-shadow: 0 4px 0 color-mix(in srgb, var(--c) 55%, #000), 0 7px 12px rgba(0,0,0,0.5),
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyMX,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface SubtitleOptions {
|
|
2
|
+
/** Screen edge the caption anchors to (default `"bottom"`). */
|
|
3
|
+
anchor?: "top" | "bottom";
|
|
4
|
+
/** Distance from the anchored edge — a number (px) or any CSS length (e.g. `"9%"`, `"12vh"`). Default `"9%"`. */
|
|
5
|
+
offset?: number | string;
|
|
6
|
+
/** Show the speaker NAME line above the caption (default `true`). A line opened with an empty name
|
|
7
|
+
* never shows the name regardless. */
|
|
8
|
+
showName?: boolean;
|
|
9
|
+
/** Typewriter speed, ms per character (default 18; 0 = reveal instantly). */
|
|
10
|
+
typeMs?: number;
|
|
11
|
+
}
|
|
12
|
+
export interface Subtitle {
|
|
13
|
+
root: HTMLElement;
|
|
14
|
+
/** Show one caption (fades in). `name` seats the speaker line above it (hidden when empty or
|
|
15
|
+
* `showName:false`). Replaces whatever was showing. */
|
|
16
|
+
open(name: string, text: string): void;
|
|
17
|
+
/** Finish the typewriter if one is running (returns `true`); otherwise a no-op (returns `false`). The
|
|
18
|
+
* auto-mode player skips the whole line on a press rather than calling this, but standalone callers can. */
|
|
19
|
+
advance(): boolean;
|
|
20
|
+
/** Fade the caption out. */
|
|
21
|
+
close(): void;
|
|
22
|
+
setVisible(v: boolean): void;
|
|
23
|
+
dispose(): void;
|
|
24
|
+
}
|
|
25
|
+
/** Mount a boxless self-dismissing subtitle (the voice-over "auto" caption). */
|
|
26
|
+
export declare function mountSubtitle(host: HTMLElement, opts?: SubtitleOptions): Subtitle;
|
|
27
|
+
//# sourceMappingURL=subtitle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subtitle.d.ts","sourceRoot":"","sources":["../../src/ui/subtitle.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,eAAe;IAC9B,+DAA+D;IAC/D,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC1B,iHAAiH;IACjH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB;2CACuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB;4DACwD;IACxD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC;iHAC6G;IAC7G,OAAO,IAAI,OAAO,CAAC;IACnB,4BAA4B;IAC5B,KAAK,IAAI,IAAI,CAAC;IACd,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,GAAE,eAAoB,GAAG,QAAQ,CAqDrF"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SUBTITLE — the voice-over **"auto" mode** look: a boxless, self-dismissing caption. A large speaker
|
|
3
|
+
* NAME line sits over a large LINE of dialogue, centred with a soft drop shadow and NO frame — so it
|
|
4
|
+
* reads over live gameplay without the weight of the {@link mountDialogueCard} box. Unlike the dialogue
|
|
5
|
+
* card it carries no keycap and never waits for input; the voice-over player ({@link VoicePlayer}) fades
|
|
6
|
+
* it in, holds it for a beat derived from the audio length, and fades it out.
|
|
7
|
+
*
|
|
8
|
+
* Its type sizes + shadow are part of the component contract (a trainer screen read from a few feet away
|
|
9
|
+
* while pedaling) — do NOT restyle them. The ONLY knobs are **position** (`anchor` + `offset`) so it can
|
|
10
|
+
* clear a game's HUD, and whether the **speaker name** shows.
|
|
11
|
+
*/
|
|
12
|
+
import { injectCss } from "./styles.js";
|
|
13
|
+
/** Mount a boxless self-dismissing subtitle (the voice-over "auto" caption). */
|
|
14
|
+
export function mountSubtitle(host, opts = {}) {
|
|
15
|
+
injectCss();
|
|
16
|
+
const ms = opts.typeMs ?? 18;
|
|
17
|
+
const showName = opts.showName !== false;
|
|
18
|
+
const root = document.createElement("div");
|
|
19
|
+
root.className = "rydr-ui-sub";
|
|
20
|
+
const nameEl = document.createElement("div");
|
|
21
|
+
nameEl.className = "rydr-ui-sub-name";
|
|
22
|
+
const textEl = document.createElement("div");
|
|
23
|
+
textEl.className = "rydr-ui-sub-text";
|
|
24
|
+
root.append(nameEl, textEl);
|
|
25
|
+
// Position is the one layout knob: anchor to an edge, offset in from it. Everything else is contract.
|
|
26
|
+
const off = opts.offset ?? "9%";
|
|
27
|
+
const offCss = typeof off === "number" ? `${off}px` : off;
|
|
28
|
+
if (opts.anchor === "top") {
|
|
29
|
+
root.style.top = offCss;
|
|
30
|
+
root.style.bottom = "auto";
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
root.style.bottom = offCss;
|
|
34
|
+
root.style.top = "auto";
|
|
35
|
+
}
|
|
36
|
+
host.appendChild(root);
|
|
37
|
+
let timer = null;
|
|
38
|
+
let full = "";
|
|
39
|
+
const stop = () => { if (timer !== null) {
|
|
40
|
+
clearInterval(timer);
|
|
41
|
+
timer = null;
|
|
42
|
+
} };
|
|
43
|
+
return {
|
|
44
|
+
root,
|
|
45
|
+
open(name, text) {
|
|
46
|
+
stop();
|
|
47
|
+
const showThis = showName && !!name;
|
|
48
|
+
nameEl.textContent = showThis ? name : "";
|
|
49
|
+
nameEl.style.display = showThis ? "" : "none";
|
|
50
|
+
full = text ?? "";
|
|
51
|
+
root.classList.add("show");
|
|
52
|
+
if (ms <= 0) {
|
|
53
|
+
textEl.textContent = full;
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
let shown = 0;
|
|
57
|
+
textEl.textContent = "";
|
|
58
|
+
timer = setInterval(() => {
|
|
59
|
+
shown++;
|
|
60
|
+
textEl.textContent = full.slice(0, shown);
|
|
61
|
+
if (shown >= full.length)
|
|
62
|
+
stop();
|
|
63
|
+
}, ms);
|
|
64
|
+
},
|
|
65
|
+
advance() {
|
|
66
|
+
if (timer === null)
|
|
67
|
+
return false;
|
|
68
|
+
stop();
|
|
69
|
+
textEl.textContent = full; // reveal the whole line at once
|
|
70
|
+
return true;
|
|
71
|
+
},
|
|
72
|
+
close() { stop(); root.classList.remove("show"); },
|
|
73
|
+
setVisible(v) { root.classList.toggle("show", v); },
|
|
74
|
+
dispose() { stop(); root.remove(); },
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=subtitle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subtitle.js","sourceRoot":"","sources":["../../src/ui/subtitle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/** The session surface the gallery needs — a `PlatformSession` satisfies it. */
|
|
2
|
+
export interface VoiceGallerySession {
|
|
3
|
+
readonly identity: {
|
|
4
|
+
isAdmin?: boolean;
|
|
5
|
+
};
|
|
6
|
+
generateVoiceover(input: {
|
|
7
|
+
text: string;
|
|
8
|
+
voice: string;
|
|
9
|
+
style?: string;
|
|
10
|
+
speed?: number;
|
|
11
|
+
lang?: string;
|
|
12
|
+
}): Promise<{
|
|
13
|
+
url: string;
|
|
14
|
+
hash: string;
|
|
15
|
+
cached: boolean;
|
|
16
|
+
}>;
|
|
17
|
+
}
|
|
18
|
+
export interface VoiceGalleryOptions {
|
|
19
|
+
session: VoiceGallerySession;
|
|
20
|
+
/** Parallel synthesis requests during "Generate all". Default 4. */
|
|
21
|
+
concurrency?: number;
|
|
22
|
+
}
|
|
23
|
+
export interface VoiceGallery {
|
|
24
|
+
dispose(): void;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Mount the voice gallery into `root`. Renders the committed catalogue immediately; an admin can
|
|
28
|
+
* regenerate and export. Returns a handle whose `dispose()` tears it down.
|
|
29
|
+
*/
|
|
30
|
+
export declare function mountVoiceGallery(root: HTMLElement, opts: VoiceGalleryOptions): VoiceGallery;
|
|
31
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/voice-gallery/index.ts"],"names":[],"mappings":"AA6BA,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;AAuDD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,mBAAmB,GAAG,YAAY,CAmO5F"}
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@rydr/game-sdk/voice-gallery` — the "All voice characters" page.
|
|
3
|
+
*
|
|
4
|
+
* One row per prebuilt Gemini voice; columns for name/gender/persona, French, and English. Each
|
|
5
|
+
* language cell holds one play button per emotion (Dramatic / Excited / Tense), all speaking the
|
|
6
|
+
* same short line so a listener can compare timbres and deliveries at a glance.
|
|
7
|
+
*
|
|
8
|
+
* Clips are generated ONCE for all consumers (content-addressed in R2) and their URLs are committed
|
|
9
|
+
* to the SDK ({@link VOICE_SAMPLES}). Anyone can then play a clip with {@link getVoiceSample}. An
|
|
10
|
+
* admin sees a "Generate all" button that synthesises every missing clip and produces a ready-to-paste
|
|
11
|
+
* manifest block to commit. Non-admins just play whatever is already committed.
|
|
12
|
+
*
|
|
13
|
+
* Self-contained like `@rydr/game-sdk/ui`: injects its own scoped `.rydr-vg-*` CSS once.
|
|
14
|
+
*/
|
|
15
|
+
import { GEMINI_VOICES, VOICE_SAMPLE_EMOTIONS, VOICE_SAMPLE_LANGS, } from "../conversations/voices.js";
|
|
16
|
+
import { getVoiceSamples, voiceSampleJobs, voiceSampleKey, VOICE_SAMPLE_SPEED, } from "../conversations/voice-samples.js";
|
|
17
|
+
const LANG_LABEL = { fr: "🇫🇷 Français", en: "🇬🇧 English" };
|
|
18
|
+
const GENDER_ICON = { female: "♀", male: "♂" };
|
|
19
|
+
const CSS = `
|
|
20
|
+
.rydr-vg{position:fixed;inset:0;overflow:auto;font:14px/1.5 system-ui,sans-serif;color:#e7e9ee;background:#0d0f14}
|
|
21
|
+
.rydr-vg *{box-sizing:border-box}
|
|
22
|
+
.rydr-vg-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:16px;padding:14px 20px;background:#0d0f14;border-bottom:1px solid #232733}
|
|
23
|
+
.rydr-vg-head h1{font-size:16px;margin:0;font-weight:600}
|
|
24
|
+
.rydr-vg-head .sub{color:#8b93a7;font-size:12px}
|
|
25
|
+
.rydr-vg-actions{margin-left:auto;display:flex;align-items:center;gap:10px}
|
|
26
|
+
.rydr-vg-btn{padding:8px 14px;border-radius:8px;border:1px solid #31405f;background:#1b2130;color:#fff;cursor:pointer;font:inherit}
|
|
27
|
+
.rydr-vg-btn:disabled{opacity:.5;cursor:default}
|
|
28
|
+
.rydr-vg-btn.primary{background:#2b5fd6;border-color:#3f74ee}
|
|
29
|
+
.rydr-vg-prog{color:#9aa4b8;font-size:12px;min-width:120px}
|
|
30
|
+
.rydr-vg-prog b{color:#e7e9ee}
|
|
31
|
+
.rydr-vg-tbl{width:100%;border-collapse:collapse}
|
|
32
|
+
.rydr-vg-tbl th{position:sticky;top:57px;z-index:1;background:#12151d;text-align:left;padding:10px 16px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8b93a7;border-bottom:1px solid #232733}
|
|
33
|
+
.rydr-vg-tbl td{padding:12px 16px;border-bottom:1px solid #191d27;vertical-align:top}
|
|
34
|
+
.rydr-vg-tbl tr:hover td{background:#11141b}
|
|
35
|
+
.rydr-vg-name{font-weight:600;display:flex;align-items:center;gap:8px}
|
|
36
|
+
.rydr-vg-g{font-size:13px;font-weight:700}
|
|
37
|
+
.rydr-vg-g.female{color:#ff8fc7}
|
|
38
|
+
.rydr-vg-g.male{color:#6fb4ff}
|
|
39
|
+
.rydr-vg-persona{color:#8b93a7;font-size:12px;margin-top:2px}
|
|
40
|
+
.rydr-vg-cell{display:flex;flex-wrap:wrap;gap:6px}
|
|
41
|
+
.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
|
+
.rydr-vg-clip:hover:not(:disabled){border-color:#3f74ee;color:#fff}
|
|
43
|
+
.rydr-vg-clip:disabled{opacity:.4;cursor:default}
|
|
44
|
+
.rydr-vg-clip.playing{background:#2b5fd6;border-color:#3f74ee;color:#fff}
|
|
45
|
+
.rydr-vg-clip .ic{font-size:10px}
|
|
46
|
+
.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
|
+
`;
|
|
48
|
+
const STYLE_ID = "rydr-vg-style";
|
|
49
|
+
function ensureStyle() {
|
|
50
|
+
if (typeof document === "undefined" || document.getElementById(STYLE_ID))
|
|
51
|
+
return;
|
|
52
|
+
const s = document.createElement("style");
|
|
53
|
+
s.id = STYLE_ID;
|
|
54
|
+
s.textContent = CSS;
|
|
55
|
+
document.head.appendChild(s);
|
|
56
|
+
}
|
|
57
|
+
function el(tag, cls, text) {
|
|
58
|
+
const n = document.createElement(tag);
|
|
59
|
+
if (cls)
|
|
60
|
+
n.className = cls;
|
|
61
|
+
if (text != null)
|
|
62
|
+
n.textContent = text;
|
|
63
|
+
return n;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Mount the voice gallery into `root`. Renders the committed catalogue immediately; an admin can
|
|
67
|
+
* regenerate and export. Returns a handle whose `dispose()` tears it down.
|
|
68
|
+
*/
|
|
69
|
+
export function mountVoiceGallery(root, opts) {
|
|
70
|
+
ensureStyle();
|
|
71
|
+
const { session } = opts;
|
|
72
|
+
const isAdmin = !!session.identity.isAdmin;
|
|
73
|
+
const concurrency = Math.max(1, opts.concurrency ?? 4);
|
|
74
|
+
// Runtime URL map, seeded from the committed manifest; generation updates it live so an admin can
|
|
75
|
+
// preview clips before committing.
|
|
76
|
+
const urls = new Map(Object.entries(getVoiceSamples().clips));
|
|
77
|
+
const audio = new Audio();
|
|
78
|
+
let playingKey = null;
|
|
79
|
+
const clipButtons = new Map();
|
|
80
|
+
function stopPlaying() {
|
|
81
|
+
audio.pause();
|
|
82
|
+
if (playingKey)
|
|
83
|
+
clipButtons.get(playingKey)?.classList.remove("playing");
|
|
84
|
+
playingKey = null;
|
|
85
|
+
}
|
|
86
|
+
function togglePlay(key) {
|
|
87
|
+
const clip = urls.get(key);
|
|
88
|
+
if (!clip)
|
|
89
|
+
return;
|
|
90
|
+
if (playingKey === key) {
|
|
91
|
+
stopPlaying();
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
stopPlaying();
|
|
95
|
+
audio.src = clip.url;
|
|
96
|
+
audio.currentTime = 0;
|
|
97
|
+
void audio.play().catch(() => undefined);
|
|
98
|
+
playingKey = key;
|
|
99
|
+
clipButtons.get(key)?.classList.add("playing");
|
|
100
|
+
}
|
|
101
|
+
audio.addEventListener("ended", stopPlaying);
|
|
102
|
+
const container = el("div", "rydr-vg");
|
|
103
|
+
// ── Header ──────────────────────────────────────────────────────────────────
|
|
104
|
+
const head = el("div", "rydr-vg-head");
|
|
105
|
+
const title = el("div");
|
|
106
|
+
title.appendChild(el("h1", undefined, "All voice characters"));
|
|
107
|
+
const total = voiceSampleJobs().length;
|
|
108
|
+
title.appendChild(el("div", "sub", `${GEMINI_VOICES.length} voices · ${VOICE_SAMPLE_LANGS.length} languages · ${VOICE_SAMPLE_EMOTIONS.length} emotions (${total} clips)`));
|
|
109
|
+
head.appendChild(title);
|
|
110
|
+
const actions = el("div", "rydr-vg-actions");
|
|
111
|
+
const prog = el("div", "rydr-vg-prog");
|
|
112
|
+
const genBtn = el("button", "rydr-vg-btn primary");
|
|
113
|
+
genBtn.textContent = "Generate all";
|
|
114
|
+
const copyBtn = el("button", "rydr-vg-btn");
|
|
115
|
+
copyBtn.textContent = "Copy manifest";
|
|
116
|
+
if (isAdmin) {
|
|
117
|
+
actions.appendChild(prog);
|
|
118
|
+
actions.appendChild(genBtn);
|
|
119
|
+
actions.appendChild(copyBtn);
|
|
120
|
+
}
|
|
121
|
+
head.appendChild(actions);
|
|
122
|
+
container.appendChild(head);
|
|
123
|
+
// ── Table ───────────────────────────────────────────────────────────────────
|
|
124
|
+
const table = el("table", "rydr-vg-tbl");
|
|
125
|
+
const thead = el("thead");
|
|
126
|
+
const hrow = el("tr");
|
|
127
|
+
hrow.appendChild(el("th", undefined, "Voice"));
|
|
128
|
+
for (const lang of VOICE_SAMPLE_LANGS)
|
|
129
|
+
hrow.appendChild(el("th", undefined, LANG_LABEL[lang]));
|
|
130
|
+
thead.appendChild(hrow);
|
|
131
|
+
table.appendChild(thead);
|
|
132
|
+
const tbody = el("tbody");
|
|
133
|
+
function renderClipButton(voice, lang, emotionId, label) {
|
|
134
|
+
const key = voiceSampleKey(voice, lang, emotionId);
|
|
135
|
+
const btn = el("button", "rydr-vg-clip");
|
|
136
|
+
const ic = el("span", "ic", "▶");
|
|
137
|
+
btn.appendChild(ic);
|
|
138
|
+
btn.appendChild(el("span", undefined, label));
|
|
139
|
+
const refresh = () => {
|
|
140
|
+
const has = urls.has(key);
|
|
141
|
+
btn.disabled = !has;
|
|
142
|
+
btn.title = has ? `Play ${label} (${lang})` : "Not generated yet";
|
|
143
|
+
};
|
|
144
|
+
refresh();
|
|
145
|
+
btn.addEventListener("click", () => togglePlay(key));
|
|
146
|
+
clipButtons.set(key, btn);
|
|
147
|
+
// stash the refresher so generation can re-enable it
|
|
148
|
+
btn._refresh = refresh;
|
|
149
|
+
return btn;
|
|
150
|
+
}
|
|
151
|
+
for (const voice of GEMINI_VOICES) {
|
|
152
|
+
const tr = el("tr");
|
|
153
|
+
const nameCell = el("td");
|
|
154
|
+
const nameLine = el("div", "rydr-vg-name");
|
|
155
|
+
nameLine.appendChild(el("span", undefined, voice.id));
|
|
156
|
+
nameLine.appendChild(el("span", `rydr-vg-g ${voice.gender}`, GENDER_ICON[voice.gender]));
|
|
157
|
+
nameCell.appendChild(nameLine);
|
|
158
|
+
nameCell.appendChild(el("div", "rydr-vg-persona", voice.persona));
|
|
159
|
+
tr.appendChild(nameCell);
|
|
160
|
+
for (const lang of VOICE_SAMPLE_LANGS) {
|
|
161
|
+
const cell = el("td");
|
|
162
|
+
const wrap = el("div", "rydr-vg-cell");
|
|
163
|
+
for (const emotion of VOICE_SAMPLE_EMOTIONS) {
|
|
164
|
+
wrap.appendChild(renderClipButton(voice.id, lang, emotion.id, emotion.label));
|
|
165
|
+
}
|
|
166
|
+
cell.appendChild(wrap);
|
|
167
|
+
tr.appendChild(cell);
|
|
168
|
+
}
|
|
169
|
+
tbody.appendChild(tr);
|
|
170
|
+
}
|
|
171
|
+
table.appendChild(tbody);
|
|
172
|
+
container.appendChild(table);
|
|
173
|
+
root.appendChild(container);
|
|
174
|
+
// ── Generation (admin) ───────────────────────────────────────────────────────
|
|
175
|
+
let generatedAt = getVoiceSamples().generatedAt;
|
|
176
|
+
let busy = false;
|
|
177
|
+
function setProgress(msg) {
|
|
178
|
+
prog.innerHTML = "";
|
|
179
|
+
prog.appendChild(document.createTextNode(msg));
|
|
180
|
+
}
|
|
181
|
+
function markGenerated(key, clip) {
|
|
182
|
+
urls.set(key, clip);
|
|
183
|
+
const btn = clipButtons.get(key);
|
|
184
|
+
btn?._refresh?.();
|
|
185
|
+
}
|
|
186
|
+
async function generateAll() {
|
|
187
|
+
if (busy)
|
|
188
|
+
return;
|
|
189
|
+
busy = true;
|
|
190
|
+
genBtn.disabled = true;
|
|
191
|
+
copyBtn.disabled = true;
|
|
192
|
+
const jobs = voiceSampleJobs();
|
|
193
|
+
let done = 0;
|
|
194
|
+
let cached = 0;
|
|
195
|
+
let failed = 0;
|
|
196
|
+
setProgress(`0 / ${jobs.length}`);
|
|
197
|
+
// simple concurrency pool
|
|
198
|
+
let cursor = 0;
|
|
199
|
+
async function worker() {
|
|
200
|
+
while (cursor < jobs.length) {
|
|
201
|
+
const job = jobs[cursor++];
|
|
202
|
+
if (!job)
|
|
203
|
+
break;
|
|
204
|
+
try {
|
|
205
|
+
const r = await session.generateVoiceover({
|
|
206
|
+
text: job.text,
|
|
207
|
+
voice: job.voice,
|
|
208
|
+
style: job.style,
|
|
209
|
+
speed: job.speed,
|
|
210
|
+
lang: job.lang,
|
|
211
|
+
});
|
|
212
|
+
markGenerated(job.key, { url: r.url, hash: r.hash });
|
|
213
|
+
if (r.cached)
|
|
214
|
+
cached++;
|
|
215
|
+
}
|
|
216
|
+
catch {
|
|
217
|
+
failed++;
|
|
218
|
+
}
|
|
219
|
+
done++;
|
|
220
|
+
setProgress(`${done} / ${jobs.length}${failed ? ` · ${failed} failed` : ""}`);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
await Promise.all(Array.from({ length: Math.min(concurrency, jobs.length) }, () => worker()));
|
|
224
|
+
generatedAt = Date.now();
|
|
225
|
+
genBtn.disabled = false;
|
|
226
|
+
copyBtn.disabled = false;
|
|
227
|
+
busy = false;
|
|
228
|
+
const okCount = jobs.length - failed;
|
|
229
|
+
setProgress(`✓ ${okCount}/${jobs.length}${failed ? ` · ${failed} failed` : ""} (${cached} cached)`);
|
|
230
|
+
}
|
|
231
|
+
function buildManifestSource() {
|
|
232
|
+
const clips = {};
|
|
233
|
+
for (const [k, v] of [...urls.entries()].sort((a, b) => a[0].localeCompare(b[0]))) {
|
|
234
|
+
clips[k] = { url: v.url, hash: v.hash };
|
|
235
|
+
}
|
|
236
|
+
const clipLines = Object.entries(clips)
|
|
237
|
+
.map(([k, v]) => ` ${JSON.stringify(k)}: { url: ${JSON.stringify(v.url)}, hash: ${JSON.stringify(v.hash)} },`)
|
|
238
|
+
.join("\n");
|
|
239
|
+
return (`export const VOICE_SAMPLES: VoiceSampleManifest = {\n` +
|
|
240
|
+
` generatedAt: ${generatedAt},\n` +
|
|
241
|
+
` speed: ${VOICE_SAMPLE_SPEED},\n` +
|
|
242
|
+
` clips: {\n${clipLines}\n },\n` +
|
|
243
|
+
`};\n`);
|
|
244
|
+
}
|
|
245
|
+
function toast(msg) {
|
|
246
|
+
const t = el("div", "rydr-vg-toast", msg);
|
|
247
|
+
container.appendChild(t);
|
|
248
|
+
setTimeout(() => t.remove(), 2200);
|
|
249
|
+
}
|
|
250
|
+
async function copyManifest() {
|
|
251
|
+
const src = buildManifestSource();
|
|
252
|
+
try {
|
|
253
|
+
await navigator.clipboard.writeText(src);
|
|
254
|
+
toast(`Manifest copied (${urls.size} clips). Paste over VOICE_SAMPLES in voice-samples.ts.`);
|
|
255
|
+
}
|
|
256
|
+
catch {
|
|
257
|
+
// clipboard blocked — dump to console as a fallback
|
|
258
|
+
console.log(src);
|
|
259
|
+
toast("Clipboard blocked — manifest logged to console.");
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
if (isAdmin) {
|
|
263
|
+
genBtn.addEventListener("click", () => void generateAll());
|
|
264
|
+
copyBtn.addEventListener("click", () => void copyManifest());
|
|
265
|
+
const generated = urls.size;
|
|
266
|
+
setProgress(generated ? `${generated}/${total} committed` : "not generated");
|
|
267
|
+
}
|
|
268
|
+
return {
|
|
269
|
+
dispose() {
|
|
270
|
+
stopPlaying();
|
|
271
|
+
audio.removeEventListener("ended", stopPlaying);
|
|
272
|
+
container.remove();
|
|
273
|
+
},
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
//# sourceMappingURL=index.js.map
|