@rydr/game-sdk 9.11.0 → 10.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -6
- package/dist/client/PlatformClient.d.ts +61 -2
- package/dist/client/PlatformClient.d.ts.map +1 -1
- package/dist/client/PlatformClient.js +103 -1
- package/dist/client/PlatformClient.js.map +1 -1
- package/dist/host/PlatformHost.d.ts +47 -3
- package/dist/host/PlatformHost.d.ts.map +1 -1
- package/dist/host/PlatformHost.js +28 -1
- package/dist/host/PlatformHost.js.map +1 -1
- package/dist/protocol/buttons.d.ts +51 -7
- package/dist/protocol/buttons.d.ts.map +1 -1
- package/dist/protocol/buttons.js +72 -0
- package/dist/protocol/buttons.js.map +1 -1
- package/dist/protocol/gameMenu.d.ts +66 -0
- package/dist/protocol/gameMenu.d.ts.map +1 -0
- package/dist/protocol/gameMenu.js +58 -0
- package/dist/protocol/gameMenu.js.map +1 -0
- package/dist/protocol/glyphs.d.ts +2 -2
- package/dist/protocol/glyphs.d.ts.map +1 -1
- package/dist/protocol/glyphs.js +14 -25
- package/dist/protocol/glyphs.js.map +1 -1
- package/dist/protocol/guards.d.ts.map +1 -1
- package/dist/protocol/guards.js +3 -0
- package/dist/protocol/guards.js.map +1 -1
- package/dist/protocol/index.d.ts +1 -0
- package/dist/protocol/index.d.ts.map +1 -1
- package/dist/protocol/index.js +1 -0
- package/dist/protocol/index.js.map +1 -1
- package/dist/protocol/messages.d.ts +59 -5
- package/dist/protocol/messages.d.ts.map +1 -1
- package/dist/protocol/rideHud.d.ts +33 -0
- package/dist/protocol/rideHud.d.ts.map +1 -1
- package/dist/protocol/rideHud.js +37 -0
- package/dist/protocol/rideHud.js.map +1 -1
- package/dist/protocol/version.d.ts +2 -2
- package/dist/protocol/version.d.ts.map +1 -1
- package/dist/protocol/version.js +33 -2
- package/dist/protocol/version.js.map +1 -1
- package/dist/ui/README.md +22 -15
- package/dist/ui/controller/combo-demo.js +1 -1
- package/dist/ui/controller/combo-demo.js.map +1 -1
- package/dist/ui/controller/control-spotlight.d.ts +5 -5
- package/dist/ui/controller/control-spotlight.js +6 -6
- package/dist/ui/controller/control-trainer.d.ts +5 -5
- package/dist/ui/controller/control-trainer.d.ts.map +1 -1
- package/dist/ui/controller/control-trainer.js +4 -4
- package/dist/ui/controller/control-trainer.js.map +1 -1
- package/dist/ui/controller/controller-map.js +2 -2
- package/dist/ui/controller/controller-map.js.map +1 -1
- package/dist/ui/controller/controller-pad.d.ts +8 -9
- package/dist/ui/controller/controller-pad.d.ts.map +1 -1
- package/dist/ui/controller/controller-pad.js +6 -31
- package/dist/ui/controller/controller-pad.js.map +1 -1
- package/dist/ui/controller/input-chip.d.ts +5 -3
- package/dist/ui/controller/input-chip.d.ts.map +1 -1
- package/dist/ui/controller/input-chip.js +51 -15
- package/dist/ui/controller/input-chip.js.map +1 -1
- package/dist/ui/controller/layouts/dualsense.js +6 -6
- package/dist/ui/controller/layouts/dualsense.js.map +1 -1
- package/dist/ui/controller/layouts/joycon.js +6 -6
- package/dist/ui/controller/layouts/joycon.js.map +1 -1
- package/dist/ui/controller/layouts/switch-pro.js +6 -6
- package/dist/ui/controller/layouts/switch-pro.js.map +1 -1
- package/dist/ui/controller/layouts/xbox.js +6 -6
- package/dist/ui/controller/layouts/xbox.js.map +1 -1
- package/dist/ui/controller/live-presses.d.ts +7 -10
- package/dist/ui/controller/live-presses.d.ts.map +1 -1
- package/dist/ui/controller/live-presses.js +4 -13
- package/dist/ui/controller/live-presses.js.map +1 -1
- package/dist/ui/controller/pad-svg.d.ts +11 -10
- package/dist/ui/controller/pad-svg.d.ts.map +1 -1
- package/dist/ui/controller/pad-svg.js +19 -11
- package/dist/ui/controller/pad-svg.js.map +1 -1
- package/dist/ui/controller/parts-map.d.ts +9 -8
- package/dist/ui/controller/parts-map.d.ts.map +1 -1
- package/dist/ui/controller/parts-map.js +30 -14
- package/dist/ui/controller/parts-map.js.map +1 -1
- package/dist/ui/controller/styles.js +1 -1
- package/dist/ui/controller/tokens.d.ts +14 -9
- package/dist/ui/controller/tokens.d.ts.map +1 -1
- package/dist/ui/controller/tokens.js +1 -1
- package/dist/ui/controller/tokens.js.map +1 -1
- package/dist/ui/keycap.d.ts +1 -1
- package/dist/ui/option-menu.d.ts +19 -6
- package/dist/ui/option-menu.d.ts.map +1 -1
- package/dist/ui/option-menu.js +171 -6
- package/dist/ui/option-menu.js.map +1 -1
- package/dist/ui/showcase/index.d.ts.map +1 -1
- package/dist/ui/showcase/index.js +21 -19
- package/dist/ui/showcase/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -64,7 +64,8 @@ export interface RoomController {
|
|
|
64
64
|
scheduleEvent(name: string, payload?: unknown, at?: number): void;
|
|
65
65
|
leave(): void;
|
|
66
66
|
}
|
|
67
|
-
import { type RideHudView } from "../protocol/rideHud.js";
|
|
67
|
+
import { type RideHudArea, type RideHudView } from "../protocol/rideHud.js";
|
|
68
|
+
import { type GameMenuSnapshot } from "../protocol/gameMenu.js";
|
|
68
69
|
/** A point-in-time hardware reading pushed to connected games. Omitted fields are unchanged. */
|
|
69
70
|
export interface HardwareSample {
|
|
70
71
|
power?: number;
|
|
@@ -162,6 +163,14 @@ export interface PlatformHostOptions {
|
|
|
162
163
|
* asked for it.
|
|
163
164
|
*/
|
|
164
165
|
overlaySupported?: boolean;
|
|
166
|
+
/**
|
|
167
|
+
* A guest document said `hello` (PLAT-1714). Fires for EVERY handshake, and one iframe can make
|
|
168
|
+
* several: a game that moves its iframe to another page of its own (its editor, and back) is a
|
|
169
|
+
* new document each time. Whatever the previous document asked for (a hidden power bar, a
|
|
170
|
+
* `setRideHud` view) died with it, so this is where the host puts its defaults back. It runs
|
|
171
|
+
* BEFORE the welcome goes out, so anything the new document then asks for lands on top.
|
|
172
|
+
*/
|
|
173
|
+
onHello?(): void;
|
|
165
174
|
onReady?(): void;
|
|
166
175
|
onLoadProgress?(progress: number): void;
|
|
167
176
|
onExitRequest?(): void;
|
|
@@ -187,8 +196,10 @@ export interface PlatformHostOptions {
|
|
|
187
196
|
* the host fills every field the game left out, or sent garbage in, with its default. */
|
|
188
197
|
onRideHudRequest?(view: Required<RideHudView>): void;
|
|
189
198
|
/** The game reported its activity state — `"playing"` (active gameplay) vs `"menu"` (any
|
|
190
|
-
* non-racing screen). The shell
|
|
191
|
-
*
|
|
199
|
+
* non-racing screen). The RYDR shell does NOT ease resistance on it (menu easing was removed,
|
|
200
|
+
* PLAT-1623): in `"menu"` it holds the rider's base ERG target instead of the game's demand, and
|
|
201
|
+
* it splits in-game from in-menu time in the activity recording. Default (never sent) is `"menu"` —
|
|
202
|
+
* the host applies its menu training policy until `"playing"`.
|
|
192
203
|
* See `PlatformClient.setActivity`. */
|
|
193
204
|
onActivityChange?(state: "playing" | "menu"): void;
|
|
194
205
|
/**
|
|
@@ -224,6 +235,19 @@ export interface PlatformHostOptions {
|
|
|
224
235
|
* overlay, not the game's — contrast with the `OPTIONS` {@link ButtonName}, which IS a normal
|
|
225
236
|
* button sent via `sendButton` for the game's own menu/options screen. */
|
|
226
237
|
onToggleMenu?(): void;
|
|
238
|
+
/**
|
|
239
|
+
* The game's rows for YOUR platform menu changed (PLAT-1795): draw them as its section, or remove
|
|
240
|
+
* the section on `null`. Supplying this is what tells the game (`welcome.menuRows`) that its option
|
|
241
|
+
* menu lives in yours, so it stops drawing its own. Already sanitised: text is cut and malformed
|
|
242
|
+
* rows are gone. Report presses with {@link PlatformHost.sendMenuPick}, and the menu's own
|
|
243
|
+
* opening and closing with {@link PlatformHost.sendMenuState}.
|
|
244
|
+
*/
|
|
245
|
+
onMenuRows?(menu: GameMenuSnapshot | null): void;
|
|
246
|
+
/**
|
|
247
|
+
* The rider pressed the game's OPTIONS (or the game called its option menu's `open()` / `close()`):
|
|
248
|
+
* open your platform menu landing on the game's rows, or close it (PLAT-1795).
|
|
249
|
+
*/
|
|
250
|
+
onMenuRequest?(open: boolean): void;
|
|
227
251
|
onError?(message: string): void;
|
|
228
252
|
/** The game requested a leaderboard page; fetch and return it. */
|
|
229
253
|
onGetLeaderboard?(boardId: string, opts: {
|
|
@@ -439,6 +463,26 @@ export interface PlatformHost {
|
|
|
439
463
|
setMasterVolume(volume: number): void;
|
|
440
464
|
/** Push an updated scoped identity (e.g. after a profile edit). */
|
|
441
465
|
updateIdentity(identity: ScopedIdentity): void;
|
|
466
|
+
/**
|
|
467
|
+
* Tell the game which part of its screen the ride HUD covers (PLAT-1714), in the GUEST's CSS
|
|
468
|
+
* pixels (translate from your viewport into the iframe's before calling). Call it whenever that
|
|
469
|
+
* changes; an identical area is not re-sent. The last one is remembered and carried on the next
|
|
470
|
+
* `welcome`, so a game that loads after the HUD settled still starts with it.
|
|
471
|
+
*/
|
|
472
|
+
sendRideHudArea(area: RideHudArea): void;
|
|
473
|
+
/**
|
|
474
|
+
* Your platform menu opened or closed (PLAT-1795). Send it on EVERY open and close, however the
|
|
475
|
+
* menu was summoned: an open is what makes the game publish its rows (if its `canOpen` agrees) and
|
|
476
|
+
* run its `onOpen`, and a close runs its `onClose`. Drop the rows you hold on close; the next open
|
|
477
|
+
* brings fresh ones. Only meaningful with {@link PlatformHostOptions.onMenuRows}.
|
|
478
|
+
*/
|
|
479
|
+
sendMenuState(open: boolean): void;
|
|
480
|
+
/**
|
|
481
|
+
* A row of the game's section was pressed (`delta` absent) or a stepper turned (PLAT-1795). Pass
|
|
482
|
+
* the `rev` of the snapshot the rider was looking at. For a press on a row without `keepOpen`,
|
|
483
|
+
* close the menu (and so {@link sendMenuState}) FIRST, so the action runs on a resumed game.
|
|
484
|
+
*/
|
|
485
|
+
sendMenuPick(id: string, rev: number, delta?: -1 | 1): void;
|
|
442
486
|
/** Tear down listeners and stop streaming. */
|
|
443
487
|
dispose(): void;
|
|
444
488
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformHost.d.ts","sourceRoot":"","sources":["../../src/host/PlatformHost.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PlatformHost.d.ts","sourceRoot":"","sources":["../../src/host/PlatformHost.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { RYDR_PROTOCOL_VERSION } from "../protocol/version.js";
|
|
2
2
|
import { isGameToPlatformMessage } from "../protocol/guards.js";
|
|
3
|
-
import { resolveRideHudView } from "../protocol/rideHud.js";
|
|
3
|
+
import { resolveRideHudArea, resolveRideHudView } from "../protocol/rideHud.js";
|
|
4
|
+
import { resolveGameMenu } from "../protocol/gameMenu.js";
|
|
4
5
|
/** The shell's hardware, adapted to what the host needs. The shell implements this over its HardwareManager. */
|
|
5
6
|
/**
|
|
6
7
|
* Protocol-26 back-compat: the positional face-button name → the letter a PRE-26 guest expects, at
|
|
@@ -29,6 +30,10 @@ export function createPlatformHost(options) {
|
|
|
29
30
|
// The guest's declared protocol version (from `hello`), used to shield pre-13 guests from
|
|
30
31
|
// repeat `down`s they don't understand. 0 until the handshake lands.
|
|
31
32
|
let guestProtocol = 0;
|
|
33
|
+
/** The last HUD area the shell reported, for the next welcome (PLAT-1714), and its dedupe key. */
|
|
34
|
+
// Null until the shell has measured: the welcome then says nothing rather than "nothing drawn".
|
|
35
|
+
let rideHudArea = null;
|
|
36
|
+
let sentRideHudArea = "";
|
|
32
37
|
let unsubscribeTraining = null;
|
|
33
38
|
let sentPlan = "";
|
|
34
39
|
let unsubscribeHardware = null;
|
|
@@ -82,6 +87,7 @@ export function createPlatformHost(options) {
|
|
|
82
87
|
return;
|
|
83
88
|
switch (msg.type) {
|
|
84
89
|
case "rydr/hello": {
|
|
90
|
+
options.onHello?.();
|
|
85
91
|
guestProtocol = msg.protocolVersion;
|
|
86
92
|
granted = grantFor(msg.gameId, msg.capabilities);
|
|
87
93
|
post({
|
|
@@ -96,10 +102,12 @@ export function createPlatformHost(options) {
|
|
|
96
102
|
dataHost: options.dataHost,
|
|
97
103
|
powerSmoothing: options.powerSmoothing,
|
|
98
104
|
overlaySupported: options.overlaySupported === true,
|
|
105
|
+
...(rideHudArea ? { rideHudArea } : {}),
|
|
99
106
|
trainingSupported: !!options.training,
|
|
100
107
|
trainingLibrary: !!options.onListWorkouts && !!options.onStartWorkout,
|
|
101
108
|
trainingOfferings: !!options.onPlayOffering,
|
|
102
109
|
trainingControls: !!options.onTrainingControl,
|
|
110
|
+
menuRows: !!options.onMenuRows,
|
|
103
111
|
// On the welcome itself, so the game's first frame prints the right button letters.
|
|
104
112
|
glyphSet: hardware.getStatus().glyphSet,
|
|
105
113
|
});
|
|
@@ -295,6 +303,12 @@ export function createPlatformHost(options) {
|
|
|
295
303
|
case "rydr/menu.toggle":
|
|
296
304
|
options.onToggleMenu?.();
|
|
297
305
|
break;
|
|
306
|
+
case "rydr/menu.rows":
|
|
307
|
+
options.onMenuRows?.(resolveGameMenu(msg.menu));
|
|
308
|
+
break;
|
|
309
|
+
case "rydr/menu.request":
|
|
310
|
+
options.onMenuRequest?.(msg.open === true);
|
|
311
|
+
break;
|
|
298
312
|
case "rydr/pong":
|
|
299
313
|
// liveness reply — no-op for now
|
|
300
314
|
break;
|
|
@@ -559,6 +573,8 @@ export function createPlatformHost(options) {
|
|
|
559
573
|
return {
|
|
560
574
|
pause: () => post({ rydr: true, type: "rydr/lifecycle.pause" }),
|
|
561
575
|
resume: () => post({ rydr: true, type: "rydr/lifecycle.resume" }),
|
|
576
|
+
sendMenuState: (open) => post({ rydr: true, type: "rydr/menu.state", open }),
|
|
577
|
+
sendMenuPick: (id, rev, delta) => post({ rydr: true, type: "rydr/menu.pick", id, rev, ...(delta ? { delta } : {}) }),
|
|
562
578
|
sendStage: (stage) => post({ rydr: true, type: "rydr/stage.play", stage }),
|
|
563
579
|
sendOverlayState: (active) => post({ rydr: true, type: "rydr/overlay.state", active }),
|
|
564
580
|
sendOverlayLayout: (placements) => post({ rydr: true, type: "rydr/overlay.layout", placements }),
|
|
@@ -602,6 +618,17 @@ export function createPlatformHost(options) {
|
|
|
602
618
|
post({ rydr: true, type: "rydr/audio.setMaster", volume: v });
|
|
603
619
|
},
|
|
604
620
|
updateIdentity: (identity) => post({ rydr: true, type: "rydr/identity.update", identity }),
|
|
621
|
+
sendRideHudArea: (area) => {
|
|
622
|
+
const next = resolveRideHudArea(area);
|
|
623
|
+
const key = JSON.stringify(next);
|
|
624
|
+
if (key === sentRideHudArea)
|
|
625
|
+
return;
|
|
626
|
+
sentRideHudArea = key;
|
|
627
|
+
rideHudArea = next;
|
|
628
|
+
// Before the handshake there is nobody to tell: the welcome carries it.
|
|
629
|
+
if (guestProtocol)
|
|
630
|
+
post({ rydr: true, type: "rydr/ui.rideHudArea", area: next });
|
|
631
|
+
},
|
|
605
632
|
dispose: () => {
|
|
606
633
|
unsubscribeTraining?.();
|
|
607
634
|
unsubscribeHardware?.();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformHost.js","sourceRoot":"","sources":["../../src/host/PlatformHost.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PlatformHost.js","sourceRoot":"","sources":["../../src/host/PlatformHost.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,10 +21,12 @@
|
|
|
21
21
|
* Delete) is the correct desktop UX. *Gameplay never listens to the keyboard directly.*
|
|
22
22
|
* ──────────────────────────────────────────────────────────────────────────────────────────────
|
|
23
23
|
*
|
|
24
|
-
* - **Directions** — `UP`/`DOWN`/`LEFT`/`RIGHT`: the
|
|
25
|
-
*
|
|
26
|
-
* direction stays held until *every* source lets go — so a game that only needs "move" reads
|
|
27
|
-
* four and works on every device.
|
|
24
|
+
* - **Directions** — `UP`/`DOWN`/`LEFT`/`RIGHT`: the LEFT stick once it deflects past the platform's
|
|
25
|
+
* deadzone, the arrow keys, and the phone's D-pad. One name per direction whichever produced it — a
|
|
26
|
+
* held direction stays held until *every* source lets go — so a game that only needs "move" reads
|
|
27
|
+
* these four and works on every device. **Not a gamepad's physical D-pad** (protocol 44): on RYDR
|
|
28
|
+
* that is the rider's trainer control (UP/DOWN resistance, LEFT/RIGHT the trainer mode), owned by the
|
|
29
|
+
* shell everywhere, and never delivered to a game. Menus therefore navigate with the stick.
|
|
28
30
|
* - **Right-stick directions** — `RUP`/`RDOWN`/`RLEFT`/`RRIGHT`: the same four edges for the RIGHT stick,
|
|
29
31
|
* fired once it deflects past the platform's deadzone. Kept separate from the D-pad's so a dual-stick
|
|
30
32
|
* game can tell *move* (`LEFT`/`RIGHT`…) from *aim* (`RLEFT`/`RRIGHT`…) without touching the analog
|
|
@@ -49,6 +51,17 @@
|
|
|
49
51
|
* They are plain **clicks** — the hardware has no analog trigger travel, so there is no trigger
|
|
50
52
|
* {@link AxisName}; `isDown("LT")` / `onButton` is the only way to read them. Not every controller
|
|
51
53
|
* exposes them, so never gate a required flow behind `LT`/`RT` alone.
|
|
54
|
+
* - **Bumpers** — `LB`/`RB`, the UPPER shoulders (L1/R1). Game input since protocol 44, when the
|
|
55
|
+
* rider's resistance moved to the D-pad; before that the shell kept them. Same rules as the
|
|
56
|
+
* triggers: no built-in meaning, and not every device has them (the phone doesn't).
|
|
57
|
+
* - **Either shoulder** — `LEFTANY`/`RIGHTANY` (protocol 44): `LEFTANY` is "`LB` or `LT`", `RIGHTANY`
|
|
58
|
+
* is "`RB` or `RT`". Bind an action to it when the rider should not have to care which of the two
|
|
59
|
+
* they pull — brake, boost, previous/next tab, which is most of the time. It goes down when the
|
|
60
|
+
* FIRST of the pair goes down and up when the LAST comes up, so holding both is still one press and
|
|
61
|
+
* one release, never two. The SDK client derives it from the two real buttons (the shell never sends
|
|
62
|
+
* it), so it works on every device that has either one, the phone's single trigger and the keyboard's
|
|
63
|
+
* `a`/`e` included. You still receive the underlying `LB`/`LT` edges as well; listen to one or the
|
|
64
|
+
* other, not both. See {@link BUTTON_GROUPS}.
|
|
52
65
|
* - **Stick presses** — `LSTICK_PRESS`/`RSTICK_PRESS`, emitted when a joystick is clicked straight down.
|
|
53
66
|
* Like the triggers they carry no built-in meaning (crouch, recentre the camera, sprint) and most
|
|
54
67
|
* controllers can't produce them at all, so use them only as a shortcut for something already
|
|
@@ -60,12 +73,43 @@
|
|
|
60
73
|
*
|
|
61
74
|
* Devices with fewer than four face buttons (e.g. a phone) expose at least the
|
|
62
75
|
* `DIAMOND_DOWN`/`DIAMOND_RIGHT` confirm/back pair — don't require `DIAMOND_UP`/`DIAMOND_LEFT`,
|
|
63
|
-
* `LT`/`RT`, the right-stick `R*` directions, a stick press, or `OPTIONS` for a flow that must
|
|
64
|
-
* every input.
|
|
76
|
+
* `LT`/`RT`, `LB`/`RB`, the right-stick `R*` directions, a stick press, or `OPTIONS` for a flow that must
|
|
77
|
+
* work on every input (`LEFTANY`/`RIGHTANY` reach more devices than any one shoulder, but still not all).
|
|
65
78
|
*/
|
|
66
|
-
export type ButtonName = "UP" | "DOWN" | "LEFT" | "RIGHT" | "RUP" | "RDOWN" | "RLEFT" | "RRIGHT" | "DIAMOND_UP" | "DIAMOND_DOWN" | "DIAMOND_LEFT" | "DIAMOND_RIGHT" | "LT" | "RT" | "LSTICK_PRESS" | "RSTICK_PRESS" | "OPTIONS";
|
|
79
|
+
export type ButtonName = "UP" | "DOWN" | "LEFT" | "RIGHT" | "RUP" | "RDOWN" | "RLEFT" | "RRIGHT" | "DIAMOND_UP" | "DIAMOND_DOWN" | "DIAMOND_LEFT" | "DIAMOND_RIGHT" | "LT" | "RT" | "LB" | "RB" | "LEFTANY" | "RIGHTANY" | "LSTICK_PRESS" | "RSTICK_PRESS" | "OPTIONS";
|
|
67
80
|
/** Press = "down", release = "up". A held button emits one of each. */
|
|
68
81
|
export type ButtonEdge = "down" | "up";
|
|
82
|
+
/**
|
|
83
|
+
* The grouped buttons and the real buttons each one stands for (protocol 44): `LEFTANY` is held while
|
|
84
|
+
* `LB` OR `LT` is, `RIGHTANY` while `RB` OR `RT` is. See {@link ButtonName}.
|
|
85
|
+
*/
|
|
86
|
+
export declare const BUTTON_GROUPS: Readonly<Record<"LEFTANY" | "RIGHTANY", readonly ButtonName[]>>;
|
|
87
|
+
/** Is `name` one of the grouped buttons (derived, never sent over the wire)? */
|
|
88
|
+
export declare function isGroupButton(name: ButtonName): name is "LEFTANY" | "RIGHTANY";
|
|
89
|
+
/** One edge a {@link createButtonGrouper} wants delivered, in the same shape as the edge that caused it. */
|
|
90
|
+
export interface GroupedEdge {
|
|
91
|
+
name: "LEFTANY" | "RIGHTANY";
|
|
92
|
+
edge: ButtonEdge;
|
|
93
|
+
repeat: boolean;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Turns the edges of the REAL buttons into the edges of their {@link BUTTON_GROUPS}.
|
|
97
|
+
*
|
|
98
|
+
* Feed it every edge AFTER your own duplicate filtering (it trusts that a `down` is a new press or a
|
|
99
|
+
* flagged repeat, and an `up` releases something held). It returns the grouped edges to deliver, which
|
|
100
|
+
* is usually none:
|
|
101
|
+
*
|
|
102
|
+
* - the FIRST member down → the group's `down`; a second member joining adds nothing;
|
|
103
|
+
* - the LAST member up → the group's `up`; one of two letting go adds nothing;
|
|
104
|
+
* - a `repeat` re-emit passes through only from the member that OPENED the group, so holding both
|
|
105
|
+
* bumper and trigger does not auto-repeat twice as fast.
|
|
106
|
+
*
|
|
107
|
+
* One instance per input stream. `reset()` forgets everything (a held-state wipe).
|
|
108
|
+
*/
|
|
109
|
+
export declare function createButtonGrouper(): {
|
|
110
|
+
feed(name: ButtonName, edge: ButtonEdge, repeat?: boolean): GroupedEdge[];
|
|
111
|
+
reset(): void;
|
|
112
|
+
};
|
|
69
113
|
/**
|
|
70
114
|
* Canonical, source-agnostic controller **AXES** — the analog counterpart to {@link ButtonName}.
|
|
71
115
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buttons.d.ts","sourceRoot":"","sources":["../../src/protocol/buttons.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"buttons.d.ts","sourceRoot":"","sources":["../../src/protocol/buttons.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EG;AACH,MAAM,MAAM,UAAU,GAGlB,IAAI,GACJ,MAAM,GACN,MAAM,GACN,OAAO,GAGP,KAAK,GACL,OAAO,GACP,OAAO,GACP,QAAQ,GAIR,YAAY,GACZ,cAAc,GACd,cAAc,GACd,eAAe,GAEf,IAAI,GACJ,IAAI,GAEJ,IAAI,GACJ,IAAI,GAEJ,SAAS,GACT,UAAU,GAEV,cAAc,GACd,cAAc,GAGd,SAAS,CAAC;AAEd,uEAAuE;AACvE,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;AAEvC;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,GAAG,UAAU,EAAE,SAAS,UAAU,EAAE,CAAC,CAGzF,CAAC;AAEF,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,IAAI,SAAS,GAAG,UAAU,CAE9E;AAED,4GAA4G;AAC5G,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,IAAI;IACrC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,CAAC;IAC1E,KAAK,IAAI,IAAI,CAAC;CACf,CAuCA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,MAAM,QAAQ,GAEhB,IAAI,GACJ,IAAI,GAEJ,IAAI,GACJ,IAAI,CAAC;AAET;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CA4B9D,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,MAAM,CAOlF;AAED,uFAAuF;AACvF,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EAA6B,CAAC;AAExE;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAOtE,CAAC"}
|
package/dist/protocol/buttons.js
CHANGED
|
@@ -1,3 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The grouped buttons and the real buttons each one stands for (protocol 44): `LEFTANY` is held while
|
|
3
|
+
* `LB` OR `LT` is, `RIGHTANY` while `RB` OR `RT` is. See {@link ButtonName}.
|
|
4
|
+
*/
|
|
5
|
+
export const BUTTON_GROUPS = {
|
|
6
|
+
LEFTANY: ["LB", "LT"],
|
|
7
|
+
RIGHTANY: ["RB", "RT"],
|
|
8
|
+
};
|
|
9
|
+
/** Is `name` one of the grouped buttons (derived, never sent over the wire)? */
|
|
10
|
+
export function isGroupButton(name) {
|
|
11
|
+
return name === "LEFTANY" || name === "RIGHTANY";
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Turns the edges of the REAL buttons into the edges of their {@link BUTTON_GROUPS}.
|
|
15
|
+
*
|
|
16
|
+
* Feed it every edge AFTER your own duplicate filtering (it trusts that a `down` is a new press or a
|
|
17
|
+
* flagged repeat, and an `up` releases something held). It returns the grouped edges to deliver, which
|
|
18
|
+
* is usually none:
|
|
19
|
+
*
|
|
20
|
+
* - the FIRST member down → the group's `down`; a second member joining adds nothing;
|
|
21
|
+
* - the LAST member up → the group's `up`; one of two letting go adds nothing;
|
|
22
|
+
* - a `repeat` re-emit passes through only from the member that OPENED the group, so holding both
|
|
23
|
+
* bumper and trigger does not auto-repeat twice as fast.
|
|
24
|
+
*
|
|
25
|
+
* One instance per input stream. `reset()` forgets everything (a held-state wipe).
|
|
26
|
+
*/
|
|
27
|
+
export function createButtonGrouper() {
|
|
28
|
+
const held = new Map();
|
|
29
|
+
const opener = new Map();
|
|
30
|
+
return {
|
|
31
|
+
feed(name, edge, repeat = false) {
|
|
32
|
+
const out = [];
|
|
33
|
+
for (const group of ["LEFTANY", "RIGHTANY"]) {
|
|
34
|
+
if (!BUTTON_GROUPS[group].includes(name))
|
|
35
|
+
continue;
|
|
36
|
+
let members = held.get(group);
|
|
37
|
+
if (!members)
|
|
38
|
+
held.set(group, (members = new Set()));
|
|
39
|
+
if (edge === "down") {
|
|
40
|
+
if (repeat) {
|
|
41
|
+
if (opener.get(group) === name)
|
|
42
|
+
out.push({ name: group, edge: "down", repeat: true });
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
const wasEmpty = members.size === 0;
|
|
46
|
+
members.add(name);
|
|
47
|
+
if (wasEmpty) {
|
|
48
|
+
opener.set(group, name);
|
|
49
|
+
out.push({ name: group, edge: "down", repeat: false });
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
if (!members.delete(name))
|
|
54
|
+
continue;
|
|
55
|
+
if (members.size === 0) {
|
|
56
|
+
opener.delete(group);
|
|
57
|
+
out.push({ name: group, edge: "up", repeat: false });
|
|
58
|
+
}
|
|
59
|
+
else if (opener.get(group) === name) {
|
|
60
|
+
// The opener let go while the other is still held: the survivor carries the repeat now.
|
|
61
|
+
opener.set(group, [...members][0]);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return out;
|
|
66
|
+
},
|
|
67
|
+
reset() {
|
|
68
|
+
held.clear();
|
|
69
|
+
opener.clear();
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
}
|
|
1
73
|
/**
|
|
2
74
|
* Keyboard → canonical button map for desktop play.
|
|
3
75
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buttons.js","sourceRoot":"","sources":["../../src/protocol/buttons.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"buttons.js","sourceRoot":"","sources":["../../src/protocol/buttons.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A GAME'S ROWS IN THE PLATFORM MENU (PLAT-1795, protocol 44).
|
|
3
|
+
*
|
|
4
|
+
* On RYDR there is one menu, the platform's. A game's own rows (Restart, Back to menu, a difficulty
|
|
5
|
+
* stepper) are drawn INSIDE it, under Resume, rather than in a second overlay of the game's own. The
|
|
6
|
+
* game still describes them with `mountOptionMenu` exactly as before; the SDK turns them into the data
|
|
7
|
+
* below, the shell draws them, and a press comes back as an id the SDK maps to the row's own callback.
|
|
8
|
+
*
|
|
9
|
+
* Nothing here can act on the shell. A row is text and a shape; what it DOES stays in the game, behind
|
|
10
|
+
* the iframe, and only the game's own callback ever runs.
|
|
11
|
+
*
|
|
12
|
+
* You do not build these by hand: `mountOptionMenu` publishes them for you. They are exported for a
|
|
13
|
+
* host (the shell renders them) and for anything that wants to read the wire.
|
|
14
|
+
*/
|
|
15
|
+
/** One row of a game's section in the platform menu. */
|
|
16
|
+
export interface GameMenuRow {
|
|
17
|
+
/** Stable within one {@link GameMenuSnapshot}: what a pick names. */
|
|
18
|
+
id: string;
|
|
19
|
+
/** The row's text, verbatim. Kept short by the game. */
|
|
20
|
+
label: string;
|
|
21
|
+
/**
|
|
22
|
+
* `action` is pressed (A, a click); `stepper` is turned with LEFT/RIGHT and shows {@link value}
|
|
23
|
+
* between two arrows.
|
|
24
|
+
*/
|
|
25
|
+
kind: "action" | "stepper";
|
|
26
|
+
/** A stepper's current value. */
|
|
27
|
+
value?: string;
|
|
28
|
+
/** Whether a stepper can move down / left (default true). A spent arrow is drawn inert. */
|
|
29
|
+
canStepDown?: boolean;
|
|
30
|
+
/** Whether a stepper can move up / right (default true). */
|
|
31
|
+
canStepUp?: boolean;
|
|
32
|
+
/** Destructive (leaving, wiping a run): drawn in the same red as the platform's Exit. */
|
|
33
|
+
danger?: boolean;
|
|
34
|
+
/** Shown inert and skipped by the focus ring. */
|
|
35
|
+
disabled?: boolean;
|
|
36
|
+
/** Pressing it leaves the menu open (a toggle, a row that swaps the list). Default: the menu closes
|
|
37
|
+
* first, so the action runs on a resumed game. */
|
|
38
|
+
keepOpen?: boolean;
|
|
39
|
+
}
|
|
40
|
+
/** The game's whole section, replaced wholesale on every change. */
|
|
41
|
+
export interface GameMenuSnapshot {
|
|
42
|
+
/** The game's name, printed over its rows. */
|
|
43
|
+
title: string;
|
|
44
|
+
/**
|
|
45
|
+
* Which publish this is. A pick carries the `rev` it was made against and the SDK drops one that
|
|
46
|
+
* names an older list, so a press can never land on a row that has since moved.
|
|
47
|
+
*/
|
|
48
|
+
rev: number;
|
|
49
|
+
rows: GameMenuRow[];
|
|
50
|
+
}
|
|
51
|
+
/** A row pressed (`delta` absent) or a stepper turned (`delta` ±1). */
|
|
52
|
+
export interface GameMenuPick {
|
|
53
|
+
id: string;
|
|
54
|
+
rev: number;
|
|
55
|
+
delta?: -1 | 1;
|
|
56
|
+
}
|
|
57
|
+
/** The most rows a host draws, and the longest label or value it prints. A guest past either is cut. */
|
|
58
|
+
export declare const GAME_MENU_MAX_ROWS = 24;
|
|
59
|
+
export declare const GAME_MENU_MAX_TEXT = 80;
|
|
60
|
+
/**
|
|
61
|
+
* Read a snapshot off the wire, keeping only what a host can draw. It came from another origin, so
|
|
62
|
+
* nothing about it is trusted: a malformed snapshot is `null` (no section), a malformed row is
|
|
63
|
+
* dropped, extra fields are discarded, and text is cut to {@link GAME_MENU_MAX_TEXT}.
|
|
64
|
+
*/
|
|
65
|
+
export declare function resolveGameMenu(raw: unknown): GameMenuSnapshot | null;
|
|
66
|
+
//# sourceMappingURL=gameMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gameMenu.d.ts","sourceRoot":"","sources":["../../src/protocol/gameMenu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,wDAAwD;AACxD,MAAM,WAAW,WAAW;IAC1B,qEAAqE;IACrE,EAAE,EAAE,MAAM,CAAC;IACX,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2FAA2F;IAC3F,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yFAAyF;IACzF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;uDACmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,oEAAoE;AACpE,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,WAAW,EAAE,CAAC;CACrB;AAED,uEAAuE;AACvE,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;CAChB;AAED,wGAAwG;AACxG,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAIrC;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAwBrE"}
|