@rydr/game-sdk 3.12.0 → 3.14.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 (38) hide show
  1. package/README.md +9 -1
  2. package/dist/client/PlatformClient.d.ts +22 -2
  3. package/dist/client/PlatformClient.d.ts.map +1 -1
  4. package/dist/client/PlatformClient.js +37 -0
  5. package/dist/client/PlatformClient.js.map +1 -1
  6. package/dist/host/PlatformHost.d.ts +15 -1
  7. package/dist/host/PlatformHost.d.ts.map +1 -1
  8. package/dist/host/PlatformHost.js +12 -0
  9. package/dist/host/PlatformHost.js.map +1 -1
  10. package/dist/protocol/boards.d.ts +14 -0
  11. package/dist/protocol/boards.d.ts.map +1 -1
  12. package/dist/protocol/boards.js.map +1 -1
  13. package/dist/protocol/guards.d.ts.map +1 -1
  14. package/dist/protocol/guards.js +1 -0
  15. package/dist/protocol/guards.js.map +1 -1
  16. package/dist/protocol/messages.d.ts +38 -3
  17. package/dist/protocol/messages.d.ts.map +1 -1
  18. package/dist/protocol/version.d.ts +2 -2
  19. package/dist/protocol/version.d.ts.map +1 -1
  20. package/dist/protocol/version.js +6 -2
  21. package/dist/protocol/version.js.map +1 -1
  22. package/dist/soundboard-editor/index.d.ts +44 -0
  23. package/dist/soundboard-editor/index.d.ts.map +1 -0
  24. package/dist/soundboard-editor/index.js +253 -0
  25. package/dist/soundboard-editor/index.js.map +1 -0
  26. package/dist/sounds/index.d.ts +2 -0
  27. package/dist/sounds/index.d.ts.map +1 -1
  28. package/dist/sounds/index.js +1 -0
  29. package/dist/sounds/index.js.map +1 -1
  30. package/dist/sounds/sound-bank.d.ts +3 -0
  31. package/dist/sounds/sound-bank.d.ts.map +1 -1
  32. package/dist/sounds/sound-bank.js +9 -1
  33. package/dist/sounds/sound-bank.js.map +1 -1
  34. package/dist/sounds/soundboard.d.ts +121 -0
  35. package/dist/sounds/soundboard.d.ts.map +1 -0
  36. package/dist/sounds/soundboard.js +154 -0
  37. package/dist/sounds/soundboard.js.map +1 -0
  38. package/package.json +5 -1
@@ -13,7 +13,7 @@
13
13
  import type { Capability } from "./capabilities.js";
14
14
  import type { ScopedIdentity } from "./identity.js";
15
15
  import type { ButtonName, ButtonEdge } from "./buttons.js";
16
- import type { BoardDefinition, BoardEntry, ScoreSubmission, SubmitScoreResult } from "./boards.js";
16
+ import type { BoardDefinition, BoardEntry, ScoreSubmission, SubmitScoreResult, AdminSeedEntry, LeaderboardPage } from "./boards.js";
17
17
  import type { GameDataScope, GameDoc } from "./gamedata.js";
18
18
  import type { CoreWorld } from "./worlds.js";
19
19
  import type { CatalogCharacter, CharacterRig } from "./characters.js";
@@ -153,6 +153,31 @@ export interface RunSaveMessage extends RydrTagged {
153
153
  /** Leaderboard submissions for this run (a run can hit several boards). */
154
154
  scores?: ScoreSubmission[];
155
155
  }
156
+ /**
157
+ * Admin-only leaderboard moderation (one relayed op family, so future admin ops need no new
158
+ * protocol). The shell enforces admin and the backend re-checks `is_admin()`; a non-admin caller is
159
+ * rejected via `error` on {@link AdminBoardsResultMessage}. Unlike `leaderboard.query`/`run.save`,
160
+ * `key` is passed VERBATIM — the shell does NOT append the power-source partition, so an admin tool
161
+ * controls `:trainer`/`:keyboard` explicitly.
162
+ * - `get` → read a board page by full key (`page`).
163
+ * - `seed` → replace the board's seed rows with `entries` (`count`).
164
+ * - `clearSeeds` → remove all seed rows on the key (`ok`).
165
+ * - `deleteEntry`→ remove one entry by `playerId` (a real `player_id`, or a `seed:<id>`) (`ok`).
166
+ */
167
+ export interface AdminBoardsMessage extends RydrTagged {
168
+ type: "rydr/admin.boards";
169
+ nonce: number;
170
+ op: "get" | "seed" | "clearSeeds" | "deleteEntry";
171
+ boardId: string;
172
+ /** Full stored key incl. the partition suffix, e.g. `song-1::hard:trainer`. */
173
+ key: string;
174
+ /** `get`: max rows to return. */
175
+ limit?: number;
176
+ /** `seed`: baseline rows to write (replace semantics for this key). */
177
+ entries?: AdminSeedEntry[];
178
+ /** `deleteEntry`: the entry to remove — a real `player_id` or a synthetic `seed:<seedId>`. */
179
+ playerId?: string;
180
+ }
156
181
  /** Read one doc from the generic game-data store. Reply: {@link GameDataResultMessage} (`doc`). */
