@rydr/game-sdk 7.1.0 → 8.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 +28 -4
- package/dist/client/PlatformClient.d.ts +14 -7
- package/dist/client/PlatformClient.d.ts.map +1 -1
- package/dist/client/PlatformClient.js.map +1 -1
- package/dist/difficulty/index.d.ts +141 -0
- package/dist/difficulty/index.d.ts.map +1 -0
- package/dist/difficulty/index.js +300 -0
- package/dist/difficulty/index.js.map +1 -0
- package/dist/nav/README.md +14 -3
- package/dist/nav/motion.d.ts +10 -0
- package/dist/nav/motion.d.ts.map +1 -0
- package/dist/nav/motion.js +16 -0
- package/dist/nav/motion.js.map +1 -0
- package/dist/nav/scroll-nav.d.ts.map +1 -1
- package/dist/nav/scroll-nav.js +2 -6
- package/dist/nav/scroll-nav.js.map +1 -1
- package/dist/nav/spatial-nav.d.ts +12 -1
- package/dist/nav/spatial-nav.d.ts.map +1 -1
- package/dist/nav/spatial-nav.js +19 -5
- package/dist/nav/spatial-nav.js.map +1 -1
- package/dist/protocol/version.d.ts +1 -1
- package/dist/protocol/version.js +1 -1
- package/dist/ui/README.md +28 -15
- package/dist/ui/action-diamond.js +1 -1
- package/dist/ui/action-diamond.js.map +1 -1
- package/dist/ui/controller/input-chip.d.ts +2 -1
- package/dist/ui/controller/input-chip.d.ts.map +1 -1
- package/dist/ui/controller/input-chip.js +9 -8
- package/dist/ui/controller/input-chip.js.map +1 -1
- package/dist/ui/index.d.ts +1 -1
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +1 -1
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/keycap.d.ts +51 -20
- package/dist/ui/keycap.d.ts.map +1 -1
- package/dist/ui/keycap.js +94 -28
- package/dist/ui/keycap.js.map +1 -1
- package/dist/ui/{pause-menu.d.ts → option-menu.d.ts} +34 -24
- package/dist/ui/option-menu.d.ts.map +1 -0
- package/dist/ui/{pause-menu.js → option-menu.js} +134 -90
- package/dist/ui/option-menu.js.map +1 -0
- package/dist/ui/showcase/index.js +9 -9
- package/dist/ui/showcase/index.js.map +1 -1
- package/dist/ui/solo-labeled-diamond.js +1 -1
- package/dist/ui/solo-labeled-diamond.js.map +1 -1
- package/dist/ui/styles.js +14 -9
- package/dist/ui/styles.js.map +1 -1
- package/package.json +5 -1
- package/dist/ui/pause-menu.d.ts.map +0 -1
- package/dist/ui/pause-menu.js.map +0 -1
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The **FTP-difficulty ladder** — levels 1 → 50, and the watts each one means.
|
|
3
|
+
*
|
|
4
|
+
* This is the rider's chosen calibration: the number every game's `%FTP` demands are a percentage
|
|
5
|
+
* of. It is **not** a measurement of anyone's fitness, and it is not the rank of a score.
|
|
6
|
+
*
|
|
7
|
+
* ## Why this lives in the SDK
|
|
8
|
+
*
|
|
9
|
+
* A leaderboard row carries watts — `BoardEntry.ftpDifficulty` in `src/protocol/boards.ts` — and
|
|
10
|
+
* nothing else. Any game that draws a rider's badge next to their score therefore has to turn those
|
|
11
|
+
* watts into a level and a colour, and a game cannot import the shell's copy across the iframe
|
|
12
|
+
* boundary. Before this module existed the only way through that was to hand-port the ladder into
|
|
13
|
+
* each game, which is exactly what happened: guitar hero shipped a private copy that kept rendering
|
|
14
|
+
* a retired 36-rung metal ladder long after the shell had moved on, so one rider's `ftpDifficulty`
|
|
15
|
+
* produced a bronze "3" in-game and a ramp-coloured "26" in the chrome. **The interpretation of a
|
|
16
|
+
* protocol field belongs to the protocol.** The shell imports this module too — there is one ladder,
|
|
17
|
+
* published once, and both sides read it.
|
|
18
|
+
*
|
|
19
|
+
* Pure by design: no `lit`, no `three`, no DOM. {@link visualForLevel} returns CSS strings, which any
|
|
20
|
+
* renderer can use — a Lit component's `style`, an `innerHTML` template, a canvas fill.
|
|
21
|
+
*
|
|
22
|
+
* ## The scale
|
|
23
|
+
*
|
|
24
|
+
* **Watts are what get stored; the level is derived here.** Every persisted copy of the dial (the
|
|
25
|
+
* shell's `profile.ftpDifficulty`, a leaderboard entry's `ftp_difficulty`) holds watts, and every
|
|
26
|
+
* client computes the level from it through {@link levelForWatts}. That's what lets this scale be
|
|
27
|
+
* redrawn — floor, band widths, tier count — without migrating or reinterpreting a single stored row.
|
|
28
|
+
* The cost, accepted: redrawing it re-labels history, so a shift in the levels reported by analytics
|
|
29
|
+
* can mean the ladder moved rather than the riders.
|
|
30
|
+
*
|
|
31
|
+
* ```
|
|
32
|
+
* watts = level ≤ 9 ? 50 + 5 × (level − 1) // 50, 55, 60 … 90
|
|
33
|
+
* : level × 10 // 100, 110 … 500
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* `level × 10 = watts` holds exactly from 100 W up, where essentially every rider sits — that
|
|
37
|
+
* relationship is the point of the number, since it makes "22" readable as "~220 W" with no lookup.
|
|
38
|
+
* Below 100 W the steps are finer because a flat 10 W step there is a **20%** jump where at 400 W
|
|
39
|
+
* it's 2.5%. The floor of 50 W is the researched floor for a deconditioned adult; the ceiling of
|
|
40
|
+
* 500 W is beyond any realistic rider on purpose, so nobody is ever pinned at either end.
|
|
41
|
+
*
|
|
42
|
+
* **There is deliberately no watts-per-press constant** (see {@link stepWatts}): the watts a − / +
|
|
43
|
+
* press moves are whatever the neighbouring rung is — 5 W inside levels 1 → 9, 10 W from level 10
|
|
44
|
+
* up, and 10 W across the 9 → 10 boundary. Any single constant is wrong in one of those bands by
|
|
45
|
+
* construction, which is the bug that convention replaced.
|
|
46
|
+
*
|
|
47
|
+
* The rationale for the whole design, including the colour ramp below, is written up in the platform
|
|
48
|
+
* repo: `rydr-platform/docs/run-level-and-leaderboards.md`.
|
|
49
|
+
*/
|
|
50
|
+
/** Weakest level. The ladder is **1-based** — there is no level 0. */
|
|
51
|
+
export const LEVEL_MIN = 1;
|
|
52
|
+
/** Strongest level. */
|
|
53
|
+
export const LEVEL_MAX = 50;
|
|
54
|
+
/** Last level of the fine 5 W band. */
|
|
55
|
+
const LOW_BAND_MAX = 9;
|
|
56
|
+
/** Watts of the fine band's first rung, i.e. of {@link LEVEL_MIN}. */
|
|
57
|
+
export const FTP_MIN = 50;
|
|
58
|
+
/** Watts per rung inside the fine band (levels 1 → 9 only — never use this as *the* step). */
|
|
59
|
+
const LOW_BAND_STEP = 5;
|
|
60
|
+
/** Watts at {@link LEVEL_MAX}. A real ceiling, not a bucket: nobody is meant to reach it. */
|
|
61
|
+
export const FTP_MAX = 500;
|
|
62
|
+
/** Levels per tier badge. Ten tiers × five levels covers 1 → 50 exactly. */
|
|
63
|
+
export const LEVELS_PER_TIER = 5;
|
|
64
|
+
/** Number of tier badges. */
|
|
65
|
+
export const TIER_COUNT = LEVEL_MAX / LEVELS_PER_TIER; // 10
|
|
66
|
+
// ── the scale ─────────────────────────────────────────────────────────────────────
|
|
67
|
+
/** Clamp any number to a whole level inside the ladder. */
|
|
68
|
+
export function clampLevel(level) {
|
|
69
|
+
return Math.max(LEVEL_MIN, Math.min(LEVEL_MAX, Math.round(level)));
|
|
70
|
+
}
|
|
71
|
+
/** The watts a level means. Clamps, so it's safe to call with arithmetic results. */
|
|
72
|
+
export function wattsForLevel(level) {
|
|
73
|
+
const lvl = clampLevel(level);
|
|
74
|
+
return lvl <= LOW_BAND_MAX ? FTP_MIN + LOW_BAND_STEP * (lvl - LEVEL_MIN) : lvl * 10;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* The level a watts value sits at — the **nearest** rung, so any number (a legacy profile, the
|
|
78
|
+
* weight-relative result of an onboarding questionnaire, one day a measured estimate) has a level.
|
|
79
|
+
* Ties round up, which matters only for values landing exactly between two rungs.
|
|
80
|
+
*
|
|
81
|
+
* Each band's formula is inverted, then whichever candidate rung is genuinely closer wins. Trusting
|
|
82
|
+
* one formula by a `watts < 100` branch is wrong **at the seam**, because the gap from level 9 (90 W)
|
|
83
|
+
* to level 10 (100 W) is 10 W while the low-band formula divides by 5: it read 98 W as level 11 and
|
|
84
|
+
* snapped it up to 110 W — a 12% jump — and 93 W as level 10. Only 93, 94, 98 and 99 W were affected,
|
|
85
|
+
* which is exactly why it took a brute-force sweep against {@link FTP_LEVELS} to notice.
|
|
86
|
+
*/
|
|
87
|
+
export function levelForWatts(watts) {
|
|
88
|
+
if (!Number.isFinite(watts))
|
|
89
|
+
return LEVEL_MIN;
|
|
90
|
+
if (watts <= FTP_MIN)
|
|
91
|
+
return LEVEL_MIN;
|
|
92
|
+
if (watts >= FTP_MAX)
|
|
93
|
+
return LEVEL_MAX;
|
|
94
|
+
const low = clampLevel(LEVEL_MIN + (watts - FTP_MIN) / LOW_BAND_STEP);
|
|
95
|
+
const high = clampLevel(watts / 10);
|
|
96
|
+
// `<` not `<=`, so a value exactly between two rungs keeps the documented round-up.
|
|
97
|
+
return Math.abs(wattsForLevel(high) - watts) < Math.abs(wattsForLevel(low) - watts) ? high : low;
|
|
98
|
+
}
|
|
99
|
+
/** Snap arbitrary watts onto the ladder — `wattsForLevel(levelForWatts(w))`. Idempotent. */
|
|
100
|
+
export function snapWatts(watts) {
|
|
101
|
+
return wattsForLevel(levelForWatts(watts));
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Move one level from wherever `watts` is, and return the new **watts**.
|
|
105
|
+
*
|
|
106
|
+
* This is the only correct way to step the dial: it derives the level, moves it by one, and reads
|
|
107
|
+
* that level's watts back. Off-ladder input snaps to its nearest rung on the first press, then
|
|
108
|
+
* steps from there. At either end of the ladder it returns the end.
|
|
109
|
+
*/
|
|
110
|
+
export function stepWatts(watts, direction) {
|
|
111
|
+
return wattsForLevel(levelForWatts(watts) + direction);
|
|
112
|
+
}
|
|
113
|
+
// ── colour ────────────────────────────────────────────────────────────────────────
|
|
114
|
+
const hex2rgb = (h) => {
|
|
115
|
+
const s = h.replace("#", "");
|
|
116
|
+
return [0, 2, 4].map((i) => parseInt(s.slice(i, i + 2), 16));
|
|
117
|
+
};
|
|
118
|
+
const to2 = (x) => Math.max(0, Math.min(255, Math.round(x))).toString(16).padStart(2, "0");
|
|
119
|
+
const rgb2hex = (r, g, b) => `#${to2(r)}${to2(g)}${to2(b)}`;
|
|
120
|
+
const mix = (h1, h2, t) => {
|
|
121
|
+
const a = hex2rgb(h1);
|
|
122
|
+
const b = hex2rgb(h2);
|
|
123
|
+
return rgb2hex(a[0] + (b[0] - a[0]) * t, a[1] + (b[1] - a[1]) * t, a[2] + (b[2] - a[2]) * t);
|
|
124
|
+
};
|
|
125
|
+
const rgba = (hex, alpha) => `rgba(${hex2rgb(hex).join(",")},${alpha})`;
|
|
126
|
+
const hsl = (h, s, l) => {
|
|
127
|
+
const sat = Math.min(100, s) / 100;
|
|
128
|
+
const lig = l / 100;
|
|
129
|
+
const k = (n) => (n + h / 30) % 12;
|
|
130
|
+
const a = sat * Math.min(lig, 1 - lig);
|
|
131
|
+
const f = (n) => lig - a * Math.max(-1, Math.min(k(n) - 3, 9 - k(n), 1));
|
|
132
|
+
return rgb2hex(255 * f(0), 255 * f(8), 255 * f(4));
|
|
133
|
+
};
|
|
134
|
+
const hslA = (h, s, l, alpha) => `hsl(${h.toFixed(1)} ${Math.min(100, s).toFixed(1)}% ${l.toFixed(1)}% / ${alpha})`;
|
|
135
|
+
const lerp = (a, b, t) => a + (b - a) * t;
|
|
136
|
+
/**
|
|
137
|
+
* Relative luminance, the sRGB formula WCAG contrast is built on. Needed because the answer swings
|
|
138
|
+
* hard with hue: a gold and a blue at the same nominal lightness are nowhere near each other behind
|
|
139
|
+
* white text, so every threshold below is measured rather than guessed.
|
|
140
|
+
*/
|
|
141
|
+
const relLum = (hex) => {
|
|
142
|
+
const lin = (u) => u <= 0.03928 ? u / 12.92 : Math.pow((u + 0.055) / 1.055, 2.4);
|
|
143
|
+
const [r, g, b] = hex2rgb(hex);
|
|
144
|
+
return 0.2126 * lin(r / 255) + 0.7152 * lin(g / 255) + 0.0722 * lin(b / 255);
|
|
145
|
+
};
|
|
146
|
+
const contrast = (a, b) => (Math.max(a, b) + 0.05) / (Math.min(a, b) + 0.05);
|
|
147
|
+
/**
|
|
148
|
+
* Positions are explicit because even spacing is what made level 26 ugly. Interpolating green
|
|
149
|
+
* (142°) → gold (45°) passes through ~90°, and 90° deepened enough for white text is army-green
|
|
150
|
+
* olive. Gold itself was never the problem and can't be avoided anyway: every green-to-red path
|
|
151
|
+
* crosses it, and going the other way round the wheel revisits blue. What's fixable is how long
|
|
152
|
+
* the ramp lingers in the crossing, so green is warmed to 152° (further from chartreuse), gold to
|
|
153
|
+
* 42° at 96% saturation (deepens to a rich gold, not mustard), and the green→gold segment is
|
|
154
|
+
* squeezed to 0.027 of the path — positioned so the whole traverse falls in the GAP between
|
|
155
|
+
* level 26 (p 0.456) and level 27 (p 0.500). Nothing lands in the lime zone.
|
|
156
|
+
*
|
|
157
|
+
* The cost, stated honestly: that pair is a visible hue jump, the one hard edge in an otherwise
|
|
158
|
+
* continuous ramp — and a hard edge is the "club boundary" the metals were dropped to avoid. It
|
|
159
|
+
* buys the ugliest colour out of the most populated band. Widen this segment if the edge ever
|
|
160
|
+
* reads worse than the olive did.
|
|
161
|
+
*/
|
|
162
|
+
const HUE_STOPS = [
|
|
163
|
+
{ p: 0.0, h: 217, s: 91 }, // blue
|
|
164
|
+
{ p: 0.465, h: 152, s: 74 }, // green
|
|
165
|
+
{ p: 0.492, h: 42, s: 96 }, // gold
|
|
166
|
+
{ p: 0.74, h: 22, s: 95 }, // orange
|
|
167
|
+
{ p: 1.0, h: 0, s: 84 }, // red
|
|
168
|
+
];
|
|
169
|
+
/** First and last level the hue path moves across; outside this it's clamped. */
|
|
170
|
+
const HUE_LO = 10;
|
|
171
|
+
const HUE_HI = 44;
|
|
172
|
+
/** Lightness floor and ceiling. The floor keeps level 1 separable from a dark container. */
|
|
173
|
+
const L_LO = 34;
|
|
174
|
+
const L_HI = 64;
|
|
175
|
+
const S_SCALE_LO = 0.5;
|
|
176
|
+
const S_SCALE_HI = 1.0;
|
|
177
|
+
/** Fill alpha. The pill is glass, so it reads as chrome rather than a sticker on top of it. */
|
|
178
|
+
const FILL_ALPHA = 0.4;
|
|
179
|
+
/** Max luminance a fill may have. Above this, white-on-fill stops being comfortable. */
|
|
180
|
+
const LUM_MAX = 0.25;
|
|
181
|
+
/** Contrast the coloured numeral must clear against its own composited fill. */
|
|
182
|
+
const INK_MIN_CONTRAST = 4.2;
|
|
183
|
+
/** Nominal dark container behind a pill — what a translucent fill composites over. */
|
|
184
|
+
const CONTAINER = "#111c2e";
|
|
185
|
+
const smoothstep = (t) => t * t * (3 - 2 * t);
|
|
186
|
+
/** Hue-path position for a level: eased inside the window, clamped outside it. */
|
|
187
|
+
function huePos(level) {
|
|
188
|
+
const t = (clampLevel(level) - HUE_LO) / (HUE_HI - HUE_LO);
|
|
189
|
+
return smoothstep(Math.max(0, Math.min(1, t)));
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Hue + saturation at a position. Hue decreases monotonically 217° → 0° with no wraparound, so
|
|
193
|
+
* plain interpolation between adjacent stops walks the ramp in order and never takes the long way
|
|
194
|
+
* round the wheel.
|
|
195
|
+
*/
|
|
196
|
+
function hueAt(p) {
|
|
197
|
+
const x = Math.max(0, Math.min(1, p));
|
|
198
|
+
let i = 0;
|
|
199
|
+
while (i < HUE_STOPS.length - 2 && x > HUE_STOPS[i + 1].p)
|
|
200
|
+
i++;
|
|
201
|
+
const a = HUE_STOPS[i];
|
|
202
|
+
const b = HUE_STOPS[i + 1];
|
|
203
|
+
const t = (x - a.p) / (b.p - a.p);
|
|
204
|
+
return { h: lerp(a.h, b.h, t), s: lerp(a.s, b.s, t) };
|
|
205
|
+
}
|
|
206
|
+
/** The level's own colour, before any legibility adjustment. */
|
|
207
|
+
function rampColour(level) {
|
|
208
|
+
const lvl = clampLevel(level);
|
|
209
|
+
const { h, s } = hueAt(huePos(lvl));
|
|
210
|
+
const t = (lvl - LEVEL_MIN) / (LEVEL_MAX - LEVEL_MIN);
|
|
211
|
+
const q = 2 * t - smoothstep(t); // complement of the hue curve
|
|
212
|
+
return { h, s: Math.min(100, s * lerp(S_SCALE_LO, S_SCALE_HI, q)), l: lerp(L_LO, L_HI, q) };
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Fill lightness, solved PER HUE rather than by a flat cap — the cap that makes gold safe would
|
|
216
|
+
* needlessly darken blue into slate. Walks down from the level's own lightness until the fill is
|
|
217
|
+
* dark enough to sit under white/coloured text.
|
|
218
|
+
*/
|
|
219
|
+
function fillLightness(c) {
|
|
220
|
+
let l = c.l;
|
|
221
|
+
while (l > 18 && relLum(hsl(c.h, c.s, l)) > LUM_MAX)
|
|
222
|
+
l -= 1;
|
|
223
|
+
return l;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* The numeral's colour: the level's own hue, brightened until it clears
|
|
227
|
+
* {@link INK_MIN_CONTRAST} against the **composited** fill — the fill blended over the container
|
|
228
|
+
* at {@link FILL_ALPHA}, not the fill's own colour. That distinction is the whole thing: at 40%
|
|
229
|
+
* glass most of what sits behind the glyph is container, so measuring against the raw fill would
|
|
230
|
+
* let the ink come out too dark. Exact mirror of {@link fillLightness}: that walks a fill down
|
|
231
|
+
* until text is safe, this walks the text up until the hue is safe.
|
|
232
|
+
*
|
|
233
|
+
* Saturation is capped at 88% so bright ink doesn't vibrate against its own fill.
|
|
234
|
+
*/
|
|
235
|
+
function inkColour(c) {
|
|
236
|
+
const bg = relLum(mix(hsl(c.h, c.s, fillLightness(c)), CONTAINER, FILL_ALPHA));
|
|
237
|
+
const s = Math.min(c.s, 88);
|
|
238
|
+
let l = Math.min(92, c.l + 14);
|
|
239
|
+
while (l < 92 && contrast(relLum(hsl(c.h, s, l)), bg) < INK_MIN_CONTRAST)
|
|
240
|
+
l += 1;
|
|
241
|
+
return hsl(c.h, s, l);
|
|
242
|
+
}
|
|
243
|
+
/** The tier badge index (0 → 9) a level belongs to. */
|
|
244
|
+
export function tierForLevel(level) {
|
|
245
|
+
return Math.floor((clampLevel(level) - LEVEL_MIN) / LEVELS_PER_TIER);
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* A level's ramp colour as one flat hex.
|
|
249
|
+
*
|
|
250
|
+
* {@link visualForLevel} returns a translucent CSS gradient, which is right for a pill and useless
|
|
251
|
+
* to anything that needs a single value — a gradient stop, a chart series, a canvas fill. Callers
|
|
252
|
+
* wanting to draw the ramp itself (e.g. a results-screen level track) sample this per level.
|
|
253
|
+
*/
|
|
254
|
+
export function colourForLevel(level) {
|
|
255
|
+
const c = rampColour(level);
|
|
256
|
+
return hsl(c.h, c.s, c.l);
|
|
257
|
+
}
|
|
258
|
+
/** The pill styling for a level — its position on the ramp. */
|
|
259
|
+
export function visualForLevel(level) {
|
|
260
|
+
const c = rampColour(level);
|
|
261
|
+
const lf = fillLightness(c);
|
|
262
|
+
return {
|
|
263
|
+
fill: `linear-gradient(140deg,${hslA(c.h, c.s, lf, FILL_ALPHA)},${hslA(c.h, c.s, Math.max(12, lf - 11), FILL_ALPHA)})`,
|
|
264
|
+
accent: hslA(c.h, c.s, Math.min(72, c.l + 6), Math.min(1, FILL_ALPHA + 0.18)),
|
|
265
|
+
glow: rgba(hsl(c.h, c.s, c.l), 0.4 * FILL_ALPHA),
|
|
266
|
+
ink: inkColour(c),
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
// ── the ladder, materialised ──────────────────────────────────────────────────────
|
|
270
|
+
/** Every rung, weakest → strongest (level 1 → 50). */
|
|
271
|
+
export const FTP_LEVELS = Array.from({ length: LEVEL_MAX }, (_, i) => {
|
|
272
|
+
const level = i + LEVEL_MIN;
|
|
273
|
+
return { level, watts: wattsForLevel(level), tier: tierForLevel(level) };
|
|
274
|
+
});
|
|
275
|
+
/** The rung a watts value sits on — the whole {@link FtpLevel}, for UI that needs its parts. */
|
|
276
|
+
export function levelAt(watts) {
|
|
277
|
+
return FTP_LEVELS[levelForWatts(watts) - LEVEL_MIN];
|
|
278
|
+
}
|
|
279
|
+
/** Watts label for a level — "255 W". */
|
|
280
|
+
export function wattsLabel(level) {
|
|
281
|
+
return `${wattsForLevel(level)} W`;
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Level-range label for a band — "26-30". This is what a band gets called now that the metal names
|
|
285
|
+
* are gone: a band is a group of five rungs on a dial, so its honest label is which rungs it spans.
|
|
286
|
+
*/
|
|
287
|
+
export function levelRangeLabelForTier(tier) {
|
|
288
|
+
const first = tier * LEVELS_PER_TIER + LEVEL_MIN;
|
|
289
|
+
return `${first}-${first + LEVELS_PER_TIER - 1}`;
|
|
290
|
+
}
|
|
291
|
+
/** Watts-range label for a whole tier badge — "270-310 W". */
|
|
292
|
+
export function rangeLabelForTier(tier) {
|
|
293
|
+
const first = tier * LEVELS_PER_TIER + LEVEL_MIN;
|
|
294
|
+
return `${wattsForLevel(first)}-${wattsForLevel(first + LEVELS_PER_TIER - 1)} W`;
|
|
295
|
+
}
|
|
296
|
+
/** The levels belonging to a tier badge, weakest → strongest. */
|
|
297
|
+
export function levelsInTier(tier) {
|
|
298
|
+
return FTP_LEVELS.filter((l) => l.tier === tier);
|
|
299
|
+
}
|
|
300
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/difficulty/index.ts"],"names":[],"mappings":"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"}
|
package/dist/nav/README.md
CHANGED
|
@@ -28,7 +28,7 @@ import { createSpatialNav } from "@rydr/game-sdk/nav";
|
|
|
28
28
|
const nav = createSpatialNav({
|
|
29
29
|
session, // auto-subscribes to onButton (down edges → the engine)
|
|
30
30
|
root: document.body, // where to scan for [data-nav]
|
|
31
|
-
onBack: () =>
|
|
31
|
+
onBack: () => openOptionMenu(), // where "back" goes when no sub-screen is open (app-owned)
|
|
32
32
|
});
|
|
33
33
|
```
|
|
34
34
|
|
|
@@ -38,8 +38,8 @@ scrolls it into view, focuses editable fields so typing works, activates on `DIA
|
|
|
38
38
|
|
|
39
39
|
## What it owns vs what you own
|
|
40
40
|
|
|
41
|
-
**Built in (opt-out):** session wiring (`session`), the `[nav-focused]` ring (`ring`),
|
|
42
|
-
+ edge-scroll-to-top (`edgeScrollTop`), edge wrap-around (`wrap`), pointer-hover → focus so mouse and
|
|
41
|
+
**Built in (opt-out):** session wiring (`session`), the `[nav-focused]` ring (`ring`), smooth
|
|
42
|
+
scroll-into-view (`scrollBehavior`) + edge-scroll-to-top (`edgeScrollTop`), edge wrap-around (`wrap`), pointer-hover → focus so mouse and
|
|
43
43
|
controller share one focus state (`pointer`), editable-field focus, `DIAMOND_DOWN`=`click`, a screen stack
|
|
44
44
|
(`pushScreen`/`popScreen`), and nav cues if you pass a `cue` sink (e.g. a `Soundboard.cue`).
|
|
45
45
|
|
|
@@ -87,6 +87,17 @@ where `onBack` ultimately goes, and any per-item direction quirk (`onDirection`)
|
|
|
87
87
|
replaced/removed, re-emit if it moved). Normally automatic; see "Focus stays live".
|
|
88
88
|
- `dispose()` — unsubscribe and drop focus.
|
|
89
89
|
|
|
90
|
+
### Motion and silence
|
|
91
|
+
|
|
92
|
+
A directional move **glides** the focused item into view (`scrollBehavior`, default `"smooth"`), so
|
|
93
|
+
navigating a long page reads as travel rather than a cut; repeated presses retarget the running
|
|
94
|
+
animation instead of queueing. `prefers-reduced-motion` downgrades it to an instant jump, and you can
|
|
95
|
+
force that with `scrollBehavior: "auto"`.
|
|
96
|
+
|
|
97
|
+
`DIAMOND_RIGHT` (`B`/`Z`) cues `nav.back` only when back **does** something — a screen pops, or
|
|
98
|
+
`onBack` runs. A ROOT screen therefore declares itself by simply **omitting `onBack`**: the press is a
|
|
99
|
+
true no-op, silence included, with nothing for you to swallow upstream.
|
|
100
|
+
|
|
90
101
|
See `spatial-nav.ts` for the full option list.
|
|
91
102
|
|
|
92
103
|
## Scrolling a long page — `createScrollNav`
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared motion preference for the nav engines — both `createSpatialNav` (focus centring) and
|
|
3
|
+
* `createScrollNav` (fixed-step paging) animate their scrolls, and both must fall back to an
|
|
4
|
+
* instant jump for a rider who asked the OS for reduced motion.
|
|
5
|
+
*/
|
|
6
|
+
/** `true` when the OS asks for reduced motion. SSR-safe: `false` where `matchMedia` is absent. */
|
|
7
|
+
export declare function prefersReducedMotion(): boolean;
|
|
8
|
+
/** The behavior to hand a scroll call: `wanted` (default `"smooth"`), downgraded under reduced motion. */
|
|
9
|
+
export declare function scrollBehavior(wanted?: ScrollBehavior): ScrollBehavior;
|
|
10
|
+
//# sourceMappingURL=motion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"motion.d.ts","sourceRoot":"","sources":["../../src/nav/motion.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,kGAAkG;AAClG,wBAAgB,oBAAoB,IAAI,OAAO,CAI9C;AAED,0GAA0G;AAC1G,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,cAAc,CAEtE"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared motion preference for the nav engines — both `createSpatialNav` (focus centring) and
|
|
3
|
+
* `createScrollNav` (fixed-step paging) animate their scrolls, and both must fall back to an
|
|
4
|
+
* instant jump for a rider who asked the OS for reduced motion.
|
|
5
|
+
*/
|
|
6
|
+
/** `true` when the OS asks for reduced motion. SSR-safe: `false` where `matchMedia` is absent. */
|
|
7
|
+
export function prefersReducedMotion() {
|
|
8
|
+
return typeof window !== "undefined" &&
|
|
9
|
+
typeof window.matchMedia === "function" &&
|
|
10
|
+
window.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
|
11
|
+
}
|
|
12
|
+
/** The behavior to hand a scroll call: `wanted` (default `"smooth"`), downgraded under reduced motion. */
|
|
13
|
+
export function scrollBehavior(wanted) {
|
|
14
|
+
return prefersReducedMotion() ? "auto" : (wanted ?? "smooth");
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=motion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"motion.js","sourceRoot":"","sources":["../../src/nav/motion.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,kGAAkG;AAClG,MAAM,UAAU,oBAAoB;IAClC,OAAO,OAAO,MAAM,KAAK,WAAW;QAClC,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU;QACvC,MAAM,CAAC,UAAU,CAAC,kCAAkC,CAAC,CAAC,OAAO,CAAC;AAClE,CAAC;AAED,0GAA0G;AAC1G,MAAM,UAAU,cAAc,CAAC,MAAuB;IACpD,OAAO,oBAAoB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC;AAChE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll-nav.d.ts","sourceRoot":"","sources":["../../src/nav/scroll-nav.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"scroll-nav.d.ts","sourceRoot":"","sources":["../../src/nav/scroll-nav.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEhE,oGAAoG;AACpG,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,MAAM,WAAW,gBAAgB;IAC/B;gFAC4E;IAC5E,IAAI,EAAE,WAAW,CAAC;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,kHAAkH;IAClH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6GAA6G;IAC7G,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3B,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,sFAAsF;IACtF,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,uGAAuG;IACvG,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,8FAA8F;IAC9F,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/B,6FAA6F;IAC7F,QAAQ,CAAC,GAAG,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IACnC,yFAAyF;IACzF,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,SAAS,CAwDjE"}
|
package/dist/nav/scroll-nav.js
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
|
+
import { scrollBehavior } from "./motion.js";
|
|
1
2
|
/** Default {@link ScrollNavOptions.step}: a quarter of the container's visible height per press. */
|
|
2
3
|
export const SCROLL_NAV_STEP = 0.25;
|
|
3
|
-
function prefersReducedMotion() {
|
|
4
|
-
return typeof window !== "undefined" &&
|
|
5
|
-
typeof window.matchMedia === "function" &&
|
|
6
|
-
window.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
|
7
|
-
}
|
|
8
4
|
export function createScrollNav(opts) {
|
|
9
5
|
const { root } = opts;
|
|
10
6
|
const step = opts.step ?? SCROLL_NAV_STEP;
|
|
11
|
-
const behavior = () => (
|
|
7
|
+
const behavior = () => scrollBehavior(opts.behavior);
|
|
12
8
|
function scrollStep(dir) {
|
|
13
9
|
// Clamp to the real scroll range so a press at an edge is a silent no-op (no false cue). Compare
|
|
14
10
|
// against the current position (not the pending smooth-scroll target) — a rider mashing the pad
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll-nav.js","sourceRoot":"","sources":["../../src/nav/scroll-nav.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scroll-nav.js","sourceRoot":"","sources":["../../src/nav/scroll-nav.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,oGAAoG;AACpG,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AAiCpC,MAAM,UAAU,eAAe,CAAC,IAAsB;IACpD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACtB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC;IAE1C,MAAM,QAAQ,GAAG,GAAmB,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAErE,SAAS,UAAU,CAAC,GAAkB;QACpC,iGAAiG;QACjG,gGAAgG;QAChG,yDAAyD;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;QACrD,IAAI,IAAI,KAAK,GAAG;YAAE,OAAO,CAAC,+CAA+C;QACzE,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,GAAG,GAAc;QACrB,MAAM,CAAC,IAAgB;YACrB,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,IAAI,CAAC;gBAAC,KAAK,MAAM;oBACpB,UAAU,CAAC,IAAI,CAAC,CAAC;oBACjB,OAAO;gBACT,KAAK,cAAc;oBACjB,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;oBACnB,OAAO;gBACT,6FAA6F;gBAC7F,8FAA8F;gBAC9F,+CAA+C;gBAC/C,KAAK,eAAe;oBAClB,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;oBACvB,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;oBAChB,OAAO;gBACT;oBACE,0FAA0F;oBAC1F,kCAAkC;oBAClC,OAAO;YACX,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,GAAkB;YACzB,UAAU,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;QACD,OAAO;YACL,KAAK,EAAE,EAAE,CAAC;QACZ,CAAC;KACF,CAAC;IAEF,oGAAoG;IACpG,0EAA0E;IAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE;QACzC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;YAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -49,6 +49,13 @@ export interface SpatialNavOptions {
|
|
|
49
49
|
cue?: (id: NavCue) => void;
|
|
50
50
|
/** When a direction press has no target and the direction is `UP`, smooth-scroll the page to top (home-hero UX). Default `false`. */
|
|
51
51
|
edgeScrollTop?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* How the focused item is brought into view on a directional move. Default `"smooth"` — a focus move
|
|
54
|
+
* glides instead of snapping, which is what makes controller navigation over a long page read as
|
|
55
|
+
* motion rather than a cut. Auto-downgraded to `"auto"` under `prefers-reduced-motion`; pass
|
|
56
|
+
* `"auto"` (or `"instant"`) to force the jump.
|
|
57
|
+
*/
|
|
58
|
+
scrollBehavior?: ScrollBehavior;
|
|
52
59
|
/**
|
|
53
60
|
* Hover a `[data-nav]` item (pointer) to focus it, unifying mouse and controller onto one focus
|
|
54
61
|
* state — so a menu with mouse support needs no `mouseenter` wiring of its own. Default `false`
|
|
@@ -62,7 +69,11 @@ export interface SpatialNavOptions {
|
|
|
62
69
|
* real neighbour exists.
|
|
63
70
|
*/
|
|
64
71
|
wrap?: boolean;
|
|
65
|
-
/**
|
|
72
|
+
/**
|
|
73
|
+
* Terminal back — called on `B`/`Z` when the screen stack is empty (app-owned: route home / open
|
|
74
|
+
* pause). Omit it on a ROOT screen: with no screen to pop and no handler, `B`/`Z` then does nothing
|
|
75
|
+
* at all — including no `nav.back` cue, so it never sounds like a navigation that didn't happen.
|
|
76
|
+
*/
|
|
66
77
|
onBack?: () => void;
|
|
67
78
|
/** Activate the focused element (`A`). Default: dispatch its `click`. */
|
|
68
79
|
onActivate?: (el: HTMLElement) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spatial-nav.d.ts","sourceRoot":"","sources":["../../src/nav/spatial-nav.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"spatial-nav.d.ts","sourceRoot":"","sources":["../../src/nav/spatial-nav.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGrE,wGAAwG;AACxG,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CAC/E;AAED,mGAAmG;AACnG,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG,aAAa,GAAG,UAAU,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,kFAAkF;IAClF,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4HAA4H;IAC5H,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8FAA8F;IAC9F,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3B,qIAAqI;IACrI,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,yEAAyE;IACzE,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC;IACvC,6FAA6F;IAC7F,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC;IAC7D;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,yEAAyE;IACzE,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/B,qFAAqF;IACrF,UAAU,IAAI,IAAI,CAAC;IACnB,qEAAqE;IACrE,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;OAGG;IACH,KAAK,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC;IACpC,wGAAwG;IACxG,OAAO,IAAI,WAAW,GAAG,IAAI,CAAC;IAC9B,sCAAsC;IACtC,KAAK,IAAI,IAAI,CAAC;IACd,4FAA4F;IAC5F,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACnC,uEAAuE;IACvE,SAAS,IAAI,IAAI,CAAC;IAClB;;;;OAIG;IACH,UAAU,IAAI,IAAI,CAAC;IACnB,yDAAyD;IACzD,OAAO,IAAI,IAAI,CAAC;CACjB;AAkFD,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,iBAAsB,GAAG,UAAU,CAobzE"}
|
package/dist/nav/spatial-nav.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { scrollBehavior } from "./motion.js";
|
|
1
2
|
/** Tolerance (px) for "is this candidate actually in the pressed direction". */
|
|
2
3
|
const DIR_TOL = 4;
|
|
3
4
|
const NAV_RING_STYLE_ID = "rydr-nav-css";
|
|
@@ -246,8 +247,12 @@ export function createSpatialNav(opts = {}) {
|
|
|
246
247
|
// stays "nearest": horizontal centring would yank wide grids sideways every press, and horizontal
|
|
247
248
|
// carousels never reach here (they consume LEFT/RIGHT in `onDirection`). Callers that want no
|
|
248
249
|
// scroll (seed / hover) pass `scroll: false`; `focusIndex` still asks for "center" explicitly.
|
|
249
|
-
|
|
250
|
-
|
|
250
|
+
// …and glide there rather than cutting: `behavior` defaults to "smooth" (see `scrollBehavior`),
|
|
251
|
+
// so a rider holding a direction sees the page travel. Repeated presses simply retarget the
|
|
252
|
+
// running animation — the browser never queues them — and reduced motion falls back to a jump.
|
|
253
|
+
if (opt.scroll !== false) {
|
|
254
|
+
el.scrollIntoView({ block: opt.scroll ?? "center", inline: "nearest", behavior: scrollBehavior(opts.scrollBehavior) });
|
|
255
|
+
}
|
|
251
256
|
if (isEditable(el))
|
|
252
257
|
el.focus();
|
|
253
258
|
captureSlot(el);
|
|
@@ -402,16 +407,25 @@ export function createSpatialNav(opts = {}) {
|
|
|
402
407
|
return;
|
|
403
408
|
}
|
|
404
409
|
if (dir === "UP" && opts.edgeScrollTop && typeof window !== "undefined") {
|
|
405
|
-
window.scrollTo({ top: 0, behavior:
|
|
410
|
+
window.scrollTo({ top: 0, behavior: scrollBehavior(opts.scrollBehavior) }); // nothing above — take the page to the top
|
|
406
411
|
}
|
|
407
412
|
}
|
|
413
|
+
/**
|
|
414
|
+
* B/Z. The cue follows the ACTION, never the press: a screen that has nowhere to go back to (a root
|
|
415
|
+
* menu with no `onBack` and nothing on the screen stack) must stay silent, or the sound tells the
|
|
416
|
+
* player something happened when nothing did — worse than no feedback, because it reads as a
|
|
417
|
+
* navigation they then have to look for.
|
|
418
|
+
*/
|
|
408
419
|
function back() {
|
|
409
|
-
opts.cue?.("nav.back");
|
|
410
420
|
if (stack.length > 1) {
|
|
421
|
+
opts.cue?.("nav.back");
|
|
411
422
|
api.popScreen();
|
|
412
423
|
return;
|
|
413
424
|
}
|
|
414
|
-
opts.onBack
|
|
425
|
+
if (!opts.onBack)
|
|
426
|
+
return;
|
|
427
|
+
opts.cue?.("nav.back");
|
|
428
|
+
opts.onBack();
|
|
415
429
|
}
|
|
416
430
|
const api = {
|
|
417
431
|
handle(name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spatial-nav.js","sourceRoot":"","sources":["../../src/nav/spatial-nav.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spatial-nav.js","sourceRoot":"","sources":["../../src/nav/spatial-nav.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
export declare const RYDR_PROTOCOL_VERSION: 30;
|
|
10
10
|
/** Semver of this SDK build. Sent in the handshake for telemetry/debugging.
|
|
11
11
|
* (Bumped to 2.0.0 by `npm version major` on release — see CHANGELOG [Unreleased].) */
|
|
12
|
-
export declare const RYDR_SDK_VERSION = "
|
|
12
|
+
export declare const RYDR_SDK_VERSION = "8.1.0";
|
|
13
13
|
//# sourceMappingURL=version.d.ts.map
|