mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-12 01:07:46 +00:00
Adds two Podcasting-2.0 features to the podcast stack: Persons (podcast:person) — hosts/guests as free-text credits with role, avatar, and link (not necessarily Nostr users): - quartz: PodcastPerson model; PersonTag ["person", name, role, img, href] on kind 30054 episodes; a persons[] array in the kind 30078 show JSON. Exposed via PodcastEpisode.episodePersons() / PodcastShow.showPersons(). - UI: PodcastPeople — a "Hosts & Guests" avatar strip (robohash fallback, tap opens href), shown on the episode card and the show header. Soundbites (podcast:soundbite) — highlight clips: - quartz: PodcastSoundbite model; SoundbiteTag ["soundbite", start, dur, title?] on episodes; PodcastEpisode.episodeSoundbites(). - UI: PodcastSoundbites — "jump to the good part" chips under the audio player that seek the live media controller to the clip's start. Both parse leniently, round-trip through build(), and are covered by PodcastPersonSoundbiteTest. NIP-F4 returns empty for both (no such tags), so nothing renders there. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JGa1EM5KWyDo1o5Yr6sS18