@rydr/game-sdk 8.14.0 → 8.16.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 (63) hide show
  1. package/dist/protocol/identity.d.ts +39 -0
  2. package/dist/protocol/identity.d.ts.map +1 -1
  3. package/dist/protocol/version.d.ts +1 -1
  4. package/dist/protocol/version.js +1 -1
  5. package/dist/protocol/worlds.d.ts +19 -0
  6. package/dist/protocol/worlds.d.ts.map +1 -1
  7. package/dist/protocol/worlds.js.map +1 -1
  8. package/dist/three/README.md +132 -4
  9. package/dist/three/controller/index.d.ts +2 -0
  10. package/dist/three/controller/index.d.ts.map +1 -1
  11. package/dist/three/controller/index.js +2 -0
  12. package/dist/three/controller/index.js.map +1 -1
  13. package/dist/three/controller/joycon-designs.d.ts +15 -1
  14. package/dist/three/controller/joycon-designs.d.ts.map +1 -1
  15. package/dist/three/controller/joycon-designs.js +301 -17
  16. package/dist/three/controller/joycon-designs.js.map +1 -1
  17. package/dist/three/controller/joycon-object.d.ts +216 -0
  18. package/dist/three/controller/joycon-object.d.ts.map +1 -0
  19. package/dist/three/controller/joycon-object.js +578 -0
  20. package/dist/three/controller/joycon-object.js.map +1 -0
  21. package/dist/three/controller/joycon-spec.d.ts +116 -4
  22. package/dist/three/controller/joycon-spec.d.ts.map +1 -1
  23. package/dist/three/controller/joycon-spec.js +128 -22
  24. package/dist/three/controller/joycon-spec.js.map +1 -1
  25. package/dist/three/controller/press-pulse.d.ts +89 -0
  26. package/dist/three/controller/press-pulse.d.ts.map +1 -0
  27. package/dist/three/controller/press-pulse.js +309 -0
  28. package/dist/three/controller/press-pulse.js.map +1 -0
  29. package/dist/three/controller/three-pad-renderer.d.ts +11 -22
  30. package/dist/three/controller/three-pad-renderer.d.ts.map +1 -1
  31. package/dist/three/controller/three-pad-renderer.js +49 -247
  32. package/dist/three/controller/three-pad-renderer.js.map +1 -1
  33. package/dist/three/rider/three-rider-rig.d.ts +12 -0
  34. package/dist/three/rider/three-rider-rig.d.ts.map +1 -1
  35. package/dist/three/rider/three-rider-rig.js +101 -6
  36. package/dist/three/rider/three-rider-rig.js.map +1 -1
  37. package/dist/ui/README.md +133 -7
  38. package/dist/ui/controller/controller-pad.d.ts +105 -2
  39. package/dist/ui/controller/controller-pad.d.ts.map +1 -1
  40. package/dist/ui/controller/controller-pad.js +347 -16
  41. package/dist/ui/controller/controller-pad.js.map +1 -1
  42. package/dist/ui/controller/renderer.d.ts +13 -0
  43. package/dist/ui/controller/renderer.d.ts.map +1 -1
  44. package/dist/ui/controller/renderer.js.map +1 -1
  45. package/dist/ui/controller/styles.js +50 -1
  46. package/dist/ui/controller/styles.js.map +1 -1
  47. package/dist/ui/hud-placement.d.ts +81 -0
  48. package/dist/ui/hud-placement.d.ts.map +1 -0
  49. package/dist/ui/hud-placement.js +74 -0
  50. package/dist/ui/hud-placement.js.map +1 -0
  51. package/dist/ui/index.d.ts +1 -0
  52. package/dist/ui/index.d.ts.map +1 -1
  53. package/dist/ui/index.js +1 -0
  54. package/dist/ui/index.js.map +1 -1
  55. package/dist/ui/rider-rig.d.ts +108 -10
  56. package/dist/ui/rider-rig.d.ts.map +1 -1
  57. package/dist/ui/rider-rig.js +299 -48
  58. package/dist/ui/rider-rig.js.map +1 -1
  59. package/dist/world-runtime.d.ts +11 -1
  60. package/dist/world-runtime.d.ts.map +1 -1
  61. package/dist/world-runtime.js +20 -3
  62. package/dist/world-runtime.js.map +1 -1
  63. package/package.json +4 -2
