@rydr/game-sdk 3.10.0 → 3.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/dist/client/PlatformClient.d.ts +15 -3
  2. package/dist/client/PlatformClient.d.ts.map +1 -1
  3. package/dist/client/PlatformClient.js +1 -1
  4. package/dist/client/PlatformClient.js.map +1 -1
  5. package/dist/conversations/index.d.ts +15 -4
  6. package/dist/conversations/index.d.ts.map +1 -1
  7. package/dist/conversations/index.js +43 -14
  8. package/dist/conversations/index.js.map +1 -1
  9. package/dist/conversations/voice-samples.d.ts +45 -0
  10. package/dist/conversations/voice-samples.d.ts.map +1 -0
  11. package/dist/conversations/voice-samples.js +244 -0
  12. package/dist/conversations/voice-samples.js.map +1 -0
  13. package/dist/conversations/voices.d.ts +33 -5
  14. package/dist/conversations/voices.d.ts.map +1 -1
  15. package/dist/conversations/voices.js +61 -31
  16. package/dist/conversations/voices.js.map +1 -1
  17. package/dist/host/PlatformHost.d.ts +4 -2
  18. package/dist/host/PlatformHost.d.ts.map +1 -1
  19. package/dist/host/PlatformHost.js +1 -1
  20. package/dist/host/PlatformHost.js.map +1 -1
  21. package/dist/protocol/conversations.d.ts +13 -2
  22. package/dist/protocol/conversations.d.ts.map +1 -1
  23. package/dist/protocol/conversations.js +14 -0
  24. package/dist/protocol/conversations.js.map +1 -1
  25. package/dist/protocol/messages.d.ts +7 -1
  26. package/dist/protocol/messages.d.ts.map +1 -1
  27. package/dist/protocol/version.d.ts +2 -2
  28. package/dist/protocol/version.d.ts.map +1 -1
  29. package/dist/protocol/version.js +7 -2
  30. package/dist/protocol/version.js.map +1 -1
  31. package/dist/sound-gallery/index.d.ts +41 -0
  32. package/dist/sound-gallery/index.d.ts.map +1 -0
  33. package/dist/sound-gallery/index.js +1264 -0
  34. package/dist/sound-gallery/index.js.map +1 -0
  35. package/dist/sounds/audio-utils.d.ts +16 -0
  36. package/dist/sounds/audio-utils.d.ts.map +1 -0
  37. package/dist/sounds/audio-utils.js +150 -0
  38. package/dist/sounds/audio-utils.js.map +1 -0
  39. package/dist/sounds/index.d.ts +23 -0
  40. package/dist/sounds/index.d.ts.map +1 -0
  41. package/dist/sounds/index.js +21 -0
  42. package/dist/sounds/index.js.map +1 -0
  43. package/dist/sounds/sound-bank.d.ts +70 -0
  44. package/dist/sounds/sound-bank.d.ts.map +1 -0
  45. package/dist/sounds/sound-bank.js +313 -0
  46. package/dist/sounds/sound-bank.js.map +1 -0
  47. package/dist/sounds/types.d.ts +88 -0
  48. package/dist/sounds/types.d.ts.map +1 -0
  49. package/dist/sounds/types.js +8 -0
  50. package/dist/sounds/types.js.map +1 -0
  51. package/dist/ui/README.md +2 -0
  52. package/dist/ui/index.d.ts +4 -1
  53. package/dist/ui/index.d.ts.map +1 -1
  54. package/dist/ui/index.js +4 -1
  55. package/dist/ui/index.js.map +1 -1
  56. package/dist/ui/power-race.d.ts +125 -0
  57. package/dist/ui/power-race.d.ts.map +1 -0
  58. package/dist/ui/power-race.js +662 -0
  59. package/dist/ui/power-race.js.map +1 -0
  60. package/dist/ui/showcase/index.d.ts.map +1 -1
  61. package/dist/ui/showcase/index.js +85 -1
  62. package/dist/ui/showcase/index.js.map +1 -1
  63. package/dist/ui/solo-labeled-diamond.d.ts +69 -0
  64. package/dist/ui/solo-labeled-diamond.d.ts.map +1 -0
  65. package/dist/ui/solo-labeled-diamond.js +168 -0
  66. package/dist/ui/solo-labeled-diamond.js.map +1 -0
  67. package/dist/ui/styles.js +24 -2
  68. package/dist/ui/styles.js.map +1 -1
  69. package/dist/ui/subtitle.d.ts +27 -0
  70. package/dist/ui/subtitle.d.ts.map +1 -0
  71. package/dist/ui/subtitle.js +77 -0
  72. package/dist/ui/subtitle.js.map +1 -0
  73. package/dist/voice-gallery/index.d.ts +31 -0
  74. package/dist/voice-gallery/index.d.ts.map +1 -0
  75. package/dist/voice-gallery/index.js +396 -0
  76. package/dist/voice-gallery/index.js.map +1 -0
  77. package/dist/voiceover-editor/index.d.ts +6 -0
  78. package/dist/voiceover-editor/index.d.ts.map +1 -1
  79. package/dist/voiceover-editor/index.js +222 -14
  80. package/dist/voiceover-editor/index.js.map +1 -1
  81. package/package.json +16 -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;AAqBH,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,CA8P3F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/showcase/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAyBH,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,CAiV3F"}
