@rydr/game-sdk 8.3.0 → 8.5.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/client/Room.d.ts +3 -6
- package/dist/client/Room.d.ts.map +1 -1
- package/dist/client/Room.js +149 -58
- package/dist/client/Room.js.map +1 -1
- package/dist/protocol/version.d.ts +1 -1
- package/dist/protocol/version.js +1 -1
- package/dist/ui/README.md +20 -11
- package/dist/ui/controller/combo-demo.d.ts +0 -3
- package/dist/ui/controller/combo-demo.d.ts.map +1 -1
- package/dist/ui/controller/combo-demo.js +7 -1
- package/dist/ui/controller/combo-demo.js.map +1 -1
- package/dist/ui/controller/control-spotlight.d.ts.map +1 -1
- package/dist/ui/controller/control-spotlight.js +8 -0
- package/dist/ui/controller/control-spotlight.js.map +1 -1
- package/dist/ui/controller/control-trainer.d.ts +3 -11
- package/dist/ui/controller/control-trainer.d.ts.map +1 -1
- package/dist/ui/controller/control-trainer.js +1 -1
- package/dist/ui/controller/control-trainer.js.map +1 -1
- package/dist/ui/controller/controller-map.d.ts +0 -3
- package/dist/ui/controller/controller-map.d.ts.map +1 -1
- package/dist/ui/controller/controller-map.js +0 -1
- package/dist/ui/controller/controller-map.js.map +1 -1
- package/dist/ui/controller/controller-pad.d.ts +35 -10
- package/dist/ui/controller/controller-pad.d.ts.map +1 -1
- package/dist/ui/controller/controller-pad.js +23 -8
- package/dist/ui/controller/controller-pad.js.map +1 -1
- package/dist/ui/controller/input-chip.d.ts +4 -26
- package/dist/ui/controller/input-chip.d.ts.map +1 -1
- package/dist/ui/controller/input-chip.js +107 -106
- package/dist/ui/controller/input-chip.js.map +1 -1
- package/dist/ui/controller/live-presses.d.ts +11 -0
- package/dist/ui/controller/live-presses.d.ts.map +1 -1
- package/dist/ui/controller/live-presses.js +3 -1
- package/dist/ui/controller/live-presses.js.map +1 -1
- package/dist/ui/controller/styles.js +81 -29
- package/dist/ui/controller/styles.js.map +1 -1
- package/dist/ui/controller/types.d.ts +2 -1
- package/dist/ui/controller/types.d.ts.map +1 -1
- package/dist/ui/controller/types.js.map +1 -1
- package/dist/ui/keycap.d.ts +19 -0
- package/dist/ui/keycap.d.ts.map +1 -1
- package/dist/ui/keycap.js +4 -1
- package/dist/ui/keycap.js.map +1 -1
- package/dist/ui/labeled-diamond.d.ts +12 -1
- package/dist/ui/labeled-diamond.d.ts.map +1 -1
- package/dist/ui/labeled-diamond.js +6 -3
- package/dist/ui/labeled-diamond.js.map +1 -1
- package/dist/ui/power-race.d.ts +84 -3
- package/dist/ui/power-race.d.ts.map +1 -1
- package/dist/ui/power-race.js +98 -41
- package/dist/ui/power-race.js.map +1 -1
- package/dist/ui/showcase/index.d.ts.map +1 -1
- package/dist/ui/showcase/index.js +23 -132
- package/dist/ui/showcase/index.js.map +1 -1
- package/dist/ui/styles.js +17 -5
- package/dist/ui/styles.js.map +1 -1
- package/package.json +2 -1
package/dist/client/Room.d.ts
CHANGED
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
* (which owns the hardware + identity) is the sole socket writer. That's what makes presence and
|
|
8
8
|
* {@link RoomTelemetry} trustworthy — a game can't forge another player's identity or wattage.
|
|
9
9
|
* - **direct WS** ({@link createRoom}) — the SHELL side. The shell opens the real socket to the
|
|
10
|
-
* `room` party, relays the game's `send`/`setState`, and injects trusted telemetry.
|
|
10
|
+
* `room` party, relays the game's `send`/`setState`, and injects trusted telemetry. It RECONNECTS
|
|
11
|
+
* on its own (jittered backoff): a wifi blip or a PartyKit redeploy used to strand a live race
|
|
12
|
+
* with no rivals and no recovery short of a page reload.
|
|
11
13
|
* - **loopback** ({@link createLoopbackRoom}) — standalone dev with no shell/backend.
|
|
12
14
|
*
|
|
13
15
|
* Wire protocol (kept in sync with `party/room.ts`):
|
|
@@ -69,11 +71,6 @@ interface RoomOptions {
|
|
|
69
71
|
/** Max distinct players the room admits (passed to the server). */
|
|
70
72
|
max?: number;
|
|
71
73
|
}
|
|
72
|
-
/**
|
|
73
|
-
* Open a room WebSocket directly — used by the SHELL (the trusted socket owner). Returns a
|
|
74
|
-
* {@link ShellRoomHandle} so the shell can also inject telemetry. Games do NOT call this; they use
|
|
75
|
-
* `session.joinRoom()`, which relays through the shell.
|
|
76
|
-
*/
|
|
77
74
|
export declare function createRoom(opts: RoomOptions): ShellRoomHandle;
|
|
78
75
|
/** A platform→game room message, already narrowed to one room by the SDK before dispatch into a
|
|
79
76
|
* relay handle. (Distinct from {@link RoomEvent}, which is the game-facing orchestration event.) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Room.d.ts","sourceRoot":"","sources":["../../src/client/Room.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Room.d.ts","sourceRoot":"","sources":["../../src/client/Room.ts"],"names":[],"mappings":"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"}
|
package/dist/client/Room.js
CHANGED
|
@@ -13,17 +13,19 @@ function wsProtocol(host) {
|
|
|
13
13
|
return /^(localhost|127\.|0\.0\.0\.0|192\.168\.|10\.)/.test(host) ? "ws" : "wss";
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* `session.joinRoom()`, which relays through the shell.
|
|
16
|
+
* Backoff bounds for re-opening a dropped room socket. Jittered so a PartyKit redeploy — which drops
|
|
17
|
+
* every socket in a room at the same instant — doesn't bring them all back in lockstep.
|
|
19
18
|
*/
|
|
19
|
+
const RECONNECT_MIN_MS = 1_000;
|
|
20
|
+
const RECONNECT_MAX_MS = 30_000;
|
|
21
|
+
/** Outbound messages buffered while the FIRST connection is still opening. */
|
|
22
|
+
const CONNECTING_QUEUE_MAX = 32;
|
|
20
23
|
export function createRoom(opts) {
|
|
21
24
|
const room = `${opts.gameId}:${opts.roomId}`;
|
|
22
25
|
const params = new URLSearchParams({ playerId: opts.playerId, name: opts.name ?? "" });
|
|
23
26
|
if (opts.max && opts.max > 0)
|
|
24
27
|
params.set("max", String(opts.max));
|
|
25
28
|
const url = `${wsProtocol(opts.host)}://${opts.host}/parties/room/${encodeURIComponent(room)}?${params}`;
|
|
26
|
-
const ws = new WebSocket(url);
|
|
27
29
|
let members = [];
|
|
28
30
|
let state = {};
|
|
29
31
|
const listeners = makeListeners();
|
|
@@ -31,63 +33,143 @@ export function createRoom(opts) {
|
|
|
31
33
|
for (const cb of listeners[event] ?? [])
|
|
32
34
|
cb(...args);
|
|
33
35
|
};
|
|
34
|
-
ws
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
36
|
+
let ws = null;
|
|
37
|
+
let retryTimer = null;
|
|
38
|
+
let retryDelay = RECONNECT_MIN_MS;
|
|
39
|
+
/** Set by {@link RoomHandle.leave} (or a capacity rejection): stop reconnecting for good. */
|
|
40
|
+
let done = false;
|
|
41
|
+
/** Messages held while the first socket is still CONNECTING (sub-second), flushed on open. */
|
|
42
|
+
let connectingQueue = [];
|
|
43
|
+
/**
|
|
44
|
+
* Merged state patches not yet delivered. Survives a disconnect on purpose: room state is
|
|
45
|
+
* last-write-wins per key, so re-sending the merge after a reconnect is exactly right — and it is
|
|
46
|
+
* what heals a room whose in-memory state was lost when its Durable Object was recycled.
|
|
47
|
+
*/
|
|
48
|
+
let pendingState = null;
|
|
49
|
+
const send = (obj) => {
|
|
50
|
+
if (ws?.readyState !== WebSocket.OPEN)
|
|
51
|
+
return false;
|
|
52
|
+
ws.send(JSON.stringify(obj));
|
|
53
|
+
return true;
|
|
54
|
+
};
|
|
55
|
+
const connect = () => {
|
|
56
|
+
if (done)
|
|
57
|
+
return;
|
|
58
|
+
const sock = new WebSocket(url);
|
|
59
|
+
ws = sock;
|
|
60
|
+
sock.addEventListener("open", () => {
|
|
61
|
+
retryDelay = RECONNECT_MIN_MS;
|
|
62
|
+
// Anything queued during the initial connect, then the coalesced state merge. Order matters:
|
|
63
|
+
// a queued patch is older than `pendingState`, which already contains it.
|
|
64
|
+
const queued = connectingQueue;
|
|
65
|
+
connectingQueue = [];
|
|
66
|
+
for (const obj of queued)
|
|
67
|
+
send(obj);
|
|
68
|
+
if (pendingState) {
|
|
69
|
+
const patch = pendingState;
|
|
70
|
+
pendingState = null;
|
|
71
|
+
if (!send({ t: "state", patch }))
|
|
72
|
+
pendingState = patch;
|
|
73
|
+
}
|
|
74
|
+
fire("open");
|
|
75
|
+
});
|
|
76
|
+
sock.addEventListener("close", () => {
|
|
77
|
+
// A socket we already replaced (or left) must not drive reconnection or events.
|
|
78
|
+
if (ws !== sock)
|
|
79
|
+
return;
|
|
80
|
+
ws = null;
|
|
81
|
+
fire("close");
|
|
82
|
+
scheduleReconnect();
|
|
83
|
+
});
|
|
84
|
+
// A failed handshake fires `error` then `close`; the close handler owns the retry.
|
|
85
|
+
sock.addEventListener("error", () => {
|
|
86
|
+
if (ws === sock)
|
|
87
|
+
console.warn(`[rydr-sdk] room socket error: ${room}`);
|
|
88
|
+
});
|
|
89
|
+
sock.addEventListener("message", (e) => {
|
|
90
|
+
let msg;
|
|
91
|
+
try {
|
|
92
|
+
msg = JSON.parse(typeof e.data === "string" ? e.data : "");
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
switch (msg.t) {
|
|
98
|
+
case "hello":
|
|
99
|
+
// Every connection re-syncs from scratch, so a reconnect needs no catch-up of its own.
|
|
100
|
+
state = msg.state ?? {};
|
|
101
|
+
members = msg.members ?? [];
|
|
102
|
+
fire("presence", members);
|
|
103
|
+
fire("state", state);
|
|
104
|
+
break;
|
|
105
|
+
case "presence":
|
|
106
|
+
members = msg.members ?? [];
|
|
107
|
+
fire("presence", members);
|
|
108
|
+
break;
|
|
109
|
+
case "state":
|
|
110
|
+
state = msg.state ?? {};
|
|
111
|
+
fire("state", state);
|
|
112
|
+
break;
|
|
113
|
+
case "msg":
|
|
114
|
+
fire("message", msg.data, msg.from);
|
|
115
|
+
break;
|
|
116
|
+
case "telemetry":
|
|
117
|
+
fire("telemetry", {
|
|
118
|
+
playerId: msg.from,
|
|
119
|
+
power: msg.power,
|
|
120
|
+
cadence: msg.cadence,
|
|
121
|
+
heartRate: msg.heartRate,
|
|
122
|
+
t: msg.ts ?? 0,
|
|
123
|
+
});
|
|
124
|
+
break;
|
|
125
|
+
case "event":
|
|
126
|
+
fire("event", {
|
|
127
|
+
name: msg.name,
|
|
128
|
+
payload: msg.payload,
|
|
129
|
+
at: msg.at ?? 0,
|
|
130
|
+
from: msg.from,
|
|
131
|
+
});
|
|
132
|
+
break;
|
|
133
|
+
case "full":
|
|
134
|
+
// Room at capacity: the server closes the socket and reconnecting would just hammer it.
|
|
135
|
+
// Surface it as a close and stay down — re-joining is the caller's decision.
|
|
136
|
+
done = true;
|
|
137
|
+
console.warn(`[rydr-sdk] room full (max ${String(msg.max)}): ${room}`);
|
|
138
|
+
fire("close");
|
|
139
|
+
break;
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
};
|
|
143
|
+
const scheduleReconnect = () => {
|
|
144
|
+
if (done || retryTimer)
|
|
145
|
+
return;
|
|
146
|
+
const delay = retryDelay + Math.random() * retryDelay * 0.3;
|
|
147
|
+
retryDelay = Math.min(retryDelay * 2, RECONNECT_MAX_MS);
|
|
148
|
+
retryTimer = setTimeout(() => {
|
|
149
|
+
retryTimer = null;
|
|
150
|
+
connect();
|
|
151
|
+
}, delay);
|
|
152
|
+
};
|
|
153
|
+
/**
|
|
154
|
+
* Send now, or decide what a disconnect does to this message.
|
|
155
|
+
*
|
|
156
|
+
* `state` patches are COALESCED and replayed (last-write-wins makes that safe and self-healing).
|
|
157
|
+
* Everything else — poses, wattage, clock stamps — is time-sensitive: a sample replayed after a
|
|
158
|
+
* 30-second gap is worse than no sample, so it is dropped. The one exception is the initial
|
|
159
|
+
* CONNECTING window (sub-second), where messages are queued as they always were.
|
|
160
|
+
*/
|
|
161
|
+
const sendRaw = (obj) => {
|
|
162
|
+
if (send(obj))
|
|
163
|
+
return;
|
|
164
|
+
if (obj.t === "state") {
|
|
165
|
+
pendingState = { ...(pendingState ?? {}), ...obj.patch };
|
|
42
166
|
return;
|
|
43
167
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
state = msg.state ?? {};
|
|
47
|
-
members = msg.members ?? [];
|
|
48
|
-
fire("presence", members);
|
|
49
|
-
fire("state", state);
|
|
50
|
-
break;
|
|
51
|
-
case "presence":
|
|
52
|
-
members = msg.members ?? [];
|
|
53
|
-
fire("presence", members);
|
|
54
|
-
break;
|
|
55
|
-
case "state":
|
|
56
|
-
state = msg.state ?? {};
|
|
57
|
-
fire("state", state);
|
|
58
|
-
break;
|
|
59
|
-
case "msg":
|
|
60
|
-
fire("message", msg.data, msg.from);
|
|
61
|
-
break;
|
|
62
|
-
case "telemetry":
|
|
63
|
-
fire("telemetry", {
|
|
64
|
-
playerId: msg.from,
|
|
65
|
-
power: msg.power,
|
|
66
|
-
cadence: msg.cadence,
|
|
67
|
-
heartRate: msg.heartRate,
|
|
68
|
-
t: msg.ts ?? 0,
|
|
69
|
-
});
|
|
70
|
-
break;
|
|
71
|
-
case "event":
|
|
72
|
-
fire("event", {
|
|
73
|
-
name: msg.name,
|
|
74
|
-
payload: msg.payload,
|
|
75
|
-
at: msg.at ?? 0,
|
|
76
|
-
from: msg.from,
|
|
77
|
-
});
|
|
78
|
-
break;
|
|
79
|
-
case "full":
|
|
80
|
-
// Room at capacity — the server closes the socket; surface it as a close.
|
|
81
|
-
fire("close");
|
|
82
|
-
break;
|
|
168
|
+
if (ws?.readyState === WebSocket.CONNECTING && connectingQueue.length < CONNECTING_QUEUE_MAX) {
|
|
169
|
+
connectingQueue.push(obj);
|
|
83
170
|
}
|
|
84
|
-
});
|
|
85
|
-
const sendRaw = (obj) => {
|
|
86
|
-
if (ws.readyState === WebSocket.OPEN)
|
|
87
|
-
ws.send(JSON.stringify(obj));
|
|
88
|
-
else
|
|
89
|
-
ws.addEventListener("open", () => ws.send(JSON.stringify(obj)), { once: true });
|
|
90
171
|
};
|
|
172
|
+
connect();
|
|
91
173
|
return {
|
|
92
174
|
send: (data) => sendRaw({ t: "msg", data }),
|
|
93
175
|
setState: (patch) => sendRaw({ t: "state", patch }),
|
|
@@ -109,7 +191,16 @@ export function createRoom(opts) {
|
|
|
109
191
|
listeners[event]?.add(cb);
|
|
110
192
|
return () => listeners[event]?.delete(cb);
|
|
111
193
|
}),
|
|
112
|
-
leave: () =>
|
|
194
|
+
leave: () => {
|
|
195
|
+
done = true;
|
|
196
|
+
if (retryTimer) {
|
|
197
|
+
clearTimeout(retryTimer);
|
|
198
|
+
retryTimer = null;
|
|
199
|
+
}
|
|
200
|
+
const sock = ws;
|
|
201
|
+
ws = null;
|
|
202
|
+
sock?.close();
|
|
203
|
+
},
|
|
113
204
|
};
|
|
114
205
|
}
|
|
115
206
|
/**
|
package/dist/client/Room.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Room.js","sourceRoot":"","sources":["../../src/client/Room.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Room.js","sourceRoot":"","sources":["../../src/client/Room.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.5.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.5.0";
|
|
180
180
|
//# sourceMappingURL=version.js.map
|
package/dist/ui/README.md
CHANGED
|
@@ -48,7 +48,7 @@ feed its `{x, y, onScreen}` into `setScreenPos`/`setVisible` — don't compute p
|
|
|
48
48
|
| `mountChoiceCard(host, opts)` | fn | A player choice menu: prompt + highlighted option list (▲▼ move, A confirm). |
|
|
49
49
|
| `mountRarityCard(host, opts)` / `buildRarityCard(opts)` | fn | A generic rarity-tinted item/creature card. |
|
|
50
50
|
| `createActionMarker(host, opts)` | fn | **"There is something to do THERE"** — a card pinned to a point in the world (you `place(x, y)` it every frame with the point projected to screen), the keycap joining it once the rider is close enough (`setNear`), and a caret clamping it to the border with an arrow while the point is off screen. Two independent axes: `tone` is MOTION (`hint` still · `action` breathing · `urgent` hammering), `color` is SUBJECT (`red`/`danger`, `green`/`success`, `cyan`/`accent`, … — see `MARKER_COLORS`). |
|
|
51
|
-
| `createPowerRace(opts)` | fn | A timed **power-vs-deadline race** overlay — the "push NOW or lose it" beat. A charge bar (∫power dt) races a clock; first to 100% wins. `start()` then `setPower(w)`+`tick(dt)` per frame; `won`/`lost` via `onResolve`. Recolour with `theme`, relabel with `text`. |
|
|
51
|
+
| `createPowerRace(opts)` | fn | A timed **power-vs-deadline race** overlay — the "push NOW or lose it" beat. A charge bar (∫power dt) races a clock; first to 100% wins. `start()` then `setPower(w)`+`tick(dt)` per frame; `won`/`lost` via `onResolve`. Recolour with `theme`, relabel with `text`. **Timings:** `introS` is the wind-up before the bars go live (default 2s — pass `0` for a widget the rider OPENED by pressing a button, so watts count from frame 1), `durationS` the race itself, `hold: { stampDelayS, hideAfterS }` what happens after it resolves (either can be `false`). `setTarget({ ftp })` re-sizes the effort target in place — no rebuild when a rider retunes their FTP mid-ride. |
|
|
52
52
|
| `mountHeatVignette(host, opts)` | fn | **Screen-edge heat vignette alone** — the peripheral amber→orange→red glow that escalates with heat. Take this when your game draws its own heat bar. `setHeat(heat01, locked)` per frame. |
|
|
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. |
|
|
@@ -61,13 +61,12 @@ feed its `{x, y, onScreen}` into `setScreenPos`/`setVisible` — don't compute p
|
|
|
61
61
|
| `mountControlTrainer(host, opts)` | fn | **Guided lesson** — a title, one panel per step side by side, one shared controller below. Watches the rider: white "do this" → blue "doing it" → green ✓. Fires `onComplete` when every step is done. |
|
|
62
62
|
| `createComboStrip(action, opts)` | fn | Just the chip row for one action (`[L2] + [✕]`), for embedding in your own layout. |
|
|
63
63
|
| `createInputChip(token, opts)` | fn | One control's pictogram, for embedding in your own layout. Delegates to `createKeycap` / `createDpadKeycap` / `createButtonKeycap` for the buttons, and draws its own stick pictograms. The atom the two views are built from. |
|
|
64
|
-
| `DEFAULT_STICK_STYLE` | const | The joystick drawing convention the kit uses (`"profile"`). Override per-call with `stickStyle`. |
|
|
65
64
|
| `injectCss()` | fn | Force the `.rydr-ui-*` CSS into `<head>` early (components call it for you). |
|
|
66
65
|
|
|
67
66
|
Types: `DiamondButton` (`"DIAMOND_UP"\|"DIAMOND_DOWN"\|"DIAMOND_LEFT"\|"DIAMOND_RIGHT"`), `DirButton`, `KeycapVariant` (`"full"\|"solo"`),
|
|
68
67
|
`ButtonSource`, `Keycap`, `Card`, `ActionCard`, `ButtonPrompt`, `DialogueCard`, `ChoiceCard`,
|
|
69
68
|
`LabeledDiamond`, `ActionDiamond`, `Rarity`, `RarityCard`, `OptionMenu`, `OptionMenuItem`, `OptionMenuOptions`,
|
|
70
|
-
`ControlAction`, `ComboToken`, `StickDir`, `
|
|
69
|
+
`ControlAction`, `ComboToken`, `StickDir`, `PadInputSource`, `PadBrandKey`, `PadPart`, `PadLayout`,
|
|
71
70
|
`ControllerPad`, `ControllerMap`, `ComboDemo`, `InputChip`, `ComboStrip`,
|
|
72
71
|
`ActionMarker`, `ActionMarkerOptions`, `ActionMarkerTone`, `ActionMarkerColor`, `ActionMarkerRole`
|
|
73
72
|
(+ the `MARKER_COLORS` / `MARKER_ROLE_COLORS` tables).
|
|
@@ -186,13 +185,16 @@ Notes worth knowing:
|
|
|
186
185
|
- **Devices differ.** A Zwift Play has no joysticks and no triggers, so they aren't drawn at all. A
|
|
187
186
|
phone exposes only the confirm/back pair — the protocol can't tell us which buttons a device has, so
|
|
188
187
|
pass `available: [...]` if your game knows, and don't gate a required flow behind a rare control.
|
|
189
|
-
- **The joysticks are pictures, not letters
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
a
|
|
188
|
+
- **The joysticks are pictures, not letters** — and all three are the SAME picture, a well and a cap,
|
|
189
|
+
told apart by what the cap DOES. `LSTICK` runs the cap around its travel circle (move any way),
|
|
190
|
+
`LSTICK:left` pushes it left and back on a loop (parked at full deflection it would read as "already
|
|
191
|
+
done"), and `LSTICK_PRESS` keeps it centred and shrinks it under a real press — the live pad's own
|
|
192
|
+
click, because pressing a stick is motion straight at the viewer. No direction arrows: at chip size an
|
|
193
|
+
arrow is stroked in the same colour as the well rim, so it fuses into it or eats the well's room. "L3"
|
|
194
|
+
tells a rider nothing about what to do with their thumb, so the brand letter lives in the chip's
|
|
195
|
+
tooltip. `prefers-reduced-motion` gets a still frame instead of the loop. Every *button* shape comes
|
|
196
|
+
from the keycap factories, so a trigger or OPTIONS reads identically in a legend and in an in-game
|
|
197
|
+
prompt.
|
|
196
198
|
- Tuned for up to **5 callouts per side**; past that it warns rather than dropping one.
|
|
197
199
|
- Live catalog: `npm run showcase` in the SDK repo, or the platform's `/game-ui` route.
|
|
198
200
|
|
|
@@ -269,7 +271,14 @@ mountControlTrainer(modalBody, {
|
|
|
269
271
|
Each step walks three states, on both its chips and the shared pad: **whitish + pulsing** ("do this"),
|
|
270
272
|
**accent, pulse stops** ("you're doing it"), **green + ✓** ("done"). The prompt shows **one step at a
|
|
271
273
|
time, alternating**, and builds each combination **cumulatively** — the stick click lights, stays lit, and
|
|
272
|
-
the shoulder joins it a beat later; then the other half takes its turn, and it loops. **
|
|
274
|
+
the shoulder joins it a beat later; then the other half takes its turn, and it loops. **A hinted stick CLICK
|
|
275
|
+
performs the click** rather than sitting there white: a raised white cap is pixel-identical to a hinted round
|
|
276
|
+
button and says nothing about what to do with a thumb, so it sinks and shrinks on a loop, onto exactly the
|
|
277
|
+
frame a real click lands on (`--pad-click-depth` / `--pad-click-scale`, one definition per surface, shared by
|
|
278
|
+
the press and the loop). The chip in the panel clicks with it, at the same rate — and when the rider actually
|
|
279
|
+
clicks, that chip's "you're doing it" state drives the same pressed look real input drives. It's the click's
|
|
280
|
+
twin of a hinted *direction* sweeping out and back. Under `prefers-reduced-motion` both park on the clicked
|
|
281
|
+
frame, since the sink is the instruction, not decoration. **The two surfaces speak different languages.** The
|
|
273
282
|
**pad** is physical — white = *press this*, blue = *you're pressing it*, and **never green**; white and blue
|
|
274
283
|
have already taught the rider that colour there means *now*, so progress as a third colour reads as "and this
|
|
275
284
|
one too". The **panels** are logical — grey = to do, green + ✓ = done, and that stays for the rest of the
|
|
@@ -32,7 +32,6 @@
|
|
|
32
32
|
*/
|
|
33
33
|
import type { GlyphSet } from "../../protocol/glyphs.js";
|
|
34
34
|
import { type ControllerPad, type PadInputSource } from "./controller-pad.js";
|
|
35
|
-
import type { StickPictogramStyle } from "./input-chip.js";
|
|
36
35
|
import type { ControlAction } from "./tokens.js";
|
|
37
36
|
import type { PadBrandKey } from "./types.js";
|
|
38
37
|
export interface ComboDemoOptions {
|
|
@@ -63,8 +62,6 @@ export interface ComboDemoOptions {
|
|
|
63
62
|
labels?: boolean;
|
|
64
63
|
colored?: boolean;
|
|
65
64
|
accent?: string;
|
|
66
|
-
/** Drawing convention for the joystick pictograms in the chips. See {@link StickPictogramStyle}. */
|
|
67
|
-
stickStyle?: StickPictogramStyle;
|
|
68
65
|
/** Playback rate. `1` = normal, `0.5` = half speed for a slow walkthrough. */
|
|
69
66
|
speed?: number;
|
|
70
67
|
/** Called each time the loop completes a full cycle. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combo-demo.d.ts","sourceRoot":"","sources":["../../../src/ui/controller/combo-demo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAsB,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"combo-demo.d.ts","sourceRoot":"","sources":["../../../src/ui/controller/combo-demo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAsB,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIlG,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,MAAM,EAAE,aAAa,CAAC;IACtB;;;;OAIG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,iFAAiF;IACjF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iEAAiE;IACjE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,CAAC;IACxC,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IACvC,IAAI,IAAI,IAAI,CAAC;IACb,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,IAAI,IAAI,CAAC;CACjB;AAqBD,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,GAAG,SAAS,CAgSnF"}
|
|
@@ -98,7 +98,6 @@ export function mountComboDemo(host, opts) {
|
|
|
98
98
|
strip = createComboStrip(action, {
|
|
99
99
|
glyphSet: opts.glyphSet ?? pad?.glyphSet() ?? undefined,
|
|
100
100
|
colored: opts.colored,
|
|
101
|
-
stickStyle: opts.stickStyle,
|
|
102
101
|
});
|
|
103
102
|
stripCell.textContent = "";
|
|
104
103
|
stripCell.appendChild(strip.el);
|
|
@@ -136,6 +135,13 @@ export function mountComboDemo(host, opts) {
|
|
|
136
135
|
driver?.setMeter(meter, 1);
|
|
137
136
|
},
|
|
138
137
|
setStick: (side, x, y, state) => pad?.driver().setStick(side, x, y, state === "done" ? "done" : "on"),
|
|
138
|
+
// Same as a part the animation doesn't own: a stick outside the combination is this pass's to put
|
|
139
|
+
// back, or the cap sits where the rider left it for as long as the demo runs.
|
|
140
|
+
restStick: (side) => {
|
|
141
|
+
if (channels.some((ch) => ch.stick?.side === side))
|
|
142
|
+
return; // the animation recentres its own
|
|
143
|
+
pad?.driver().setStick(side, 0, 0, "off");
|
|
144
|
+
},
|
|
139
145
|
release: (part) => {
|
|
140
146
|
if (channels.some((ch) => ch.part === part))
|
|
141
147
|
return; // the animation repaints it next frame
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combo-demo.js","sourceRoot":"","sources":["../../../src/ui/controller/combo-demo.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"combo-demo.js","sourceRoot":"","sources":["../../../src/ui/controller/combo-demo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-spotlight.d.ts","sourceRoot":"","sources":["../../../src/ui/controller/control-spotlight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgFG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAsB,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAclG,OAAO,EAA8B,KAAK,aAAa,EAAoB,MAAM,aAAa,CAAC;AAC/F,OAAO,EAAc,KAAK,WAAW,EAAgB,MAAM,YAAY,CAAC;AAExE,2DAA2D;AAC3D,eAAO,MAAM,iBAAiB,OAAO,CAAC;AACtC;;;GAGG;AACH,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,6FAA6F;AAC7F,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAOxC,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC;IACvE;;;;;;;;;;;;OAYG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sFAAsF;IACtF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,8FAA8F;IAC9F,KAAK,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACvC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,0GAA0G;IAC1G,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;IACzC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,2FAA2F;IAC3F,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sFAAsF;IACtF,WAAW,CAAC,CAAC,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9D,wFAAwF;IACxF,WAAW,CAAC,CAAC,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9D,sCAAsC;IACtC,OAAO,CAAC,IAAI,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,SAAS,oBAAoB,EAAE,GAAG,IAAI,CAAC;IACvD,IAAI,IAAI,IAAI,CAAC;IACb,KAAK,IAAI,IAAI,CAAC;IACd,8FAA8F;IAC9F,SAAS,IAAI,SAAS,OAAO,EAAE,CAAC;IAChC,OAAO,IAAI,IAAI,CAAC;CACjB;AAeD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,uBAAuB,GAAG,gBAAgB,
|
|
1
|
+
{"version":3,"file":"control-spotlight.d.ts","sourceRoot":"","sources":["../../../src/ui/controller/control-spotlight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgFG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAsB,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAclG,OAAO,EAA8B,KAAK,aAAa,EAAoB,MAAM,aAAa,CAAC;AAC/F,OAAO,EAAc,KAAK,WAAW,EAAgB,MAAM,YAAY,CAAC;AAExE,2DAA2D;AAC3D,eAAO,MAAM,iBAAiB,OAAO,CAAC;AACtC;;;GAGG;AACH,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,6FAA6F;AAC7F,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAOxC,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC;IACvE;;;;;;;;;;;;OAYG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sFAAsF;IACtF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,8FAA8F;IAC9F,KAAK,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACvC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,0GAA0G;IAC1G,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;IACzC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,2FAA2F;IAC3F,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sFAAsF;IACtF,WAAW,CAAC,CAAC,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9D,wFAAwF;IACxF,WAAW,CAAC,CAAC,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9D,sCAAsC;IACtC,OAAO,CAAC,IAAI,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,SAAS,oBAAoB,EAAE,GAAG,IAAI,CAAC;IACvD,IAAI,IAAI,IAAI,CAAC;IACb,KAAK,IAAI,IAAI,CAAC;IACd,8FAA8F;IAC9F,SAAS,IAAI,SAAS,OAAO,EAAE,CAAC;IAChC,OAAO,IAAI,IAAI,CAAC;CACjB;AAeD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,uBAAuB,GAAG,gBAAgB,CAoexG"}
|
|
@@ -362,6 +362,8 @@ export function mountControlSpotlight(host, opts) {
|
|
|
362
362
|
}
|
|
363
363
|
/** Does any step draw this part? Then it, not the live pass, decides what the part looks like unheld. */
|
|
364
364
|
const ownedByAStep = (part) => spots.some((s) => s.channels.some((ch) => ch.part === part));
|
|
365
|
+
/** Does any step move this stick? Then its own paint recentres it; nothing else may touch that side. */
|
|
366
|
+
const stickOwnedByAStep = (side) => spots.some((s) => s.channels.some((ch) => ch.stick?.side === side));
|
|
365
367
|
/**
|
|
366
368
|
* Paint every control the rider is holding GREEN, on top of whatever the timeline just drew — the shared
|
|
367
369
|
* live-press pass (`live-presses.ts`), which every view in this family runs.
|
|
@@ -377,6 +379,12 @@ export function mountControlSpotlight(host, opts) {
|
|
|
377
379
|
// The rider's own stick outranks a step's demonstration on that side, for the same reason their press
|
|
378
380
|
// outranks a lit part: one of the two is a picture of their actual hand.
|
|
379
381
|
setStick: (side, x, y, state) => pad.driver().setStick(side, x, y, state === "done" ? "done" : "on"),
|
|
382
|
+
// A stick no step names is only ever moved by the rider's own hand, so this pass is the only thing
|
|
383
|
+
// that can put it back — without it the cap stayed parked at the last deflection, still green.
|
|
384
|
+
restStick: (side) => {
|
|
385
|
+
if (!stickOwnedByAStep(side))
|
|
386
|
+
pad.driver().setStick(side, 0, 0, "off");
|
|
387
|
+
},
|
|
380
388
|
release: (part) => {
|
|
381
389
|
// A part a step draws is HANDED BACK, not blanked: dropping the cached value is enough, since that
|
|
382
390
|
// step repaints it (meter included) on the next frame. Blanking it here would flash one dark frame
|