pub struct AlbumArt {
pub folder_jpg: Option<ArtifactState>,
pub folder_webp: Option<ArtifactState>,
}Expand description
The reconciled folder-art state for one album (one stable root id).
Folder art is album-scoped, not per-clip, so it lives here rather than on a
ManifestEntry. Each slot records the
sidecar’s path and the content hash of the art it was rendered from, so a
later reconcile rewrites only on a genuine content change (HARDENING H1: a
most-played flip that yields the same art hash is a no-op). Kept relational
(two explicit slots) so it migrates cleanly to a SQLite album_art table.
Fields§
§folder_jpg: Option<ArtifactState>The album’s static folder.jpg, sourced from the most-played variant.
folder_webp: Option<ArtifactState>The album’s animated cover.webp, from the first-created animated variant.
Implementations§
Source§impl AlbumArt
impl AlbumArt
Sourcepub fn artifact(&self, kind: ArtifactKind) -> Option<&ArtifactState>
pub fn artifact(&self, kind: ArtifactKind) -> Option<&ArtifactState>
The stored state for one folder-art kind, if present. Per-clip and
library kinds have no album slot and map to None.
Sourcepub fn set(&mut self, kind: ArtifactKind, state: Option<ArtifactState>)
pub fn set(&mut self, kind: ArtifactKind, state: Option<ArtifactState>)
Set (or clear, with None) the state for one folder-art kind.
The executor calls this after a folder-art write (with the new state) or
delete (with None), so the kind-to-slot mapping lives in one place.
Non-album kinds have no slot here and are no-ops.