@rydr/game-sdk 3.14.0 → 3.16.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.
Files changed (37) hide show
  1. package/dist/client/PlatformClient.d.ts +4 -0
  2. package/dist/client/PlatformClient.d.ts.map +1 -1
  3. package/dist/client/PlatformClient.js +39 -0
  4. package/dist/client/PlatformClient.js.map +1 -1
  5. package/dist/protocol/version.d.ts +1 -1
  6. package/dist/protocol/version.js +1 -1
  7. package/dist/soundboard-editor/index.d.ts +14 -0
  8. package/dist/soundboard-editor/index.d.ts.map +1 -1
  9. package/dist/soundboard-editor/index.js +155 -6
  10. package/dist/soundboard-editor/index.js.map +1 -1
  11. package/dist/sounds/index.d.ts +2 -0
  12. package/dist/sounds/index.d.ts.map +1 -1
  13. package/dist/sounds/index.js +1 -0
  14. package/dist/sounds/index.js.map +1 -1
  15. package/dist/sounds/music-director.d.ts +53 -0
  16. package/dist/sounds/music-director.d.ts.map +1 -0
  17. package/dist/sounds/music-director.js +53 -0
  18. package/dist/sounds/music-director.js.map +1 -0
  19. package/dist/sounds/soundboard.d.ts +5 -0
  20. package/dist/sounds/soundboard.d.ts.map +1 -1
  21. package/dist/sounds/soundboard.js.map +1 -1
  22. package/dist/three/perf-marks.d.ts +7 -0
  23. package/dist/three/perf-marks.d.ts.map +1 -1
  24. package/dist/three/perf-marks.js.map +1 -1
  25. package/dist/three/perf-overlay.d.ts +16 -3
  26. package/dist/three/perf-overlay.d.ts.map +1 -1
  27. package/dist/three/perf-overlay.js +30 -6
  28. package/dist/three/perf-overlay.js.map +1 -1
  29. package/dist/ui/admin-nav.d.ts +56 -0
  30. package/dist/ui/admin-nav.d.ts.map +1 -0
  31. package/dist/ui/admin-nav.js +219 -0
  32. package/dist/ui/admin-nav.js.map +1 -0
  33. package/dist/ui/index.d.ts +1 -0
  34. package/dist/ui/index.d.ts.map +1 -1
  35. package/dist/ui/index.js +1 -0
  36. package/dist/ui/index.js.map +1 -1
  37. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sounds/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AASzB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvG,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sounds/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AASzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvG,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * `MusicDirector` — the game-facing **background-music arrangement** layer over {@link SoundBank}.
