Idea
Spotify's now-playing side panel surfaces a "Related music videos" carousel for the current track/artist. Add an equivalent section to WaveFlow's now-playing surfaces — a horizontally-scrolling row of related video clips under the track metadata.
Where
NowPlayingPanel — primary home, as a new "Related music videos" section (mirrors the existing about-the-artist / credits blocks).
- Optionally the immersive
ImmersiveSidePanel as a third tab, later.
Sourcing — reuse the metadata-plugin pipeline
Rather than baking a video provider into the signed core, source clips through a metadata-world plugin, exactly like Apple Motion Artwork:
- extend the metadata world with a
related-videos field (an ordered list of { title, thumbnail_url, video_url, artists? }) resolved per track/artist;
- a host command (à la
fetch_album_motion_artwork) fans the request out to enabled metadata plugins and returns the first/merged result;
- keeps grey-area content sourcing in a separate plugin repo (liability isolation), honours
offline::is_offline(), and reuses the permissioned waveflow:host/http + blake3-verified install path.
The desktop webview has no HLS.js, so plugins must return a directly-playable mp4 (same constraint as motion covers) — or we render a thumbnail that opens the source URL externally.
Open design questions
- Interaction — clicking a clip: (a) open a fullscreen/PiP
<video> overlay, (b) open externally in the browser, or (c) inline-expand. Playing a video vs. the current audio: does it pause playback, duck it, or run muted-as-visual? Needs a decision.
- Privacy — video providers (YouTube/Vimeo/etc.) are third-party network calls; must be plugin-gated + offline-aware, and clearly opt-in like other integrations. No embeds that phone home without consent.
- Caching — thumbnails cache like Deezer artwork; full clips probably stream (don't reuse the 1 GB motion LRU without thought).
- CSP — inline
<video src> is fine; any iframe/embed needs a CSP + sandbox review.
Related
Idea
Spotify's now-playing side panel surfaces a "Related music videos" carousel for the current track/artist. Add an equivalent section to WaveFlow's now-playing surfaces — a horizontally-scrolling row of related video clips under the track metadata.
Where
NowPlayingPanel— primary home, as a new "Related music videos" section (mirrors the existing about-the-artist / credits blocks).ImmersiveSidePanelas a third tab, later.Sourcing — reuse the metadata-plugin pipeline
Rather than baking a video provider into the signed core, source clips through a
metadata-world plugin, exactly like Apple Motion Artwork:related-videosfield (an ordered list of{ title, thumbnail_url, video_url, artists? }) resolved per track/artist;fetch_album_motion_artwork) fans the request out to enabled metadata plugins and returns the first/merged result;offline::is_offline(), and reuses the permissionedwaveflow:host/http+ blake3-verified install path.The desktop webview has no HLS.js, so plugins must return a directly-playable mp4 (same constraint as motion covers) — or we render a thumbnail that opens the source URL externally.
Open design questions
<video>overlay, (b) open externally in the browser, or (c) inline-expand. Playing a video vs. the current audio: does it pause playback, duck it, or run muted-as-visual? Needs a decision.<video src>is fine; any iframe/embed needs a CSP + sandbox review.Related
commands/motion_artwork.rs).