Skip to content

v0.20.0 — browse by game + section metadata on getStructure - #19

Merged
this-fifo merged 1 commit into
masterfrom
feat/browse-by-game
Aug 18, 2026
Merged

v0.20.0 — browse by game + section metadata on getStructure#19
this-fifo merged 1 commit into
masterfrom
feat/browse-by-game

Conversation

@this-fifo

Copy link
Copy Markdown
Member

Browse by game

`AudioScape:browse({ type = "game" })` lists Roblox experiences by the catalog music heard in them, ordered by player count (minimum 5 tracks). Drill into a game's tracks with `name = "<universe_id>"`, or reverse-look-up the games a track has been heard in with `asset_id = ""`. New `BrowseGameItem` type (`universe_id`, `name`, `creator_name`, `root_place_id`, `playing`, `visits`, `track_count`); icons come free in Roblox clients via `rbxthumb://type=GameIcon&id=<universe_id>`. The game→track mapping refreshes weekly; `playing`/`visits` reflect the last sync, not live CCU.

Section metadata on getStructure

`AudioScape:getStructure({ asset_id = ..., include_metadata = true })` returns each section/phrase's authored key/value pairs verbatim in a new `metadata` field — custom cue parameters (lighting amounts, movement paths, easing styles) beyond the flattened `label`/`energy`/`bars` fields. Entries without authored pairs return an empty table. The metadata variant caches independently of the plain structure, so `beatAtTime`/`sectionAtTime` are unaffected. The same flag works through `AudioScapeClient.getStructure` and the `GetStructure` remote.

Also

  • `sort = "popular"` docs corrected: only `genre`/`mood` omit tracks with no engagement; `artist`, `album`, and `game` include them, sorted last.
  • Additive minor — no breaking changes.

Gate: stylua + selene + luau-lsp analyze clean; 21/21 Lune specs (new coverage: game type pre-flight + query assembly, asset_id forwarding, include_metadata body flag, per-variant structure cache isolation, metadata round-trip).

- browse({ type = "game" }): list Roblox experiences by the catalog music
  heard in them; drill in with name=<universe_id>; asset_id=<id> reverse
  lookup returns the games a track has been heard in. New BrowseGameItem
  type; rbxthumb GameIcon recipe in the README.
- getStructure include_metadata: sections/phrases carry their authored
  key/value pairs verbatim in a new metadata field; the variant caches
  independently so beatAtTime/sectionAtTime are unaffected. Same flag on
  AudioScapeClient.getStructure and the GetStructure remote.
- sort=popular docs corrected: only genre/mood omit engagement-less
  tracks; artist/album/game sort them last.
@this-fifo
this-fifo deployed to openCloud-smoke August 18, 2026 22:25 — with GitHub Actions Active
@this-fifo
this-fifo merged commit f4db17d into master Aug 18, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant