65 lines
3.3 KiB
TOML
65 lines
3.3 KiB
TOML
[package]
|
|
name = "flowrs-capture"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
publish.workspace = true
|
|
rust-version.workspace = true
|
|
authors.workspace = true
|
|
license.workspace = true
|
|
description = "Open capture formats in one in-memory model: VCD, FST and GHW (through wellen), sigrok .sr sessions and Saleae binary/CSV exports, with M4/min-max decimation for drawing millions of samples and the decoded lanes flowrs-decode adds."
|
|
|
|
[lib]
|
|
crate-type = ["rlib"]
|
|
|
|
[dependencies]
|
|
# The one implementation of sin, exp, ln, atan2, powf and the rest, the same bits in the
|
|
# browser and in a generated program (crates/flowrs-math).
|
|
flowrs-math = { path = "../flowrs-math" }
|
|
# The decoders' lane and trace types: a capture carries its digital lines as
|
|
# `DigitalTrace`s and its decoded lanes as `Lane`s, so nothing is converted between the
|
|
# importer, the decoders and the panel.
|
|
flowrs-decode = { path = "../flowrs-decode", features = ["serde"] }
|
|
# VCD, FST and GHW (BSD-3-Clause). The reader Surfer is built on; parses in safe Rust and
|
|
# compiles to wasm32 (its memmap2 dependency has a stub there), so the editor reads an
|
|
# HDL simulator's dump in the browser.
|
|
wellen = "0.25.7"
|
|
# Raw DEFLATE for the ZIP members of a sigrok session file (MIT/Zlib/Apache-2.0). Already
|
|
# in the tree under wellen; the ZIP container itself is read here, it is a page of code.
|
|
miniz_oxide = "0.9.1"
|
|
serde = { workspace = true }
|
|
# The min/max/std pyramid the waveform view decimates through: dpb-plot's history, the
|
|
# store behind the Live panel's scope too, so one implementation serves both panels.
|
|
# Its no_std core only (libm).
|
|
dpb-plot = { path = "../dpb-plot", default-features = false }
|
|
# MCAP, the session format (src/mcap.rs): the container, its chunks, indexes and summary
|
|
# (MIT). Default features off: they bind the C zstd and lz4 libraries, which do not build
|
|
# for wasm32-unknown-unknown. Chunks are written uncompressed and read through the two
|
|
# pure-Rust decoders below, registered on the reader's decompressor hook (new in 0.26).
|
|
mcap = { version = "0.26.0", default-features = false }
|
|
# zstd, rosbag2's default chunk compression, decoded in pure Rust (MIT).
|
|
ruzstd = "0.9.1"
|
|
# The LZ4 frame format, MCAP's other chunk compression (MIT). The version already in the
|
|
# lock (wellen's FST reader uses it), frame decoding only.
|
|
lz4_flex = { version = "0.13.1", default-features = false, features = ["frame", "safe-decode", "checked-decode"] }
|
|
# Messages as values: a decoded ROS message, a JSON channel's message, a JSON Schema.
|
|
serde_json = { workspace = true }
|
|
|
|
# Symposium (`cargo agents`): an agent working on a project that depends on this crate gets
|
|
# the flowRS skill (crates/flowrs-mcp/symposium/flowrs, rendered by flowrs-mcp's
|
|
# skills::symposium_plugin) and the flowRS MCP server under the read-only plan profile. Never
|
|
# the full profile: a dependency is not a trust root, and Symposium registers servers at user
|
|
# level. Symposium 0.5.1 parses a crate's MCP entry but does not dispatch it yet; a registry
|
|
# carrying symposium/flowrs/SYMPOSIUM.toml registers the same entry today.
|
|
[package.metadata.symposium]
|
|
|
|
[package.metadata.symposium.defaults]
|
|
skills = false
|
|
|
|
[[package.metadata.symposium.skills]]
|
|
source.path = "../flowrs-mcp/symposium/flowrs/skills/core"
|
|
|
|
[[package.metadata.symposium.mcp_servers]]
|
|
name = "flowrs"
|
|
command = "flowrs-mcp"
|
|
args = ["--profile", "plan"]
|
|
env = []
|