feat(render): Renderer with LOD selection, 3.3 and 4.3+ upload paths, headless smoke test
This commit is contained in:
1 parent
e0cdd95a3b
commit
3555ab63d7
20 files changed
+1544
-25
No files matched your search
@@ -284,6 +284,16 @@ const Measurement& Plot::measurement(u32 id) const {
|
||||
|
||||
void Plot::invalidate_measurements() noexcept { mark_measures_dirty(); }
|
||||
|
||||
MeasureSpan Plot::measure_span(u32 id) const noexcept {
|
||||
// An id that names nothing, or a measure built from cursor ids that were never
|
||||
// registered, is not a span between two markers: `valid` says so rather than
|
||||
// letting a caller shade a band between cursors 0 and 1 by accident.
|
||||
if (id >= measures_.size()) return MeasureSpan{};
|
||||
const MeasureSlot& slot = measures_[id];
|
||||
if (slot.cursor_a >= cursors_.size() || slot.cursor_b >= cursors_.size()) return MeasureSpan{};
|
||||
return MeasureSpan{slot.cursor_a, slot.cursor_b, true};
|
||||
}
|
||||
|
||||
const PlotLayout& Plot::layout() {
|
||||
// Axes still on auto scale refit here, once per layout, so a growing stream
|
||||
// stays framed. A caller gesture clears auto_scale (set_x_range/set_y_range),
|
||||
|
||||
Reference in new issue
Block a user