feat(render): mark the samples of a window sparse enough to see them
`Style::marker_below_samples` (50 by default, `0` for never) draws a `marker_px` dot on every *raw* sample when the visible window holds at most that many, in the trace's own colour. Zoomed in far enough to see individual samples, the polyline between them stops being the shape a reader is looking at -- a handful of points across a whole panel ARE the picture -- and a dot makes each one a place rather than a bend in a line. Level 0 only: above it the geometry is pyramid buckets, which are not points anyone can find. Test: a_sparse_window_marks_its_samples -- the same flat series at ten samples and at a hundred. Ten gives exactly ten dots, evenly spaced (their centres are checked against the panel's own step, so "they are the samples" is asserted rather than "something was painted"); a hundred is past the threshold and gives none. The dots *group* into runs of columns (a marker is `marker_px` wide), which is how the test reads one marker per sample -- counting columns read three.
This commit is contained in:
1 parent
fba8d985cf
commit
7dbe4e7183
5 files changed
+121
No files matched your search
@@ -107,6 +107,13 @@ struct Style {
|
||||
/// skips it before the first segment is staged, so a dense plot's minor grid
|
||||
/// costs nothing rather than being drawn transparent (spec §11). The colours
|
||||
/// above are already per class.
|
||||
/// When a trace's window holds at most this many raw samples, each one is also drawn as a dot
|
||||
/// `marker_px` logical pixels across, in the trace's own colour. `0` draws none. Zoomed in far
|
||||
/// enough to see individual samples -- a handful of them across a whole panel -- the polyline
|
||||
/// *between* them stops being the shape, and the samples themselves are what a reader is looking
|
||||
/// at; a marker makes each one a place rather than a bend in a line.
|
||||
f32 marker_below_samples = 50.0f;
|
||||
f32 marker_px = 3.0f;
|
||||
f32 grid_major_width = 1.0f; ///< logical width of a major (labelled-tick) line.
|
||||
/// Logical width of a minor (subdivision) line: **thinner than the major hairline**, and
|
||||
/// sub-pixel on purpose. At 1x that is expressed as *coverage* -- the anti-aliased ramp
|
||||
|
||||
Reference in new issue
Block a user