…
0.4.0 - Outlines, web viewer and performance improvements
release.0.4.0.mp4
- 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!
- 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
⚠️ 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
- 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
- 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
- Link to the Python SDK build instructions in
rerun_py/README.md
#1565
- 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
- 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, don't follow it #1707
- Use
log
as our log backend instead oftracing
#1590 - Turn on allocation tracker at run-time and for web #1591
- Set correct MIME types in re_web_viewer_server #1602
- Upload web viewer to a bucket #1606
- Use hostname for default websocket address #1664
- Upload the colmap rrd file to gcloud #1666
- Show a warning by default on mobile browsers #1670
- Add analytics to the hosted index.html #1675
- Always upload latest prerelease to a dedicated prefix #1676
- Allow url param override on app.rerun.io #1678
- Show the git commit in the about section in pre-release builds #1677
- Update the web icon #1688
- Outlines via masking & postprocessing in
re_renderer
#1532 - Add missing profiling scopes in
re_renderer
#1567 - Don't call
wgpu::Device::poll
on the web #1626 - Merge final outline render into composite step in order to fix blending #1629
- renderer: fix the groupby logic in mesh instancing #1657
- Fix outlines being offset diagonally by about half a pixel #1668
- Gpu readback belt for fast & easy data readback from gpu #1687
- Make CpuWriteGpuReadBelt texture copies easier/less error prone #1689
- datastore: split out formatting & sanity checks in their own modules #1625
- Add
rerun --save
: stream incoming log stream to an rrd file #1662 - batching 1: introduce
DataCell
& retireComponentBundle
#1634 - Data store batching 2: split out component traits #1636
- Analytics: don't spam warning when there is an HTTP connection problem #1564
- Analytics: Rename "location" to "file_line" in the "crash-panic" event #1575
- Update
rayon
#1541 - Fix some
1.68
clippy lints #1569 - Remove duplicated 'nix' crate #1479
- Better MsgId format #1566
- Lint vertical spacing in Rust code #1572
- CI: Replace wasm_bindgen_check.sh with actually building the web-viewer #1604
- Add --all-features to Rust Analyzer flags #1624
- Run clippy for wasm, with own clippy.toml config file #1628
- Update tokio v1.24.1 -> v1.26.0 #1635
- Add a workflow input for running benchmarks manually #1698
- Add missing } to fix rust workflow #1700
- Fix
lint.py
#1719 - Add a script that generates a changelog from recent PRs and their labels #1718
- Clean up opencv_canny example slightly b487e550dcb87225858dc6f76b791a25e938e75e
- Lint fixes 9901e7c6735356b1970ddabc926bc5378d82e057
0.3.1 - Remove potentially sensitive analytics
Remove potentially sensitive analytics, including path to rerun source code on panics, and rerun branch name when building from source #1563
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 the
time
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!).
Notably, we previously used a version of the
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
- 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
- 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
- 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
- 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 our continuous pre-releases #1458
- Delete the prerelease before creating the new one #1485
- Set prerelease to true even for version-tagged CI job #1504
- Let the release job take care of creating the tag #1501
- Use
cargo update -w
instead ofcargo check
when prepping prerelease #1500 - Use prerelease tag instead of latest and update pointer on prerelease #1481
- Include date in pre-release version #1472
- Switch pre-release action to ncipollo/release-action #1466
- Disallow some methods and types via Clippy#1411
- Fix: don't create a dummy LogDb when opening the Rerun Menu #1440
re_renderer
Draw Phases
in preparation of executingRenderer
several times on different targets #1419- Simplify bind group allocation call by passing pool collection object. #1459
- Interior mutable buffer/texture/bindgroup pools #1374
- Rename all instances of
frame_maintenance
tobegin_frame
#1360 - Texture & buffer call now wgpu's
destroy
on removal from pool #1359 - Arrow buffers as (optional) first-class citizen #1482
- Log static re_renderer resource generation #1464
- Internal log_text_entry_internal to break circular deps #1488
- Delete ClassicTensor and cleanup #1456
- Fix re_renderer file watcher watching the same file several times #1463
- Analytics
- Introduce
DeserializableComponent
trait and high-levelquery_latest
#1417
First public release!