fix(library): proper All list rows, NVIDIA seam, close-to-tray crash, Go-to-album

- Rework the "All" list view to the aligned column layout of the mixtape detail
  list: artwork + hover play, title + clickable-artist subtitle, a TYPE column,
  a dedicated SOURCE column (SourceGlyph), the row QualityBadgeFull in a Quality
  column (was the uneven grid badge), favorite/follow indicator, and the per-kind
  context menu — no longer bare and out of tune.
- Fix the NVIDIA "wallpaper join" background seam: replace the float hash2 in
  ambient.wgsl + plasma.wgsl with a bit-exact integer (u32) lattice hash so the
  same cell corner hashes identically from adjacent cells on NVIDIA.
- Fix the close-to-tray "RefCell already mutably borrowed" panic introduced by
  the teardown texture-clear: defer the set via upgrade_in_event_loop so it runs
  after the window adapter releases its borrow.
- Add "Go to album" to the TrackCard context menu and the list-row menu (adds
  album-id to the feed model).

cc
This commit is contained in:
vicrodh committed 2026-07-18 15:11:15 -06:00
1 parent f484cc481f
commit e1bdec5094
7 files changed
+194 -82

No files matched your search

+9 -2
View File
@@ -202,8 +202,8 @@ export component TrackCard inherits Rectangle {
x: 26px;
y: 56px;
width: 196px;
// Open-artist? Play / Play-next / Queue + favorite = 4-5 items.
height: 5 * 33px + 10px;
// Play / Play-next / Queue / Go-to-artist / Go-to-album / favorite.
height: 6 * 33px + 10px;
ContextMenu {
ContextMenuItem {
icon: @image-url("../assets/icons/play.svg");
@@ -233,6 +233,13 @@ export component TrackCard inherits Rectangle {
root.media-action("artist", root.track.artist-id, "open");
}
}
if root.track.album-id != "": ContextMenuItem {
icon: @image-url("../assets/icons/disc.svg");
label: @tr("Go to album");
clicked => {
root.media-action("album", root.track.album-id, "open");
}
}
if root.show-favorite: ContextMenuItem {
icon: root.track.is-favorite
? @image-url("../assets/icons/heart-filled.svg")