From 35354c85c9caa35a7c2f05f70d4f1122c6c304de Mon Sep 17 00:00:00 2001 From: 4gray Date: Sun, 6 Sep 2026 12:22:41 +0200 Subject: [PATCH] docs(epg): guide search hits carry a row id Co-Authored-By: Claude Fable 5.1 --- docs/superpowers/specs/2026-09-06-epg-guide-m3u-design.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/superpowers/specs/2026-09-06-epg-guide-m3u-design.md b/docs/superpowers/specs/2026-09-06-epg-guide-m3u-design.md index 18425a4da..73c98946f 100644 --- a/docs/superpowers/specs/2026-09-06-epg-guide-m3u-design.md +++ b/docs/superpowers/specs/2026-09-06-epg-guide-m3u-design.md @@ -87,7 +87,7 @@ interface EpgGuideScope { } interface EpgGuideWindow { - channels: EpgGuideChannel[]; + channels: readonly EpgGuideChannel[]; fromMs: number; // provider-clock instants (display offset already removed) toMs: number; } @@ -101,7 +101,9 @@ interface EpgGuideSource { loadCoverage(window: EpgGuideWindow): Promise>; // channel.ids with ≥1 programme readonly activeChannelId: Signal; activate(channelId: string): void; // switch playback; the guide stays open - searchPrograms?(query: string): Promise; // toolbar search hidden when absent + searchPrograms?(query: string): Promise; // toolbar search hidden when absent + // EpgGuideSearchHit = { channelId: string | null; program: EpgProgram } — the host + // supplies the row id when it can resolve one, so a hit can be highlighted later catchUp?: { canWatch(channel: EpgGuideChannel, program: EpgProgram): boolean; watch(channel: EpgGuideChannel, program: EpgProgram): void;