Releases: rerun-io/rerun
0.17.0: More Blueprint features and better notebooks
Rerun is an easy-to-use visualization toolbox for multimodal and temporal data.
Try it live at https://rerun.io/viewer.
📖 Release blogpost: https://rerun.io/blog/blueprint-overrides
- Python:
pip install rerun-sdk
- Rust:
cargo add rerun
andcargo install rerun-cli --locked
- Online demo: https://rerun.io/viewer/version/0.17.0/
- C++
FetchContent
: https://github.com/rerun-io/rerun/releases/download/0.17.0/rerun_cpp_sdk.zip
Export-1720079627846_compressed.mp4
🧳 Migration guide: http://rerun.io/docs/reference/migration/migration-0-17
✨ Overview & highlights
- 🟦 Blueprint component override & defaults, and visualizer override for all views
- Component defaults: Configure default component value for an entire view, used when no values are logged to the data store (using
rr.log()
). - Component overrides: Specify a value to use regardless of the data-store & default values and use specified value instead. Can be set per view per entity.
- Visualizer overrides: Specify a visualizer to use for a given entity in a given view. Previously only available for scalar data in timeseries views, now available for all view kinds.
- All three are available from the (fully revamped) UI and the Python blueprint APIs.
- Everything that was editable per entity in a view now uses component overrides (e.g. camera plane distance, transform axis lengths, etc.)
- Tip: Tooltips for each component in the UI include a link to the docs now!
- Component defaults: Configure default component value for an entire view, used when no values are logged to the data store (using
- 🕸️ Improved notebook & website embedding support
- Now you can stream data from the notebook cell to the embedded viewer.
- Much improved support for having multiple viewers on the same web page.
- More configuration options have been added to control the visibility of the Menu bar, time controls, etc.
- Note: Use
pip install "rerun-sdk[notebook]"
to include the better notebook support. This includes the newrerun-notebook
package, which is used internally by [rerun-sdk
].
- 🧑🏫 New Examples
- 🛠️ Improved the logging API with many new and updated archetypes and components (see migration guide)
- 🖼️
TensorView
is now fully configurable from blueprint code - 🎛️ Revamped selection panel UI
- 🚚 Much work is being done under-the-hood to migrate our data-store to "chunks" (aka units of batched data). More on this in the next release!
- SDKs are already using chunks to transport data to the viewer, performance characteristics may have changed but should be largely the same for the moment.
⚠️ Breaking changes
HalfSizes2D
has been renamed toHalfSize2D
HalfSizes3D
has been renamed toHalfSize3D
.rrd
files from older versions won't load in Rerun 0.17
🧳 Migration guide: http://rerun.io/docs/reference/migration/migration-0-17
🔎 Details
🪵 Log API
- Introduce chunks and use them on the client side:
- Remove unused scalar scattering component #6471
- Introduce
ImagePlaneDistance
Component #6505 - Introduce new archetype for
Axes3D
#6510 - Expose
Colormap
component forDepthImage
, depth image colormap now used outside of reprojection #6549 TimeSeriesAggregation
can now be set perSeriesLine
(and as blueprint default per View) #6558- Expose
FillRatio
component to configureDepthImage
back-projection radius scaling #6566 - Expose image opacity component #6635
- Make draw order editable & solve 2D flickering issues, add draw order to arrow2d archetype #6644
- Remove
Axes3D
archetype and addaxis_length
toTransform3D
#6676 - Expose UI point radii to logging & blueprint, remove old default radius settings in favor of blueprint default components #6678
- Rename
HalfSizes2D/3D
toHalfSize2D/3D
#6768
🌊 C++ API
- Add docs on how to install C++ SDK with conda-forge packages #6381 (thanks @traversaro!)
🐍 Python API
- Make barchart legend settable via blueprint #6514
- Expose tensor slice selection to blueprint #6590
- Use literal unions in Python enum codegen #6408
- Allow hiding top panel via blueprint #6409
- Improve the visibility of Python public APIs to type checkers #6462
- Expose
Interactive
component #6542 - Python components now implement the
ComponentBatchLike
interface #6543 - Allow streaming to the viewer from the cell where it's created #6640
- Introduce new Python API for setting overrides #6650
- Publish
rerun_notebook
in CI #6641
🦀 Rust API
- All components implement the
Default
trait now in Rust #6458 - Codegen
DerefMut
&Deref
for all trivial components #6470
🪳 Bug Fixes
- Allow removing blueprint entries even when they are invisible #6503
- Fix wrong depth projection value on picking when depth meter was edited #6551
- Always enable OpenGL fallback backend, fix
--renderer=gl
only working together withWGPU_BACKEND
env-var #6582 - Improve container selection panel UI #6711
- Fix annotation context labels not showing in views #6742
- Quiet the 'not a mono-batch' log spam when selecting keypoint with a batch class-id #6359
- Fix incorrect label placement for 3D arrows with origins #6779
- Don't pass RRD paths to other data-loaders #6617
🌁 Viewer Improvements
- Introduce a mechanism for blueprint-provided defaults #6537
- Allow resetting view property components from GUI for all generically implemented property UI #6417
- Don't log "SDK client connected" messages until after we have confirmed it's a client #6456
- Background color settings uses new generic UI now #6480
- TimeSeries y-range is now tightly synced with plot view & uses new generic UI #6485
- Remove option to enable/disable depth projection from UI #6550
- Expose tensor colormap/gamma/filter/scaling to blueprint #6585
- Handle static text messages in TextLogView gracefully, handle overrides #6712
- Multiple instances of points/arrows/boxes with single label display label now at the center #6741
🧑🏫 Examples
- Add the OCR example #6560 (thanks @andreasnaoum!)
- Add the Vista example #6664 (thanks @roym899!)
- Add the Stereo Vision SLAM example #6669 (thanks @02alexander!)
- Add 2D neural field notebook example #6775 (thanks @roym899!)
- Update the nuScenes example to use blueprint overrides and defaults #6783
- Update the plots example to use blueprint overrides #6781
📚 Docs
- Add links to our docs in component tooltips #6482
- Show the first line of the docs when hovering a component name [#6609](https://github.c...
0.16.1
Rerun is an easy-to-use visualization toolbox for multimodal and temporal data.
Try it live at https://rerun.io/viewer.
- Python:
pip install rerun-sdk
- Rust:
cargo add rerun
andcargo install rerun-cli
- Online demo: https://rerun.io/viewer/version/0.16.1/
- C++
FetchContent
: https://github.com/rerun-io/rerun/releases/download/0.15.1/rerun_cpp_sdk.zip
This patch release comes with the following fixes:
0.16.0: More blueprint control from code
Rerun is an easy-to-use visualization toolbox for multimodal and temporal data.
Try it live at https://rerun.io/viewer.
- Python:
pip install rerun-sdk
- Rust:
cargo add rerun
andcargo install rerun-cli
- Online demo: https://rerun.io/viewer/version/0.16.0/
- C++
FetchContent
: https://github.com/rerun-io/rerun/releases/download/0.16.0/rerun_cpp_sdk.zip
Release.0.16.mp4
✨ Overview & highlights
- 🟦 Customize views in code: We started exposing some view properties in the blueprint!
- 📋 Included are:
- Visible time ranges
- check this new how-to guide & example that demonstrates this with plots
- Time Series legend & y-axis configuration
- 2D & 3D View background color
- 2D View bounds
- Visible time ranges
- 📚 learn more on the new view blueprint doc pages
- 🚀 …more to come in the future!
- 📋 Included are:
- 🕰️ Deprecated
timeless
in favor of newstatic
logging- Except for the name change, they behave similarly in most use cases. Unlike with timeless, static data…
- …can't be mixed with non-static data on the same component.
- …will override previous static data and not keep old data in memory.
- Check out our migration guide.
- Except for the name change, they behave similarly in most use cases. Unlike with timeless, static data…
- 🖼️ 2D View's pan & zoom got redone, it's now a free canvas without any scroll bar
- 🤖 Added an example to use Rerun with ROS2.
As always there's a lot going on under the hood:
- 🚚 We streamlined our development processes & CI and examples.
- 🕸️ Our web page is about to switch from React to Svelte, making it a lot snappier!
- 💿 Instance key removal in 0.15.0 opened the door to major simplifications in our data store, this
will make it easier for us to improve performance and implement data streaming. - 🤗 We're making it easier to work with HuggingFace's Gradio API. Stay tuned! Most things for this already landed in this release and we'll soon build more direct support on top.
0.15.1 - Fix Python notebooks
Rerun is an easy-to-use visualization toolbox for multimodal and temporal data.
Try it live at https://rerun.io/viewer.
- Python:
pip install rerun-sdk
- Rust:
cargo add rerun
andcargo install rerun-cli
- Online demo: https://rerun.io/viewer/version/0.15.1/
- C++
FetchContent
: https://github.com/rerun-io/rerun/releases/download/0.15.1/rerun_cpp_sdk.zip
- Fix timeout in notebooks by making the
app_url
correctly point toapp.rerun.io
#5877 - CMake: Allow to call
find_package(rerun_sdk)
two or more times #5886 (thanks @traversaro!)
0.15.0 - Blueprints from Python
Rerun is an easy-to-use visualization toolbox for multimodal and temporal data.
Try it live at https://rerun.io/viewer.
- Python:
pip install rerun-sdk
- Rust:
cargo add rerun
andcargo install rerun-cli
- Online demo: https://rerun.io/viewer/version/0.15.0/
- C++
FetchContent
: https://github.com/rerun-io/rerun/releases/download/0.15.0/rerun_cpp_sdk.zip
The biggest news is the ability to create a blueprint via the Python logging API. Check out our associated blog post for more information.
import rerun.blueprint as rrb
blueprint = rrb.Blueprint(
rrb.Vertical(
rrb.Spatial3DView(name="3D", origin="/"),
rrb.Horizontal(
rrb.TextDocumentView(name="README", origin="/description"),
rrb.Spatial2DView(name="Camera", origin="/camera/image"),
rrb.TimeSeriesView(origin="/plot"),
),
row_shares=[3, 2],
)
rrb.BlueprintPanel(expanded=True),
rrb.SelectionPanel(expanded=False),
rrb.TimePanel(expanded=False),
)
The blueprint can then be sent to the viewer with
rr.send_blueprint(blueprint)
Or stored to a file, and then later opened in the viewer:
blueprint.save("my_nice_dashboard.rbl")
In this case, the results looks something like this:
Blueprints are currently only supported in the Python API, with C++ and Rust support coming later.
✨ Overview & highlights
- 🟦 Configure the layout and content of space views from Python (docs)
- 🖧 More powerful and flexible data loaders (docs)
- 🖵 Improved UI for managing recordings and applications
- 💾 Save and load blueprint files in the viewer
- 🎨 Configurable background color for 3D Space Views #5443
- 💪 Linux ARM64 support #5489 #5503 #5511
- 🖼️ Show examples in the welcome page
- 🖱️ Improve context-menu when right-clicking items in the blueprint panel and streams tree
- ❌ Remove
InstanceKey
from our logging APIs #5395 (migration guide) - ❌ Remove groups from blueprints panel #5326
🔎 Details
🪵 Log API
- Replace
MarkerShape
with code-generatedenum
type #5336 - Key-less data model 1: scrap
InstanceKey
from public logging APIs #5395 - Remove the check for
WrongNumberOfInstances
#5399 - Control panel expanded state via blueprint APIs #5484
- Remove deprecated
TimeSeriesScalar
#5604 - Customizable data loaders #5327 #5328 #5330 #5337 #5351 #5355 #5379 #5361 #5388
🌊 C++ API
- Fix arrow libraries from download & build not being found in some cases #5366
- CMake: Add
RERUN_INSTALL_RERUN_C
option to disable installation ofrerun_c
library #5374 (thanks @traversaro!) - CMake: Fix
install
not finding externalarrow
for dynamic linking #5375 (thanks @traversaro!) - Make
pinhole.hpp
robust againstmin/max
preprocessor macros (typically fromwindows.h
) #5432 - Build C++ SDK for Linux ARM64 #5489
- Generate fewer
.cpp
files: Inline forward serialization of transparent components to their respective datatypes #5544 - Fix
RERUN_C_BUILD_ARTIFACT
path value ifCARGO_BUILD_TARGET
env variable is set #5547 (thanks @traversaro!)
🐍 Python API
- All python components that wrap a
bool
now implement__bool__
#5400 - Add the remaining space views and name them consistently #5498
- Add option to include blueprint in an
.rrd
when calling.save(…)
#5572 - Allow naming space view containers #5626
🦀 Rust API
🪳 Bug Fixes
- Sort text log space view on currently selected timeline #5348
- Fix parents of queried paths getting visualized, fix 2D objects not showing at all in 3D if their camera parent is not included #5424
- Fix: allow creating 3D space views for pinhole-only 3D scenes #5563
- Fix depth cloud bounding boxes for depth cloud visualizations with transforms #5578
- Fix image view not handling images with extra leading dimensions of size
1
#5579 - Fix web viewer crash on invalid url parameter #5631
- Be consistent in how items are removed from selection #5643
- Fix layout issue on welcome screen for narrow window, triggering debug assertion #5650
- Fix broken 2D space view heuristics in Python Notebooks #5674
- Avoid a hang on linux by always create the renderer, even when we have no store_view #5724
- Fix crash/freeze when zooming out too far in a plot #5737
- Fix
draw_order
not working #5794
🌁 Viewer Improvements
- Remove groups from blueprints panel #5326
- Improved tracking of which space views were generated by a heuristic #5419
- Configurable background color for 3D Space Views #5443
- Save recordings from web viewer #5488
- Support loading
.rbl
blueprint files #5513 - Tensor space view can now show images #5567
- Entity path query now shows simple statistics and warns if nothing is displayed #5693
- Go back to example page with browser Back-button #5750
- On Web, implement navigating back/forward with mouse buttons #5792
- Support displaying 1D tensors #5837
🧑🏫 Examples
- New
incremental_logging
example #5462 - New standalone example showing blueprint configuration of some stock #5603
- New example visualizing KISS-ICP #5546 (thanks @02alexander!)
- Remove car example #5576
- Add blueprint to
arkit_scenes
example, leveraging the viewer's ability to re-project 3D->2D #5510 - Add blueprint to
nuscenes
example #5556 - Add blueprint to Face Tracking example #5616
- Add blueprint to Gesture Detection example #5619
- Add blueprint to Human Pose Tracking example #5612
- Add blueprint to Live Camera Edge Detection example #5613
- Add blueprint to LLM Embedding Ner example #5614
- Add blueprint to Objectron example #5617
- Add blueprint to Signed Distance Fields example #5635
- Add blueprint to the RGBD example [#5623](https://github....
0.14.1 - Fix C++ build artifacts
Rerun is an easy-to-use visualization toolbox for multimodal and temporal data.
Try it live at https://app.rerun.io/.
- Python:
pip install rerun-sdk
- Rust:
cargo add rerun
andcargo install rerun-cli
- Online demo: https://app.rerun.io/version/0.14.1/
- C++
FetchContent
: https://github.com/rerun-io/rerun/releases/download/0.14.1/rerun_cpp_sdk.zip
This release is identical to 0.14.0 and merely fixes an issue in the build artifacts for C++: 0.14.0 only contained binaries for Linux x64.
This release has the full set for Linux x64, Windows x64, Mac x64 & Mac Arm64.
0.14.0 - "Unlimited" point clouds & lines, quality of life improvements, bugfixes
0.14.release.video.final.mp4
Rerun is an easy-to-use visualization toolbox for multimodal and temporal data.
Try it live at https://app.rerun.io/.
- Python:
pip install rerun-sdk
- Rust:
cargo add rerun
andcargo install rerun-cli
- Online demo: https://app.rerun.io/version/0.14.0/
- C++
FetchContent
: https://github.com/rerun-io/rerun/releases/download/0.14.0/rerun_cpp_sdk.zip⚠️ There was a problem in our build pipeline causing this release to only contain Linux artifacts and none for Mac & Windows. This is fixed in 0.14.1.
Originally, we planned to do only a bugfix release, but we got an unexpected amount of goodies amassed already.
We're still ramping up for programmable blueprints (soon!), but meanwhile enjoy these improvements in 0.14!
Overview & Highlights
- 📈 Limits for number of points & lines per space view lifted.
- 🖱️ Added context menu (right-click) actions for items on the Blueprint panel. (Only getting started on this, more actions in future releases!)
- 🚀 Speed improvements for scenes with many transforms and large point clouds.
- 🔺 Built-in STL mesh support.
- 🎥 First-person camera.
- 🐛 Fixes regressions in Space View spawn heuristics from 0.13, and many more bugfixes.
- 🧑🏫 Two new examples: Gesture Recognition & RRT* Pathfinding
Details
🪵 Log API
- Add helpers for perspective cameras #5238
- Fix
spawn
starting the viewer even if logging is disabled #5284
🐍 Python API
- Add missing python docs for
disable_timeline
&reset_time
#5269 - Fix missing error message when passing
from_parent
+ rerun transform type torerun.Transform3D
#5270
🦀 Rust API
- Fix using
rerun
crate as a dependency on CI #5170
🪳 Bug Fixes
- Enforce the rule: heuristics should never add a new view that would be completely covered by an existing view #5164
- Remove log spam when quickly resizing the viewer #5189
- Fix incorrect minimum supported rust version mentioned in docs and examples #5195
- Less restrictive visualizability constraints of 2D entities, improved space view generation heuristics #5188
- Fix ugly UI for some arrow data #5235
- Fix missing redraw upon resetting blueprint #5262
- Fix non-deterministic redundancy check for space view spawning heuristic #5266
- Fix resetting vertical axis when using non-uniform zoom on Time Series #5287
🌁 Viewer Improvements
- Clear all blueprints in RAM and on disk when clicking "Reset Viewer" #5199
- Improve the orbit eye to always maintain an up-axis #5193
- Focus on current bounding-box when resetting camera-eye on a 3D space view (double click it) #5209
- Add STL mesh support #5244
- Add first person 3D eye-camera #5249
🚀 Performance Improvements
- More robust handling of maximum texture size for non-color data, slight perf improvements for large point clouds #5229
- Cached transforms & disconnected spaces for faster scenes with many transforms #5221
- Optimized cpu time for 3D point clouds (once again!) #5273
- Only compute store/caching stats when the memory panel is opened #5274
- Increase the max WebSocket frame limit for the native client #5282
🧑🏫 Examples
- Add Gesture Recognition example #5241 (thanks @andreasnaoum!)
- Add example visualizing RRT* #5214 (thanks @02alexander!)
📚 Docs
- Fix broken link in the installing-viewer documentation #5236 (thanks @BirgerMoell!)
🖼 UI Improvements
- Context Menu 1: Basic scaffolding and simple actions #5163
- Context menu 2: add support for multiple selection #5205
- Context menu 3: add "Move to new container" context menu action #5210
- Context menu 4: add "Clone space view" action #5265
- Context menu 5: refactor into multiple files #5289
- Clickable path parts in selection-panel #5220
- Don't show the blueprint section when selecting recordings #5245
- Use the same icon for recordings everywhere #5246
🎨 Renderer Improvements
- Lift point cloud size limitations #5192
- Lift line vertex/strip count limitations #5207
- Fix banding artifacts of 3D space view's skybox #5279
📦 Dependencies
0.13.0 - Fast time series, improved layout editing & UI overrides
Rerun is an easy-to-use visualization toolbox for multimodal and temporal data.
Try it live at https://app.rerun.io/.
- Python:
pip install rerun-sdk
- Rust:
cargo add rerun
andcargo install rerun-cli
- Online demo: https://app.rerun.io/version/0.13.0/
- C++
FetchContent
: https://github.com/rerun-io/rerun/releases/download/0.13.0/rerun_cpp_sdk.zip
This release focuses on scalar time series -- both from a performance and UI perspectives. Check out our associated blog post for more information.
Overview & Highlights
-
📈 Rerun can now visualize many time series in the kHz range in real-time:
- The new query cache optimizes data access, improving query performance by 20-50x
- Sub-pixel aggregation prevents unnecessary overdraw when rendering plots, improving rendering time by 30-120x
- Points, lines, arrows and boxes all benefit from query caching too to a lesser extent, yielding 2-5x performance improvements
-
🖼 UI overrides:
- The new
Scalar
,SeriesLine
&SeriesPoint
archetypes allow for customizing plots both at logging and visualization time - Customize marker shapes, marker sizes, etc from code or directly through the UI
- Specify axis labels, lock axes, etc from code or directly through the UI
- The new
-
🌁 Viewer:
- The number of compute threads can now be controlled using the
--threads
/-j
flag - Added support YUY2-encoded images (thanks @oxkitsune!)
- Space views can now be drag-and-dropped directly from the blueprint tree
- Scenes with 100+ entities are now up to 5x faster.
- The number of compute threads can now be controlled using the
-
🚚 New Space View and Container creation workflow:
- When selected, containers have a children list in the Selection Panel, where new Space Views and Containers may be added.
- New modal dialog to add Space Views and Containers.
- The same dialog is also available from the
+
button of the Blueprint tree UI. - The Space View's origin can now be edited in the Selection Panel.
- The container hierarchy can now be cleaned up with the new
Simplify Hierarchy
button in the Selection Panel for containers.
-
🦀 The rust SDK now exposes an optional integration with the
mint
crate -
🕸️ The web UI SDK now supports loading multiple
.rrd
URLs -
🔺 The web viewer now renders using WebGPU by default (when available), leading to lower memory usage on Chrome.
You can override this behavior using?renderer=webgl
/?renderer=webgpu
url parameter, or restart with WebGL/WebGPU respectively from the options menu.
As well as a lot of miscellaneous bug fixes and usability improvements: see details below.
Check out our migration guide.
Details
🪵 Log API
- Mark TimeSeriesScalar as deprecated in all SDKs and documentation #5102
🌊 C++ API
- Document that in C++ PinholeProjection::from_mat3x3 is column major #4843
- Include LICENSE files into C++ SDK Assets #4870 (thanks @rgolovanov!)
- Fix C++ arrow build flag forwarding #4921 (thanks @rgolovanov!)
🦀 Rust API
- Add integration with the
mint
crate #4753
🐍 Python API
- Fix support for compressing mono images by respecting mode to determine depth #4847
🪳 Bug Fixes
- External loader: don't do process IO on compute thread-pool #4942
- Fix a Visible Time Range UI issue where the summary string would display the wrong data range #5034
- Clear empty containers after tile drag-and-drop #5044
- Allow for very large meshes & plots by always picking the largest available GPU buffer size #5053
- Fix forever repaint of big scenes #5071
- Fix
RERUN_FLUSH_NUM_BYTES
and data size estimations #5086 - Make
rectangle_fs.wgsl
compile on chrome despite angle/mesa bug (#3931) #5074
🌁 Viewer Improvements
- Introduce Scalar, SeriesLine, and SeriesPoint archetypes with their own visualizers #4875
- Support modifying the plot style by introducing a generic framework for overriding components #4914
- Introduce a new blueprint archetype for AxisY configuration in a plot #5028
- Improve the selection/hover behavior for plots #5096
- Click a spatial space view background to select the space view itself #4796
- Double-clicking an entity in the blueprint & time panels focuses the 3D camera on it #4799
- When loading a .ply file, warn about ignored properties #4934
- Make it easier to position 3D eye-camera center #4943
- Include tessellation and rendering in CPU time shown in top bar #4951
- Allow selection of entities directly in the plot space view #4959
- Texture support for raw
Mesh3D
logging #4894
🚀 Performance Improvements
- Add
--threads
/-j
to control number of compute threads #5021 - Introduce the query cache:
- Primary caching 3: bare-bone latest-at caching #4659
- Primary caching 4: runtime toggle support #4680
- Primary caching 5: 2D & 3D point clouds #4681
- Primary caching 6: TextLogs & TimeSeries #4698
- Primary caching 7: Always expose the data time in query responses #4711
- Primary caching 8: implement latest-at data-time cache entry deduplication #4712
- Primary caching 9: timeless latest-at support #4721
- Primary caching 10: latest-at cache invalidation #4726
- Primary caching 11: cache stats and integration with memory panel #4773
- Primary caching 12: bare-bone range support #4784
- Primary caching 13: stats & memory panel integration for range queries #4785
- Primary caching 14: don't bake
LatestAt(T-1)
results into low-level range queries #4793 - Primary caching 15: range read performance optimization #4800
- Primary caching 16: context-free range semantics #4851
- Primary caching 17: timeless range #4852
- Primary caching 18: range invalidation (ENABLED BY DEFAULT 🎊) #4853
- Primary caching 19 (final): make cache globals non-static #4856
- Integrate query caching with more primitives:
- Configurable dynamic plot aggregation based on zoom-level #4865
- Improved automatic view creation heuristic, major speedup for scenes with many entities #4874
- Optimize point clouds #4932
🧑🏫 Examples
- Update all examples that use
TimeSeriesScalar
to useScalar
instead #5042
📚 Docs
- Improve documentation of the
Clear
archetype #4760 DisconnectedSpace
now only applies to spatial space views #4935- Fill gaps in image encoding documentation, fix how python documents union variants #4988
🖼 UI Improvements
0.12.1 - Data loader bug fixes
Rerun is an easy-to-use visualization toolbox for multimodal and temporal data.
- C++: https://github.com/rerun-io/rerun/releases/download/0.12.1/rerun_cpp_sdk.zip
- Python:
pip install rerun-sdk
- Rust:
cargo add rerun
andcargo install rerun-cli
- Online demo: https://app.rerun.io/version/0.12.1/
🌊 C++ API
- Fix CMake trying to pick up test folders outside of the Rerun project/zip #4770 (thanks @KevinGliewe!)
- Document that
Mat3x3
andMat4x4
constructors are column major #4842
🦀 Rust API
🪳 Bug Fixes
- Fix external data loader plugins on Windows #4840
- Reduce latency when loading data from external loaders #4797
- Always point to versioned manifest when building a versioned binary #4781
🧑💻 Dev-experience
- External loaders: remove warnings on duplicated binary on
$PATH
#4833