Skip to content

0.11.0 - C++ improvements & better Visible History

Compare
Choose a tag to compare
@Wumpf Wumpf released this 28 Nov 15:02
· 1143 commits to main since this release

Rerun is an easy-to-use visualization toolbox for multimodal and temporal data

Release blog post: https://www.rerun.io/blog/cpp-sdk

visible.time.range.mp4

Overview & Highlights

  • 🌊 C++ SDK improvements
    • Reference docs are live!
    • 2x-5x faster logging
    • CMake install support and other CMake setup improvements
    • Support for custom components & archetypes
    • Zero copy logging for images, various API improvements
  • 📈 Visual History -> Visual Time Range
    • Time series plots can now limit its query to a range
    • Much more powerful UI, allowing query ranges relative to time cursor
  • 🕸️ The viewer can now be easily embedded in your web apps via our npm package
  • 🐍 ⚠️ Legacy Python API now removed, check the migration guide if you're not using rr.log yet
  • 🦀 The new StoreSubscriber trait allows to be notified of all changes in the datastore. This can be used to build custom indices and trigger systems, and serves as a foundation for upcoming performance improvements. Check out our example for more information.

⚠️ Known issues on Visual Time Range:

Special thanks to @Dvad & @dangush for contributing!

Details

🌊 C++ SDK

  • Support std::chrono types for set_time on rerun::RecordingStream #4134
  • Improve rerun_cpp readme & CMakeLists.txt #4126
  • Replace the many parameters of rerun::spawn / rerun::RecordingStream::spawn with a struct #4149
  • Make on TextLogLevel PascalCase (instead of SCREAMING CASE) to avoid clashes with preprocessor defines #4152
  • Reduce rerun_c library size (by depending on fewer unnecessary crates) #4147
  • Fix unnecessary includes in code generated headers #4132
  • Doxygen documentation & many doc improvements #4191
  • Rename rerun::ComponentBatch to rerun::Collection (and related constructs) #4236
  • Use rerun::Collection almost everywhere we'd use std::vector before #4247
  • Significantly improve C++ logging performance by using C FFI instead of arrow IPC #4273
  • Further improve C++ logging for many individual log calls by introducing a component type registry #4296
  • All C++ datatypes & components now implement a new Loggable trait #4305
  • Add C++ Custom Component example #4309
  • Expose Rerun source/include dir in CMakeLists.txt (RERUN_CPP_SOURCE_DIR) #4313
  • Support cmake install #4326
  • Export TensorBuffer & TensorDimension to rerun namespace #4331
  • C++ SDK sanity checks now header/source version against rerun_c binary version #4330
  • Allow creating Image/Tensor/DepthImage/SegmentationImage directly from shape & pointer #4345

🐍 Python SDK

  • Python: remove legacy APIs #4037
  • Remove deprecated rerun_demo package #4293
  • Python: don't catch KeyboardInterrupt and SystemExit #4333 (thanks @Dvad!)

🪳 Bug Fixes

  • Fix line & points (& depth clouds points) radii being unaffected by scale & projection via Pinhole #4199
  • Fix inaccessible entities being incorrectly added to space view #4226
  • Silence spammy blueprint warnings and validate blueprint on load #4303
  • Fix markdown heading size #4178

🌁 Viewer Improvements

  • Add command to copy direct link to fully qualified URL #4165
  • Implement recording/last-modified-at aware garbage collection #4183

🖼 UI Improvements

  • Improve Visible History to support more general time queries #4123
  • Add support for Visible History to time series space views #4179
  • Make Visible History UI more ergonomic and show inherited values #4222
  • Display Visible History on timeline when the mouse hovers the UI #4259
  • Improve the Selection Panel with better title, context, and Space View key properties #4324

🕸️ Web

  • Put web viewer on npm #4003
  • Auto-switch port when getting AddrInUse error #4314 (thanks @dangush!)
  • Generate per-PR web apps #4341

🧑‍💻 Dev-experience

  • Simple logging benchmarks for C++ & Rust #4181
  • New debug option to show the blueprint in the streams view #4189
  • Use pixi over setup scripts on CI + local dev #4302
  • Run deploy docs jobs serially #4232
  • fix windows test config on main #4242

🗣 Refactors

  • StoreView -> StoreSubscriber #4234
  • DataStore introduce StoreEvents #4203
  • DataStore introduce StoreViews #4205