namespace DeepDrftContent.Constants;

/// <summary>
/// Constants for FileDatabase vault names
/// </summary>
public static class VaultConstants
{
    /// <summary>
    /// Vault name for storing audio tracks
    /// </summary>
    public const string Tracks = "tracks";

    /// <summary>
    /// Vault name for storing waveform loudness profile sidecars, keyed by track EntryKey.
    /// </summary>
    public const string WaveformProfiles = "waveform-profiles";

    /// <summary>
    /// Vault name for storing cover-art images, keyed by a generated entry key referenced
    /// from <c>TrackEntity.ImagePath</c>.
    /// </summary>
    public const string Images = "images";

    /// <summary>
    /// Vault name for per-track high-resolution waveform datums, keyed by the track's EntryKey.
    /// Every track (Mix, Session, Cut) carries one — computed at upload, regenerable on demand.
    /// Distinct from WaveformProfiles (player-bar low-res); same pipeline at higher resolution.
    /// The datum resolution is duration-derived (≈333 samples/sec, see <c>WaveformResolution</c>).
    /// </summary>
    public const string TrackWaveforms = "track-waveforms";
}