Releases: rerun-io/rerun
v0.4.0
release.0.4.0.mp4
Overview & Highlights
- Add support for mesh vertex colors #1671
- Lower memory use #1535
- Improve garbage collection #1560
- Improve the web viewer #1596 #1594 #1682 #1716 …
- Nice outlines when hovering/selecting
- Add an example of forever-streaming a web-camera image to Rerun #1502
- Fix crash-on-save on some versions of Linux #1402
- And a lot of other bug fixes
- Many performance improvements
We now host an experimental and unpolished web-viewer at https://app.rerun.io/ for anyone to try out!
In Detail
🐍 Python SDK
- Expose all Rerun enums and types to main module scope #1598
- Make
log_point
more forgiving and update docstring #1663 - Add support for mesh vertex colors #1671
🦀 Rust SDK
⚠️ Session::new
has been replaced withSessionBuilder
#1528⚠️ session.spawn(…)
->rerun::native_viewer::spawn(session, …)
#1507⚠️ session.show()
->rerun::native_viewer::show(session)
#1507⚠️ session.serve(…)
->rerun::serve_web_viewer(session, …);
#1507⚠️ rerun::global_session
is now hidden behind theglobal_session
feature flag #1507- Add support for mesh vertex colors #1671
🪳 Bug Fixes
- datastore: disable compaction (fixes 2x memory issue) #1535
- Fix garbage collection #1560
- Avoid using undefined extern "C" on windows #1577
- Fix crash on decoding old .rrd files #1579
- datastore: stabilize dataframe sorts #1549
- Stop using infinities in wgsl shaders #1594
- Workaround for alpha to coverage state leaking on (Web)GL renderer #1596
- Use a patched
wasm-bindgen-cli
with fix for 2GiB bug #1605 - Misc: make example in
log_pinhole
runable #1609 (thanks @Sjouks!) - Early-out on zero-sized space-views to prevent crashes #1623
- Print our own callstack on panics #1622
- Handle ctrl+c to gracefully shutdown the server(s) #1613
- Fix crash on serve exit, second attempt #1633
- Fix wrong remove-tooltip for entities and groups #1637
- Fix requiring requiring focus for shutdown via ctrl+c when starting viewer from command line #1646
- Fix eye spin after eye reset #1652
- Fix crash on negative radii by instead warning #1654
- Fix crash when trying to listen on a taken TCP port #1650
- Don't show 2D labels in 3D space views. #1641
- Fix Z fighting with improved depth offset math #1661
- Whether a spatial view is 2d or 3d is now reevaluated over time unless picked explicitly #1660
- Update wgpu to v0.15.3, fixing meshes on Windows Chrome #1682
- Fix a bug in the image hover code, causing the wrong RGBA values to be printed #1690
- Fix a bug that caused points to be render too large #1690
- Fix web crash on missing uniform buffer padding #1699
- Fix
memory_usage
example relying on implicit recursive features #1709 - Track changed state in nav mode combo box #1703
- Fix crash-on-save by switching file-picker dialog to
xdg-portal
#1402 - Change roll-shortcut from ALT to SHIFT #1715
- Fix CpuWriteGpuReadBelt producing unaligned gpu buffer offsets #1716
- Fix arrows requiring a radius to be visible #1720
🚀 Performance Improvements
- Add re_arrow_store profile scopes #1546
- datastore: early exit missing components at table level #1554
- datastore: track bucket count in store stats & mem panel #1555
- LogDb: dont split on index bucket size #1558
- Introduce a simpler cache dedicated to just decode JPEGs #1550
- Implement outlines for points 2d/3d/depth & use them for select & hover in Viewer #1568
- Simplify ImageCache #1551
- New time panel density graph #1557
- Refactor the Arrow Mesh3D type to use zero-copy Buffers #1691
- Remove the redundant costly transform check during categorization #1695
- batching 3:
DataRow
&DataTable
+ no bundles outside of transport #1673
🧑🏫 Examples
📚 Docs
- Link to the Python SDK build instructions in
rerun_py/README.md
#1565
🖼 UI Improvements
- Fix combining outline mask for selection & hover #1552
- Implement outlines for rectangles & use them for select & hover of image primitives in Viewer #1559
- Show log messages in egui toast notifications #1603
- Adapt UI for smaller screens #1608
- Nicer toast notifications #1621
- Don't hover things in 2D/3D views if we are dragging something #1643
- Allow rolling 3D camera with primary mouse button + alt modifier #1659
- Name space views after the space and indicate duplicate names #1653
- Add banner about mobile browsers being unsupported #1674
- Improve ui for tensors and color map selection #1683
- Only show the mobile OS warning banner on web #1685
- Improve the depth backprojection feature #1690
- Swap overlay order of selection & hover outlines #1705
- Turn on depth cloud backprojection by default #1710
- Add radius boost for depth clouds on outline #1713
🤷♂️ Other Viewer Improvements
- Fix web feature name in error messages #1521
- Use outlines for mesh selections instead of highlight colors #1540
- Implement outlines for line renderer & use them for select & hover of "line-like" primitives in Viewer #1553
- Load .rrd file over HTTP #1600
- Revert "Handle ctrl+c to gracefully shutdown the server(s)" #1632
- More eager GC, and remove
--fast-math
optimization for wasm #1656 - Detect failure to install GUI log callback #1655
- Warn when most of the RAM has been used up by Rerun #1651
- Apply color maps to all types of depth tensors #1686
- Size boosted outlines for points & lines, color & size tweaking #1667
- Default point radius to 1.5 ui points #1706
- When streaming an rrd from http: play it...
v0.3.1
v0.3.0
After a successful launch a couple of weeks ago, we're back with our second release!
With a few exceptions this release focuses on internal refactors & improving our processes.
However, we think you'll enjoy these goodies that made it in nonetheless!
23-03-02_18.44.38.patched.mp4
You can now generate point clouds directly from depth textures and choose a wide variety of color maps.
Check out this video on how to use it.
This is a lot faster and more convenient than doing so manually in your own code
Some caveats: Picking is not yet working and visible history may behave differently (related to #723)
Other highlights:
- Viewer
- SDK
- Python packages now work with Ubuntu-20.04 #1334
- u8 segmentation stay u8 now (they converted to u16 before) #1376
- 2D Line strips can now be logged directly #1430
- Add a
strict
mode to the Python SDK where misuses of the API result in exceptions being raised.#1477 - Fix disabling Python API through
init
not working #1517
- General
- We build now with fewer build dependencies (there is however still more work to do!).
Notably, we previously used a version of thetime
crate which had a security issue (CVE-2020-26235), thanks @mpizenberg for helping out! - Print more information & troubleshooting info on crash
- We build now with fewer build dependencies (there is however still more work to do!).
Meanwhile, we did a bunch of improvements to our manual. If you had trouble running Rerun so far, check our updated troubleshooting page (and as always, please open an issue if something doesn't work).
.rrd
files no longer load
In Detail
New Features
- Generate point clouds directly from depth textures
- Python SDK: Add strict mode #1477
- OS independent Zoom factor & serialization thereof #1448
- Labels for 3D objects have now a color can now be selected & hovered #1438
- Add 2d support for linestrips #1430
- Add signal handler on *nix with troubleshooting and stacktrace #1340
- Point users to our troubleshooting page on panic #1338
Performance
- Speed up conversions for color arrays in Python #1454
- Speed up fixed-sized array iteration #1050
- Speed up tensor handling by padding data through more directly
- Add option to show performance metrics in the UI in release builds too #1444
- Faster stable diffusion sample #1364
- SDK: stream to disk with
save
feature #1405 re_renderer
has now a direct CPU->GPU copy mechanism
Small improvements & Bugfixes
- UI
re_renderer
- Heuristic for camera frustum length is now based on scene size #1433
- Fix python type signature for tensor names #1443
- Don't convert u8 segmentation images to u16 #1376
- Docs (excluding the manual)
- Improve the docs of
connect
andserve
#1450 - Update log_mesh and log_meshes docs. #1286
- Add guidelines for adding dependencies in a PR #1431
- Add a few more sections to
CODE_STYLE.md
#1365 - Fixup for some doc links #1314
- Document undocumented environment variables on help page. #1335
- Link to SDK operating modes doc in both SDK #1330
- Improve the docs of
- More information in
--version
#1388 - Remove already broken
show
method from Python SDK #1429 - Analytics
- Versioned log streams streams #1420
- Fix path issues when running debug viewer within workspace #1341
- Detailed errors for re_renderer
include_file!
#1339 - Limit logging in web-viewer to
warn
in order to workaround a crash issue (and reduce log spam) 1514 - Fix disabling API through
init
not working #1517
CI, Testing & Build improvements
- Reduce build dependencies
- Use different artifact names for wasm/js in debug builds #1428
- Separate mac wheels & trigger wheel build from ui #1499
- Add spell checking to CI #1492
- Repo size
- Python
- Testing
- Add a test of memory use when logging a lot of big images #1372
- Switch ci_docker to a container based on ubuntu 20.04 #1334
- Release handling
- Switch release action to ncipollo #1489
- Fix o...
v0.2.0
What's Changed
- Good looking Blueprint View by @emilk in #962
- Make buttons smaller, and everything a bit tighter by @emilk in #970
- Widget hover effect by @emilk in #935
- Select single objects directly and click through selection by @Wumpf in #964
- Optimize loading of segmentation maps by @emilk in #978
- Tweak store profile scopes by @emilk in #979
- re_renderer: delegate 2D texture padding to
Queue::write_texture
by @teh-cmc in #975 - Remove Classic Python SDK by @emilk in #977
- New visibility buttons by @emilk in #983
- Specify time for DataUi queries by @emilk in #980
- Update to released versions of huggingface libs by @nikolausWest in #981
- re_analytics: fixed salt for hashed props by @teh-cmc in #958
- Prepare for switching to the
re_int_histogram
crate by @emilk in #984 - Only run test benches rather than full bench on CI by @jleibs in #992
- Remove a lot of classical stuff by @emilk in #988
- Clean up component imports by @jondo2010 in #985
- Hack depth offset in order to make objects not disappear by @Wumpf in #990
- Fix crash when zooming out camera too far by @Wumpf in #986
- Rust: rename objects and fields by @emilk in #993
- Fix hovering bug introduced in The Great Removal by @emilk in #998
- Update readme and remove the docs in favor of dedicated repo by @jleibs in #995
- Update to Rust 1.67 by @emilk in #1000
- Update all of the docstrings on public-facing APIs to numpy style by @jleibs in #1001
- Refactor
InstanceId
by @emilk in #999 - bind to all network interfaces by @teh-cmc in #1005
- Rename
Instance
toInstanceKey
by @emilk in #1002 - use wasm target-dir for
bacon wasm
by @teh-cmc in #1009 - Use
Display
for errors by @emilk in #1007 - Better looking tabs by @emilk in #1011
- Improve colmap example by @nikolausWest in #1008
- Fix rendering empty batches of lines and points, needlessly generating draw calls by @Wumpf in #989
- Less bright frustum by @Wumpf in #1015
- Issue templates with "👀 needs triage" by @nikolausWest in #1016
- Hide MsgId & InstanceId for on-hover ui by @Wumpf in #1017
- Show Space View options in tab bar by @emilk in #1027
- Nicer frustum ray by @Wumpf in #1019
- Improved workflow for adding/removing objects by @Wumpf in #1013
- Introduce Extension Components by @jleibs in #1023
- Tensor view ui improvements by @Wumpf in #1022
- lint against using dbg!() macro in production code by @emilk in #1029
- Fix compilation failure due to bad merge by @Wumpf in #1030
- rust SDK: raw 3D meshes and example by @teh-cmc in #1010
- Click space view title to select it by @emilk in #1032
- Switch to a generator for our common-API registry as well. by @jleibs in #1035
- Catch it when we break the docs by @jleibs in #1040
- python SDK: raw 3D meshes and example by @teh-cmc in #1026
- CI: Attempt to apply cancel-on-progress only on PR:s, not on main by @emilk in #1051
- Slightly nicer tensor view by @emilk in #1028
- Skip data selection section for space views and data blueprint groups by @Wumpf in #1039
- DataUI impls for rect/linestrip2d/linestrip3d/vec2d/vec3d by @Wumpf in #1038
- Preview component data by @Wumpf in #1034
- Add
ComponentName::short_name
helper function by @emilk in #1053 - Improved text space view blueprint by @Wumpf in #1055
- Build+Deploy Python Wheels in CI by @jondo2010 in #996
- Show all instance values in the selection panel by @emilk in #1056
- more spaceview blueprint improvements by @Wumpf in #1057
- Speed up Point3D by @jleibs in #1064
- Update gltf to 1.1 by @emilk in #1071
- Misc code cleanup by @emilk in #1070
- Nicer wait message by @emilk in #1069
- Fix play/pause toggle annoyance by @emilk in #1066
- Same height for tab bar and title bars of side panels by @emilk in #1072
- Workflow fixes for Python Wheel release by @jondo2010 in #1059
- Nicer collapsing sections in the selection view by @emilk in #1067
- ui: use the crosshair for zoom previews everywhere by @teh-cmc in #1073
- raw meshes: support albedo factors, clean up examples and acknowledge lack of support for .obj by @teh-cmc in #1081
- Allow root space views transforms to other roots by @Wumpf in #1075
- Update some Rust crates by @emilk in #1090
- Improved tensor view settings by @Wumpf in #1082
- expose egui debug options in debug menu by @Wumpf in #1089
- Nicer ready text by @emilk in #1078
- Improve tensor view margins by @emilk in #1091
- Nicer top bar on web by @emilk in #1080
- Timeline panel design details by @Wumpf in #1088
- Ship rerun package inside of a rerun_sdk folder by @jleibs in #1085
- Update to winit 0.28 by @emilk in #997
- Increase maximum number of points from 1 Mi to 4 Mi by @emilk in #1093
- Hide perf stats in release, + tweak separator lines by @emilk in #1095
- Icons for space views and blueprint groups by @Wumpf in #1096
- Fix python bridge preventing logging transforms to root child by @Wumpf in #1097
- Use Selection color from design token by @Wumpf in #1092
- Revert "Fix python bridge preventing logging transforms to root child" by @nikolausWest in #1098
- Don't make top-level spaces their own children by @jleibs in #1100
- Rename
Selection
toItem
,MultiSelection
toItemCollection
by @emilk in #1104 - Simple boiler-plate idea for examples by @jondo2010 in #1058
- Use less "arrow" in re_viewer by @emilk in #1105
- Use a grid in entity properties ui by @emilk in #1106
- Restore previous non-tracked camera pose on esc by @Wumpf in #1102
- Default spaceview names are now last space path bit only unless it is root by @Wumpf in #1103
- EntityPath::from_str must parse the given string by @teh-cmc in #1114
- On push sync the docs to gh-pages by @jleibs in #1086
- Rust SDK: introduce
MsgSender
builder-like interface for logging data by @teh-cmc in #1037 - Better ComponentBundle invariants by @jondo2010 in #1112
- Rust SDK: remove deprecated APIs & examples by @teh-cmc in #1107
- Renamed
spawn_and_connect
to justspawn
by @emilk in #1101 - Windows/Linux: work towards replacing native window frame with our own custom buttons by @emilk in #1094
- use forward/backwards icon in selection panel by @Wumpf in #1128
- Generate an RRD file during the build which we inject into the wheel by @jleibs in #1087
- gh-pages rust docs should redirect to
rerun
crate by @jleibs in https://github...