Migrating from 0.23 to 0.24
Changed timeline navigation keyboard shortcut changed-timeline-navigation-keyboard-shortcut
To accommodate the new tree keyboard navigation feature, the timeline navigation is changed as follows:
- go to previous/next frame is ctrl-left/right (cmd on Mac) arrow (previously no modifier was needed)
- go to beginning/end of timeline is alt-left/right (previously the ctrl/cmd modifier was used)
Previously deprecated, now removed previously-deprecated-now-removed
Scalar
, SeriesLine
, SeriesPoint
archetypes scalar-seriesline-seriespoint-archetypes
Have been removed in favor of Scalars
, SeriesLines
, SeriesPoints
respectively.
Combining InstancePoses3D
with orientations in Boxes3D
/Ellipsoids3D
/Capsules3D
behaves differently in some cases now combining-instanceposes3d-with-orientations-in-boxes3dellipsoids3dcapsules3d-behaves-differently-in-some-cases-now
Previously, Boxes3D
/Ellipsoids3D
/Capsules3D
all mirrored some transform components from InstancePoses3D
.
However, now that all components have distinct archetype-tags from the transform components in InstancePoses3D
, form a separate transform
that is applied prior to InstancePoses3D
.
I.e. transform resolve order was previously:
final = `Transform3D` * … * `Transform3D` * ([Box3D or `InstancePoses3D].quaternion * [Box3D or `InstancePoses3D].rotation_axis_angle * [Box3D or `InstancePoses3D].centers/translations)
And is now
final = `Transform3D` * … * `Transform3D` * InstancePoses3D * (Box3D.quaternion * Box3D.rotation_axis_angle * Box3D.centers)
As a concrete example, if you previously scaled boxes/ellipsoids/capsules using InstancePoses3D
they would be scaled relative to the individual box centers.
Now instead they are scaled relative to the entity's center.
Tagged components tagged-components
re_types_core
- The obvious
ComponentDescriptor
changes.
re_types
- Indicator components now become indicator fields. This is only temporary until we get rid of indicators.
re_log_types
- Removed auto-filling of
rerun.components.
toComponentName
in path parsing.
re_sorbet
- Lookup
ColumnDescriptor
byArchetypeFieldName
instead ofComponentName
. - Changed
ComponentColumnSelector
. - Changed
ComponentColumnDescriptor::column_name
to use fully-qualified column names.
rerun_py
- Dataframe queries now use the new string representation everywhere. It's not allowed to pass in components anymore.
resolve_component_column_selector
now returns anOption
.
With tagged components, our data model becomes much more flexible. We can now have multiple components of the same type living on the same archetype, so we also need a new way to identify columns in a recording. For this we introduce the following new string-based representation:
<entity_path>:[<archetype_name>]:<archetype_field_name>
Note that the archetype_name
section is optional, because components can also be logged as plain fields.
Blueprints blueprints
We have updated our logic so that the component
field of blueprint.datatypes.ComponentColumnSelector
follows the same schema.
LeRobot dataloader
- Fixed an issue where the LeRobot dataloader logged untagged
Name
components for robot observations and actions,.rrd
files created before0.24
may include these untagged entries. To fix this, load the dataset in0.24.0
and resave your episodes to.rrd
(0.24.0
now supports saving all selected recordings).