@rydr/game-sdk 8.5.0 → 8.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -131,3 +131,45 @@ const scroll = createScrollNav({
131
131
 
132
132
  A press at the top/bottom edge is a silent no-op (no false cue). Smooth scroll is used unless
133
133
  `prefers-reduced-motion` is set. See `scroll-nav.ts` for the full option list.
134
+
135
+ ## Navigating with the stick — `createStickNav`
136
+
137
+ Both engines above speak discrete `UP` / `DOWN` / `LEFT` / `RIGHT` presses. An analog stick is not
138
+ that: it's a direction and a distance. `createStickNav` is the converter, and it lives here — beside
139
+ the menu — on purpose.
140
+
141
+ **Why it isn't done in the device layer.** Thresholding each axis on its own fires *two* directions on
142
+ a diagonal (push top-right, the highlight jumps twice), and once the vector has been thrown away
143
+ nobody downstream can work out which one the rider meant. Which direction a push *means* is a menu
144
+ question, not a hardware fact. So the engine keeps the vector, picks the single axis the stick is
145
+ pushed furthest along, and holds at most one direction at a time.
146
+
147
+ It also auto-repeats, which a faked D-pad structurally cannot: a held stick emits no new samples, so a
148
+ synthesized press steps once and then sits there. Here a held direction steps, pauses
149
+ (`STICK_NAV_REPEAT_DELAY_MS`, 400 ms), then repeats at `STICK_NAV_REPEAT_MS` (125 ms ≈ 8/s).
150
+
151
+ ```ts
152
+ import { createSpatialNav, createStickNav } from "@rydr/game-sdk/nav";
153
+
154
+ const nav = createSpatialNav({ session, root: document.body });
155
+ const stickNav = createStickNav({
156
+ session, // polls session.stick("LSTICK") each frame
157
+ onDirection: (dir) => nav.handle(dir), // one direction per push
158
+ });
159
+ ```
160
+
161
+ `createStickNav(options) → { sample, axis, current, release, dispose }`
162
+
163
+ - `sample(x, y)` — feed a full stick position (right/up = `+1`) when you're not passing `session`.
164
+ - `axis(name, value)` — feed one canonical axis (`LX`/`LY`); the other keeps its last value. For
165
+ consumers whose analog stream arrives per-axis, like the platform shell's.
166
+ - `current()` — the direction currently held, or `null`.
167
+ - `release()` — force the stick to centre (no emit). Call it when you stop owning input, so a held
168
+ stick can't fire into whatever takes over.
169
+ - `dispose()` — stop polling, clear timers.
170
+
171
+ Tuning is exported so a consumer can match its own feel: `STICK_NAV_ON` (0.6) is the deflection that
172
+ counts as a press, `STICK_NAV_OFF` (0.4) the one it releases below (hysteresis, so a stick resting on
173
+ the threshold can't chatter), and `STICK_NAV_DOMINANCE` (1.2) how much the other axis must beat the
174
+ held one by to take over mid-push — which is what stops a thumb parked on the 45° line from
175
+ flickering between two directions. Pass `repeat: false` for one step per push.
@@ -21,9 +21,21 @@
21
21
  * import { createScrollNav } from "@rydr/game-sdk/nav";
22
22
  * const scroll = createScrollNav({ root: readerEl, session, onBack: () => goHome() });
23
23
  * ```
24
+ *
25
+ * Both engines above speak discrete `UP`/`DOWN`/`LEFT`/`RIGHT` presses. To drive one from an ANALOG
26
+ * STICK — one direction per push (never two on a diagonal), with console-style auto-repeat while it's
27
+ * held — add {@link createStickNav}:
28
+ *
29
+ * ```ts
30
+ * import { createSpatialNav, createStickNav } from "@rydr/game-sdk/nav";
31
+ * const nav = createSpatialNav({ session, root: document.body });
32
+ * const stickNav = createStickNav({ session, onDirection: (dir) => nav.handle(dir) });
33
+ * ```
24
34
  */
25
35
  export { createSpatialNav } from "./spatial-nav.js";
26
36
  export type { SpatialNav, SpatialNavOptions, NavButtonSource, NavCue } from "./spatial-nav.js";
27
37
  export { createScrollNav, SCROLL_NAV_STEP } from "./scroll-nav.js";
28
38
  export type { ScrollNav, ScrollNavOptions } from "./scroll-nav.js";
39
+ export { createStickNav, STICK_NAV_ON, STICK_NAV_OFF, STICK_NAV_DOMINANCE, STICK_NAV_REPEAT_DELAY_MS, STICK_NAV_REPEAT_MS } from "./stick-nav.js";
40
+ export type { StickNav, StickNavOptions, StickNavDirection, NavStickSource } from "./stick-nav.js";
29
41
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nav/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACnE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nav/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACnE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAClJ,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
package/dist/nav/index.js CHANGED
@@ -21,7 +21,18 @@
21
21
  * import { createScrollNav } from "@rydr/game-sdk/nav";
22
22
  * const scroll = createScrollNav({ root: readerEl, session, onBack: () => goHome() });
23
23
  * ```
24
+ *
25
+ * Both engines above speak discrete `UP`/`DOWN`/`LEFT`/`RIGHT` presses. To drive one from an ANALOG
26
+ * STICK — one direction per push (never two on a diagonal), with console-style auto-repeat while it's
27
+ * held — add {@link createStickNav}:
28
+ *
29
+ * ```ts
30
+ * import { createSpatialNav, createStickNav } from "@rydr/game-sdk/nav";
31
+ * const nav = createSpatialNav({ session, root: document.body });
32
+ * const stickNav = createStickNav({ session, onDirection: (dir) => nav.handle(dir) });
33
+ * ```
24
34
  */
25
35
  export { createSpatialNav } from "./spatial-nav.js";
26
36
  export { createScrollNav, SCROLL_NAV_STEP } from "./scroll-nav.js";
37
+ export { createStickNav, STICK_NAV_ON, STICK_NAV_OFF, STICK_NAV_DOMINANCE, STICK_NAV_REPEAT_DELAY_MS, STICK_NAV_REPEAT_MS } from "./stick-nav.js";
27
38
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nav/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nav/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Read a joystick as MENU NAVIGATION — the missing half of {@link createSpatialNav}, which speaks
3
+ * discrete `UP`/`DOWN`/`LEFT`/`RIGHT` presses and knows nothing about analog sticks.
4
+ *
5
+ * **Why this exists.** A stick is a direction and a distance; a D-pad is four booleans. Anything that
6
+ * turns the first into the second by thresholding each axis on its own fires TWO directions on a
7
+ * diagonal — push top-right and the menu jumps twice — and, having thrown the vector away, gives
8
+ * whoever is downstream no way to recover which one the rider meant. So the conversion belongs
9
+ * here, next to the menu that consumes it, not in the device layer: the rider's INTENT is a menu
10
+ * question, not a hardware fact. This engine keeps the vector, picks the single dominant direction,
11
+ * and never holds more than one at a time.
12
+ *
13
+ * It also does the thing a synthesized D-pad structurally cannot: **auto-repeat**. Holding a stick
14
+ * produces no new events, so a faked press moves the highlight exactly once and then sits there
15
+ * until the rider recentres. Here a held direction steps once, pauses ({@link STICK_NAV_REPEAT_DELAY_MS}),
16
+ * then repeats at {@link STICK_NAV_REPEAT_MS} — what every console menu does.
17
+ *
18
+ * Game usage (auto-polls the session's stick each frame, feeding a spatial nav):
19
+ * import { createSpatialNav, createStickNav } from "@rydr/game-sdk/nav";
20
+ * const nav = createSpatialNav({ session, root: document.body });
21
+ * const stickNav = createStickNav({ session, onDirection: (dir) => nav.handle(dir) });
22
+ *
23
+ * Shell / multiplexed usage (feed axis samples yourself, one axis at a time):
24
+ * const stickNav = createStickNav({ onDirection: (dir) => router.dispatch(dir) });
25
+ * // …from the platform's analog stream: stickNav.axis(name, value)
26
+ *
27
+ * Note the two paths differ in more than wiring: a POLLED source (`session`) re-reads the stick every
28
+ * frame, while a FED source only hears about changes. Repeat is therefore driven by this engine's own
29
+ * timer in both cases, never by the arrival of samples — a stick held perfectly still is silent on the
30
+ * wire, and must still repeat.
31
+ */
32
+ import type { AxisName, ButtonName, StickName } from "../protocol/buttons.js";
33
+ import type { NavCue } from "./spatial-nav.js";
34
+ /** The four directions a stick can resolve to — a subset of {@link ButtonName}, so it feeds `handle`. */
35
+ export type StickNavDirection = Extract<ButtonName, "UP" | "DOWN" | "LEFT" | "RIGHT">;
36
+ /**
37
+ * Deflection at which a push becomes a direction press. Measured RADIALLY (the vector's length), not
38
+ * per-axis — a per-axis test is what makes a diagonal read as two presses, since both components clear
39
+ * the bar at once.
40
+ */
41
+ export declare const STICK_NAV_ON = 0.6;
42
+ /**
43
+ * Deflection the stick must fall back below before the held direction releases. Below {@link
44
+ * STICK_NAV_ON} on purpose (hysteresis): a stick resting near the threshold would otherwise chatter
45
+ * press/release for as long as the rider held it there.
46
+ */
47
+ export declare const STICK_NAV_OFF = 0.4;
48
+ /**
49
+ * How much the other axis must BEAT the held one by before the direction switches mid-push (e.g.
50
+ * rolling from up-right round to right without recentring). A bare `>` comparison would flicker
51
+ * between two directions for a stick parked on the 45° line, which is exactly where a thumb naturally
52
+ * rests on a diagonal; the margin makes the current direction win ties and near-ties.
53
+ */
54
+ export declare const STICK_NAV_DOMINANCE = 1.2;
55
+ /** Pause after the first step before a held stick starts repeating (ms) — long enough that a deliberate
56
+ * single step never turns into two. */
57
+ export declare const STICK_NAV_REPEAT_DELAY_MS = 400;
58
+ /** Interval between repeats while the stick is held (ms) — ~8 steps/second. */
59
+ export declare const STICK_NAV_REPEAT_MS = 125;
60
+ /**
61
+ * Anything that can report a stick position — a `PlatformSession` satisfies this. Structural on
62
+ * purpose: `nav` must not depend on the client.
63
+ */
64
+ export interface NavStickSource {
65
+ stick(name: StickName): {
66
+ x: number;
67
+ y: number;
68
+ };
69
+ }
70
+ export interface StickNavOptions {
71
+ /** Where a resolved direction goes. Typically a {@link SpatialNav.handle} or the shell's dispatcher. */
72
+ onDirection: (dir: StickNavDirection) => void;
73
+ /**
74
+ * Auto-poll a stick source (`PlatformSession` or any `{ stick }`) every animation frame. Omit when
75
+ * the caller feeds {@link StickNav.axis} / {@link StickNav.sample} itself (the shell, which receives
76
+ * the platform's analog stream as it changes).
77
+ */
78
+ session?: NavStickSource;
79
+ /** Which stick to poll when `session` is given. Default `"LSTICK"` — the movement stick. */
80
+ stick?: StickName;
81
+ /** Auto-repeat while the stick is held. Default `true`; `false` = one step per push, recentre to step again. */
82
+ repeat?: boolean;
83
+ /** Override {@link STICK_NAV_ON}. */
84
+ on?: number;
85
+ /** Override {@link STICK_NAV_OFF}. */
86
+ off?: number;
87
+ /** Override {@link STICK_NAV_DOMINANCE}. */
88
+ dominance?: number;
89
+ /** Override {@link STICK_NAV_REPEAT_DELAY_MS}. */
90
+ repeatDelayMs?: number;
91
+ /** Override {@link STICK_NAV_REPEAT_MS}. */
92
+ repeatMs?: number;
93
+ /** Sink for the `nav.move` cue, fired on every emitted direction (first step and repeats alike).
94
+ * Omit when the consumer already cues on its own `onDirection` — double-cueing is the common mistake. */
95
+ cue?: (id: NavCue) => void;
96
+ }
97
+ export interface StickNav {
98
+ /** Feed a full stick position (right/up = +1). The normal entry point for a polled source. */
99
+ sample(x: number, y: number): void;
100
+ /**
101
+ * Feed ONE canonical axis of the watched stick; the other keeps its last value. For consumers whose
102
+ * analog stream arrives per-axis. Axes belonging to the other stick are ignored.
103
+ */
104
+ axis(name: AxisName, value: number): void;
105
+ /** The direction currently held, or `null`. */
106
+ current(): StickNavDirection | null;
107
+ /** Force the stick to centre — releases any held direction and stops repeats, emitting nothing.
108
+ * Use when the consumer stops owning input (a game takes the screen) so a held stick can't fire into it. */
109
+ release(): void;
110
+ /** Tear down: stop polling, clear timers. */
111
+ dispose(): void;
112
+ }
113
+ export declare function createStickNav(opts: StickNavOptions): StickNav;
114
+ //# sourceMappingURL=stick-nav.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stick-nav.d.ts","sourceRoot":"","sources":["../../src/nav/stick-nav.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,yGAAyG;AACzG,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAEtF;;;;GAIG;AACH,eAAO,MAAM,YAAY,MAAM,CAAC;AAEhC;;;;GAIG;AACH,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC;wCACwC;AACxC,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAClD;AAED,MAAM,WAAW,eAAe;IAC9B,wGAAwG;IACxG,WAAW,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C;;;;OAIG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,4FAA4F;IAC5F,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,gHAAgH;IAChH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qCAAqC;IACrC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,sCAAsC;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;8GAC0G;IAC1G,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,QAAQ;IACvB,8FAA8F;IAC9F,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,+CAA+C;IAC/C,OAAO,IAAI,iBAAiB,GAAG,IAAI,CAAC;IACpC;iHAC6G;IAC7G,OAAO,IAAI,IAAI,CAAC;IAChB,6CAA6C;IAC7C,OAAO,IAAI,IAAI,CAAC;CACjB;AAQD,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,QAAQ,CAqH9D"}
@@ -0,0 +1,153 @@
1
+ /**
2
+ * Deflection at which a push becomes a direction press. Measured RADIALLY (the vector's length), not
3
+ * per-axis — a per-axis test is what makes a diagonal read as two presses, since both components clear
4
+ * the bar at once.
5
+ */
6
+ export const STICK_NAV_ON = 0.6;
7
+ /**
8
+ * Deflection the stick must fall back below before the held direction releases. Below {@link
9
+ * STICK_NAV_ON} on purpose (hysteresis): a stick resting near the threshold would otherwise chatter
10
+ * press/release for as long as the rider held it there.
11
+ */
12
+ export const STICK_NAV_OFF = 0.4;
13
+ /**
14
+ * How much the other axis must BEAT the held one by before the direction switches mid-push (e.g.
15
+ * rolling from up-right round to right without recentring). A bare `>` comparison would flicker
16
+ * between two directions for a stick parked on the 45° line, which is exactly where a thumb naturally
17
+ * rests on a diagonal; the margin makes the current direction win ties and near-ties.
18
+ */
19
+ export const STICK_NAV_DOMINANCE = 1.2;
20
+ /** Pause after the first step before a held stick starts repeating (ms) — long enough that a deliberate
21
+ * single step never turns into two. */
22
+ export const STICK_NAV_REPEAT_DELAY_MS = 400;
23
+ /** Interval between repeats while the stick is held (ms) — ~8 steps/second. */
24
+ export const STICK_NAV_REPEAT_MS = 125;
25
+ /** The two axes each stick is composed of, so {@link StickNav.axis} knows which samples are its own. */
26
+ const STICK_AXES = {
27
+ LSTICK: { x: "LX", y: "LY" },
28
+ RSTICK: { x: "RX", y: "RY" },
29
+ };
30
+ export function createStickNav(opts) {
31
+ const stickName = opts.stick ?? "LSTICK";
32
+ const axes = STICK_AXES[stickName];
33
+ const on = opts.on ?? STICK_NAV_ON;
34
+ const off = opts.off ?? STICK_NAV_OFF;
35
+ const dominance = opts.dominance ?? STICK_NAV_DOMINANCE;
36
+ const repeatDelayMs = opts.repeatDelayMs ?? STICK_NAV_REPEAT_DELAY_MS;
37
+ const repeatMs = opts.repeatMs ?? STICK_NAV_REPEAT_MS;
38
+ const repeats = opts.repeat ?? true;
39
+ let x = 0;
40
+ let y = 0;
41
+ let held = null;
42
+ let timer = null;
43
+ let raf = 0;
44
+ let disposed = false;
45
+ function clearTimer() {
46
+ if (timer !== null)
47
+ clearTimeout(timer);
48
+ timer = null;
49
+ }
50
+ /**
51
+ * Which direction this vector means. Compares the two components' MAGNITUDES — the axis the stick is
52
+ * pushed furthest along wins, which is the same rule the phone controller's drag pad uses, so every
53
+ * transport agrees. `bias` is applied to the currently-held axis so it keeps the direction through a
54
+ * tie (see {@link STICK_NAV_DOMINANCE}).
55
+ */
56
+ function resolve(bias) {
57
+ let horizontal = Math.abs(x);
58
+ let vertical = Math.abs(y);
59
+ if (held === "LEFT" || held === "RIGHT")
60
+ horizontal *= bias;
61
+ else if (held === "UP" || held === "DOWN")
62
+ vertical *= bias;
63
+ if (horizontal >= vertical)
64
+ return x > 0 ? "RIGHT" : "LEFT";
65
+ return y > 0 ? "UP" : "DOWN";
66
+ }
67
+ function emit(dir) {
68
+ held = dir;
69
+ opts.cue?.("nav.move");
70
+ opts.onDirection(dir);
71
+ if (!repeats)
72
+ return;
73
+ // Timer-driven, deliberately: a stick held still produces no further samples, so repeat can never
74
+ // ride the sample stream. Re-armed at the faster rate after the initial pause.
75
+ clearTimer();
76
+ timer = setTimeout(function step() {
77
+ if (disposed || held === null)
78
+ return;
79
+ opts.cue?.("nav.move");
80
+ opts.onDirection(held);
81
+ timer = setTimeout(step, repeatMs);
82
+ }, repeatDelayMs);
83
+ }
84
+ function evaluate() {
85
+ const magnitude = Math.hypot(x, y);
86
+ if (held === null) {
87
+ if (magnitude >= on)
88
+ emit(resolve(1));
89
+ return;
90
+ }
91
+ if (magnitude < off) {
92
+ // Released. No `up` edge goes out: a menu direction is a discrete step, not a hold — the repeat
93
+ // timer is the only thing that cared, and it stops here.
94
+ held = null;
95
+ clearTimer();
96
+ return;
97
+ }
98
+ // Still pushed. Only a CLEARLY dominant other axis takes the direction over, and when it does it
99
+ // steps immediately and starts its own pause — a deliberate roll from one direction to another
100
+ // should feel like a fresh press, not land mid-repeat.
101
+ const next = resolve(dominance);
102
+ if (next !== held)
103
+ emit(next);
104
+ }
105
+ const api = {
106
+ sample(nextX, nextY) {
107
+ x = nextX;
108
+ y = nextY;
109
+ evaluate();
110
+ },
111
+ axis(name, value) {
112
+ if (name === axes.x)
113
+ x = value;
114
+ else if (name === axes.y)
115
+ y = value;
116
+ else
117
+ return; // the other stick — not ours to read
118
+ evaluate();
119
+ },
120
+ current() {
121
+ return held;
122
+ },
123
+ release() {
124
+ x = 0;
125
+ y = 0;
126
+ held = null;
127
+ clearTimer();
128
+ },
129
+ dispose() {
130
+ disposed = true;
131
+ held = null;
132
+ clearTimer();
133
+ if (raf)
134
+ cancelAnimationFrame(raf);
135
+ raf = 0;
136
+ },
137
+ };
138
+ // Polled source: re-read every frame. Guarded on `requestAnimationFrame` so the engine stays
139
+ // importable server-side (and in tests) — a fed source needs no frame loop at all.
140
+ if (opts.session && typeof requestAnimationFrame === "function") {
141
+ const source = opts.session;
142
+ const tick = () => {
143
+ if (disposed)
144
+ return;
145
+ const v = source.stick(stickName);
146
+ api.sample(v.x, v.y);
147
+ raf = requestAnimationFrame(tick);
148
+ };
149
+ raf = requestAnimationFrame(tick);
150
+ }
151
+ return api;
152
+ }
153
+ //# sourceMappingURL=stick-nav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stick-nav.js","sourceRoot":"","sources":["../../src/nav/stick-nav.ts"],"names":[],"mappings":"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"}
@@ -9,5 +9,5 @@
9
9
  export declare const RYDR_PROTOCOL_VERSION: 30;
10
10
  /** Semver of this SDK build. Sent in the handshake for telemetry/debugging.
11
11
  * (Bumped to 2.0.0 by `npm version major` on release — see CHANGELOG [Unreleased].) */
12
- export declare const RYDR_SDK_VERSION = "8.5.0";
12
+ export declare const RYDR_SDK_VERSION = "8.6.0";
13
13
  //# sourceMappingURL=version.d.ts.map
@@ -176,5 +176,5 @@
176
176
  export const RYDR_PROTOCOL_VERSION = 30;
177
177
  /** Semver of this SDK build. Sent in the handshake for telemetry/debugging.
178
178
  * (Bumped to 2.0.0 by `npm version major` on release — see CHANGELOG [Unreleased].) */
179
- export const RYDR_SDK_VERSION = "8.5.0";
179
+ export const RYDR_SDK_VERSION = "8.6.0";
180
180
  //# sourceMappingURL=version.js.map
package/dist/ui/README.md CHANGED
@@ -53,7 +53,7 @@ feed its `{x, y, onScreen}` into `setScreenPos`/`setVisible` — don't compute p
53
53
  | `mountOverheatGlitch(host, opts)` | fn | **Lockout glitch overlay alone** — one-shot RGB chromatic burst on entry, then scanlines + red noise for the lockout. `setLocked(bool)` per frame. |
54
54
  | `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. |
55
55
  | `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. |
56
- | `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`. Takes the controller over while up; leaves the trainer alone. See below. |
56
+ | `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. |
57
57
  | `mountControllerPad(host, opts)` | fn | **The rider's controller, drawn live** — buttons light while held, stick caps follow the real axes. Pass `press: session`. |
58
58
  | `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[]`. |
59
59
  | `mountComboDemo(host, opts)` | fn | **"Do this" animation** — loops the combination one action requires: buttons sink in, the stick swings, release, repeat. |
@@ -90,14 +90,25 @@ const menu = mountOptionMenu(document.body, {
90
90
  onClose: () => { paused = false },
91
91
  items: [
92
92
  { label: "Restart", shortcut: "DIAMOND_UP", onSelect: () => restart() },
93
+ { label: "Difficulty", value: difficulty, onStep: (d) => cycleDifficulty(d) }, // a stepper
93
94
  { label: "Back to menu", onSelect: () => router.go("/") },
94
95
  ],
95
96
  });
96
97
  ```
97
98
 
98
99
  `Resume` is prepended free, so the shortest useful menu passes no `items` at all. Rows also take
99
- `hint` (a second line), `disabled`, `danger` (destructive tint) and `keepOpen`. Drive it by hand with
100
- `open()`/`close()`/`toggle()`/`setItems()`, or `handleButton(name)` if your host routes input itself.
100
+ `disabled`, `danger` (destructive tint), `keepOpen` and `hint` (a second line **discouraged**: a row
101
+ is read from a few feet away mid-ride, so if the label needs a sentence under it, fix the label). Drive
102
+ it by hand with `open()`/`close()`/`toggle()`/`setItems()`, or `handleButton(name)` if your host routes
103
+ input itself.
104
+
105
+ **A row can be a dial instead of an action.** Give it a `value` and an `onStep(delta)` and `LEFT`/`RIGHT`
106
+ change it in place: the value is drawn on the right between `‹ ›` arrows (clickable too), the menu stays
107
+ open, the ring stays put, and `onSelect` is never called — so a pure stepper needs no `onSelect` and is
108
+ drawn with no confirm keycap. Pass `canStepDown: false` / `canStepUp: false` at the ends of a range and
109
+ the spent arrow goes inert. **From `onStep`, re-publish the list with the new value via `setItems`** —
110
+ a same-shape list is patched in place rather than rebuilt, so the value changes without replaying the
111
+ entrance animation and a rider can hold `RIGHT` through the whole range.
101
112
 
102
113
  **It renders in the game's font.** The title and every row inherit the host's `font-family` — set the
103
114
  `font` option or the `--rydr-option-font` custom property to force one. The keycaps keep their own RYDR
@@ -16,10 +16,14 @@
16
16
  * onClose: () => { paused = false },
17
17
  * items: [
18
18
  * { label: "Restart", shortcut: "DIAMOND_UP", onSelect: () => restart() },
19
+ * { label: "Difficulty", value: "HARD", onStep: (d) => setDifficulty(d) },
19
20
  * { label: "Back to menu", onSelect: () => go("/") },
20
21
  * ],
21
22
  * });
22
23
  *
24
+ * Rows are ONE LINE: a label, and for a stepper its value. `hint` exists for the rare consequence a
25
+ * rider cannot infer, and is not recommended — see {@link OptionMenuItem.hint}.
26
+ *
23
27
  * `Resume` is prepended for free, so the shortest useful menu is no items at all.
24
28
  *
25
29
  * **Everything the rider reads is in the GAME's font.** The title and every row inherit the host's
@@ -75,15 +79,31 @@ export interface OptionMenuSession {
75
79
  export interface OptionMenuItem {
76
80
  /** The row's text — keep it short (it's read from a few feet away): "Restart", "Back to menu". */
77
81
  label: string;
78
- /** Run when the rider picks the row (with `A`, a click, or the row's `shortcut`). */
79
- onSelect: () => void;
82
+ /**
83
+ * Run when the rider picks the row (with `A`, a click, or the row's `shortcut`).
84
+ *
85
+ * Optional only for a {@link onStep} row: a dial the rider turns has nothing to "pick", and
86
+ * requiring a no-op here would just be ceremony. Every other row needs one — a row that does
87
+ * nothing when pressed is a bug everywhere else.
88
+ */
89
+ onSelect?: () => void;
80
90
  /**
81
91
  * The button that does this same thing **directly in-game**, shown on the row as `Shortcut [Y]` so
82
92
  * the rider learns it. The game keeps owning that binding during play; the menu honours it too while
83
93
  * it's open.
84
94
  */
85
95
  shortcut?: ButtonName;
86
- /** Optional second line under the label — a consequence worth spelling out ("You'll lose this lap"). */
96
+ /**
97
+ * Optional second line under the label. **Not recommended** — leave it off.
98
+ *
99
+ * A row in this menu is read from a few feet away, mid-ride, by someone deciding one thing. If the
100
+ * label needs a sentence under it to be understood, the label is wrong: fix the label. Two lines on
101
+ * every row also turns the list into a stack of blocks, which is slower to scan than the one-line
102
+ * rows it replaced.
103
+ *
104
+ * Worth it only for a consequence the rider genuinely cannot infer and would be annoyed to discover
105
+ * ("this will end the session"), and even then prefer saying it in the label.
106
+ */
87
107
  hint?: string;
88
108
  /** Unavailable right now: shown inert, skipped by the focus ring. */
89
109
  disabled?: boolean;
@@ -92,6 +112,28 @@ export interface OptionMenuItem {
92
112
  /** Keep the menu open after `onSelect` (a toggle, a row that swaps the list via `setItems`). Default
93
113
  * is to close first, so the action runs on a resumed game with input already handed back. */
94
114
  keepOpen?: boolean;
115
+ /**
116
+ * Makes this row a STEPPER: a setting the rider changes in place with `LEFT`/`RIGHT` instead of a
117
+ * row they press. Supply the current value as {@link value} and this to move it — `-1` for LEFT,
118
+ * `+1` for RIGHT.
119
+ *
120
+ * { label: "Difficulty", value: "HARD", onStep: (d) => cycleDifficulty(d) }
121
+ *
122
+ * The row shows its value on the right with `‹ ›` arrows, and the arrows the rider can actually use
123
+ * light up (nothing to the left of the first choice, so nothing to press). Focus does NOT move on a
124
+ * consumed press — the list is a single column, so LEFT/RIGHT were doing nothing there anyway.
125
+ *
126
+ * Stepping never closes the menu and never runs `onSelect`, so a stepper is free to have no
127
+ * `onSelect` at all (pressing `A` on it then does nothing, which is the honest behaviour for a row
128
+ * that is a dial rather than an action).
129
+ */
130
+ onStep?: (delta: -1 | 1) => void;
131
+ /** A stepper's current value, printed on the right between its arrows. Ignored without {@link onStep}. */
132
+ value?: string;
133
+ /** Whether stepping DOWN/LEFT is possible (default true) — a spent arrow is drawn inert. */
134
+ canStepDown?: boolean;
135
+ /** Whether stepping UP/RIGHT is possible (default true). */
136
+ canStepUp?: boolean;
95
137
  }
96
138
  export interface OptionMenuOptions {
97
139
  /** The platform session — for input, the trainer-easing hint, and the rider's controller lettering. */
@@ -1 +1 @@
1
- {"version":3,"file":"option-menu.d.ts","sourceRoot":"","sources":["../../src/ui/option-menu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAoB,KAAK,MAAM,EAAmB,MAAM,uBAAuB,CAAC;AAWvF,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1E;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAGhC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAC/E,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CACvF;AAcD,2BAA2B;AAC3B,MAAM,WAAW,cAAc;IAC7B,kGAAkG;IAClG,KAAK,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,wGAAwG;IACxG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+FAA+F;IAC/F,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;kGAC8F;IAC9F,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,uGAAuG;IACvG,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,kGAAkG;IAClG,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC;IACxB,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;6EACyE;IACzE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,8DAA8D;IAC9D,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3B;mDAC+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,uFAAuF;IACvF,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,mEAAmE;IACnE,IAAI,EAAE,WAAW,CAAC;IAClB,uFAAuF;IACvF,IAAI,IAAI,OAAO,CAAC;IAChB,4CAA4C;IAC5C,KAAK,IAAI,IAAI,CAAC;IACd,uEAAuE;IACvE,MAAM,IAAI,OAAO,CAAC;IAClB,MAAM,IAAI,OAAO,CAAC;IAClB,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IACxC,4BAA4B;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC;IACxC,OAAO,IAAI,IAAI,CAAC;CACjB;AA6CD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,iBAAiB,GAAG,UAAU,CA0UtF"}
1
+ {"version":3,"file":"option-menu.d.ts","sourceRoot":"","sources":["../../src/ui/option-menu.ts"],"names":[],"mappings":"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"}
@@ -16,10 +16,14 @@
16
16
  * onClose: () => { paused = false },
17
17
  * items: [
18
18
  * { label: "Restart", shortcut: "DIAMOND_UP", onSelect: () => restart() },
19
+ * { label: "Difficulty", value: "HARD", onStep: (d) => setDifficulty(d) },
19
20
  * { label: "Back to menu", onSelect: () => go("/") },
20
21
  * ],
21
22
  * });
22
23
  *
24
+ * Rows are ONE LINE: a label, and for a stepper its value. `hint` exists for the rare consequence a
25
+ * rider cannot infer, and is not recommended — see {@link OptionMenuItem.hint}.
26
+ *
23
27
  * `Resume` is prepended for free, so the shortest useful menu is no items at all.
24
28
  *
25
29
  * **Everything the rider reads is in the GAME's font.** The title and every row inherit the host's
@@ -223,6 +227,28 @@ export function mountOptionMenu(host, opts) {
223
227
  }
224
228
  const right = document.createElement("span");
225
229
  right.className = "rydr-option-right";
230
+ // A stepper's value, between the two arrows that change it. Rendered here (in the row's right
231
+ // group, before the confirm slot) so the thing the rider is changing sits under their thumb on
232
+ // the same side as the button that changes it.
233
+ if (item.onStep) {
234
+ row.classList.add("rydr-option-stepper");
235
+ const stepper = document.createElement("span");
236
+ stepper.className = "rydr-option-value";
237
+ const left = document.createElement("span");
238
+ left.className = "rydr-option-arrow" + (item.canStepDown === false ? " spent" : "");
239
+ left.textContent = "‹";
240
+ const val = document.createElement("span");
241
+ val.className = "rydr-option-value-text";
242
+ val.textContent = item.value ?? "";
243
+ const rightArrow = document.createElement("span");
244
+ rightArrow.className = "rydr-option-arrow" + (item.canStepUp === false ? " spent" : "");
245
+ rightArrow.textContent = "›";
246
+ // Clicking an arrow steps too: pointer and controller share every other affordance here.
247
+ left.addEventListener("click", (e) => { e.stopPropagation(); step(i, -1); });
248
+ rightArrow.addEventListener("click", (e) => { e.stopPropagation(); step(i, 1); });
249
+ stepper.append(left, val, rightArrow);
250
+ right.appendChild(stepper);
251
+ }
226
252
  // The slot the confirm keycap moves into when this row takes focus. Always present (and always
227
253
  // the same width) so focus moving between rows never reflows the list.
228
254
  const slot = document.createElement("span");
@@ -234,6 +260,74 @@ export function mountOptionMenu(host, opts) {
234
260
  return row;
235
261
  });
236
262
  }
263
+ /**
264
+ * Everything about a row that is STRUCTURE rather than content: change any of it and the row has to
265
+ * be rebuilt, because it decides which child elements exist (and which keycap, if any, the row owns).
266
+ * Change only the content and the row can be patched in place.
267
+ */
268
+ function shapeOf(item) {
269
+ return [
270
+ item.shortcut ?? "",
271
+ item.hint === undefined ? "-" : "h",
272
+ item.onStep ? "s" : "-",
273
+ item.onSelect ? "a" : "-",
274
+ item.danger ? "d" : "-",
275
+ item.disabled ? "x" : "-",
276
+ ].join("|");
277
+ }
278
+ /**
279
+ * Update the live rows from `next` WITHOUT touching the DOM structure — the no-animation path
280
+ * described in `setItems`. Returns false (having changed nothing) when the lists differ in shape, so
281
+ * the caller falls back to a rebuild.
282
+ *
283
+ * `rowItems` is re-pointed at the new items even on the fast path: the row elements are the same, but
284
+ * the closures behind them are not, and a stepper's `onStep` captures the value it is stepping FROM.
285
+ */
286
+ function patchRows(prev, next) {
287
+ if (prev.length !== next.length)
288
+ return false;
289
+ if (prev.some((item, i) => shapeOf(item) !== shapeOf(next[i])))
290
+ return false;
291
+ rowItems = [{ label: resumeLabel, onSelect: () => { }, shortcut: openButton }, ...next];
292
+ next.forEach((item, i) => {
293
+ const row = rows[i + 1]; // +1: `Resume` is row 0 and is not ours to patch
294
+ if (!row)
295
+ return;
296
+ const label = row.querySelector(".rydr-option-label");
297
+ if (label)
298
+ label.textContent = item.label;
299
+ const hint = row.querySelector(".rydr-option-hint");
300
+ if (hint && item.hint !== undefined)
301
+ hint.textContent = item.hint;
302
+ const value = row.querySelector(".rydr-option-value-text");
303
+ if (value)
304
+ value.textContent = item.value ?? "";
305
+ const arrows = row.querySelectorAll(".rydr-option-arrow");
306
+ arrows[0]?.classList.toggle("spent", item.canStepDown === false);
307
+ arrows[1]?.classList.toggle("spent", item.canStepUp === false);
308
+ });
309
+ return true;
310
+ }
311
+ /**
312
+ * Move a stepper row's value. The row stays focused and the menu stays open — a dial is something the
313
+ * rider turns while looking at it, not a thing they leave the menu to do.
314
+ *
315
+ * The caller is expected to re-publish the list (`setItems`) with the new value. That is cheap and
316
+ * invisible: a same-shape list is patched in place, so the value changes without the rows being
317
+ * rebuilt (which would replay the menu's entrance animation) and without the ring moving — a rider
318
+ * can hold RIGHT through the whole range.
319
+ */
320
+ function step(i, delta) {
321
+ const item = rowItems[i];
322
+ if (!item?.onStep || item.disabled)
323
+ return;
324
+ if (delta < 0 && item.canStepDown === false)
325
+ return;
326
+ if (delta > 0 && item.canStepUp === false)
327
+ return;
328
+ cue?.("nav.move");
329
+ item.onStep(delta);
330
+ }
237
331
  /**
238
332
  * Set each row's warp offset from its position in the list, so the entrance flies rows out from (and
239
333
  * back to) their own side of the centre. Measured with the transform-invariant layout box, never
@@ -251,7 +345,11 @@ export function mountOptionMenu(host, opts) {
251
345
  function placeCap() {
252
346
  const row = open ? nav?.current() ?? null : null;
253
347
  const slot = row?.querySelector(".rydr-option-confirm");
254
- if (!slot) {
348
+ // A stepper with nothing to confirm gets NO confirm cap: the cap is a promise that pressing it
349
+ // does something, and on a pure dial it does not. The row's own arrows are its affordance, and the
350
+ // fixed-width slot stays in place, so nothing reflows when focus moves onto or off it.
351
+ const item = row ? rowItems[rows.indexOf(row)] : undefined;
352
+ if (!slot || (item?.onStep && !item.onSelect)) {
255
353
  confirmCap.el.remove();
256
354
  return;
257
355
  }
@@ -270,6 +368,10 @@ export function mountOptionMenu(host, opts) {
270
368
  confirmCap.setPressed(true);
271
369
  setTimeout(() => confirmCap.setPressed(false), 160);
272
370
  cue?.("nav.confirm");
371
+ // A stepper with no action: pressing A on a dial does nothing, and must not close the menu the
372
+ // rider is standing in to turn it.
373
+ if (!item.onSelect)
374
+ return;
273
375
  if (item.keepOpen) {
274
376
  item.onSelect();
275
377
  return;
@@ -348,6 +450,18 @@ export function mountOptionMenu(host, opts) {
348
450
  pointer: true, // hover and controller share one focus state
349
451
  cue,
350
452
  onActivate: (el) => select(rows.indexOf(el)),
453
+ // A stepper row gets first refusal on LEFT/RIGHT and consumes them in place — the same
454
+ // mechanism `data-nav-kind="carousel"` uses. Everything else falls through to normal movement,
455
+ // which in a single-column list means those presses do nothing, exactly as before.
456
+ onDirection: (el, dir) => {
457
+ if (dir !== "LEFT" && dir !== "RIGHT")
458
+ return false;
459
+ const i = rows.indexOf(el);
460
+ if (!rowItems[i]?.onStep)
461
+ return false;
462
+ step(i, dir === "RIGHT" ? 1 : -1);
463
+ return true;
464
+ },
351
465
  onBack: close,
352
466
  onFocusChange: () => placeCap(),
353
467
  });
@@ -398,14 +512,28 @@ export function mountOptionMenu(host, opts) {
398
512
  },
399
513
  isOpen: () => open,
400
514
  setItems: (next) => {
515
+ const prev = items;
401
516
  items = [...next];
402
- if (open) {
403
- buildRows();
404
- computeOffsets();
405
- nav?.revalidate();
517
+ if (!open)
518
+ return;
519
+ // FAST PATH: same list, new text. A row that re-publishes itself — a stepper the rider is
520
+ // holding LEFT/RIGHT on, a toggle that relabels — must not replay the menu's entrance
521
+ // animation, which is what rebuilding the DOM does (the warp/stagger is keyed off the rows
522
+ // themselves). So when the new list has the same SHAPE, only the words change.
523
+ if (patchRows(prev, items))
524
+ return;
525
+ // Otherwise the list really is different, so rebuild it — but remember which row the ring was
526
+ // on first, because the rebuild replaces every element and the rider's next press must still
527
+ // mean what they aimed it at.
528
+ const focusedIndex = rows.findIndex((row) => row.hasAttribute("nav-focused"));
529
+ buildRows();
530
+ computeOffsets();
531
+ nav?.revalidate();
532
+ if (focusedIndex >= 0 && focusedIndex < rows.length)
533
+ nav?.focusIndex(focusedIndex);
534
+ else
406
535
  nav?.focusFirst();
407
- placeCap();
408
- }
536
+ placeCap();
409
537
  },
410
538
  setTitle: (title) => {
411
539
  titleEl.textContent = title;
@@ -495,6 +623,22 @@ const CSS = `
495
623
  .rydr-option-shortcut { display: flex; align-items: center; gap: 9px; flex: 0 0 auto; }
496
624
  .rydr-option-shortcut-tag { font-family: var(--rydr-option-font, inherit); font-size: 0.7rem; font-weight: 700;
497
625
  letter-spacing: 0.14em; text-transform: uppercase; color: rgba(238, 244, 255, 0.5); }
626
+ /* a stepper row's value, between the two arrows that change it (LEFT/RIGHT while the row is focused).
627
+ Fixed-width value text so stepping through choices of different lengths never reflows the row and
628
+ the arrows stay put under the rider's thumb. */
629
+ .rydr-option-value { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; margin-right: 12px; }
630
+ /* The value reads at nearly the label's size: it is the thing the rider is actually looking at while
631
+ they hold the stick, and at the old 1rem it was the smallest text on the row it belonged to. */
632
+ .rydr-option-value-text { font-family: var(--rydr-option-font, inherit); font-size: 1.7rem; font-weight: 700;
633
+ letter-spacing: 0.06em; text-transform: uppercase; color: #eef4ff; min-width: 5.5ch;
634
+ text-align: center; line-height: 1.1; }
635
+ /* the arrows follow it up, or they stop reading as its pair */
636
+ .rydr-option-arrow { font-size: 1.6rem; line-height: 1; color: rgba(238, 244, 255, 0.75); cursor: pointer;
637
+ user-select: none; }
638
+ .rydr-option-arrow:hover { color: #ffffff; }
639
+ /* nothing that way to go: drawn inert rather than hidden, so the row does not change shape at the ends
640
+ of the range */
641
+ .rydr-option-arrow.spent { color: rgba(238, 244, 255, 0.22); cursor: default; }
498
642
  /* the slot is always there, at a FIXED width (one solo keycap), so focus moving row to row can never
499
643
  reflow the list — only the cap inside it appears and disappears */
500
644
  .rydr-option-confirm { flex: 0 0 38px; height: 38px; display: flex; align-items: center; justify-content: center; }
@@ -1 +1 @@
1
- {"version":3,"file":"option-menu.js","sourceRoot":"","sources":["../../src/ui/option-menu.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"option-menu.js","sourceRoot":"","sources":["../../src/ui/option-menu.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/voiceover-editor/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAmBlE,OAAO,EAA8C,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE7G,+EAA+E;AAC/E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACzC,cAAc,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC5E,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAC3D,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACpD,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACpE,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,iBAAiB,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACnK;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,sBAAsB,CAAC;IAChC;;;OAGG;IACH,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,IAAI,IAAI,CAAC;CACjB;AA2HD,+CAA+C;AAC/C,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAsB,GAAG,eAAe,CAqyBrG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/voiceover-editor/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAmBlE,OAAO,EAA8C,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE7G,+EAA+E;AAC/E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACzC,cAAc,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC5E,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAC3D,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACpD,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACpE,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,iBAAiB,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACnK;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,sBAAsB,CAAC;IAChC;;;OAGG;IACH,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,IAAI,IAAI,CAAC;CACjB;AA4HD,+CAA+C;AAC/C,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAsB,GAAG,eAAe,CA4yBrG"}
@@ -22,6 +22,7 @@ const CSS = `
22
22
  .rydr-vo-row textarea{width:100%;min-height:52px;resize:vertical;background:#0d0f14;border:1px solid #232733;border-radius:8px;color:#e7e9ee;padding:8px 10px;font:inherit}
23
23
  .rydr-vo-row select,.rydr-vo-row input{width:100%;background:#0d0f14;border:1px solid #232733;border-radius:8px;color:#e7e9ee;padding:6px 8px;font:inherit}
24
24
  .rydr-vo-row [disabled]{opacity:.7;cursor:default}
25
+ .rydr-vo-lineid{margin-top:6px;color:#8b93a5;font:11px ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere;user-select:all;cursor:text}
25
26
  .rydr-vo-subrow{display:flex;gap:8px;margin-top:6px}
26
27
  .rydr-vo-subrow input.style{flex:1}
27
28
  .rydr-vo-subrow input.speed{width:96px}
@@ -550,6 +551,13 @@ export function mountVoiceoverEditor(root, opts) {
550
551
  }
551
552
  sel.onchange = () => { l.characterId = sel.value; dirty = true; void renderMain(); };
552
553
  left.appendChild(sel);
554
+ // The line's stable id, under the speaker — it's the key a game plays a line BY (`speak("climb-ready")`),
555
+ // so an author matching a row to the code needs it visible. `user-select:all` makes it one-click copyable.
556
+ const lineId = document.createElement("div");
557
+ lineId.className = "rydr-vo-lineid";
558
+ lineId.textContent = l.id;
559
+ lineId.title = "Line id — the key the game plays this line by";
560
+ left.appendChild(lineId);
553
561
  row.appendChild(left);
554
562
  // Middle: text + (style, speed) — all editable; edits write gamedata (the runtime source of truth).
555
563
  const mid = document.createElement("div");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/voiceover-editor/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/voiceover-editor/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rydr/game-sdk",
3
- "version": "8.5.0",
3
+ "version": "8.6.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/bdefrenne/rydr-game-sdk.git"