plan: record the seek follow-up
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
0d08c765a1
commit
1e8afd5f41
|
|
@ -1479,3 +1479,36 @@ mixed image+audio, untyped, generic-with-extension, generic-without and video),
|
|||
and the two live feeds — netzpolitik.org/feed/ now yields 0 episodes with the
|
||||
warning, logbuch-netzpolitik.de/feed/mp3 (→ feeds.metaebene.me/lnp/mp3) yields
|
||||
559 `audio/mpeg` episodes with `HH:MM:SS` durations.
|
||||
|
||||
### Follow-up: the keys settled on `,` `.` `<` `>`, and the gauge is clickable
|
||||
|
||||
Three rounds on the bindings, and the last one had a reason beyond taste.
|
||||
`Ctrl-b`/`Ctrl-f` work fine in a browser — the keydown handler already
|
||||
`prevent_default`s any chord it resolves — but `Ctrl-n`, the long-standing
|
||||
next-track chord, does **not**: Chrome and Firefox handle it as "new window"
|
||||
above the page, where `preventDefault` cannot reach. The web client therefore
|
||||
had no working next-track key at all.
|
||||
|
||||
Plain printable characters dodge the whole reserved-chord question, so seek and
|
||||
track-skip now share two keys in both clients: `,`/`.` seek 15 s, `<`/`>` skip a
|
||||
track. Same key, shift = bigger jump — self-teaching, and `<`/`>` are the marks
|
||||
engraved on those keys (mpv uses them for the same thing). `Ctrl-n`/`Ctrl-p`
|
||||
stay bound as the terminal's primary chords; the web help documents the pair
|
||||
that always works.
|
||||
|
||||
**Click-to-seek shipped without absolute seek**, which had been the deferred
|
||||
item. The click maps the pointer's x within the gauge to a fraction of the
|
||||
duration and sends `target - position`. Relative is right here even though the
|
||||
gesture is absolute: the position it subtracts is the one drawn on the bar the
|
||||
user just aimed at, at most one 250 ms tick old — far under one pixel of the
|
||||
bar. That staleness is only fatal for a *repeated* key, which is why keys still
|
||||
send a fixed step and let the server accumulate. The arithmetic is a pure
|
||||
function in `state.rs`, tested on the native target: clicks behind the playhead
|
||||
seek back, the edges are exactly the track's ends, a fraction outside `[0, 1]`
|
||||
is clamped rather than extrapolated, and a duration of 0 declines.
|
||||
|
||||
Also: enabling the web-sys `DomRect` feature, without which
|
||||
`Element::get_bounding_client_rect` does not exist. Only the wasm build catches
|
||||
that — `cbd-web`'s `mod app` is `#[cfg(target_arch = "wasm32")]`, so native
|
||||
clippy never compiles it. Second time this session that the wasm build was the
|
||||
only gate that would have caught a web-client mistake.
|
||||
|
|
|
|||
Loading…
Reference in New Issue