@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.
- package/dist/nav/README.md +42 -0
- package/dist/nav/index.d.ts +12 -0
- package/dist/nav/index.d.ts.map +1 -1
- package/dist/nav/index.js +11 -0
- package/dist/nav/index.js.map +1 -1
- package/dist/nav/stick-nav.d.ts +114 -0
- package/dist/nav/stick-nav.d.ts.map +1 -0
- package/dist/nav/stick-nav.js +153 -0
- package/dist/nav/stick-nav.js.map +1 -0
- package/dist/protocol/version.d.ts +1 -1
- package/dist/protocol/version.js +1 -1
- package/dist/ui/README.md +14 -3
- package/dist/ui/option-menu.d.ts +45 -3
- package/dist/ui/option-menu.d.ts.map +1 -1
- package/dist/ui/option-menu.js +151 -7
- package/dist/ui/option-menu.js.map +1 -1
- package/dist/voiceover-editor/index.d.ts.map +1 -1
- package/dist/voiceover-editor/index.js +8 -0
- package/dist/voiceover-editor/index.js.map +1 -1
- package/package.json +1 -1
package/dist/nav/README.md
CHANGED
|
@@ -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.
|
package/dist/nav/index.d.ts
CHANGED
|
@@ -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
|
package/dist/nav/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nav/index.ts"],"names":[],"mappings":"AAAA
|
|
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
|
package/dist/nav/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nav/index.ts"],"names":[],"mappings":"AAAA
|
|
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.
|
|
12
|
+
export declare const RYDR_SDK_VERSION = "8.6.0";
|
|
13
13
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/protocol/version.js
CHANGED
|
@@ -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.
|
|
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
|
-
`
|
|
100
|
-
|
|
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
|
package/dist/ui/option-menu.d.ts
CHANGED
|
@@ -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
|
-
/**
|
|
79
|
-
|
|
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
|
-
/**
|
|
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
|
|
1
|
+
{"version":3,"file":"option-menu.d.ts","sourceRoot":"","sources":["../../src/ui/option-menu.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/option-menu.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
404
|
-
|
|
405
|
-
|
|
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
|
-
|
|
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;
|
|
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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"}
|