@rydr/game-sdk 10.0.0 → 11.1.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 +42 -6
- package/dist/client/PlatformClient.d.ts +33 -0
- package/dist/client/PlatformClient.d.ts.map +1 -1
- package/dist/client/PlatformClient.js +65 -15
- package/dist/client/PlatformClient.js.map +1 -1
- package/dist/client/captureEncoder.d.ts +50 -0
- package/dist/client/captureEncoder.d.ts.map +1 -0
- package/dist/client/captureEncoder.js +247 -0
- package/dist/client/captureEncoder.js.map +1 -0
- package/dist/host/PlatformHost.d.ts +17 -0
- package/dist/host/PlatformHost.d.ts.map +1 -1
- package/dist/host/PlatformHost.js +26 -1
- package/dist/host/PlatformHost.js.map +1 -1
- package/dist/protocol/buttons.d.ts +7 -51
- package/dist/protocol/buttons.d.ts.map +1 -1
- package/dist/protocol/buttons.js +0 -72
- package/dist/protocol/buttons.js.map +1 -1
- package/dist/protocol/glyphs.d.ts +2 -2
- package/dist/protocol/glyphs.d.ts.map +1 -1
- package/dist/protocol/glyphs.js +25 -14
- package/dist/protocol/glyphs.js.map +1 -1
- package/dist/protocol/guards.d.ts.map +1 -1
- package/dist/protocol/guards.js +1 -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 +40 -2
- package/dist/protocol/messages.d.ts.map +1 -1
- package/dist/protocol/screen.d.ts +87 -0
- package/dist/protocol/screen.d.ts.map +1 -0
- package/dist/protocol/screen.js +36 -0
- package/dist/protocol/screen.js.map +1 -0
- package/dist/protocol/version.d.ts +2 -2
- package/dist/protocol/version.d.ts.map +1 -1
- package/dist/protocol/version.js +24 -2
- package/dist/protocol/version.js.map +1 -1
- package/dist/ui/README.md +11 -13
- 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 +9 -8
- package/dist/ui/controller/controller-pad.d.ts.map +1 -1
- package/dist/ui/controller/controller-pad.js +31 -6
- package/dist/ui/controller/controller-pad.js.map +1 -1
- package/dist/ui/controller/input-chip.d.ts +3 -5
- package/dist/ui/controller/input-chip.d.ts.map +1 -1
- package/dist/ui/controller/input-chip.js +15 -51
- 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 +10 -7
- package/dist/ui/controller/live-presses.d.ts.map +1 -1
- package/dist/ui/controller/live-presses.js +13 -4
- package/dist/ui/controller/live-presses.js.map +1 -1
- package/dist/ui/controller/pad-svg.d.ts +10 -11
- package/dist/ui/controller/pad-svg.d.ts.map +1 -1
- package/dist/ui/controller/pad-svg.js +11 -19
- package/dist/ui/controller/pad-svg.js.map +1 -1
- package/dist/ui/controller/parts-map.d.ts +8 -9
- package/dist/ui/controller/parts-map.d.ts.map +1 -1
- package/dist/ui/controller/parts-map.js +14 -30
- 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 +9 -14
- 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.js +1 -1
- 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 +19 -21
- package/dist/ui/showcase/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -21,12 +21,10 @@
|
|
|
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 LEFT stick once it
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
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.
|
|
24
|
+
* - **Directions** — `UP`/`DOWN`/`LEFT`/`RIGHT`: the D-pad / arrow keys, **and** the LEFT stick once it
|
|
25
|
+
* deflects past the platform's deadzone. One name per direction whichever produced it — a held
|
|
26
|
+
* direction stays held until *every* source lets go — so a game that only needs "move" reads these
|
|
27
|
+
* four and works on every device.
|
|
30
28
|
* - **Right-stick directions** — `RUP`/`RDOWN`/`RLEFT`/`RRIGHT`: the same four edges for the RIGHT stick,
|
|
31
29
|
* fired once it deflects past the platform's deadzone. Kept separate from the D-pad's so a dual-stick
|
|
32
30
|
* game can tell *move* (`LEFT`/`RIGHT`…) from *aim* (`RLEFT`/`RRIGHT`…) without touching the analog
|
|
@@ -51,17 +49,6 @@
|
|
|
51
49
|
* They are plain **clicks** — the hardware has no analog trigger travel, so there is no trigger
|
|
52
50
|
* {@link AxisName}; `isDown("LT")` / `onButton` is the only way to read them. Not every controller
|
|
53
51
|
* 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}.
|
|
65
52
|
* - **Stick presses** — `LSTICK_PRESS`/`RSTICK_PRESS`, emitted when a joystick is clicked straight down.
|
|
66
53
|
* Like the triggers they carry no built-in meaning (crouch, recentre the camera, sprint) and most
|
|
67
54
|
* controllers can't produce them at all, so use them only as a shortcut for something already
|
|
@@ -73,43 +60,12 @@
|
|
|
73
60
|
*
|
|
74
61
|
* Devices with fewer than four face buttons (e.g. a phone) expose at least the
|
|
75
62
|
* `DIAMOND_DOWN`/`DIAMOND_RIGHT` confirm/back pair — don't require `DIAMOND_UP`/`DIAMOND_LEFT`,
|
|
76
|
-
* `LT`/`RT`,
|
|
77
|
-
*
|
|
63
|
+
* `LT`/`RT`, the right-stick `R*` directions, a stick press, or `OPTIONS` for a flow that must work on
|
|
64
|
+
* every input.
|
|
78
65
|
*/
|
|
79
|
-
export type ButtonName = "UP" | "DOWN" | "LEFT" | "RIGHT" | "RUP" | "RDOWN" | "RLEFT" | "RRIGHT" | "DIAMOND_UP" | "DIAMOND_DOWN" | "DIAMOND_LEFT" | "DIAMOND_RIGHT" | "LT" | "RT" | "
|
|
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";
|
|
80
67
|
/** Press = "down", release = "up". A held button emits one of each. */
|
|
81
68
|
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
|
-
};
|
|
113
69
|
/**
|
|
114
70
|
* Canonical, source-agnostic controller **AXES** — the analog counterpart to {@link ButtonName}.
|
|
115
71
|
*
|
|
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,MAAM,MAAM,UAAU,GAElB,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,cAAc,GACd,cAAc,GAGd,SAAS,CAAC;AAEd,uEAAuE;AACvE,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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,75 +1,3 @@
|
|
|
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
|
-
}
|
|
73
1
|
/**
|
|
74
2
|
* Keyboard → canonical button map for desktop play.
|
|
75
3
|
*
|
|
@@ -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":"AAyJA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,MAAM,aAAa,GAAyC;IACjE,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,OAAO;IACnB,oEAAoE;IACpE,GAAG,EAAE,cAAc;IACnB,KAAK,EAAE,cAAc;IACrB,MAAM,EAAE,eAAe;IACvB,SAAS,EAAE,eAAe;IAC1B,qFAAqF;IACrF,gCAAgC;IAChC,CAAC,EAAE,YAAY;IACf,CAAC,EAAE,YAAY;IACf,CAAC,EAAE,cAAc;IACjB,CAAC,EAAE,cAAc;IACjB,CAAC,EAAE,eAAe;IAClB,CAAC,EAAE,eAAe;IAClB,CAAC,EAAE,cAAc;IACjB,CAAC,EAAE,cAAc;IACjB,6DAA6D;IAC7D,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,IAAI;IACP,0FAA0F;IAC1F,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,SAAS;CACb,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY,CAAC,IAAc,EAAE,IAA6B;IACxE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAED,uFAAuF;AACvF,MAAM,CAAC,MAAM,UAAU,GAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAExE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAyC;IACzE,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,cAAc;IACvB,OAAO,EAAE,cAAc;CACxB,CAAC"}
|
|
@@ -47,8 +47,8 @@ export declare function isDiamondButton(name: ButtonName): boolean;
|
|
|
47
47
|
/**
|
|
48
48
|
* The label printed on an upper shoulder button for `set` — `("playstation", "left")` → `"L1"`.
|
|
49
49
|
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
50
|
+
* Use it when naming the rider's resistance controls. Like {@link buttonLabel}, this is the only place
|
|
51
|
+
* allowed to know these strings; never hard-code `"L1"` in a prompt.
|
|
52
52
|
*/
|
|
53
53
|
export declare function bumperLabel(set: GlyphSet, side: "left" | "right"): string;
|
|
54
54
|
//# sourceMappingURL=glyphs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glyphs.d.ts","sourceRoot":"","sources":["../../src/protocol/glyphs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,aAAa,GAAG,UAAU,GAAG,OAAO,CAAC;AAErE,0DAA0D;AAC1D,eAAO,MAAM,iBAAiB,EAAE,QAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"glyphs.d.ts","sourceRoot":"","sources":["../../src/protocol/glyphs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,aAAa,GAAG,UAAU,GAAG,OAAO,CAAC;AAErE,0DAA0D;AAC1D,eAAO,MAAM,iBAAiB,EAAE,QAAiB,CAAC;AA4DlD;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CAGnE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAEzD;AAoBD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAEzE"}
|
package/dist/protocol/glyphs.js
CHANGED
|
@@ -32,18 +32,12 @@ const FACE = {
|
|
|
32
32
|
nintendo: /* */ { DIAMOND_DOWN: "B", DIAMOND_RIGHT: "A", DIAMOND_LEFT: "Y", DIAMOND_UP: "X" },
|
|
33
33
|
zwift: /* */ { DIAMOND_DOWN: "B", DIAMOND_RIGHT: "A", DIAMOND_LEFT: "Z", DIAMOND_UP: "Y" },
|
|
34
34
|
};
|
|
35
|
-
/**
|
|
36
|
-
* Shoulders and stick clicks. Directions are omitted — they are the same arrows everywhere.
|
|
37
|
-
*
|
|
38
|
-
* `LEFTANY` / `RIGHTANY` (either shoulder on that side, protocol 44) print both names, so a prompt
|
|
39
|
-
* tells the rider they may pull either one.
|
|
40
|
-
*/
|
|
35
|
+
/** Shoulders and stick clicks. Directions are omitted — they are the same arrows everywhere. */
|
|
41
36
|
const SHOULDERS = {
|
|
42
|
-
xbox: {
|
|
43
|
-
playstation: {
|
|
44
|
-
nintendo: {
|
|
45
|
-
|
|
46
|
-
zwift: { LB: "LB", RB: "RB", LT: "LT", RT: "RT", LEFTANY: "LB/LT", RIGHTANY: "RB/RT", LSTICK_PRESS: "LS", RSTICK_PRESS: "RS" },
|
|
37
|
+
xbox: { LT: "LT", RT: "RT", LSTICK_PRESS: "LS", RSTICK_PRESS: "RS" },
|
|
38
|
+
playstation: { LT: "L2", RT: "R2", LSTICK_PRESS: "L3", RSTICK_PRESS: "R3" },
|
|
39
|
+
nintendo: { LT: "ZL", RT: "ZR", LSTICK_PRESS: "L", RSTICK_PRESS: "R" },
|
|
40
|
+
zwift: { LT: "LT", RT: "RT", LSTICK_PRESS: "LS", RSTICK_PRESS: "RS" },
|
|
47
41
|
};
|
|
48
42
|
/**
|
|
49
43
|
* The small SYSTEM button — `OPTIONS`, the game's own menu button (never the platform's overlay, which
|
|
@@ -99,13 +93,30 @@ export function buttonLabel(set, name) {
|
|
|
99
93
|
export function isDiamondButton(name) {
|
|
100
94
|
return name in FACE[DEFAULT_GLYPH_SET];
|
|
101
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* The UPPER shoulder buttons — the ones that are NOT game input.
|
|
98
|
+
*
|
|
99
|
+
* They deliberately have no {@link ButtonName}: on this platform the upper shoulders are the rider's
|
|
100
|
+
* trainer resistance − / + and are handled by the shell, never delivered to a game (see the shell-owned
|
|
101
|
+
* keys in `protocol/buttons.ts`). They still need lettering, though, because the shell has to *name*
|
|
102
|
+
* them when teaching a rider where they are — and because the controller drawing prints them.
|
|
103
|
+
*
|
|
104
|
+
* Separate from {@link SHOULDERS}, which covers the lower triggers a game DOES receive (`LT`/`RT`).
|
|
105
|
+
*/
|
|
106
|
+
const BUMPERS = {
|
|
107
|
+
xbox: { left: "LB", right: "RB" },
|
|
108
|
+
playstation: { left: "L1", right: "R1" },
|
|
109
|
+
nintendo: { left: "L", right: "R" },
|
|
110
|
+
// Zwift Play has no lettering on its paddles at all, so say what they DO.
|
|
111
|
+
zwift: { left: "−", right: "+" },
|
|
112
|
+
};
|
|
102
113
|
/**
|
|
103
114
|
* The label printed on an upper shoulder button for `set` — `("playstation", "left")` → `"L1"`.
|
|
104
115
|
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
116
|
+
* Use it when naming the rider's resistance controls. Like {@link buttonLabel}, this is the only place
|
|
117
|
+
* allowed to know these strings; never hard-code `"L1"` in a prompt.
|
|
107
118
|
*/
|
|
108
119
|
export function bumperLabel(set, side) {
|
|
109
|
-
return
|
|
120
|
+
return (BUMPERS[set] ?? BUMPERS[DEFAULT_GLYPH_SET])[side];
|
|
110
121
|
}
|
|
111
122
|
//# sourceMappingURL=glyphs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glyphs.js","sourceRoot":"","sources":["../../src/protocol/glyphs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAcH,0DAA0D;AAC1D,MAAM,CAAC,MAAM,iBAAiB,GAAa,MAAM,CAAC;AAElD;;;;;;;GAOG;AACH,MAAM,IAAI,GAAiE;IACzE,2DAA2D;IAC3D,IAAI,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE;IAChG,WAAW,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE;IAChG,QAAQ,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE;IAChG,KAAK,EAAE,WAAW,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE;CACjG,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"glyphs.js","sourceRoot":"","sources":["../../src/protocol/glyphs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../src/protocol/guards.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EACV,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../src/protocol/guards.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EACV,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,eAAe,CAAC;AAoEvB,+CAA+C;AAC/C,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,WAAW,CAI1D;AAED,0FAA0F;AAC1F,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,qBAAqB,CAE9E;AAED,8FAA8F;AAC9F,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,qBAAqB,CAE9E"}
|
package/dist/protocol/guards.js
CHANGED
|
@@ -44,6 +44,7 @@ const PLATFORM_TO_GAME = {
|
|
|
44
44
|
"rydr/asset.uploadUrlResult": true,
|
|
45
45
|
"rydr/voiceover.generateResult": true,
|
|
46
46
|
"rydr/media.uploadUrlResult": true,
|
|
47
|
+
"rydr/screen.captureResult": true,
|
|
47
48
|
"rydr/replay.result": true,
|
|
48
49
|
"rydr/run.result": true,
|
|
49
50
|
"rydr/run.startResult": true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/protocol/guards.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;GAUG;AACH,MAAM,gBAAgB,GAAgD;IACpE,cAAc,EAAE,IAAI;IACpB,qBAAqB,EAAE,IAAI;IAC3B,0BAA0B,EAAE,IAAI;IAChC,2BAA2B,EAAE,IAAI;IACjC,kCAAkC,EAAE,IAAI;IACxC,6BAA6B,EAAE,IAAI;IACnC,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,IAAI;IACrB,iBAAiB,EAAE,IAAI;IACvB,mBAAmB,EAAE,IAAI;IACzB,eAAe,EAAE,IAAI;IACrB,qBAAqB,EAAE,IAAI;IAC3B,mBAAmB,EAAE,IAAI;IACzB,iBAAiB,EAAE,IAAI;IACvB,mBAAmB,EAAE,IAAI;IACzB,sBAAsB,EAAE,IAAI;IAC5B,sBAAsB,EAAE,IAAI;IAC5B,qBAAqB,EAAE,IAAI;IAC3B,qBAAqB,EAAE,IAAI;IAC3B,oBAAoB,EAAE,IAAI;IAC1B,qBAAqB,EAAE,IAAI;IAC3B,iBAAiB,EAAE,IAAI;IACvB,sBAAsB,EAAE,IAAI;IAC5B,uBAAuB,EAAE,IAAI;IAC7B,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,IAAI;IACtB,WAAW,EAAE,IAAI;IACjB,8BAA8B,EAAE,IAAI;IACpC,kCAAkC,EAAE,IAAI;IACxC,0BAA0B,EAAE,IAAI;IAChC,sBAAsB,EAAE,IAAI;IAC5B,4BAA4B,EAAE,IAAI;IAClC,+BAA+B,EAAE,IAAI;IACrC,4BAA4B,EAAE,IAAI;IAClC,oBAAoB,EAAE,IAAI;IAC1B,iBAAiB,EAAE,IAAI;IACvB,sBAAsB,EAAE,IAAI;IAC5B,qBAAqB,EAAE,IAAI;IAC3B,uBAAuB,EAAE,IAAI;IAC7B,sBAAsB,EAAE,IAAI;IAC5B,2BAA2B,EAAE,IAAI;IACjC,0BAA0B,EAAE,IAAI;IAChC,oBAAoB,EAAE,IAAI;IAC1B,kBAAkB,EAAE,IAAI;IACxB,kBAAkB,EAAE,IAAI;IACxB,oBAAoB,EAAE,IAAI;IAC1B,iBAAiB,EAAE,IAAI;IACvB,mBAAmB,EAAE,IAAI;IACzB,qBAAqB,EAAE,IAAI;IAC3B,iBAAiB,EAAE,IAAI;CACxB,CAAC;AACF,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAE3F,+CAA+C;AAC/C,MAAM,UAAU,aAAa,CAAC,CAAU;IACtC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,CAAC,GAAG,CAAuC,CAAC;IAClD,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACrF,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,uBAAuB,CAAC,CAAU;IAChD,OAAO,aAAa,CAAC,CAAC,CAAC,IAAI,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAChE,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,uBAAuB,CAAC,CAAU;IAChD,OAAO,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC"}
|
|
1
|
+
{"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/protocol/guards.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;GAUG;AACH,MAAM,gBAAgB,GAAgD;IACpE,cAAc,EAAE,IAAI;IACpB,qBAAqB,EAAE,IAAI;IAC3B,0BAA0B,EAAE,IAAI;IAChC,2BAA2B,EAAE,IAAI;IACjC,kCAAkC,EAAE,IAAI;IACxC,6BAA6B,EAAE,IAAI;IACnC,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,IAAI;IACrB,iBAAiB,EAAE,IAAI;IACvB,mBAAmB,EAAE,IAAI;IACzB,eAAe,EAAE,IAAI;IACrB,qBAAqB,EAAE,IAAI;IAC3B,mBAAmB,EAAE,IAAI;IACzB,iBAAiB,EAAE,IAAI;IACvB,mBAAmB,EAAE,IAAI;IACzB,sBAAsB,EAAE,IAAI;IAC5B,sBAAsB,EAAE,IAAI;IAC5B,qBAAqB,EAAE,IAAI;IAC3B,qBAAqB,EAAE,IAAI;IAC3B,oBAAoB,EAAE,IAAI;IAC1B,qBAAqB,EAAE,IAAI;IAC3B,iBAAiB,EAAE,IAAI;IACvB,sBAAsB,EAAE,IAAI;IAC5B,uBAAuB,EAAE,IAAI;IAC7B,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,IAAI;IACtB,WAAW,EAAE,IAAI;IACjB,8BAA8B,EAAE,IAAI;IACpC,kCAAkC,EAAE,IAAI;IACxC,0BAA0B,EAAE,IAAI;IAChC,sBAAsB,EAAE,IAAI;IAC5B,4BAA4B,EAAE,IAAI;IAClC,+BAA+B,EAAE,IAAI;IACrC,4BAA4B,EAAE,IAAI;IAClC,2BAA2B,EAAE,IAAI;IACjC,oBAAoB,EAAE,IAAI;IAC1B,iBAAiB,EAAE,IAAI;IACvB,sBAAsB,EAAE,IAAI;IAC5B,qBAAqB,EAAE,IAAI;IAC3B,uBAAuB,EAAE,IAAI;IAC7B,sBAAsB,EAAE,IAAI;IAC5B,2BAA2B,EAAE,IAAI;IACjC,0BAA0B,EAAE,IAAI;IAChC,oBAAoB,EAAE,IAAI;IAC1B,kBAAkB,EAAE,IAAI;IACxB,kBAAkB,EAAE,IAAI;IACxB,oBAAoB,EAAE,IAAI;IAC1B,iBAAiB,EAAE,IAAI;IACvB,mBAAmB,EAAE,IAAI;IACzB,qBAAqB,EAAE,IAAI;IAC3B,iBAAiB,EAAE,IAAI;CACxB,CAAC;AACF,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAE3F,+CAA+C;AAC/C,MAAM,UAAU,aAAa,CAAC,CAAU;IACtC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,CAAC,GAAG,CAAuC,CAAC;IAClD,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACrF,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,uBAAuB,CAAC,CAAU;IAChD,OAAO,aAAa,CAAC,CAAC,CAAC,IAAI,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAChE,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,uBAAuB,CAAC,CAAU;IAChD,OAAO,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC"}
|
package/dist/protocol/index.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export * from "./room.js";
|
|
|
16
16
|
export * from "./stages.js";
|
|
17
17
|
export * from "./rideHud.js";
|
|
18
18
|
export * from "./gameMenu.js";
|
|
19
|
+
export * from "./screen.js";
|
|
19
20
|
export * from "./messages.js";
|
|
20
21
|
export * from "./guards.js";
|
|
21
22
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/protocol/index.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/protocol/index.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC"}
|
package/dist/protocol/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/protocol/index.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/protocol/index.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC"}
|
|
@@ -25,6 +25,7 @@ import type { RoomMember, RoomCloseReason } from "./room.js";
|
|
|
25
25
|
import type { GameMenuSnapshot } from "./gameMenu.js";
|
|
26
26
|
import type { StageSpec, StageReport } from "./stages.js";
|
|
27
27
|
import type { RideHudArea, RideHudView } from "./rideHud.js";
|
|
28
|
+
import type { ScreenCaptureResult } from "./screen.js";
|
|
28
29
|
/** Marker present on every SDK message. */
|
|
29
30
|
interface RydrTagged {
|
|
30
31
|
readonly rydr: true;
|
|
@@ -319,6 +320,13 @@ export interface MediaUploadUrlMessage extends RydrTagged {
|
|
|
319
320
|
kind: "image" | "video";
|
|
320
321
|
filename: string;
|
|
321
322
|
contentType?: string;
|
|
323
|
+
/**
|
|
324
|
+
* Refuse rather than mint when nothing is recording (PLAT-1842): the reply then carries
|
|
325
|
+
* `reason: "no-activity"` and no URL, so nothing is uploaded that no activity points to. Sent by
|
|
326
|
+
* `captureScreen`'s game-side fallback; `captureMoment`/`captureClip` don't, and behave as before.
|
|
327
|
+
* Older hosts ignore it.
|
|
328
|
+
*/
|
|
329
|
+
requireActivity?: boolean;
|
|
322
330
|
}
|
|
323
331
|
/**
|
|
324
332
|
* Ask the shell to synthesise voice-over for one line and return a cached MP3 URL. The game can't
|
|
@@ -355,6 +363,18 @@ export interface MediaSavedMessage extends RydrTagged {
|
|
|
355
363
|
/** Clip length in ms (videos only). */
|
|
356
364
|
durationMs?: number;
|
|
357
365
|
}
|
|
366
|
+
/**
|
|
367
|
+
* Ask the shell to take a screenshot of the game, now (PLAT-1842). Sent only to a host whose
|
|
368
|
+
* `welcome` said `screenCapture`; the SDK answers locally otherwise. The shell grabs the frame,
|
|
369
|
+
* replies, and attaches the shot to the current activity in the background. Reply:
|
|
370
|
+
* {@link ScreenCaptureResultMessage}.
|
|
371
|
+
*/
|
|
372
|
+
export interface ScreenCaptureMessage extends RydrTagged {
|
|
373
|
+
type: "rydr/screen.capture";
|
|
374
|
+
nonce: number;
|
|
375
|
+
/** Caption for the moment. The host trims it and cuts it to `MAX_CAPTURE_LABEL`. */
|
|
376
|
+
label?: string;
|
|
377
|
+
}
|
|
358
378
|
/**
|
|
359
379
|
* Save a replay/ghost keyed by `runId`: the `blob` is the game's compressed frame time-series
|
|
360
380
|
* (base64; opaque at this layer — the SDK encodes a `ReplayFrame[]` into it), and `meta` is the
|
|
@@ -467,7 +487,7 @@ export interface RoomScheduleEventMessage extends RydrTagged {
|
|
|
467
487
|
at?: number;
|
|
468
488
|
}
|
|
469
489
|
import type { TrainingStateMessage, TrainingEffortMessage, TrainingDemandMessage, TrainingListMessage, TrainingListResultMessage, TrainingStartMessage, TrainingStartResultMessage, TrainingPlayOfferingMessage, TrainingPlayOfferingResultMessage, TrainingControlMessage, TrainingControlResultMessage } from "../training/protocol.js";
|
|
470
|
-
export type GameToPlatformMessage = TrainingEffortMessage | TrainingDemandMessage | TrainingListMessage | TrainingStartMessage | TrainingPlayOfferingMessage | TrainingControlMessage | HelloMessage | ReadyMessage | LoadProgressMessage | PongMessage | TrainerSetSimulationMessage | TrainerSetTargetPowerMessage | TrainerSetErgModeMessage | OverlaySetModeMessage | OverlayDefineBoxesMessage | OverlayRectsMessage | OverlayDraggingMessage | OverlayMoveBoxMessage | HwSetRateMessage | RouteChangedMessage | SetPowerBarMessage | SetRideHudMessage | SetActivityMessage | ExitRequestMessage | StageReportMessage | RequestHardwareModalMessage | GameErrorMessage | LeaderboardQueryMessage | LeaderboardRankQueryMessage | AdminBoardsMessage | RunSaveMessage | RunStartMessage | HapticsVibrateMessage | TrainerAdjustResistanceMessage | TrainerRequestFeelModeMessage | MenuToggleMessage | MenuRowsMessage | MenuRequestMessage | GameDataGetMessage | GameDataListMessage | GameDataSaveMessage | GameDataDeleteMessage | AssetUploadUrlMessage | VoiceoverGenerateMessage | MediaUploadUrlMessage | MediaSavedMessage | ReplaySaveMessage | ReplayGetMessage | RunGetMessage | WorldListMessage | WorldGetMessage | CharacterListMessage | CharacterGetMessage | RigGetMessage | RoomJoinMessage | RoomLeaveMessage | RoomSendMessage | RoomSetStateMessage | RoomScheduleEventMessage;
|
|
490
|
+
export type GameToPlatformMessage = TrainingEffortMessage | TrainingDemandMessage | TrainingListMessage | TrainingStartMessage | TrainingPlayOfferingMessage | TrainingControlMessage | HelloMessage | ReadyMessage | LoadProgressMessage | PongMessage | TrainerSetSimulationMessage | TrainerSetTargetPowerMessage | TrainerSetErgModeMessage | OverlaySetModeMessage | OverlayDefineBoxesMessage | OverlayRectsMessage | OverlayDraggingMessage | OverlayMoveBoxMessage | HwSetRateMessage | RouteChangedMessage | SetPowerBarMessage | SetRideHudMessage | SetActivityMessage | ExitRequestMessage | StageReportMessage | RequestHardwareModalMessage | GameErrorMessage | LeaderboardQueryMessage | LeaderboardRankQueryMessage | AdminBoardsMessage | RunSaveMessage | RunStartMessage | HapticsVibrateMessage | TrainerAdjustResistanceMessage | TrainerRequestFeelModeMessage | MenuToggleMessage | MenuRowsMessage | MenuRequestMessage | GameDataGetMessage | GameDataListMessage | GameDataSaveMessage | GameDataDeleteMessage | AssetUploadUrlMessage | VoiceoverGenerateMessage | MediaUploadUrlMessage | MediaSavedMessage | ScreenCaptureMessage | ReplaySaveMessage | ReplayGetMessage | RunGetMessage | WorldListMessage | WorldGetMessage | CharacterListMessage | CharacterGetMessage | RigGetMessage | RoomJoinMessage | RoomLeaveMessage | RoomSendMessage | RoomSetStateMessage | RoomScheduleEventMessage;
|
|
471
491
|
/** Accepts the handshake: grants capabilities and hands over the scoped identity. */
|
|
472
492
|
export interface WelcomeMessage extends RydrTagged {
|
|
473
493
|
/** Additive training support; absent on older hosts. */
|
|
@@ -493,6 +513,12 @@ export interface WelcomeMessage extends RydrTagged {
|
|
|
493
513
|
* on older hosts, which get the game's own overlay exactly as before.
|
|
494
514
|
*/
|
|
495
515
|
menuRows?: boolean;
|
|
516
|
+
/**
|
|
517
|
+
* Whether the host takes screenshots itself (PLAT-1842), i.e. answers `rydr/screen.capture` by
|
|
518
|
+
* grabbing the game's frame from its own window. Absent on older hosts and on any host that can't,
|
|
519
|
+
* such as a browser tab, where `captureScreen` falls back to the game's own canvas.
|
|
520
|
+
*/
|
|
521
|
+
screenCapture?: boolean;
|
|
496
522
|
type: "rydr/welcome";
|
|
497
523
|
protocolVersion: number;
|
|
498
524
|
grantedCapabilities: Capability[];
|
|
@@ -790,6 +816,18 @@ export interface MediaUploadUrlResultMessage extends RydrTagged {
|
|
|
790
816
|
uploadUrl?: string;
|
|
791
817
|
url?: string;
|
|
792
818
|
error?: string;
|
|
819
|
+
/**
|
|
820
|
+
* Why no URL was minted, when the reason is one a game should know (PLAT-1842): `no-activity`
|
|
821
|
+
* means the rider isn't recording, so a highlight would have nowhere to go. Only ever in reply to a
|
|
822
|
+
* request with `requireActivity`. Absent on older hosts.
|
|
823
|
+
*/
|
|
824
|
+
reason?: "no-activity";
|
|
825
|
+
}
|
|
826
|
+
/** Reply to {@link ScreenCaptureMessage}. */
|
|
827
|
+
export interface ScreenCaptureResultMessage extends RydrTagged {
|
|
828
|
+
type: "rydr/screen.captureResult";
|
|
829
|
+
nonce: number;
|
|
830
|
+
result: ScreenCaptureResult;
|
|
793
831
|
}
|
|
794
832
|
/** Reply to {@link ReplaySaveMessage} / {@link ReplayGetMessage} (matched by `nonce`):
|
|
795
833
|
* save→`ok`; get→`blob`+`meta` (`null` when not found). `error` set on failure. */
|
|
@@ -946,7 +984,7 @@ export interface OverlayLayoutMessage extends RydrTagged {
|
|
|
946
984
|
type: "rydr/overlay.layout";
|
|
947
985
|
placements: Record<string, OverlayBoxPlacement>;
|
|
948
986
|
}
|
|
949
|
-
export type PlatformToGameMessage = TrainingStateMessage | TrainingListResultMessage | TrainingStartResultMessage | TrainingPlayOfferingResultMessage | TrainingControlResultMessage | WelcomeMessage | RejectMessage | PowerMessage | CadenceMessage | HeartRateMessage | SpeedMessage | PowerBufferMessage | InputButtonMessage | InputAxisMessage | AudioSetMasterMessage | IdentityUpdateMessage | RideHudAreaMessage | TrainerStatusMessage | OverlayStateMessage | OverlayLayoutMessage | InputStatusMessage | StagePlayMessage | LifecyclePauseMessage | LifecycleResumeMessage | MenuStateMessage | MenuPickMessage | PingMessage | LeaderboardQueryResultMessage | LeaderboardRankQueryResultMessage | AdminBoardsResultMessage | GameDataResultMessage | AssetUploadUrlResultMessage | VoiceoverGenerateResultMessage | MediaUploadUrlResultMessage | ReplayResultMessage | RunGetResultMessage | RunStartResultMessage | RunSaveResultMessage | WorldListResultMessage | WorldGetResultMessage | CharacterListResultMessage | CharacterGetResultMessage | RigGetResultMessage | RoomOpenedMessage | RoomClosedMessage | RoomPresenceMessage | RoomStateMessage | RoomMessageMessage | RoomTelemetryMessage | RoomEventMessage;
|
|
987
|
+
export type PlatformToGameMessage = TrainingStateMessage | TrainingListResultMessage | TrainingStartResultMessage | TrainingPlayOfferingResultMessage | TrainingControlResultMessage | WelcomeMessage | RejectMessage | PowerMessage | CadenceMessage | HeartRateMessage | SpeedMessage | PowerBufferMessage | InputButtonMessage | InputAxisMessage | AudioSetMasterMessage | IdentityUpdateMessage | RideHudAreaMessage | TrainerStatusMessage | OverlayStateMessage | OverlayLayoutMessage | InputStatusMessage | StagePlayMessage | LifecyclePauseMessage | LifecycleResumeMessage | MenuStateMessage | MenuPickMessage | PingMessage | LeaderboardQueryResultMessage | LeaderboardRankQueryResultMessage | AdminBoardsResultMessage | GameDataResultMessage | AssetUploadUrlResultMessage | VoiceoverGenerateResultMessage | MediaUploadUrlResultMessage | ScreenCaptureResultMessage | ReplayResultMessage | RunGetResultMessage | RunStartResultMessage | RunSaveResultMessage | WorldListResultMessage | WorldGetResultMessage | CharacterListResultMessage | CharacterGetResultMessage | RigGetResultMessage | RoomOpenedMessage | RoomClosedMessage | RoomPresenceMessage | RoomStateMessage | RoomMessageMessage | RoomTelemetryMessage | RoomEventMessage;
|
|
950
988
|
/** Any message in the protocol. */
|
|
951
989
|
export type RydrMessage = GameToPlatformMessage | PlatformToGameMessage;
|
|
952
990
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/protocol/messages.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/protocol/messages.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Screenshots a game asks for (PLAT-1842).
|
|
3
|
+
*
|
|
4
|
+
* A game knows when a moment is worth keeping — the podium after a five-rider race, an overtake on
|
|
5
|
+
* the line — and the platform knows how to take the picture and where it belongs. So the game only
|
|
6
|
+
* says WHEN, with `session.captureScreen({ label })`, and the shot lands in the Highlights of the
|
|
7
|
+
* rider's current activity, where they can share it.
|
|
8
|
+
*
|
|
9
|
+
* TWO WAYS THE PICTURE GETS TAKEN, and the game does not choose between them.
|
|
10
|
+
*
|
|
11
|
+
* - **By the shell** (`welcome.screenCapture`, today the desktop app). The shell grabs the game's
|
|
12
|
+
* frame from the composited window: the canvas, any HTML drawn over it, and the shell's own
|
|
13
|
+
* overlays — exactly what the rider sees. The read-back and the encode happen outside the game's
|
|
14
|
+
* process, so the game's cost is one `postMessage`. No `preserveDrawingBuffer` needed.
|
|
15
|
+
* - **By the game** (every other host, when the game passes `fallback`). A browser tab cannot read a
|
|
16
|
+
* cross-origin iframe's pixels without prompting the rider, so the SDK snapshots the canvas the
|
|
17
|
+
* game handed it (`createImageBitmap`, a GPU-side copy taken synchronously at the call) and does
|
|
18
|
+
* the downscale, the JPEG encode and the upload on a worker. Only the canvas is in the shot.
|
|
19
|
+
*
|
|
20
|
+
* Best-effort, by design: a game never needs to know a shot was taken, so the call never rejects and
|
|
21
|
+
* a refusal is an ordinary value. Ignore it or log it; don't show an error over it.
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Why no screenshot was taken. Stable, never localized. All five exist from the first version that
|
|
25
|
+
* has screenshots, so an exhaustive `switch` over them stays exhaustive.
|
|
26
|
+
*
|
|
27
|
+
* - `unsupported` — this host cannot take one, and the game passed no `fallback`. Answered locally,
|
|
28
|
+
* without asking the shell.
|
|
29
|
+
* - `no-activity` — the rider is playing without recording, so there is no activity to attach the
|
|
30
|
+
* shot to. Nothing is uploaded.
|
|
31
|
+
* - `rate-limited` — too soon after the last one, or this activity already has as many as the shell
|
|
32
|
+
* keeps. Shoot the moments that matter, not every frame.
|
|
33
|
+
* - `obscured` — the shell's own UI (its menu, a prompt) is over the game right now, so a shot would
|
|
34
|
+
* picture that rather than the game.
|
|
35
|
+
* - `failed` — the host tried and something broke; `error` says what. A game-side shot whose canvas
|
|
36
|
+
* had nothing drawn on it (a WebGL buffer read after its frame was shown) is `failed` with an
|
|
37
|
+
* `error` starting "blank frame", and nothing is uploaded.
|
|
38
|
+
*/
|
|
39
|
+
export type ScreenCaptureRefusal = "unsupported" | "no-activity" | "rate-limited" | "obscured" | "failed";
|
|
40
|
+
/**
|
|
41
|
+
* What `session.captureScreen` resolved to.
|
|
42
|
+
*
|
|
43
|
+
* `ok` means the frame was TAKEN, not that it has finished uploading: the upload carries on in the
|
|
44
|
+
* background and a shot that fails to upload is dropped quietly. `by` says who took it, which tells
|
|
45
|
+
* the game what is in the picture — `shell` includes HTML over the canvas, `game` is the canvas only.
|
|
46
|
+
*
|
|
47
|
+
* There is deliberately no URL: the stored image's address is the platform's business, and the game
|
|
48
|
+
* has nothing to do with it.
|
|
49
|
+
*/
|
|
50
|
+
export type ScreenCaptureResult = {
|
|
51
|
+
ok: true;
|
|
52
|
+
by: "shell" | "game";
|
|
53
|
+
} | {
|
|
54
|
+
ok: false;
|
|
55
|
+
reason: ScreenCaptureRefusal;
|
|
56
|
+
error?: string;
|
|
57
|
+
};
|
|
58
|
+
/** What a game passes to `session.captureScreen(...)`. */
|
|
59
|
+
export interface ScreenCaptureOptions {
|
|
60
|
+
/**
|
|
61
|
+
* A short caption for the moment ("Podium", "Overtake"), shown under the shot in the rider's
|
|
62
|
+
* Highlights. Trimmed and cut to {@link MAX_CAPTURE_LABEL} characters.
|
|
63
|
+
*/
|
|
64
|
+
label?: string;
|
|
65
|
+
/**
|
|
66
|
+
* What to picture when the host cannot take the shot itself (`session.canCaptureScreen` is false):
|
|
67
|
+
* the game's canvas, or a `Blob` image the game already made. Without it, such a host answers
|
|
68
|
+
* `unsupported`.
|
|
69
|
+
*
|
|
70
|
+
* The canvas is snapshotted synchronously, at the call. A WebGL canvas reads back blank once its
|
|
71
|
+
* frame has been presented, so the call has to land after a render and before the browser shows
|
|
72
|
+
* it — and then you do not need `preserveDrawingBuffer`. Either call it right after
|
|
73
|
+
* `renderer.render(scene, camera)`, or, from code outside a loop that renders every frame, inside
|
|
74
|
+
* `requestAnimationFrame(...)`: your loop registered its callback for that frame first, so it has
|
|
75
|
+
* drawn by the time yours runs.
|
|
76
|
+
*/
|
|
77
|
+
fallback?: HTMLCanvasElement | OffscreenCanvas | Blob;
|
|
78
|
+
}
|
|
79
|
+
/** The longest {@link ScreenCaptureOptions.label} the host keeps. */
|
|
80
|
+
export declare const MAX_CAPTURE_LABEL = 40;
|
|
81
|
+
/**
|
|
82
|
+
* Normalise a label that arrived over the wire: a string, trimmed, cut to {@link MAX_CAPTURE_LABEL};
|
|
83
|
+
* anything else, or an empty string, is no label. The host applies this, since a game's message is
|
|
84
|
+
* untrusted input.
|
|
85
|
+
*/
|
|
86
|
+
export declare function cleanCaptureLabel(label: unknown): string | undefined;
|
|
87
|
+
//# sourceMappingURL=screen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../src/protocol/screen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG,aAAa,GAAG,cAAc,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE1G;;;;;;;;;GASG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAAA;CAAE,GAClC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,oBAAoB,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhE,0DAA0D;AAC1D,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,iBAAiB,GAAG,eAAe,GAAG,IAAI,CAAC;CACvD;AAED,qEAAqE;AACrE,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAIpE"}
|