Archilyzer · Source

archilyzer

Archilyzer
git clone https://archilyzer.pages.dev/source/archilyzer.git
Log | Files | Refs | README | LICENSE

commit 546b88aef02c4f1dde3499f2efc675a955c35c99
parent fe10ef1998935ebfa373dfa9b422a6bf2385d091
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date:   Sat, 19 Sep 2026 02:45:41 -0400

clip bench: the peek rail spans the cues that exist, not a flat ±60 s

A 9-second cache inside a 120-second rail squeezes the part you are actually
cutting into a sliver, and an upload whose cues stop at 21 s would pay for
48 s of empty rail to say so. The rail now spans the cache plus whatever came
back, clamped to the peek width -- so the shaded cached stretch is a readable
fraction of it and the dimmed cues past the edge are still legible.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

Diffstat:
Mumtool/components/projects/ClipBench.tsx | 11+++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/umtool/components/projects/ClipBench.tsx b/umtool/components/projects/ClipBench.tsx @@ -802,10 +802,17 @@ export default function ClipBench({ data }: { data: ClipBenchData }) { // out there. Both edges of the cache are MARKED, so the two scales cannot be // confused for one. const railCues = peek.length ? peek : cues; + // The rail spans the cache plus WHATEVER CUES CAME BACK, not a flat ±60: a + // 9-second cache inside a 120-second rail squeezes the part you are actually + // cutting into a sliver, and an upload whose cues stop at 21 s would pay for + // 48 s of empty rail to say so. const rail = peek.length ? { - from: Math.min(view.from - peekPad, railCues[0]?.start ?? view.from), - to: Math.max(view.to + peekPad, railCues[railCues.length - 1]?.end ?? view.to), + from: Math.max(view.from - peekPad, Math.min(view.from, railCues[0]?.start ?? view.from)), + to: Math.min( + view.to + peekPad, + Math.max(view.to, railCues[railCues.length - 1]?.end ?? view.to), + ), } : view; const railSpan = Math.max(1e-6, rail.to - rail.from);