157
182
  export interface GameDataGetMessage extends RydrTagged {
158
183
  type: "rydr/gamedata.get";
@@ -349,7 +374,7 @@ export interface RoomScheduleEventMessage extends RydrTagged {
349
374
  payload?: unknown;
350
375
  at?: number;
351
376
  }
352
- export type GameToPlatformMessage = HelloMessage | ReadyMessage | LoadProgressMessage | PongMessage | TrainerSetSimulationMessage | TrainerSetTargetPowerMessage | TrainerSetErgModeMessage | HwSetRateMessage | RouteChangedMessage | SetPowerBarMessage | SetMenuMessage | ExitRequestMessage | RequestHardwareModalMessage | GameErrorMessage | LeaderboardQueryMessage | LeaderboardRankQueryMessage | RunSaveMessage | RunStartMessage | GameDataGetMessage | GameDataListMessage | GameDataSaveMessage | GameDataDeleteMessage | AssetUploadUrlMessage | VoiceoverGenerateMessage | MediaUploadUrlMessage | MediaSavedMessage | ReplaySaveMessage | ReplayGetMessage | RunGetMessage | WorldListMessage | WorldGetMessage | CharacterListMessage | CharacterGetMessage | RigGetMessage | RoomJoinMessage | RoomLeaveMessage | RoomSendMessage | RoomSetStateMessage | RoomScheduleEventMessage;
377
+ export type GameToPlatformMessage = HelloMessage | ReadyMessage | LoadProgressMessage | PongMessage | TrainerSetSimulationMessage | TrainerSetTargetPowerMessage | TrainerSetErgModeMessage | HwSetRateMessage | RouteChangedMessage | SetPowerBarMessage | SetMenuMessage | ExitRequestMessage | RequestHardwareModalMessage | GameErrorMessage | LeaderboardQueryMessage | LeaderboardRankQueryMessage | AdminBoardsMessage | RunSaveMessage | RunStartMessage | GameDataGetMessage | GameDataListMessage | GameDataSaveMessage | GameDataDeleteMessage | AssetUploadUrlMessage | VoiceoverGenerateMessage | MediaUploadUrlMessage | MediaSavedMessage | ReplaySaveMessage | ReplayGetMessage | RunGetMessage | WorldListMessage | WorldGetMessage | CharacterListMessage | CharacterGetMessage | RigGetMessage | RoomJoinMessage | RoomLeaveMessage | RoomSendMessage | RoomSetStateMessage | RoomScheduleEventMessage;
353
378
  /** Accepts the handshake: grants capabilities and hands over the scoped identity. */
354
379
  export interface WelcomeMessage extends RydrTagged {
355
380
  type: "rydr/welcome";
@@ -537,6 +562,16 @@ export interface RunSaveResultMessage extends RydrTagged {
537
562
  results: SubmitScoreResult[];
538
563
  error?: string;
539
564
  }
565
+ /** Reply to {@link AdminBoardsMessage} (matched by `nonce`). `get`→`page`; `seed`→`count`;
566
+ * `clearSeeds`/`deleteEntry`→`ok`. `error` set when denied (not an admin) or the op failed. */
567
+ export interface AdminBoardsResultMessage extends RydrTagged {
568
+ type: "rydr/admin.boards.result";
569
+ nonce: number;
570
+ page?: LeaderboardPage;
571
+ count?: number;
572
+ ok?: boolean;
573
+ error?: string;
574
+ }
540
575
  /** Reply to {@link WorldListMessage} (matched by `nonce`). */
541
576
  export interface WorldListResultMessage extends RydrTagged {
542
577
  type: "rydr/world.listResult";
@@ -622,7 +657,7 @@ export interface RoomEventMessage extends RydrTagged {
622
657
  at: number;
623
658
  from: string;
624
659
  }
625
- export type PlatformToGameMessage = WelcomeMessage | RejectMessage | PowerMessage | CadenceMessage | HeartRateMessage | SpeedMessage | PowerBufferMessage | InputButtonMessage | IdentityUpdateMessage | TrainerStatusMessage | InputStatusMessage | LifecyclePauseMessage | LifecycleResumeMessage | PingMessage | LeaderboardQueryResultMessage | LeaderboardRankQueryResultMessage | GameDataResultMessage | AssetUploadUrlResultMessage | VoiceoverGenerateResultMessage | MediaUploadUrlResultMessage | ReplayResultMessage | RunGetResultMessage | RunStartResultMessage | RunSaveResultMessage | WorldListResultMessage | WorldGetResultMessage | CharacterListResultMessage | CharacterGetResultMessage | RigGetResultMessage | RoomOpenedMessage | RoomClosedMessage | RoomPresenceMessage | RoomStateMessage | RoomMessageMessage | RoomTelemetryMessage | RoomEventMessage;
660
+ export type PlatformToGameMessage = WelcomeMessage | RejectMessage | PowerMessage | CadenceMessage | HeartRateMessage | SpeedMessage | PowerBufferMessage | InputButtonMessage | IdentityUpdateMessage | TrainerStatusMessage | InputStatusMessage | LifecyclePauseMessage | LifecycleResumeMessage | PingMessage | LeaderboardQueryResultMessage | LeaderboardRankQueryResultMessage | AdminBoardsResultMessage | GameDataResultMessage | AssetUploadUrlResultMessage | VoiceoverGenerateResultMessage | MediaUploadUrlResultMessage | ReplayResultMessage | RunGetResultMessage | RunStartResultMessage | RunSaveResultMessage | WorldListResultMessage | WorldGetResultMessage | CharacterListResultMessage | CharacterGetResultMessage | RigGetResultMessage | RoomOpenedMessage | RoomClosedMessage | RoomPresenceMessage | RoomStateMessage | RoomMessageMessage | RoomTelemetryMessage | RoomEventMessage;
626
661
  /** Any message in the protocol. */
627
662
  export type RydrMessage = GameToPlatformMessage | PlatformToGameMessage;
628
663
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/protocol/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/protocol/messages.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,8 @@
6
6
  * built against an older protocol keeps working. Evolve the protocol
7
7
  * ADDITIVELY — never change or remove an existing message shape.
8
8
  */
9
- export declare const RYDR_PROTOCOL_VERSION: 15;
9
+ export declare const RYDR_PROTOCOL_VERSION: 16;
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 = "3.12.0";
12
+ export declare const RYDR_SDK_VERSION = "3.14.0";
13
13
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/protocol/version.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAwCH,eAAO,MAAM,qBAAqB,EAAG,EAAW,CAAC;AAEjD;wFACwF;AACxF,eAAO,MAAM,gBAAgB,WAAW,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/protocol/version.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA4CH,eAAO,MAAM,qBAAqB,EAAG,EAAW,CAAC;AAEjD;wFACwF;AACxF,eAAO,MAAM,gBAAgB,WAAW,CAAC"}
@@ -45,8 +45,12 @@
45
45
  // distinct from `visible:false` (immersive play, which keeps the hamburger for exit). Additive:
46
46
  // older shells ignore `hidden` and keep the hamburger (the prior always-visible behaviour), so a
47
47
  // game sending `setMenu("hidden")` to an old shell simply doesn't get the takeover.
48
- export const RYDR_PROTOCOL_VERSION = 15;
48
+ // Bumped 15 16: adds the admin-only `rydr/admin.boards` / `rydr/admin.boards.result` message pair
49
+ // for leaderboard moderation + baseline seeding (session `admin.boards.*`, host `onAdminBoards`).
50
+ // Additive: an older shell has no `onAdminBoards` handler, so the op rejects/timeouts and the admin
51
+ // console simply can't moderate against that shell — no effect on gameplay or existing messages.
52
+ export const RYDR_PROTOCOL_VERSION = 16;
49
53
  /** Semver of this SDK build. Sent in the handshake for telemetry/debugging.
50
54
  * (Bumped to 2.0.0 by `npm version major` on release — see CHANGELOG [Unreleased].) */
51
- export const RYDR_SDK_VERSION = "3.12.0";
55
+ export const RYDR_SDK_VERSION = "3.14.0";
52
56
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/protocol/version.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,8FAA8F;AAC9F,yDAAyD;AACzD,4FAA4F;AAC5F,oGAAoG;AACpG,kGAAkG;AAClG,6EAA6E;AAC7E,kGAAkG;AAClG,uGAAuG;AACvG,wFAAwF;AACxF,oGAAoG;AACpG,gGAAgG;AAChG,yFAAyF;AACzF,kHAAkH;AAClH,oGAAoG;AACpG,qGAAqG;AACrG,kGAAkG;AAClG,mGAAmG;AACnG,oGAAoG;AACpG,6FAA6F;AAC7F,gGAAgG;AAChG,uGAAuG;AACvG,mGAAmG;AACnG,kGAAkG;AAClG,+FAA+F;AAC/F,kGAAkG;AAClG,iGAAiG;AACjG,iGAAiG;AACjG,+FAA+F;AAC/F,qGAAqG;AACrG,uGAAuG;AACvG,+FAA+F;AAC/F,qGAAqG;AACrG,kGAAkG;AAClG,2BAA2B;AAC3B,mGAAmG;AACnG,mGAAmG;AACnG,gGAAgG;AAChG,iGAAiG;AACjG,oFAAoF;AACpF,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAW,CAAC;AAEjD;wFACwF;AACxF,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/protocol/version.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,8FAA8F;AAC9F,yDAAyD;AACzD,4FAA4F;AAC5F,oGAAoG;AACpG,kGAAkG;AAClG,6EAA6E;AAC7E,kGAAkG;AAClG,uGAAuG;AACvG,wFAAwF;AACxF,oGAAoG;AACpG,gGAAgG;AAChG,yFAAyF;AACzF,kHAAkH;AAClH,oGAAoG;AACpG,qGAAqG;AACrG,kGAAkG;AAClG,mGAAmG;AACnG,oGAAoG;AACpG,6FAA6F;AAC7F,gGAAgG;AAChG,uGAAuG;AACvG,mGAAmG;AACnG,kGAAkG;AAClG,+FAA+F;AAC/F,kGAAkG;AAClG,iGAAiG;AACjG,iGAAiG;AACjG,+FAA+F;AAC/F,qGAAqG;AACrG,uGAAuG;AACvG,+FAA+F;AAC/F,qGAAqG;AACrG,kGAAkG;AAClG,2BAA2B;AAC3B,mGAAmG;AACnG,mGAAmG;AACnG,gGAAgG;AAChG,iGAAiG;AACjG,oFAAoF;AACpF,oGAAoG;AACpG,kGAAkG;AAClG,oGAAoG;AACpG,iGAAiG;AACjG,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAW,CAAC;AAEjD;wFACwF;AACxF,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * `@rydr/game-sdk/soundboard-editor` — the reusable per-game **sound cue binding** editor.
3
+ *
4
+ * Hosted on a game's admin page (`sound-editor.html` → `mountSoundboardEditor`). It's the sibling of
5
+ * `@rydr/game-sdk/voiceover-editor`: code owns the STRUCTURE (the cue catalog a game fires —
6
+ * `nav.move`, `record.pb`, …, from `STANDARD_CUES` + the game's own), and this editor owns the
7
+ * BINDING — which library sound each cue plays. Bindings are written to a single `shared` gamedata
8
+ * doc (admin-write, public-read — like conversations/songs), read at runtime by `createSoundboard`'s
9
+ * `setBindings` to override the code defaults. So an admin re-binds any game's cues to any published
10
+ * sound with **no redeploy**.
11
+ *
12
+ * Per cue: pick a library sound (or "inherit code default", or "silent"), ▶ preview it, and see
13
+ * whether the resolved key is actually published. **Save** persists the override doc.
14
+ *
15
+ * Self-contained like `@rydr/game-sdk/ui`: injects its own scoped `.rydr-sbe-*` CSS once. Admin-gate
16
+ * the HOST page; the shell also enforces the `shared` write. A non-admin session renders read-only.
17
+ */
18
+ import type { GameDoc } from "../protocol/gamedata.js";
19
+ import { type CueCatalog, type CueBindings } from "../sounds/soundboard.js";
20
+ /** The session surface the editor needs — a `PlatformSession` satisfies it. */
21
+ export interface SoundboardEditorSession {
22
+ readonly identity: {
23
+ isAdmin?: boolean;
24
+ };
25
+ getContent(collection: string, id: string): Promise<GameDoc | null>;
26
+ saveContent(collection: string, id: string, value: unknown): Promise<void>;
27
+ }
28
+ export interface SoundboardEditorOptions {
29
+ session: SoundboardEditorSession;
30
+ /** The game's own cues, merged over {@link STANDARD_CUES} (same shape as `createSoundboard`). */
31
+ cues?: CueCatalog;
32
+ /** The game's CODE default bindings, merged over {@link STANDARD_BINDINGS}; shown as each cue's
33
+ * fallback and used as the effective binding when a cue has no saved override. */
34
+ defaults?: CueBindings;
35
+ /** Library manifest to browse/preview. Defaults to {@link DEFAULT_SOUND_LIBRARY_URL}. */
36
+ manifestUrl?: string;
37
+ /** Optional link to the full admin Sound Gallery (to author new sounds). */
38
+ galleryUrl?: string;
39
+ }
40
+ export interface SoundboardEditor {
41
+ dispose(): void;
42
+ }
43
+ export declare function mountSoundboardEditor(root: HTMLElement, opts: SoundboardEditorOptions): SoundboardEditor;
44
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/soundboard-editor/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGvD,OAAO,EAML,KAAK,UAAU,EACf,KAAK,WAAW,EAEjB,MAAM,yBAAyB,CAAC;AAEjC,+EAA+E;AAC/E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACzC,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACpE,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5E;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,uBAAuB,CAAC;IACjC,iGAAiG;IACjG,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;uFACmF;IACnF,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,yFAAyF;IACzF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,IAAI,IAAI,CAAC;CACjB;AA6CD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,uBAAuB,GAAG,gBAAgB,CA2NxG"}
@@ -0,0 +1,253 @@
1
+ import { createSoundBank } from "../sounds/sound-bank.js";
2
+ import { STANDARD_CUES, STANDARD_BINDINGS, DEFAULT_SOUND_LIBRARY_URL, SOUNDBOARD_COLLECTION, SOUNDBOARD_BINDINGS_ID, } from "../sounds/soundboard.js";
3
+ /** Sentinel <option> value meaning "explicitly silent" (overrides a non-empty default). */
4
+ const NONE = "__none__";
5
+ /** Sentinel <option> value meaning "inherit the code default" (no saved override). */
6
+ const INHERIT = "";
7
+ const CSS = `
8
+ .rydr-sbe{position:fixed;inset:0;display:flex;flex-direction:column;font:14px/1.5 system-ui,sans-serif;color:#e7e9ee;background:#0d0f14}
9
+ .rydr-sbe *{box-sizing:border-box}
10
+ .rydr-sbe-head{display:flex;align-items:center;gap:14px;padding:12px 18px;border-bottom:1px solid #232733}
11
+ .rydr-sbe-head h1{font-size:15px;margin:0;font-weight:600}
12
+ .rydr-sbe-head .sub{color:#8b93a7;font-size:12px}
13
+ .rydr-sbe-actions{margin-left:auto;display:flex;align-items:center;gap:8px}
14
+ .rydr-sbe-btn{padding:8px 13px;border-radius:8px;border:1px solid #31405f;background:#1b2130;color:#fff;cursor:pointer;font:inherit;white-space:nowrap}
15
+ .rydr-sbe-btn:disabled{opacity:.5;cursor:default}
16
+ .rydr-sbe-btn.primary{background:#2b5fd6;border-color:#3f74ee}
17
+ .rydr-sbe-btn.ghost{background:transparent;border-color:#232733;color:#8b93a7}
18
+ .rydr-sbe-dirty{font-size:12px;color:#e2b25a}
19
+ .rydr-sbe-body{flex:1;overflow:auto;padding:16px 20px}
20
+ .rydr-sbe-note{color:#8b93a7;font-size:12px;margin-bottom:14px}
21
+ .rydr-sbe-cat{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8b93a7;margin:18px 0 6px}
22
+ .rydr-sbe-row{display:grid;grid-template-columns:220px 1fr auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid #232733;border-radius:10px;background:#11141b;margin-bottom:8px}
23
+ .rydr-sbe-cue .id{font-weight:600}
24
+ .rydr-sbe-cue small{display:block;color:#6f7889;font-size:11px}
25
+ .rydr-sbe-pick{display:flex;flex-direction:column;gap:4px}
26
+ .rydr-sbe-pick select{width:100%;background:#0d0f14;border:1px solid #2a3242;border-radius:8px;color:#e7e9ee;padding:7px 9px;font:inherit}
27
+ .rydr-sbe-pick select:disabled{opacity:.7;cursor:default}
28
+ .rydr-sbe-resolved{font-size:11px;color:#6f7889}
29
+ .rydr-sbe-resolved .ok{color:#57d38c}
30
+ .rydr-sbe-resolved .missing{color:#e2b25a}
31
+ .rydr-sbe-resolved .silent{color:#8b93a7}
32
+ .rydr-sbe-play{min-width:96px;display:flex;justify-content:flex-end}
33
+ .rydr-sbe-empty{padding:24px 4px;color:#8b93a7}
34
+ `;
35
+ function injectCss() {
36
+ const id = "rydr-sbe-css";
37
+ if (document.getElementById(id))
38
+ return;
39
+ const el = document.createElement("style");
40
+ el.id = id;
41
+ el.textContent = CSS;
42
+ document.head.appendChild(el);
43
+ }
44
+ export function mountSoundboardEditor(root, opts) {
45
+ injectCss();
46
+ const { session } = opts;
47
+ const isAdmin = !!session.identity.isAdmin;
48
+ const catalog = { ...STANDARD_CUES, ...opts.cues };
49
+ const defaults = { ...STANDARD_BINDINGS, ...opts.defaults };
50
+ // Working override set: only cues the admin has explicitly set. Empty string = explicitly silent.
51
+ let working = {};
52
+ let saved = "{}"; // JSON snapshot for dirty detection
53
+ const bank = createSoundBank({ manifestUrl: opts.manifestUrl ?? DEFAULT_SOUND_LIBRARY_URL });
54
+ let assets = [];
55
+ const known = new Set(); // published keys
56
+ root.classList.add("rydr-sbe");
57
+ root.innerHTML = "";
58
+ // ── Header ──────────────────────────────────────────────────────────────────
59
+ const head = document.createElement("div");
60
+ head.className = "rydr-sbe-head";
61
+ head.innerHTML = `<h1>Sound cues</h1><span class="sub">Bind each game event to a library sound</span>`;
62
+ const actions = document.createElement("div");
63
+ actions.className = "rydr-sbe-actions";
64
+ const dirtyEl = document.createElement("span");
65
+ dirtyEl.className = "rydr-sbe-dirty";
66
+ const saveBtn = document.createElement("button");
67
+ saveBtn.className = "rydr-sbe-btn primary";
68
+ saveBtn.textContent = "Save";
69
+ saveBtn.disabled = true;
70
+ actions.append(dirtyEl, saveBtn);
71
+ if (opts.galleryUrl) {
72
+ const g = document.createElement("a");
73
+ g.className = "rydr-sbe-btn ghost";
74
+ g.textContent = "Sound gallery ↗";
75
+ g.href = opts.galleryUrl;
76
+ actions.prepend(g);
77
+ }
78
+ head.appendChild(actions);
79
+ const body = document.createElement("div");
80
+ body.className = "rydr-sbe-body";
81
+ root.append(head, body);
82
+ const isDirty = () => JSON.stringify(working) !== saved;
83
+ function refreshDirty() {
84
+ const dirty = isDirty();
85
+ dirtyEl.textContent = dirty ? "Unsaved changes" : "";
86
+ saveBtn.disabled = !dirty || !isAdmin;
87
+ }
88
+ /** The key a cue currently resolves to at runtime: explicit override, else code default. `""` when
89
+ * silent (explicit none, or a default that clears). */
90
+ function resolvedKey(cueId) {
91
+ const has = Object.prototype.hasOwnProperty.call(working, cueId);
92
+ const key = has ? (working[cueId] ?? "") : (defaults[cueId] ?? "");
93
+ return key;
94
+ }
95
+ function stopAll() {
96
+ for (const a of assets)
97
+ bank.stop(a.key);
98
+ }
99
+ function renderRows() {
100
+ body.innerHTML = "";
101
+ if (!isAdmin) {
102
+ const w = document.createElement("p");
103
+ w.className = "rydr-sbe-note";
104
+ w.textContent = "Read-only — open this editor from the shell while signed in as a platform admin to edit bindings.";
105
+ body.appendChild(w);
106
+ }
107
+ const note = document.createElement("p");
108
+ note.className = "rydr-sbe-note";
109
+ note.textContent =
110
+ "“Inherit default” uses the sound bound in code (or the shared sys.* default). “Silent” mutes the cue. Unpublished keys stay silent until the sound is added in the gallery.";
111
+ body.appendChild(note);
112
+ // Group cue rows by their category, categories in the SoundBank's canonical order.
113
+ const order = ["ui", "sfx", "music", "ambience", "voice"];
114
+ const cueIds = Object.keys(catalog).sort();
115
+ const byCat = new Map();
116
+ for (const id of cueIds) {
117
+ const cat = catalog[id].category;
118
+ (byCat.get(cat) ?? byCat.set(cat, []).get(cat)).push(id);
119
+ }
120
+ // Sound <option> list, same-category sounds first for each cue (built per-row).
121
+ const soundsByCat = new Map();
122
+ for (const a of assets)
123
+ (soundsByCat.get(a.category) ?? soundsByCat.set(a.category, []).get(a.category)).push(a);
124
+ for (const cat of order) {
125
+ const ids = byCat.get(cat);
126
+ if (!ids || !ids.length)
127
+ continue;
128
+ const h = document.createElement("div");
129
+ h.className = "rydr-sbe-cat";
130
+ h.textContent = cat;
131
+ body.appendChild(h);
132
+ for (const id of ids)
133
+ body.appendChild(cueRow(id, cat, soundsByCat));
134
+ }
135
+ refreshDirty();
136
+ }
137
+ function cueRow(cueId, cueCat, soundsByCat) {
138
+ const def = catalog[cueId];
139
+ const row = document.createElement("div");
140
+ row.className = "rydr-sbe-row";
141
+ const cueCell = document.createElement("div");
142
+ cueCell.className = "rydr-sbe-cue";
143
+ cueCell.innerHTML = `<span class="id">${cueId}</span><small>${def.description ?? ""}</small>`;
144
+ const pick = document.createElement("div");
145
+ pick.className = "rydr-sbe-pick";
146
+ const sel = document.createElement("select");
147
+ sel.disabled = !isAdmin;
148
+ const defKey = defaults[cueId] ?? "";
149
+ const defLabel = defKey ? `Inherit default · ${defKey}` : "Inherit default · (none)";
150
+ sel.append(new Option(defLabel, INHERIT), new Option("— Silent —", NONE));
151
+ // Same-category sounds first, then the rest, so a ui cue surfaces ui sounds at the top.
152
+ const groups = [cueCat, ...["ui", "sfx", "music", "ambience", "voice"].filter((c) => c !== cueCat)];
153
+ for (const c of groups) {
154
+ const list = (soundsByCat.get(c) ?? []).slice().sort((a, b) => a.key.localeCompare(b.key));
155
+ for (const a of list)
156
+ sel.append(new Option(`${a.key} · ${a.category}`, a.key));
157
+ }
158
+ // Reflect current working value.
159
+ const has = Object.prototype.hasOwnProperty.call(working, cueId);
160
+ sel.value = has ? (working[cueId] === "" ? NONE : working[cueId]) : INHERIT;
161
+ const resolved = document.createElement("div");
162
+ resolved.className = "rydr-sbe-resolved";
163
+ const paintResolved = () => {
164
+ const key = resolvedKey(cueId);
165
+ if (!key)
166
+ resolved.innerHTML = `<span class="silent">silent</span>`;
167
+ else if (known.has(key))
168
+ resolved.innerHTML = `plays <span class="ok">${key}</span>`;
169
+ else
170
+ resolved.innerHTML = `<span class="missing">${key} — not published yet</span>`;
171
+ };
172
+ paintResolved();
173
+ pick.append(sel, resolved);
174
+ const playCell = document.createElement("div");
175
+ playCell.className = "rydr-sbe-play";
176
+ const playBtn = document.createElement("button");
177
+ playBtn.className = "rydr-sbe-btn";
178
+ playBtn.textContent = "▶ Preview";
179
+ const key0 = resolvedKey(cueId);
180
+ playBtn.disabled = !key0 || !known.has(key0);
181
+ playCell.appendChild(playBtn);
182
+ sel.addEventListener("change", () => {
183
+ if (sel.value === INHERIT)
184
+ delete working[cueId];
185
+ else if (sel.value === NONE)
186
+ working[cueId] = "";
187
+ else
188
+ working[cueId] = sel.value;
189
+ paintResolved();
190
+ const k = resolvedKey(cueId);
191
+ playBtn.disabled = !k || !known.has(k);
192
+ refreshDirty();
193
+ });
194
+ playBtn.addEventListener("click", () => {
195
+ const k = resolvedKey(cueId);
196
+ if (!k)
197
+ return;
198
+ stopAll();
199
+ bank.play(k, { gainDb: def.gainDb ?? 0 });
200
+ });
201
+ row.append(cueCell, pick, playCell);
202
+ return row;
203
+ }
204
+ saveBtn.addEventListener("click", () => {
205
+ if (!isAdmin || !isDirty())
206
+ return;
207
+ saveBtn.disabled = true;
208
+ saveBtn.textContent = "Saving…";
209
+ const doc = { bindings: { ...working } };
210
+ void session
211
+ .saveContent(SOUNDBOARD_COLLECTION, SOUNDBOARD_BINDINGS_ID, doc)
212
+ .then(() => {
213
+ saved = JSON.stringify(working);
214
+ })
215
+ .catch(() => {
216
+ /* leave dirty; the shell surfaces the failure */
217
+ })
218
+ .finally(() => {
219
+ saveBtn.textContent = "Save";
220
+ refreshDirty();
221
+ });
222
+ });
223
+ // ── Boot: load the library + the saved override doc, then render ──────────────
224
+ const bootEl = document.createElement("p");
225
+ bootEl.className = "rydr-sbe-empty";
226
+ bootEl.textContent = "Loading sound library…";
227
+ body.appendChild(bootEl);
228
+ void (async () => {
229
+ await bank.load();
230
+ assets = bank.assets();
231
+ for (const a of assets)
232
+ known.add(a.key);
233
+ try {
234
+ const doc = await session.getContent(SOUNDBOARD_COLLECTION, SOUNDBOARD_BINDINGS_ID);
235
+ const data = doc?.data;
236
+ working = { ...(data?.bindings ?? {}) };
237
+ }
238
+ catch {
239
+ working = {};
240
+ }
241
+ saved = JSON.stringify(working);
242
+ renderRows();
243
+ })();
244
+ return {
245
+ dispose() {
246
+ stopAll();
247
+ bank.dispose();
248
+ root.classList.remove("rydr-sbe");
249
+ root.innerHTML = "";
250
+ },
251
+ };
252
+ }
253
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/soundboard-editor/index.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,8 @@
17
17
  */
18
18
  export { createSoundBank } from "./sound-bank.js";
19
19
  export type { SoundBank, SoundBankOptions, PlayOptions, PlayHandle } from "./sound-bank.js";
20
+ export { createSoundboard, STANDARD_CUES, STANDARD_BINDINGS, DEFAULT_SOUND_LIBRARY_URL, SOUNDBOARD_COLLECTION, SOUNDBOARD_BINDINGS_ID, } from "./soundboard.js";
21
+ export type { Soundboard, SoundboardOptions, SoundboardDoc, CueDef, CueCatalog, CueBindings, } from "./soundboard.js";
20
22
  export { decodeAudio, computePeaks, peakDb, cropBuffer, encodeWav, encodeMp3 } from "./audio-utils.js";
21
23
  export { SOUND_CATEGORIES } from "./types.js";
22
24
  export type { SoundAsset, SoundClip, SoundCategory, SoundVariation, SoundLoudness, SoundLicense, SoundFolder, SoundLibraryManifest, } from "./types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sounds/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5F,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;AAC9C,YAAY,EACV,UAAU,EACV,SAAS,EACT,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,WAAW,EACX,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sounds/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,MAAM,EACN,UAAU,EACV,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,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;AAC9C,YAAY,EACV,UAAU,EACV,SAAS,EACT,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,WAAW,EACX,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
@@ -16,6 +16,7 @@
16
16
  * `sounds/library.json`; adding/cropping a sound needs no game redeploy. See the sound-library plan.
17
17
  */
18
18
  export { createSoundBank } from "./sound-bank.js";
19
+ export { createSoundboard, STANDARD_CUES, STANDARD_BINDINGS, DEFAULT_SOUND_LIBRARY_URL, SOUNDBOARD_COLLECTION, SOUNDBOARD_BINDINGS_ID, } from "./soundboard.js";
19
20
  export { decodeAudio, computePeaks, peakDb, cropBuffer, encodeWav, encodeMp3 } from "./audio-utils.js";
20
21
  export { SOUND_CATEGORIES } from "./types.js";
21
22
  //# sourceMappingURL=index.js.map
@@ -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,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,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvG,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
@@ -36,6 +36,9 @@ export interface PlayOptions {
36
36
  detuneCents?: number;
37
37
  /** Loop the clip (mainly for music/ambience). */
38
38
  loop?: boolean;
39
+ /** Fires once when a NON-looping clip reaches its natural end. Not called on manual stop().
40
+ * Wired on the stream path (music/ambience) only — the hook a rotation advances on. */
41
+ onEnded?: () => void;
39
42
  }
40
43
  /** A live sound; `stop()` ends it early. */
41
44
  export interface PlayHandle {
@@ -1 +1 @@
1
- {"version":3,"file":"sound-bank.d.ts","sourceRoot":"","sources":["../../src/sounds/sound-bank.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EAEb,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,gBAAgB;IAC/B,4FAA4F;IAC5F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,oFAAoF;IACpF,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,8FAA8F;IAC9F,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,yFAAyF;IACzF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,4CAA4C;AAC5C,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,IAAI,IAAI,IAAI,CAAC;CACd;AA0CD,MAAM,WAAW,SAAS;IACxB,gEAAgE;IAChE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,2FAA2F;IAC3F,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,iGAAiG;IACjG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,IAAI,CAAC;IACzD,yCAAyC;IACzC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,mDAAmD;IACnD,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACxD,mCAAmC;IACnC,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,oFAAoF;IACpF,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7D,oCAAoC;IACpC,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnD,4BAA4B;IAC5B,IAAI,IAAI,MAAM,EAAE,CAAC;IACjB,iEAAiE;IACjE,MAAM,IAAI,UAAU,EAAE,CAAC;IACvB,gFAAgF;IAChF,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,eAAe,CAAC,IAAI,GAAE,gBAAqB,GAAG,SAAS,CAuQtE"}
1
+ {"version":3,"file":"sound-bank.d.ts","sourceRoot":"","sources":["../../src/sounds/sound-bank.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EAEb,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,gBAAgB;IAC/B,4FAA4F;IAC5F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,oFAAoF;IACpF,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,8FAA8F;IAC9F,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,yFAAyF;IACzF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;4FACwF;IACxF,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,4CAA4C;AAC5C,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,IAAI,IAAI,IAAI,CAAC;CACd;AA0CD,MAAM,WAAW,SAAS;IACxB,gEAAgE;IAChE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,2FAA2F;IAC3F,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,iGAAiG;IACjG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,IAAI,CAAC;IACzD,yCAAyC;IACzC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,mDAAmD;IACnD,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACxD,mCAAmC;IACnC,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,oFAAoF;IACpF,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7D,oCAAoC;IACpC,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnD,4BAA4B;IAC5B,IAAI,IAAI,MAAM,EAAE,CAAC;IACjB,iEAAiE;IACjE,MAAM,IAAI,UAAU,EAAE,CAAC;IACvB,gFAAgF;IAChF,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,eAAe,CAAC,IAAI,GAAE,gBAAqB,GAAG,SAAS,CA+QtE"}
@@ -165,7 +165,13 @@ export function createSoundBank(opts = {}) {
165
165
  untrackVoice(asset.key, voice);
166
166
  },
167
167
  };
168
- media.addEventListener("ended", () => voice.stop());
168
+ // "ended" fires only on natural completion of a non-looping clip — manual stop() calls
169
+ // media.pause(), which does not fire it. So this cleanly surfaces the end-of-track hook a
170
+ // rotation advances on (see PlayOptions.onEnded).
171
+ media.addEventListener("ended", () => {
172
+ voice.stop();
173
+ o.onEnded?.();
174
+ });
169
175
  trackVoice(asset.key, voice, asset.variation?.maxVoices);
170
176
  return { key: asset.key, stop: voice.stop };
171
177
  }
@@ -236,6 +242,8 @@ export function createSoundBank(opts = {}) {
236
242
  untrackVoice(asset.key, voice);
237
243
  },
238
244
  };
245
+ // TODO(onEnded): buffer path — "ended" here also fires on manual src.stop(), so wiring
246
+ // o.onEnded here would need a `stopped` guard. Beds stream, so this path never needs it.
239
247
  src.addEventListener("ended", () => untrackVoice(asset.key, voice));
240
248
  trackVoice(asset.key, voice, asset.variation?.maxVoices);
241
249
  handle.voice = voice;