flowrs-engine/crates/dpb-plot/Cargo.toml
flowRS fd958c0547 flowRS engine, cut from flowRS 3451b065
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-02 19:04:39 -05:00

46 lines
1.9 KiB
TOML

# Vendored from AuraSense's aurasense-dpb-training, crates/dpb-plot, at commit
# 9202cd83fe2aa284957bf6a6d8aa1284eb1541e6 (branch feat/dpb-plot, 2026-10-19), under its
# Apache-2.0 OR MIT licence; flowRS takes it under Apache-2.0. What changed here and why is
# in PROVENANCE.md beside this file. The `wasm` (JavaScript bindings) and `bench`
# (budget page) features are not vendored: flowRS calls the crate as Rust.
[package]
name = "dpb-plot"
version = "0.1.0"
edition.workspace = true
publish.workspace = true
rust-version.workspace = true
authors = ["AuraSense Team", "The flowRS contributors"]
license = "Apache-2.0 OR MIT"
description = "The GPU plot engine of the AuraSense instruments, vendored into flowRS: full-rate history with a min/max pyramid, decimation per pixel column, lanes as small multiples, ticks and chrome as data for the DOM, pan/zoom/cursor/trigger state machines, the validated palette, and a WebGPU renderer with WebGL2 and canvas-2D fallbacks (no_std + alloc core; renderer under `web`)"
[features]
default = ["std"]
# Uses the standard library. The core is no_std + alloc either way.
std = []
# The renderer on a page's canvas (wasm32): WebGPU, else WebGL2, else canvas 2D.
web = ["std", "dep:wasm-bindgen", "dep:wasm-bindgen-futures", "dep:js-sys", "dep:web-sys"]
[dependencies]
libm = "0.2.16"
wasm-bindgen = { workspace = true, optional = true }
wasm-bindgen-futures = { version = "0.4.79", optional = true }
js-sys = { workspace = true, optional = true }
web-sys = { workspace = true, optional = true, features = [
"CanvasRenderingContext2d",
"Document",
"Element",
"HtmlCanvasElement",
"ImageData",
"Navigator",
"OffscreenCanvas",
"OffscreenCanvasRenderingContext2d",
"Performance",
"WebGl2RenderingContext",
"WebGlBuffer",
"WebGlProgram",
"WebGlShader",
"WebGlTexture",
"WebGlUniformLocation",
"WebGlVertexArrayObject",
"Window",
] }