// Shared UI state — structs and globals the Rust controllers populate. // // The Rust side builds these models on a worker thread, then sets them // on the global from the Slint event loop (see src/home.rs, src/main.rs). export struct AlbumCardItem { id: string, title: string, artist: string, quality-tier: string, // "hires" | "cd" | "" — drives the badge icon ribbon: string, ribbon-kind: string, // "press" | "qobuzissime" | "albumOfTheWeek" | "" artwork-url: string, artwork: image, // empty until the artwork pipeline resolves it } export struct DiscoverSection { title: string, albums: [AlbumCardItem], } // Discover / Home screen state. export global HomeState { in property <[DiscoverSection]> sections: []; in property loading: false; }