3
+ *
4
+ * A game's screens map to a small set of coarse, game-declared **states** (`"menu"`, `"results"`,
5
+ * `"gameplay"`, …); this director maps each state to a **bed** — a single looping key, an ordered
6
+ * rotation of keys, or silence — and drives the shared bank's `music` bus. It is the music sibling of
7
+ * {@link createSoundboard}'s cue layer, and the same code-owns-structure / data-owns-binding split:
8
+ * the game declares the *states* + their code-default beds (structure), while *which track* each state
9
+ * plays can be overridden from a persisted doc via {@link MusicDirector.setBeds} (binding) — edited in
10
+ * the soundboard editor, applied at runtime with no redeploy.
11
+ *
12
+ * The director owns no `AudioContext` and creates no bank; it is handed the game's one shared bank so
13
+ * there is exactly one mixer/limiter/master. A charted/gameplay track that the game clocks itself
14
+ * should NOT route through here — map that state to `null` (silence) and let the game own its audio.
15
+ *
16
+ * Fail-silent by construction: an unpublished/absent bed key makes `bank.play()` return `null`, so the
17
+ * game is simply quiet until the asset is published in the shared library (no redeploy).
18
+ */
19
+ import type { SoundBank } from "./sound-bank.js";
20
+ /** A music bed: one looping key, an ordered rotation of keys, or null (silence). */
21
+ export type MusicBed = string | string[] | null;
22
+ export interface MusicDirectorOptions {
23
+ /** The game's one shared bank (from `createSoundboard(...).bank` or `createSoundBank`). */
24
+ bank: SoundBank;
25
+ /** Code-default bed per state. Its keys define the valid states and the fallback used when a state
26
+ * has no saved override. Values are full library keys (namespace them in the game if needed). */
27
+ beds: Record<string, MusicBed>;
28
+ /** dB the `music` bus drops by while a foreground clip is up (see {@link MusicDirector.suppress}).
29
+ * Default 18. */
30
+ suppressDb?: number;
31
+ }
32
+ export interface MusicDirector {
33
+ /** Set the active state → play the mapped bed (or none). Idempotent: re-entering a state whose bed
34
+ * resolves to the same track(s) is a no-op (does NOT restart the track). */
35
+ enter(state: string): void;
36
+ /** Transiently duck/quiet the current bed for a foreground clip (e.g. a song preview).
37
+ * Reference-counted: N suppress() calls need N release() calls before the bed returns. */
38
+ suppress(): void;
39
+ /** Undo one suppress(). */
40
+ release(): void;
41
+ /** Player setting: enable/disable the music bed. */
42
+ setEnabled(on: boolean): void;
43
+ /** Merge per-state bed overrides (e.g. an admin's saved doc) over the code defaults, then re-resolve
44
+ * the current state so a change to the live bed takes effect immediately. A `null` value silences
45
+ * that state; a state absent from `map` keeps its current bed. */
46
+ setBeds(overrides: Record<string, MusicBed>): void;
47
+ /** Re-apply the current bed after the first user gesture unlocks audio (or the manifest loads).
48
+ * Idempotent. */
49
+ unlock(): void;
50
+ dispose(): void;
51
+ }
52
+ export declare function createMusicDirector(opts: MusicDirectorOptions): MusicDirector;
53
+ //# sourceMappingURL=music-director.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"music-director.d.ts","sourceRoot":"","sources":["../../src/sounds/music-director.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,oFAAoF;AACpF,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;AAEhD,MAAM,WAAW,oBAAoB;IACnC,2FAA2F;IAC3F,IAAI,EAAE,SAAS,CAAC;IAChB;sGACkG;IAClG,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/B;sBACkB;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B;iFAC6E;IAC7E,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;+FAC2F;IAC3F,QAAQ,IAAI,IAAI,CAAC;IACjB,2BAA2B;IAC3B,OAAO,IAAI,IAAI,CAAC;IAChB,oDAAoD;IACpD,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B;;uEAEmE;IACnE,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC;IACnD;sBACkB;IAClB,MAAM,IAAI,IAAI,CAAC;IACf,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,GAAG,aAAa,CAmD7E"}
@@ -0,0 +1,53 @@
1
+ export function createMusicDirector(opts) {
2
+ const { bank } = opts;
3
+ const suppressDb = opts.suppressDb ?? 18;
4
+ let beds = { ...opts.beds };
5
+ // Start on the first declared state; the game's router calls enter() on first mount anyway, so this
6
+ // only matters for the (silent) window before that.
7
+ let state = Object.keys(beds)[0] ?? "";
8
+ let enabled = true;
9
+ let suppressCount = 0;
10
+ let gen = 0; // bumped on every bed change; a stale rotation's onEnded bails against it
11
+ let sig = ""; // signature of the current bed, so enter() can no-op when unchanged
12
+ let handle = null;
13
+ const bedFor = () => (enabled ? (beds[state] ?? null) : null);
14
+ const sigOf = (b) => (Array.isArray(b) ? b.join(",") : b ?? "");
15
+ function stopBed() {
16
+ gen++; // invalidate any pending rotation advance
17
+ handle?.stop();
18
+ handle = null;
19
+ }
20
+ function playFrom(keys, i, myGen) {
21
+ const rotate = keys.length > 1; // rotation plays once + advances; single track loops
22
+ handle = bank.play(keys[i % keys.length], {
23
+ loop: !rotate,
24
+ onEnded: rotate ? () => { if (myGen === gen)
25
+ playFrom(keys, i + 1, myGen); } : undefined,
26
+ }); // null if unpublished/blocked — fine
27
+ }
28
+ function applyBed() {
29
+ const bed = bedFor();
30
+ const next = sigOf(bed);
31
+ if (next === sig)
32
+ return; // already correct — do NOT restart
33
+ stopBed();
34
+ sig = next;
35
+ if (!bed)
36
+ return;
37
+ playFrom(Array.isArray(bed) ? bed : [bed], 0, gen);
38
+ if (suppressCount > 0)
39
+ bank.duck("music", suppressDb, 0); // stay quiet if a preview is up
40
+ }
41
+ return {
42
+ enter(nextState) { state = nextState; applyBed(); },
43
+ suppress() { if (suppressCount++ === 0)
44
+ bank.duck("music", suppressDb); },
45
+ release() { if (suppressCount > 0 && --suppressCount === 0)
46
+ bank.unduck("music"); },
47
+ setEnabled(on) { enabled = on; applyBed(); },
48
+ setBeds(overrides) { beds = { ...beds, ...overrides }; sig = ""; applyBed(); },
49
+ unlock() { sig = ""; applyBed(); }, // force a replay: a pre-gesture / pre-load play() was silent
50
+ dispose() { stopBed(); },
51
+ };
52
+ }
53
+ //# sourceMappingURL=music-director.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"music-director.js","sourceRoot":"","sources":["../../src/sounds/music-director.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@
30
30
  */
