Releases: rerun-io/rerun
v0.5.0
0.5.0 - Jupyter MVP, GPU-based picking & colormapping, new datastore!
23-04-20_17.08.46.patched.mp4
Updating
Python: pip install -U rerun-sdk
Rust library: rerun = "0.5.0"
Rust binary: cargo install rerun
Overview & Highlights
This new release adds MVP support for embedding Rerun in Jupyter notebooks, and brings significant performance improvements across all layers of the stack.
- Rerun can now be embedded in Jupyter notebooks
- Tested with Jupyter Notebook Classic, Jupyter Lab, VSCode & Google Colab; checkout our How-to guide
- Try it out live on Google Colab
- All colormapping tasks are now done directly on the GPU
- This yields very significant performance improvements for colormapping heavy workload (e.g. segmentation)
- Try it out in our new
segment_anything
example that shows off the latest models from Meta AI
- GPU picking & hovering now works with all of our primitives, including meshes & depth clouds
- This fixes all the shortcomings of the previous CPU-based system
- Rerun's automatic backprojection of depth textures ("depth clouds") is now feature complete
- Try it out in our updated
nyud
example
- Our datastore has been completely revamped to more closely match our latest data model
- This yields very significant performance improvements for workloads with many events
- Checkout this post for a detailed walkthrough of the changes
In Detail
🐍 Python SDK
- Document that we also accept colors in 0-1 floats #1740
- Don't initialize an SDK session if we are only going to be launching the app #1768
- Allow torch tensors for
log_rigid3
#1769 - Always send
recording_id
as part ofLogMsg
#1778 - New
reset_time
API #1826 #1854 - Always flush when we remove a sink #1830
- More robust wait for exit condition during .serve() #1939
🪳 Bug Fixes
- Fix broken outlines (hover/select effect) for lines #1724
- Fix logged obb being displayed with half of the requested size #1749 (thanks @BenjaminDev!)
- Fix
log_obb
usage #1761 - Always create the
log_time
timeline #1763 - Fix undo/redo selection shortcut/action changing selection history without changing selection #1765
- Fix various crashes #1780
- Fix crash when trying to do picking on depth clouds d94ca3dd35e73e1984ccb969d0c7abd0d3e0faa9
- ci: fix benchmarks #1799
- ci: fix
cargo deny
#1806 - Fix "too many points" crash #1822
- Allow re-use of
RowId
s if no conflict is possible #1832 - Reduce memory used by staging belts on Web #1836
- Test and handle all tensor dtypes as images #1840
- Fix the python build when running without
web_viewer
enabled #1856 - Error instead of
expect
insidemsg_encode
#1857 - Fix shutdown race condition in
re_sdk_comms
client #1861 - Fix broken instance picking in presence of images #1876
- Make sure JPEGs are always decoded #1884
- Fix crash when saving store to file #1909
- Don't clean up
LogDb
s that only contain aBeginRecordingMsg
#1914 - Fix picking entities with image + another object (or label) twice #1908
- Fix double clicking camera no longer focusing on said camera #1911
- Fix annotation images sometimes drawn in the background #1933
- Use
zipfile
python library instead ofunzip
command inarkitscene
demo #1936 - Fix backslashes in
arkitscene
rigid transformation path #1938 - Fix hover/select highlights when picking single points in a scene with multiple point clouds #1942
- Fix hovering depth clouds #1943
🚀 Performance Improvements
- batching 4: retire
MsgBundle
+ batching support in transport layer #1679 - Optimize the depth-cloud shader when
depth=0
#1729 arrow2_convert
primitive (de)serialization benchmarks #1742arrow2
estimated_bytes_size
benchmarks #1743arrow2
erased refcounted clones benchmarks #1745- benchmarks for common vector ops across
smallvec
/tinyvec
/std #1747 - Columnar
TimePoint
s in data tables and during transport #1767 - Compile with
panic = "abort"
#1813 - Process 2D points per entities like 3D points #1820
- re_query: use latest data types (
DataRow
/DataCell
) #1828 - Depth cloud textures are now cached frame-to-frame #1913
🧑🏫 Examples
- Add new
ARKitScenes
example #1538 (thanks @pablovela5620!) - New example code for Facebook research's
segment-anything
#1788 - Add
minimal_options
example for Rust SDK #1773 (thanks @h3mosphere!) - Remove manual depth projection from
car
andnyud
examples #1869 - Always spawn instead of fork in multiprocessing example #1922
- Add
--num-frames
arg to canny (webcam) example #1923 - Add argument parsing to
rerun_demo
#1925 - Join threads at end of
multithreading
example #1934
📚 Docs
- Add
typing_extensions
torequirements-doc.txt
#1786 - Fix typos in notebook readme #1852
- Update docs related to notebook #1915
🖼 UI Improvements
- Hover rays for tracked 3D cameras #1751
- Collapse space-view by default if there is only one child #1762
- Option to show scene bounding box #1770
- Assign default colors to class-ids when annotation context is missing #1783
- Add Restart command and keyboard shortcut for moving time to start of timeline #1802 (thanks @h3mosphere!)
- New option to disable persistent storage #1825
- Show previews of colormaps when selecting them #1846
- Smooth out scroll wheel input for camera zooming #1920
🤷♂️ Other Viewer Improvements
- Change
EntityPathHash
to be 64 bit #1723 - Central
GpuReadback
handling for re_viewer, experimental space view screenshots #1717 - Readback depth from GPU picking #1752
- Use GPU picking for points, streamline/share picking code some more #1814
- Use GPU picking for line(like) primitives, fix
interactive
flags #1829 - Use GPU colormapping when showing images in the GUI #1865
🕸️ Web
- Make CI publish
latest
tagged web-viewer toapp.rerun.io
#1725 - Implement...
v0.5.0-alpha.0
publish_crates.sh: fix crate ordering
Development Build
Installing the pre-release Python SDK
- Download the correct
.whl
. - Run
pip install rerun_sdk<...>.whl
(replace<...>
with the actual filename) - Test it:
rerun --version
What's Changed
- Post-release cleanup by @emilk in #1726
- batching 4: retire
MsgBundle
+ batching support in transport layer by @teh-cmc in #1679 - Change EntityPathHash to be 64 bit by @Wumpf in #1723
- Central GpuReadback handling for re_viewer, experimental space view screenshots by @Wumpf in #1717
- GPU based picking with points by @Wumpf in #1721
- improved renderer label handling by @Wumpf in #1731
- Datastore: revamp bench suite by @teh-cmc in #1733
- Make CI publish
latest
tagged web-viewer toapp.rerun.io
by @emilk in #1725 - Optimize the depth-cloud shader when depth=0 by @emilk in #1729
- remove unnecessary dependencies by @vsuryamurthy in #1711
- Improved readback data handling by @Wumpf in #1734
- GPU based mesh picking in viewer by @Wumpf in #1737
arrow2_convert
primitive (de)serialization benchmarks by @teh-cmc in #1742- Fix logged obb being displayed with half of the requested size by @BenjaminDev in #1749
- benchmarks for common vector ops across
smallvec
/tinyvec
/std by @teh-cmc in #1747 - Hover rays for tracked 3D cameras by @Wumpf in #1751
- Improve dealing with raw buffers for texture read/write by @Wumpf in #1744
arrow2
erased refcounted clones benchmarks by @teh-cmc in #1745arrow2
estimated_bytes_size benchmarks by @teh-cmc in #1743- Readback depth from GPU picking by @Wumpf in #1752
- Add new ARKitScenes example by @pablovela5620 in #1538
- Fix log_obb usage by @emilk in #1761
- Python SDK: document that we also accept colors in 0-1 floats by @emilk in #1740
- Collapse space-view by default if there is only one child by @emilk in #1762
- Always create the log_time timeline by @jleibs in #1763
- Columnar timepoints in data tables and during transport by @teh-cmc in #1767
- Fix undo/redo selection shortcut/action changing selection history without changing selection by @Wumpf in #1765
- Don't initialize an SDK session if we are only going to be launching the app by @jleibs in #1768
- Allow torch tensors for log_rigid3 by @jleibs in #1769
- Option to show scene bounding box by @emilk in #1770
- Fix a whole lot of crashes, all at once by @emilk in #1780
- Add typing_extensions to requirements-doc.txt by @jleibs in #1786
- auto_color class-ids if they are present by @jleibs in #1783
- Don't run 3rd party bench suites on CI by @teh-cmc in #1787
- Use copilot markers in PR template by @emilk in #1784
- re_format: barebone support for custom formatting by @teh-cmc in #1776
- Always send recording_id as part of LogMsg by @jleibs in #1778
- Refactor: Add new helper crate
re_log_encoding
by @emilk in #1772 - New example code for facebook research segment anything by @jleibs in #1788
- Implement
re_tuid::Tuid::random()
on web by @emilk in #1796 - ci: fix benchmarks by @teh-cmc in #1799
- Add
minimal_options
example for Rust SDK by @h3mosphere in #1773 - setup_web.sh supports pacman package manager by @urholaukkarinen in #1797
- ci: fix
cargo deny
(crossbeam-channel
outdated since yesterday's release) by @teh-cmc in #1806 - Compile with
panic = "abort"
by @emilk in #1813 - Add
rerun --strict
: crash if any warning or error is logged by @emilk in #1812 - Refactor: Remove
TensorTrait
by @emilk in #1819 - End-to-end testing of python logging -> store ingestion by @emilk in #1817
- Fix e2e test on CI: Don't try to re-build rerun-sdk by @emilk in #1821
- Use gpu picking for points, streamline/share picking code some more by @Wumpf in #1814
- Process 2D points per entities like 3D points by @Wumpf in #1820
- New option to disable persistant storage by @jleibs in #1825
- New API to reset_time by @jleibs in #1826
- Datastore revamp 1: new indexing model & core datastructures by @teh-cmc in #1727
- Datastore revamp 2: serialization & formatting by @teh-cmc in #1735
- Datastore revamp 3: efficient incremental stats by @teh-cmc in #1739
- Datastore revamp 4: sunset
MsgId
by @teh-cmc in #1785 - Datastore revamp 5:
DataStore::to_data_tables()
by @teh-cmc in #1791 - Datastore revamp 6: sunset
LogMsg
storage + save store to disk by @teh-cmc in #1795 - Datastore revamp 7: garbage collection by @teh-cmc in #1801
- Don't assert if inserting a rowid with a matching timepoint does not create a conflict by @jleibs in #1832
- re_query: up to date with latest data types and structures by @teh-cmc in #1828
- datastore: incremental metadata registry stats by @teh-cmc in #1833
- RFC: datastore state of the union & end-to-end batching by @teh-cmc in #1610
- Fix too many points crash by @Wumpf in #1822
- Use GPU picking for line(like) primitives, fix
interactive
flags by @Wumpf in #1829 - Reduce memory used by staging belts on Web by @Wumpf in #1836
- Always flush when we remove a sink by @jleibs in #1830
- GPU colormapping, first step by @emilk in #1835
- Test and handle all tensor dtypes as images by @emilk in #1840
- Install the rerun-sdk in CI using --no-index and split out linux wheel build to run first. by @jleibs in #1838
- GPU tensor colormapping by @emilk in #1841
- Show previews of colormaps when selecting them by @emilk in #1846
- Implement billinear filtering of textures by @emilk in #1850
- MVP Support for inline-rendering of Rerun within jupyter notebooks by @jleibs in #1798
- Disable wheel tests for x86_64-apple-darwin by @jleibs in #1853
- Fix typos in notebook readme by @jleibs in #1852
- Fix the python build when running without web_viewer enabled by @jleibs in #1856
- Error instead of expect inside msg_encode. by @jleibs in #1857
- Restore: New API to reset_time (#1826) by @jleibs in #1854
- Revert "Implement billinear filtering of textures (#1850)" by @jleibs in #1859
New Contributors
- @Sjouks made their first contribution in #1609
- @vsuryamurthy made their first contribution in #1711
- @BenjaminDev made their first contribution in #1749
- @pablovela5620 made their first contribution in #1538
- @h3mosphere made their first contribution in #1773
- @urholaukkarinen made their first contribution in #1797
Full Changelog: v0.2.0...prerelease
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...