feat(waveform): generalize high-res compute to every track (Direction B)

Per-track high-res datum keyed by EntryKey in the renamed track-waveforms vault; computed at upload for all tracks, regenerable per-track via CMS, with a re-runnable backfill. Mix read path repointed so it keeps working.
This commit is contained in:
daniel-c-harvey
2026-06-17 10:18:44 -04:00
parent ad94354632
commit accf20ba57
16 changed files with 612 additions and 155 deletions
+6 -4
View File
@@ -1,10 +1,11 @@
namespace DeepDrftModels.DTOs;
/// <summary>
/// Per-track waveform profile status for the CMS PreProcessing panel. Tells admins which tracks
/// already carry a stored loudness profile and which predate the WaveformSeeker feature and need
/// backfilling. <see cref="HasProfile"/> is the existence check; <see cref="EntryKey"/> is the
/// vault key used to trigger generation for a missing profile.
/// Per-track waveform datum status for the CMS PreProcessing panel. Tells admins which tracks already
/// carry each stored datum and which need backfilling. <see cref="HasProfile"/> is the 512-bucket
/// player-bar profile; <see cref="HasHighRes"/> is the duration-derived high-res visualizer datum
/// (phase-12 §5 — every track now carries one). <see cref="EntryKey"/> is the vault key used to trigger
/// generation for either missing datum.
/// </summary>
public class WaveformStatusDto
{
@@ -12,4 +13,5 @@ public class WaveformStatusDto
public string EntryKey { get; set; } = string.Empty;
public string TrackName { get; set; } = string.Empty;
public bool HasProfile { get; set; }
public bool HasHighRes { get; set; }
}