runmat-plot 0.2.6

GPU-accelerated and static plotting for RunMat with WGPU and Plotters
Documentation
[package]
license = "MIT"
name = "runmat-plot"
version = "0.2.6"
edition = "2021"
authors = ["Dystr Team"]
license-file = "LICENSE"
description = "GPU-accelerated and static plotting for RunMat with WGPU and Plotters"
homepage = "https://runmat.org"
repository = "https://github.com/runmat-org/runmat"

[dependencies]
# Legacy static plotting support
plotters = { version = "0.3", default-features = false, features = [
    "svg_backend",
    "bitmap_backend",
    "bitmap_encoder",
    "line_series",
    "point_series"
] }

# Interactive GPU-accelerated plotting
wgpu = "0.19.1"
winit = { version = "0.29.11", optional = true }
egui = { version = "0.27.2", optional = true }
egui-wgpu = { version = "0.27.2", optional = true }
egui-winit = { version = "0.27.2", optional = true }
lyon = "1.0"
bytemuck = { version = "1.0", features = ["derive"] }

# Math and geometry
glam = "0.24"
nalgebra = "0.32"

# Async runtime for WGPU
pollster = "0.3"
futures = "0.3"
tokio = { version = "1.0", features = ["rt-multi-thread", "macros", "sync", "time", "net", "io-util"] }

# Data processing
rayon = "1.0"

# Runtime environment detection
atty = "0.2"
log = "0.4"

# Web browser integration
webbrowser = "0.8"

# Jupyter integration (optional)
eframe = { version = "0.27.2", optional = true, features = ["glow"] }

# Serialization and config
serde = { workspace = true }
serde_json = { workspace = true }
serde_yaml = "0.9"

# Image processing for export
image = { version = "0.24", features = ["png", "jpeg"] }



# RunMat integration
inventory = { workspace = true }
runmat-builtins = { workspace = true }
runmat-macros = { workspace = true }

[features]
default = ["static", "gui"]
static = []  # Static image export (always enabled)
gui = ["winit", "egui", "egui-wgpu", "egui-winit", "eframe"]  # Interactive GUI
jupyter = ["eframe"]  # Jupyter widget support
web = []  # WebGL backend for web/jupyter

[dev-dependencies]
tempfile = "3"
serial_test = "2"
tokio = { version = "1.0", features = ["rt-multi-thread", "macros"] }
env_logger = "0.10"