From d9db7b381495920ea1b5ab497634b954cbca075b Mon Sep 17 00:00:00 2001 From: Andreas Reich Date: Thu, 19 Dec 2024 15:26:34 +0100 Subject: [PATCH 1/3] Remove deprecated `DisconnectedSpace` archetype & component --- Cargo.lock | 10 - .../re_types/definitions/rerun/archetypes.fbs | 1 - .../rerun/archetypes/disconnected_space.fbs | 18 -- .../re_types/definitions/rerun/components.fbs | 1 - .../rerun/components/disconnected_space.fbs | 24 -- .../re_types/src/archetypes/.gitattributes | 1 - .../src/archetypes/disconnected_space.rs | 232 ------------------ crates/store/re_types/src/archetypes/mod.rs | 4 - .../re_types/src/components/.gitattributes | 1 - .../src/components/disconnected_space.rs | 118 --------- .../src/components/disconnected_space_ext.rs | 10 - crates/store/re_types/src/components/mod.rs | 5 - crates/store/re_types/src/reflection/mod.rs | 23 -- .../tests/types/disconnected_space.rs | 61 ----- crates/store/re_types/tests/types/main.rs | 1 - .../src/contexts/transform_context.rs | 28 +-- .../re_view_spatial/src/spatial_topology.rs | 90 +------ .../src/transform_component_tracker.rs | 13 - crates/viewer/re_view_spatial/src/view_2d.rs | 18 +- crates/viewer/re_view_spatial/src/view_3d.rs | 4 +- .../content/concepts/spaces-and-transforms.md | 1 - .../reference/migration/migration-0-22.md | 18 ++ docs/content/reference/types/archetypes.md | 1 - .../reference/types/archetypes/.gitattributes | 1 - .../types/archetypes/disconnected_space.md | 43 ---- docs/content/reference/types/components.md | 1 - .../reference/types/components/.gitattributes | 1 - .../types/components/disconnected_space.md | 33 --- .../content/reference/types/datatypes/bool.md | 1 - .../reference/types/views/spatial2d_view.md | 1 - .../reference/types/views/spatial3d_view.md | 1 - docs/snippets/INDEX.md | 3 - .../all/archetypes/disconnected_space.cpp | 19 -- .../all/archetypes/disconnected_space.py | 13 - .../all/archetypes/disconnected_space.rs | 28 --- rerun_cpp/src/rerun/archetypes.hpp | 1 - rerun_cpp/src/rerun/archetypes/.gitattributes | 2 - .../rerun/archetypes/disconnected_space.cpp | 45 ---- .../rerun/archetypes/disconnected_space.hpp | 91 ------- rerun_cpp/src/rerun/components.hpp | 1 - rerun_cpp/src/rerun/components/.gitattributes | 1 - .../rerun/components/disconnected_space.hpp | 92 ------- .../tests/archetypes/disconnected_space.cpp | 19 -- rerun_py/docs/gen_common_index.py | 1 - rerun_py/rerun_sdk/rerun/__init__.py | 1 - .../rerun_sdk/rerun/archetypes/.gitattributes | 1 - .../rerun_sdk/rerun/archetypes/__init__.py | 2 - .../rerun/archetypes/disconnected_space.py | 83 ------- .../archetypes/disconnected_space_ext.py | 28 --- .../rerun_sdk/rerun/components/.gitattributes | 1 - .../rerun_sdk/rerun/components/__init__.py | 3 - .../rerun/components/disconnected_space.py | 44 ---- .../components/disconnected_space_ext.py | 24 -- .../roundtrips/disconnected_space/main.cpp | 14 -- .../check_all_components_ui.py | 13 +- .../roundtrips/disconnected_space/main.py | 25 -- tests/python/test_api/test_api.py | 5 +- .../roundtrips/disconnected_space/Cargo.toml | 17 -- .../roundtrips/disconnected_space/src/main.rs | 31 --- 59 files changed, 49 insertions(+), 1324 deletions(-) delete mode 100644 crates/store/re_types/definitions/rerun/archetypes/disconnected_space.fbs delete mode 100644 crates/store/re_types/definitions/rerun/components/disconnected_space.fbs delete mode 100644 crates/store/re_types/src/archetypes/disconnected_space.rs delete mode 100644 crates/store/re_types/src/components/disconnected_space.rs delete mode 100644 crates/store/re_types/src/components/disconnected_space_ext.rs delete mode 100644 crates/store/re_types/tests/types/disconnected_space.rs create mode 100644 docs/content/reference/migration/migration-0-22.md delete mode 100644 docs/content/reference/types/archetypes/disconnected_space.md delete mode 100644 docs/content/reference/types/components/disconnected_space.md delete mode 100644 docs/snippets/all/archetypes/disconnected_space.cpp delete mode 100644 docs/snippets/all/archetypes/disconnected_space.py delete mode 100644 docs/snippets/all/archetypes/disconnected_space.rs delete mode 100644 rerun_cpp/src/rerun/archetypes/disconnected_space.cpp delete mode 100644 rerun_cpp/src/rerun/archetypes/disconnected_space.hpp delete mode 100644 rerun_cpp/src/rerun/components/disconnected_space.hpp delete mode 100644 rerun_cpp/tests/archetypes/disconnected_space.cpp delete mode 100644 rerun_py/rerun_sdk/rerun/archetypes/disconnected_space.py delete mode 100644 rerun_py/rerun_sdk/rerun/archetypes/disconnected_space_ext.py delete mode 100644 rerun_py/rerun_sdk/rerun/components/disconnected_space.py delete mode 100644 rerun_py/rerun_sdk/rerun/components/disconnected_space_ext.py delete mode 100644 tests/cpp/roundtrips/disconnected_space/main.cpp delete mode 100644 tests/python/roundtrips/disconnected_space/main.py delete mode 100644 tests/rust/roundtrips/disconnected_space/Cargo.toml delete mode 100644 tests/rust/roundtrips/disconnected_space/src/main.rs diff --git a/Cargo.lock b/Cargo.lock index cc5951d3b51d..8103ce57341b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7483,16 +7483,6 @@ dependencies = [ "rerun", ] -[[package]] -name = "roundtrip_disconnected_space" -version = "0.22.0-alpha.1+dev" -dependencies = [ - "anyhow", - "clap", - "re_log", - "rerun", -] - [[package]] name = "roundtrip_image" version = "0.22.0-alpha.1+dev" diff --git a/crates/store/re_types/definitions/rerun/archetypes.fbs b/crates/store/re_types/definitions/rerun/archetypes.fbs index e2e78c427d09..4218e5391e58 100644 --- a/crates/store/re_types/definitions/rerun/archetypes.fbs +++ b/crates/store/re_types/definitions/rerun/archetypes.fbs @@ -11,7 +11,6 @@ include "./archetypes/boxes3d.fbs"; include "./archetypes/capsules3d.fbs"; include "./archetypes/clear.fbs"; include "./archetypes/depth_image.fbs"; -include "./archetypes/disconnected_space.fbs"; include "./archetypes/ellipsoids3d.fbs"; include "./archetypes/encoded_image.fbs"; include "./archetypes/geo_line_strings.fbs"; diff --git a/crates/store/re_types/definitions/rerun/archetypes/disconnected_space.fbs b/crates/store/re_types/definitions/rerun/archetypes/disconnected_space.fbs deleted file mode 100644 index 319658c4c319..000000000000 --- a/crates/store/re_types/definitions/rerun/archetypes/disconnected_space.fbs +++ /dev/null @@ -1,18 +0,0 @@ -namespace rerun.archetypes; - -/// Spatially disconnect this entity from its parent. -/// -/// Specifies that the entity path at which this is logged is spatially disconnected from its parent, -/// making it impossible to transform the entity path into its parent's space and vice versa. -/// It *only* applies to views that work with spatial transformations, i.e. 2D & 3D views. -/// This is useful for specifying that a subgraph is independent of the rest of the scene. -/// -/// \example archetypes/disconnected_space title="Disconnected space" image="https://static.rerun.io/disconnected_space/709041fc304b50c74db773b780e32294fe90c95f/1200w.png" -table DisconnectedSpace ( - "attr.rerun.deprecated": "Use [archetypes.Transform3D] with an invalid transform instead", - "attr.rust.derive": "Copy, PartialEq, Eq", - "attr.docs.view_types": "Spatial2DView, Spatial3DView" -) { - /// Whether the entity path at which this is logged is disconnected from its parent. - disconnected_space: rerun.components.DisconnectedSpace ("attr.rerun.component_required", order: 1000); -} diff --git a/crates/store/re_types/definitions/rerun/components.fbs b/crates/store/re_types/definitions/rerun/components.fbs index 4dc580313dc2..c08679c587bc 100644 --- a/crates/store/re_types/definitions/rerun/components.fbs +++ b/crates/store/re_types/definitions/rerun/components.fbs @@ -10,7 +10,6 @@ include "./components/clear_is_recursive.fbs"; include "./components/color.fbs"; include "./components/colormap.fbs"; include "./components/depth_meter.fbs"; -include "./components/disconnected_space.fbs"; include "./components/draw_order.fbs"; include "./components/entity_path.fbs"; include "./components/fill_mode.fbs"; diff --git a/crates/store/re_types/definitions/rerun/components/disconnected_space.fbs b/crates/store/re_types/definitions/rerun/components/disconnected_space.fbs deleted file mode 100644 index 900ed7a3b4b7..000000000000 --- a/crates/store/re_types/definitions/rerun/components/disconnected_space.fbs +++ /dev/null @@ -1,24 +0,0 @@ - -namespace rerun.components; - -// --- - -/// Spatially disconnect this entity from its parent. -/// -/// Specifies that the entity path at which this is logged is spatially disconnected from its parent, -/// making it impossible to transform the entity path into its parent's space and vice versa. -/// It *only* applies to views that work with spatial transformations, i.e. 2D & 3D views. -/// This is useful for specifying that a subgraph is independent of the rest of the scene. -struct DisconnectedSpace ( - "attr.rerun.deprecated": "Use [archetypes.Transform3D] with an invalid transform instead.", - "attr.python.aliases": "bool", - "attr.python.array_aliases": "bool, npt.NDArray[np.bool_]", - "attr.rust.derive": "Copy, PartialEq, Eq" -) { - /// Whether the entity path at which this is logged is disconnected from its parent. - /// - /// Set to true to disconnect the entity from its parent. - /// Set to false to disable the effects of this component - /// TODO(#7121): Once a space is disconnected, it can't be re-connected again. - is_disconnected: rerun.datatypes.Bool (order: 100); -} diff --git a/crates/store/re_types/src/archetypes/.gitattributes b/crates/store/re_types/src/archetypes/.gitattributes index 47e1b0870bce..bfc149358a06 100644 --- a/crates/store/re_types/src/archetypes/.gitattributes +++ b/crates/store/re_types/src/archetypes/.gitattributes @@ -11,7 +11,6 @@ boxes2d.rs linguist-generated=true boxes3d.rs linguist-generated=true capsules3d.rs linguist-generated=true depth_image.rs linguist-generated=true -disconnected_space.rs linguist-generated=true ellipsoids3d.rs linguist-generated=true encoded_image.rs linguist-generated=true geo_line_strings.rs linguist-generated=true diff --git a/crates/store/re_types/src/archetypes/disconnected_space.rs b/crates/store/re_types/src/archetypes/disconnected_space.rs deleted file mode 100644 index 7fd70ca34985..000000000000 --- a/crates/store/re_types/src/archetypes/disconnected_space.rs +++ /dev/null @@ -1,232 +0,0 @@ -// DO NOT EDIT! This file was auto-generated by crates/build/re_types_builder/src/codegen/rust/api.rs -// Based on "crates/store/re_types/definitions/rerun/archetypes/disconnected_space.fbs". - -#![allow(unused_imports)] -#![allow(unused_parens)] -#![allow(clippy::clone_on_copy)] -#![allow(clippy::cloned_instead_of_copied)] -#![allow(clippy::map_flatten)] -#![allow(clippy::needless_question_mark)] -#![allow(clippy::new_without_default)] -#![allow(clippy::redundant_closure)] -#![allow(clippy::too_many_arguments)] -#![allow(clippy::too_many_lines)] -#![allow(deprecated)] - -use ::re_types_core::external::arrow2; -use ::re_types_core::SerializationResult; -use ::re_types_core::{ComponentBatch, ComponentBatchCowWithDescriptor}; -use ::re_types_core::{ComponentDescriptor, ComponentName}; -use ::re_types_core::{DeserializationError, DeserializationResult}; - -/// **Archetype**: Spatially disconnect this entity from its parent. -/// -/// Specifies that the entity path at which this is logged is spatially disconnected from its parent, -/// making it impossible to transform the entity path into its parent's space and vice versa. -/// It *only* applies to views that work with spatial transformations, i.e. 2D & 3D views. -/// This is useful for specifying that a subgraph is independent of the rest of the scene. -/// -/// ## Example -/// -/// ### Disconnected space -/// ```ignore -/// // `DisconnectedSpace` is deprecated and will be removed in the future. -/// // Use an invalid transform (e.g. zeroed out 3x3 matrix) instead. -/// #![allow(deprecated)] -/// -/// fn main() -> Result<(), Box> { -/// let rec = rerun::RecordingStreamBuilder::new("rerun_example_disconnected_space").spawn()?; -/// -/// // These two points can be projected into the same space.. -/// rec.log( -/// "world/room1/point", -/// &rerun::Points3D::new([(0.0, 0.0, 0.0)]), -/// )?; -/// rec.log( -/// "world/room2/point", -/// &rerun::Points3D::new([(1.0, 1.0, 1.0)]), -/// )?; -/// -/// // ..but this one lives in a completely separate space! -/// rec.log("world/wormhole", &rerun::DisconnectedSpace::new(true))?; -/// rec.log( -/// "world/wormhole/point", -/// &rerun::Points3D::new([(2.0, 2.0, 2.0)]), -/// )?; -/// -/// Ok(()) -/// } -/// ``` -///
-/// -/// -/// -/// -/// -/// -/// -///
-#[derive(Clone, Debug, Copy, PartialEq, Eq)] -#[deprecated(note = "Use [archetypes.Transform3D] with an invalid transform instead")] -pub struct DisconnectedSpace { - /// Whether the entity path at which this is logged is disconnected from its parent. - pub disconnected_space: crate::components::DisconnectedSpace, -} - -static REQUIRED_COMPONENTS: once_cell::sync::Lazy<[ComponentDescriptor; 1usize]> = - once_cell::sync::Lazy::new(|| { - [ComponentDescriptor { - archetype_name: Some("rerun.archetypes.DisconnectedSpace".into()), - component_name: "rerun.components.DisconnectedSpace".into(), - archetype_field_name: Some("disconnected_space".into()), - }] - }); - -static RECOMMENDED_COMPONENTS: once_cell::sync::Lazy<[ComponentDescriptor; 1usize]> = - once_cell::sync::Lazy::new(|| { - [ComponentDescriptor { - archetype_name: Some("rerun.archetypes.DisconnectedSpace".into()), - component_name: "rerun.components.DisconnectedSpaceIndicator".into(), - archetype_field_name: None, - }] - }); - -static OPTIONAL_COMPONENTS: once_cell::sync::Lazy<[ComponentDescriptor; 0usize]> = - once_cell::sync::Lazy::new(|| []); - -static ALL_COMPONENTS: once_cell::sync::Lazy<[ComponentDescriptor; 2usize]> = - once_cell::sync::Lazy::new(|| { - [ - ComponentDescriptor { - archetype_name: Some("rerun.archetypes.DisconnectedSpace".into()), - component_name: "rerun.components.DisconnectedSpace".into(), - archetype_field_name: Some("disconnected_space".into()), - }, - ComponentDescriptor { - archetype_name: Some("rerun.archetypes.DisconnectedSpace".into()), - component_name: "rerun.components.DisconnectedSpaceIndicator".into(), - archetype_field_name: None, - }, - ] - }); - -impl DisconnectedSpace { - /// The total number of components in the archetype: 1 required, 1 recommended, 0 optional - pub const NUM_COMPONENTS: usize = 2usize; -} - -/// Indicator component for the [`DisconnectedSpace`] [`::re_types_core::Archetype`] -pub type DisconnectedSpaceIndicator = ::re_types_core::GenericIndicatorComponent; - -impl ::re_types_core::Archetype for DisconnectedSpace { - type Indicator = DisconnectedSpaceIndicator; - - #[inline] - fn name() -> ::re_types_core::ArchetypeName { - "rerun.archetypes.DisconnectedSpace".into() - } - - #[inline] - fn display_name() -> &'static str { - "Disconnected space" - } - - #[inline] - fn indicator() -> ComponentBatchCowWithDescriptor<'static> { - static INDICATOR: DisconnectedSpaceIndicator = DisconnectedSpaceIndicator::DEFAULT; - ComponentBatchCowWithDescriptor::new(&INDICATOR as &dyn ::re_types_core::ComponentBatch) - } - - #[inline] - fn required_components() -> ::std::borrow::Cow<'static, [ComponentDescriptor]> { - REQUIRED_COMPONENTS.as_slice().into() - } - - #[inline] - fn recommended_components() -> ::std::borrow::Cow<'static, [ComponentDescriptor]> { - RECOMMENDED_COMPONENTS.as_slice().into() - } - - #[inline] - fn optional_components() -> ::std::borrow::Cow<'static, [ComponentDescriptor]> { - OPTIONAL_COMPONENTS.as_slice().into() - } - - #[inline] - fn all_components() -> ::std::borrow::Cow<'static, [ComponentDescriptor]> { - ALL_COMPONENTS.as_slice().into() - } - - #[inline] - fn from_arrow2_components( - arrow_data: impl IntoIterator)>, - ) -> DeserializationResult { - re_tracing::profile_function!(); - use ::re_types_core::{Loggable as _, ResultExt as _}; - let arrays_by_name: ::std::collections::HashMap<_, _> = arrow_data - .into_iter() - .map(|(name, array)| (name.full_name(), array)) - .collect(); - let disconnected_space = { - let array = arrays_by_name - .get("rerun.components.DisconnectedSpace") - .ok_or_else(DeserializationError::missing_data) - .with_context("rerun.archetypes.DisconnectedSpace#disconnected_space")?; - ::from_arrow2_opt(&**array) - .with_context("rerun.archetypes.DisconnectedSpace#disconnected_space")? - .into_iter() - .next() - .flatten() - .ok_or_else(DeserializationError::missing_data) - .with_context("rerun.archetypes.DisconnectedSpace#disconnected_space")? - }; - Ok(Self { disconnected_space }) - } -} - -impl ::re_types_core::AsComponents for DisconnectedSpace { - fn as_component_batches(&self) -> Vec> { - re_tracing::profile_function!(); - use ::re_types_core::Archetype as _; - [ - Some(Self::indicator()), - (Some(&self.disconnected_space as &dyn ComponentBatch)).map(|batch| { - ::re_types_core::ComponentBatchCowWithDescriptor { - batch: batch.into(), - descriptor_override: Some(ComponentDescriptor { - archetype_name: Some("rerun.archetypes.DisconnectedSpace".into()), - archetype_field_name: Some(("disconnected_space").into()), - component_name: ("rerun.components.DisconnectedSpace").into(), - }), - } - }), - ] - .into_iter() - .flatten() - .collect() - } -} - -impl ::re_types_core::ArchetypeReflectionMarker for DisconnectedSpace {} - -impl DisconnectedSpace { - /// Create a new `DisconnectedSpace`. - #[inline] - pub fn new(disconnected_space: impl Into) -> Self { - Self { - disconnected_space: disconnected_space.into(), - } - } -} - -impl ::re_byte_size::SizeBytes for DisconnectedSpace { - #[inline] - fn heap_size_bytes(&self) -> u64 { - self.disconnected_space.heap_size_bytes() - } - - #[inline] - fn is_pod() -> bool { - ::is_pod() - } -} diff --git a/crates/store/re_types/src/archetypes/mod.rs b/crates/store/re_types/src/archetypes/mod.rs index 2915cf90a60a..a7cc1e85a402 100644 --- a/crates/store/re_types/src/archetypes/mod.rs +++ b/crates/store/re_types/src/archetypes/mod.rs @@ -18,7 +18,6 @@ mod capsules3d; mod capsules3d_ext; mod depth_image; mod depth_image_ext; -mod disconnected_space; mod ellipsoids3d; mod ellipsoids3d_ext; mod encoded_image; @@ -92,6 +91,3 @@ pub use self::text_log::TextLog; pub use self::transform3d::Transform3D; pub use self::video_frame_reference::VideoFrameReference; pub use self::view_coordinates::ViewCoordinates; - -#[allow(deprecated)] -pub use self::disconnected_space::DisconnectedSpace; diff --git a/crates/store/re_types/src/components/.gitattributes b/crates/store/re_types/src/components/.gitattributes index 3cf54dbb31cb..f6c27200d3ff 100644 --- a/crates/store/re_types/src/components/.gitattributes +++ b/crates/store/re_types/src/components/.gitattributes @@ -10,7 +10,6 @@ class_id.rs linguist-generated=true color.rs linguist-generated=true colormap.rs linguist-generated=true depth_meter.rs linguist-generated=true -disconnected_space.rs linguist-generated=true draw_order.rs linguist-generated=true entity_path.rs linguist-generated=true fill_mode.rs linguist-generated=true diff --git a/crates/store/re_types/src/components/disconnected_space.rs b/crates/store/re_types/src/components/disconnected_space.rs deleted file mode 100644 index 3a688c9c5a67..000000000000 --- a/crates/store/re_types/src/components/disconnected_space.rs +++ /dev/null @@ -1,118 +0,0 @@ -// DO NOT EDIT! This file was auto-generated by crates/build/re_types_builder/src/codegen/rust/api.rs -// Based on "crates/store/re_types/definitions/rerun/components/disconnected_space.fbs". - -#![allow(unused_imports)] -#![allow(unused_parens)] -#![allow(clippy::clone_on_copy)] -#![allow(clippy::cloned_instead_of_copied)] -#![allow(clippy::map_flatten)] -#![allow(clippy::needless_question_mark)] -#![allow(clippy::new_without_default)] -#![allow(clippy::redundant_closure)] -#![allow(clippy::too_many_arguments)] -#![allow(clippy::too_many_lines)] -#![allow(deprecated)] - -use ::re_types_core::external::arrow2; -use ::re_types_core::SerializationResult; -use ::re_types_core::{ComponentBatch, ComponentBatchCowWithDescriptor}; -use ::re_types_core::{ComponentDescriptor, ComponentName}; -use ::re_types_core::{DeserializationError, DeserializationResult}; - -/// **Component**: Spatially disconnect this entity from its parent. -/// -/// Specifies that the entity path at which this is logged is spatially disconnected from its parent, -/// making it impossible to transform the entity path into its parent's space and vice versa. -/// It *only* applies to views that work with spatial transformations, i.e. 2D & 3D views. -/// This is useful for specifying that a subgraph is independent of the rest of the scene. -#[derive(Clone, Debug, Copy, PartialEq, Eq)] -#[deprecated(note = "Use [archetypes.Transform3D] with an invalid transform instead.")] -pub struct DisconnectedSpace( - /// Whether the entity path at which this is logged is disconnected from its parent. - /// - /// Set to true to disconnect the entity from its parent. - /// Set to false to disable the effects of this component - /// TODO(#7121): Once a space is disconnected, it can't be re-connected again. - pub crate::datatypes::Bool, -); - -impl ::re_types_core::Component for DisconnectedSpace { - #[inline] - fn descriptor() -> ComponentDescriptor { - ComponentDescriptor::new("rerun.components.DisconnectedSpace") - } -} - -::re_types_core::macros::impl_into_cow!(DisconnectedSpace); - -impl ::re_types_core::Loggable for DisconnectedSpace { - #[inline] - fn arrow_datatype() -> arrow::datatypes::DataType { - crate::datatypes::Bool::arrow_datatype() - } - - fn to_arrow_opt<'a>( - data: impl IntoIterator>>>, - ) -> SerializationResult - where - Self: Clone + 'a, - { - crate::datatypes::Bool::to_arrow_opt(data.into_iter().map(|datum| { - datum.map(|datum| match datum.into() { - ::std::borrow::Cow::Borrowed(datum) => ::std::borrow::Cow::Borrowed(&datum.0), - ::std::borrow::Cow::Owned(datum) => ::std::borrow::Cow::Owned(datum.0), - }) - })) - } - - fn from_arrow2_opt( - arrow_data: &dyn arrow2::array::Array, - ) -> DeserializationResult>> - where - Self: Sized, - { - crate::datatypes::Bool::from_arrow2_opt(arrow_data) - .map(|v| v.into_iter().map(|v| v.map(Self)).collect()) - } -} - -impl> From for DisconnectedSpace { - fn from(v: T) -> Self { - Self(v.into()) - } -} - -impl std::borrow::Borrow for DisconnectedSpace { - #[inline] - fn borrow(&self) -> &crate::datatypes::Bool { - &self.0 - } -} - -impl std::ops::Deref for DisconnectedSpace { - type Target = crate::datatypes::Bool; - - #[inline] - fn deref(&self) -> &crate::datatypes::Bool { - &self.0 - } -} - -impl std::ops::DerefMut for DisconnectedSpace { - #[inline] - fn deref_mut(&mut self) -> &mut crate::datatypes::Bool { - &mut self.0 - } -} - -impl ::re_byte_size::SizeBytes for DisconnectedSpace { - #[inline] - fn heap_size_bytes(&self) -> u64 { - self.0.heap_size_bytes() - } - - #[inline] - fn is_pod() -> bool { - ::is_pod() - } -} diff --git a/crates/store/re_types/src/components/disconnected_space_ext.rs b/crates/store/re_types/src/components/disconnected_space_ext.rs deleted file mode 100644 index 189b5015d0a4..000000000000 --- a/crates/store/re_types/src/components/disconnected_space_ext.rs +++ /dev/null @@ -1,10 +0,0 @@ -#![allow(deprecated)] - -use super::DisconnectedSpace; - -impl Default for DisconnectedSpace { - #[inline] - fn default() -> Self { - Self(true.into()) - } -} diff --git a/crates/store/re_types/src/components/mod.rs b/crates/store/re_types/src/components/mod.rs index 8e327e644274..d1a4df006de3 100644 --- a/crates/store/re_types/src/components/mod.rs +++ b/crates/store/re_types/src/components/mod.rs @@ -15,8 +15,6 @@ mod colormap; mod colormap_ext; mod depth_meter; mod depth_meter_ext; -mod disconnected_space; -mod disconnected_space_ext; mod draw_order; mod draw_order_ext; mod entity_path; @@ -198,6 +196,3 @@ pub use self::vector2d::Vector2D; pub use self::vector3d::Vector3D; pub use self::video_timestamp::VideoTimestamp; pub use self::view_coordinates::ViewCoordinates; - -#[allow(deprecated)] -pub use self::disconnected_space::DisconnectedSpace; diff --git a/crates/store/re_types/src/reflection/mod.rs b/crates/store/re_types/src/reflection/mod.rs index 7318042dcd70..31cc885c6114 100644 --- a/crates/store/re_types/src/reflection/mod.rs +++ b/crates/store/re_types/src/reflection/mod.rs @@ -429,14 +429,6 @@ fn generate_component_reflection() -> Result::name(), - ComponentReflection { - docstring_md: "Spatially disconnect this entity from its parent.\n\nSpecifies that the entity path at which this is logged is spatially disconnected from its parent,\nmaking it impossible to transform the entity path into its parent's space and vice versa.\nIt *only* applies to views that work with spatial transformations, i.e. 2D & 3D views.\nThis is useful for specifying that a subgraph is independent of the rest of the scene.", - custom_placeholder: Some(DisconnectedSpace::default().to_arrow()?), - datatype: DisconnectedSpace::arrow2_datatype(), - }, - ), ( ::name(), ComponentReflection { @@ -1263,21 +1255,6 @@ fn generate_archetype_reflection() -> ArchetypeReflectionMap { ], }, ), - ( - ArchetypeName::new("rerun.archetypes.DisconnectedSpace"), - ArchetypeReflection { - display_name: "Disconnected space", - scope: None, - view_types: &["Spatial2DView", "Spatial3DView"], - fields: vec![ - ArchetypeFieldReflection { name : "disconnected_space", display_name - : "Disconnected space", component_name : - "rerun.components.DisconnectedSpace".into(), docstring_md : - "Whether the entity path at which this is logged is disconnected from its parent.", - is_required : true, }, - ], - }, - ), ( ArchetypeName::new("rerun.archetypes.Ellipsoids3D"), ArchetypeReflection { diff --git a/crates/store/re_types/tests/types/disconnected_space.rs b/crates/store/re_types/tests/types/disconnected_space.rs deleted file mode 100644 index 94934f4f1b68..000000000000 --- a/crates/store/re_types/tests/types/disconnected_space.rs +++ /dev/null @@ -1,61 +0,0 @@ -#![allow(deprecated)] - -use std::collections::HashMap; - -use re_types::{archetypes::DisconnectedSpace, Archetype as _, AsComponents as _}; - -use crate::util; - -#[test] -fn roundtrip() { - let all_expected = [ - DisconnectedSpace { - disconnected_space: true.into(), - }, // - DisconnectedSpace { - disconnected_space: false.into(), - }, - ]; - - let all_arch = [ - DisconnectedSpace::new(true), // - DisconnectedSpace::new(false), // - ]; - - let expected_extensions: HashMap<_, _> = [ - ( - "disconnected_space", - vec!["rerun.components.DisconnectedSpace"], - ), // - ( - "disconnected_space", - vec!["rerun.components.DisconnectedSpace"], - ), // - ] - .into(); - - for (expected, arch) in all_expected.into_iter().zip(all_arch) { - similar_asserts::assert_eq!(expected, arch); - - eprintln!("arch = {arch:#?}"); - let serialized = arch.to_arrow2().unwrap(); - for (field, array) in &serialized { - // NOTE: Keep those around please, very useful when debugging. - // eprintln!("field = {field:#?}"); - // eprintln!("array = {array:#?}"); - eprintln!("{} = {array:#?}", field.name); - - // TODO(cmc): Re-enable extensions and these assertions once `arrow2-convert` - // has been fully replaced. - if false { - util::assert_extensions( - &**array, - expected_extensions[field.name.as_str()].as_slice(), - ); - } - } - - let deserialized = DisconnectedSpace::from_arrow2(serialized).unwrap(); - similar_asserts::assert_eq!(expected, deserialized); - } -} diff --git a/crates/store/re_types/tests/types/main.rs b/crates/store/re_types/tests/types/main.rs index bc40b1618a5e..72da61cedb86 100644 --- a/crates/store/re_types/tests/types/main.rs +++ b/crates/store/re_types/tests/types/main.rs @@ -13,7 +13,6 @@ mod box2d; mod box3d; mod clear; mod depth_image; -mod disconnected_space; mod line_strips2d; mod line_strips3d; mod mesh3d; diff --git a/crates/viewer/re_view_spatial/src/contexts/transform_context.rs b/crates/viewer/re_view_spatial/src/contexts/transform_context.rs index b533536755a7..4e7cbc27eb5c 100644 --- a/crates/viewer/re_view_spatial/src/contexts/transform_context.rs +++ b/crates/viewer/re_view_spatial/src/contexts/transform_context.rs @@ -6,7 +6,7 @@ use re_entity_db::{EntityDb, EntityPath, EntityTree}; use re_types::{ archetypes::{InstancePoses3D, Pinhole, Transform3D}, components::{ - self, ImagePlaneDistance, PinholeProjection, PoseRotationAxisAngle, PoseRotationQuat, + ImagePlaneDistance, PinholeProjection, PoseRotationAxisAngle, PoseRotationQuat, PoseScale3D, PoseTransformMat3x3, PoseTranslation3D, RotationAxisAngle, RotationQuat, Scale3D, TransformMat3x3, TransformRelation, Translation3D, ViewCoordinates, }, @@ -111,9 +111,6 @@ impl TransformInfo { enum UnreachableTransformReason { /// More than one pinhole camera between this and the reference space. NestedPinholeCameras, - - /// Unknown transform between this and the reference space. - DisconnectedSpace, } /// Provides transforms from an entity to a chosen reference space for all elements in the scene @@ -169,8 +166,6 @@ impl ViewContextSystem for TransformContext { .map(|descr| descr.component_name) .collect(), std::iter::once(PinholeProjection::name()).collect(), - #[allow(deprecated)] // `DisconnectedSpace` is on the way out. - std::iter::once(components::DisconnectedSpace::name()).collect(), ] } @@ -821,24 +816,5 @@ fn transforms_at( } } - // If there is any other transform, we ignore `DisconnectedSpace`. - let no_other_transforms = transforms_at_entity - .parent_from_entity_tree_transform - .is_none() - && transforms_at_entity.entity_from_instance_poses.is_empty() - && transforms_at_entity - .instance_from_pinhole_image_plane - .is_none(); - - #[allow(deprecated)] // `DisconnectedSpace` is on the way out. - if no_other_transforms - && potential_transform_components.disconnected_space - && entity_db - .latest_at_component::(entity_path, query) - .map_or(false, |(_index, res)| **res) - { - Err(UnreachableTransformReason::DisconnectedSpace) - } else { - Ok(transforms_at_entity) - } + Ok(transforms_at_entity) } diff --git a/crates/viewer/re_view_spatial/src/spatial_topology.rs b/crates/viewer/re_view_spatial/src/spatial_topology.rs index e33c8ce6ae33..e279a025c9d1 100644 --- a/crates/viewer/re_view_spatial/src/spatial_topology.rs +++ b/crates/viewer/re_view_spatial/src/spatial_topology.rs @@ -1,6 +1,3 @@ -// `DisconnectedSpace` is still around, but to be removed. -#![allow(deprecated)] - use once_cell::sync::OnceCell; use ahash::HashMap; @@ -11,23 +8,14 @@ use re_chunk_store::{ }; use re_log_types::{EntityPath, EntityPathHash, StoreId}; use re_types::{ - components::{DisconnectedSpace, PinholeProjection, ViewCoordinates}, + components::{PinholeProjection, ViewCoordinates}, Component, }; bitflags::bitflags! { #[derive(PartialEq, Eq, Debug, Copy, Clone)] pub struct SubSpaceConnectionFlags: u8 { - const Disconnected = 0b0000001; - const Pinhole = 0b0000010; - } -} - -impl SubSpaceConnectionFlags { - /// Pinhole flag but not disconnected - #[inline] - pub fn is_connected_pinhole(&self) -> bool { - self.contains(Self::Pinhole) && !self.contains(Self::Disconnected) + const Pinhole = 0b0000001; } } @@ -39,9 +27,9 @@ bitflags::bitflags! { } } -/// Spatial subspace within we typically expect a homogeneous dimensionality without any projections & disconnects. +/// Spatial subspace within we typically expect a homogeneous dimensionality without any projections. /// -/// Subspaces are separated by projections or explicit disconnects. +/// Subspaces are separated by projections. /// /// A subspace may contain internal transforms, but any such transforms must be invertible such /// that all data can be represented regardless of choice of origin. @@ -69,8 +57,7 @@ pub struct SubSpace { /// Origin paths of child spaces. /// - /// This implies that there is a either an explicit disconnect or - /// a projection at the origin of the child space. + /// This implies that there is a projection at the origin of the child space. /// How it is connected is implied by `connection_to_parent` in the child space. /// /// Any path in `child_spaces` is *not* contained in `entities`. @@ -283,9 +270,7 @@ impl SpatialTopology { let mut new_heuristic_hints = HeuristicHints::empty(); for added_component in added_components { - if added_component == DisconnectedSpace::name() { - new_subspace_connections.insert(SubSpaceConnectionFlags::Disconnected); - } else if added_component == PinholeProjection::name() { + if added_component == PinholeProjection::name() { new_subspace_connections.insert(SubSpaceConnectionFlags::Pinhole); } else if added_component == ViewCoordinates::name() { new_heuristic_hints.insert(HeuristicHints::ViewCoordinates3d); @@ -434,7 +419,7 @@ impl SpatialTopology { mod tests { use re_log_types::EntityPath; use re_types::{ - components::{DisconnectedSpace, PinholeProjection, ViewCoordinates}, + components::{PinholeProjection, ViewCoordinates}, Component as _, ComponentName, }; @@ -478,16 +463,10 @@ mod tests { ); // Add splitting entities to the root space - this should not cause any splits. + #[allow(clippy::single_element_loop)] for (name, flags) in [ (PinholeProjection::name(), SubSpaceConnectionFlags::Pinhole), - ( - DisconnectedSpace::name(), - SubSpaceConnectionFlags::Pinhole | SubSpaceConnectionFlags::Disconnected, - ), - ( - ViewCoordinates::name(), - SubSpaceConnectionFlags::Pinhole | SubSpaceConnectionFlags::Disconnected, - ), + // Add future ways of splitting here (in the past `DisconnectedSpace` was used here). ] { add_diff(&mut topo, "", &[name]); let subspace = topo.subspace_for_entity(&"robo".into()); @@ -589,31 +568,6 @@ mod tests { ); } - // Disconnect the left camera. - add_diff( - &mut topo, - "robo/eyes/left/cam", - &[DisconnectedSpace::name()], - ); - { - let root = topo.subspace_for_entity(&"robo".into()); - let left_camera = topo.subspace_for_entity(&"robo/eyes/left/cam".into()); - let right_camera = topo.subspace_for_entity(&"robo/eyes/right/cam".into()); - - assert_eq!(left_camera.origin, "robo/eyes/left/cam".into()); - assert_eq!(left_camera.parent_space, root.origin.hash()); - assert_eq!( - left_camera.connection_to_parent, - SubSpaceConnectionFlags::Disconnected | SubSpaceConnectionFlags::Pinhole - ); - assert_eq!(right_camera.parent_space, root.origin.hash()); - assert_eq!( - right_camera.connection_to_parent, - SubSpaceConnectionFlags::Pinhole - ); - assert_eq!(root.connection_to_parent, SubSpaceConnectionFlags::empty()); - } - // Add view coordinates to robo. add_diff(&mut topo, "robo", &[ViewCoordinates::name()]); { @@ -659,32 +613,6 @@ mod tests { } } - #[test] - fn disconnected_pinhole() { - let mut topo = SpatialTopology::default(); - - add_diff(&mut topo, "stuff", &[]); - add_diff( - &mut topo, - "camera", - &[PinholeProjection::name(), DisconnectedSpace::name()], - ); - add_diff(&mut topo, "camera/image", &[]); - - check_paths_in_space(&topo, &["stuff"], "/"); - check_paths_in_space(&topo, &["camera", "camera/image"], "camera"); - - let cam = topo.subspace_for_entity(&"camera".into()); - assert_eq!( - cam.connection_to_parent, - SubSpaceConnectionFlags::Disconnected | SubSpaceConnectionFlags::Pinhole - ); - assert_eq!(cam.parent_space, EntityPath::root().hash()); - - let root = topo.subspace_for_entity(&"stuff".into()); - assert_eq!(root.connection_to_parent, SubSpaceConnectionFlags::empty()); - } - fn add_diff(topo: &mut SpatialTopology, path: &str, components: &[ComponentName]) { topo.on_store_diff(&path.into(), components.iter().copied()); } diff --git a/crates/viewer/re_view_spatial/src/transform_component_tracker.rs b/crates/viewer/re_view_spatial/src/transform_component_tracker.rs index a343d2fff3aa..7c951cafe693 100644 --- a/crates/viewer/re_view_spatial/src/transform_component_tracker.rs +++ b/crates/viewer/re_view_spatial/src/transform_component_tracker.rs @@ -21,9 +21,6 @@ pub struct PotentialTransformComponentSet { /// Whether the entity ever had a pinhole camera. pub pinhole: bool, - - /// Whether the entity ever had a disconnected space component. - pub disconnected_space: bool, } /// Keeps track of which entities have had any `Transform3D`-related data on any timeline at any @@ -136,16 +133,6 @@ impl PerStoreChunkSubscriber for TransformComponentTrackerStoreSubscriber { .or_default() .pinhole = true; } - // `DisconnectedSpace` is deprecated and will be removed in the future. - #[allow(deprecated)] - if component_name == re_types::components::DisconnectedSpace::name() - && contains_non_zero_component_array(component_name) - { - self.components_per_entity - .entry(entity_path_hash) - .or_default() - .disconnected_space = true; - } } } } diff --git a/crates/viewer/re_view_spatial/src/view_2d.rs b/crates/viewer/re_view_spatial/src/view_2d.rs index 724118f27275..1ed42c0201d7 100644 --- a/crates/viewer/re_view_spatial/src/view_2d.rs +++ b/crates/viewer/re_view_spatial/src/view_2d.rs @@ -149,14 +149,16 @@ impl ViewClass for SpatialView2D { // All space are visualizable + the parent space if it is connected via a pinhole. // For the moment we don't allow going down pinholes again. - let reprojectable_3d_entities = - if primary_space.connection_to_parent.is_connected_pinhole() { - topo.subspace_for_subspace_origin(primary_space.parent_space) - .map(|parent_space| parent_space.entities.clone()) - .unwrap_or_default() - } else { - Default::default() - }; + let reprojectable_3d_entities = if primary_space + .connection_to_parent + .contains(SubSpaceConnectionFlags::Pinhole) + { + topo.subspace_for_subspace_origin(primary_space.parent_space) + .map(|parent_space| parent_space.entities.clone()) + .unwrap_or_default() + } else { + Default::default() + }; VisualizableFilterContext2D { entities_in_main_2d_space: primary_space.entities.clone(), diff --git a/crates/viewer/re_view_spatial/src/view_3d.rs b/crates/viewer/re_view_spatial/src/view_3d.rs index 64f0ca7aaf23..2af66bb20404 100644 --- a/crates/viewer/re_view_spatial/src/view_3d.rs +++ b/crates/viewer/re_view_spatial/src/view_3d.rs @@ -304,7 +304,9 @@ impl ViewClass for SpatialView3D { topo.subspace_for_subspace_origin(child.hash()).map_or( false, |child_space| { - child_space.connection_to_parent.is_connected_pinhole() + child_space + .connection_to_parent + .contains(SubSpaceConnectionFlags::Pinhole) }, ) }) diff --git a/docs/content/concepts/spaces-and-transforms.md b/docs/content/concepts/spaces-and-transforms.md index ada84a26f699..b72c134d92e4 100644 --- a/docs/content/concepts/spaces-and-transforms.md +++ b/docs/content/concepts/spaces-and-transforms.md @@ -75,7 +75,6 @@ transforms that can be logged: [`rr.Transform3D`](https://ref.rerun.io/docs/python/stable/common/archetypes/#rerun.archetypes.Transform3D)). - Pinhole transforms define a 3D -> 2D camera projection (see [`rr.Pinhole`](https://ref.rerun.io/docs/python/stable/common/archetypes/#rerun.archetypes.Pinhole)). -- A disconnected space specifies that the data cannot be transformed (see [`rr.DisconnectedSpace`](https://ref.rerun.io/docs/python/stable/common/archetypes/#rerun.archetypes.DisconnectedSpace)). In this case it will not be possible to combine the data into a single view, and you will need to create two separate views to explore the data. In the future, Rerun will be adding support for additional types of transforms. diff --git a/docs/content/reference/migration/migration-0-22.md b/docs/content/reference/migration/migration-0-22.md new file mode 100644 index 000000000000..265b1876cadf --- /dev/null +++ b/docs/content/reference/migration/migration-0-22.md @@ -0,0 +1,18 @@ +--- +title: Migrating from 0.20 to 0.21 +order: 989 +--- + +### Previously deprecated `DisconnectedSpace` archetype/component got now removed. + +The deprecated `DisconnectedSpace` archetype and `DisconnectedSpace` component have been removed. +To achieve the same effect, you can log any of the following "invalid" transforms: +* zeroed 3x3 matrix +* zero scale +* zeroed quaternion +* zero axis on axis-angle rotation + +Previously, the `DisconnectedSpace` archetype played a double role by governing view spawn heuristics & being used as a transform placeholder. +This led to a lot of complexity and often broke or caused confusion (see https://github.com/rerun-io/rerun/issues/6817, https://github.com/rerun-io/rerun/issues/4465, https://github.com/rerun-io/rerun/issues/4221). +By now, explicit blueprints offer a better way to express which views should be spawned and what content they should query. +(you can learn more about blueprints [here](https://rerun.io/docs/getting-started/configure-the-viewer/through-code-tutorial)). diff --git a/docs/content/reference/types/archetypes.md b/docs/content/reference/types/archetypes.md index 5176d0a479a3..db614d6ed610 100644 --- a/docs/content/reference/types/archetypes.md +++ b/docs/content/reference/types/archetypes.md @@ -73,5 +73,4 @@ This page lists all built-in archetypes. * [`AnnotationContext`](archetypes/annotation_context.md): The annotation context provides additional information on how to display entities. * [`Clear`](archetypes/clear.md): Empties all the components of an entity. -* ⚠️ _deprecated_ [`DisconnectedSpace`](archetypes/disconnected_space.md): Spatially disconnect this entity from its parent. diff --git a/docs/content/reference/types/archetypes/.gitattributes b/docs/content/reference/types/archetypes/.gitattributes index 962c2cdd2d55..74a1bf759841 100644 --- a/docs/content/reference/types/archetypes/.gitattributes +++ b/docs/content/reference/types/archetypes/.gitattributes @@ -12,7 +12,6 @@ boxes3d.md linguist-generated=true capsules3d.md linguist-generated=true clear.md linguist-generated=true depth_image.md linguist-generated=true -disconnected_space.md linguist-generated=true ellipsoids3d.md linguist-generated=true encoded_image.md linguist-generated=true geo_line_strings.md linguist-generated=true diff --git a/docs/content/reference/types/archetypes/disconnected_space.md b/docs/content/reference/types/archetypes/disconnected_space.md deleted file mode 100644 index 2362dfeb4f6d..000000000000 --- a/docs/content/reference/types/archetypes/disconnected_space.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: "DisconnectedSpace (deprecated)" ---- - - -**⚠️ This type is deprecated and may be removed in future versions** -Use [archetypes.Transform3D] with an invalid transform instead - -Spatially disconnect this entity from its parent. - -Specifies that the entity path at which this is logged is spatially disconnected from its parent, -making it impossible to transform the entity path into its parent's space and vice versa. -It *only* applies to views that work with spatial transformations, i.e. 2D & 3D views. -This is useful for specifying that a subgraph is independent of the rest of the scene. - -## Components - -**Required**: [`DisconnectedSpace`](../components/disconnected_space.md) - -## Shown in -* [Spatial2DView](../views/spatial2d_view.md) -* [Spatial3DView](../views/spatial3d_view.md) -* [DataframeView](../views/dataframe_view.md) - -## API reference links - * 🌊 [C++ API docs for `DisconnectedSpace`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1DisconnectedSpace.html) - * 🐍 [Python API docs for `DisconnectedSpace`](https://ref.rerun.io/docs/python/stable/common/archetypes#rerun.archetypes.DisconnectedSpace) - * 🦀 [Rust API docs for `DisconnectedSpace`](https://docs.rs/rerun/latest/rerun/archetypes/struct.DisconnectedSpace.html) - -## Example - -### Disconnected space - -snippet: archetypes/disconnected_space - - - - - - - - - diff --git a/docs/content/reference/types/components.md b/docs/content/reference/types/components.md index 0ebd0863ab0c..7e57967c10dc 100644 --- a/docs/content/reference/types/components.md +++ b/docs/content/reference/types/components.md @@ -23,7 +23,6 @@ on [Entities and Components](../../concepts/entity-component.md). * [`Color`](components/color.md): An RGBA color with unmultiplied/separate alpha, in sRGB gamma space with linear alpha. * [`Colormap`](components/colormap.md): Colormap for mapping scalar values within a given range to a color. * [`DepthMeter`](components/depth_meter.md): The world->depth map scaling factor. -* ⚠️ _deprecated_ [`DisconnectedSpace`](components/disconnected_space.md): Spatially disconnect this entity from its parent. * [`DrawOrder`](components/draw_order.md): Draw order of 2D elements. Higher values are drawn on top of lower values. * [`EntityPath`](components/entity_path.md): A path to an entity, usually to reference some data that is part of the target entity. * [`FillMode`](components/fill_mode.md): How a geometric shape is drawn and colored. diff --git a/docs/content/reference/types/components/.gitattributes b/docs/content/reference/types/components/.gitattributes index ecb4df1c74f1..6606aeac1aaa 100644 --- a/docs/content/reference/types/components/.gitattributes +++ b/docs/content/reference/types/components/.gitattributes @@ -11,7 +11,6 @@ clear_is_recursive.md linguist-generated=true color.md linguist-generated=true colormap.md linguist-generated=true depth_meter.md linguist-generated=true -disconnected_space.md linguist-generated=true draw_order.md linguist-generated=true entity_path.md linguist-generated=true fill_mode.md linguist-generated=true diff --git a/docs/content/reference/types/components/disconnected_space.md b/docs/content/reference/types/components/disconnected_space.md deleted file mode 100644 index 3fbb0ac3f060..000000000000 --- a/docs/content/reference/types/components/disconnected_space.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: "DisconnectedSpace (deprecated)" ---- - - -**⚠️ This type is deprecated and may be removed in future versions** -Use [archetypes.Transform3D] with an invalid transform instead. - -Spatially disconnect this entity from its parent. - -Specifies that the entity path at which this is logged is spatially disconnected from its parent, -making it impossible to transform the entity path into its parent's space and vice versa. -It *only* applies to views that work with spatial transformations, i.e. 2D & 3D views. -This is useful for specifying that a subgraph is independent of the rest of the scene. - -## Rerun datatype -[`Bool`](../datatypes/bool.md) - - -## Arrow datatype -``` -boolean -``` - -## API reference links - * 🌊 [C++ API docs for `DisconnectedSpace`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1DisconnectedSpace.html) - * 🐍 [Python API docs for `DisconnectedSpace`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.DisconnectedSpace) - * 🦀 [Rust API docs for `DisconnectedSpace`](https://docs.rs/rerun/latest/rerun/components/struct.DisconnectedSpace.html) - - -## Used by - -* [`DisconnectedSpace`](../archetypes/disconnected_space.md) diff --git a/docs/content/reference/types/datatypes/bool.md b/docs/content/reference/types/datatypes/bool.md index 4ee2740a5ed3..83054a151e97 100644 --- a/docs/content/reference/types/datatypes/bool.md +++ b/docs/content/reference/types/datatypes/bool.md @@ -20,5 +20,4 @@ boolean ## Used by * [`ClearIsRecursive`](../components/clear_is_recursive.md) -* [`DisconnectedSpace`](../components/disconnected_space.md) * [`ShowLabels`](../components/show_labels.md) diff --git a/docs/content/reference/types/views/spatial2d_view.md b/docs/content/reference/types/views/spatial2d_view.md index 5bb3a50596e9..b470de517df0 100644 --- a/docs/content/reference/types/views/spatial2d_view.md +++ b/docs/content/reference/types/views/spatial2d_view.md @@ -49,7 +49,6 @@ snippet: views/spatial2d * [`Boxes2D`](../archetypes/boxes2d.md) * [`Clear`](../archetypes/clear.md) * [`DepthImage`](../archetypes/depth_image.md) -* [`DisconnectedSpace`](../archetypes/disconnected_space.md) * [`EncodedImage`](../archetypes/encoded_image.md) * [`Image`](../archetypes/image.md) * [`LineStrips2D`](../archetypes/line_strips2d.md) diff --git a/docs/content/reference/types/views/spatial3d_view.md b/docs/content/reference/types/views/spatial3d_view.md index c31a719a1d6b..96d09de843f8 100644 --- a/docs/content/reference/types/views/spatial3d_view.md +++ b/docs/content/reference/types/views/spatial3d_view.md @@ -52,7 +52,6 @@ snippet: views/spatial3d * [`Boxes3D`](../archetypes/boxes3d.md) * [`Capsules3D`](../archetypes/capsules3d.md) * [`Clear`](../archetypes/clear.md) -* [`DisconnectedSpace`](../archetypes/disconnected_space.md) * [`Ellipsoids3D`](../archetypes/ellipsoids3d.md) * [`InstancePoses3D`](../archetypes/instance_poses3d.md) * [`LineStrips3D`](../archetypes/line_strips3d.md) diff --git a/docs/snippets/INDEX.md b/docs/snippets/INDEX.md index 16ee05d96c03..7ae27d8bee17 100644 --- a/docs/snippets/INDEX.md +++ b/docs/snippets/INDEX.md @@ -74,7 +74,6 @@ _All snippets, organized by the [`Archetype`](https://rerun.io/docs/reference/ty | **[`Clear`](https://rerun.io/docs/reference/types/archetypes/clear)** | `concepts/different_data_per_timeline` | Log different data on different timelines | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/concepts/different_data_per_timeline.py) | [🦀](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/concepts/different_data_per_timeline.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/concepts/different_data_per_timeline.cpp) | | **[`DepthImage`](https://rerun.io/docs/reference/types/archetypes/depth_image)** | `archetypes/depth_image_simple` | Create and log a depth image | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/depth_image_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/depth_image_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/depth_image_simple.cpp) | | **[`DepthImage`](https://rerun.io/docs/reference/types/archetypes/depth_image)** | `archetypes/depth_image_3d` | Create and log a depth image and pinhole camera | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/depth_image_3d.py) | [🦀](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/depth_image_3d.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/depth_image_3d.cpp) | -| **[`DisconnectedSpace`](https://rerun.io/docs/reference/types/archetypes/disconnected_space)** | `archetypes/disconnected_space` | Disconnect two spaces | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/disconnected_space.py) | [🦀](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/disconnected_space.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/disconnected_space.cpp) | | **[`Ellipsoids3D`](https://rerun.io/docs/reference/types/archetypes/ellipsoids3d)** | `archetypes/ellipsoids3d_simple` | Log random points and the corresponding covariance ellipsoid | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/ellipsoids3d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/ellipsoids3d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/ellipsoids3d_simple.cpp) | | **[`Ellipsoids3D`](https://rerun.io/docs/reference/types/archetypes/ellipsoids3d)** | `archetypes/ellipsoids3d_batch` | Log a batch of ellipsoids | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/ellipsoids3d_batch.py) | [🦀](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/ellipsoids3d_batch.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/ellipsoids3d_batch.cpp) | | **[`EncodedImage`](https://rerun.io/docs/reference/types/archetypes/encoded_image)** | `archetypes/encoded_image` | Create and log an image | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/encoded_image.py) | [🦀](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/encoded_image.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/encoded_image.cpp) | @@ -130,7 +129,6 @@ _All snippets, organized by the [`Archetype`](https://rerun.io/docs/reference/ty | **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `archetypes/points3d_send_columns` | Use the `send_columns` API to send several point clouds over time in a single call | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/points3d_send_columns.py) | | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/points3d_send_columns.cpp) | | **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `archetypes/points3d_random` | Log some random points with color and radii | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/points3d_random.py) | [🦀](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/points3d_random.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/points3d_random.cpp) | | **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `archetypes/annotation_context_connections` | Log annotation context with connections between keypoints | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/annotation_context_connections.py) | [🦀](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/annotation_context_connections.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/annotation_context_connections.cpp) | -| **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `archetypes/disconnected_space` | Disconnect two spaces | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/disconnected_space.py) | [🦀](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/disconnected_space.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/disconnected_space.cpp) | | **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `archetypes/ellipsoids3d_simple` | Log random points and the corresponding covariance ellipsoid | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/ellipsoids3d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/ellipsoids3d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/ellipsoids3d_simple.cpp) | | **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `archetypes/instance_poses3d_combined` | Log a simple 3D box with a regular & instance pose transform | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/instance_poses3d_combined.py) | [🦀](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/instance_poses3d_combined.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/instance_poses3d_combined.cpp) | | **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `archetypes/pinhole_perspective` | Logs a point cloud and a perspective camera looking at it | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/pinhole_perspective.py) | [🦀](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/pinhole_perspective.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/pinhole_perspective.cpp) | @@ -206,7 +204,6 @@ _All snippets, organized by the [`Component`](https://rerun.io/docs/reference/ty | **[`Color`](https://rerun.io/docs/reference/types/components/color)** | `concepts/viscomp-visualizer-override-multiple` | Override a visualizer | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/concepts/viscomp-visualizer-override-multiple.py) | | | | **[`Color`](https://rerun.io/docs/reference/types/components/color)** | `descriptors/descr_custom_archetype` | | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_custom_archetype.py) | [🦀](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_custom_archetype.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_custom_archetype.cpp) | | **[`Color`](https://rerun.io/docs/reference/types/components/color)** | `views/spatial3d` | Use a blueprint to customize a Spatial3DView | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/views/spatial3d.py) | | | -| **[`DisconnectedSpace`](https://rerun.io/docs/reference/types/components/disconnected_space)** | `archetypes/disconnected_space` | Disconnect two spaces | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/disconnected_space.py) | [🦀](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/disconnected_space.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/disconnected_space.cpp) | | **[`GeoLineString`](https://rerun.io/docs/reference/types/components/geo_line_string)** | `archetypes/geo_line_strings_simple` | Log a simple geospatial line string | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/geo_line_strings_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/geo_line_strings_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/geo_line_strings_simple.cpp) | | **[`GraphEdge`](https://rerun.io/docs/reference/types/components/graph_edge)** | `archetypes/graph_directed` | Log a simple directed graph | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_directed.py) | [🦀](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_directed.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_directed.cpp) | | **[`GraphEdge`](https://rerun.io/docs/reference/types/components/graph_edge)** | `archetypes/graph_undirected` | Log a simple undirected graph | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_undirected.py) | [🦀](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_undirected.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_undirected.cpp) | diff --git a/docs/snippets/all/archetypes/disconnected_space.cpp b/docs/snippets/all/archetypes/disconnected_space.cpp deleted file mode 100644 index e3053c338b62..000000000000 --- a/docs/snippets/all/archetypes/disconnected_space.cpp +++ /dev/null @@ -1,19 +0,0 @@ -// Disconnect two spaces. - -#include - -// DisconnectedSpace is deprecated and will be removed in the future. -RR_DISABLE_DEPRECATION_WARNING - -int main() { - const auto rec = rerun::RecordingStream("rerun_example_disconnected_space"); - rec.spawn().exit_on_failure(); - - // These two points can be projected into the same space.. - rec.log("world/room1/point", rerun::Points3D({{0.0f, 0.0f, 0.0f}})); - rec.log("world/room2/point", rerun::Points3D({{1.0f, 1.0f, 1.0f}})); - - // ..but this one lives in a completely separate space! - rec.log("world/wormhole", rerun::DisconnectedSpace(true)); - rec.log("world/wormhole/point", rerun::Points3D({{2.0f, 2.0f, 2.0f}})); -} diff --git a/docs/snippets/all/archetypes/disconnected_space.py b/docs/snippets/all/archetypes/disconnected_space.py deleted file mode 100644 index cde7a732e846..000000000000 --- a/docs/snippets/all/archetypes/disconnected_space.py +++ /dev/null @@ -1,13 +0,0 @@ -"""Disconnect two spaces.""" - -import rerun as rr - -rr.init("rerun_example_disconnected_space", spawn=True) - -# These two points can be projected into the same space.. -rr.log("world/room1/point", rr.Points3D([[0, 0, 0]])) -rr.log("world/room2/point", rr.Points3D([[1, 1, 1]])) - -# ..but this one lives in a completely separate space! -rr.log("world/wormhole", rr.DisconnectedSpace()) -rr.log("world/wormhole/point", rr.Points3D([[2, 2, 2]])) diff --git a/docs/snippets/all/archetypes/disconnected_space.rs b/docs/snippets/all/archetypes/disconnected_space.rs deleted file mode 100644 index 250f8018cbea..000000000000 --- a/docs/snippets/all/archetypes/disconnected_space.rs +++ /dev/null @@ -1,28 +0,0 @@ -//! Disconnect two spaces. - -// `DisconnectedSpace` is deprecated and will be removed in the future. -// Use an invalid transform (e.g. zeroed out 3x3 matrix) instead. -#![allow(deprecated)] - -fn main() -> Result<(), Box> { - let rec = rerun::RecordingStreamBuilder::new("rerun_example_disconnected_space").spawn()?; - - // These two points can be projected into the same space.. - rec.log( - "world/room1/point", - &rerun::Points3D::new([(0.0, 0.0, 0.0)]), - )?; - rec.log( - "world/room2/point", - &rerun::Points3D::new([(1.0, 1.0, 1.0)]), - )?; - - // ..but this one lives in a completely separate space! - rec.log("world/wormhole", &rerun::DisconnectedSpace::new(true))?; - rec.log( - "world/wormhole/point", - &rerun::Points3D::new([(2.0, 2.0, 2.0)]), - )?; - - Ok(()) -} diff --git a/rerun_cpp/src/rerun/archetypes.hpp b/rerun_cpp/src/rerun/archetypes.hpp index 74f875d5ac8c..830f5abd56ea 100644 --- a/rerun_cpp/src/rerun/archetypes.hpp +++ b/rerun_cpp/src/rerun/archetypes.hpp @@ -13,7 +13,6 @@ #include "archetypes/capsules3d.hpp" #include "archetypes/clear.hpp" #include "archetypes/depth_image.hpp" -#include "archetypes/disconnected_space.hpp" #include "archetypes/ellipsoids3d.hpp" #include "archetypes/encoded_image.hpp" #include "archetypes/geo_line_strings.hpp" diff --git a/rerun_cpp/src/rerun/archetypes/.gitattributes b/rerun_cpp/src/rerun/archetypes/.gitattributes index 8b89b32e2722..3079ef0625ca 100644 --- a/rerun_cpp/src/rerun/archetypes/.gitattributes +++ b/rerun_cpp/src/rerun/archetypes/.gitattributes @@ -23,8 +23,6 @@ clear.cpp linguist-generated=true clear.hpp linguist-generated=true depth_image.cpp linguist-generated=true depth_image.hpp linguist-generated=true -disconnected_space.cpp linguist-generated=true -disconnected_space.hpp linguist-generated=true ellipsoids3d.cpp linguist-generated=true ellipsoids3d.hpp linguist-generated=true encoded_image.cpp linguist-generated=true diff --git a/rerun_cpp/src/rerun/archetypes/disconnected_space.cpp b/rerun_cpp/src/rerun/archetypes/disconnected_space.cpp deleted file mode 100644 index 4c1ca31b8df6..000000000000 --- a/rerun_cpp/src/rerun/archetypes/disconnected_space.cpp +++ /dev/null @@ -1,45 +0,0 @@ -// DO NOT EDIT! This file was auto-generated by crates/build/re_types_builder/src/codegen/cpp/mod.rs -// Based on "crates/store/re_types/definitions/rerun/archetypes/disconnected_space.fbs". - -#include "disconnected_space.hpp" - -#include "../collection_adapter_builtins.hpp" - -RR_PUSH_WARNINGS -RR_DISABLE_DEPRECATION_WARNING - -namespace rerun::archetypes {} - -namespace rerun { - - Result> AsComponents::serialize( - const archetypes::DisconnectedSpace& archetype - ) { - using namespace archetypes; - std::vector cells; - cells.reserve(2); - - { - auto result = ComponentBatch::from_loggable( - archetype.disconnected_space, - ComponentDescriptor( - "rerun.archetypes.DisconnectedSpace", - "disconnected_space", - "rerun.components.DisconnectedSpace" - ) - ); - RR_RETURN_NOT_OK(result.error); - cells.push_back(std::move(result.value)); - } - { - auto indicator = DisconnectedSpace::IndicatorComponent(); - auto result = ComponentBatch::from_loggable(indicator); - RR_RETURN_NOT_OK(result.error); - cells.emplace_back(std::move(result.value)); - } - - return cells; - } -} // namespace rerun - -RR_POP_WARNINGS diff --git a/rerun_cpp/src/rerun/archetypes/disconnected_space.hpp b/rerun_cpp/src/rerun/archetypes/disconnected_space.hpp deleted file mode 100644 index 19d598b0a5d7..000000000000 --- a/rerun_cpp/src/rerun/archetypes/disconnected_space.hpp +++ /dev/null @@ -1,91 +0,0 @@ -// DO NOT EDIT! This file was auto-generated by crates/build/re_types_builder/src/codegen/cpp/mod.rs -// Based on "crates/store/re_types/definitions/rerun/archetypes/disconnected_space.fbs". - -#pragma once - -#include "../collection.hpp" -#include "../compiler_utils.hpp" -#include "../component_batch.hpp" -#include "../components/disconnected_space.hpp" -#include "../indicator_component.hpp" -#include "../result.hpp" - -#include -#include -#include - -RR_PUSH_WARNINGS -RR_DISABLE_DEPRECATION_WARNING - -namespace rerun::archetypes { - /// **Archetype**: Spatially disconnect this entity from its parent. - /// - /// Specifies that the entity path at which this is logged is spatially disconnected from its parent, - /// making it impossible to transform the entity path into its parent's space and vice versa. - /// It *only* applies to views that work with spatial transformations, i.e. 2D & 3D views. - /// This is useful for specifying that a subgraph is independent of the rest of the scene. - /// - /// ## Example - /// - /// ### Disconnected space - /// ![image](https://static.rerun.io/disconnected_space/709041fc304b50c74db773b780e32294fe90c95f/full.png) - /// - /// ```cpp - /// #include - /// - /// // DisconnectedSpace is deprecated and will be removed in the future. - /// RR_DISABLE_DEPRECATION_WARNING - /// - /// int main() { - /// const auto rec = rerun::RecordingStream("rerun_example_disconnected_space"); - /// rec.spawn().exit_on_failure(); - /// - /// // These two points can be projected into the same space.. - /// rec.log("world/room1/point", rerun::Points3D({{0.0f, 0.0f, 0.0f}})); - /// rec.log("world/room2/point", rerun::Points3D({{1.0f, 1.0f, 1.0f}})); - /// - /// // ..but this one lives in a completely separate space! - /// rec.log("world/wormhole", rerun::DisconnectedSpace(true)); - /// rec.log("world/wormhole/point", rerun::Points3D({{2.0f, 2.0f, 2.0f}})); - /// } - /// ``` - struct [[deprecated("Use [archetypes.Transform3D] with an invalid transform instead" - )]] DisconnectedSpace { - /// Whether the entity path at which this is logged is disconnected from its parent. - rerun::components::DisconnectedSpace disconnected_space; - - public: - static constexpr const char IndicatorComponentName[] = - "rerun.components.DisconnectedSpaceIndicator"; - - /// Indicator component, used to identify the archetype when converting to a list of components. - using IndicatorComponent = rerun::components::IndicatorComponent; - - public: - DisconnectedSpace() = default; - DisconnectedSpace(DisconnectedSpace&& other) = default; - - explicit DisconnectedSpace(rerun::components::DisconnectedSpace _disconnected_space) - : disconnected_space(std::move(_disconnected_space)) {} - }; - -} // namespace rerun::archetypes - -namespace rerun { - /// \private - template - struct AsComponents; - RR_PUSH_WARNINGS - RR_DISABLE_DEPRECATION_WARNING - - /// \private - template <> - struct AsComponents { - /// Serialize all set component batches. - static Result> serialize( - const archetypes::DisconnectedSpace& archetype - ); - }; -} // namespace rerun - -RR_POP_WARNINGS diff --git a/rerun_cpp/src/rerun/components.hpp b/rerun_cpp/src/rerun/components.hpp index 17ff34250df4..27e6377cc73d 100644 --- a/rerun_cpp/src/rerun/components.hpp +++ b/rerun_cpp/src/rerun/components.hpp @@ -12,7 +12,6 @@ #include "components/color.hpp" #include "components/colormap.hpp" #include "components/depth_meter.hpp" -#include "components/disconnected_space.hpp" #include "components/draw_order.hpp" #include "components/entity_path.hpp" #include "components/fill_mode.hpp" diff --git a/rerun_cpp/src/rerun/components/.gitattributes b/rerun_cpp/src/rerun/components/.gitattributes index 57a1800528b7..2f773028d7c8 100644 --- a/rerun_cpp/src/rerun/components/.gitattributes +++ b/rerun_cpp/src/rerun/components/.gitattributes @@ -14,7 +14,6 @@ color.hpp linguist-generated=true colormap.cpp linguist-generated=true colormap.hpp linguist-generated=true depth_meter.hpp linguist-generated=true -disconnected_space.hpp linguist-generated=true draw_order.hpp linguist-generated=true entity_path.hpp linguist-generated=true fill_mode.cpp linguist-generated=true diff --git a/rerun_cpp/src/rerun/components/disconnected_space.hpp b/rerun_cpp/src/rerun/components/disconnected_space.hpp deleted file mode 100644 index 2c659a40ffbd..000000000000 --- a/rerun_cpp/src/rerun/components/disconnected_space.hpp +++ /dev/null @@ -1,92 +0,0 @@ -// DO NOT EDIT! This file was auto-generated by crates/build/re_types_builder/src/codegen/cpp/mod.rs -// Based on "crates/store/re_types/definitions/rerun/components/disconnected_space.fbs". - -#pragma once - -#include "../compiler_utils.hpp" -#include "../component_descriptor.hpp" -#include "../datatypes/bool.hpp" -#include "../result.hpp" - -#include -#include - -namespace rerun::components { - /// **Component**: Spatially disconnect this entity from its parent. - /// - /// Specifies that the entity path at which this is logged is spatially disconnected from its parent, - /// making it impossible to transform the entity path into its parent's space and vice versa. - /// It *only* applies to views that work with spatial transformations, i.e. 2D & 3D views. - /// This is useful for specifying that a subgraph is independent of the rest of the scene. - struct [[deprecated("Use [archetypes.Transform3D] with an invalid transform instead." - )]] DisconnectedSpace { - /// Whether the entity path at which this is logged is disconnected from its parent. - /// - /// Set to true to disconnect the entity from its parent. - /// Set to false to disable the effects of this component - /// TODO(#7121): Once a space is disconnected, it can't be re-connected again. - rerun::datatypes::Bool is_disconnected; - - public: - DisconnectedSpace() = default; - - DisconnectedSpace(rerun::datatypes::Bool is_disconnected_) - : is_disconnected(is_disconnected_) {} - - DisconnectedSpace& operator=(rerun::datatypes::Bool is_disconnected_) { - is_disconnected = is_disconnected_; - return *this; - } - - DisconnectedSpace(bool value_) : is_disconnected(value_) {} - - DisconnectedSpace& operator=(bool value_) { - is_disconnected = value_; - return *this; - } - - /// Cast to the underlying Bool datatype - operator rerun::datatypes::Bool() const { - return is_disconnected; - } - }; -} // namespace rerun::components - -RR_PUSH_WARNINGS -RR_DISABLE_DEPRECATION_WARNING - -namespace rerun { - static_assert(sizeof(rerun::datatypes::Bool) == sizeof(components::DisconnectedSpace)); - - /// \private - template <> - struct Loggable { - static constexpr ComponentDescriptor Descriptor = "rerun.components.DisconnectedSpace"; - - /// Returns the arrow data type this type corresponds to. - static const std::shared_ptr& arrow_datatype() { - return Loggable::arrow_datatype(); - } - - /// Serializes an array of `rerun::components::DisconnectedSpace` into an arrow array. - static Result> to_arrow( - const components::DisconnectedSpace* instances, size_t num_instances - ) { - if (num_instances == 0) { - return Loggable::to_arrow(nullptr, 0); - } else if (instances == nullptr) { - return rerun::Error( - ErrorCode::UnexpectedNullArgument, - "Passed array instances is null when num_elements> 0." - ); - } else { - return Loggable::to_arrow( - &instances->is_disconnected, - num_instances - ); - } - } - }; -} // namespace rerun - -RR_POP_WARNINGS diff --git a/rerun_cpp/tests/archetypes/disconnected_space.cpp b/rerun_cpp/tests/archetypes/disconnected_space.cpp deleted file mode 100644 index e20f3f7c38bf..000000000000 --- a/rerun_cpp/tests/archetypes/disconnected_space.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include "archetype_test.hpp" - -RR_DISABLE_DEPRECATION_WARNING - -#include - -using namespace rerun::archetypes; - -#define TEST_TAG "[disconnected_space][archetypes]" - -SCENARIO("disconnected_space archetype can be serialized" TEST_TAG) { - GIVEN("Constructed from builder and manually") { - auto from_builder = DisconnectedSpace(true); - - THEN("serialization succeeds") { - CHECK(rerun::AsComponents().serialize(from_builder).is_ok()); - } - } -} diff --git a/rerun_py/docs/gen_common_index.py b/rerun_py/docs/gen_common_index.py index 4c106a2e6ce4..f55c1719449d 100755 --- a/rerun_py/docs/gen_common_index.py +++ b/rerun_py/docs/gen_common_index.py @@ -242,7 +242,6 @@ class Section: Section( title="Transforms and Coordinate Systems", class_list=[ - "archetypes.DisconnectedSpace", "archetypes.Pinhole", "archetypes.Transform3D", "archetypes.InstancePoses3D", diff --git a/rerun_py/rerun_sdk/rerun/__init__.py b/rerun_py/rerun_sdk/rerun/__init__.py index f396868fbd8e..5852276cfadc 100644 --- a/rerun_py/rerun_sdk/rerun/__init__.py +++ b/rerun_py/rerun_sdk/rerun/__init__.py @@ -75,7 +75,6 @@ Capsules3D as Capsules3D, Clear as Clear, DepthImage as DepthImage, - DisconnectedSpace as DisconnectedSpace, Ellipsoids3D as Ellipsoids3D, EncodedImage as EncodedImage, GeoLineStrings as GeoLineStrings, diff --git a/rerun_py/rerun_sdk/rerun/archetypes/.gitattributes b/rerun_py/rerun_sdk/rerun/archetypes/.gitattributes index 054ebcd0186d..66e701d0296d 100644 --- a/rerun_py/rerun_sdk/rerun/archetypes/.gitattributes +++ b/rerun_py/rerun_sdk/rerun/archetypes/.gitattributes @@ -13,7 +13,6 @@ boxes3d.py linguist-generated=true capsules3d.py linguist-generated=true clear.py linguist-generated=true depth_image.py linguist-generated=true -disconnected_space.py linguist-generated=true ellipsoids3d.py linguist-generated=true encoded_image.py linguist-generated=true geo_line_strings.py linguist-generated=true diff --git a/rerun_py/rerun_sdk/rerun/archetypes/__init__.py b/rerun_py/rerun_sdk/rerun/archetypes/__init__.py index 12b8f2c904d1..ab5ba675061a 100644 --- a/rerun_py/rerun_sdk/rerun/archetypes/__init__.py +++ b/rerun_py/rerun_sdk/rerun/archetypes/__init__.py @@ -13,7 +13,6 @@ from .capsules3d import Capsules3D from .clear import Clear from .depth_image import DepthImage -from .disconnected_space import DisconnectedSpace from .ellipsoids3d import Ellipsoids3D from .encoded_image import EncodedImage from .geo_line_strings import GeoLineStrings @@ -51,7 +50,6 @@ "Capsules3D", "Clear", "DepthImage", - "DisconnectedSpace", "Ellipsoids3D", "EncodedImage", "GeoLineStrings", diff --git a/rerun_py/rerun_sdk/rerun/archetypes/disconnected_space.py b/rerun_py/rerun_sdk/rerun/archetypes/disconnected_space.py deleted file mode 100644 index 4ea38aaf153c..000000000000 --- a/rerun_py/rerun_sdk/rerun/archetypes/disconnected_space.py +++ /dev/null @@ -1,83 +0,0 @@ -# DO NOT EDIT! This file was auto-generated by crates/build/re_types_builder/src/codegen/python/mod.rs -# Based on "crates/store/re_types/definitions/rerun/archetypes/disconnected_space.fbs". - -# You can extend this class by creating a "DisconnectedSpaceExt" class in "disconnected_space_ext.py". - -from __future__ import annotations - -from attrs import define, field -from typing_extensions import deprecated # type: ignore[misc, unused-ignore] - -from .. import components -from .._baseclasses import ( - Archetype, -) -from .disconnected_space_ext import DisconnectedSpaceExt - -__all__ = ["DisconnectedSpace"] - - -@deprecated("""Use [archetypes.Transform3D] with an invalid transform instead""") -@define(str=False, repr=False, init=False) -class DisconnectedSpace(DisconnectedSpaceExt, Archetype): - """ - **Archetype**: Spatially disconnect this entity from its parent. - - Specifies that the entity path at which this is logged is spatially disconnected from its parent, - making it impossible to transform the entity path into its parent's space and vice versa. - It *only* applies to views that work with spatial transformations, i.e. 2D & 3D views. - This is useful for specifying that a subgraph is independent of the rest of the scene. - - Example - ------- - ### Disconnected space: - ```python - import rerun as rr - - rr.init("rerun_example_disconnected_space", spawn=True) - - # These two points can be projected into the same space.. - rr.log("world/room1/point", rr.Points3D([[0, 0, 0]])) - rr.log("world/room2/point", rr.Points3D([[1, 1, 1]])) - - # ..but this one lives in a completely separate space! - rr.log("world/wormhole", rr.DisconnectedSpace()) - rr.log("world/wormhole/point", rr.Points3D([[2, 2, 2]])) - ``` -
- - - - - - - -
- - """ - - # __init__ can be found in disconnected_space_ext.py - - def __attrs_clear__(self) -> None: - """Convenience method for calling `__attrs_init__` with all `None`s.""" - self.__attrs_init__( - disconnected_space=None, # type: ignore[arg-type] - ) - - @classmethod - def _clear(cls) -> DisconnectedSpace: - """Produce an empty DisconnectedSpace, bypassing `__init__`.""" - inst = cls.__new__(cls) - inst.__attrs_clear__() - return inst - - disconnected_space: components.DisconnectedSpaceBatch = field( - metadata={"component": "required"}, - converter=components.DisconnectedSpaceBatch._required, # type: ignore[misc] - ) - # Whether the entity path at which this is logged is disconnected from its parent. - # - # (Docstring intentionally commented out to hide this field from the docs) - - __str__ = Archetype.__str__ - __repr__ = Archetype.__repr__ # type: ignore[assignment] diff --git a/rerun_py/rerun_sdk/rerun/archetypes/disconnected_space_ext.py b/rerun_py/rerun_sdk/rerun/archetypes/disconnected_space_ext.py deleted file mode 100644 index c72a30c019a1..000000000000 --- a/rerun_py/rerun_sdk/rerun/archetypes/disconnected_space_ext.py +++ /dev/null @@ -1,28 +0,0 @@ -from __future__ import annotations - -from typing import TYPE_CHECKING, Any - -if TYPE_CHECKING: - from ..datatypes import BoolLike - - -class DisconnectedSpaceExt: - """Extension for [DisconnectedSpace][rerun.archetypes.DisconnectedSpace].""" - - def __init__( - self: Any, - is_disconnected: BoolLike = True, - ): - """ - Disconnect an entity from its parent. - - Parameters - ---------- - is_disconnected: - Whether or not the entity should be disconnected from the rest of the scene. - Set to `True` to disconnect the entity from its parent. - Set to `False` to disable the effects of this archetype, (re-)connecting the entity to its parent again. - - """ - - self.__attrs_init__(is_disconnected) diff --git a/rerun_py/rerun_sdk/rerun/components/.gitattributes b/rerun_py/rerun_sdk/rerun/components/.gitattributes index bc78f211dc27..4940e2de0da1 100644 --- a/rerun_py/rerun_sdk/rerun/components/.gitattributes +++ b/rerun_py/rerun_sdk/rerun/components/.gitattributes @@ -12,7 +12,6 @@ clear_is_recursive.py linguist-generated=true color.py linguist-generated=true colormap.py linguist-generated=true depth_meter.py linguist-generated=true -disconnected_space.py linguist-generated=true draw_order.py linguist-generated=true entity_path.py linguist-generated=true fill_mode.py linguist-generated=true diff --git a/rerun_py/rerun_sdk/rerun/components/__init__.py b/rerun_py/rerun_sdk/rerun/components/__init__.py index 1bc230a70e79..f8ab31dbcb49 100644 --- a/rerun_py/rerun_sdk/rerun/components/__init__.py +++ b/rerun_py/rerun_sdk/rerun/components/__init__.py @@ -22,7 +22,6 @@ from .color import Color, ColorBatch from .colormap import Colormap, ColormapArrayLike, ColormapBatch, ColormapLike from .depth_meter import DepthMeter, DepthMeterBatch -from .disconnected_space import DisconnectedSpace, DisconnectedSpaceBatch from .draw_order import DrawOrder, DrawOrderBatch from .entity_path import EntityPath, EntityPathBatch from .fill_mode import FillMode, FillModeArrayLike, FillModeBatch, FillModeLike @@ -121,8 +120,6 @@ "ColormapLike", "DepthMeter", "DepthMeterBatch", - "DisconnectedSpace", - "DisconnectedSpaceBatch", "DrawOrder", "DrawOrderBatch", "EntityPath", diff --git a/rerun_py/rerun_sdk/rerun/components/disconnected_space.py b/rerun_py/rerun_sdk/rerun/components/disconnected_space.py deleted file mode 100644 index 40b9886d8c45..000000000000 --- a/rerun_py/rerun_sdk/rerun/components/disconnected_space.py +++ /dev/null @@ -1,44 +0,0 @@ -# DO NOT EDIT! This file was auto-generated by crates/build/re_types_builder/src/codegen/python/mod.rs -# Based on "crates/store/re_types/definitions/rerun/components/disconnected_space.fbs". - -# You can extend this class by creating a "DisconnectedSpaceExt" class in "disconnected_space_ext.py". - -from __future__ import annotations - -from typing_extensions import deprecated # type: ignore[misc, unused-ignore] - -from .. import datatypes -from .._baseclasses import ( - ComponentBatchMixin, - ComponentDescriptor, - ComponentMixin, -) -from .disconnected_space_ext import DisconnectedSpaceExt - -__all__ = ["DisconnectedSpace", "DisconnectedSpaceBatch"] - - -@deprecated("""Use [archetypes.Transform3D] with an invalid transform instead.""") -class DisconnectedSpace(DisconnectedSpaceExt, datatypes.Bool, ComponentMixin): - """ - **Component**: Spatially disconnect this entity from its parent. - - Specifies that the entity path at which this is logged is spatially disconnected from its parent, - making it impossible to transform the entity path into its parent's space and vice versa. - It *only* applies to views that work with spatial transformations, i.e. 2D & 3D views. - This is useful for specifying that a subgraph is independent of the rest of the scene. - """ - - _BATCH_TYPE = None - # __init__ can be found in disconnected_space_ext.py - - # Note: there are no fields here because DisconnectedSpace delegates to datatypes.Bool - pass - - -class DisconnectedSpaceBatch(datatypes.BoolBatch, ComponentBatchMixin): - _COMPONENT_DESCRIPTOR: ComponentDescriptor = ComponentDescriptor("rerun.components.DisconnectedSpace") - - -# This is patched in late to avoid circular dependencies. -DisconnectedSpace._BATCH_TYPE = DisconnectedSpaceBatch # type: ignore[assignment] diff --git a/rerun_py/rerun_sdk/rerun/components/disconnected_space_ext.py b/rerun_py/rerun_sdk/rerun/components/disconnected_space_ext.py deleted file mode 100644 index 4ac4066a3ca1..000000000000 --- a/rerun_py/rerun_sdk/rerun/components/disconnected_space_ext.py +++ /dev/null @@ -1,24 +0,0 @@ -from __future__ import annotations - -from typing import Any - - -class DisconnectedSpaceExt: - """Extension for [DisconnectedSpace][rerun.components.DisconnectedSpace].""" - - def __init__( - self: Any, - is_disconnected: bool = True, - ): - """ - Disconnect an entity from its parent. - - Parameters - ---------- - is_disconnected: - Whether or not the entity should be disconnected from the rest of the scene. - Set to `True` to disconnect the entity from its parent. - Set to `False` to disable the effects of this component, (re-)connecting the entity to its parent again. - - """ - self.__attrs_init__(is_disconnected) diff --git a/tests/cpp/roundtrips/disconnected_space/main.cpp b/tests/cpp/roundtrips/disconnected_space/main.cpp deleted file mode 100644 index caba6f07d892..000000000000 --- a/tests/cpp/roundtrips/disconnected_space/main.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include - -// DisconnectedSpace is deprecated and will be removed in the future. -RR_DISABLE_DEPRECATION_WARNING - -#include -#include - -int main(int, char** argv) { - const auto rec = rerun::RecordingStream("rerun_example_roundtrip_disconnected_space"); - rec.save(argv[1]).exit_on_failure(); - - rec.log("disconnected_space", rerun::archetypes::DisconnectedSpace(true)); -} diff --git a/tests/python/release_checklist/check_all_components_ui.py b/tests/python/release_checklist/check_all_components_ui.py index 2819ee163442..ef845a3cf2b2 100644 --- a/tests/python/release_checklist/check_all_components_ui.py +++ b/tests/python/release_checklist/check_all_components_ui.py @@ -35,9 +35,9 @@ def __init__( alternatives: Iterable[Any] | None = None, disabled: bool = False, ): - assert ( - (single is not None) ^ (batch is not None) ^ (alternatives is not None) ^ disabled - ), "Exactly one of single, batch, or alternatives must be provided" + assert (single is not None) ^ (batch is not None) ^ (alternatives is not None) ^ disabled, ( + "Exactly one of single, batch, or alternatives must be provided" + ) if batch is not None: batch = list(batch) @@ -109,7 +109,6 @@ def alternatives(self) -> list[Any] | None: "ColorBatch": TestCase(batch=[(255, 0, 0, 255), (0, 255, 0, 255), (0, 0, 255, 255)]), "ColormapBatch": TestCase(rr.components.Colormap.Viridis), "DepthMeterBatch": TestCase(1000.0), - "DisconnectedSpaceBatch": TestCase(True), "DrawOrderBatch": TestCase(100.0), "EntityPathBatch": TestCase("my/entity/path"), "FillModeBatch": TestCase( @@ -256,9 +255,9 @@ def log_readme() -> None: def log_some_views() -> None: # check that we didn't forget a component missing_components = set(c for c in dir(rr.components) if c.endswith("Batch")) - set(ALL_COMPONENTS.keys()) - assert ( - len(missing_components) == 0 - ), f"Some components are missing from the `ALL_COMPONENTS` dictionary: {missing_components}" + assert len(missing_components) == 0, ( + f"Some components are missing from the `ALL_COMPONENTS` dictionary: {missing_components}" + ) # log all components as len=1 batches rr.log( diff --git a/tests/python/roundtrips/disconnected_space/main.py b/tests/python/roundtrips/disconnected_space/main.py deleted file mode 100644 index 5441af1df5ac..000000000000 --- a/tests/python/roundtrips/disconnected_space/main.py +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env python3 - -"""Logs a `DisconnectedSpace` archetype for roundtrip checks.""" - -from __future__ import annotations - -import argparse - -import rerun as rr - - -def main() -> None: - parser = argparse.ArgumentParser(description="Logs rich data using the Rerun SDK.") - rr.script_add_args(parser) - args = parser.parse_args() - - rr.script_setup(args, "rerun_example_roundtrip_disconnected_space") - - rr.log("disconnected_space", rr.DisconnectedSpace()) - - rr.script_teardown(args) - - -if __name__ == "__main__": - main() diff --git a/tests/python/test_api/test_api.py b/tests/python/test_api/test_api.py index 83e4091a7654..bf2eebf24c3d 100755 --- a/tests/python/test_api/test_api.py +++ b/tests/python/test_api/test_api.py @@ -60,7 +60,7 @@ def run_segmentation() -> None: rr.log( "logs/seg_test_log", rr.TextLog( - "default colored rects, default colored points, " "all points except the bottom right clusters have labels", + "default colored rects, default colored points, all points except the bottom right clusters have labels", ), ) @@ -99,9 +99,6 @@ def small_image() -> None: def transforms() -> None: rr.log("transforms", rr.ViewCoordinates.RIGHT_HAND_Y_UP, static=True) - # Log a disconnected space (this doesn't do anything here, but can be used to force a new space) - rr.log("transforms/disconnected", rr.DisconnectedSpace()) - # Log scale along the x axis only. rr.log("transforms/x_scaled", rr.Transform3D(scale=(3, 1, 1))) diff --git a/tests/rust/roundtrips/disconnected_space/Cargo.toml b/tests/rust/roundtrips/disconnected_space/Cargo.toml deleted file mode 100644 index d41c089e00b4..000000000000 --- a/tests/rust/roundtrips/disconnected_space/Cargo.toml +++ /dev/null @@ -1,17 +0,0 @@ -[package] -name = "roundtrip_disconnected_space" -edition.workspace = true -license.workspace = true -publish = false -rust-version.workspace = true -version.workspace = true - -[lints] -workspace = true - -[dependencies] -re_log = { workspace = true, features = ["setup"] } -rerun = { path = "../../../../crates/top/rerun", features = ["clap"] } - -anyhow.workspace = true -clap = { workspace = true, features = ["derive"] } diff --git a/tests/rust/roundtrips/disconnected_space/src/main.rs b/tests/rust/roundtrips/disconnected_space/src/main.rs deleted file mode 100644 index a20b1a92391c..000000000000 --- a/tests/rust/roundtrips/disconnected_space/src/main.rs +++ /dev/null @@ -1,31 +0,0 @@ -//! Logs a `DisconnectedSpace` archetype for roundtrip checks. - -// `DisconnectedSpace` is deprecated and will be removed in the future. -// Use an invalid transform (for instance zero scale or zero matrix) instead. -#![allow(deprecated)] - -use rerun::{archetypes::DisconnectedSpace, RecordingStream}; - -#[derive(Debug, clap::Parser)] -#[clap(author, version, about)] -struct Args { - #[command(flatten)] - rerun: rerun::clap::RerunArgs, -} - -fn run(rec: &RecordingStream, _args: &Args) -> anyhow::Result<()> { - rec.log("disconnected_space", &DisconnectedSpace::new(true)) - .map_err(Into::into) -} - -fn main() -> anyhow::Result<()> { - re_log::setup_logging(); - - use clap::Parser as _; - let args = Args::parse(); - - let (rec, _serve_guard) = args - .rerun - .init("rerun_example_roundtrip_disconnected_space")?; - run(&rec, &args) -} From a5c4b91d3cd7eee1c296e6b67d273dfe970506ff Mon Sep 17 00:00:00 2001 From: Clement Rey Date: Fri, 20 Dec 2024 10:20:46 +0100 Subject: [PATCH 2/3] format --- .../release_checklist/check_all_components_ui.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/python/release_checklist/check_all_components_ui.py b/tests/python/release_checklist/check_all_components_ui.py index ef845a3cf2b2..d5fb1629d430 100644 --- a/tests/python/release_checklist/check_all_components_ui.py +++ b/tests/python/release_checklist/check_all_components_ui.py @@ -35,9 +35,9 @@ def __init__( alternatives: Iterable[Any] | None = None, disabled: bool = False, ): - assert (single is not None) ^ (batch is not None) ^ (alternatives is not None) ^ disabled, ( - "Exactly one of single, batch, or alternatives must be provided" - ) + assert ( + (single is not None) ^ (batch is not None) ^ (alternatives is not None) ^ disabled + ), "Exactly one of single, batch, or alternatives must be provided" if batch is not None: batch = list(batch) @@ -255,9 +255,9 @@ def log_readme() -> None: def log_some_views() -> None: # check that we didn't forget a component missing_components = set(c for c in dir(rr.components) if c.endswith("Batch")) - set(ALL_COMPONENTS.keys()) - assert len(missing_components) == 0, ( - f"Some components are missing from the `ALL_COMPONENTS` dictionary: {missing_components}" - ) + assert ( + len(missing_components) == 0 + ), f"Some components are missing from the `ALL_COMPONENTS` dictionary: {missing_components}" # log all components as len=1 batches rr.log( From c6df7e61491f48515362d9bbc43f9fe08209e178 Mon Sep 17 00:00:00 2001 From: Clement Rey Date: Fri, 20 Dec 2024 10:22:53 +0100 Subject: [PATCH 3/3] dead links --- docs/content/reference/migration/migration-0-13.md | 4 ++-- docs/content/reference/migration/migration-0-9.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/content/reference/migration/migration-0-13.md b/docs/content/reference/migration/migration-0-13.md index 511e351df01a..a090f53df745 100644 --- a/docs/content/reference/migration/migration-0-13.md +++ b/docs/content/reference/migration/migration-0-13.md @@ -33,8 +33,8 @@ more predictable but comes with a few changes on how paths are expected to be st the appropriate dimensions. * Note that children of root are still special for 3D & time series views but this may change in the future see [#4926](https://github.com/rerun-io/rerun/issues/4926) -* [DisconnectedSpace](../types/archetypes/disconnected_space.md) now strictly applies only to 2D and 3D Space Views +* `DisconnectedSpace` now strictly applies only to 2D and 3D Space Views * Internally, the heuristic now reasons about a 2D/3D topology which does not affect other types of views. - [DisconnectedSpace](../types/archetypes/disconnected_space.md) represents a hard cut in this topology. + `DisconnectedSpace` represents a hard cut in this topology. Future releases will allow you to specify Space Views & view layout from code. diff --git a/docs/content/reference/migration/migration-0-9.md b/docs/content/reference/migration/migration-0-9.md index fb9749f08c48..d19243bc70ba 100644 --- a/docs/content/reference/migration/migration-0-9.md +++ b/docs/content/reference/migration/migration-0-9.md @@ -76,9 +76,9 @@ Notes: * `image` has become `data` ### log_disconnected_space -Replace with [DisconnectedSpace](../types/archetypes/disconnected_space.md) +Replace with `DisconnectedSpace` -Python docs: [DisconnectedSpace](https://ref.rerun.io/docs/python/stable/common/archetypes/#rerun.archetypes.DisconnectedSpace) +Python docs: [DisconnectedSpace](https://ref.rerun.io/docs/python/0.21.0/common/archetypes/#rerun.archetypes.DisconnectedSpace) ### log_extension_components Replace with `AnyValues`