@@ -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, mountSoloLabeledDiamond, 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");
@@ -222,6 +232,47 @@ export function mountUiShowcase(host, opts = {}) {
222
232
  btn.addEventListener("click", () => { disabled = !disabled; sync(); });
223
233
  sync();
224
234
  }
235
+ // --- the solo labeled diamond ------------------------------------------
236
+ g.section("Labeled diamond — solo (one active)", "The labeled diamond's radiating card label, but with exactly ONE active button at a time — a big lit pip, the other three the small blank grey circles of the A/B/Y/Z diamond. Colour and mono. Press ‘Next’ to move the active button (setActive).");
237
+ {
238
+ const grid = el(g.list, "div", "bs-grid");
239
+ const LABELS = { Y: "Inspect", A: "Equip", B: "Inventory", Z: "Back" };
240
+ const order = ["A", "Y", "B", "Z"];
241
+ for (const colored of [true, false]) {
242
+ const cellWrap = el(grid, "div", "bs-cell ld-cell");
243
+ const stage = el(cellWrap, "div", "bs-ld");
244
+ const sld = mountSoloLabeledDiamond(stage, { inline: true, colored, animate: false, active: "A", label: LABELS.A });
245
+ let i = 0;
246
+ const btn = el(cellWrap, "button", "bs-btn");
247
+ btn.textContent = "Next button";
248
+ btn.addEventListener("click", () => {
249
+ i = (i + 1) % order.length;
250
+ const b = order[i];
251
+ sld.setActive(b, LABELS[b] ?? "");
252
+ });
253
+ el(cellWrap, "div", "bs-cap", colored ? "Colour" : "Mono");
254
+ }
255
+ }
256
+ // --- solo labeled diamond: label placement -----------------------------
257
+ g.section("Solo diamond — label placement", "The label side is set with labelPos (default ‘auto’ = the active button's side), independent of which button is active. Change the active button AND the label side separately: the tuck adapts to the pip under the label — deeper for a small grey circle, shallower for the big active pip — so the letter is never covered.");
258
+ {
259
+ const grid = el(g.list, "div", "bs-grid");
260
+ const sides = ["top", "right", "bottom", "left"];
261
+ for (const colored of [true, false]) {
262
+ const cellWrap = el(grid, "div", "bs-cell ld-cell");
263
+ const stage = el(cellWrap, "div", "bs-ld");
264
+ const sld = mountSoloLabeledDiamond(stage, { inline: true, colored, animate: false, active: "A", label: "Equip", labelPos: "right" });
265
+ let si = 1; // start on "right"
266
+ const sideBtn = el(cellWrap, "button", "bs-btn");
267
+ sideBtn.addEventListener("click", () => { si = (si + 1) % sides.length; sld.setLabelPos(sides[si]); sideBtn.textContent = `Side: ${sides[si]} → next`; });
268
+ sideBtn.textContent = `Side: ${sides[si]} → next`;
269
+ let ai = 0;
270
+ const actBtn = el(cellWrap, "button", "bs-btn");
271
+ actBtn.addEventListener("click", () => { ai = (ai + 1) % FACES.length; sld.setActive(FACES[ai]); actBtn.textContent = `Active: ${FACES[ai]} → next`; });
272
+ actBtn.textContent = `Active: ${FACES[ai]} → next`;
273
+ el(cellWrap, "div", "bs-cap", colored ? "Colour" : "Mono");
274
+ }
275
+ }
225
276
  // --- the rarity card ---------------------------------------------------
226
277
  g.section("Rarity card", "A generic rarity-tinted frame + a content slot the game fills (here a name + a stat line). The SDK ships the rarity palette and the label band; .selected adds the ring + deeper glow. ◄ / ► move the selection (pass a session).");
227
278
  {
@@ -255,10 +306,41 @@ export function mountUiShowcase(host, opts = {}) {
255
306
  });
256
307
  }
257
308
  }
