From 83bf82d0b6dd94927cd29e1bc9a300155c6beff4 Mon Sep 17 00:00:00 2001 From: haixuanTao Date: Fri, 19 Apr 2024 17:46:58 +0200 Subject: [PATCH 1/6] Adding `dora-rerun` as a visualization tool This commit add an initial dora-rerun extension for visualization of run using rerun. This is still experimental and will be improved in the future. I also added an example that we can try out by: ```bash cd examples/rerun-viewer dora start dataflow.yml --attach ``` You might need to install rerun viewer with ```bash cargo install --force rerun-cli@0.15.1 ``` --- examples/rerun-viewer/README.md | 25 +++++ examples/rerun-viewer/dataflow.yml | 35 +++++++ examples/rerun-viewer/plot.py | 90 +++++++++++++++++ examples/rerun-viewer/run.rs | 102 ++++++++++++++++++++ examples/rerun-viewer/webcam.py | 53 ++++++++++ libraries/extensions/dora-rerun/Cargo.toml | 15 +++ libraries/extensions/dora-rerun/README.md | 13 +++ libraries/extensions/dora-rerun/src/main.rs | 86 +++++++++++++++++ 8 files changed, 419 insertions(+) create mode 100644 examples/rerun-viewer/README.md create mode 100644 examples/rerun-viewer/dataflow.yml create mode 100755 examples/rerun-viewer/plot.py create mode 100644 examples/rerun-viewer/run.rs create mode 100755 examples/rerun-viewer/webcam.py create mode 100644 libraries/extensions/dora-rerun/Cargo.toml create mode 100644 libraries/extensions/dora-rerun/README.md create mode 100644 libraries/extensions/dora-rerun/src/main.rs diff --git a/examples/rerun-viewer/README.md b/examples/rerun-viewer/README.md new file mode 100644 index 000000000..69074bd78 --- /dev/null +++ b/examples/rerun-viewer/README.md @@ -0,0 +1,25 @@ +# Python Dataflow Example + +This examples shows how to create and connect dora operators and custom nodes in Python. + +## Overview + +The [`dataflow.yml`](./dataflow.yml) defines a simple dataflow graph with the following three nodes: + +- a webcam node, that connects to your webcam and feed the dataflow with webcam frame as jpeg compressed bytearray. +- an object detection node, that apply Yolo v5 on the webcam image. The model is imported from Pytorch Hub. The output is the bouding box of each object detected, the confidence and the class. You can have more info here: https://pytorch.org/hub/ultralytics_yolov5/ +- a window plotting node, that will retrieve the webcam image and the Yolov5 bounding box and join the two together. + +## Getting started + +```bash +cargo run --example python-dataflow +``` + +## Run the dataflow as a standalone + +- Start the `dora-daemon`: + +``` +../../target/release/dora-daemon --run-dataflow dataflow.yml +``` diff --git a/examples/rerun-viewer/dataflow.yml b/examples/rerun-viewer/dataflow.yml new file mode 100644 index 000000000..1b9a1c40e --- /dev/null +++ b/examples/rerun-viewer/dataflow.yml @@ -0,0 +1,35 @@ +nodes: + - id: webcam + custom: + source: ./webcam.py + inputs: + tick: + source: dora/timer/millis/10 + queue_size: 1000 + outputs: + - image + - text + envs: + IMAGE_WIDTH: 960 + IMAGE_HEIGHT: 540 + + + - id: rerun + custom: + source: dora-rerun + inputs: + image: webcam/image + text: webcam/text + envs: + IMAGE_WIDTH: 540 + IMAGE_HEIGHT: 960 + IMAGE_DEPTH: 3 + + - id: matplotlib + custom: + source: ./plot.py + inputs: + image: webcam/image + envs: + IMAGE_WIDTH: 960 + IMAGE_HEIGHT: 540 \ No newline at end of file diff --git a/examples/rerun-viewer/plot.py b/examples/rerun-viewer/plot.py new file mode 100755 index 000000000..649fc82c9 --- /dev/null +++ b/examples/rerun-viewer/plot.py @@ -0,0 +1,90 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +import os +from dora import Node +from dora import DoraStatus + +import cv2 +import numpy as np + +CI = os.environ.get("CI") + +font = cv2.FONT_HERSHEY_SIMPLEX + +IMAGE_WIDTH = int(os.getenv("IMAGE_WIDTH", 960)) +IMAGE_HEIGHT = int(os.getenv("IMAGE_HEIGHT", 540)) + + +class Plotter: + """ + Plot image and bounding box + """ + + def __init__(self): + self.image = [] + self.bboxs = [] + + def on_input( + self, + dora_input, + ) -> DoraStatus: + """ + Put image and bounding box on cv2 window. + + Args: + dora_input["id"] (str): Id of the dora_input declared in the yaml configuration + dora_input["value"] (arrow array): message of the dora_input + """ + if dora_input["id"] == "image": + image = ( + dora_input["value"].to_numpy().reshape((IMAGE_HEIGHT, IMAGE_WIDTH, 3)) + ) + + image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR) + self.image = image + + elif dora_input["id"] == "bbox" and len(self.image) != 0: + bboxs = dora_input["value"].to_numpy() + self.bboxs = np.reshape(bboxs, (-1, 6)) + for bbox in self.bboxs: + [ + min_x, + min_y, + max_x, + max_y, + confidence, + label, + ] = bbox + cv2.rectangle( + self.image, + (int(min_x), int(min_y)), + (int(max_x), int(max_y)), + (0, 255, 0), + 2, + ) + + if CI != "true": + cv2.imshow("frame", self.image) + if cv2.waitKey(1) & 0xFF == ord("q"): + return DoraStatus.STOP + + return DoraStatus.CONTINUE + + +plotter = Plotter() +node = Node() + +for event in node: + event_type = event["type"] + if event_type == "INPUT": + status = plotter.on_input(event) + if status == DoraStatus.CONTINUE: + pass + elif status == DoraStatus.STOP: + print("plotter returned stop status") + break + elif event_type == "STOP": + print("received stop") + else: + print("received unexpected event:", event_type) diff --git a/examples/rerun-viewer/run.rs b/examples/rerun-viewer/run.rs new file mode 100644 index 000000000..a14b553f0 --- /dev/null +++ b/examples/rerun-viewer/run.rs @@ -0,0 +1,102 @@ +use dora_core::{get_pip_path, get_python_path, run}; +use dora_download::download_file; +use dora_tracing::set_up_tracing; +use eyre::{bail, ContextCompat, WrapErr}; +use std::path::Path; + +#[tokio::main] +async fn main() -> eyre::Result<()> { + set_up_tracing("python-dataflow-runner")?; + + let root = Path::new(env!("CARGO_MANIFEST_DIR")); + std::env::set_current_dir(root.join(file!()).parent().unwrap()) + .wrap_err("failed to set working dir")?; + + run( + get_python_path().context("Could not get python binary")?, + &["-m", "venv", "../.env"], + None, + ) + .await + .context("failed to create venv")?; + let venv = &root.join("examples").join(".env"); + std::env::set_var( + "VIRTUAL_ENV", + venv.to_str().context("venv path not valid unicode")?, + ); + let orig_path = std::env::var("PATH")?; + // bin folder is named Scripts on windows. + // 🤦‍♂️ See: https://github.com/pypa/virtualenv/commit/993ba1316a83b760370f5a3872b3f5ef4dd904c1 + let venv_bin = if cfg!(windows) { + venv.join("Scripts") + } else { + venv.join("bin") + }; + + if cfg!(windows) { + std::env::set_var( + "PATH", + format!( + "{};{orig_path}", + venv_bin.to_str().context("venv path not valid unicode")? + ), + ); + } else { + std::env::set_var( + "PATH", + format!( + "{}:{orig_path}", + venv_bin.to_str().context("venv path not valid unicode")? + ), + ); + } + + run( + get_python_path().context("Could not get pip binary")?, + &["-m", "pip", "install", "--upgrade", "pip"], + None, + ) + .await + .context("failed to install pip")?; + run( + get_pip_path().context("Could not get pip binary")?, + &["install", "-r", "requirements.txt"], + None, + ) + .await + .context("pip install failed")?; + + run( + "maturin", + &["develop"], + Some(&root.join("apis").join("python").join("node")), + ) + .await + .context("maturin develop failed")?; + download_file( + "https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt", + Path::new("yolov8n.pt"), + ) + .await + .context("Could not download weights.")?; + + let dataflow = Path::new("dataflow.yml"); + run_dataflow(dataflow).await?; + + Ok(()) +} + +async fn run_dataflow(dataflow: &Path) -> eyre::Result<()> { + let cargo = std::env::var("CARGO").unwrap(); + let mut cmd = tokio::process::Command::new(&cargo); + cmd.arg("run"); + cmd.arg("--package").arg("dora-cli"); + cmd.arg("--") + .arg("daemon") + .arg("--run-dataflow") + .arg(dataflow); + if !cmd.status().await?.success() { + bail!("failed to run dataflow"); + }; + Ok(()) +} diff --git a/examples/rerun-viewer/webcam.py b/examples/rerun-viewer/webcam.py new file mode 100755 index 000000000..f85901503 --- /dev/null +++ b/examples/rerun-viewer/webcam.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +import os +import time +import numpy as np +import cv2 + +from dora import Node +import pyarrow as pa + +node = Node() + +IMAGE_INDEX = int(os.getenv("IMAGE_INDEX", 0)) +IMAGE_WIDTH = int(os.getenv("IMAGE_WIDTH", 960)) +IMAGE_HEIGHT = int(os.getenv("IMAGE_HEIGHT", 540)) +video_capture = cv2.VideoCapture(IMAGE_INDEX) +video_capture.set(cv2.CAP_PROP_FRAME_WIDTH, IMAGE_WIDTH) +video_capture.set(cv2.CAP_PROP_FRAME_HEIGHT, IMAGE_HEIGHT) +font = cv2.FONT_HERSHEY_SIMPLEX + +start = time.time() + +# Run for 20 seconds +while time.time() - start < 60: + # Wait next dora_input + event = node.next() + event_type = event["type"] + if event_type == "INPUT": + ret, frame = video_capture.read() + if not ret: + frame = np.zeros((IMAGE_HEIGHT, IMAGE_WIDTH, 3), dtype=np.uint8) + cv2.putText( + frame, + "No Webcam was found at index %d" % (IMAGE_INDEX), + (int(30), int(30)), + font, + 0.75, + (255, 255, 255), + 2, + 1, + ) + if len(frame) != IMAGE_HEIGHT * IMAGE_WIDTH * 3: + print("frame size is not correct") + frame = cv2.resize(frame, (IMAGE_WIDTH, IMAGE_HEIGHT)) + + frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) + node.send_output( + "image", + pa.array(frame.ravel()), + event["metadata"], + ) + node.send_output("text", pa.array([f"send image at: {time.time()}"])) diff --git a/libraries/extensions/dora-rerun/Cargo.toml b/libraries/extensions/dora-rerun/Cargo.toml new file mode 100644 index 000000000..22aab73ad --- /dev/null +++ b/libraries/extensions/dora-rerun/Cargo.toml @@ -0,0 +1,15 @@ +[package] +name = "dora-rerun" +version.workspace = true +edition = "2021" +documentation.workspace = true +description.workspace = true +license.workspace = true + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +dora-node-api = { workspace = true, features = ["tracing"] } +eyre = "0.6.8" +tokio = { version = "1.36.0", features = ["rt"] } +rerun = { version = "0.15.1", features = ["web_viewer", "image"] } diff --git a/libraries/extensions/dora-rerun/README.md b/libraries/extensions/dora-rerun/README.md new file mode 100644 index 000000000..523757844 --- /dev/null +++ b/libraries/extensions/dora-rerun/README.md @@ -0,0 +1,13 @@ +# dora-rerun + +dora visualization using `rerun` + +## Getting Started + +```bash +cargo install --force rerun-cli@0.15.1 + +## To install this package +git clone git@github.com:dora-rs/dora.git +cargo install --git https://github.com/dora-rs/dora dora-rerun +``` diff --git a/libraries/extensions/dora-rerun/src/main.rs b/libraries/extensions/dora-rerun/src/main.rs new file mode 100644 index 000000000..b860d5e39 --- /dev/null +++ b/libraries/extensions/dora-rerun/src/main.rs @@ -0,0 +1,86 @@ +//! Demonstrates the most barebone usage of the Rerun SDK. + +use dora_node_api::{ + arrow::{ + array::{PrimitiveArray, StringArray, UInt8Array}, + datatypes::{UInt8Type, Utf8Type}, + ipc::Utf8, + }, + DoraNode, Event, +}; +use eyre::{Context, Result}; +use rerun::{ + external::{arrow2::array::Utf8Array, re_types::ArrowBuffer}, + TensorBuffer, TensorData, TensorDimension, +}; + +fn main() -> Result<()> { + // `serve()` requires to have a running Tokio runtime in the current context. + let rt = tokio::runtime::Runtime::new().expect("Failed to create tokio runtime"); + let _guard = rt.enter(); + + let (_node, mut events) = + DoraNode::init_from_env().context("Could not initialize dora node")?; + + let rec = rerun::RecordingStreamBuilder::new("dora-rerun") + .spawn() + .context("Could not spawn rerun visualization")?; + + let shape = vec![ + TensorDimension { + name: Some("width".into()), + size: std::env::var("IMAGE_WIDTH") + .context("Could not read image width")? + .parse() + .context("Could not parse value of image width env variable")?, + }, + TensorDimension { + name: Some("height".into()), + size: std::env::var("IMAGE_HEIGHT") + .context("Could not read image height")? + .parse() + .context("Could not parse value of image height env variable")?, + }, + TensorDimension { + name: Some("depth".into()), + size: std::env::var("IMAGE_DEPTH") + .context("Could not read image depth")? + .parse() + .context("Could not parse value of image depth env variable")?, + }, + ]; + + while let Some(event) = events.recv() { + match event { + Event::Input { + id, + data, + metadata: _, + } => { + if id.as_str().contains("image") { + let buffer: UInt8Array = data.to_data().into(); + let buffer: &[u8] = buffer.values(); + let buffer = TensorBuffer::U8(ArrowBuffer::from(buffer)); + let tensordata = TensorData::new(shape.clone(), buffer.into()); + let image = rerun::Image::new(tensordata); + + rec.log(id.as_str(), &image) + .context("could not log image")?; + } else if id.as_str().contains("text") { + let buffer: StringArray = data.to_data().into(); + buffer.iter().try_for_each(|string| -> Result<()> { + if let Some(str) = string { + rec.log(id.as_str(), &rerun::TextLog::new(str)) + .wrap_err("Could not log text") + } else { + Ok(()) + } + })?; + } + } + _ => {} + } + } + + Ok(()) +} From 1e8874976bd199bde30685f56defdfef36ea30a1 Mon Sep 17 00:00:00 2001 From: haixuanTao Date: Sat, 20 Apr 2024 13:01:23 +0200 Subject: [PATCH 2/6] Migrate tool nodes in its own folder --- Cargo.lock | 4419 ++++++++++++++++- Cargo.toml | 3 +- libraries/extensions/dora-rerun/src/main.rs | 86 - .../dora-record/Cargo.toml | 0 .../dora-record/src/main.rs | 0 .../dora-rerun/Cargo.toml | 1 + .../dora-rerun/README.md | 2 + tool_nodes/dora-rerun/src/main.rs | 98 + 8 files changed, 4359 insertions(+), 250 deletions(-) delete mode 100644 libraries/extensions/dora-rerun/src/main.rs rename {libraries/extensions => tool_nodes}/dora-record/Cargo.toml (100%) rename {libraries/extensions => tool_nodes}/dora-record/src/main.rs (100%) rename {libraries/extensions => tool_nodes}/dora-rerun/Cargo.toml (96%) rename {libraries/extensions => tool_nodes}/dora-rerun/README.md (65%) create mode 100644 tool_nodes/dora-rerun/src/main.rs diff --git a/Cargo.lock b/Cargo.lock index 59f4aa42e..1e7139270 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,6 +2,97 @@ # It is not intended for manual editing. version = 3 +[[package]] +name = "ab_glyph" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f90148830dac590fac7ccfe78ec4a8ea404c60f75a24e16407a71f0f40de775" +dependencies = [ + "ab_glyph_rasterizer", + "owned_ttf_parser", +] + +[[package]] +name = "ab_glyph_rasterizer" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" + +[[package]] +name = "accesskit" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74a4b14f3d99c1255dcba8f45621ab1a2e7540a0009652d33989005a4d0bfc6b" +dependencies = [ + "enumn", + "serde", +] + +[[package]] +name = "accesskit_consumer" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c17cca53c09fbd7288667b22a201274b9becaa27f0b91bf52a526db95de45e6" +dependencies = [ + "accesskit", +] + +[[package]] +name = "accesskit_macos" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd3b6ae1eabbfbced10e840fd3fce8a93ae84f174b3e4ba892ab7bcb42e477a7" +dependencies = [ + "accesskit", + "accesskit_consumer", + "objc2 0.3.0-beta.3.patch-leaks.3", + "once_cell", +] + +[[package]] +name = "accesskit_unix" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09f46c18d99ba61ad7123dd13eeb0c104436ab6af1df6a1cd8c11054ed394a08" +dependencies = [ + "accesskit", + "accesskit_consumer", + "async-channel 2.1.1", + "async-once-cell", + "atspi", + "futures-lite 1.13.0", + "once_cell", + "serde", + "zbus", +] + +[[package]] +name = "accesskit_windows" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afcae27ec0974fc7c3b0b318783be89fd1b2e66dd702179fe600166a38ff4a0b" +dependencies = [ + "accesskit", + "accesskit_consumer", + "once_cell", + "paste", + "static_assertions", + "windows 0.48.0", +] + +[[package]] +name = "accesskit_winit" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5284218aca17d9e150164428a0ebc7b955f70e3a9a78b4c20894513aabf98a67" +dependencies = [ + "accesskit", + "accesskit_macos", + "accesskit_unix", + "accesskit_windows", + "winit", +] + [[package]] name = "addr2line" version = "0.21.0" @@ -38,6 +129,7 @@ dependencies = [ "const-random", "getrandom", "once_cell", + "serde", "version_check", "zerocopy", ] @@ -75,6 +167,39 @@ dependencies = [ "alloc-no-stdlib", ] +[[package]] +name = "allocator-api2" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" + +[[package]] +name = "android-activity" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee91c0c2905bae44f84bfa4e044536541df26b7703fd0888deeb9060fcc44289" +dependencies = [ + "android-properties", + "bitflags 2.4.0", + "cc", + "cesu8", + "jni", + "jni-sys", + "libc", + "log", + "ndk", + "ndk-context", + "ndk-sys", + "num_enum", + "thiserror", +] + +[[package]] +name = "android-properties" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" + [[package]] name = "android-tzdata" version = "0.1.1" @@ -153,12 +278,43 @@ version = "1.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" +[[package]] +name = "arboard" +version = "3.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2041f1943049c7978768d84e6d0fd95de98b76d6c4727b09e78ec253d29fa58" +dependencies = [ + "clipboard-win", + "core-graphics", + "image", + "log", + "objc", + "objc-foundation", + "objc_id", + "parking_lot", + "thiserror", + "windows-sys 0.48.0", + "x11rb", +] + [[package]] name = "array-init" version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d62b7694a562cdf5a74227903507c56ab2cc8bdd1f781ed5cb4cf9c9f810bfc" +[[package]] +name = "array-init-cursor" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf7d0a018de4f6aa429b9d33d69edf69072b1c5b1cb8d3e4a5f7ef898fc3eb76" + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + [[package]] name = "arrow" version = "48.0.0" @@ -272,6 +428,16 @@ dependencies = [ "num", ] +[[package]] +name = "arrow-format" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07884ea216994cdc32a2d5f8274a8bee979cfe90274b83f86f440866ee3132c7" +dependencies = [ + "planus", + "serde", +] + [[package]] name = "arrow-ipc" version = "48.0.0" @@ -299,7 +465,7 @@ dependencies = [ "arrow-schema", "chrono", "half", - "indexmap 2.0.2", + "indexmap 2.2.6", "lexical-core", "num", "serde", @@ -376,6 +542,40 @@ dependencies = [ "regex-syntax 0.8.2", ] +[[package]] +name = "as-raw-xcb-connection" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" + +[[package]] +name = "ash" +version = "0.37.3+1.3.251" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a" +dependencies = [ + "libloading 0.7.4", +] + +[[package]] +name = "ashpd" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ac22eda5891cc086690cb6fa10121c0390de0e3b04eb269f2d766b00d3f2d81" +dependencies = [ + "async-fs 2.1.1", + "async-net", + "enumflags2", + "futures-channel", + "futures-util", + "once_cell", + "rand", + "serde", + "serde_repr", + "url", + "zbus", +] + [[package]] name = "async-attributes" version = "1.1.2" @@ -386,6 +586,16 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "async-broadcast" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b" +dependencies = [ + "event-listener 2.5.3", + "futures-core", +] + [[package]] name = "async-channel" version = "1.9.0" @@ -416,7 +626,7 @@ version = "1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c1da3ae8dabd9c00f453a329dfe1fb28da3c0a72e2478cdcd93171740c20499" dependencies = [ - "async-lock", + "async-lock 2.8.0", "async-task", "concurrent-queue", "fastrand 2.0.1", @@ -424,6 +634,29 @@ dependencies = [ "slab", ] +[[package]] +name = "async-fs" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" +dependencies = [ + "async-lock 2.8.0", + "autocfg", + "blocking", + "futures-lite 1.13.0", +] + +[[package]] +name = "async-fs" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc19683171f287921f2405677dd2ed2549c3b3bda697a563ebc3a121ace2aba1" +dependencies = [ + "async-lock 3.3.0", + "blocking", + "futures-lite 2.2.0", +] + [[package]] name = "async-global-executor" version = "2.3.1" @@ -432,8 +665,8 @@ checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776" dependencies = [ "async-channel 1.9.0", "async-executor", - "async-io", - "async-lock", + "async-io 1.13.0", + "async-lock 2.8.0", "blocking", "futures-lite 1.13.0", "once_cell", @@ -446,20 +679,39 @@ version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" dependencies = [ - "async-lock", + "async-lock 2.8.0", "autocfg", "cfg-if 1.0.0", "concurrent-queue", "futures-lite 1.13.0", "log", "parking", - "polling", + "polling 2.8.0", "rustix 0.37.25", "slab", "socket2 0.4.9", "waker-fn", ] +[[package]] +name = "async-io" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884" +dependencies = [ + "async-lock 3.3.0", + "cfg-if 1.0.0", + "concurrent-queue", + "futures-io", + "futures-lite 2.2.0", + "parking", + "polling 3.5.0", + "rustix 0.38.32", + "slab", + "tracing", + "windows-sys 0.52.0", +] + [[package]] name = "async-lock" version = "2.8.0" @@ -469,14 +721,42 @@ dependencies = [ "event-listener 2.5.3", ] +[[package]] +name = "async-lock" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" +dependencies = [ + "event-listener 4.0.0", + "event-listener-strategy", + "pin-project-lite", +] + +[[package]] +name = "async-net" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7" +dependencies = [ + "async-io 2.3.2", + "blocking", + "futures-lite 2.2.0", +] + +[[package]] +name = "async-once-cell" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9338790e78aa95a416786ec8389546c4b6a1dfc3dc36071ed9518a9413a542eb" + [[package]] name = "async-process" version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a9d28b1d97e08915212e2e45310d47854eafa69600756fc735fb788f75199c9" dependencies = [ - "async-io", - "async-lock", + "async-io 1.13.0", + "async-lock 2.8.0", "autocfg", "blocking", "cfg-if 1.0.0", @@ -487,6 +767,17 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "async-recursion" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30c5ef0ede93efbf733c1a727f3b6b5a1060bbedd5600183e66f6e4be4af0ec5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + [[package]] name = "async-rustls" version = "0.3.0" @@ -507,8 +798,8 @@ dependencies = [ "async-attributes", "async-channel 1.9.0", "async-global-executor", - "async-io", - "async-lock", + "async-io 1.13.0", + "async-lock 2.8.0", "async-process", "crossbeam-utils", "futures-channel", @@ -577,6 +868,54 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" +[[package]] +name = "atspi" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6059f350ab6f593ea00727b334265c4dfc7fd442ee32d264794bd9bdc68e87ca" +dependencies = [ + "atspi-common", + "atspi-connection", + "atspi-proxies", +] + +[[package]] +name = "atspi-common" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92af95f966d2431f962bc632c2e68eda7777330158bf640c4af4249349b2cdf5" +dependencies = [ + "enumflags2", + "serde", + "static_assertions", + "zbus", + "zbus_names", + "zvariant", +] + +[[package]] +name = "atspi-connection" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c65e7d70f86d4c0e3b2d585d9bf3f979f0b19d635a336725a88d279f76b939" +dependencies = [ + "atspi-common", + "atspi-proxies", + "futures-lite 1.13.0", + "zbus", +] + +[[package]] +name = "atspi-proxies" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6495661273703e7a229356dcbe8c8f38223d697aacfaf0e13590a9ac9977bb52" +dependencies = [ + "atspi-common", + "serde", + "zbus", +] + [[package]] name = "atty" version = "0.2.14" @@ -605,7 +944,7 @@ dependencies = [ "bitflags 1.3.2", "bytes", "futures-util", - "http", + "http 0.2.9", "http-body", "hyper", "itoa", @@ -631,7 +970,7 @@ dependencies = [ "async-trait", "bytes", "futures-util", - "http", + "http 0.2.9", "http-body", "mime", "rustversion", @@ -639,6 +978,12 @@ dependencies = [ "tower-service", ] +[[package]] +name = "az" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973" + [[package]] name = "backtrace" version = "0.3.69" @@ -741,6 +1086,15 @@ dependencies = [ "serde", ] +[[package]] +name = "bit-set" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +dependencies = [ + "bit-vec", +] + [[package]] name = "bit-vec" version = "0.6.3" @@ -758,6 +1112,10 @@ name = "bitflags" version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" +dependencies = [ + "bytemuck", + "serde", +] [[package]] name = "bitvec" @@ -771,6 +1129,12 @@ dependencies = [ "wyz", ] +[[package]] +name = "block" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" + [[package]] name = "block-buffer" version = "0.10.4" @@ -781,42 +1145,91 @@ dependencies = [ ] [[package]] -name = "blocking" -version = "1.4.0" +name = "block-sys" +version = "0.1.0-beta.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94c4ef1f913d78636d78d538eec1f18de81e481f44b1be0a81060090530846e1" +checksum = "0fa55741ee90902547802152aaf3f8e5248aab7e21468089560d4c8840561146" dependencies = [ - "async-channel 1.9.0", - "async-lock", - "async-task", - "fastrand 2.0.1", - "futures-io", - "futures-lite 1.13.0", - "piper", - "tracing", + "objc-sys 0.2.0-beta.2", ] [[package]] -name = "brotli" -version = "3.4.0" +name = "block-sys" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f" +checksum = "ae85a0696e7ea3b835a453750bf002770776609115e6d25c6d2ff28a8200f7e7" dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", - "brotli-decompressor", + "objc-sys 0.3.3", ] [[package]] -name = "brotli-decompressor" -version = "2.5.1" +name = "block2" +version = "0.2.0-alpha.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f" +checksum = "8dd9e63c1744f755c2f60332b88de39d341e5e86239014ad839bd71c106dec42" +dependencies = [ + "block-sys 0.1.0-beta.1", + "objc2-encode 2.0.0-pre.2", +] + +[[package]] +name = "block2" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15b55663a85f33501257357e6421bb33e769d5c9ffb5ba0921c975a123e35e68" +dependencies = [ + "block-sys 0.2.1", + "objc2 0.4.1", +] + +[[package]] +name = "blocking" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94c4ef1f913d78636d78d538eec1f18de81e481f44b1be0a81060090530846e1" +dependencies = [ + "async-channel 1.9.0", + "async-lock 2.8.0", + "async-task", + "fastrand 2.0.1", + "futures-io", + "futures-lite 1.13.0", + "piper", + "tracing", +] + +[[package]] +name = "brotli" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "2.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", ] +[[package]] +name = "bstr" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" +dependencies = [ + "lazy_static", + "memchr", + "regex-automata 0.1.10", +] + [[package]] name = "bstr" version = "1.6.2" @@ -845,11 +1258,31 @@ version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" +[[package]] +name = "bytecount" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce" + [[package]] name = "bytemuck" version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4da9a32f3fed317401fa3c862968128267c3106685286e15d5aaa3d7389c2f60" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] [[package]] name = "byteorder" @@ -878,6 +1311,77 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "981520c98f422fcc584dc1a95c334e6953900b9106bc47a9839b81790009eb21" +[[package]] +name = "calloop" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298" +dependencies = [ + "bitflags 2.4.0", + "log", + "polling 3.5.0", + "rustix 0.38.32", + "slab", + "thiserror", +] + +[[package]] +name = "calloop-wayland-source" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02" +dependencies = [ + "calloop", + "rustix 0.38.32", + "wayland-backend", + "wayland-client", +] + +[[package]] +name = "camino" +version = "1.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo-platform" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" +dependencies = [ + "camino", + "cargo-platform", + "semver", + "serde", + "serde_json", +] + +[[package]] +name = "cargo_metadata" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" +dependencies = [ + "camino", + "cargo-platform", + "semver", + "serde", + "serde_json", + "thiserror", +] + [[package]] name = "cc" version = "1.0.83" @@ -914,6 +1418,17 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" +[[package]] +name = "cfb" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d38f2da7a0a2c4ccf0065be06397cc26a81f4e528be095826eee9d4adbb8c60f" +dependencies = [ + "byteorder", + "fnv", + "uuid", +] + [[package]] name = "cfg-if" version = "0.1.10" @@ -926,6 +1441,18 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" + +[[package]] +name = "cfg_aliases" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77e53693616d3075149f4ead59bdeecd204ac6b8192d8969757601b74bddf00f" + [[package]] name = "chrono" version = "0.4.37" @@ -951,6 +1478,15 @@ dependencies = [ "inout", ] +[[package]] +name = "clang-format" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "696283b40e1a39d208ee614b92e5f6521d16962edeb47c48372585ec92419943" +dependencies = [ + "thiserror", +] + [[package]] name = "clap" version = "3.2.25" @@ -1031,6 +1567,21 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961" +[[package]] +name = "clean-path" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aaa6b4b263a5d737e9bf6b7c09b72c41a5480aec4d7219af827f6564e950b6a5" + +[[package]] +name = "clipboard-win" +version = "5.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79f4473f5144e20d9aceaf2972478f06ddf687831eafeeb434fbaf0acc4144ad" +dependencies = [ + "error-code", +] + [[package]] name = "clircle" version = "0.4.0" @@ -1043,6 +1594,36 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "cocoa" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c" +dependencies = [ + "bitflags 1.3.2", + "block", + "cocoa-foundation", + "core-foundation", + "core-graphics", + "foreign-types", + "libc", + "objc", +] + +[[package]] +name = "cocoa-foundation" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" +dependencies = [ + "bitflags 1.3.2", + "block", + "core-foundation", + "core-graphics-types", + "libc", + "objc", +] + [[package]] name = "codespan-reporting" version = "0.11.1" @@ -1053,12 +1634,49 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "color_quant" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" + [[package]] name = "colorchoice" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +[[package]] +name = "com" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e17887fd17353b65b1b2ef1c526c83e26cd72e74f598a8dc1bee13a48f3d9f6" +dependencies = [ + "com_macros", +] + +[[package]] +name = "com_macros" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d375883580a668c7481ea6631fc1a8863e33cc335bf56bfad8d7e6d4b04b13a5" +dependencies = [ + "com_macros_support", + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "com_macros_support" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad899a1087a9296d5644792d7cb72b8e34c1bec8e7d4fbc002230169a6e8710c" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "combine" version = "4.6.6" @@ -1069,6 +1687,17 @@ dependencies = [ "memchr", ] +[[package]] +name = "comfy-table" +version = "7.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b34115915337defe99b2aff5c2ce6771e5fbc4079f4b506301f5cf394c8452f7" +dependencies = [ + "strum 0.26.2", + "strum_macros 0.26.2", + "unicode-width", +] + [[package]] name = "communication-layer-pub-sub" version = "0.3.3" @@ -1138,11 +1767,20 @@ dependencies = [ "memchr", ] +[[package]] +name = "convert_case" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "core-foundation" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" dependencies = [ "core-foundation-sys", "libc", @@ -1150,9 +1788,33 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.4" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" + +[[package]] +name = "core-graphics" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-graphics-types", + "foreign-types", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" +checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "libc", +] [[package]] name = "cpufeatures" @@ -1172,49 +1834,62 @@ dependencies = [ "cfg-if 1.0.0", ] +[[package]] +name = "crossbeam" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" +dependencies = [ + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-epoch", + "crossbeam-queue", + "crossbeam-utils", +] + [[package]] name = "crossbeam-channel" -version = "0.5.8" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" +checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" dependencies = [ - "cfg-if 1.0.0", "crossbeam-utils", ] [[package]] name = "crossbeam-deque" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" dependencies = [ - "cfg-if 1.0.0", "crossbeam-epoch", "crossbeam-utils", ] [[package]] name = "crossbeam-epoch" -version = "0.9.15" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "autocfg", - "cfg-if 1.0.0", "crossbeam-utils", - "memoffset 0.9.0", - "scopeguard", ] [[package]] -name = "crossbeam-utils" -version = "0.8.16" +name = "crossbeam-queue" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" +checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" dependencies = [ - "cfg-if 1.0.0", + "crossbeam-utils", ] +[[package]] +name = "crossbeam-utils" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" + [[package]] name = "crossterm" version = "0.25.0" @@ -1297,6 +1972,12 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "cursor-icon" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" + [[package]] name = "cxx" version = "1.0.118" @@ -1347,13 +2028,23 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d706e75d87e35569db781a9b5e2416cff1236a47ed380831f959382ccd5f858" dependencies = [ - "darling_core", - "darling_macro", + "darling_core 0.10.2", + "darling_macro 0.10.2", ] [[package]] -name = "darling_core" -version = "0.10.2" +name = "darling" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" +dependencies = [ + "darling_core 0.20.8", + "darling_macro 0.20.8", +] + +[[package]] +name = "darling_core" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0c960ae2da4de88a91b2d920c2a7233b400bc33cb28453a2987822d8392519b" dependencies = [ @@ -1365,17 +2056,41 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "darling_core" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "syn 2.0.48", +] + [[package]] name = "darling_macro" version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9b5a2f4ac4969822c62224815d069952656cadc7084fdca9751e6d959189b72" dependencies = [ - "darling_core", + "darling_core 0.10.2", "quote", "syn 1.0.109", ] +[[package]] +name = "darling_macro" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" +dependencies = [ + "darling_core 0.20.8", + "quote", + "syn 2.0.48", +] + [[package]] name = "dashmap" version = "5.5.3" @@ -1389,6 +2104,12 @@ dependencies = [ "parking_lot_core", ] +[[package]] +name = "data-encoding" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" + [[package]] name = "der" version = "0.6.1" @@ -1405,6 +2126,20 @@ name = "deranged" version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" +dependencies = [ + "serde", +] + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] [[package]] name = "digest" @@ -1418,6 +2153,16 @@ dependencies = [ "subtle", ] +[[package]] +name = "directories-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "339ee130d97a610ea5a5872d2bbb130fdf68884ff09d3028b81bec8a1ac23bbc" +dependencies = [ + "cfg-if 1.0.0", + "dirs-sys-next", +] + [[package]] name = "dirs" version = "4.0.0" @@ -1459,6 +2204,41 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi 0.3.9", +] + +[[package]] +name = "dispatch" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" + +[[package]] +name = "dlib" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" +dependencies = [ + "libloading 0.7.4", +] + +[[package]] +name = "document-features" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef5282ad69563b5fc40319526ba27e0e7363d552a896f0297d54f767717f9b95" +dependencies = [ + "litrs", +] + [[package]] name = "dora-arrow-convert" version = "0.3.3" @@ -1485,7 +2265,7 @@ dependencies = [ "eyre", "futures", "inquire", - "notify", + "notify 5.2.0", "serde", "serde_json", "serde_yaml 0.9.30", @@ -1653,7 +2433,7 @@ dependencies = [ "dora-ros2-bridge-msg-gen", "eyre", "futures-lite 2.2.0", - "prettyplease", + "prettyplease 0.1.25", "rust-format", "serde", "serde-big-array", @@ -1745,6 +2525,17 @@ dependencies = [ "tokio", ] +[[package]] +name = "dora-rerun" +version = "0.3.3" +dependencies = [ + "dora-node-api", + "eyre", + "ndarray", + "rerun", + "tokio", +] + [[package]] name = "dora-ros2-bridge" version = "0.1.0" @@ -1813,7 +2604,7 @@ dependencies = [ "flume 0.10.14", "futures", "futures-concurrency", - "libloading", + "libloading 0.7.4", "pyo3", "pythonize", "serde_yaml 0.8.26", @@ -1835,6 +2626,12 @@ dependencies = [ "tracing-subscriber", ] +[[package]] +name = "downcast-rs" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" + [[package]] name = "dunce" version = "1.0.4" @@ -1847,12 +2644,206 @@ version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23d2f3407d9a573d666de4b5bdf10569d73ca9478087346697dcbae6244bfbcd" +[[package]] +name = "ecolor" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20930a432bbd57a6d55e07976089708d4893f3d556cf42a0d79e9e321fa73b10" +dependencies = [ + "bytemuck", + "serde", +] + +[[package]] +name = "eframe" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "020e2ccef6bbcec71dbc542f7eed64a5846fc3076727f5746da8fd307c91bab2" +dependencies = [ + "bytemuck", + "cocoa", + "directories-next", + "document-features", + "egui", + "egui-wgpu", + "egui-winit", + "egui_glow", + "image", + "js-sys", + "log", + "objc", + "parking_lot", + "percent-encoding", + "pollster", + "puffin", + "raw-window-handle 0.6.0", + "ron", + "serde", + "static_assertions", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "web-time", + "wgpu", + "winapi 0.3.9", + "winit", +] + +[[package]] +name = "egui" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "584c5d1bf9a67b25778a3323af222dbe1a1feb532190e103901187f92c7fe29a" +dependencies = [ + "accesskit", + "ahash", + "backtrace", + "epaint", + "log", + "nohash-hasher", + "puffin", + "ron", + "serde", +] + +[[package]] +name = "egui-wgpu" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "469ff65843f88a702b731a1532b7d03b0e8e96d283e70f3a22b0e06c46cb9b37" +dependencies = [ + "bytemuck", + "document-features", + "egui", + "epaint", + "log", + "puffin", + "thiserror", + "type-map", + "web-time", + "wgpu", + "winit", +] + +[[package]] +name = "egui-winit" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e3da0cbe020f341450c599b35b92de4af7b00abde85624fd16f09c885573609" +dependencies = [ + "accesskit_winit", + "arboard", + "egui", + "log", + "puffin", + "raw-window-handle 0.6.0", + "serde", + "smithay-clipboard", + "web-time", + "webbrowser", + "winit", +] + +[[package]] +name = "egui_commonmark" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e30fc4d40a8ef399a8debfbdae0462ca45912d81b9e81b24373337669e961201" +dependencies = [ + "egui", + "egui_extras", + "pulldown-cmark 0.10.2", +] + +[[package]] +name = "egui_extras" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b78779f35ded1a853786c9ce0b43fe1053e10a21ea3b23ebea411805ce41593" +dependencies = [ + "egui", + "ehttp", + "enum-map", + "image", + "log", + "mime_guess2", + "puffin", + "serde", +] + +[[package]] +name = "egui_glow" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0e5d975f3c86edc3d35b1db88bb27c15dde7c55d3b5af164968ab5ede3f44ca" +dependencies = [ + "bytemuck", + "egui", + "egui-winit", + "glow", + "log", + "memoffset 0.9.0", + "puffin", + "wasm-bindgen", + "web-sys", + "winit", +] + +[[package]] +name = "egui_plot" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7854b86dc1c2d352c5270db3d600011daa913d6b554141a03939761323288a1" +dependencies = [ + "egui", +] + +[[package]] +name = "egui_tiles" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e2c0ff99daddcbdc54b141dbb7be3b014463da48a03ebc801bf63e500b23d75" +dependencies = [ + "ahash", + "egui", + "itertools 0.12.1", + "log", + "serde", +] + +[[package]] +name = "ehttp" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59a81c221a1e4dad06cb9c9deb19aea1193a5eea084e8cd42d869068132bf876" +dependencies = [ + "document-features", + "futures-util", + "js-sys", + "ureq", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", +] + [[package]] name = "either" version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" +[[package]] +name = "emath" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4c3a552cfca14630702449d35f41c84a0d15963273771c6059175a803620f3f" +dependencies = [ + "bytemuck", + "serde", +] + [[package]] name = "encode_unicode" version = "0.3.6" @@ -1868,6 +2859,27 @@ dependencies = [ "cfg-if 1.0.0", ] +[[package]] +name = "enum-map" +version = "2.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6866f3bfdf8207509a033af1a75a7b08abda06bbaaeae6669323fd5a097df2e9" +dependencies = [ + "enum-map-derive", + "serde", +] + +[[package]] +name = "enum-map-derive" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + [[package]] name = "enumflags2" version = "0.7.8" @@ -1889,6 +2901,38 @@ dependencies = [ "syn 2.0.48", ] +[[package]] +name = "enumn" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fd000fd6988e73bbe993ea3db9b1aa64906ab88766d654973924340c8cddb42" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "enumset" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "226c0da7462c13fb57e5cc9e0dc8f0635e7d27f276a3a7fd30054647f669007d" +dependencies = [ + "enumset_derive", +] + +[[package]] +name = "enumset_derive" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08b6c6ab82d70f08844964ba10c7babb716de2ecaeab9be5717918a5177d3af" +dependencies = [ + "darling 0.20.8", + "proc-macro2", + "quote", + "syn 2.0.48", +] + [[package]] name = "env_logger" version = "0.10.0" @@ -1902,6 +2946,25 @@ dependencies = [ "termcolor", ] +[[package]] +name = "epaint" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b381f8b149657a4acf837095351839f32cd5c4aec1817fc4df84e18d76334176" +dependencies = [ + "ab_glyph", + "ahash", + "bytemuck", + "ecolor", + "emath", + "log", + "nohash-hasher", + "parking_lot", + "puffin", + "rayon", + "serde", +] + [[package]] name = "equivalent" version = "1.0.1" @@ -1918,6 +2981,21 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "error-chain" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc" +dependencies = [ + "version_check", +] + +[[package]] +name = "error-code" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0474425d51df81997e2f90a21591180b38eccf27292d755f3e30750225c175b" + [[package]] name = "etcetera" version = "0.8.0" @@ -1929,6 +3007,12 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "ethnum" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b90ca2580b73ab6a1f724b76ca11ab632df820fd6040c336200d2c1df7b3c82c" + [[package]] name = "event-listener" version = "2.5.3" @@ -1957,8 +3041,23 @@ dependencies = [ ] [[package]] -name = "ext-trait" -version = "1.0.1" +name = "ewebsock" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6177769715c6ec5a324acee995183b22721ea23c58e49af14a828eadec85d120" +dependencies = [ + "document-features", + "js-sys", + "log", + "tungstenite 0.21.0", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "ext-trait" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d772df1c1a777963712fb68e014235e80863d6a91a85c4e06ba2d16243a310e5" dependencies = [ @@ -2010,6 +3109,15 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +[[package]] +name = "fdeflate" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645" +dependencies = [ + "simd-adler32", +] + [[package]] name = "filetime" version = "0.2.22" @@ -2022,6 +3130,19 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "fixed" +version = "1.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fc715d38bea7b5bf487fcd79bcf8c209f0b58014f3018a7a19c2b855f472048" +dependencies = [ + "az", + "bytemuck", + "half", + "serde", + "typenum", +] + [[package]] name = "fixedbitset" version = "0.4.2" @@ -2079,6 +3200,39 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foreign-types" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" +dependencies = [ + "foreign-types-macros", + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-macros" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "foreign-types-shared" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" + +[[package]] +name = "foreign_vec" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee1b05cbd864bcaecbd3455d6d967862d446e4ebfc3c2e5e5b9841e53cba6673" + [[package]] name = "form_urlencoded" version = "1.2.1" @@ -2266,6 +3420,16 @@ dependencies = [ "version_check", ] +[[package]] +name = "gethostname" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" +dependencies = [ + "libc", + "windows-targets 0.48.5", +] + [[package]] name = "getrandom" version = "0.2.10" @@ -2331,6 +3495,27 @@ dependencies = [ "url", ] +[[package]] +name = "gl_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d" +dependencies = [ + "khronos_api", + "log", + "xml-rs", +] + +[[package]] +name = "glam" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f597d56c1bd55a811a1be189459e8fad2bbc272616375602443bdfb37fa774" +dependencies = [ + "bytemuck", + "serde", +] + [[package]] name = "glob" version = "0.3.1" @@ -2344,7 +3529,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" dependencies = [ "aho-corasick", - "bstr", + "bstr 1.6.2", "log", "regex-automata 0.4.3", "regex-syntax 0.8.2", @@ -2362,13 +3547,125 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "glow" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1" +dependencies = [ + "js-sys", + "slotmap", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gltf" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b78f069cf941075835822953c345b9e1edd67ae347b81ace3aea9de38c2ef33" +dependencies = [ + "base64 0.13.1", + "byteorder", + "gltf-json", + "image", + "lazy_static", + "serde_json", + "urlencoding", +] + +[[package]] +name = "gltf-derive" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "438ffe1a5540d75403feaf23636b164e816e93f6f03131674722b3886ce32a57" +dependencies = [ + "inflections", + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "gltf-json" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "655951ba557f2bc69ea4b0799446bae281fa78efae6319968bdd2c3e9a06d8e1" +dependencies = [ + "gltf-derive", + "serde", + "serde_derive", + "serde_json", +] + +[[package]] +name = "glutin_wgl_sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8098adac955faa2d31079b65dc48841251f69efd3ac25477903fc424362ead" +dependencies = [ + "gl_generator", +] + +[[package]] +name = "gpu-alloc" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" +dependencies = [ + "bitflags 2.4.0", + "gpu-alloc-types", +] + +[[package]] +name = "gpu-alloc-types" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" +dependencies = [ + "bitflags 2.4.0", +] + +[[package]] +name = "gpu-allocator" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f56f6318968d03c18e1bcf4857ff88c61157e9da8e47c5f29055d60e1228884" +dependencies = [ + "log", + "presser", + "thiserror", + "winapi 0.3.9", + "windows 0.52.0", +] + +[[package]] +name = "gpu-descriptor" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c" +dependencies = [ + "bitflags 2.4.0", + "gpu-descriptor-types", + "hashbrown 0.14.3", +] + +[[package]] +name = "gpu-descriptor-types" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bf0b36e6f090b7e1d8a4b49c0cb81c1f8376f72198c65dd3ad9ff3556b8b78c" +dependencies = [ + "bitflags 2.4.0", +] + [[package]] name = "grep-cli" version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fe4bdbf4300c8b039f5d7eec7fbc6760d2c85bb15ac7499c4d235667f6d747a" dependencies = [ - "bstr", + "bstr 1.6.2", "globset", "lazy_static", "log", @@ -2389,8 +3686,8 @@ dependencies = [ "futures-core", "futures-sink", "futures-util", - "http", - "indexmap 2.0.2", + "http 0.2.9", + "indexmap 2.2.6", "slab", "tokio", "tokio-util", @@ -2403,11 +3700,18 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872" dependencies = [ + "bytemuck", "cfg-if 1.0.0", "crunchy", "num-traits", ] +[[package]] +name = "hash_hasher" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74721d007512d0cb3338cd20f0654ac913920061a4c4d0d8708edb3f2a698c0c" + [[package]] name = "hashbrown" version = "0.12.3" @@ -2419,6 +3723,25 @@ name = "hashbrown" version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +dependencies = [ + "ahash", + "allocator-api2", +] + +[[package]] +name = "hassle-rs" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890" +dependencies = [ + "bitflags 2.4.0", + "com", + "libc", + "libloading 0.7.4", + "thiserror", + "widestring", + "winapi 0.3.9", +] [[package]] name = "heck" @@ -2456,6 +3779,12 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +[[package]] +name = "hexf-parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" + [[package]] name = "hmac" version = "0.12.1" @@ -2485,6 +3814,17 @@ dependencies = [ "itoa", ] +[[package]] +name = "http" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + [[package]] name = "http-body" version = "0.4.5" @@ -2492,7 +3832,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" dependencies = [ "bytes", - "http", + "http 0.2.9", "pin-project-lite", ] @@ -2525,7 +3865,7 @@ dependencies = [ "futures-core", "futures-util", "h2", - "http", + "http 0.2.9", "http-body", "httparse", "httpdate", @@ -2545,7 +3885,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", - "http", + "http 0.2.9", "hyper", "rustls 0.21.10", "tokio", @@ -2587,6 +3927,17 @@ dependencies = [ "cc", ] +[[package]] +name = "icrate" +version = "0.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d3aaff8a54577104bafdf686ff18565c3b6903ca5782a2026ef06e2c7aa319" +dependencies = [ + "block2 0.3.0", + "dispatch", + "objc2 0.4.1", +] + [[package]] name = "ident_case" version = "1.0.1" @@ -2613,6 +3964,27 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "image" +version = "0.24.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d" +dependencies = [ + "bytemuck", + "byteorder", + "color_quant", + "jpeg-decoder", + "num-traits", + "png", + "tiff", +] + +[[package]] +name = "indent" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9f1a0777d972970f204fdf8ef319f1f4f8459131636d7e3c96c5d59570d0fa6" + [[package]] name = "indenter" version = "0.3.3" @@ -2631,12 +4003,13 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.0.2" +version = "2.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", "hashbrown 0.14.3", + "serde", ] [[package]] @@ -2645,6 +4018,21 @@ version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8" +[[package]] +name = "infer" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb33622da908807a06f9513c19b3c1ad50fab3e4137d82a78107d502075aa199" +dependencies = [ + "cfb", +] + +[[package]] +name = "inflections" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a257582fdcde896fd96463bf2d40eefea0580021c0712a0e2b028b60b47a837a" + [[package]] name = "inotify" version = "0.9.6" @@ -2791,7 +4179,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" dependencies = [ "hermit-abi 0.3.3", - "rustix 0.38.28", + "rustix 0.38.32", "windows-sys 0.48.0", ] @@ -2813,6 +4201,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.9" @@ -2850,11 +4247,17 @@ dependencies = [ "libc", ] +[[package]] +name = "jpeg-decoder" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0" + [[package]] name = "js-sys" -version = "0.3.64" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ "wasm-bindgen", ] @@ -2889,6 +4292,23 @@ dependencies = [ "winapi-build", ] +[[package]] +name = "khronos-egl" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76" +dependencies = [ + "libc", + "libloading 0.8.3", + "pkg-config", +] + +[[package]] +name = "khronos_api" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" + [[package]] name = "kqueue" version = "1.0.8" @@ -3025,6 +4445,16 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "libloading" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" +dependencies = [ + "cfg-if 1.0.0", + "windows-targets 0.52.0", +] + [[package]] name = "libm" version = "0.2.7" @@ -3032,14 +4462,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4" [[package]] -name = "libz-sys" -version = "1.1.12" +name = "libredox" +version = "0.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b" +checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" dependencies = [ - "cc", + "bitflags 2.4.0", "libc", - "pkg-config", + "redox_syscall 0.4.1", +] + +[[package]] +name = "libz-sys" +version = "1.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b" +dependencies = [ + "cc", + "libc", + "pkg-config", "vcpkg", ] @@ -3079,6 +4520,12 @@ version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" +[[package]] +name = "litrs" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" + [[package]] name = "local-ip-address" version = "0.6.1" @@ -3099,6 +4546,7 @@ checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" dependencies = [ "autocfg", "scopeguard", + "serde", ] [[package]] @@ -3110,6 +4558,15 @@ dependencies = [ "value-bag", ] +[[package]] +name = "log-once" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d8a05e3879b317b1b6dbf353e5bba7062bedcc59815267bb23eaa0c576cebf0" +dependencies = [ + "log", +] + [[package]] name = "lz4_flex" version = "0.11.2" @@ -3119,6 +4576,17 @@ dependencies = [ "twox-hash", ] +[[package]] +name = "macaw" +version = "0.18.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fdbfdf07a7e53090afb7fd427eb0a4b46fc51cb484b2deba27b47919762dfb" +dependencies = [ + "glam", + "num-traits", + "serde", +] + [[package]] name = "macro_rules_attribute" version = "0.1.3" @@ -3159,6 +4627,16 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" +[[package]] +name = "matrixmultiply" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2" +dependencies = [ + "autocfg", + "rawpointer", +] + [[package]] name = "md5" version = "0.7.0" @@ -3171,6 +4649,15 @@ version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" +[[package]] +name = "memmap2" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" +dependencies = [ + "libc", +] + [[package]] name = "memoffset" version = "0.6.5" @@ -3207,12 +4694,47 @@ dependencies = [ "autocfg", ] +[[package]] +name = "memory-stats" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34f79cf9964c5c9545493acda1263f1912f8d2c56c8a2ffee2606cb960acaacc" +dependencies = [ + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "metal" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25" +dependencies = [ + "bitflags 2.4.0", + "block", + "core-graphics-types", + "foreign-types", + "log", + "objc", + "paste", +] + [[package]] name = "mime" version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +[[package]] +name = "mime_guess2" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25a3333bb1609500601edc766a39b4c1772874a4ce26022f4d866854dc020c41" +dependencies = [ + "mime", + "unicase", +] + [[package]] name = "minimal-lexical" version = "0.2.1" @@ -3226,6 +4748,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" dependencies = [ "adler", + "simd-adler32", ] [[package]] @@ -3309,6 +4832,26 @@ dependencies = [ "eyre", ] +[[package]] +name = "naga" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50e3524642f53d9af419ab5e8dd29d3ba155708267667c2f3f06c88c9e130843" +dependencies = [ + "bit-set", + "bitflags 2.4.0", + "codespan-reporting", + "hexf-parse", + "indexmap 2.2.6", + "log", + "num-traits", + "rustc-hash", + "spirv", + "termcolor", + "thiserror", + "unicode-xid", +] + [[package]] name = "names" version = "0.14.0" @@ -3328,12 +4871,55 @@ dependencies = [ "getrandom", ] +[[package]] +name = "natord" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "308d96db8debc727c3fd9744aac51751243420e46edf401010908da7f8d5e57c" + +[[package]] +name = "ndarray" +version = "0.15.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32" +dependencies = [ + "matrixmultiply", + "num-complex", + "num-integer", + "num-traits", + "rawpointer", +] + +[[package]] +name = "ndk" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7" +dependencies = [ + "bitflags 2.4.0", + "jni-sys", + "log", + "ndk-sys", + "num_enum", + "raw-window-handle 0.6.0", + "thiserror", +] + [[package]] name = "ndk-context" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" +[[package]] +name = "ndk-sys" +version = "0.5.0+25.2.9519653" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691" +dependencies = [ + "jni-sys", +] + [[package]] name = "neli" version = "0.6.4" @@ -3370,6 +4956,12 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "never" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c96aba5aa877601bb3f6dd6a63a969e1f82e60646e81e71b14496995e9853c91" + [[package]] name = "newline-converter" version = "0.2.2" @@ -3422,6 +5014,12 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43794a0ace135be66a25d3ae77d41b91615fb68ae937f904090203e81f755b65" +[[package]] +name = "nohash-hasher" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" + [[package]] name = "nom" version = "7.1.3" @@ -3450,6 +5048,25 @@ dependencies = [ "windows-sys 0.45.0", ] +[[package]] +name = "notify" +version = "6.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" +dependencies = [ + "bitflags 2.4.0", + "crossbeam-channel", + "filetime", + "fsevent-sys", + "inotify", + "kqueue", + "libc", + "log", + "mio 0.8.11", + "walkdir", + "windows-sys 0.48.0", +] + [[package]] name = "ntapi" version = "0.4.1" @@ -3593,6 +5210,36 @@ dependencies = [ "libc", ] +[[package]] +name = "num_enum" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" +dependencies = [ + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "num_threads" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" +dependencies = [ + "libc", +] + [[package]] name = "nvml-wrapper" version = "0.9.0" @@ -3600,7 +5247,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7cd21b9f5a1cce3c3515c9ffa85f5c7443e07162dae0ccf4339bb7ca38ad3454" dependencies = [ "bitflags 1.3.2", - "libloading", + "libloading 0.7.4", "nvml-wrapper-sys", "static_assertions", "thiserror", @@ -3613,7 +5260,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c961a2ea9e91c59a69b78e69090f6f5b867bb46c0c56de9482da232437c4987e" dependencies = [ - "libloading", + "libloading 0.7.4", ] [[package]] @@ -3623,6 +5270,84 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" dependencies = [ "malloc_buf", + "objc_exception", +] + +[[package]] +name = "objc-foundation" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9" +dependencies = [ + "block", + "objc", + "objc_id", +] + +[[package]] +name = "objc-sys" +version = "0.2.0-beta.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b9834c1e95694a05a828b59f55fa2afec6288359cda67146126b3f90a55d7" + +[[package]] +name = "objc-sys" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da284c198fb9b7b0603f8635185e85fbd5b64ee154b1ed406d489077de2d6d60" + +[[package]] +name = "objc2" +version = "0.3.0-beta.3.patch-leaks.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e01640f9f2cb1220bbe80325e179e532cb3379ebcd1bf2279d703c19fe3a468" +dependencies = [ + "block2 0.2.0-alpha.6", + "objc-sys 0.2.0-beta.2", + "objc2-encode 2.0.0-pre.2", +] + +[[package]] +name = "objc2" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "559c5a40fdd30eb5e344fbceacf7595a81e242529fb4e21cf5f43fb4f11ff98d" +dependencies = [ + "objc-sys 0.3.3", + "objc2-encode 3.0.0", +] + +[[package]] +name = "objc2-encode" +version = "2.0.0-pre.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abfcac41015b00a120608fdaa6938c44cb983fee294351cc4bac7638b4e50512" +dependencies = [ + "objc-sys 0.2.0-beta.2", +] + +[[package]] +name = "objc2-encode" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d079845b37af429bfe5dfa76e6d087d788031045b25cfc6fd898486fd9847666" + +[[package]] +name = "objc_exception" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" +dependencies = [ + "cc", +] + +[[package]] +name = "objc_id" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" +dependencies = [ + "objc", ] [[package]] @@ -3636,9 +5361,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "onig" @@ -3718,7 +5443,7 @@ checksum = "1a016b8d9495c639af2145ac22387dcb88e44118e45320d9238fbf4e7889abcb" dependencies = [ "async-trait", "futures-core", - "http", + "http 0.2.9", "opentelemetry 0.22.0", "opentelemetry-proto", "opentelemetry-semantic-conventions 0.14.0", @@ -3766,7 +5491,7 @@ dependencies = [ "indexmap 1.9.3", "nvml-wrapper", "opentelemetry 0.22.0", - "sysinfo", + "sysinfo 0.29.10", "tracing", ] @@ -3822,7 +5547,7 @@ dependencies = [ "glob", "once_cell", "opentelemetry 0.22.0", - "ordered-float 4.1.1", + "ordered-float 4.2.0", "percent-encoding", "rand", "thiserror", @@ -3836,6 +5561,15 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" +[[package]] +name = "orbclient" +version = "0.3.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52f0d54bde9774d3a51dcf281a5def240c71996bc6ca05d2c847ec8b2b216166" +dependencies = [ + "libredox", +] + [[package]] name = "ordered-float" version = "1.1.1" @@ -3865,13 +5599,23 @@ dependencies = [ [[package]] name = "ordered-float" -version = "4.1.1" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "536900a8093134cf9ccf00a27deb3532421099e958d9dd431135d0c7543ca1e8" +checksum = "a76df7075c7d4d01fdcb46c912dd17fba5b60c78ea480b475f2b6ab6f666584e" dependencies = [ "num-traits", ] +[[package]] +name = "ordered-stream" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" +dependencies = [ + "futures-core", + "pin-project-lite", +] + [[package]] name = "os_str_bytes" version = "6.5.1" @@ -3884,6 +5628,15 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" +[[package]] +name = "owned_ttf_parser" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4586edfe4c648c71797a74c84bacb32b52b212eff5dfe2bb9f2c599844023e7" +dependencies = [ + "ttf-parser", +] + [[package]] name = "parking" version = "2.2.0" @@ -3961,6 +5714,39 @@ dependencies = [ "std_prelude", ] +[[package]] +name = "pathdiff" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" + +[[package]] +name = "peg" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f76678828272f177ac33b7e2ac2e3e73cc6c1cd1e3e387928aa69562fa51367" +dependencies = [ + "peg-macros", + "peg-runtime", +] + +[[package]] +name = "peg-macros" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "636d60acf97633e48d266d7415a9355d4389cea327a193f87df395d88cd2b14d" +dependencies = [ + "peg-runtime", + "proc-macro2", + "quote", +] + +[[package]] +name = "peg-runtime" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9555b1514d2d99d78150d3c799d4c357a3e2c2a8062cd108e93a06d9057629c5" + [[package]] name = "pem-rfc7468" version = "0.6.0" @@ -4028,7 +5814,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", - "indexmap 2.0.2", + "indexmap 2.2.6", ] [[package]] @@ -4102,6 +5888,15 @@ version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +[[package]] +name = "planus" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc1691dd09e82f428ce8d6310bd6d5da2557c82ff17694d2a32cad7242aea89f" +dependencies = [ + "array-init-cursor", +] + [[package]] name = "plist" version = "1.5.0" @@ -4111,11 +5906,23 @@ dependencies = [ "base64 0.21.4", "indexmap 1.9.3", "line-wrap", - "quick-xml", + "quick-xml 0.29.0", "serde", "time", ] +[[package]] +name = "ply-rs" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbadf9cb4a79d516de4c64806fe64ffbd8161d1ac685d000be789fb628b88963" +dependencies = [ + "byteorder", + "linked-hash-map", + "peg", + "skeptic", +] + [[package]] name = "pnet" version = "0.31.0" @@ -4205,6 +6012,31 @@ dependencies = [ "pnet_sys", ] +[[package]] +name = "png" +version = "0.17.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + +[[package]] +name = "poll-promise" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6a58fecbf9da8965bcdb20ce4fd29788d1acee68ddbb64f0ba1b81bccdb7df" +dependencies = [ + "document-features", + "static_assertions", + "wasm-bindgen", + "wasm-bindgen-futures", +] + [[package]] name = "polling" version = "2.8.0" @@ -4221,12 +6053,38 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "polling" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24f040dee2588b4963afb4e420540439d126f73fdacf4a9c486a96d840bac3c9" +dependencies = [ + "cfg-if 1.0.0", + "concurrent-queue", + "pin-project-lite", + "rustix 0.38.32", + "tracing", + "windows-sys 0.52.0", +] + +[[package]] +name = "pollster" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2" + [[package]] name = "ppv-lite86" version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +[[package]] +name = "presser" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa" + [[package]] name = "prettyplease" version = "0.1.25" @@ -4237,6 +6095,35 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "prettyplease" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d3928fb5db768cb86f891ff014f0144589297e3c6a1aba6ed7cecfdace270c7" +dependencies = [ + "proc-macro2", + "syn 2.0.48", +] + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +dependencies = [ + "toml_edit 0.21.1", +] + [[package]] name = "proc-macro-error" version = "1.0.4" @@ -4276,6 +6163,26 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "profiling" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43d84d1d7a6ac92673717f9f6d1518374ef257669c24ebc5ac25d5033828be58" +dependencies = [ + "profiling-procmacros", + "puffin", +] + +[[package]] +name = "profiling-procmacros" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8021cf59c8ec9c432cfc2526ac6b8aa508ecaf29cd415f271b8406c1b851c3fd" +dependencies = [ + "quote", + "syn 2.0.48", +] + [[package]] name = "prost" version = "0.12.4" @@ -4299,6 +6206,57 @@ dependencies = [ "syn 2.0.48", ] +[[package]] +name = "puffin" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9f76ad4bb049fded4e572df72cbb6381ff5d1f41f85c3a04b56e4eca287a02f" +dependencies = [ + "anyhow", + "bincode", + "byteorder", + "cfg-if 1.0.0", + "lz4_flex", + "once_cell", + "parking_lot", + "serde", +] + +[[package]] +name = "puffin_http" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4936c085e48efc86f6d96609dc5086d1d236afe3ec4676f09b157a4f4be83ff6" +dependencies = [ + "anyhow", + "crossbeam-channel", + "log", + "parking_lot", + "puffin", +] + +[[package]] +name = "pulldown-cmark" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b" +dependencies = [ + "bitflags 2.4.0", + "memchr", + "unicase", +] + +[[package]] +name = "pulldown-cmark" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f0530d13d87d1f549b66a3e8d0c688952abe5994e204ed62615baaf25dc029c" +dependencies = [ + "bitflags 2.4.0", + "memchr", + "unicase", +] + [[package]] name = "pyo3" version = "0.20.0" @@ -4381,6 +6339,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "quick-xml" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" +dependencies = [ + "memchr", +] + [[package]] name = "quinn" version = "0.9.4" @@ -4482,6 +6449,12 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" +[[package]] +name = "raw-window-handle" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42a9830a0e1b9fb145ebb365b8bc4ccd75f290f98c0247deafbbe2c75cefb544" + [[package]] name = "raw_sync_2" version = "0.1.5" @@ -4495,24 +6468,1051 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "rawpointer" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" + [[package]] name = "rayon" version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" +checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "re_analytics" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28ed083fc621e7e7d9b9a17dbb4986a5329a05ac1ff52692e77826820eac4de9" +dependencies = [ + "crossbeam", + "directories-next", + "ehttp", + "re_build_info", + "re_build_tools", + "re_log", + "serde", + "serde_json", + "sha2", + "thiserror", + "time", + "uuid", + "web-sys", +] + +[[package]] +name = "re_arrow2" +version = "0.17.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1285f33f03e2faf9f77b06c19f32f8c54792a4cbb19df762b9ea70b79e0773d" +dependencies = [ + "ahash", + "arrow-format", + "bytemuck", + "chrono", + "comfy-table", + "dyn-clone", + "either", + "ethnum", + "foreign_vec", + "getrandom", + "hash_hasher", + "hashbrown 0.14.3", + "num-traits", + "rustc_version", + "simdutf8", +] + +[[package]] +name = "re_build_info" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147f2e79d9d8ef833666413adbc795403e250cfd8f29f41ede198a5a4dde8612" + +[[package]] +name = "re_build_tools" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88dd6c26a72f68dd437dcbb462dc4fd5b6ab439f41f2dce2a12b95300266f725" +dependencies = [ + "anyhow", + "cargo_metadata 0.18.1", + "glob", + "sha2", + "time", + "unindent", + "walkdir", +] + +[[package]] +name = "re_crash_handler" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3feb098f6d9840f771f00b9c753f45eaa39687c5eac23549dbfe878a62c7d53d" +dependencies = [ + "backtrace", + "itertools 0.12.1", + "libc", + "parking_lot", + "re_analytics", + "re_build_info", +] + +[[package]] +name = "re_data_source" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa09ab2bd8dfb4d3a0c9541adf1ddf1eb880812a8d2e24875533bfce644db469" +dependencies = [ + "ahash", + "anyhow", + "image", + "itertools 0.12.1", + "once_cell", + "parking_lot", + "rayon", + "re_build_tools", + "re_log", + "re_log_encoding", + "re_log_types", + "re_smart_channel", + "re_tracing", + "re_types", + "re_ws_comms", + "thiserror", + "walkdir", +] + +[[package]] +name = "re_data_store" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8faaee8c6f3c9aedf3b1b6c22050661861e41a8840f664d7685f6875667c9ba0" +dependencies = [ + "ahash", + "document-features", + "indent", + "itertools 0.12.1", + "nohash-hasher", + "once_cell", + "parking_lot", + "re_arrow2", + "re_error", + "re_format", + "re_log", + "re_log_types", + "re_tracing", + "re_types_core", + "smallvec", + "thiserror", + "web-time", +] + +[[package]] +name = "re_data_ui" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fde87a2c87ca648bdcce352cf086f7536679c53a7583f2d27c299363fbaf231" +dependencies = [ + "ahash", + "anyhow", + "bytemuck", + "egui", + "egui_extras", + "egui_plot", + "image", + "itertools 0.12.1", + "re_data_store", + "re_entity_db", + "re_error", + "re_format", + "re_log", + "re_log_types", + "re_query", + "re_renderer", + "re_smart_channel", + "re_tracing", + "re_types", + "re_types_core", + "re_ui", + "re_viewer_context", + "rfd", +] + +[[package]] +name = "re_entity_db" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14f8d79b407fc1068f92994bcbf8681f1f6087547bf72ef6491f824a6965a0b2" +dependencies = [ + "ahash", + "document-features", + "emath", + "getrandom", + "itertools 0.12.1", + "nohash-hasher", + "parking_lot", + "re_data_store", + "re_format", + "re_int_histogram", + "re_log", + "re_log_encoding", + "re_log_types", + "re_query", + "re_query_cache", + "re_smart_channel", + "re_tracing", + "re_types_core", + "rmp-serde", + "serde", + "thiserror", + "web-time", +] + +[[package]] +name = "re_error" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a561ff5a4cdf5bc37c03f62fd78f618326c4cb0b10d2d7a062b33490bf9d630" + +[[package]] +name = "re_format" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4405cf9203a791ff5e23bcbd54718635f9ec2323d48ea7d2c312adb6af756ca4" +dependencies = [ + "comfy-table", + "num-traits", + "re_arrow2", + "re_tuid", + "re_types_core", +] + +[[package]] +name = "re_int_histogram" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d422a395b4c0e0aed3acaca56a2b5681fc0a89d2a0d58323c2b940ae5944ac2f" +dependencies = [ + "smallvec", + "static_assertions", +] + +[[package]] +name = "re_log" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35056426bb497a2bd30ec54f1aac35f32c6b0f2cd64fd833509ebb1e4be19f11" +dependencies = [ + "env_logger", + "js-sys", + "log", + "log-once", + "parking_lot", + "tracing", + "wasm-bindgen", +] + +[[package]] +name = "re_log_encoding" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10ff455e7e5e091cf8e43ce397c03ebad81357e3f45eab9a076674e7f2002618" +dependencies = [ + "ehttp", + "js-sys", + "lz4_flex", + "parking_lot", + "re_build_info", + "re_log", + "re_log_types", + "re_smart_channel", + "re_tracing", + "rmp-serde", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "web-time", +] + +[[package]] +name = "re_log_types" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "239e3176efb51de961a8ea4d27af8b8076c37e40f8788b5a87e060fb806d7a29" +dependencies = [ + "ahash", + "anyhow", + "backtrace", + "bytemuck", + "clean-path", + "crossbeam", + "document-features", + "fixed", + "half", + "itertools 0.12.1", + "natord", + "nohash-hasher", + "num-derive", + "num-traits", + "re_arrow2", + "re_format", + "re_log", + "re_string_interner", + "re_tracing", + "re_tuid", + "re_types_core", + "serde", + "serde_bytes", + "similar-asserts", + "smallvec", + "thiserror", + "time", + "typenum", + "uuid", + "web-time", +] + +[[package]] +name = "re_memory" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6812a6e08580fd7c6864eb018a8535093c23ab28cc4a607fe20b65b991dc1a36" +dependencies = [ + "ahash", + "backtrace", + "emath", + "itertools 0.12.1", + "memory-stats", + "nohash-hasher", + "once_cell", + "parking_lot", + "re_format", + "re_log", + "re_tracing", + "smallvec", + "sysinfo 0.30.11", + "wasm-bindgen", + "web-time", +] + +[[package]] +name = "re_query" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64be284a20b1756e11702fbb6b9021ea9f291f6541dcf0def23dda8da803055c" +dependencies = [ + "backtrace", + "document-features", + "itertools 0.12.1", + "re_arrow2", + "re_data_store", + "re_format", + "re_log", + "re_log_types", + "re_tracing", + "re_types_core", + "serde", + "smallvec", + "thiserror", +] + +[[package]] +name = "re_query_cache" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc2e00e32ea25bd8cc8393a184b5c0b135fac7cf86aad131d818f5973dd0ccbf" +dependencies = [ + "ahash", + "indent", + "itertools 0.12.1", + "parking_lot", + "paste", + "re_data_store", + "re_format", + "re_log", + "re_log_types", + "re_query", + "re_tracing", + "re_types_core", + "seq-macro", + "web-time", +] + +[[package]] +name = "re_renderer" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2902018a22e9cb535737582bc2c26e8e4939d0b24a5cd404c61919739e1f6d61" +dependencies = [ + "ahash", + "anyhow", + "bitflags 2.4.0", + "bytemuck", + "cfg-if 1.0.0", + "cfg_aliases 0.2.0", + "clean-path", + "crossbeam", + "document-features", + "ecolor", + "enumset", + "getrandom", + "glam", + "gltf", + "half", + "itertools 0.12.1", + "macaw", + "never", + "notify 6.1.1", + "ordered-float 4.2.0", + "parking_lot", + "pathdiff", + "profiling", + "re_arrow2", + "re_build_tools", + "re_error", + "re_log", + "re_tracing", + "serde", + "slotmap", + "smallvec", + "static_assertions", + "thiserror", + "tinystl", + "tobj", + "type-map", + "walkdir", + "wasm-bindgen-futures", + "wgpu", + "wgpu-core", +] + +[[package]] +name = "re_sdk" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45192dc7062d954626534e46709c3998a9c0773ffc48fad16d0ab2cd0278a895" +dependencies = [ + "ahash", + "anyhow", + "crossbeam", + "document-features", + "itertools 0.12.1", + "once_cell", + "parking_lot", + "re_build_info", + "re_build_tools", + "re_data_source", + "re_log", + "re_log_encoding", + "re_log_types", + "re_memory", + "re_sdk_comms", + "re_smart_channel", + "re_types_core", + "re_web_viewer_server", + "re_ws_comms", + "thiserror", + "webbrowser", +] + +[[package]] +name = "re_sdk_comms" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fe674910694817af5ff3efc4b36f19c7ce9e01f797e9d53b450e094eef3067a" +dependencies = [ + "ahash", + "crossbeam", + "document-features", + "rand", + "re_log", + "re_log_encoding", + "re_log_types", + "re_smart_channel", + "thiserror", + "tokio", +] + +[[package]] +name = "re_smart_channel" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "473934eb487c8f439cbde1e565c7a57e5a37909092c93d6a100efa1a8d52f5d6" +dependencies = [ + "crossbeam", + "parking_lot", + "re_tracing", + "serde", + "web-time", +] + +[[package]] +name = "re_space_view" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88a75158bba7b189228da2ca2c6801a74c42290a0120af78b93ec30035edafb3" +dependencies = [ + "ahash", + "egui", + "itertools 0.12.1", + "nohash-hasher", + "re_data_store", + "re_entity_db", + "re_log", + "re_log_types", + "re_query", + "re_tracing", + "re_types", + "re_types_core", + "re_viewer_context", + "slotmap", + "smallvec", +] + +[[package]] +name = "re_space_view_bar_chart" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ff7920522519199c365b5e049fe46c6dde0c4c1b356318239c0409c00e04495" +dependencies = [ + "egui", + "egui_plot", + "re_data_store", + "re_entity_db", + "re_log", + "re_log_types", + "re_renderer", + "re_space_view", + "re_tracing", + "re_types", + "re_ui", + "re_viewer_context", +] + +[[package]] +name = "re_space_view_dataframe" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4c09039219aae6bc2c6a1cb9e98c36f59858006ee639501b5c190f9e9d7fe7b" +dependencies = [ + "egui", + "egui_extras", + "re_data_store", + "re_data_ui", + "re_entity_db", + "re_log_types", + "re_query", + "re_renderer", + "re_tracing", + "re_types", + "re_ui", + "re_viewer_context", +] + +[[package]] +name = "re_space_view_spatial" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee0c742b6de79ca773bed2aa9255c2f0cad0a4b43181fed025d43e52a5885b73" +dependencies = [ + "ahash", + "anyhow", + "bitflags 2.4.0", + "bytemuck", + "egui", + "glam", + "itertools 0.12.1", + "macaw", + "nohash-hasher", + "once_cell", + "parking_lot", + "rayon", + "re_data_store", + "re_data_ui", + "re_entity_db", + "re_error", + "re_format", + "re_log", + "re_log_types", + "re_query", + "re_query_cache", + "re_renderer", + "re_space_view", + "re_tracing", + "re_types", + "re_ui", + "re_viewer_context", + "serde", + "smallvec", + "web-time", +] + +[[package]] +name = "re_space_view_tensor" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48ad9ea32a7ba75fa07ce1346450ce78dbe8b855086dd248d13d44f5cdfa24fc" +dependencies = [ + "ahash", + "anyhow", + "bytemuck", + "egui", + "half", + "ndarray", + "re_data_store", + "re_data_ui", + "re_entity_db", + "re_log", + "re_log_types", + "re_renderer", + "re_space_view", + "re_tracing", + "re_types", + "re_ui", + "re_viewer_context", + "serde", + "thiserror", + "wgpu", +] + +[[package]] +name = "re_space_view_text_document" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea29a1471fccfb28c79bf5b745655c0c3b0b14285a20dd61f29812ee54914cb0" +dependencies = [ + "egui", + "egui_commonmark", + "itertools 0.12.1", + "re_data_store", + "re_log", + "re_query", + "re_renderer", + "re_space_view", + "re_tracing", + "re_types", + "re_ui", + "re_viewer_context", +] + +[[package]] +name = "re_space_view_text_log" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60b72e7a3ec29386a91336cf60859d9668dad072ef4b14317dbf3c0bf86aec53" +dependencies = [ + "egui", + "egui_extras", + "itertools 0.12.1", + "re_data_store", + "re_data_ui", + "re_entity_db", + "re_log", + "re_log_types", + "re_query_cache", + "re_renderer", + "re_tracing", + "re_types", + "re_ui", + "re_viewer_context", +] + +[[package]] +name = "re_space_view_time_series" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8d5194c716fed198893a3712afd4b71c05e914e9b26b9e2a54ed031b4467502" +dependencies = [ + "egui", + "egui_plot", + "itertools 0.12.1", + "parking_lot", + "rayon", + "re_data_store", + "re_format", + "re_log", + "re_log_types", + "re_query", + "re_query_cache", + "re_renderer", + "re_space_view", + "re_tracing", + "re_types", + "re_ui", + "re_viewer_context", +] + +[[package]] +name = "re_string_interner" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbaf2000f39f12a01789ab13f5515028784e62be80006f9a3bdc92283ba9eff4" +dependencies = [ + "ahash", + "nohash-hasher", + "once_cell", + "parking_lot", + "serde", + "static_assertions", +] + +[[package]] +name = "re_time_panel" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a9a4e9831bc379ba8e9cc07987fe63a25100eea2f918f0f4da65d485631809c" +dependencies = [ + "egui", + "itertools 0.12.1", + "re_data_store", + "re_data_ui", + "re_entity_db", + "re_format", + "re_log_types", + "re_tracing", + "re_ui", + "re_viewer_context", + "re_viewport", + "serde", + "vec1", +] + +[[package]] +name = "re_tracing" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61ca94b1087b377bde7e109c969b381c38d9a5a93a8265635a18aa3b341a5250" +dependencies = [ + "puffin", + "puffin_http", + "re_log", + "rfd", +] + +[[package]] +name = "re_tuid" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f82367ff940f00195fc6cc868d5e9cbec26ae1a3b7de6fa4b1c37457a42e93b5" +dependencies = [ + "document-features", + "getrandom", + "once_cell", + "serde", + "web-time", +] + +[[package]] +name = "re_types" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6acfd68909dd9720a2f9542ef0f660a33b3e7afd11c46c35f7e10101679d378e" +dependencies = [ + "anyhow", + "array-init", + "bytemuck", + "document-features", + "ecolor", + "egui_plot", + "glam", + "half", + "image", + "infer", + "itertools 0.12.1", + "linked-hash-map", + "mime_guess2", + "ndarray", + "nohash-hasher", + "once_cell", + "ply-rs", + "rayon", + "re_arrow2", + "re_build_tools", + "re_log", + "re_tracing", + "re_types_builder", + "re_types_core", + "smallvec", + "thiserror", + "uuid", + "zune-core", + "zune-jpeg", +] + +[[package]] +name = "re_types_builder" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe6bf1bb44be7f5ebed2d3f8bb46c67669d7ecbe52731ab0edd16cc2db3f02f2" +dependencies = [ + "anyhow", + "camino", + "clang-format", + "convert_case", + "flatbuffers", + "indent", + "itertools 0.12.1", + "prettyplease 0.2.17", + "proc-macro2", + "quote", + "rayon", + "re_arrow2", + "re_build_tools", + "re_log", + "re_tracing", + "rust-format", + "syn 2.0.48", + "tempfile", + "unindent", + "xshell", +] + +[[package]] +name = "re_types_core" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49a3d0143e33bd1d91ff8754511dbd1f038e4fa7bdc3fca0ac0f8619c0f778d3" +dependencies = [ + "anyhow", + "backtrace", + "bytemuck", + "document-features", + "once_cell", + "re_arrow2", + "re_error", + "re_string_interner", + "re_tracing", + "re_tuid", + "serde", + "smallvec", + "thiserror", +] + +[[package]] +name = "re_ui" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50017df0dca14a4995a71397db0a4f2e9a4a1118aee4e79c14beabdb92413cc6" +dependencies = [ + "egui", + "egui_commonmark", + "egui_extras", + "parking_lot", + "re_entity_db", + "re_format", + "re_log_types", + "serde", + "serde_json", + "strum 0.25.0", + "strum_macros 0.25.3", + "sublime_fuzzy", +] + +[[package]] +name = "re_viewer" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6770f90562ef536eecb5cf9490c2fe125c813b7e58c816afaf3c9b026fcb80e8" +dependencies = [ + "ahash", + "anyhow", + "bytemuck", + "cfg-if 1.0.0", + "eframe", + "egui", + "egui-wgpu", + "egui_extras", + "egui_plot", + "egui_tiles", + "ehttp", + "image", + "itertools 0.12.1", + "js-sys", + "once_cell", + "poll-promise", + "re_analytics", + "re_build_info", + "re_build_tools", + "re_data_source", + "re_data_store", + "re_data_ui", + "re_entity_db", + "re_error", + "re_format", + "re_log", + "re_log_encoding", + "re_log_types", + "re_memory", + "re_query_cache", + "re_renderer", + "re_smart_channel", + "re_space_view", + "re_space_view_bar_chart", + "re_space_view_dataframe", + "re_space_view_spatial", + "re_space_view_tensor", + "re_space_view_text_document", + "re_space_view_text_log", + "re_space_view_time_series", + "re_time_panel", + "re_tracing", + "re_types", + "re_types_core", + "re_ui", + "re_viewer_context", + "re_viewport", + "re_ws_comms", + "rfd", + "ron", + "serde", + "serde_json", + "thiserror", + "time", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "web-time", + "wgpu", +] + +[[package]] +name = "re_viewer_context" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2de3a41feea776f865e3315f7422298a7299d5ac59068fbc5018fc9dd2865b8" +dependencies = [ + "ahash", + "anyhow", + "arboard", + "bit-vec", + "bytemuck", + "egui", + "egui-wgpu", + "egui_tiles", + "glam", + "half", + "indexmap 2.2.6", + "itertools 0.12.1", + "macaw", + "ndarray", + "nohash-hasher", + "once_cell", + "parking_lot", + "re_data_source", + "re_data_store", + "re_entity_db", + "re_log", + "re_log_types", + "re_query", + "re_query_cache", + "re_renderer", + "re_smart_channel", + "re_string_interner", + "re_tracing", + "re_types", + "re_ui", + "serde", + "slotmap", + "smallvec", + "thiserror", + "uuid", + "wgpu", +] + +[[package]] +name = "re_viewport" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cc8b3fd1a6eefa041a7dec6a2556f6f9a60c47107e4a3297b9ebb7fa9ae1943" +dependencies = [ + "ahash", + "array-init", + "bytemuck", + "egui", + "egui_tiles", + "glam", + "image", + "itertools 0.12.1", + "nohash-hasher", + "once_cell", + "rayon", + "re_arrow2", + "re_data_store", + "re_data_ui", + "re_entity_db", + "re_log", + "re_log_types", + "re_query", + "re_renderer", + "re_smart_channel", + "re_space_view", + "re_space_view_time_series", + "re_tracing", + "re_types", + "re_types_core", + "re_ui", + "re_viewer_context", + "rmp-serde", + "smallvec", +] + +[[package]] +name = "re_web_viewer_server" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9d11fe92ba3e159b2c4fe3640973d00cf8143ffb8d010078068a16b58a0c48b" dependencies = [ - "either", - "rayon-core", + "clap 4.4.6", + "document-features", + "futures-util", + "hyper", + "re_analytics", + "re_log", + "thiserror", + "tokio", + "webbrowser", ] [[package]] -name = "rayon-core" -version = "1.12.0" +name = "re_ws_comms" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" +checksum = "e2fcd476b838119c1c57973c7df3b379cc6e74e9b97a72cf9bb4488170b95d20" dependencies = [ - "crossbeam-deque", - "crossbeam-utils", + "anyhow", + "bincode", + "document-features", + "ewebsock", + "futures-channel", + "futures-util", + "parking_lot", + "re_format", + "re_log", + "re_log_types", + "re_memory", + "re_smart_channel", + "re_tracing", + "thiserror", + "tokio", + "tokio-tungstenite", + "tungstenite 0.20.1", ] [[package]] @@ -4533,6 +7533,15 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + [[package]] name = "redox_users" version = "0.4.3" @@ -4605,6 +7614,12 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +[[package]] +name = "renderdoc-sys" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" + [[package]] name = "reqwest" version = "0.11.22" @@ -4617,7 +7632,7 @@ dependencies = [ "futures-core", "futures-util", "h2", - "http", + "http 0.2.9", "http-body", "hyper", "hyper-rustls", @@ -4645,6 +7660,62 @@ dependencies = [ "winreg", ] +[[package]] +name = "rerun" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6978682653fc699d484b92d0ee75e25b73fdf9b0e50d62b67707d6bcd7f4cc96" +dependencies = [ + "anyhow", + "document-features", + "env_logger", + "itertools 0.12.1", + "log", + "puffin", + "rayon", + "re_analytics", + "re_build_info", + "re_build_tools", + "re_crash_handler", + "re_entity_db", + "re_format", + "re_log", + "re_log_types", + "re_memory", + "re_sdk", + "re_sdk_comms", + "re_smart_channel", + "re_tracing", + "re_types", + "re_viewer", + "re_web_viewer_server", +] + +[[package]] +name = "rfd" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c9e7b57df6e8472152674607f6cc68aa14a748a3157a857a94f516e11aeacc2" +dependencies = [ + "ashpd", + "async-io 1.13.0", + "block", + "dispatch", + "futures-util", + "js-sys", + "log", + "objc", + "objc-foundation", + "objc_id", + "pollster", + "raw-window-handle 0.5.2", + "urlencoding", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "windows-sys 0.48.0", +] + [[package]] name = "rgb" version = "0.8.36" @@ -4693,6 +7764,40 @@ dependencies = [ "cache-padded", ] +[[package]] +name = "rmp" +version = "0.8.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4" +dependencies = [ + "byteorder", + "num-traits", + "paste", +] + +[[package]] +name = "rmp-serde" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "938a142ab806f18b88a97b0dea523d39e0fd730a064b035726adcfc58a8a5188" +dependencies = [ + "byteorder", + "rmp", + "serde", +] + +[[package]] +name = "ron" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94" +dependencies = [ + "base64 0.21.4", + "bitflags 2.4.0", + "serde", + "serde_derive", +] + [[package]] name = "ros2-client" version = "0.7.1" @@ -4700,7 +7805,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9bee0c156d235d3d52d217d29b628e56dd8a0be5308acb1925a7d76835ee5bb" dependencies = [ "async-channel 2.1.1", - "bstr", + "bstr 1.6.2", "bytes", "cdr-encoding-size", "chrono", @@ -4774,7 +7879,7 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60e7c00b6c3bf5e38a880eec01d7e829d12ca682079f8238a464def3c4b31627" dependencies = [ - "prettyplease", + "prettyplease 0.1.25", "proc-macro2", "syn 1.0.109", ] @@ -4864,9 +7969,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.28" +version = "0.38.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316" +checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89" dependencies = [ "bitflags 2.4.0", "errno", @@ -4895,10 +8000,24 @@ checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" dependencies = [ "log", "ring 0.17.7", - "rustls-webpki", + "rustls-webpki 0.101.7", "sct", ] +[[package]] +name = "rustls" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" +dependencies = [ + "log", + "ring 0.17.7", + "rustls-pki-types", + "rustls-webpki 0.102.2", + "subtle", + "zeroize", +] + [[package]] name = "rustls-native-certs" version = "0.6.3" @@ -4920,6 +8039,12 @@ dependencies = [ "base64 0.21.4", ] +[[package]] +name = "rustls-pki-types" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247" + [[package]] name = "rustls-webpki" version = "0.101.7" @@ -4930,6 +8055,17 @@ dependencies = [ "untrusted 0.9.0", ] +[[package]] +name = "rustls-webpki" +version = "0.102.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610" +dependencies = [ + "ring 0.17.7", + "rustls-pki-types", + "untrusted 0.9.0", +] + [[package]] name = "rustversion" version = "1.0.14" @@ -4973,7 +8109,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf04ebd3786110e64269a74eea58c5564dd92a1e790c0f6f9871d6fe1b8e34db" dependencies = [ "macro_rules_attribute", - "prettyplease", + "prettyplease 0.1.25", "proc-macro2", "quote", "syn 1.0.109", @@ -4997,6 +8133,12 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + [[package]] name = "scopeguard" version = "1.2.0" @@ -5047,6 +8189,9 @@ name = "semver" version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad977052201c6de01a8ef2aa3378c4bd23217a056337d1d6da40468d267a4fb0" +dependencies = [ + "serde", +] [[package]] name = "seq-macro" @@ -5091,6 +8236,15 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_bytes" +version = "0.11.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" +dependencies = [ + "serde", +] + [[package]] name = "serde_derive" version = "1.0.195" @@ -5154,13 +8308,24 @@ version = "0.9.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1bf28c79a99f70ee1f1d83d10c875d2e70618417fda01ad1785e027579d9d38" dependencies = [ - "indexmap 2.0.2", + "indexmap 2.2.6", "itoa", "ryu", "serde", "unsafe-libyaml", ] +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if 1.0.0", + "cpufeatures", + "digest", +] + [[package]] name = "sha2" version = "0.10.8" @@ -5286,6 +8451,53 @@ dependencies = [ "rand_core", ] +[[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + +[[package]] +name = "simdutf8" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" + +[[package]] +name = "similar" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa42c91313f1d05da9b26f267f931cf178d4aba455b4c4622dd7355eb80c6640" +dependencies = [ + "bstr 0.2.17", + "unicode-segmentation", +] + +[[package]] +name = "similar-asserts" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e041bb827d1bfca18f213411d51b665309f1afb37a04a5d1464530e13779fc0f" +dependencies = [ + "console", + "similar", +] + +[[package]] +name = "skeptic" +version = "0.13.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16d23b015676c90a0f01c197bfdc786c20342c73a0afdda9025adb0bc42940a8" +dependencies = [ + "bytecount", + "cargo_metadata 0.14.2", + "error-chain", + "glob", + "pulldown-cmark 0.9.6", + "tempfile", + "walkdir", +] + [[package]] name = "slab" version = "0.4.9" @@ -5295,11 +8507,69 @@ dependencies = [ "autocfg", ] +[[package]] +name = "slotmap" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" +dependencies = [ + "serde", + "version_check", +] + [[package]] name = "smallvec" version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" +dependencies = [ + "serde", +] + +[[package]] +name = "smithay-client-toolkit" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "922fd3eeab3bd820d76537ce8f582b1cf951eceb5475c28500c7457d9d17f53a" +dependencies = [ + "bitflags 2.4.0", + "calloop", + "calloop-wayland-source", + "cursor-icon", + "libc", + "log", + "memmap2", + "rustix 0.38.32", + "thiserror", + "wayland-backend", + "wayland-client", + "wayland-csd-frame", + "wayland-cursor", + "wayland-protocols", + "wayland-protocols-wlr", + "wayland-scanner", + "xkeysym", +] + +[[package]] +name = "smithay-clipboard" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c091e7354ea8059d6ad99eace06dd13ddeedbb0ac72d40a9a6e7ff790525882d" +dependencies = [ + "libc", + "smithay-client-toolkit", + "wayland-backend", +] + +[[package]] +name = "smol_str" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6845563ada680337a52d43bb0b29f396f2d911616f6573012645b9e3d048a49" +dependencies = [ + "serde", +] [[package]] name = "snap" @@ -5335,7 +8605,7 @@ checksum = "2a004c141c54615778c01a6722f6453fae7013e501b2b1f2dfe5684037174721" dependencies = [ "io-extras", "io-lifetimes 2.0.2", - "rustix 0.38.28", + "rustix 0.38.32", "uuid", "windows-sys 0.48.0", ] @@ -5376,6 +8646,15 @@ dependencies = [ "lock_api", ] +[[package]] +name = "spirv" +version = "0.3.0+sdk-1.3.268.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" +dependencies = [ + "bitflags 2.4.0", +] + [[package]] name = "spki" version = "0.6.0" @@ -5422,6 +8701,53 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +[[package]] +name = "strum" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" +dependencies = [ + "strum_macros 0.25.3", +] + +[[package]] +name = "strum" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" + +[[package]] +name = "strum_macros" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.48", +] + +[[package]] +name = "strum_macros" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.48", +] + +[[package]] +name = "sublime_fuzzy" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa7986063f7c0ab374407e586d7048a3d5aac94f103f751088bf398e07cd5400" + [[package]] name = "subtle" version = "2.5.0" @@ -5502,6 +8828,20 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "sysinfo" +version = "0.30.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87341a165d73787554941cd5ef55ad728011566fe714e987d1b976c15dbc3a83" +dependencies = [ + "cfg-if 1.0.0", + "core-foundation-sys", + "libc", + "ntapi", + "once_cell", + "windows 0.52.0", +] + [[package]] name = "system-configuration" version = "0.5.1" @@ -5535,11 +8875,23 @@ version = "0.12.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a" +[[package]] +name = "tempfile" +version = "3.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +dependencies = [ + "cfg-if 1.0.0", + "fastrand 2.0.1", + "rustix 0.38.32", + "windows-sys 0.52.0", +] + [[package]] name = "termcolor" -version = "1.3.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" dependencies = [ "winapi-util", ] @@ -5550,7 +8902,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" dependencies = [ - "rustix 0.38.28", + "rustix 0.38.32", "windows-sys 0.48.0", ] @@ -5562,18 +8914,18 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" -version = "1.0.49" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4" +checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.49" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc" +checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" dependencies = [ "proc-macro2", "quote", @@ -5618,9 +8970,20 @@ version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e54bc85fc7faa8bc175c4bab5b92ba8d9a3ce893d0e9f42cc455c8ab16a9e09" dependencies = [ - "byteorder", - "integer-encoding", - "ordered-float 2.10.1", + "byteorder", + "integer-encoding", + "ordered-float 2.10.1", +] + +[[package]] +name = "tiff" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e" +dependencies = [ + "flate2", + "jpeg-decoder", + "weezl", ] [[package]] @@ -5631,6 +8994,9 @@ checksum = "426f806f4089c493dcac0d24c29c01e2c38baf8e30f1b716ee37e83d200b18fe" dependencies = [ "deranged", "itoa", + "js-sys", + "libc", + "num_threads", "serde", "time-core", "time-macros", @@ -5660,6 +9026,15 @@ dependencies = [ "crunchy", ] +[[package]] +name = "tinystl" +version = "0.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdbcdda2f86a57b89b5d9ac17cd4c9f3917ec8edcde403badf3d992d2947af2a" +dependencies = [ + "bytemuck", +] + [[package]] name = "tinyvec" version = "1.6.0" @@ -5675,6 +9050,15 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" +[[package]] +name = "tobj" +version = "4.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3bd4ba05f29e4c65b6c0c11a58b6465ffa820bac890d76ad407b4e81d8372e8" +dependencies = [ + "ahash", +] + [[package]] name = "tokio" version = "1.36.0" @@ -5736,6 +9120,18 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-tungstenite" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" +dependencies = [ + "futures-util", + "log", + "tokio", + "tungstenite 0.20.1", +] + [[package]] name = "tokio-util" version = "0.7.9" @@ -5750,6 +9146,34 @@ dependencies = [ "tracing", ] +[[package]] +name = "toml_datetime" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap 2.2.6", + "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +dependencies = [ + "indexmap 2.2.6", + "toml_datetime", + "winnow", +] + [[package]] name = "tonic" version = "0.11.0" @@ -5762,7 +9186,7 @@ dependencies = [ "base64 0.21.4", "bytes", "h2", - "http", + "http 0.2.9", "http-body", "hyper", "hyper-timeout", @@ -5815,6 +9239,7 @@ version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ + "log", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -5890,6 +9315,50 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" +[[package]] +name = "ttf-parser" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4" + +[[package]] +name = "tungstenite" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" +dependencies = [ + "byteorder", + "bytes", + "data-encoding", + "http 0.2.9", + "httparse", + "log", + "rand", + "sha1", + "thiserror", + "url", + "utf-8", +] + +[[package]] +name = "tungstenite" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1" +dependencies = [ + "byteorder", + "bytes", + "data-encoding", + "http 1.1.0", + "httparse", + "log", + "rand", + "sha1", + "thiserror", + "url", + "utf-8", +] + [[package]] name = "twox-hash" version = "1.6.3" @@ -5900,6 +9369,15 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "type-map" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "deb68604048ff8fa93347f02441e4487594adc20bb8a084f9e564d2b827a0a9f" +dependencies = [ + "rustc-hash", +] + [[package]] name = "typenum" version = "1.17.0" @@ -5912,6 +9390,17 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" +[[package]] +name = "uds_windows" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" +dependencies = [ + "memoffset 0.9.0", + "tempfile", + "winapi 0.3.9", +] + [[package]] name = "uhlc" version = "0.5.2" @@ -5927,6 +9416,15 @@ dependencies = [ "uuid", ] +[[package]] +name = "unicase" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" +dependencies = [ + "version_check", +] + [[package]] name = "unicode-bidi" version = "0.3.13" @@ -5960,6 +9458,12 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + [[package]] name = "unindent" version = "0.2.3" @@ -6010,6 +9514,23 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "ureq" +version = "2.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11f214ce18d8b2cbe84ed3aa6486ed3f5b285cf8d8fbdbce9f3f767a724adc35" +dependencies = [ + "base64 0.21.4", + "flate2", + "log", + "once_cell", + "rustls 0.22.4", + "rustls-pki-types", + "rustls-webpki 0.102.2", + "url", + "webpki-roots 0.26.1", +] + [[package]] name = "url" version = "2.5.0" @@ -6019,6 +9540,7 @@ dependencies = [ "form_urlencoded", "idna", "percent-encoding", + "serde", ] [[package]] @@ -6027,6 +9549,12 @@ version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + [[package]] name = "utf8parse" version = "0.2.1" @@ -6044,6 +9572,7 @@ dependencies = [ "rand", "serde", "uuid-macro-internal", + "wasm-bindgen", ] [[package]] @@ -6099,6 +9628,12 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" +[[package]] +name = "vec1" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffb60dcfffc189bfd4e2a81333c268619fee9db53da71bce2bcbd8e129c56936" + [[package]] name = "vec_map" version = "0.8.2" @@ -6144,9 +9679,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -6154,9 +9689,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ "bumpalo", "log", @@ -6169,9 +9704,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.37" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -6181,9 +9716,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -6191,9 +9726,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", @@ -6203,63 +9738,314 @@ dependencies = [ ] [[package]] -name = "wasm-bindgen-shared" -version = "0.2.87" +name = "wasm-bindgen-shared" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" + +[[package]] +name = "wasm-streams" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "wayland-backend" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d50fa61ce90d76474c87f5fc002828d81b32677340112b4ef08079a9d459a40" +dependencies = [ + "cc", + "downcast-rs", + "rustix 0.38.32", + "scoped-tls", + "smallvec", + "wayland-sys", +] + +[[package]] +name = "wayland-client" +version = "0.31.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82fb96ee935c2cea6668ccb470fb7771f6215d1691746c2d896b447a00ad3f1f" +dependencies = [ + "bitflags 2.4.0", + "rustix 0.38.32", + "wayland-backend", + "wayland-scanner", +] + +[[package]] +name = "wayland-csd-frame" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" +dependencies = [ + "bitflags 2.4.0", + "cursor-icon", + "wayland-backend", +] + +[[package]] +name = "wayland-cursor" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71ce5fa868dd13d11a0d04c5e2e65726d0897be8de247c0c5a65886e283231ba" +dependencies = [ + "rustix 0.38.32", + "wayland-client", + "xcursor", +] + +[[package]] +name = "wayland-protocols" +version = "0.31.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4" +dependencies = [ + "bitflags 2.4.0", + "wayland-backend", + "wayland-client", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols-plasma" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23803551115ff9ea9bce586860c5c5a971e360825a0309264102a9495a5ff479" +dependencies = [ + "bitflags 2.4.0", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols-wlr" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6" +dependencies = [ + "bitflags 2.4.0", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-scanner", +] + +[[package]] +name = "wayland-scanner" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63b3a62929287001986fb58c789dce9b67604a397c15c611ad9f747300b6c283" +dependencies = [ + "proc-macro2", + "quick-xml 0.31.0", + "quote", +] + +[[package]] +name = "wayland-sys" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af" +dependencies = [ + "dlib", + "log", + "once_cell", + "pkg-config", +] + +[[package]] +name = "web-sys" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa30049b1c872b72c89866d458eae9f20380ab280ffd1b1e18df2d3e2d98cfe0" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webbrowser" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2c79b77f525a2d670cb40619d7d9c673d09e0666f72c591ebd7861f84a87e57" +dependencies = [ + "core-foundation", + "home", + "jni", + "log", + "ndk-context", + "objc", + "raw-window-handle 0.5.2", + "url", + "web-sys", +] + +[[package]] +name = "webpki" +version = "0.22.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07ecc0cd7cac091bf682ec5efa18b1cff79d617b84181f38b3951dbe135f607f" +dependencies = [ + "ring 0.16.20", + "untrusted 0.7.1", +] + +[[package]] +name = "webpki-roots" +version = "0.22.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" +dependencies = [ + "webpki", +] + +[[package]] +name = "webpki-roots" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10" + +[[package]] +name = "webpki-roots" +version = "0.26.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "weezl" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" +checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082" [[package]] -name = "web-sys" -version = "0.3.64" +name = "wgpu" +version = "0.19.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +checksum = "cbd7311dbd2abcfebaabf1841a2824ed7c8be443a0f29166e5d3c6a53a762c01" dependencies = [ + "arrayvec", + "cfg-if 1.0.0", + "cfg_aliases 0.1.1", "js-sys", + "log", + "naga", + "parking_lot", + "profiling", + "raw-window-handle 0.6.0", + "smallvec", + "static_assertions", "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "wgpu-core", + "wgpu-hal", + "wgpu-types", ] [[package]] -name = "webbrowser" -version = "0.8.11" +name = "wgpu-core" +version = "0.19.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2c79b77f525a2d670cb40619d7d9c673d09e0666f72c591ebd7861f84a87e57" +checksum = "28b94525fc99ba9e5c9a9e24764f2bc29bad0911a7446c12f446a8277369bf3a" dependencies = [ - "core-foundation", - "home", - "jni", + "arrayvec", + "bit-vec", + "bitflags 2.4.0", + "cfg_aliases 0.1.1", + "codespan-reporting", + "indexmap 2.2.6", "log", - "ndk-context", - "objc", - "raw-window-handle", - "url", + "naga", + "once_cell", + "parking_lot", + "profiling", + "raw-window-handle 0.6.0", + "rustc-hash", + "smallvec", + "thiserror", "web-sys", + "wgpu-hal", + "wgpu-types", ] [[package]] -name = "webpki" -version = "0.22.2" +name = "wgpu-hal" +version = "0.19.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07ecc0cd7cac091bf682ec5efa18b1cff79d617b84181f38b3951dbe135f607f" +checksum = "fc1a4924366df7ab41a5d8546d6534f1f33231aa5b3f72b9930e300f254e39c3" dependencies = [ - "ring 0.16.20", - "untrusted 0.7.1", + "android_system_properties", + "arrayvec", + "ash", + "bitflags 2.4.0", + "block", + "cfg_aliases 0.1.1", + "core-graphics-types", + "glow", + "glutin_wgl_sys", + "gpu-alloc", + "gpu-allocator", + "gpu-descriptor", + "hassle-rs", + "js-sys", + "khronos-egl", + "libc", + "libloading 0.7.4", + "log", + "metal", + "naga", + "ndk-sys", + "objc", + "once_cell", + "parking_lot", + "profiling", + "raw-window-handle 0.6.0", + "renderdoc-sys", + "rustc-hash", + "smallvec", + "thiserror", + "wasm-bindgen", + "web-sys", + "wgpu-types", + "winapi 0.3.9", ] [[package]] -name = "webpki-roots" -version = "0.22.6" +name = "wgpu-types" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" +checksum = "b671ff9fb03f78b46ff176494ee1ebe7d603393f42664be55b64dc8d53969805" dependencies = [ - "webpki", + "bitflags 2.4.0", + "js-sys", + "web-sys", ] -[[package]] -name = "webpki-roots" -version = "0.25.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10" - [[package]] name = "which" version = "5.0.0" @@ -6269,7 +10055,7 @@ dependencies = [ "either", "home", "once_cell", - "rustix 0.38.28", + "rustix 0.38.32", "windows-sys 0.48.0", ] @@ -6359,9 +10145,52 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" dependencies = [ + "windows-implement", + "windows-interface", "windows-targets 0.48.5", ] +[[package]] +name = "windows" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" +dependencies = [ + "windows-core", + "windows-targets 0.52.0", +] + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.0", +] + +[[package]] +name = "windows-implement" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e2ee588991b9e7e6c8338edf3333fbe4da35dc72092643958ebb43f0ab2c49c" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "windows-interface" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6fb8df20c9bcaa8ad6ab513f7b40104840c8867d5751126e4df3b08388d0cc7" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "windows-sys" version = "0.42.0" @@ -6605,6 +10434,62 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" +[[package]] +name = "winit" +version = "0.29.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d59ad965a635657faf09c8f062badd885748428933dad8e8bdd64064d92e5ca" +dependencies = [ + "ahash", + "android-activity", + "atomic-waker", + "bitflags 2.4.0", + "bytemuck", + "calloop", + "cfg_aliases 0.1.1", + "core-foundation", + "core-graphics", + "cursor-icon", + "icrate", + "js-sys", + "libc", + "log", + "memmap2", + "ndk", + "ndk-sys", + "objc2 0.4.1", + "once_cell", + "orbclient", + "percent-encoding", + "raw-window-handle 0.6.0", + "redox_syscall 0.3.5", + "rustix 0.38.32", + "smithay-client-toolkit", + "smol_str", + "unicode-segmentation", + "wasm-bindgen", + "wasm-bindgen-futures", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-protocols-plasma", + "web-sys", + "web-time", + "windows-sys 0.48.0", + "x11-dl", + "x11rb", + "xkbcommon-dl", +] + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + [[package]] name = "winreg" version = "0.50.0" @@ -6641,7 +10526,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6bcc065c85ad2c3bd12aa4118bf164835712e25080c392557801a13292c60aec" dependencies = [ - "darling", + "darling 0.10.2", "proc-macro2", "quote", "syn 1.0.109", @@ -6666,6 +10551,94 @@ dependencies = [ "tap", ] +[[package]] +name = "x11-dl" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" +dependencies = [ + "libc", + "once_cell", + "pkg-config", +] + +[[package]] +name = "x11rb" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8f25ead8c7e4cba123243a6367da5d3990e0d3affa708ea19dce96356bd9f1a" +dependencies = [ + "as-raw-xcb-connection", + "gethostname", + "libc", + "libloading 0.8.3", + "once_cell", + "rustix 0.38.32", + "x11rb-protocol", +] + +[[package]] +name = "x11rb-protocol" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e63e71c4b8bd9ffec2c963173a4dc4cbde9ee96961d4fcb4429db9929b606c34" + +[[package]] +name = "xcursor" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a0ccd7b4a5345edfcd0c3535718a4e9ff7798ffc536bb5b5a0e26ff84732911" + +[[package]] +name = "xdg-home" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21e5a325c3cb8398ad6cf859c1135b25dd29e186679cf2da7581d9679f63b38e" +dependencies = [ + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "xkbcommon-dl" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" +dependencies = [ + "bitflags 2.4.0", + "dlib", + "log", + "once_cell", + "xkeysym", +] + +[[package]] +name = "xkeysym" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "054a8e68b76250b253f671d1268cb7f1ae089ec35e195b2efb2a4e9a836d0621" + +[[package]] +name = "xml-rs" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "791978798f0597cfc70478424c2b4fdc2b7a8024aaff78497ef00f24ef674193" + +[[package]] +name = "xshell" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db0ab86eae739efd1b054a8d3d16041914030ac4e01cd1dca0cf252fd8b6437" +dependencies = [ + "xshell-macros", +] + +[[package]] +name = "xshell-macros" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d422e8e38ec76e2f06ee439ccc765e9c6a9638b9e7c9f2e8255e4d41e8bd852" + [[package]] name = "yaml-rust" version = "0.4.5" @@ -6675,6 +10648,72 @@ dependencies = [ "linked-hash-map", ] +[[package]] +name = "zbus" +version = "3.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "675d170b632a6ad49804c8cf2105d7c31eddd3312555cffd4b740e08e97c25e6" +dependencies = [ + "async-broadcast", + "async-executor", + "async-fs 1.6.0", + "async-io 1.13.0", + "async-lock 2.8.0", + "async-process", + "async-recursion", + "async-task", + "async-trait", + "blocking", + "byteorder", + "derivative", + "enumflags2", + "event-listener 2.5.3", + "futures-core", + "futures-sink", + "futures-util", + "hex", + "nix 0.26.4", + "once_cell", + "ordered-stream", + "rand", + "serde", + "serde_repr", + "sha1", + "static_assertions", + "tracing", + "uds_windows", + "winapi 0.3.9", + "xdg-home", + "zbus_macros", + "zbus_names", + "zvariant", +] + +[[package]] +name = "zbus_macros" +version = "3.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7131497b0f887e8061b430c530240063d33bf9455fa34438f388a245da69e0a5" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "regex", + "syn 1.0.109", + "zvariant_utils", +] + +[[package]] +name = "zbus_names" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "437d738d3750bed6ca9b8d423ccc7a8eb284f6b1d6d4e225a0e4e6258d864c8d" +dependencies = [ + "serde", + "static_assertions", + "zvariant", +] + [[package]] name = "zenoh" version = "0.7.0-rc" @@ -6957,7 +10996,7 @@ version = "0.7.0-rc" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3b8bfb8e2625e1150dab46b7a4433f866aa06af763237d564b1aa8f6aaf0b29" dependencies = [ - "libloading", + "libloading 0.7.4", "log", "serde_json", "zenoh-core", @@ -7051,7 +11090,7 @@ dependencies = [ "humantime", "lazy_static", "libc", - "libloading", + "libloading 0.7.4", "log", "pnet", "pnet_datalink", @@ -7117,3 +11156,57 @@ dependencies = [ "cc", "pkg-config", ] + +[[package]] +name = "zune-core" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a" + +[[package]] +name = "zune-jpeg" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec866b44a2a1fd6133d363f073ca1b179f438f99e7e5bfb1e33f7181facfe448" +dependencies = [ + "zune-core", +] + +[[package]] +name = "zvariant" +version = "3.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4eef2be88ba09b358d3b58aca6e41cd853631d44787f319a1383ca83424fb2db" +dependencies = [ + "byteorder", + "enumflags2", + "libc", + "serde", + "static_assertions", + "url", + "zvariant_derive", +] + +[[package]] +name = "zvariant_derive" +version = "3.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37c24dc0bed72f5f90d1f8bb5b07228cbf63b3c6e9f82d82559d4bae666e7ed9" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", + "zvariant_utils", +] + +[[package]] +name = "zvariant_utils" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7234f0d811589db492d16893e3f21e8e2fd282e6d01b0cddee310322062cc200" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] diff --git a/Cargo.toml b/Cargo.toml index 0ad7abd0b..34fba2a66 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -29,7 +29,8 @@ members = [ "libraries/shared-memory-server", "libraries/extensions/download", "libraries/extensions/telemetry/*", - "libraries/extensions/dora-record", + "tool_nodes/dora-record", + "tool_nodes/dora-rerun", "libraries/extensions/ros2-bridge", "libraries/extensions/ros2-bridge/msg-gen", "libraries/extensions/ros2-bridge/python", diff --git a/libraries/extensions/dora-rerun/src/main.rs b/libraries/extensions/dora-rerun/src/main.rs deleted file mode 100644 index b860d5e39..000000000 --- a/libraries/extensions/dora-rerun/src/main.rs +++ /dev/null @@ -1,86 +0,0 @@ -//! Demonstrates the most barebone usage of the Rerun SDK. - -use dora_node_api::{ - arrow::{ - array::{PrimitiveArray, StringArray, UInt8Array}, - datatypes::{UInt8Type, Utf8Type}, - ipc::Utf8, - }, - DoraNode, Event, -}; -use eyre::{Context, Result}; -use rerun::{ - external::{arrow2::array::Utf8Array, re_types::ArrowBuffer}, - TensorBuffer, TensorData, TensorDimension, -}; - -fn main() -> Result<()> { - // `serve()` requires to have a running Tokio runtime in the current context. - let rt = tokio::runtime::Runtime::new().expect("Failed to create tokio runtime"); - let _guard = rt.enter(); - - let (_node, mut events) = - DoraNode::init_from_env().context("Could not initialize dora node")?; - - let rec = rerun::RecordingStreamBuilder::new("dora-rerun") - .spawn() - .context("Could not spawn rerun visualization")?; - - let shape = vec![ - TensorDimension { - name: Some("width".into()), - size: std::env::var("IMAGE_WIDTH") - .context("Could not read image width")? - .parse() - .context("Could not parse value of image width env variable")?, - }, - TensorDimension { - name: Some("height".into()), - size: std::env::var("IMAGE_HEIGHT") - .context("Could not read image height")? - .parse() - .context("Could not parse value of image height env variable")?, - }, - TensorDimension { - name: Some("depth".into()), - size: std::env::var("IMAGE_DEPTH") - .context("Could not read image depth")? - .parse() - .context("Could not parse value of image depth env variable")?, - }, - ]; - - while let Some(event) = events.recv() { - match event { - Event::Input { - id, - data, - metadata: _, - } => { - if id.as_str().contains("image") { - let buffer: UInt8Array = data.to_data().into(); - let buffer: &[u8] = buffer.values(); - let buffer = TensorBuffer::U8(ArrowBuffer::from(buffer)); - let tensordata = TensorData::new(shape.clone(), buffer.into()); - let image = rerun::Image::new(tensordata); - - rec.log(id.as_str(), &image) - .context("could not log image")?; - } else if id.as_str().contains("text") { - let buffer: StringArray = data.to_data().into(); - buffer.iter().try_for_each(|string| -> Result<()> { - if let Some(str) = string { - rec.log(id.as_str(), &rerun::TextLog::new(str)) - .wrap_err("Could not log text") - } else { - Ok(()) - } - })?; - } - } - _ => {} - } - } - - Ok(()) -} diff --git a/libraries/extensions/dora-record/Cargo.toml b/tool_nodes/dora-record/Cargo.toml similarity index 100% rename from libraries/extensions/dora-record/Cargo.toml rename to tool_nodes/dora-record/Cargo.toml diff --git a/libraries/extensions/dora-record/src/main.rs b/tool_nodes/dora-record/src/main.rs similarity index 100% rename from libraries/extensions/dora-record/src/main.rs rename to tool_nodes/dora-record/src/main.rs diff --git a/libraries/extensions/dora-rerun/Cargo.toml b/tool_nodes/dora-rerun/Cargo.toml similarity index 96% rename from libraries/extensions/dora-rerun/Cargo.toml rename to tool_nodes/dora-rerun/Cargo.toml index 22aab73ad..9cb108126 100644 --- a/libraries/extensions/dora-rerun/Cargo.toml +++ b/tool_nodes/dora-rerun/Cargo.toml @@ -13,3 +13,4 @@ dora-node-api = { workspace = true, features = ["tracing"] } eyre = "0.6.8" tokio = { version = "1.36.0", features = ["rt"] } rerun = { version = "0.15.1", features = ["web_viewer", "image"] } +ndarray = "0.15.6" diff --git a/libraries/extensions/dora-rerun/README.md b/tool_nodes/dora-rerun/README.md similarity index 65% rename from libraries/extensions/dora-rerun/README.md rename to tool_nodes/dora-rerun/README.md index 523757844..adb6507a6 100644 --- a/libraries/extensions/dora-rerun/README.md +++ b/tool_nodes/dora-rerun/README.md @@ -2,6 +2,8 @@ dora visualization using `rerun` +This nodes is still experimental and format for passing Images, Bounding boxes, and text are probably going to change in the future. + ## Getting Started ```bash diff --git a/tool_nodes/dora-rerun/src/main.rs b/tool_nodes/dora-rerun/src/main.rs new file mode 100644 index 000000000..a5ac847a6 --- /dev/null +++ b/tool_nodes/dora-rerun/src/main.rs @@ -0,0 +1,98 @@ +//! Demonstrates the most barebone usage of the Rerun SDK. + +use dora_node_api::{ + arrow::array::{Float32Array, StringArray, UInt8Array}, + DoraNode, Event, +}; +use eyre::{Context, Result}; +use rerun::{external::re_types::ArrowBuffer, TensorBuffer, TensorData, TensorDimension}; + +fn main() -> Result<()> { + // `serve()` requires to have a running Tokio runtime in the current context. + let rt = tokio::runtime::Runtime::new().expect("Failed to create tokio runtime"); + let _guard = rt.enter(); + + let (_node, mut events) = + DoraNode::init_from_env().context("Could not initialize dora node")?; + + let rec = rerun::RecordingStreamBuilder::new("dora-rerun") + .spawn() + .context("Could not spawn rerun visualization")?; + + while let Some(event) = events.recv() { + match event { + Event::Input { + id, + data, + metadata: _, + } => { + if id.as_str().contains("image") { + let shape = vec![ + TensorDimension { + name: Some("height".into()), + size: std::env::var(format!("{}_HEIGHT", id.as_str().to_uppercase())) + .context("Could not read image height")? + .parse() + .context("Could not parse value of image height env variable")?, + }, + TensorDimension { + name: Some("width".into()), + size: std::env::var(format!("{}_WIDTH", id.as_str().to_uppercase())) + .context("Could not read image width")? + .parse() + .context("Could not parse value of image width env variable")?, + }, + TensorDimension { + name: Some("depth".into()), + size: std::env::var(format!("{}_DEPTH", id.as_str().to_uppercase())) + .context("Could not read image depth")? + .parse() + .context("Could not parse value of image depth env variable")?, + }, + ]; + + let buffer: UInt8Array = data.to_data().into(); + let buffer: &[u8] = buffer.values(); + let buffer = TensorBuffer::U8(ArrowBuffer::from(buffer)); + let tensordata = TensorData::new(shape.clone(), buffer.into()); + let image = rerun::Image::new(tensordata); + + rec.log(id.as_str(), &image) + .context("could not log image")?; + } else if id.as_str().contains("textlog") { + let buffer: StringArray = data.to_data().into(); + buffer.iter().try_for_each(|string| -> Result<()> { + if let Some(str) = string { + rec.log(id.as_str(), &rerun::TextLog::new(str)) + .wrap_err("Could not log text") + } else { + Ok(()) + } + })?; + } else if id.as_str().contains("boxes2d") { + let buffer: Float32Array = data.to_data().into(); + let buffer: &[f32] = buffer.values(); + let mut centers = vec![]; + let mut sizes = vec![]; + let mut classes = vec![]; + buffer.chunks(6).for_each(|block| { + if let [x, y, w, h, _conf, cls] = block { + centers.push((*x, *y)); + sizes.push((*w, *h)); + classes.push(*cls as u16); + } + }); + rec.log( + id.as_str(), + &rerun::Boxes2D::from_centers_and_sizes(centers, sizes) + .with_class_ids(classes), + ) + .wrap_err("Could not log Boxes2D")?; + } + } + _ => {} + } + } + + Ok(()) +} From 7b5c31d21400c180dd8dad7e377e4365812a9546 Mon Sep 17 00:00:00 2001 From: haixuanTao Date: Sat, 20 Apr 2024 13:02:15 +0200 Subject: [PATCH 3/6] Update example to add boundingbox 2d --- examples/rerun-viewer/dataflow.yml | 17 ++++++++- examples/rerun-viewer/object_detection.py | 45 +++++++++++++++++++++++ examples/rerun-viewer/plot.py | 12 +++--- examples/rerun-viewer/webcam.py | 5 ++- 4 files changed, 70 insertions(+), 9 deletions(-) create mode 100755 examples/rerun-viewer/object_detection.py diff --git a/examples/rerun-viewer/dataflow.yml b/examples/rerun-viewer/dataflow.yml index 1b9a1c40e..5e179f027 100644 --- a/examples/rerun-viewer/dataflow.yml +++ b/examples/rerun-viewer/dataflow.yml @@ -14,15 +14,27 @@ nodes: IMAGE_HEIGHT: 540 + - id: object_detection + custom: + source: ./object_detection.py + inputs: + image: webcam/image + outputs: + - bbox + envs: + IMAGE_WIDTH: 960 + IMAGE_HEIGHT: 540 + - id: rerun custom: source: dora-rerun inputs: image: webcam/image text: webcam/text + boxes2d: object_detection/bbox envs: - IMAGE_WIDTH: 540 - IMAGE_HEIGHT: 960 + IMAGE_WIDTH: 960 + IMAGE_HEIGHT: 540 IMAGE_DEPTH: 3 - id: matplotlib @@ -30,6 +42,7 @@ nodes: source: ./plot.py inputs: image: webcam/image + bbox: object_detection/bbox envs: IMAGE_WIDTH: 960 IMAGE_HEIGHT: 540 \ No newline at end of file diff --git a/examples/rerun-viewer/object_detection.py b/examples/rerun-viewer/object_detection.py new file mode 100755 index 000000000..2c606be98 --- /dev/null +++ b/examples/rerun-viewer/object_detection.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +import os +import cv2 +import numpy as np +from ultralytics import YOLO + +from dora import Node +import pyarrow as pa + +model = YOLO("yolov8n.pt") + +node = Node() + +IMAGE_WIDTH = int(os.getenv("IMAGE_WIDTH", 960)) +IMAGE_HEIGHT = int(os.getenv("IMAGE_HEIGHT", 540)) + +for event in node: + event_type = event["type"] + if event_type == "INPUT": + event_id = event["id"] + if event_id == "image": + print("[object detection] received image input") + image = event["value"].to_numpy().reshape((IMAGE_HEIGHT, IMAGE_WIDTH, 3)) + + frame = cv2.cvtColor(image, cv2.COLOR_RGB2BGR) + frame = frame[:, :, ::-1] # OpenCV image (BGR to RGB) + results = model(frame) # includes NMS + # Process results + boxes = np.array(results[0].boxes.xywh.cpu()) + conf = np.array(results[0].boxes.conf.cpu()) + label = np.array(results[0].boxes.cls.cpu()) + # concatenate them together + arrays = np.concatenate((boxes, conf[:, None], label[:, None]), axis=1) + + node.send_output("bbox", pa.array(arrays.ravel()), event["metadata"]) + else: + print("[object detection] ignoring unexpected input:", event_id) + elif event_type == "STOP": + print("[object detection] received stop") + elif event_type == "ERROR": + print("[object detection] error: ", event["error"]) + else: + print("[object detection] received unexpected event:", event_type) diff --git a/examples/rerun-viewer/plot.py b/examples/rerun-viewer/plot.py index 649fc82c9..d6ec83893 100755 --- a/examples/rerun-viewer/plot.py +++ b/examples/rerun-viewer/plot.py @@ -49,17 +49,17 @@ def on_input( self.bboxs = np.reshape(bboxs, (-1, 6)) for bbox in self.bboxs: [ - min_x, - min_y, - max_x, - max_y, + x, + y, + w, + h, confidence, label, ] = bbox cv2.rectangle( self.image, - (int(min_x), int(min_y)), - (int(max_x), int(max_y)), + (int(x - w / 2), int(y - h / 2)), + (int(x + w / 2), int(y + h / 2)), (0, 255, 0), 2, ) diff --git a/examples/rerun-viewer/webcam.py b/examples/rerun-viewer/webcam.py index f85901503..33a7950df 100755 --- a/examples/rerun-viewer/webcam.py +++ b/examples/rerun-viewer/webcam.py @@ -22,9 +22,12 @@ start = time.time() # Run for 20 seconds -while time.time() - start < 60: +while time.time() - start < 1000: # Wait next dora_input event = node.next() + if event is None: + break + event_type = event["type"] if event_type == "INPUT": ret, frame = video_capture.read() From 246335aa52896557141aba3a904e1762273c4236 Mon Sep 17 00:00:00 2001 From: haixuanTao Date: Sat, 20 Apr 2024 13:02:31 +0200 Subject: [PATCH 4/6] Add dora-rerun in our release pipeline --- .github/workflows/release.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d4cbfd7c2..776ae2dda 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -62,8 +62,9 @@ jobs: cargo publish -p dora-daemon --token ${{ secrets.CARGO_REGISTRY_TOKEN }} cargo publish -p dora-cli --token ${{ secrets.CARGO_REGISTRY_TOKEN }} - # Publish extension crates + # Publish tool nodes cargo publish -p dora-record --token ${{ secrets.CARGO_REGISTRY_TOKEN }} + cargo publish -p dora-rerun --token ${{ secrets.CARGO_REGISTRY_TOKEN }} windows-release: name: "Windows Release" From f6ce04b5eda208d9fba1dcadc33a780057d9c7c7 Mon Sep 17 00:00:00 2001 From: haixuanTao Date: Sun, 21 Apr 2024 13:06:16 +0200 Subject: [PATCH 5/6] Fix memory usage and add README to example --- examples/rerun-viewer/README.md | 28 ++++++++++++++-------------- tool_nodes/dora-rerun/src/main.rs | 10 ++++++++-- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/examples/rerun-viewer/README.md b/examples/rerun-viewer/README.md index 69074bd78..b16c12aaa 100644 --- a/examples/rerun-viewer/README.md +++ b/examples/rerun-viewer/README.md @@ -1,25 +1,25 @@ # Python Dataflow Example -This examples shows how to create and connect dora operators and custom nodes in Python. +This examples shows how to create and connect dora to rerun. -## Overview +This nodes is still experimental and format for passing Images, Bounding boxes, and text are probably going to change in the future. -The [`dataflow.yml`](./dataflow.yml) defines a simple dataflow graph with the following three nodes: +## Getting Started -- a webcam node, that connects to your webcam and feed the dataflow with webcam frame as jpeg compressed bytearray. -- an object detection node, that apply Yolo v5 on the webcam image. The model is imported from Pytorch Hub. The output is the bouding box of each object detected, the confidence and the class. You can have more info here: https://pytorch.org/hub/ultralytics_yolov5/ -- a window plotting node, that will retrieve the webcam image and the Yolov5 bounding box and join the two together. +```bash +cargo install --force rerun-cli@0.15.1 -## Getting started +## To install this package +git clone git@github.com:dora-rs/dora.git +cargo install --git https://github.com/dora-rs/dora dora-rerun -```bash -cargo run --example python-dataflow +dora start dataflow.yml --attach ``` -## Run the dataflow as a standalone +You will see two visualizations. One from matplotlib and one from rerun for comparaison. -- Start the `dora-daemon`: +## CI/CD -``` -../../target/release/dora-daemon --run-dataflow dataflow.yml -``` +This example is not tested on the CI/CD as visualization is not really testable. + +Please reach out in case of issues at: https://github.com/dora-rs/dora/issues diff --git a/tool_nodes/dora-rerun/src/main.rs b/tool_nodes/dora-rerun/src/main.rs index a5ac847a6..ca5d22a61 100644 --- a/tool_nodes/dora-rerun/src/main.rs +++ b/tool_nodes/dora-rerun/src/main.rs @@ -5,7 +5,9 @@ use dora_node_api::{ DoraNode, Event, }; use eyre::{Context, Result}; -use rerun::{external::re_types::ArrowBuffer, TensorBuffer, TensorData, TensorDimension}; +use rerun::{ + external::re_types::ArrowBuffer, SpawnOptions, TensorBuffer, TensorData, TensorDimension, +}; fn main() -> Result<()> { // `serve()` requires to have a running Tokio runtime in the current context. @@ -15,8 +17,12 @@ fn main() -> Result<()> { let (_node, mut events) = DoraNode::init_from_env().context("Could not initialize dora node")?; + // Limit memory usage + let mut options = SpawnOptions::default(); + options.memory_limit = "25%".into(); + let rec = rerun::RecordingStreamBuilder::new("dora-rerun") - .spawn() + .spawn_opts(&options, None) .context("Could not spawn rerun visualization")?; while let Some(event) = events.recv() { From 73b83f23472c306abdd381a7c883ab0e09b7bc35 Mon Sep 17 00:00:00 2001 From: haixuanTao Date: Mon, 22 Apr 2024 11:39:56 +0200 Subject: [PATCH 6/6] Add configurable memory section and README section --- tool_nodes/dora-rerun/README.md | 24 ++++++++++++++++++++++++ tool_nodes/dora-rerun/src/main.rs | 7 ++++++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/tool_nodes/dora-rerun/README.md b/tool_nodes/dora-rerun/README.md index adb6507a6..75973851a 100644 --- a/tool_nodes/dora-rerun/README.md +++ b/tool_nodes/dora-rerun/README.md @@ -13,3 +13,27 @@ cargo install --force rerun-cli@0.15.1 git clone git@github.com:dora-rs/dora.git cargo install --git https://github.com/dora-rs/dora dora-rerun ``` + +## Adding to existing graph: + +```yaml +- id: rerun + custom: + source: dora-rerun + inputs: + image: webcam/image + text: webcam/text + boxes2d: object_detection/bbox + envs: + IMAGE_WIDTH: 960 + IMAGE_HEIGHT: 540 + IMAGE_DEPTH: 3 + RERUN_MEMORY_LIMIT: 25% +``` + +## Configurations + +- IMAGE_WIDTH: Image width in pixels +- IMAGE_HEIGHT: Image height in heights +- IMAGE_DEPTH: Image depth +- RERUN_MEMORY_LIMIT: Rerun memory limit diff --git a/tool_nodes/dora-rerun/src/main.rs b/tool_nodes/dora-rerun/src/main.rs index ca5d22a61..ef50e12bc 100644 --- a/tool_nodes/dora-rerun/src/main.rs +++ b/tool_nodes/dora-rerun/src/main.rs @@ -19,7 +19,12 @@ fn main() -> Result<()> { // Limit memory usage let mut options = SpawnOptions::default(); - options.memory_limit = "25%".into(); + + let memory_limit = std::env::var("RERUN_MEMORY_LIMIT") + .context("Could not read image height")? + .parse::() + .unwrap_or("25%".into()); + options.memory_limit = memory_limit; let rec = rerun::RecordingStreamBuilder::new("dora-rerun") .spawn_opts(&options, None)