improved measuraments ,cursors, zooming and user interactions
This commit is contained in:
1 parent
0eceaf537b
commit
02620ca946
12 files changed
+1488
-171
No files matched your search
+8
-8
@@ -80,14 +80,14 @@ f32 ChannelBuffer::time_of(u64 absolute_index) const noexcept {
|
||||
// capacities are equal, so there is no slack at all): once the ring saturates, the
|
||||
// few oldest samples of the window routinely point at slots the producer has
|
||||
// overwritten since. Returning 0 for those put a stamp of 0 into `x_bounds()`, and
|
||||
// from there into `dx()` and `x0()` -- which is the renderer's entire index
|
||||
// mapping, `(x - x0()) / dx()`. So *one* unreadable slot at the front inflated
|
||||
// `dx()` by the ratio of the whole elapsed stream time to the retained window and
|
||||
// pushed every index up with it: `first` landed well past the first visible
|
||||
// sample, and the samples in between were in the buffer, readable by the crosshair
|
||||
// (`x_at()`/`neighbours()` go to the ring per sample and never saw the sentinel),
|
||||
// and never drawn. That is the "live trace is clipped, only the most recent part
|
||||
// is visible, but the crosshair still reads values there" defect.
|
||||
// from there into `dx()`/`x0()` and every consumer of the window's extent. So
|
||||
// *one* unreadable slot at the front inflated `dx()` by the ratio of the whole
|
||||
// elapsed stream time to the retained window: the axis in `x_bounds()` read the
|
||||
// stream's start rather than the window's, every measurement cut computed from it
|
||||
// came out too wide, and the readout disagreed with what the crosshair said
|
||||
// (`x_at()`/`neighbours()` go to the ring per sample and never saw the sentinel).
|
||||
// That is the "live trace is clipped, only the most recent part is visible, but
|
||||
// the crosshair still reads values there" defect.
|
||||
//
|
||||
// Clamping degrades the way the library's own `StreamSeries` documents for this
|
||||
// contract: a snapshot bounds the sample *count*, not the slots, so the oldest few
|
||||
|
||||
Reference in new issue
Block a user