@@ -1 +1 @@
1
- {"version":3,"file":"three-rider-rig.js","sourceRoot":"","sources":["../../../src/three/rider/three-rider-rig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"three-rider-rig.js","sourceRoot":"","sources":["../../../src/three/rider/three-rider-rig.ts"],"names":[],"mappings":"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"}
package/dist/ui/README.md CHANGED
@@ -55,7 +55,7 @@ feed its `{x, y, onScreen}` into `setScreenPos`/`setVisible` — don't compute p
55
55
  | `mountOverheatHudBar(host, opts)` | fn | **The whole overheat package**: centred inferno bar + label + COOLING DOWN countdown, composing the vignette and glitch above. One `update(heat01, locked, lockoutRemaining)` per frame. |
56
56
  | `createButtonKeycap(button, opts)` | fn | A keycap for the buttons that are neither a face letter nor a direction, drawn as the pad draws them: `OPTIONS` → a round pip with the pad's ICON (`☰` on Xbox/DualSense, `+` on Switch); `LT`/`RT` and the stick clicks → a text pill ("LT"/"L2"/"LS"), since those are printed with a word. |
57
57
  | `mountOptionMenu(host, opts)` | fn | **The in-game menu**, opened by the game's own `OPTIONS` button: game name big in YOUR font, a free `Resume` row + your own rows, each able to advertise its in-game `shortcut` or be a stepper the rider turns with `LEFT`/`RIGHT`. Takes the controller over while up; leaves the trainer alone. See below. |
58
- | `mountControllerPad(host, opts)` | fn | **The rider's controller, drawn live** — buttons light while held, stick caps follow the real axes. Pass `press: session`. |
58
+ | `mountControllerPad(host, opts)` | fn | **The rider's controller, drawn live** — buttons light while held, stick caps follow the real axes. Pass `press: session`. `place` + `width` + `highlight` pin it into a corner of the game as a HUD hint. |
59
59
  | `mountControllerMap(host, opts)` | fn | **The controls screen** — that pad flanked by action callouts, each joined by a line to every button its combination names. The card prints the ACTION only; the line says which control. Takes a declarative `ControlAction[]`. |
60
60
  | `mountComboDemo(host, opts)` | fn | **"Do this" animation** — loops the combination one action requires: buttons sink in, the stick swings, release, repeat. |
61
61
  | `mountControlSpotlight(host, opts)` | fn | **Caption ON the button** — N controls, one at a time, each lit with its text pinned to the control itself, on a per-step clock. Or `mode: "still"` for no clock at all: one control lit and captioned indefinitely (a stick still sweeps — "still" is about the timeline, not the artwork). With `watch`, a real press paints green and stands the loop down. |
@@ -231,6 +231,90 @@ answer is presented:
231
231
  | "…and it stays up" (a HUD hint, a pre-race legend) | `mountControlSpotlight` with `mode: "still"` — the control still animates if its engaged state is a motion |
232
232
  | "do this, and I'll wait until you have" | `mountControlTrainer` — gates on the rider |
233
233
  | just the drawing, reflecting real input | `mountControllerPad` |
234
+ | "the controls, pinned in a corner while they play" | `mountControllerPad` with `place` — see below |
235
+
236
+ ### The pad as a HUD piece (`place`, `width`, `highlight`)
237
+
238
+ The five views above are **inline widgets**: they render a self-sized block into whatever host you give
239
+ them, and they assume room for callout cards beside the pad. A game teaching a control *mid-play* has
240
+ neither — it has a corner of the screen and a rider who is pedalling. So the bare pad takes three
241
+ options that turn it into a HUD piece:
242
+
243
+ ```ts
244
+ import { mountControllerPad } from "@rydr/game-sdk/ui";
245
+ import { createThreePadRenderer } from "@rydr/game-sdk/three"; // optional: the 3D Joy-Con
246
+
247
+ const hint = mountControllerPad(gameRoot, {
248
+ press: session,
249
+ width: 260, // any size, not just the three presets
250
+ place: { corner: "bottom-right", margin: 24 }, // pinned, floating, click-through
251
+ highlight: ["RT", "DIAMOND_DOWN"], // "press these"
252
+ renderer: createThreePadRenderer,
253
+ });
254
+
255
+ hint.setHighlight(["LSTICK:left"]); // the ask changed
256
+ hint.setVisible(false); // the ask is over
257
+ ```
258
+
259
+ - **`place`** turns the pad from a block in flow into a floating overlay. Nine named anchors
260
+ (`"bottom-right"`, `"top"`, `"center"`, …), or free `x`/`y` fractions to nudge between them, plus
261
+ `margin`, `fixed` and `zIndex`. It is **click-through** in full — a HUD element that swallowed a
262
+ click on the game underneath would be a bug in every game that mounted one. Same vocabulary as
263
+ `mountRiderRig`'s `place`; see `HudPlacement`.
264
+ - **`width`** is a free pixel width, overriding the `sm`/`md`/`lg` presets. It has a floor (120px,
265
+ below which the button lettering stops being readable) and **no ceiling** — a pad filling the screen
266
+ is a legitimate composition. This
267
+ and the rider rig are the kit's only two exceptions to "don't re-size the components", for the same
268
+ reason: they are pictures rather than labels, and a game pinning one into a corner genuinely cannot
269
+ work from three fixed widths. The presets remain right for a pad in a page.
270
+ - **`highlight`** marks controls as *press this* — the `hint` throb, on the keys themselves. It is the
271
+ bare pad's answer to the callout cards, in the same `ComboToken` vocabulary, so `["RT",
272
+ "DIAMOND_DOWN"]` is a combination. A hinted key the rider actually presses lights as pressed and
273
+ **returns to the hint** on release — it is a standing instruction, not a one-shot.
274
+
275
+ **A hinted stick moves.** A button can say "press me" by throbbing in place, because a button only
276
+ does one thing; a stick cannot, since its whole meaning is *where it goes*. So `["LSTICK"]` sweeps the
277
+ cap in a slow circle — the only shape that says "any direction" rather than naming one — and
278
+ `["LSTICK:left"]` pushes it that way, dwells, and comes back on a loop. The return is what makes it an
279
+ instruction: a cap parked at the edge reads as a stick already being held, which is the opposite of
280
+ "push it". The rider's own thumb always wins — the hint resumes once the stick is back in its
281
+ deadzone.
282
+
283
+ **With or without the words.** Pass `ControlAction`s instead of bare tokens — the same list your
284
+ controls screen already feeds `mountControllerMap` — and each action's `label` is printed above the
285
+ control it points at. `captions: false` keeps the labels in your data and off the screen, and
286
+ `setCaptions(on)` flips it live:
287
+
288
+ ```ts
289
+ mountControllerPad(gameRoot, {
290
+ press: session,
291
+ place: { corner: "bottom-right" },
292
+ highlight: [{ label: "Tir chargé", combo: ["RT", "DIAMOND_DOWN"] }],
293
+ captions: true, // default once any entry carries a label
294
+ });
295
+ ```
296
+
297
+ Both readings are legitimate, which is why it is a switch. *With* the text, one pad answers "what do
298
+ I press, and what does it do" on its own — a pause screen, a tutorial beat, the first time a control
299
+ appears. *Without* it, the lit key is a reminder for a rider who already knows, and it stays out of
300
+ the way of a game still being played. Captions are placed from the drawing's own projection, so they
301
+ follow the pad — including the 3D pad rolling to show a trigger — and over a pad drawn in volume they
302
+ are bare shadowed type rather than an opaque chip, which would read as a sticker and cover the very
303
+ control it names.
304
+
305
+ **Colours.** `accent` themes a pressed key and `hintColor` themes the "press this" indication; both
306
+ reach the flat drawing and the 3D one. Keep them different — white-vs-accent is how the drawing
307
+ separates *do this* from *you are doing it*, and setting them equal makes a key the pad is asking for
308
+ and a key the rider is holding the same picture.
309
+
310
+ All three placement options are live afterwards: `setPlacement`, `setWidth`, `setHighlight`. A dev page over a fake game
311
+ screen is `npm run pad-hud`, which is also where the corner and the size are meant to be chosen by eye.
312
+
313
+ **One 3D pad per screen.** `createThreePadRenderer` opens its own WebGL context beside the game's own
314
+ scene. One HUD widget is a fair price; several is several contexts the game did not budget for. The
315
+ flat renderer is an `<svg>` and free, and it is still the default. For a pad that belongs in the game's
316
+ **world** rather than over it, use `createJoyconObject` from `@rydr/game-sdk/three` instead — it goes
317
+ in your scene and runs on your loop, with no second context at all.
234
318
 
235
319
  Reach for the **spotlight** over the map when the caption has to land on the control rather than in a
236
320
  list beside it — a rider on a bike, reading from a few feet away, can't be asked to trace a line from a
@@ -394,7 +478,8 @@ is ever printed over the frame, the rider or the trainer.
394
478
 
395
479
  The scale runs `0 → 1.5 × ftp`, with the rider's threshold marked at two thirds height and headroom
396
480
  above it for a sprint. Pass `ftp` (from `session.identity.ftp`) and never hard-code a raw-watt scale —
397
- the same rule as `createPowerRace`. Zone colours are computed from %FTP and are **local to this
481
+ the same rule as `createPowerRace`. The effort colour is a **continuous ramp** over %FTP — grey-blue →
482
+ blue → violet → pink → red, interpolated rather than banded, so it never jumps mid-surge — and is **local to this
398
483
  component**: they are deliberately not `@rydr/game-sdk/difficulty`'s ramp, which colours the rider's
399
484
  chosen *calibration level* and is a different quantity that happens to be measured in watts too.
400
485
 
@@ -427,6 +512,41 @@ no dependency on `three`: the 3D renderer lives in `@rydr/game-sdk/three`, where
427
512
  optional peer dependency. Types: `RigPose`, `RigPoint`, `RigRenderer`, `RigRendererFactory`, and
428
513
  `RIG_GEOMETRY` for a renderer that needs the drawing's own coordinates.
429
514
 
515
+ ### Which way the watts bubble runs
516
+
517
+ `gauge: "portrait" | "landscape"` overrides the design's own default (`solid` and `neon` landscape,
518
+ `blueprint` portrait). Pinned down the side of a play field the portrait bubble is the one you want:
519
+ it is narrow and tall, where the landscape box is wider than the rig itself. The fill's *shape* stays
520
+ the design's — a `neon` gauge keeps its bright leading edge whichever way it runs.
521
+
522
+ ### As a game HUD piece
523
+
524
+ By default the rig is a block that fills its host — a panel on a page. Two options turn it into
525
+ something a game pins over its own rendering:
526
+
527
+ ```ts
528
+ const rig = mountRiderRig(gameRoot, {
529
+ ftp: session.identity.ftp,
530
+ width: 300, // any size, not just sm/md/lg
531
+ place: { corner: "bottom-right", margin: 24 }, // floating, click-through
532
+ renderer: threeRiderRig({ floor: false }), // optional: the 3D one, with no opaque ground
533
+ });
534
+ ```
535
+
536
+ `place` takes the kit's shared `HudPlacement` — nine corners, or free `x`/`y` fractions (0 = left/top,
537
+ 1 = right/bottom, positioning the rig's own matching edge so it can never hang off screen), plus
538
+ `margin`, `fixed` and `zIndex`. A placed rig is `pointer-events: none` in full, so every click reaches
539
+ the game underneath, and a host left in `position: static` is promoted to `relative` so it can anchor
540
+ the rig.
541
+
542
+ `width` is the ONE exception to the sizing contract at the top of this file, and it is scoped to this
543
+ component: the rig is a picture, not a label. The watts bubble scales with it, but its type stops
544
+ shrinking at the `sm` preset's size — below that the bubble just takes up more of the picture, because
545
+ a number nobody can read is worse than a bigger bubble.
546
+
547
+ `setWidth(px)` and `setPlacement(next)` adjust both after mounting, which is how you find them: run
548
+ `npm run rig-hud`, drag the sliders over a fake game, and paste back the snippet it prints.
549
+
430
550
  ### Placing the tooltip
431
551
 
432
552
  The tooltip sits where each layout's default puts it, and `tip` overrides any part of that:
@@ -450,11 +570,17 @@ readout sits in the same place in all three so the rider always knows where to l
450
570
 
451
571
  Every gauge is a **continuous** fill; what changes is the paint and the tooltip's orientation.
452
572
 
453
- - **`solid`** (default) — flat opaque silhouette; a landscape tooltip. Most legible.
454
- - **`blueprint`** — thin technical linework; a **portrait** tooltip whose bar runs vertically and
455
- which shows **no figure at all** — just the `WATTS` title and a tall bar marked at FTP. On that
456
- variant the bar is the reading: a rider glancing at a trainer screen reads the fill long before
457
- they read three digits, and a number beside it competes with what it annotates.
573
+ - **`solid`** (default) — flat opaque silhouette; a landscape tooltip. Most legible. The trainer's
574
+ **flywheel is a second reading of the watts**: white, haloed in the gauge's own zone colour, the halo
575
+ growing with the effort — barely there at rest, hot at threshold, burning in a sprint. The flywheel rather than
576
+ the front wheel, because that disc is the one the rider's legs actually drive. Both renderers draw it
577
+ (a CSS drop-shadow flat, an emissive in 3D) from the zone the component hands over on the pose, so it
578
+ can never disagree with the bar.
579
+ - **`blueprint`** — thin technical linework; a **portrait** tooltip whose bar runs vertically, with
580
+ the `WATTS` caption above the figure and both stacked over a tall bar marked at FTP. The bar is
581
+ still the reading — a rider glancing at a trainer screen reads the fill long before three digits —
582
+ so the figure is smaller than the landscape one and the `FTP` mark larger, which is the room the
583
+ portrait layout has and the landscape one does not.
458
584
  - **`neon`** — glowing outline; a landscape tooltip whose fill carries a bright leading edge. The
459
585
  arcade one.
460
586
 
@@ -33,9 +33,10 @@
33
33
  */
34
34
  import type { AxisName, ButtonEdge, ButtonName } from "../../protocol/buttons.js";
35
35
  import { type GlyphSet } from "../../protocol/glyphs.js";
36
+ import { type HudPlacement } from "../hud-placement.js";
36
37
  import { type PadDriver, type PadSvg } from "./pad-svg.js";
37
38
  import { type PadRenderer, type PadRendererFactory, type PartRect } from "./renderer.js";
38
- import type { ControlName } from "./tokens.js";
39
+ import { type ComboToken, type ControlAction, type ControlName } from "./tokens.js";
39
40
  import type { PadBrandKey, PadLayout, PadPart } from "./types.js";
40
41
  /**
41
42
  * What the host reports about the controller in the rider's hands, and how to hear about a swap.
@@ -104,14 +105,90 @@ export interface ControllerPadOptions {
104
105
  * also PINS it — the pad stops following pad swaps, which is what a settings preview wants.
105
106
  */
106
107
  glyphSet?: GlyphSet;
107
- /** Max width preset. Default `"md"` (340px). */
108
+ /** Max width preset. Default `"md"` (340px). Ignored when {@link width} is given. */
108
109
  size?: "sm" | "md" | "lg";
110
+ /**
111
+ * Free width in CSS pixels, overriding {@link size}. Clamped to ≥ 120.
112
+ *
113
+ * The kit's sizing contract forbids scaling its components, and the pad is one of the two
114
+ * exceptions (the rider rig is the other), for the same reason: it is a PICTURE rather than a label,
115
+ * so it survives being re-sized in a way a keycap or a callout card does not — and a game pinning it
116
+ * into a corner of play genuinely cannot work from three fixed widths. Below 120px the button
117
+ * lettering stops being readable and it is a logo, not a diagram, which is where the floor is.
118
+ *
119
+ * The three presets remain the right answer for a pad in a page (a controls screen, a settings tab).
120
+ */
121
+ width?: number;
122
+ /**
123
+ * Pin the pad into a corner of the game's screen instead of laying it out in flow.
124
+ *
125
+ * This is what turns the pad from a block in a page into a HUD piece — the thing a game wants when
126
+ * it is teaching a control mid-play. A placed pad is **click-through** and pinned to the host
127
+ * element (or to the viewport with `fixed`); see {@link HudPlacement} for the full contract.
128
+ *
129
+ * ```ts
130
+ * mountControllerPad(gameRoot, {
131
+ * press: session,
132
+ * width: 260,
133
+ * place: { corner: "bottom-right", margin: 24 },
134
+ * highlight: ["RT", "DIAMOND_DOWN"],
135
+ * renderer: createThreePadRenderer, // optional: the 3D Joy-Con
136
+ * });
137
+ * ```
138
+ */
139
+ place?: HudPlacement;
140
+ /**
141
+ * Controls to mark as **"press this"** — drawn in the `hint` state (a white throb) until cleared.
142
+ *
143
+ * This is the bare pad's answer to "which keys am I telling the rider about". The five callout views
144
+ * say it with cards and leader lines, which a HUD corner has no room for; here the pad simply lights
145
+ * the keys themselves. Same {@link ComboToken} vocabulary as everywhere else, so a combination is a
146
+ * list: `["RT", "DIAMOND_DOWN"]` lights both, `["LSTICK:left"]` lights the left stick AND leans it
147
+ * that way.
148
+ *
149
+ * A hinted key that the rider actually presses lights as pressed and goes **back to the hint** on
150
+ * release, rather than going dark — the hint is a standing instruction, not a one-shot.
151
+ *
152
+ * Naming a shell-owned control (`LB`, `RB`, `MENU`) implies {@link allowShellOwned}: you cannot ask
153
+ * for a control to be pointed at and also forbid it from lighting.
154
+ */
155
+ highlight?: readonly ComboToken[] | readonly ControlAction[];
156
+ /**
157
+ * Print each highlighted action's LABEL above the control it points at. Default: on as soon as any
158
+ * entry of {@link highlight} carries one.
159
+ *
160
+ * The two readings are both legitimate, which is why this is a switch rather than a rule. *With* the
161
+ * text, one pad answers "what do I press, and what does it do" on its own — a pause screen, a
162
+ * tutorial beat, the first time a control appears. *Without* it, the lit key is a reminder for a
163
+ * rider who already knows, and it stays out of the way of a game that is still being played. Pass
164
+ * `false` to keep the labels in your data and off the screen.
165
+ *
166
+ * The caption is placed from the drawing's own projection, so it follows the pad — including the 3D
167
+ * pad's roll when a trigger lights. Over a pad drawn in volume it is bare shadowed type rather than
168
+ * an opaque chip, for the same reason `mountControlSpotlight` does that: a chip on a lit, shaded
169
+ * shell reads as a sticker, and it covers the very control it is naming.
170
+ */
171
+ captions?: boolean;
109
172
  /** Draw the face/trigger/bumper letters on the art. Default true. */
110
173
  labels?: boolean;
111
174
  /** Dim the whole drawing and skip the input subscription — a placeholder or a backdrop. */
112
175
  ghost?: boolean;
113
176
  /** Accent colour for pressed parts. Themed through this option, never by overriding the CSS. */
114
177
  accent?: string;
178
+ /**
179
+ * Colour of the "press this" indication — the `hint` state, which {@link highlight} paints. Default:
180
+ * the kit's near-white.
181
+ *
182
+ * Themable for the same reason {@link accent} is: a pad pinned into a game's HUD sits inside that
183
+ * game's palette, not this kit's. It reaches BOTH renderers — the flat drawing through a CSS
184
+ * variable, the 3D one through its materials — so it is not an option that works on half the pads.
185
+ *
186
+ * ⚠️ **Not the same colour as {@link accent}.** White-vs-accent is how the drawing separates *do
187
+ * this* from *you are doing it*: set them equal and a key the pad is asking for and a key the rider
188
+ * is holding become the same picture. On the flat pad the hint still pulses; on the 3D pad only a
189
+ * difference in glow would be left, which is not enough to read at a distance.
190
+ */
191
+ hintColor?: string;
115
192
  /**
116
193
  * Buttons the rider's device actually has; everything else is drawn faint.
117
194
  *
@@ -180,6 +257,32 @@ export interface ControllerPad {
180
257
  */
181
258
  onProjectionChange(cb: () => void): () => void;
182
259
  setVisible(on: boolean): void;
260
+ /**
261
+ * Re-size the pad, in CSS pixels — see {@link ControllerPadOptions.width}.
262
+ *
263
+ * Live, and cheap: the drawing scales with its own box, so nothing is rebuilt. A dev page finding the
264
+ * right size by eye is the intended caller; a game normally passes `width` once and never calls this.
265
+ */
266
+ setWidth(px: number): void;
267
+ /**
268
+ * Move the pinned pad — see {@link ControllerPadOptions.place}.
269
+ *
270
+ * Placing a pad that was mounted in flow works too, and is the point: `setPlacement` is what a dev
271
+ * page's corner picker drives. There is no "unplace"; mount without `place` for a pad in flow.
272
+ */
273
+ setPlacement(next: HudPlacement): void;
274
+ /**
275
+ * Replace the set of controls marked "press this" — see {@link ControllerPadOptions.highlight}.
276
+ *
277
+ * Pass an empty array to clear. Anything the rider is currently holding keeps its pressed state; the
278
+ * change lands under it.
279
+ */
280
+ setHighlight(highlight: readonly ComboToken[] | readonly ControlAction[]): void;
281
+ /**
282
+ * Show or hide the captions without touching the highlight itself — see
283
+ * {@link ControllerPadOptions.captions}. Labels you passed are kept either way.
284
+ */
285
+ setCaptions(on: boolean): void;
183
286
  dispose(): void;
184
287
  }
185
288
  export declare function mountControllerPad(host: HTMLElement, opts?: ControllerPadOptions): ControllerPad;
@@ -1 +1 @@
1
- {"version":3,"file":"controller-pad.d.ts","sourceRoot":"","sources":["../../../src/ui/controller/controller-pad.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller-pad.d.ts","sourceRoot":"","sources":["../../../src/ui/controller/controller-pad.ts"],"names":[],"mappings":"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"}