1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
//! gpui_liveplot is a high-performance plotting library built for GPUI.
//!
//! # Overview
//! - Designed for append-only, high-throughput telemetry and sensor streams.
//! - Plot-level axes with shared transforms across all series.
//! - Viewport-aware decimation keeps rendering near `O(width)` for smooth interaction.
//! - Interactive pan, zoom, box zoom, hover readout, and pin annotations via GPUI.
//!
//! # Feature flags
//! - `gpui_component_theme`: when enabled, [`gpui_backend::PlotView`] will use the
//! current `gpui-component` global theme if it exists.
//!
//! # Quick start
//! ```rust
//! use gpui_liveplot::{LineStyle, Plot, Series, SeriesKind, Theme};
//!
//! let mut plot = Plot::builder().theme(Theme::dark()).build();
//! let series = Series::from_iter_y(
//! "sensor",
//! (0..1000).map(|i| (i as f64 * 0.01).sin()),
//! SeriesKind::Line(LineStyle::default()),
//! );
//! plot.add_series(&series);
//! plot.refresh_viewport(0.05, 1e-6);
//! ```
//!
//! # GPUI integration
//! Use [`gpui_backend::PlotView`] to render and interact with a plot inside a GPUI
//! window. See the `examples/` directory for complete runnable examples.
pub use ;
pub use ;
pub use AppendError;
pub use Point;
pub use Pin;
pub use ;
pub use ;
pub use ;
pub use Theme;
pub use ;
pub use ;