31
31
  import { type SoundBank, type PlayHandle, type PlayOptions } from "./sound-bank.js";
32
32
  import type { SoundCategory, SoundLibraryManifest } from "./types.js";
33
+ import type { MusicBed } from "./music-director.js";
33
34
  /** The published, platform-wide sound library (R2 `sounds/library.json`). Same host as the TTS cache.
34
35
  * A game may pass its own `manifestUrl`, but every game shares this one library by default. */
35
36
  export declare const DEFAULT_SOUND_LIBRARY_URL = "https://pub-3e9a1541a2e9454596e0f4148c48adef.r2.dev/sounds/library.json";
@@ -75,6 +76,10 @@ export declare const SOUNDBOARD_BINDINGS_ID = "bindings";
75
76
  /** Shape of the persisted bindings doc's `data`. */
76
77
  export interface SoundboardDoc {
77
78
  bindings: CueBindings;
79
+ /** Per-state music-bed overrides, layered over the game's code-default beds (see
80
+ * {@link MusicDirector.setBeds}). Keys are the game's own music-state ids; values are library
81
+ * keys / rotations / null (silent). Absent = every state stays on its code default. */
82
+ music?: Record<string, MusicBed>;
78
83
  }
79
84
  export interface SoundboardOptions {
80
85
  /** Published library URL. Defaults to {@link DEFAULT_SOUND_LIBRARY_URL}. */
@@ -1 +1 @@
1
- {"version":3,"file":"soundboard.d.ts","sourceRoot":"","sources":["../../src/sounds/soundboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EAAmB,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACrG,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEtE;gGACgG;AAChG,eAAO,MAAM,yBAAyB,4EACqC,CAAC;AAE5E;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACrB,yFAAyF;IACzF,QAAQ,EAAE,aAAa,CAAC;IACxB,sGAAsG;IACtG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mGAAmG;IACnG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,2BAA2B;AAC3B,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAChD,sGAAsG;AACtG,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEjD;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,UAS3B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAS/B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAClD,eAAO,MAAM,sBAAsB,aAAa,CAAC;AAEjD,oDAAoD;AACpD,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,WAAW,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,gFAAgF;IAChF,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,wEAAwE;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gFAAgF;IAChF,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,wFAAwF;IACxF,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,qFAAqF;IACrF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,qGAAqG;IACrG,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,IAAI,CAAC;IACvD,sCAAsC;IACtC,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,mFAAmF;IACnF,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,2FAA2F;IAC3F,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,oFAAoF;IACpF,IAAI,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,qGAAqG;IACrG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACpD;mFAC+E;IAC/E,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAAC;IACpC,8BAA8B;IAC9B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,2FAA2F;IAC3F,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,0BAA0B;IAC1B,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,iBAAsB,GAAG,UAAU,CAmFzE"}
1
+ {"version":3,"file":"soundboard.d.ts","sourceRoot":"","sources":["../../src/sounds/soundboard.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"soundboard.js","sourceRoot":"","sources":["../../src/sounds/soundboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"soundboard.js","sourceRoot":"","sources":["../../src/sounds/soundboard.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,13 @@ declare global {
30
30
  __PERF__?: boolean;
31
31
  __perfReport?: () => PerfReport | null;
32
32
  }
33
+ interface WindowEventMap {
34
+ /** Fired by the SDK when the built-in secret button code toggles the perf overlay.
35
+ * `detail.on` is the new visibility state. See `connectToPlatform`. */
36
+ "rydr:perf-toggle": CustomEvent<{
37
+ on: boolean;
38
+ }>;
39
+ }
33
40
  }
34
41
  /** Start a timing region under `label`. No-op unless `window.__PERF__` is set. */
35
42
  export declare function perfMark(label: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"perf-marks.d.ts","sourceRoot":"","sources":["../../src/three/perf-marks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAMH,wEAAwE;AACxE,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,EAAE,MAAM,CAAC;CACX;AACD,wCAAwC;AACxC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAEzD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,UAAU,GAAG,IAAI,CAAC;KACxC;CACF;AAMD,kFAAkF;AAClF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAG5C;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAY/C;AAED,iFAAiF;AACjF,wBAAgB,UAAU,IAAI,UAAU,GAAG,IAAI,CAU9C;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI7C;AAED,uEAAuE;AACvE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI9C"}
1
+ {"version":3,"file":"perf-marks.d.ts","sourceRoot":"","sources":["../../src/three/perf-marks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAMH,wEAAwE;AACxE,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,EAAE,MAAM,CAAC;CACX;AACD,wCAAwC;AACxC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAEzD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,UAAU,GAAG,IAAI,CAAC;KACxC;IACD,UAAU,cAAc;QACtB;gFACwE;QACxE,kBAAkB,EAAE,WAAW,CAAC;YAAE,EAAE,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;KAClD;CACF;AAMD,kFAAkF;AAClF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAG5C;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAY/C;AAED,iFAAiF;AACjF,wBAAgB,UAAU,IAAI,UAAU,GAAG,IAAI,CAU9C;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI7C;AAED,uEAAuE;AACvE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI9C"}
@@ -1 +1 @@
1
- {"version":3,"file":"perf-marks.js","sourceRoot":"","sources":["../../src/three/perf-marks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"perf-marks.js","sourceRoot":"","sources":["../../src/three/perf-marks.ts"],"names":[],"mappings":"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"}
@@ -35,13 +35,21 @@ export interface PerfOverlayOptions {
35
35
  phases?: string[];
36
36
  /** Extra action buttons (e.g. a renderer-specific "Toggle bloom"). */
37
37
  buttons?: PerfButtonSpec[];
38
- /** Pixel offset of the overlay stack from the top-right corner. Default
39
- * `{ top: 8, right: 8 }`. Raise `right` to clear other top-right chrome
40
- * (e.g. a host hamburger menu). */
38
+ /** Pixel offset of the overlay stack from a corner. Default anchors top-right at
39
+ * `{ top: 8, right: 8 }`. Supplying `bottom` anchors to the bottom instead of the top, and
40
+ * `left` anchors to the left (and left-aligns the stack) instead of the right — so
41
+ * `{ bottom: 8, left: 8 }` pins it bottom-left. Raise a value to clear other chrome. */
41
42
  offset?: {
42
43
  top?: number;
43
44
  right?: number;
45
+ bottom?: number;
46
+ left?: number;
44
47
  };
48
+ /** Auto-react to the SDK's `rydr:perf-toggle` event (fired by the built-in secret button code) by
49
+ * showing/hiding this overlay. Default `true`. Set `false` when the game itself owns the event
50
+ * because it builds/destroys the overlay lazily (so it can *create* it on the first trigger) —
51
+ * that game listens for `rydr:perf-toggle` and this instance must not double-handle it. */
52
+ autoToggle?: boolean;
45
53
  }
46
54
  /** A custom panel button. */
47
55
  export interface PerfButtonSpec {
@@ -84,6 +92,8 @@ export declare class PerfOverlay {
84
92
  private readonly pre;
85
93
  private readonly reportOut;
86
94
  private readonly onKey;
95
+ /** Set only when `autoToggle` (default) — the `rydr:perf-toggle` handler, removed in `destroy()`. */
96
+ private readonly onPerfToggle;
87
97
  constructor(host: HTMLElement, renderer: THREE.WebGLRenderer, opts?: PerfOverlayOptions);
88
98
  frameStart(): void;
89
99
  gpuBegin(): void;
@@ -91,6 +101,9 @@ export declare class PerfOverlay {
91
101
  /** End of frame. `dt` is seconds since last frame (drives the DOM throttle). */
92
102
  frameEnd(dt: number): void;
93
103
  toggle(): void;
104
+ /** Idempotent show/hide — a no-op when already in the requested state. Also enables `perfMark`
105
+ * sampling via `window.__PERF__` when shown. */
106
+ setVisible(on: boolean): void;
94
107
  destroy(): void;
95
108
  private applyVisibility;
96
109
  private makeButton;
@@ -1 +1 @@
1
- {"version":3,"file":"perf-overlay.d.ts","sourceRoot":"","sources":["../../src/three/perf-overlay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAIpC,iDAAiD;AACjD,MAAM,WAAW,kBAAkB;IACjC,6EAA6E;IAC7E,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC;IACvB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,yFAAyF;IACzF,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,sEAAsE;IACtE,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B;;wCAEoC;IACpC,MAAM,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C;AAED,6BAA6B;AAC7B,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AA6DD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,GAAG,MAAM,CA6FxD;AAED;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAC/C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAiD;IACpE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA+B;IAEnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IAEtC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,QAAQ,CAAK;IAErB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,UAAU,CAA2B;IAE7C,OAAO,CAAC,QAAQ,CAAkF;IAElG,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAiB;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;gBAEvC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE,IAAI,GAAE,kBAAuB;IA2E3F,UAAU,IAAI,IAAI;IAWlB,QAAQ,IAAI,IAAI;IAShB,MAAM,IAAI,IAAI;IAQd,gFAAgF;IAChF,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAsB1B,MAAM,IAAI,IAAI;IAMd,OAAO,IAAI,IAAI;IAgBf,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,UAAU;IA0BlB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,OAAO;IAkBf,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,SAAS;CA6BlB"}
1
+ {"version":3,"file":"perf-overlay.d.ts","sourceRoot":"","sources":["../../src/three/perf-overlay.ts"],"names":[],"mappings":"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"}
@@ -193,6 +193,8 @@ export class PerfOverlay {
193
193
  pre;
194
194
  reportOut;
195
195
  onKey;
196
+ /** Set only when `autoToggle` (default) — the `rydr:perf-toggle` handler, removed in `destroy()`. */
197
+ onPerfToggle;
196
198
  constructor(host, renderer, opts = {}) {
197
199
  this.renderer = renderer;
198
200
  this.opts = opts;
@@ -214,12 +216,15 @@ export class PerfOverlay {
214
216
  if (this.visible)
215
217
  window.__PERF__ = true;
216
218
  // ── Self-contained top-right overlay stack ──
217
- const offTop = opts.offset?.top ?? 8;
218
- const offRight = opts.offset?.right ?? 8;
219
+ const off = opts.offset ?? {};
220
+ // `bottom`/`left` anchor to the opposite edge when supplied; default is top-right, right-aligned.
221
+ const vert = off.bottom !== undefined ? `bottom: ${off.bottom}px;` : `top: ${off.top ?? 8}px;`;
222
+ const horiz = off.left !== undefined ? `left: ${off.left}px;` : `right: ${off.right ?? 8}px;`;
223
+ const align = off.left !== undefined ? "flex-start" : "flex-end";
219
224
  this.stack = document.createElement("div");
220
225
  this.stack.style.cssText = `
221
- position: absolute; top: ${offTop}px; right: ${offRight}px; z-index: 99999;
222
- display: flex; flex-direction: column; align-items: flex-end; gap: 6px;
226
+ position: absolute; ${vert} ${horiz} z-index: 99999;
227
+ display: flex; flex-direction: column; align-items: ${align}; gap: 6px;
223
228
  pointer-events: none;`;
224
229
  host.appendChild(this.stack);
225
230
  this.pill = this.makeButton("PERF", "rgba(7,9,20,0.82)");
@@ -256,6 +261,16 @@ export class PerfOverlay {
256
261
  this.toggle();
257
262
  };
258
263
  document.addEventListener("keydown", this.onKey);
264
+ // React to the SDK's secret button code (dispatched by connectToPlatform) unless the game owns
265
+ // the event itself (autoToggle: false). `detail.on` is authoritative so we stay in lock-step
266
+ // with `window.__PERF__` rather than blindly flipping.
267
+ if (opts.autoToggle ?? true) {
268
+ this.onPerfToggle = (e) => this.setVisible(e.detail.on);
269
+ window.addEventListener("rydr:perf-toggle", this.onPerfToggle);
270
+ }
271
+ else {
272
+ this.onPerfToggle = null;
273
+ }
259
274
  this.applyVisibility();
260
275
  }
261
276
  // ── Public per-frame API ─────────────────────────────────────
@@ -311,12 +326,21 @@ export class PerfOverlay {
311
326
  }
312
327
  }
313
328
  toggle() {
314
- this.visible = !this.visible;
315
- window.__PERF__ = this.visible;
329
+ this.setVisible(!this.visible);
330
+ }
331
+ /** Idempotent show/hide — a no-op when already in the requested state. Also enables `perfMark`
332
+ * sampling via `window.__PERF__` when shown. */
333
+ setVisible(on) {
334
+ if (this.visible === on)
335
+ return;
336
+ this.visible = on;
337
+ window.__PERF__ = on;
316
338
  this.applyVisibility();
317
339
  }
318
340
  destroy() {
319
341
  document.removeEventListener("keydown", this.onKey);
342
+ if (this.onPerfToggle)
343
+ window.removeEventListener("rydr:perf-toggle", this.onPerfToggle);
320
344
  this.stack.remove();
321
345
  const gl = this.gl;
322
346
  if (this.ext) {
@@ -1 +1 @@
1
- {"version":3,"file":"perf-overlay.js","sourceRoot":"","sources":["../../src/three/perf-overlay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"perf-overlay.js","sourceRoot":"","sources":["../../src/three/perf-overlay.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * `createAdminNav` — an admin-only side navigation drawer, mirroring the shell's hamburger interaction
3
+ * but visually distinct so it never reads as the shell chrome.
4
+ *
5
+ * The problem it solves: every RYDR game accumulates admin-only destinations — content/chart/sound
6
+ * editors, leaderboard consoles, UI previews, design showcases — that are otherwise unreachable except
7
+ * by typing a URL. This widget surfaces them in one grouped drawer: a fixed **top-left** trigger with
8
+ * a distinct "tools" glyph (the shell's own hamburger sits top-right) that slides a panel in from the
9
+ * LEFT. Esc or a backdrop click closes it.
10
+ *
11
+ * Self-contained, like the rest of `@rydr/game-sdk/ui`: it injects its own scoped `.rydr-adminnav-*`
12
+ * CSS once into `<head>`, depends on no global styles or CSS variables, and pulls in no three.js — so
13
+ * a game gets the look just by constructing it.
14
+ *
15
+ * **It is NOT self-gating.** Whether an admin nav should exist at all is the caller's decision
16
+ * (typically `session.identity.isAdmin`); this widget just renders whatever groups it's given. Keep the
17
+ * gate at the call site so the widget stays a dumb, reusable renderer.
18
+ *
19
+ * Navigation: clicking an item calls `onNavigate(url)` if provided (so a game can route through its own
20
+ * leave-guard / unsaved-changes confirm), otherwise it defaults to `location.href = url`.
21
+ */
22
+ /** One destination row: a URL plus its display label and optional emoji icon + description. */
23
+ export interface AdminNavItem {
24
+ label: string;
25
+ url: string;
26
+ /** Optional leading emoji/glyph (e.g. "🎵"). */
27
+ icon?: string;
28
+ /** Optional secondary line under the label. */
29
+ description?: string;
30
+ }
31
+ /** A titled section of items (e.g. "Editors", "Admin"). */
32
+ export interface AdminNavGroup {
33
+ label: string;
34
+ items: AdminNavItem[];
35
+ }
36
+ export interface AdminNavOptions {
37
+ /** The grouped destinations to list. Empty groups are skipped. */
38
+ groups: AdminNavGroup[];
39
+ /** Panel header text. Default "Admin". */
40
+ title?: string;
41
+ /** The `url` of the current page — its row is highlighted as active. */
42
+ current?: string;
43
+ /** Navigate handler. Default: `location.href = url`. Route through this to honor a leave-guard. */
44
+ onNavigate?: (url: string) => void;
45
+ }
46
+ export interface AdminNav {
47
+ /** The widget root (trigger + backdrop + panel). Append it to `document.body`. */
48
+ el: HTMLElement;
49
+ open(): void;
50
+ close(): void;
51
+ /** Whether the drawer is currently open. */
52
+ isOpen(): boolean;
53
+ dispose(): void;
54
+ }
55
+ export declare function createAdminNav(opts: AdminNavOptions): AdminNav;
56
+ //# sourceMappingURL=admin-nav.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-nav.d.ts","sourceRoot":"","sources":["../../src/ui/admin-nav.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,+FAA+F;AAC/F,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,2DAA2D;AAC3D,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,kEAAkE;IAClE,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mGAAmG;IACnG,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,QAAQ;IACvB,kFAAkF;IAClF,EAAE,EAAE,WAAW,CAAC;IAChB,IAAI,IAAI,IAAI,CAAC;IACb,KAAK,IAAI,IAAI,CAAC;IACd,4CAA4C;IAC5C,MAAM,IAAI,OAAO,CAAC;IAClB,OAAO,IAAI,IAAI,CAAC;CACjB;AAaD,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,QAAQ,CA0G9D"}