309
+ // --- the power-race overlay -------------------------------------------
310
+ 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`.");
311
+ {
312
+ const row = el(g.list, "div", "bs-btnrow");
313
+ const mk = (label, o) => {
314
+ const b = el(row, "button", "bs-btn", label);
315
+ b.addEventListener("click", () => launchRace(o));
316
+ };
317
+ mk("Twin stacked", { variant: "twin-stacked", scoreVariant: "impact" });
318
+ mk("Twin towers", { variant: "twin-towers" });
319
+ mk("Charge (no rival)", {
320
+ mode: "charge",
321
+ text: { heading: "CHARGING", prompt: "PUSH TO CHARGE", chargeLabel: "CHARGE", win: "CHARGED" },
322
+ });
323
+ mk("Themed + relabelled", {
324
+ variant: "twin-stacked",
325
+ theme: { deadline: "#c084fc", deadlineDeep: "#4c1d95", charge: "#22d3ee", chargeDeep: "#0e7490", win: "#22c55e", winDeep: "#166534" },
326
+ text: { heading: "RÉSONANCE INSTABLE", prompt: "PÉDALE POUR CHARGER", deadlineLabel: "INSTABILITÉ", chargeLabel: "CHARGE", win: "CHARGÉE", lose: "TROP TARD" },
327
+ });
328
+ }
258
329
  g.run({
259
330
  session,
260
331
  perFrame: (dt) => {
261
332
  clock += dt;
333
+ if (race) {
334
+ race.setPower(session ? session.hardware.current.power : 1.3 * ftp);
335
+ const ph = race.tick(dt);
336
+ if (ph === "won" || ph === "lost") {
337
+ raceHideT += dt;
338
+ if (raceHideT > 1.8) {
339
+ race.dispose();
340
+ race = undefined;
341
+ }
342
+ }
343
+ }
262
344
  for (const { kc, total } of cooldowns) {
263
345
  const phase = clock % (total + READY_HOLD);
264
346
  if (phase < total)
@@ -280,6 +362,7 @@ export function mountUiShowcase(host, opts = {}) {
280
362
  offRarity?.();
281
363
  choice?.dispose();
282
364
  dialogue?.dispose();
365
+ race?.dispose();
283
366
  for (const c of rarityCards)
284
367
  c.dispose();
285
368
  g.dispose();
@@ -303,5 +386,6 @@ const BS_CSS = `
303
386
  font: 700 0.82rem system-ui, sans-serif; color: #eef4ff;
304
387
  background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.18); }
305
388
  .bs-btn:hover { background: rgba(255,255,255,0.12); border-color: rgba(255,255,255,0.3); }
389
+ .bs-btnrow { display: flex; gap: 0.6rem; flex-wrap: wrap; }
306
390
  `;
307
391
  //# 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":"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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
- .rydr-ui-card { position: relative; padding: 10px 20px 12px; border-radius: 12px; background: rgba(8,14,24,0.7);
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. */
@@ -201,6 +210,19 @@ const CSS = `
201
210
  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
211
  0 0 64px -2px var(--rarity); }
203
212
 
213
+ /* SUBTITLE (mountSubtitle) — the voice-over "auto" caption: a boxless, centred, self-dismissing line —
214
+ a large speaker name over a large dialogue line with a soft drop shadow and NO frame, so it reads over
215
+ live gameplay without the dialogue card's weight. The type sizes + shadow are contract (trainer-screen
216
+ legibility); only position (anchor + offset, set inline) and name visibility vary. */
217
+ .rydr-ui-sub { position: fixed; left: 50%; bottom: 9%; transform: translateX(-50%); z-index: 40;
218
+ width: min(1400px, 92vw); text-align: center; pointer-events: none;
219
+ opacity: 0; transition: opacity 0.28s ease; font-family: system-ui, sans-serif; }
220
+ .rydr-ui-sub.show { opacity: 1; }
221
+ .rydr-ui-sub-name { color: #ffe27a; font-weight: 800; font-size: 42px; letter-spacing: 0.01em;
222
+ margin-bottom: 12px; text-shadow: 0 2px 6px rgba(0,0,0,0.85); }
223
+ .rydr-ui-sub-text { color: #fff; font-weight: 700; font-size: 72px; line-height: 1.28;
224
+ text-shadow: 0 4px 18px rgba(0,0,0,0.9), 0 0 5px rgba(0,0,0,0.85); }
225
+
204
226
  @keyframes rydr-ui-pulse {
205
227
  0%,100% { transform: translateY(0);
206
228
  box-shadow: 0 4px 0 color-mix(in srgb, var(--c) 55%, #000), 0 7px 12px rgba(0,0,0,0.5),
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4LX,CAAC"}
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"}
@@ -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"}