import Foundation
/// The hosted Top Shelf hero asset (served from the jkaindl.de Hetzner webspace — a direct,
/// DNS-only static host with correct content-type + byte-range support that tvOS streaming
/// needs; the Codeberg Pages CI was an unreliable path). Pure value type — no TVServices — so
/// it's shared by the app + the Top Shelf extension and is host-testable. The TVServices
/// mapping lives in TopShelfProvider (tvOS-only).
///
/// videoURL points at the MULTIVARIANT (master) HLS playlist — not a bare media playlist. tvOS
/// Top Shelf pre-flights the preview through AVFoundation, which needs the CODECS/RESOLUTION/
/// FRAME-RATE that only a master playlist's EXT-X-STREAM-INF carries; a bare media playlist (or a
/// progressive .mp4) silently falls back to the poster. master.m3u8 -> stream.m3u8 (VOD) -> seg_*.ts
/// (H.264 High@4.0 + AAC-LC), built by scripts/build-topshelf-hls.sh.
struct TopShelfHero {
let identifier: String
let videoURL: URL
let posterURL: URL
static let shared = TopShelfHero(
identifier: "physarum-hero",
videoURL: URL(string: "https://jkaindl.de/physarum/topshelf/hls/master.m3u8")!,
posterURL: URL(string: "https://jkaindl.de/physarum/topshelf/poster.png")!
)
}