vor 0.2.1

Cross-platform performance instrumentation with an in-app egui panel and live system and GPU metrics.
Documentation
[workspace]
members = ["vor-macros"]
resolver = "3"

[workspace.package]
authors = ["Sarthak <sarthakconsul@gmail.com>"]
edition = "2024"
license = "MIT OR Apache-2.0"
repository = "https://github.com/SConsul/vor"
rust-version = "1.96"
version = "0.2.1"

[workspace.dependencies]
core-foundation = "0.10"
egui = "0.34"
hdrhistogram = "7"
io-kit-sys = "0.5"
js-sys = "0.3"
libc = "0.2"
lz4_flex = "0.13"
memory-stats = "1"
nvml-wrapper = "0.12"
nvtx = "1.3"
proc-macro2 = "1"
puffin = { version = "0.20", features = ["serialization"] }
quote = "1"
syn = { version = "2", features = ["full"] }
tracing = "0.1"
tracing-chrome = "0.7"
tracing-subscriber = "0.3"
tracing-wasm = "0.2"
vor-macros = { path = "vor-macros", version = "0.2.1" }
web-sys = "0.3"
web-time = "1"

[workspace.lints.clippy]
missing_const_for_fn = "warn"
new_without_default = "allow"

[profile.release]
codegen-units = 1
lto = "thin"

[package]
authors.workspace = true
categories = ["development-tools::profiling", "visualization"]
description = "Cross-platform performance instrumentation with an in-app egui panel and live system and GPU metrics."
edition.workspace = true
exclude = ["/examples/web"]
keywords = ["profiling", "puffin", "tracing", "egui", "gpu"]
license.workspace = true
name = "vor"
readme = "README.md"
repository.workspace = true
rust-version.workspace = true
version.workspace = true

[lints]
workspace = true

[features]
cuda = ["dep:nvml-wrapper", "dep:nvtx", "gpu"]
default = []
# Internal: turned on by any platform with a GPU backend (mac, cuda).
# Gates the panel's GPU rows + the polling collector.
gpu = []
mac = [
    "dep:core-foundation",
    "dep:io-kit-sys",
    "dep:libc",
    "dep:memory-stats",
    "dep:tracing-chrome",
    "dep:tracing-subscriber",
    "gpu",
]
viz = ["dep:egui"]
web = ["dep:js-sys", "dep:tracing-wasm", "dep:web-sys", "puffin/web"]

[dev-dependencies]
# glow (OpenGL) backend: the wgpu/Metal default renders but the window
# fails to present on macOS; glow opens reliably (matches matic/atrium).
eframe = { version = "0.34", default-features = false, features = ["default_fonts", "glow", "wayland", "x11"] }
env_logger = "0.11"
puffin.workspace = true

[[example]]
name = "custom_metrics"
required-features = ["viz"]

[[example]]
name = "live_panel"
required-features = ["viz"]

[[example]]
name = "replay"
required-features = ["viz"]

[dependencies]
core-foundation = { workspace = true, optional = true }
egui = { workspace = true, optional = true }
hdrhistogram.workspace = true
io-kit-sys = { workspace = true, optional = true }
js-sys = { workspace = true, optional = true }
libc = { workspace = true, optional = true }
lz4_flex.workspace = true
memory-stats = { workspace = true, optional = true }
nvml-wrapper = { workspace = true, optional = true }
nvtx = { workspace = true, optional = true }
puffin.workspace = true
tracing.workspace = true
tracing-chrome = { workspace = true, optional = true }
tracing-subscriber = { workspace = true, optional = true }
tracing-wasm = { workspace = true, optional = true }
vor-macros.workspace = true
web-sys = { workspace = true, optional = true, features = ["Performance", "Window"] }
web-time.workspace = true