pub fn meta_hash(clip: &Clip, lineage: &LineageContext) -> StringExpand description
A sentinel for the clip’s embedded tag set.
Hashes the resolved TrackMetadata actually written into the file (title,
artist, album, date/year, lyrics, prompt, model, handle, and the resolved
lineage tags), so a change to any embedded tag triggers a retag while a
change to a non-embedded field (e.g. the animated-cover URL) does not. Taking
TrackMetadata directly keeps it in lock-step with the tag writer: if a
value is embedded, it is in this hash. Chosen art is tracked separately by
art_hash, and the embedded aligned lyrics (Suno’s fetched alignment, not
clip.lyrics) by
ManifestEntry::embedded_lyrics_hash;
both are the invariant’s two exceptions, embedded but fingerprinted outside
this hash.
A pure path change is handled as a rename, by comparing the rendered path with the stored one, not by this hash.