rerun
Libraries
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rerun
-
Rapier is a set of 2D and 3D physics engines written in Rust
Maybe the folks at Rerun [1] know something about it? I imagine at least some of their customers are Rust robotics shops.
[1] https://github.com/rerun-io/rerun
- Rerun v0.12
-
Introducing Rerun 0.10!
Full release notes: https://github.com/rerun-io/rerun/blob/main/CHANGELOG.md
- Open-source visualization toolbox for C++
-
Rerun 0.9 – a framework for visualizing streams of multimodal data
No specific support for audio embeddings yet, though depending on you're specific use-case, you might be able to map your data to more generic primitives such a TimeSeriesScalar, LineStrips2D, BarChart, or Tensor.
We have an open issue for adding more support for audio-based projects -- if you have specific needs feel free to add a comment: https://github.com/rerun-io/rerun/issues/2852
-
Announcing Rerun 0.6 - the easy-to-use visualization toolkit
Read the full changelog at https://github.com/rerun-io/rerun/releases/tag/0.6.0
-
Real-Time Visualization of Streaming Data in Python with ReRun
https://github.com/rerun-io/rerun is such a great tool for creating interactive dashboards to look at real-time data. Curious if there are others looking for something like this and what the other use cases would be interesting. I have heard ideas like:
-
Emerging Rust GUIs in a WASM world
egui's lead author is using it for his computer vision startup.
-
Considerations for Power Draw with egui
To test the power draw, I conducted an unscientific experiment by circling the cursor over both a GTK4 app (GNOME Console) and an egui app (Rerun Viewer), while monitoring the CPU/GPU utilization and stabilized power draw with PowerTOP. The results indicated that when circling the cursor over the GTK4 app, the CPU/GPU usage was nearly negligible, and the stabilized power draw was around 13 W. In contrast, when circling the cursor over the egui app, the CPU/GPU usage was considerably higher, resulting in a stabilized power draw of around 21 W. This amounts to an increase of approximately 60%. Taking into account a power draw of around 10 W when doing nothing at all, the increase becomes roughly 260%. I also tried the same experiment with Iced, and while the increase was not as extreme, it still utilized resources when circling the cursor over a blank surface.
Libraries
-
Dear ImGui: Bloat-free Graphical User interface with minimal dependencies
My personal IMGUI library [1] is what I call "partially retained" in that there is an immediate mode API similar to dear imgui or nuklear on top, but under the hood the immediate mode API just manages retained mode object graphs for you automatically.
This is a fantastic (imo) way to build user interfaces, because sometimes the most convenient way to manage state or construct a complex widget is to write a retained mode object that hosts some other child objects, and in other circumstances it's most convenient to write a modal dialog or something by just slamming out some imgui code in a standalone function.
I also think the imgui approach to layout (use an algorithm that can fully reconstruct your layout from scratch every frame without much of a performance penalty) removes a lot of potential bugs and quirks that are common in UI, like one-frame glitches or having to manually propagate state through a bunch of objects and layers. Though imgui approaches have their own downsides, like the "page tearing" issue. I've had to do some weird contortions to solve that one in my own code and I still get bugs occasionally.
1: https://github.com/sq/Libraries/tree/master/Squared/PRGUI
-
Leveraging Rust and the GPU to render user interfaces at 120 FPS
I haven't found good platform accessibility API bindings for C#, so right now it just has narration support, adjustable text size/contrast, and full keyboard navigation. I'm hoping that later on in my project's development process I'll have the budget to hire someone to try and fully integrate with the platform APIs - it's designed so it will be possible by pushing updates to the retained model.
The way it works is that it has an immediate mode API (see https://github.com/sq/Libraries/blob/0ca01d949e3df5fabb1440d... for a simple example of the API) and then under the hood it uses a lightweight retained-mode graph, which means that when it's more convenient you can just write more traditional classes and components. In practice most of the UI I've written for my main project is a mix of both models, like for example an editor popup window uses IMGUI-style API while the items in a virtual listbox are represented by a small custom component.
It does have a full imgui-style layout engine under the hood instead of doing retained-mode layout, so it's able to fully re-generate layout from scratch every frame, and to minimize page tearing there is a system where components can request a second relayout pass (typically used for things like text autosize).
Here's a more complex mixed-mode example from one of my development tools: https://gist.github.com/kg/6a6ba42d5019b546858a2b18751de019
What are some alternatives?
entr - Run arbitrary commands when files change
imgui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
polyscope - A C++ & Python viewer for 3D data like meshes and point clouds
ImHex - 🔍 A Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM.
minitest-autotest
msdfgen - Multi-channel signed distance field generator
egui - egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native
Skia - Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.
rui - Declarative Rust UI library