diff --git a/Cargo.lock b/Cargo.lock index fe9b081116a6..93249ec20311 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6242,6 +6242,7 @@ name = "re_types_builder" version = "0.20.0-alpha.1+dev" dependencies = [ "anyhow", + "arrow", "camino", "clang-format", "flatbuffers", diff --git a/crates/build/re_types_builder/Cargo.toml b/crates/build/re_types_builder/Cargo.toml index c19b27b43422..088c7ba16473 100644 --- a/crates/build/re_types_builder/Cargo.toml +++ b/crates/build/re_types_builder/Cargo.toml @@ -34,7 +34,8 @@ re_tracing.workspace = true # External anyhow.workspace = true -arrow2.workspace = true +arrow.workspace = true +arrow2 = { workspace = true, features = ["arrow"] } camino.workspace = true clang-format.workspace = true flatbuffers.workspace = true diff --git a/crates/build/re_types_builder/src/codegen/docs/arrow_datatype.rs b/crates/build/re_types_builder/src/codegen/docs/arrow_datatype.rs new file mode 100644 index 000000000000..e2097cdfccff --- /dev/null +++ b/crates/build/re_types_builder/src/codegen/docs/arrow_datatype.rs @@ -0,0 +1,75 @@ +//! Document an Arrow datatype as human-readable markdown. +//! +//! Note that we use the `arrow` library in this module, +//! with just a thin `arrow2` wrapper around it. + +use arrow::datatypes::DataType; + +use crate::codegen::StringExt as _; + +pub fn arrow2_datatype_docs(page: &mut String, datatype: &arrow2::datatypes::DataType) { + arrow_datatype_docs(page, 0, &DataType::from(datatype.clone())); +} + +pub fn arrow_datatype_docs(page: &mut String, indent: usize, datatype: &DataType) { + match datatype { + DataType::Null => page.push_str("null"), + DataType::Boolean => page.push_str("boolean"), + DataType::Int8 => page.push_str("int8"), + DataType::Int16 => page.push_str("int16"), + DataType::Int32 => page.push_str("int32"), + DataType::Int64 => page.push_str("int64"), + DataType::UInt8 => page.push_str("uint8"), + DataType::UInt16 => page.push_str("uint16"), + DataType::UInt32 => page.push_str("uint32"), + DataType::UInt64 => page.push_str("uint64"), + DataType::Float16 => page.push_str("float16"), + DataType::Float32 => page.push_str("float32"), + DataType::Float64 => page.push_str("float64"), + DataType::Utf8 => page.push_str("utf8"), + DataType::List(inner) => { + page.push_str("List<"); + arrow_datatype_docs(page, indent + 1, inner.data_type()); + page.push('>'); + } + DataType::FixedSizeList(inner, length) => { + page.push_str(&format!("FixedSizeList<{length}, ")); + arrow_datatype_docs(page, indent + 1, inner.data_type()); + page.push('>'); + } + DataType::Struct(fields) => { + page.push_str("Struct {\n"); + for field in fields { + page.push_indented(indent + 1, field.name(), 0); + page.push_str(": "); + if field.is_nullable() { + page.push_str("nullable "); + } + arrow_datatype_docs(page, indent + 1, field.data_type()); + page.push('\n'); + } + page.push_indented(indent, "}", 0); + } + DataType::Union(union_fields, union_mode) => { + match union_mode { + arrow::datatypes::UnionMode::Sparse => page.push_str("SparseUnion {\n"), + arrow::datatypes::UnionMode::Dense => page.push_str("DenseUnion {\n"), + } + for (index, field) in union_fields.iter() { + page.push_indented(indent + 1, &format!("{index} = {:?}: ", field.name()), 0); + if field.is_nullable() { + page.push_str("nullable "); + } + arrow_datatype_docs(page, indent + 1, field.data_type()); + page.push('\n'); + } + page.push_indented(indent, "}", 0); + } + _ => { + unimplemented!( + "For the docs, you need to implement formatting of arrow datatype {:#?}", + datatype + ); + } + } +} diff --git a/crates/build/re_types_builder/src/codegen/docs/mod.rs b/crates/build/re_types_builder/src/codegen/docs/mod.rs index 7a304ff4eb78..d94ff4d828c2 100644 --- a/crates/build/re_types_builder/src/codegen/docs/mod.rs +++ b/crates/build/re_types_builder/src/codegen/docs/mod.rs @@ -1,5 +1,7 @@ //! Generate the markdown files shown at . +mod arrow_datatype; + use std::{collections::BTreeMap, fmt::Write}; use camino::Utf8PathBuf; @@ -14,9 +16,10 @@ use crate::{ pub const DATAFRAME_VIEW_FQNAME: &str = "rerun.blueprint.views.DataframeView"; +/// Like [`writeln!`], but without a [`Result`]. macro_rules! putln { - ($o:ident) => ( writeln!($o).ok() ); - ($o:ident, $($tt:tt)*) => ( writeln!($o, $($tt)*).ok() ); + ($o:ident) => ( { writeln!($o).ok(); } ); + ($o:ident, $($tt:tt)*) => ( { writeln!($o, $($tt)*).unwrap(); } ); } pub struct DocsCodeGenerator { @@ -44,7 +47,7 @@ impl CodeGenerator for DocsCodeGenerator { &mut self, reporter: &Reporter, objects: &Objects, - _arrow_registry: &crate::ArrowRegistry, + arrow_registry: &crate::ArrowRegistry, ) -> GeneratedFiles { re_tracing::profile_function!(); @@ -74,7 +77,13 @@ impl CodeGenerator for DocsCodeGenerator { ObjectKind::View => views.push(object), } - let page = object_page(reporter, objects, object, &views_per_archetype); + let page = object_page( + reporter, + objects, + object, + arrow_registry, + &views_per_archetype, + ); let path = self.docs_dir.join(format!( "{}/{}.md", object.kind.plural_snake_case(), @@ -229,6 +238,7 @@ fn object_page( reporter: &Reporter, objects: &Objects, object: &Object, + arrow_registry: &crate::ArrowRegistry, views_per_archetype: &ViewsPerArchetype, ) -> String { let is_unreleased = object.is_attr_set(crate::ATTR_DOCS_UNRELEASED); @@ -292,6 +302,16 @@ fn object_page( } } + if matches!(object.kind, ObjectKind::Datatype | ObjectKind::Component) { + let datatype = &arrow_registry.get(&object.fqname); + putln!(page); + putln!(page, "## Arrow datatype"); + putln!(page, "```"); + arrow_datatype::arrow2_datatype_docs(&mut page, datatype); + putln!(page); + putln!(page, "```"); + } + putln!(page); putln!(page, "## API reference links"); list_links(is_unreleased, &mut page, object); @@ -416,19 +436,20 @@ fn write_fields(objects: &Objects, o: &mut String, object: &Object) { match ty { Type::Unit => unreachable!("Should be handled elsewhere"), - Type::UInt8 => atomic("u8"), - Type::UInt16 => atomic("u16"), - Type::UInt32 => atomic("u32"), - Type::UInt64 => atomic("u64"), - Type::Int8 => atomic("i8"), - Type::Int16 => atomic("i16"), - Type::Int32 => atomic("i32"), - Type::Int64 => atomic("i64"), - Type::Bool => atomic("bool"), - Type::Float16 => atomic("f16"), - Type::Float32 => atomic("f32"), - Type::Float64 => atomic("f64"), - Type::String => atomic("string"), + // We use explicit, arrow-like names: + Type::UInt8 => atomic("uint8"), + Type::UInt16 => atomic("uint16"), + Type::UInt32 => atomic("uint32"), + Type::UInt64 => atomic("uint64"), + Type::Int8 => atomic("int8"), + Type::Int16 => atomic("int16"), + Type::Int32 => atomic("int32"), + Type::Int64 => atomic("int64"), + Type::Bool => atomic("boolean"), + Type::Float16 => atomic("float16"), + Type::Float32 => atomic("float32"), + Type::Float64 => atomic("float64"), + Type::String => atomic("utf8"), Type::Array { elem_type, length } => { format!( @@ -438,7 +459,7 @@ fn write_fields(objects: &Objects, o: &mut String, object: &Object) { } Type::Vector { elem_type } => { format!( - "list of {}", + "List of {}", type_info(objects, &Type::from(elem_type.clone())) ) } @@ -454,17 +475,41 @@ fn write_fields(objects: &Objects, o: &mut String, object: &Object) { } } + if object.is_arrow_transparent() { + debug_assert!(object.is_struct()); + debug_assert_eq!(object.fields.len(), 1); + return; // This is just a wrapper type, so don't show the "Fields" section + } + let mut fields = Vec::new(); for field in &object.fields { - if object.is_enum() || field.typ == Type::Unit { - fields.push(format!("* {}", field.name)); - } else { - fields.push(format!( - "* {}: {}", - field.name, - type_info(objects, &field.typ) - )); + let mut field_string = format!("#### `{}`", field.name); + + if let Some(enum_value) = field.enum_value { + field_string.push_str(&format!(" = {enum_value}")); + } + field_string.push('\n'); + + if !object.is_enum() { + field_string.push_str("Type: "); + if field.typ == Type::Unit { + field_string.push_str("`null`"); + } else { + if field.is_nullable { + field_string.push_str("nullable "); + } + field_string.push_str(&type_info(objects, &field.typ)); + } + field_string.push('\n'); + field_string.push('\n'); + } + + for line in field.docs.lines_for(objects, Target::WebDocsMarkdown) { + field_string.push_str(&line); + field_string.push('\n'); } + + fields.push(field_string); } if !fields.is_empty() { @@ -473,7 +518,6 @@ fn write_fields(objects: &Objects, o: &mut String, object: &Object) { crate::ObjectClass::Enum | crate::ObjectClass::Union => "## Variants", }; putln!(o, "{heading}"); - putln!(o); for field in fields { putln!(o, "{field}"); } diff --git a/docs/content/reference/types/components/aggregation_policy.md b/docs/content/reference/types/components/aggregation_policy.md index ed8d96312ea7..108c3aee615e 100644 --- a/docs/content/reference/types/components/aggregation_policy.md +++ b/docs/content/reference/types/components/aggregation_policy.md @@ -10,13 +10,31 @@ i.e. a single pixel covers more than one tick worth of data. It can greatly impr (and readability) in such situations as it prevents overdraw. ## Variants +#### `Off` = 1 +No aggregation. -* Off -* Average -* Max -* Min -* MinMax -* MinMaxAverage +#### `Average` = 2 +Average all points in the range together. + +#### `Max` = 3 +Keep only the maximum values in the range. + +#### `Min` = 4 +Keep only the minimum values in the range. + +#### `MinMax` = 5 +Keep both the minimum and maximum values in the range. + +This will yield two aggregated points instead of one, effectively creating a vertical line. + +#### `MinMaxAverage` = 6 +Find both the minimum and maximum values in the range, then use the average of those. + + +## Arrow datatype +``` +uint8 +``` ## API reference links * 🌊 [C++ API docs for `AggregationPolicy`](https://ref.rerun.io/docs/cpp/stable/namespacererun_1_1components.html) diff --git a/docs/content/reference/types/components/albedo_factor.md b/docs/content/reference/types/components/albedo_factor.md index ff8200054a4f..6b026f4d4811 100644 --- a/docs/content/reference/types/components/albedo_factor.md +++ b/docs/content/reference/types/components/albedo_factor.md @@ -5,9 +5,11 @@ title: "AlbedoFactor" A color multiplier, usually applied to a whole entity, e.g. a mesh. -## Fields -* albedo_factor: [`Rgba32`](../datatypes/rgba32.md) +## Arrow datatype +``` +uint32 +``` ## API reference links * 🌊 [C++ API docs for `AlbedoFactor`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1AlbedoFactor.html) diff --git a/docs/content/reference/types/components/annotation_context.md b/docs/content/reference/types/components/annotation_context.md index f243ea450941..eb4402d89374 100644 --- a/docs/content/reference/types/components/annotation_context.md +++ b/docs/content/reference/types/components/annotation_context.md @@ -11,9 +11,29 @@ annotation context. We use the *first* annotation context we find in the path-hierarchy when searching up through the ancestors of a given entity path. -## Fields -* class_map: list of [`ClassDescriptionMapElem`](../datatypes/class_description_map_elem.md) +## Arrow datatype +``` +List + keypoint_connections: List + } + }> +``` ## API reference links * 🌊 [C++ API docs for `AnnotationContext`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1AnnotationContext.html) diff --git a/docs/content/reference/types/components/axis_length.md b/docs/content/reference/types/components/axis_length.md index 11d70e14a5e6..5b56a932ad2b 100644 --- a/docs/content/reference/types/components/axis_length.md +++ b/docs/content/reference/types/components/axis_length.md @@ -5,9 +5,11 @@ title: "AxisLength" The length of an axis in local units of the space. -## Fields -* length: [`Float32`](../datatypes/float32.md) +## Arrow datatype +``` +float32 +``` ## API reference links * 🌊 [C++ API docs for `AxisLength`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1AxisLength.html) diff --git a/docs/content/reference/types/components/blob.md b/docs/content/reference/types/components/blob.md index 03472aafaa5f..072f71dc1d20 100644 --- a/docs/content/reference/types/components/blob.md +++ b/docs/content/reference/types/components/blob.md @@ -5,9 +5,11 @@ title: "Blob" A binary blob of data. -## Fields -* data: [`Blob`](../datatypes/blob.md) +## Arrow datatype +``` +List +``` ## API reference links * 🌊 [C++ API docs for `Blob`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Blob.html) diff --git a/docs/content/reference/types/components/class_id.md b/docs/content/reference/types/components/class_id.md index a173ab21117f..dc7fd44769e0 100644 --- a/docs/content/reference/types/components/class_id.md +++ b/docs/content/reference/types/components/class_id.md @@ -5,9 +5,11 @@ title: "ClassId" A 16-bit ID representing a type of semantic class. -## Fields -* id: [`ClassId`](../datatypes/class_id.md) +## Arrow datatype +``` +uint16 +``` ## API reference links * 🌊 [C++ API docs for `ClassId`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1ClassId.html) diff --git a/docs/content/reference/types/components/clear_is_recursive.md b/docs/content/reference/types/components/clear_is_recursive.md index 4987c79c1676..c7ff9fd52c8e 100644 --- a/docs/content/reference/types/components/clear_is_recursive.md +++ b/docs/content/reference/types/components/clear_is_recursive.md @@ -5,9 +5,11 @@ title: "ClearIsRecursive" Configures how a clear operation should behave - recursive or not. -## Fields -* recursive: [`Bool`](../datatypes/bool.md) +## Arrow datatype +``` +boolean +``` ## API reference links * 🌊 [C++ API docs for `ClearIsRecursive`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1ClearIsRecursive.html) diff --git a/docs/content/reference/types/components/color.md b/docs/content/reference/types/components/color.md index 80e08407860d..378c99a22eae 100644 --- a/docs/content/reference/types/components/color.md +++ b/docs/content/reference/types/components/color.md @@ -8,9 +8,11 @@ An RGBA color with unmultiplied/separate alpha, in sRGB gamma space with linear The color is stored as a 32-bit integer, where the most significant byte is `R` and the least significant byte is `A`. -## Fields -* rgba: [`Rgba32`](../datatypes/rgba32.md) +## Arrow datatype +``` +uint32 +``` ## API reference links * 🌊 [C++ API docs for `Color`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Color.html) diff --git a/docs/content/reference/types/components/colormap.md b/docs/content/reference/types/components/colormap.md index 6f91463556d9..70de09de6056 100644 --- a/docs/content/reference/types/components/colormap.md +++ b/docs/content/reference/types/components/colormap.md @@ -10,14 +10,55 @@ In the future, the Rerun Viewer will allow users to define their own colormaps, but currently the Viewer is limited to the types defined here. ## Variants +#### `Grayscale` = 1 +A simple black to white gradient. -* Grayscale -* Inferno -* Magma -* Plasma -* Turbo -* Viridis -* CyanToYellow +This is a sRGB gray gradient which is perceptually uniform. + +#### `Inferno` = 2 +The Inferno colormap from Matplotlib. + +This is a perceptually uniform colormap. +It interpolates from black to red to bright yellow. + +#### `Magma` = 3 +The Magma colormap from Matplotlib. + +This is a perceptually uniform colormap. +It interpolates from black to purple to white. + +#### `Plasma` = 4 +The Plasma colormap from Matplotlib. + +This is a perceptually uniform colormap. +It interpolates from dark blue to purple to yellow. + +#### `Turbo` = 5 +Google's Turbo colormap map. + +This is a perceptually non-uniform rainbow colormap addressing many issues of +more traditional rainbow colormaps like Jet. +It is more perceptually uniform without sharp transitions and is more colorblind-friendly. +Details: + +#### `Viridis` = 6 +The Viridis colormap from Matplotlib + +This is a perceptually uniform colormap which is robust to color blindness. +It interpolates from dark purple to green to yellow. + +#### `CyanToYellow` = 7 +Rasmusgo's Cyan to Yellow colormap + +This is a perceptually uniform colormap which is robust to color blindness. +It is especially suited for visualizing signed values. +It interpolates from cyan to blue to dark gray to brass to yellow. + + +## Arrow datatype +``` +uint8 +``` ## API reference links * 🌊 [C++ API docs for `Colormap`](https://ref.rerun.io/docs/cpp/stable/namespacererun_1_1components.html) diff --git a/docs/content/reference/types/components/depth_meter.md b/docs/content/reference/types/components/depth_meter.md index 889700508147..38e763ed2b73 100644 --- a/docs/content/reference/types/components/depth_meter.md +++ b/docs/content/reference/types/components/depth_meter.md @@ -12,9 +12,11 @@ this value would be `1000`. Note that the only effect on 2D views is the physical depth values shown when hovering the image. In 3D views on the other hand, this affects where the points of the point cloud are placed. -## Fields -* value: [`Float32`](../datatypes/float32.md) +## Arrow datatype +``` +float32 +``` ## API reference links * 🌊 [C++ API docs for `DepthMeter`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1DepthMeter.html) diff --git a/docs/content/reference/types/components/disconnected_space.md b/docs/content/reference/types/components/disconnected_space.md index 7e56f28b171f..381c51aed955 100644 --- a/docs/content/reference/types/components/disconnected_space.md +++ b/docs/content/reference/types/components/disconnected_space.md @@ -10,9 +10,11 @@ making it impossible to transform the entity path into its parent's space and vi It *only* applies to space views that work with spatial transformations, i.e. 2D & 3D space views. This is useful for specifying that a subgraph is independent of the rest of the scene. -## Fields -* is_disconnected: [`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) diff --git a/docs/content/reference/types/components/draw_order.md b/docs/content/reference/types/components/draw_order.md index 726de2c37d85..831a758b90f9 100644 --- a/docs/content/reference/types/components/draw_order.md +++ b/docs/content/reference/types/components/draw_order.md @@ -10,9 +10,11 @@ Within an entity draw order is governed by the order of the components. Draw order for entities with the same draw order is generally undefined. -## Fields -* value: [`Float32`](../datatypes/float32.md) +## Arrow datatype +``` +float32 +``` ## API reference links * 🌊 [C++ API docs for `DrawOrder`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1DrawOrder.html) diff --git a/docs/content/reference/types/components/entity_path.md b/docs/content/reference/types/components/entity_path.md index 93cbe3bfecf4..55cddd6dbf7b 100644 --- a/docs/content/reference/types/components/entity_path.md +++ b/docs/content/reference/types/components/entity_path.md @@ -5,9 +5,11 @@ title: "EntityPath" A path to an entity, usually to reference some data that is part of the target entity. -## Fields -* value: [`EntityPath`](../datatypes/entity_path.md) +## Arrow datatype +``` +utf8 +``` ## API reference links * 🌊 [C++ API docs for `EntityPath`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1EntityPath.html) diff --git a/docs/content/reference/types/components/fill_mode.md b/docs/content/reference/types/components/fill_mode.md index 2265261871b7..f95ed3ac01a6 100644 --- a/docs/content/reference/types/components/fill_mode.md +++ b/docs/content/reference/types/components/fill_mode.md @@ -6,10 +6,32 @@ title: "FillMode" How a geometric shape is drawn and colored. ## Variants +#### `MajorWireframe` = 1 +Lines are drawn around the parts of the shape which directly correspond to the logged data. -* MajorWireframe -* DenseWireframe -* Solid +Examples of what this means: + +* An [`archetypes.Ellipsoids3D`](https://rerun.io/docs/reference/types/archetypes/ellipsoids3d) will draw three axis-aligned ellipses that are cross-sections + of each ellipsoid, each of which displays two out of three of the sizes of the ellipsoid. +* For [`archetypes.Boxes3D`](https://rerun.io/docs/reference/types/archetypes/boxes3d), it is the edges of the box, identical to `DenseWireframe`. + +#### `DenseWireframe` = 2 +Many lines are drawn to represent the surface of the shape in a see-through fashion. + +Examples of what this means: + +* An [`archetypes.Ellipsoids3D`](https://rerun.io/docs/reference/types/archetypes/ellipsoids3d) will draw a wireframe triangle mesh that approximates each + ellipsoid. +* For [`archetypes.Boxes3D`](https://rerun.io/docs/reference/types/archetypes/boxes3d), it is the edges of the box, identical to `MajorWireframe`. + +#### `Solid` = 3 +The surface of the shape is filled in with a solid color. No lines are drawn. + + +## Arrow datatype +``` +uint8 +``` ## API reference links * 🌊 [C++ API docs for `FillMode`](https://ref.rerun.io/docs/cpp/stable/namespacererun_1_1components.html) diff --git a/docs/content/reference/types/components/fill_ratio.md b/docs/content/reference/types/components/fill_ratio.md index 3967623f6eb2..4dca25d1a3d0 100644 --- a/docs/content/reference/types/components/fill_ratio.md +++ b/docs/content/reference/types/components/fill_ratio.md @@ -10,9 +10,11 @@ Valid range is from 0 to max float although typically values above 1.0 are not u Defaults to 1.0. -## Fields -* value: [`Float32`](../datatypes/float32.md) +## Arrow datatype +``` +float32 +``` ## API reference links * 🌊 [C++ API docs for `FillRatio`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1FillRatio.html) diff --git a/docs/content/reference/types/components/gamma_correction.md b/docs/content/reference/types/components/gamma_correction.md index 7deef22dc5ec..1e1b2a08de1a 100644 --- a/docs/content/reference/types/components/gamma_correction.md +++ b/docs/content/reference/types/components/gamma_correction.md @@ -11,9 +11,11 @@ Used to adjust the gamma of a color or scalar value between 0 and 1 before rende Valid range is from 0 (excluding) to max float. Defaults to 1.0 unless otherwise specified. -## Fields -* gamma: [`Float32`](../datatypes/float32.md) +## Arrow datatype +``` +float32 +``` ## API reference links * 🌊 [C++ API docs for `GammaCorrection`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1GammaCorrection.html) diff --git a/docs/content/reference/types/components/half_size2d.md b/docs/content/reference/types/components/half_size2d.md index b87a68a9d326..f844965e9039 100644 --- a/docs/content/reference/types/components/half_size2d.md +++ b/docs/content/reference/types/components/half_size2d.md @@ -10,9 +10,11 @@ Measured in its local coordinate system. The box extends both in negative and positive direction along each axis. Negative sizes indicate that the box is flipped along the respective axis, but this has no effect on how it is displayed. -## Fields -* xy: [`Vec2D`](../datatypes/vec2d.md) +## Arrow datatype +``` +FixedSizeList<2, float32> +``` ## API reference links * 🌊 [C++ API docs for `HalfSize2D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1HalfSize2D.html) diff --git a/docs/content/reference/types/components/half_size3d.md b/docs/content/reference/types/components/half_size3d.md index a472aab8ef47..eaa9e16365fa 100644 --- a/docs/content/reference/types/components/half_size3d.md +++ b/docs/content/reference/types/components/half_size3d.md @@ -10,9 +10,11 @@ Measured in its local coordinate system. The box extends both in negative and positive direction along each axis. Negative sizes indicate that the box is flipped along the respective axis, but this has no effect on how it is displayed. -## Fields -* xyz: [`Vec3D`](../datatypes/vec3d.md) +## Arrow datatype +``` +FixedSizeList<3, float32> +``` ## API reference links * 🌊 [C++ API docs for `HalfSize3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1HalfSize3D.html) diff --git a/docs/content/reference/types/components/image_buffer.md b/docs/content/reference/types/components/image_buffer.md index 05956c98a3b2..146c591d06eb 100644 --- a/docs/content/reference/types/components/image_buffer.md +++ b/docs/content/reference/types/components/image_buffer.md @@ -7,9 +7,11 @@ A buffer that is known to store image data. To interpret the contents of this buffer, see, [`components.ImageFormat`](https://rerun.io/docs/reference/types/components/image_format). -## Fields -* buffer: [`Blob`](../datatypes/blob.md) +## Arrow datatype +``` +List +``` ## API reference links * 🌊 [C++ API docs for `ImageBuffer`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1ImageBuffer.html) diff --git a/docs/content/reference/types/components/image_format.md b/docs/content/reference/types/components/image_format.md index 43b84c94f226..a3648ec96471 100644 --- a/docs/content/reference/types/components/image_format.md +++ b/docs/content/reference/types/components/image_format.md @@ -5,9 +5,17 @@ title: "ImageFormat" The metadata describing the contents of a [`components.ImageBuffer`](https://rerun.io/docs/reference/types/components/image_buffer). -## Fields -* image_format: [`ImageFormat`](../datatypes/image_format.md) +## Arrow datatype +``` +Struct { + width: uint32 + height: uint32 + pixel_format: nullable uint8 + color_model: nullable uint8 + channel_datatype: nullable uint8 +} +``` ## API reference links * 🌊 [C++ API docs for `ImageFormat`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1ImageFormat.html) diff --git a/docs/content/reference/types/components/image_plane_distance.md b/docs/content/reference/types/components/image_plane_distance.md index 243ea12b2744..929fafc5efce 100644 --- a/docs/content/reference/types/components/image_plane_distance.md +++ b/docs/content/reference/types/components/image_plane_distance.md @@ -7,9 +7,11 @@ The distance from the camera origin to the image plane when the projection is sh This is only used for visualization purposes, and does not affect the projection itself. -## Fields -* image_from_camera: [`Float32`](../datatypes/float32.md) +## Arrow datatype +``` +float32 +``` ## API reference links * 🌊 [C++ API docs for `ImagePlaneDistance`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1ImagePlaneDistance.html) diff --git a/docs/content/reference/types/components/keypoint_id.md b/docs/content/reference/types/components/keypoint_id.md index a165a32212a6..473f7a622de3 100644 --- a/docs/content/reference/types/components/keypoint_id.md +++ b/docs/content/reference/types/components/keypoint_id.md @@ -5,9 +5,11 @@ title: "KeypointId" A 16-bit ID representing a type of semantic keypoint within a class. -## Fields -* id: [`KeypointId`](../datatypes/keypoint_id.md) +## Arrow datatype +``` +uint16 +``` ## API reference links * 🌊 [C++ API docs for `KeypointId`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1KeypointId.html) diff --git a/docs/content/reference/types/components/lat_lon.md b/docs/content/reference/types/components/lat_lon.md index 5dfd2835a7da..d79c71341d49 100644 --- a/docs/content/reference/types/components/lat_lon.md +++ b/docs/content/reference/types/components/lat_lon.md @@ -5,9 +5,11 @@ title: "LatLon" A geographical position expressed in EPSG:4326 latitude and longitude. -## Fields -* lat_lon: [`DVec2D`](../datatypes/dvec2d.md) +## Arrow datatype +``` +FixedSizeList<2, float64> +``` ## API reference links * 🌊 [C++ API docs for `LatLon`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1LatLon.html?speculative-link) diff --git a/docs/content/reference/types/components/length.md b/docs/content/reference/types/components/length.md index 225acb860b43..ccf94d300945 100644 --- a/docs/content/reference/types/components/length.md +++ b/docs/content/reference/types/components/length.md @@ -8,9 +8,11 @@ Length, or one-dimensional size. Measured in its local coordinate system; consult the archetype in use to determine which axis or part of the entity this is the length of. -## Fields -* length: [`Float32`](../datatypes/float32.md) +## Arrow datatype +``` +float32 +``` ## API reference links * 🌊 [C++ API docs for `Length`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Length.html?speculative-link) diff --git a/docs/content/reference/types/components/line_strip2d.md b/docs/content/reference/types/components/line_strip2d.md index 96b6ee363c07..4cd8b225161e 100644 --- a/docs/content/reference/types/components/line_strip2d.md +++ b/docs/content/reference/types/components/line_strip2d.md @@ -16,9 +16,11 @@ The points will be connected in order, like so: 4 ``` -## Fields -* points: list of [`Vec2D`](../datatypes/vec2d.md) +## Arrow datatype +``` +List> +``` ## API reference links * 🌊 [C++ API docs for `LineStrip2D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1LineStrip2D.html) diff --git a/docs/content/reference/types/components/line_strip3d.md b/docs/content/reference/types/components/line_strip3d.md index b3b7c91677bf..8bc3cc421fab 100644 --- a/docs/content/reference/types/components/line_strip3d.md +++ b/docs/content/reference/types/components/line_strip3d.md @@ -16,9 +16,11 @@ The points will be connected in order, like so: 4 ``` -## Fields -* points: list of [`Vec3D`](../datatypes/vec3d.md) +## Arrow datatype +``` +List> +``` ## API reference links * 🌊 [C++ API docs for `LineStrip3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1LineStrip3D.html) diff --git a/docs/content/reference/types/components/magnification_filter.md b/docs/content/reference/types/components/magnification_filter.md index 9a1fd01dd6ef..425505e8b793 100644 --- a/docs/content/reference/types/components/magnification_filter.md +++ b/docs/content/reference/types/components/magnification_filter.md @@ -6,9 +6,22 @@ title: "MagnificationFilter" Filter used when magnifying an image/texture such that a single pixel/texel is displayed as multiple pixels on screen. ## Variants +#### `Nearest` = 1 +Show the nearest pixel value. -* Nearest -* Linear +This will give a blocky appearance when zooming in. +Used as default when rendering 2D images. + +#### `Linear` = 2 +Linearly interpolate the nearest neighbors, creating a smoother look when zooming in. + +Used as default for mesh rendering. + + +## Arrow datatype +``` +uint8 +``` ## API reference links * 🌊 [C++ API docs for `MagnificationFilter`](https://ref.rerun.io/docs/cpp/stable/namespacererun_1_1components.html) diff --git a/docs/content/reference/types/components/marker_shape.md b/docs/content/reference/types/components/marker_shape.md index e046485539d4..e0fe1c1cdd83 100644 --- a/docs/content/reference/types/components/marker_shape.md +++ b/docs/content/reference/types/components/marker_shape.md @@ -6,17 +6,41 @@ title: "MarkerShape" The visual appearance of a point in e.g. a 2D plot. ## Variants +#### `Circle` = 1 +`⏺` -* Circle -* Diamond -* Square -* Cross -* Plus -* Up -* Down -* Left -* Right -* Asterisk +#### `Diamond` = 2 +`◆` + +#### `Square` = 3 +`◼️` + +#### `Cross` = 4 +`x` + +#### `Plus` = 5 +`+` + +#### `Up` = 6 +`▲` + +#### `Down` = 7 +`▼` + +#### `Left` = 8 +`◀` + +#### `Right` = 9 +`▶` + +#### `Asterisk` = 10 +`*` + + +## Arrow datatype +``` +uint8 +``` ## API reference links * 🌊 [C++ API docs for `MarkerShape`](https://ref.rerun.io/docs/cpp/stable/namespacererun_1_1components.html) diff --git a/docs/content/reference/types/components/marker_size.md b/docs/content/reference/types/components/marker_size.md index 20a70f9f2167..c666e7ac9359 100644 --- a/docs/content/reference/types/components/marker_size.md +++ b/docs/content/reference/types/components/marker_size.md @@ -5,9 +5,11 @@ title: "MarkerSize" Radius of a marker of a point in e.g. a 2D plot, measured in UI points. -## Fields -* value: [`Float32`](../datatypes/float32.md) +## Arrow datatype +``` +float32 +``` ## API reference links * 🌊 [C++ API docs for `MarkerSize`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1MarkerSize.html) diff --git a/docs/content/reference/types/components/media_type.md b/docs/content/reference/types/components/media_type.md index 0671991d622a..d6e44ccf87c6 100644 --- a/docs/content/reference/types/components/media_type.md +++ b/docs/content/reference/types/components/media_type.md @@ -8,9 +8,11 @@ A standardized media type (RFC2046, formerly known as MIME types), encoded as a The complete reference of officially registered media types is maintained by the IANA and can be consulted at . -## Fields -* value: [`Utf8`](../datatypes/utf8.md) +## Arrow datatype +``` +utf8 +``` ## API reference links * 🌊 [C++ API docs for `MediaType`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1MediaType.html) diff --git a/docs/content/reference/types/components/name.md b/docs/content/reference/types/components/name.md index f0209a4f182b..3a9f40512776 100644 --- a/docs/content/reference/types/components/name.md +++ b/docs/content/reference/types/components/name.md @@ -5,9 +5,11 @@ title: "Name" A display name, typically for an entity or a item like a plot series. -## Fields -* value: [`Utf8`](../datatypes/utf8.md) +## Arrow datatype +``` +utf8 +``` ## API reference links * 🌊 [C++ API docs for `Name`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Name.html) diff --git a/docs/content/reference/types/components/opacity.md b/docs/content/reference/types/components/opacity.md index a937a88c5a6d..55a9976a5668 100644 --- a/docs/content/reference/types/components/opacity.md +++ b/docs/content/reference/types/components/opacity.md @@ -8,9 +8,11 @@ Degree of transparency ranging from 0.0 (fully transparent) to 1.0 (fully opaque The final opacity value may be a result of multiplication with alpha values as specified by other color sources. Unless otherwise specified, the default value is 1. -## Fields -* opacity: [`Float32`](../datatypes/float32.md) +## Arrow datatype +``` +float32 +``` ## API reference links * 🌊 [C++ API docs for `Opacity`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Opacity.html) diff --git a/docs/content/reference/types/components/pinhole_projection.md b/docs/content/reference/types/components/pinhole_projection.md index 1e3e298647ba..bf122ee28833 100644 --- a/docs/content/reference/types/components/pinhole_projection.md +++ b/docs/content/reference/types/components/pinhole_projection.md @@ -15,9 +15,11 @@ Example: 0.0 0.0 1.0 ``` -## Fields -* image_from_camera: [`Mat3x3`](../datatypes/mat3x3.md) +## Arrow datatype +``` +FixedSizeList<9, float32> +``` ## API reference links * 🌊 [C++ API docs for `PinholeProjection`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1PinholeProjection.html) diff --git a/docs/content/reference/types/components/pose_rotation_axis_angle.md b/docs/content/reference/types/components/pose_rotation_axis_angle.md index b723959fbbf4..02e7c4f20b3c 100644 --- a/docs/content/reference/types/components/pose_rotation_axis_angle.md +++ b/docs/content/reference/types/components/pose_rotation_axis_angle.md @@ -5,9 +5,14 @@ title: "PoseRotationAxisAngle" 3D rotation represented by a rotation around a given axis that doesn't propagate in the transform hierarchy. -## Fields -* rotation: [`RotationAxisAngle`](../datatypes/rotation_axis_angle.md) +## Arrow datatype +``` +Struct { + axis: FixedSizeList<3, float32> + angle: float32 +} +``` ## API reference links * 🌊 [C++ API docs for `PoseRotationAxisAngle`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1PoseRotationAxisAngle.html) diff --git a/docs/content/reference/types/components/pose_rotation_quat.md b/docs/content/reference/types/components/pose_rotation_quat.md index 0e4ed549f4fd..47b488cb6124 100644 --- a/docs/content/reference/types/components/pose_rotation_quat.md +++ b/docs/content/reference/types/components/pose_rotation_quat.md @@ -8,9 +8,11 @@ A 3D rotation expressed as a quaternion that doesn't propagate in the transform Note: although the x,y,z,w components of the quaternion will be passed through to the datastore as provided, when used in the Viewer, quaternions will always be normalized. -## Fields -* quaternion: [`Quaternion`](../datatypes/quaternion.md) +## Arrow datatype +``` +FixedSizeList<4, float32> +``` ## API reference links * 🌊 [C++ API docs for `PoseRotationQuat`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1PoseRotationQuat.html) diff --git a/docs/content/reference/types/components/pose_scale3d.md b/docs/content/reference/types/components/pose_scale3d.md index 792db4c76073..128c19fce51e 100644 --- a/docs/content/reference/types/components/pose_scale3d.md +++ b/docs/content/reference/types/components/pose_scale3d.md @@ -9,9 +9,11 @@ A scale of 1.0 means no scaling. A scale of 2.0 means doubling the size. Each component scales along the corresponding axis. -## Fields -* scale: [`Vec3D`](../datatypes/vec3d.md) +## Arrow datatype +``` +FixedSizeList<3, float32> +``` ## API reference links * 🌊 [C++ API docs for `PoseScale3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1PoseScale3D.html) diff --git a/docs/content/reference/types/components/pose_transform_mat3x3.md b/docs/content/reference/types/components/pose_transform_mat3x3.md index 9127fb625400..8b861a8843e9 100644 --- a/docs/content/reference/types/components/pose_transform_mat3x3.md +++ b/docs/content/reference/types/components/pose_transform_mat3x3.md @@ -17,9 +17,11 @@ row 1 | flat_columns[1] flat_columns[4] flat_columns[7] row 2 | flat_columns[2] flat_columns[5] flat_columns[8] ``` -## Fields -* matrix: [`Mat3x3`](../datatypes/mat3x3.md) +## Arrow datatype +``` +FixedSizeList<9, float32> +``` ## API reference links * 🌊 [C++ API docs for `PoseTransformMat3x3`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1PoseTransformMat3x3.html) diff --git a/docs/content/reference/types/components/pose_translation3d.md b/docs/content/reference/types/components/pose_translation3d.md index 625c9cedfa99..7101ca8ddc32 100644 --- a/docs/content/reference/types/components/pose_translation3d.md +++ b/docs/content/reference/types/components/pose_translation3d.md @@ -5,9 +5,11 @@ title: "PoseTranslation3D" A translation vector in 3D space that doesn't propagate in the transform hierarchy. -## Fields -* vector: [`Vec3D`](../datatypes/vec3d.md) +## Arrow datatype +``` +FixedSizeList<3, float32> +``` ## API reference links * 🌊 [C++ API docs for `PoseTranslation3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1PoseTranslation3D.html) diff --git a/docs/content/reference/types/components/position2d.md b/docs/content/reference/types/components/position2d.md index 65694d28345a..f151d1b5c618 100644 --- a/docs/content/reference/types/components/position2d.md +++ b/docs/content/reference/types/components/position2d.md @@ -5,9 +5,11 @@ title: "Position2D" A position in 2D space. -## Fields -* xy: [`Vec2D`](../datatypes/vec2d.md) +## Arrow datatype +``` +FixedSizeList<2, float32> +``` ## API reference links * 🌊 [C++ API docs for `Position2D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Position2D.html) diff --git a/docs/content/reference/types/components/position3d.md b/docs/content/reference/types/components/position3d.md index 8ea86bf73f2a..1afbba072890 100644 --- a/docs/content/reference/types/components/position3d.md +++ b/docs/content/reference/types/components/position3d.md @@ -5,9 +5,11 @@ title: "Position3D" A position in 3D space. -## Fields -* xyz: [`Vec3D`](../datatypes/vec3d.md) +## Arrow datatype +``` +FixedSizeList<3, float32> +``` ## API reference links * 🌊 [C++ API docs for `Position3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Position3D.html) diff --git a/docs/content/reference/types/components/radius.md b/docs/content/reference/types/components/radius.md index fbd9709add4c..1f183d7143c1 100644 --- a/docs/content/reference/types/components/radius.md +++ b/docs/content/reference/types/components/radius.md @@ -12,9 +12,11 @@ UI points are independent of zooming in Views, but are sensitive to the applicat at 100% UI scaling, UI points are equal to pixels The Viewer's UI scaling defaults to the OS scaling which typically is 100% for full HD screens and 200% for 4k screens. -## Fields -* value: [`Float32`](../datatypes/float32.md) +## Arrow datatype +``` +float32 +``` ## API reference links * 🌊 [C++ API docs for `Radius`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Radius.html) diff --git a/docs/content/reference/types/components/range1d.md b/docs/content/reference/types/components/range1d.md index 0926e7d53f0b..cd312b83c0a1 100644 --- a/docs/content/reference/types/components/range1d.md +++ b/docs/content/reference/types/components/range1d.md @@ -5,9 +5,11 @@ title: "Range1D" A 1D range, specifying a lower and upper bound. -## Fields -* range: [`Range1D`](../datatypes/range1d.md) +## Arrow datatype +``` +FixedSizeList<2, float64> +``` ## API reference links * 🌊 [C++ API docs for `Range1D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Range1D.html) diff --git a/docs/content/reference/types/components/resolution.md b/docs/content/reference/types/components/resolution.md index 4a0a305cd273..726ecb92b5e9 100644 --- a/docs/content/reference/types/components/resolution.md +++ b/docs/content/reference/types/components/resolution.md @@ -7,9 +7,11 @@ Pixel resolution width & height, e.g. of a camera sensor. Typically in integer units, but for some use cases floating point may be used. -## Fields -* resolution: [`Vec2D`](../datatypes/vec2d.md) +## Arrow datatype +``` +FixedSizeList<2, float32> +``` ## API reference links * 🌊 [C++ API docs for `Resolution`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Resolution.html) diff --git a/docs/content/reference/types/components/rotation_axis_angle.md b/docs/content/reference/types/components/rotation_axis_angle.md index 30dc060fe0ee..7807353f8a32 100644 --- a/docs/content/reference/types/components/rotation_axis_angle.md +++ b/docs/content/reference/types/components/rotation_axis_angle.md @@ -5,9 +5,14 @@ title: "RotationAxisAngle" 3D rotation represented by a rotation around a given axis. -## Fields -* rotation: [`RotationAxisAngle`](../datatypes/rotation_axis_angle.md) +## Arrow datatype +``` +Struct { + axis: FixedSizeList<3, float32> + angle: float32 +} +``` ## API reference links * 🌊 [C++ API docs for `RotationAxisAngle`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1RotationAxisAngle.html) diff --git a/docs/content/reference/types/components/rotation_quat.md b/docs/content/reference/types/components/rotation_quat.md index e1affa624a77..10e5cc936d57 100644 --- a/docs/content/reference/types/components/rotation_quat.md +++ b/docs/content/reference/types/components/rotation_quat.md @@ -8,9 +8,11 @@ A 3D rotation expressed as a quaternion. Note: although the x,y,z,w components of the quaternion will be passed through to the datastore as provided, when used in the Viewer, quaternions will always be normalized. -## Fields -* quaternion: [`Quaternion`](../datatypes/quaternion.md) +## Arrow datatype +``` +FixedSizeList<4, float32> +``` ## API reference links * 🌊 [C++ API docs for `RotationQuat`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1RotationQuat.html) diff --git a/docs/content/reference/types/components/scalar.md b/docs/content/reference/types/components/scalar.md index 6e966a9be716..43ba582aa596 100644 --- a/docs/content/reference/types/components/scalar.md +++ b/docs/content/reference/types/components/scalar.md @@ -7,9 +7,11 @@ A scalar value, encoded as a 64-bit floating point. Used for time series plots. -## Fields -* value: [`Float64`](../datatypes/float64.md) +## Arrow datatype +``` +float64 +``` ## API reference links * 🌊 [C++ API docs for `Scalar`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Scalar.html) diff --git a/docs/content/reference/types/components/scale3d.md b/docs/content/reference/types/components/scale3d.md index b079e46bd770..9951f4a254b1 100644 --- a/docs/content/reference/types/components/scale3d.md +++ b/docs/content/reference/types/components/scale3d.md @@ -9,9 +9,11 @@ A scale of 1.0 means no scaling. A scale of 2.0 means doubling the size. Each component scales along the corresponding axis. -## Fields -* scale: [`Vec3D`](../datatypes/vec3d.md) +## Arrow datatype +``` +FixedSizeList<3, float32> +``` ## API reference links * 🌊 [C++ API docs for `Scale3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Scale3D.html) diff --git a/docs/content/reference/types/components/show_labels.md b/docs/content/reference/types/components/show_labels.md index dc8ad278731d..0114655bc990 100644 --- a/docs/content/reference/types/components/show_labels.md +++ b/docs/content/reference/types/components/show_labels.md @@ -9,9 +9,11 @@ The main purpose of this component existing separately from the labels themselve is to be overridden when desired, to allow hiding and showing from the viewer and blueprints. -## Fields -* show_labels: [`Bool`](../datatypes/bool.md) +## Arrow datatype +``` +boolean +``` ## API reference links * 🌊 [C++ API docs for `ShowLabels`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1ShowLabels.html) diff --git a/docs/content/reference/types/components/stroke_width.md b/docs/content/reference/types/components/stroke_width.md index 02494ce8307c..ea412bf8614b 100644 --- a/docs/content/reference/types/components/stroke_width.md +++ b/docs/content/reference/types/components/stroke_width.md @@ -5,9 +5,11 @@ title: "StrokeWidth" The width of a stroke specified in UI points. -## Fields -* width: [`Float32`](../datatypes/float32.md) +## Arrow datatype +``` +float32 +``` ## API reference links * 🌊 [C++ API docs for `StrokeWidth`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1StrokeWidth.html) diff --git a/docs/content/reference/types/components/tensor_data.md b/docs/content/reference/types/components/tensor_data.md index 31735618c37c..ee16b543b203 100644 --- a/docs/content/reference/types/components/tensor_data.md +++ b/docs/content/reference/types/components/tensor_data.md @@ -12,9 +12,30 @@ a 2D RGB Image, the shape would be `[height, width, channel]`. These dimensions are combined with an index to look up values from the `buffer` field, which stores a contiguous array of typed values. -## Fields -* data: [`TensorData`](../datatypes/tensor_data.md) +## Arrow datatype +``` +Struct { + shape: List + buffer: DenseUnion { + 0 = "_null_markers": nullable null + 1 = "U8": List + 2 = "U16": List + 3 = "U32": List + 4 = "U64": List + 5 = "I8": List + 6 = "I16": List + 7 = "I32": List + 8 = "I64": List + 9 = "F16": List + 10 = "F32": List + 11 = "F64": List + } +} +``` ## API reference links * 🌊 [C++ API docs for `TensorData`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1TensorData.html) diff --git a/docs/content/reference/types/components/tensor_dimension_index_selection.md b/docs/content/reference/types/components/tensor_dimension_index_selection.md index e142e900544c..980e17e2fcea 100644 --- a/docs/content/reference/types/components/tensor_dimension_index_selection.md +++ b/docs/content/reference/types/components/tensor_dimension_index_selection.md @@ -5,9 +5,14 @@ title: "TensorDimensionIndexSelection" Specifies a concrete index on a tensor dimension. -## Fields -* selection: [`TensorDimensionIndexSelection`](../datatypes/tensor_dimension_index_selection.md) +## Arrow datatype +``` +Struct { + dimension: uint32 + index: uint64 +} +``` ## API reference links * 🌊 [C++ API docs for `TensorDimensionIndexSelection`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1TensorDimensionIndexSelection.html) diff --git a/docs/content/reference/types/components/tensor_height_dimension.md b/docs/content/reference/types/components/tensor_height_dimension.md index c9a846d8ac05..ee9897b21a95 100644 --- a/docs/content/reference/types/components/tensor_height_dimension.md +++ b/docs/content/reference/types/components/tensor_height_dimension.md @@ -5,9 +5,14 @@ title: "TensorHeightDimension" Specifies which dimension to use for height. -## Fields -* dimension: [`TensorDimensionSelection`](../datatypes/tensor_dimension_selection.md) +## Arrow datatype +``` +Struct { + dimension: uint32 + invert: boolean +} +``` ## API reference links * 🌊 [C++ API docs for `TensorHeightDimension`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1TensorHeightDimension.html) diff --git a/docs/content/reference/types/components/tensor_width_dimension.md b/docs/content/reference/types/components/tensor_width_dimension.md index d7c5ad8f8bd8..47bb15d67bf0 100644 --- a/docs/content/reference/types/components/tensor_width_dimension.md +++ b/docs/content/reference/types/components/tensor_width_dimension.md @@ -5,9 +5,14 @@ title: "TensorWidthDimension" Specifies which dimension to use for width. -## Fields -* dimension: [`TensorDimensionSelection`](../datatypes/tensor_dimension_selection.md) +## Arrow datatype +``` +Struct { + dimension: uint32 + invert: boolean +} +``` ## API reference links * 🌊 [C++ API docs for `TensorWidthDimension`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1TensorWidthDimension.html) diff --git a/docs/content/reference/types/components/texcoord2d.md b/docs/content/reference/types/components/texcoord2d.md index 090221106904..e8028dfe601d 100644 --- a/docs/content/reference/types/components/texcoord2d.md +++ b/docs/content/reference/types/components/texcoord2d.md @@ -20,9 +20,11 @@ V | . This is the same convention as in Vulkan/Metal/DX12/WebGPU, but (!) unlike OpenGL, which places the origin at the bottom-left. -## Fields -* uv: [`Vec2D`](../datatypes/vec2d.md) +## Arrow datatype +``` +FixedSizeList<2, float32> +``` ## API reference links * 🌊 [C++ API docs for `Texcoord2D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Texcoord2D.html) diff --git a/docs/content/reference/types/components/text.md b/docs/content/reference/types/components/text.md index cca0c1485067..2cd6f7600149 100644 --- a/docs/content/reference/types/components/text.md +++ b/docs/content/reference/types/components/text.md @@ -5,9 +5,11 @@ title: "Text" A string of text, e.g. for labels and text documents. -## Fields -* value: [`Utf8`](../datatypes/utf8.md) +## Arrow datatype +``` +utf8 +``` ## API reference links * 🌊 [C++ API docs for `Text`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Text.html) diff --git a/docs/content/reference/types/components/text_log_level.md b/docs/content/reference/types/components/text_log_level.md index 81960e891128..32dfddb6ecba 100644 --- a/docs/content/reference/types/components/text_log_level.md +++ b/docs/content/reference/types/components/text_log_level.md @@ -13,9 +13,11 @@ Recommended to be one of: * `"DEBUG"` * `"TRACE"` -## Fields -* value: [`Utf8`](../datatypes/utf8.md) +## Arrow datatype +``` +utf8 +``` ## API reference links * 🌊 [C++ API docs for `TextLogLevel`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1TextLogLevel.html) diff --git a/docs/content/reference/types/components/transform_mat3x3.md b/docs/content/reference/types/components/transform_mat3x3.md index dcb6b8a4f730..c935ab8c691d 100644 --- a/docs/content/reference/types/components/transform_mat3x3.md +++ b/docs/content/reference/types/components/transform_mat3x3.md @@ -17,9 +17,11 @@ row 1 | flat_columns[1] flat_columns[4] flat_columns[7] row 2 | flat_columns[2] flat_columns[5] flat_columns[8] ``` -## Fields -* matrix: [`Mat3x3`](../datatypes/mat3x3.md) +## Arrow datatype +``` +FixedSizeList<9, float32> +``` ## API reference links * 🌊 [C++ API docs for `TransformMat3x3`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1TransformMat3x3.html) diff --git a/docs/content/reference/types/components/transform_relation.md b/docs/content/reference/types/components/transform_relation.md index 30850150916e..6fcbe695e1d2 100644 --- a/docs/content/reference/types/components/transform_relation.md +++ b/docs/content/reference/types/components/transform_relation.md @@ -6,9 +6,25 @@ title: "TransformRelation" Specifies relation a spatial transform describes. ## Variants +#### `ParentFromChild` = 1 +The transform describes how to transform into the parent entity's space. -* ParentFromChild -* ChildFromParent +E.g. a translation of (0, 1, 0) with this [`components.TransformRelation`](https://rerun.io/docs/reference/types/components/transform_relation) logged at `parent/child` means +that from the point of view of `parent`, `parent/child` is translated 1 unit along `parent`'s Y axis. +From perspective of `parent/child`, the `parent` entity is translated -1 unit along `parent/child`'s Y axis. + +#### `ChildFromParent` = 2 +The transform describes how to transform into the child entity's space. + +E.g. a translation of (0, 1, 0) with this [`components.TransformRelation`](https://rerun.io/docs/reference/types/components/transform_relation) logged at `parent/child` means +that from the point of view of `parent`, `parent/child` is translated -1 unit along `parent`'s Y axis. +From perspective of `parent/child`, the `parent` entity is translated 1 unit along `parent/child`'s Y axis. + + +## Arrow datatype +``` +uint8 +``` ## API reference links * 🌊 [C++ API docs for `TransformRelation`](https://ref.rerun.io/docs/cpp/stable/namespacererun_1_1components.html) diff --git a/docs/content/reference/types/components/translation3d.md b/docs/content/reference/types/components/translation3d.md index 58da7b1905bb..01bf5d576efe 100644 --- a/docs/content/reference/types/components/translation3d.md +++ b/docs/content/reference/types/components/translation3d.md @@ -5,9 +5,11 @@ title: "Translation3D" A translation vector in 3D space. -## Fields -* vector: [`Vec3D`](../datatypes/vec3d.md) +## Arrow datatype +``` +FixedSizeList<3, float32> +``` ## API reference links * 🌊 [C++ API docs for `Translation3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Translation3D.html) diff --git a/docs/content/reference/types/components/triangle_indices.md b/docs/content/reference/types/components/triangle_indices.md index 692a43e7e012..ae916c6f1ce0 100644 --- a/docs/content/reference/types/components/triangle_indices.md +++ b/docs/content/reference/types/components/triangle_indices.md @@ -5,9 +5,11 @@ title: "TriangleIndices" The three indices of a triangle in a triangle mesh. -## Fields -* indices: [`UVec3D`](../datatypes/uvec3d.md) +## Arrow datatype +``` +FixedSizeList<3, uint32> +``` ## API reference links * 🌊 [C++ API docs for `TriangleIndices`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1TriangleIndices.html) diff --git a/docs/content/reference/types/components/value_range.md b/docs/content/reference/types/components/value_range.md index e13c0fc619a2..cb9b367ef021 100644 --- a/docs/content/reference/types/components/value_range.md +++ b/docs/content/reference/types/components/value_range.md @@ -5,9 +5,11 @@ title: "ValueRange" Range of expected or valid values, specifying a lower and upper bound. -## Fields -* range: [`Range1D`](../datatypes/range1d.md) +## Arrow datatype +``` +FixedSizeList<2, float64> +``` ## API reference links * 🌊 [C++ API docs for `ValueRange`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1ValueRange.html) diff --git a/docs/content/reference/types/components/vector2d.md b/docs/content/reference/types/components/vector2d.md index 1dec9a9a4083..d5089b16a0a4 100644 --- a/docs/content/reference/types/components/vector2d.md +++ b/docs/content/reference/types/components/vector2d.md @@ -5,9 +5,11 @@ title: "Vector2D" A vector in 2D space. -## Fields -* vector: [`Vec2D`](../datatypes/vec2d.md) +## Arrow datatype +``` +FixedSizeList<2, float32> +``` ## API reference links * 🌊 [C++ API docs for `Vector2D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Vector2D.html) diff --git a/docs/content/reference/types/components/vector3d.md b/docs/content/reference/types/components/vector3d.md index 7ce41c7ebc54..c69041a95796 100644 --- a/docs/content/reference/types/components/vector3d.md +++ b/docs/content/reference/types/components/vector3d.md @@ -5,9 +5,11 @@ title: "Vector3D" A vector in 3D space. -## Fields -* vector: [`Vec3D`](../datatypes/vec3d.md) +## Arrow datatype +``` +FixedSizeList<3, float32> +``` ## API reference links * 🌊 [C++ API docs for `Vector3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Vector3D.html) diff --git a/docs/content/reference/types/components/video_timestamp.md b/docs/content/reference/types/components/video_timestamp.md index a9a18d196214..6c14ac134926 100644 --- a/docs/content/reference/types/components/video_timestamp.md +++ b/docs/content/reference/types/components/video_timestamp.md @@ -5,9 +5,11 @@ title: "VideoTimestamp" Timestamp inside a [`archetypes.AssetVideo`](https://rerun.io/docs/reference/types/archetypes/asset_video). -## Fields -* timestamp: [`VideoTimestamp`](../datatypes/video_timestamp.md) +## Arrow datatype +``` +int64 +``` ## API reference links * 🌊 [C++ API docs for `VideoTimestamp`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1VideoTimestamp.html) diff --git a/docs/content/reference/types/components/view_coordinates.md b/docs/content/reference/types/components/view_coordinates.md index 567b88663c15..41b7c9a72bea 100644 --- a/docs/content/reference/types/components/view_coordinates.md +++ b/docs/content/reference/types/components/view_coordinates.md @@ -22,9 +22,11 @@ The following constants are used to represent the different directions: * Forward = 5 * Back = 6 -## Fields -* coordinates: [`ViewCoordinates`](../datatypes/view_coordinates.md) +## Arrow datatype +``` +FixedSizeList<3, uint8> +``` ## API reference links * 🌊 [C++ API docs for `ViewCoordinates`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1ViewCoordinates.html) diff --git a/docs/content/reference/types/datatypes/angle.md b/docs/content/reference/types/datatypes/angle.md index 14ea32f9ff57..794a9733ef6c 100644 --- a/docs/content/reference/types/datatypes/angle.md +++ b/docs/content/reference/types/datatypes/angle.md @@ -5,9 +5,11 @@ title: "Angle" Angle in radians. -## Fields -* radians: `f32` +## Arrow datatype +``` +float32 +``` ## API reference links * 🌊 [C++ API docs for `Angle`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Angle.html) diff --git a/docs/content/reference/types/datatypes/annotation_info.md b/docs/content/reference/types/datatypes/annotation_info.md index 79f320dbc1a4..c8e36d0b5dd5 100644 --- a/docs/content/reference/types/datatypes/annotation_info.md +++ b/docs/content/reference/types/datatypes/annotation_info.md @@ -9,10 +9,30 @@ Color and label will be used to annotate entities/keypoints which reference the The id refers either to a class or key-point id ## Fields +#### `id` +Type: `uint16` -* id: `u16` -* label: [`Utf8`](../datatypes/utf8.md) -* color: [`Rgba32`](../datatypes/rgba32.md) +[`datatypes.ClassId`](https://rerun.io/docs/reference/types/datatypes/class_id) or [`datatypes.KeypointId`](https://rerun.io/docs/reference/types/datatypes/keypoint_id) to which this annotation info belongs. + +#### `label` +Type: nullable [`Utf8`](../datatypes/utf8.md) + +The label that will be shown in the UI. + +#### `color` +Type: nullable [`Rgba32`](../datatypes/rgba32.md) + +The color that will be applied to the annotated entity. + + +## Arrow datatype +``` +Struct { + id: uint16 + label: nullable utf8 + color: nullable uint32 +} +``` ## API reference links * 🌊 [C++ API docs for `AnnotationInfo`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1AnnotationInfo.html) diff --git a/docs/content/reference/types/datatypes/blob.md b/docs/content/reference/types/datatypes/blob.md index 2831c64a4b5e..5d2f7a61692a 100644 --- a/docs/content/reference/types/datatypes/blob.md +++ b/docs/content/reference/types/datatypes/blob.md @@ -5,9 +5,11 @@ title: "Blob" A binary blob of data. -## Fields -* data: list of `u8` +## Arrow datatype +``` +List +``` ## API reference links * 🌊 [C++ API docs for `Blob`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Blob.html) diff --git a/docs/content/reference/types/datatypes/bool.md b/docs/content/reference/types/datatypes/bool.md index 79b09071b87d..70ede9bee361 100644 --- a/docs/content/reference/types/datatypes/bool.md +++ b/docs/content/reference/types/datatypes/bool.md @@ -5,9 +5,11 @@ title: "Bool" A single boolean. -## Fields -* value: `bool` +## Arrow datatype +``` +boolean +``` ## API reference links * 🌊 [C++ API docs for `Bool`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Bool.html) diff --git a/docs/content/reference/types/datatypes/channel_datatype.md b/docs/content/reference/types/datatypes/channel_datatype.md index 9b0e8dd782b7..4e720a27dccd 100644 --- a/docs/content/reference/types/datatypes/channel_datatype.md +++ b/docs/content/reference/types/datatypes/channel_datatype.md @@ -8,18 +8,44 @@ The innermost datatype of an image. How individual color channel components are encoded. ## Variants +#### `U8` = 6 +8-bit unsigned integer. -* U8 -* I8 -* U16 -* I16 -* U32 -* I32 -* U64 -* I64 -* F16 -* F32 -* F64 +#### `I8` = 7 +8-bit signed integer. + +#### `U16` = 8 +16-bit unsigned integer. + +#### `I16` = 9 +16-bit signed integer. + +#### `U32` = 10 +32-bit unsigned integer. + +#### `I32` = 11 +32-bit signed integer. + +#### `U64` = 12 +64-bit unsigned integer. + +#### `I64` = 13 +64-bit signed integer. + +#### `F16` = 33 +16-bit IEEE-754 floating point, also known as `half`. + +#### `F32` = 34 +32-bit IEEE-754 floating point, also known as `float` or `single`. + +#### `F64` = 35 +64-bit IEEE-754 floating point, also known as `double`. + + +## Arrow datatype +``` +uint8 +``` ## API reference links * 🌊 [C++ API docs for `ChannelDatatype`](https://ref.rerun.io/docs/cpp/stable/namespacererun_1_1datatypes.html) diff --git a/docs/content/reference/types/datatypes/class_description.md b/docs/content/reference/types/datatypes/class_description.md index b2722e3947ca..d68ddd30b91c 100644 --- a/docs/content/reference/types/datatypes/class_description.md +++ b/docs/content/reference/types/datatypes/class_description.md @@ -19,10 +19,41 @@ keypoints should be connected with an edge. The edge should be labeled and colored as described by the class's [`datatypes.AnnotationInfo`](https://rerun.io/docs/reference/types/datatypes/annotation_info). ## Fields +#### `info` +Type: [`AnnotationInfo`](../datatypes/annotation_info.md) -* info: [`AnnotationInfo`](../datatypes/annotation_info.md) -* keypoint_annotations: list of [`AnnotationInfo`](../datatypes/annotation_info.md) -* keypoint_connections: list of [`KeypointPair`](../datatypes/keypoint_pair.md) +The [`datatypes.AnnotationInfo`](https://rerun.io/docs/reference/types/datatypes/annotation_info) for the class. + +#### `keypoint_annotations` +Type: List of [`AnnotationInfo`](../datatypes/annotation_info.md) + +The [`datatypes.AnnotationInfo`](https://rerun.io/docs/reference/types/datatypes/annotation_info) for all of the keypoints. + +#### `keypoint_connections` +Type: List of [`KeypointPair`](../datatypes/keypoint_pair.md) + +The connections between keypoints. + + +## Arrow datatype +``` +Struct { + info: Struct { + id: uint16 + label: nullable utf8 + color: nullable uint32 + } + keypoint_annotations: List + keypoint_connections: List +} +``` ## API reference links * 🌊 [C++ API docs for `ClassDescription`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1ClassDescription.html) diff --git a/docs/content/reference/types/datatypes/class_description_map_elem.md b/docs/content/reference/types/datatypes/class_description_map_elem.md index 68ace423e915..f8a2991f761c 100644 --- a/docs/content/reference/types/datatypes/class_description_map_elem.md +++ b/docs/content/reference/types/datatypes/class_description_map_elem.md @@ -8,9 +8,39 @@ A helper type for mapping [`datatypes.ClassId`](https://rerun.io/docs/reference/ This is internal to [`components.AnnotationContext`](https://rerun.io/docs/reference/types/components/annotation_context). ## Fields - -* class_id: [`ClassId`](../datatypes/class_id.md) -* class_description: [`ClassDescription`](../datatypes/class_description.md) +#### `class_id` +Type: [`ClassId`](../datatypes/class_id.md) + +The key: the [`components.ClassId`](https://rerun.io/docs/reference/types/components/class_id). + +#### `class_description` +Type: [`ClassDescription`](../datatypes/class_description.md) + +The value: class name, color, etc. + + +## Arrow datatype +``` +Struct { + class_id: uint16 + class_description: Struct { + info: Struct { + id: uint16 + label: nullable utf8 + color: nullable uint32 + } + keypoint_annotations: List + keypoint_connections: List + } +} +``` ## API reference links * 🌊 [C++ API docs for `ClassDescriptionMapElem`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1ClassDescriptionMapElem.html) diff --git a/docs/content/reference/types/datatypes/class_id.md b/docs/content/reference/types/datatypes/class_id.md index 74899c4df483..abc013862484 100644 --- a/docs/content/reference/types/datatypes/class_id.md +++ b/docs/content/reference/types/datatypes/class_id.md @@ -5,9 +5,11 @@ title: "ClassId" A 16-bit ID representing a type of semantic class. -## Fields -* id: `u16` +## Arrow datatype +``` +uint16 +``` ## API reference links * 🌊 [C++ API docs for `ClassId`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1ClassId.html) diff --git a/docs/content/reference/types/datatypes/color_model.md b/docs/content/reference/types/datatypes/color_model.md index 009c49f4bff6..e08c745e5e9b 100644 --- a/docs/content/reference/types/datatypes/color_model.md +++ b/docs/content/reference/types/datatypes/color_model.md @@ -8,12 +8,26 @@ Specified what color components are present in an [`archetypes.Image`](https://r This combined with [`datatypes.ChannelDatatype`](https://rerun.io/docs/reference/types/datatypes/channel_datatype) determines the pixel format of an image. ## Variants +#### `L` = 1 +Grayscale luminance intencity/brightness/value, sometimes called `Y` -* L -* RGB -* RGBA -* BGR -* BGRA +#### `RGB` = 2 +Red, Green, Blue + +#### `RGBA` = 3 +Red, Green, Blue, Alpha + +#### `BGR` = 4 +Blue, Green, Red + +#### `BGRA` = 5 +Blue, Green, Red, Alpha + + +## Arrow datatype +``` +uint8 +``` ## API reference links * 🌊 [C++ API docs for `ColorModel`](https://ref.rerun.io/docs/cpp/stable/namespacererun_1_1datatypes.html) diff --git a/docs/content/reference/types/datatypes/dvec2d.md b/docs/content/reference/types/datatypes/dvec2d.md index f39668b29bdf..ab2e8f604707 100644 --- a/docs/content/reference/types/datatypes/dvec2d.md +++ b/docs/content/reference/types/datatypes/dvec2d.md @@ -5,9 +5,11 @@ title: "DVec2D" A double-precision vector in 2D space. -## Fields -* xy: 2x `f64` +## Arrow datatype +``` +FixedSizeList<2, float64> +``` ## API reference links * 🌊 [C++ API docs for `DVec2D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1DVec2D.html?speculative-link) diff --git a/docs/content/reference/types/datatypes/entity_path.md b/docs/content/reference/types/datatypes/entity_path.md index 5e7a14c35223..b345f5351444 100644 --- a/docs/content/reference/types/datatypes/entity_path.md +++ b/docs/content/reference/types/datatypes/entity_path.md @@ -5,9 +5,11 @@ title: "EntityPath" A path to an entity in the `ChunkStore`. -## Fields -* path: `string` +## Arrow datatype +``` +utf8 +``` ## API reference links * 🌊 [C++ API docs for `EntityPath`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1EntityPath.html) diff --git a/docs/content/reference/types/datatypes/float32.md b/docs/content/reference/types/datatypes/float32.md index a3ff03f11e64..f106288527b4 100644 --- a/docs/content/reference/types/datatypes/float32.md +++ b/docs/content/reference/types/datatypes/float32.md @@ -5,9 +5,11 @@ title: "Float32" A single-precision 32-bit IEEE 754 floating point number. -## Fields -* value: `f32` +## Arrow datatype +``` +float32 +``` ## API reference links * 🌊 [C++ API docs for `Float32`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Float32.html) diff --git a/docs/content/reference/types/datatypes/float64.md b/docs/content/reference/types/datatypes/float64.md index 8d0635aa7aad..8c1ec4bff30d 100644 --- a/docs/content/reference/types/datatypes/float64.md +++ b/docs/content/reference/types/datatypes/float64.md @@ -5,9 +5,11 @@ title: "Float64" A double-precision 64-bit IEEE 754 floating point number. -## Fields -* value: `f64` +## Arrow datatype +``` +float64 +``` ## API reference links * 🌊 [C++ API docs for `Float64`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Float64.html) diff --git a/docs/content/reference/types/datatypes/image_format.md b/docs/content/reference/types/datatypes/image_format.md index f2f5beb77bef..ab654918f9a3 100644 --- a/docs/content/reference/types/datatypes/image_format.md +++ b/docs/content/reference/types/datatypes/image_format.md @@ -6,12 +6,48 @@ title: "ImageFormat" The metadata describing the contents of a [`components.ImageBuffer`](https://rerun.io/docs/reference/types/components/image_buffer). ## Fields +#### `width` +Type: `uint32` -* width: `u32` -* height: `u32` -* pixel_format: [`PixelFormat`](../datatypes/pixel_format.md) -* color_model: [`ColorModel`](../datatypes/color_model.md) -* channel_datatype: [`ChannelDatatype`](../datatypes/channel_datatype.md) +The width of the image in pixels. + +#### `height` +Type: `uint32` + +The height of the image in pixels. + +#### `pixel_format` +Type: nullable [`PixelFormat`](../datatypes/pixel_format.md) + +Used mainly for chroma downsampled formats and differing number of bits per channel. + +If specified, this takes precedence over both [`datatypes.ColorModel`](https://rerun.io/docs/reference/types/datatypes/color_model) and [`datatypes.ChannelDatatype`](https://rerun.io/docs/reference/types/datatypes/channel_datatype) (which are ignored). + +#### `color_model` +Type: nullable [`ColorModel`](../datatypes/color_model.md) + +L, RGB, RGBA, … + +Also requires a [`datatypes.ChannelDatatype`](https://rerun.io/docs/reference/types/datatypes/channel_datatype) to fully specify the pixel format. + +#### `channel_datatype` +Type: nullable [`ChannelDatatype`](../datatypes/channel_datatype.md) + +The data type of each channel (e.g. the red channel) of the image data (U8, F16, …). + +Also requires a [`datatypes.ColorModel`](https://rerun.io/docs/reference/types/datatypes/color_model) to fully specify the pixel format. + + +## Arrow datatype +``` +Struct { + width: uint32 + height: uint32 + pixel_format: nullable uint8 + color_model: nullable uint8 + channel_datatype: nullable uint8 +} +``` ## API reference links * 🌊 [C++ API docs for `ImageFormat`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1ImageFormat.html) diff --git a/docs/content/reference/types/datatypes/keypoint_id.md b/docs/content/reference/types/datatypes/keypoint_id.md index 1c363ca69aeb..7b1e06738cd2 100644 --- a/docs/content/reference/types/datatypes/keypoint_id.md +++ b/docs/content/reference/types/datatypes/keypoint_id.md @@ -5,9 +5,11 @@ title: "KeypointId" A 16-bit ID representing a type of semantic keypoint within a class. -## Fields -* id: `u16` +## Arrow datatype +``` +uint16 +``` ## API reference links * 🌊 [C++ API docs for `KeypointId`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1KeypointId.html) diff --git a/docs/content/reference/types/datatypes/keypoint_pair.md b/docs/content/reference/types/datatypes/keypoint_pair.md index 514d9d6e0789..c466bac9b3bb 100644 --- a/docs/content/reference/types/datatypes/keypoint_pair.md +++ b/docs/content/reference/types/datatypes/keypoint_pair.md @@ -6,9 +6,24 @@ title: "KeypointPair" A connection between two [`datatypes.KeypointId`](https://rerun.io/docs/reference/types/datatypes/keypoint_id)s. ## Fields +#### `keypoint0` +Type: [`KeypointId`](../datatypes/keypoint_id.md) -* keypoint0: [`KeypointId`](../datatypes/keypoint_id.md) -* keypoint1: [`KeypointId`](../datatypes/keypoint_id.md) +The first point of the pair. + +#### `keypoint1` +Type: [`KeypointId`](../datatypes/keypoint_id.md) + +The second point of the pair. + + +## Arrow datatype +``` +Struct { + keypoint0: uint16 + keypoint1: uint16 +} +``` ## API reference links * 🌊 [C++ API docs for `KeypointPair`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1KeypointPair.html) diff --git a/docs/content/reference/types/datatypes/mat3x3.md b/docs/content/reference/types/datatypes/mat3x3.md index 2e6ee513363f..47a3e2a6e007 100644 --- a/docs/content/reference/types/datatypes/mat3x3.md +++ b/docs/content/reference/types/datatypes/mat3x3.md @@ -14,9 +14,11 @@ row 1 | flat_columns[1] flat_columns[4] flat_columns[7] row 2 | flat_columns[2] flat_columns[5] flat_columns[8] ``` -## Fields -* flat_columns: 9x `f32` +## Arrow datatype +``` +FixedSizeList<9, float32> +``` ## API reference links * 🌊 [C++ API docs for `Mat3x3`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Mat3x3.html) diff --git a/docs/content/reference/types/datatypes/mat4x4.md b/docs/content/reference/types/datatypes/mat4x4.md index f63663523456..73efb6bee533 100644 --- a/docs/content/reference/types/datatypes/mat4x4.md +++ b/docs/content/reference/types/datatypes/mat4x4.md @@ -15,9 +15,11 @@ row 2 | flat_columns[2] flat_columns[6] flat_columns[10] flat_columns[14] row 3 | flat_columns[3] flat_columns[7] flat_columns[11] flat_columns[15] ``` -## Fields -* flat_columns: 16x `f32` +## Arrow datatype +``` +FixedSizeList<16, float32> +``` ## API reference links * 🌊 [C++ API docs for `Mat4x4`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Mat4x4.html) diff --git a/docs/content/reference/types/datatypes/pixel_format.md b/docs/content/reference/types/datatypes/pixel_format.md index 636d22c441c6..187b03583fe0 100644 --- a/docs/content/reference/types/datatypes/pixel_format.md +++ b/docs/content/reference/types/datatypes/pixel_format.md @@ -16,17 +16,91 @@ All these formats support random access. For more compressed image formats, see [`archetypes.EncodedImage`](https://rerun.io/docs/reference/types/archetypes/encoded_image). ## Variants +#### `Y_U_V12_LimitedRange` = 20 +`Y_U_V12` is a YUV 4:2:0 fully planar YUV format without chroma downsampling, also known as `I420`. -* Y_U_V12_LimitedRange -* NV12 -* YUY2 -* Y8_FullRange -* Y_U_V24_LimitedRange -* Y_U_V24_FullRange -* Y8_LimitedRange -* Y_U_V12_FullRange -* Y_U_V16_LimitedRange -* Y_U_V16_FullRange +This uses limited range YUV, i.e. Y is expected to be within [16, 235] and U/V within [16, 240]. + +First comes entire image in Y in one plane, followed by the U and V planes, which each only have half +the resolution of the Y plane. + +#### `NV12` = 26 +`NV12` (aka `Y_UV12`) is a YUV 4:2:0 chroma downsampled form at with 12 bits per pixel and 8 bits per channel. + +This uses limited range YUV, i.e. Y is expected to be within [16, 235] and U/V within [16, 240]. + +First comes entire image in Y in one plane, +followed by a plane with interleaved lines ordered as U0, V0, U1, V1, etc. + +#### `YUY2` = 27 +`YUY2` (aka `YUYV`, `YUYV16` or `NV21`), is a YUV 4:2:2 chroma downsampled format with 16 bits per pixel and 8 bits per channel. + +This uses limited range YUV, i.e. Y is expected to be within [16, 235] and U/V within [16, 240]. + +The order of the channels is Y0, U0, Y1, V0, all in the same plane. + +#### `Y8_FullRange` = 30 +Monochrome Y plane only, essentially a YUV 4:0:0 planar format. + +Also known as just "gray". This is virtually identical to a 8bit luminance/grayscale (see [`datatypes.ColorModel`](https://rerun.io/docs/reference/types/datatypes/color_model)). + +This uses entire range YUV, i.e. Y is expected to be within [0, 255]. +(as opposed to "limited range" YUV as used e.g. in NV12). + +#### `Y_U_V24_LimitedRange` = 39 +`Y_U_V24` is a YUV 4:4:4 fully planar YUV format without chroma downsampling, also known as `I444`. + +This uses limited range YUV, i.e. Y is expected to be within [16, 235] and U/V within [16, 240]. + +First comes entire image in Y in one plane, followed by the U and V planes. + +#### `Y_U_V24_FullRange` = 40 +`Y_U_V24` is a YUV 4:4:4 fully planar YUV format without chroma downsampling, also known as `I444`. + +This uses full range YUV with all components ranging from 0 to 255 +(as opposed to "limited range" YUV as used e.g. in NV12). + +First comes entire image in Y in one plane, followed by the U and V planes. + +#### `Y8_LimitedRange` = 41 +Monochrome Y plane only, essentially a YUV 4:0:0 planar format. + +Also known as just "gray". + +This uses limited range YUV, i.e. Y is expected to be within [16, 235]. +If not for this range limitation/remapping, this is almost identical to 8bit luminace/grayscale (see [`datatypes.ColorModel`](https://rerun.io/docs/reference/types/datatypes/color_model)). + +#### `Y_U_V12_FullRange` = 44 +`Y_U_V12` is a YUV 4:2:0 fully planar YUV format without chroma downsampling, also known as `I420`. + +This uses full range YUV with all components ranging from 0 to 255 +(as opposed to "limited range" YUV as used e.g. in NV12). + +First comes entire image in Y in one plane, followed by the U and V planes, which each only have half +the resolution of the Y plane. + +#### `Y_U_V16_LimitedRange` = 49 +`Y_U_V16` is a YUV 4:2:2 fully planar YUV format without chroma downsampling, also known as `I422`. + +This uses limited range YUV, i.e. Y is expected to be within [16, 235] and U/V within [16, 240]. + +First comes entire image in Y in one plane, followed by the U and V planes, which each only have half +the horizontal resolution of the Y plane. + +#### `Y_U_V16_FullRange` = 50 +`Y_U_V16` is a YUV 4:2:2 fully planar YUV format without chroma downsampling, also known as `I422`. + +This uses full range YUV with all components ranging from 0 to 255 +(as opposed to "limited range" YUV as used e.g. in NV12). + +First comes entire image in Y in one plane, followed by the U and V planes, which each only have half +the horizontal resolution of the Y plane. + + +## Arrow datatype +``` +uint8 +``` ## API reference links * 🌊 [C++ API docs for `PixelFormat`](https://ref.rerun.io/docs/cpp/stable/namespacererun_1_1datatypes.html) diff --git a/docs/content/reference/types/datatypes/quaternion.md b/docs/content/reference/types/datatypes/quaternion.md index f5f939830f2e..7661b5f2579d 100644 --- a/docs/content/reference/types/datatypes/quaternion.md +++ b/docs/content/reference/types/datatypes/quaternion.md @@ -8,9 +8,11 @@ A Quaternion represented by 4 real numbers. Note: although the x,y,z,w components of the quaternion will be passed through to the datastore as provided, when used in the Viewer Quaternions will always be normalized. -## Fields -* xyzw: 4x `f32` +## Arrow datatype +``` +FixedSizeList<4, float32> +``` ## API reference links * 🌊 [C++ API docs for `Quaternion`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Quaternion.html) diff --git a/docs/content/reference/types/datatypes/range1d.md b/docs/content/reference/types/datatypes/range1d.md index b485ac3f3cd1..60421a00e8f8 100644 --- a/docs/content/reference/types/datatypes/range1d.md +++ b/docs/content/reference/types/datatypes/range1d.md @@ -5,9 +5,11 @@ title: "Range1D" A 1D range, specifying a lower and upper bound. -## Fields -* range: 2x `f64` +## Arrow datatype +``` +FixedSizeList<2, float64> +``` ## API reference links * 🌊 [C++ API docs for `Range1D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Range1D.html) diff --git a/docs/content/reference/types/datatypes/range2d.md b/docs/content/reference/types/datatypes/range2d.md index f398cbfbfb13..558c3a24a220 100644 --- a/docs/content/reference/types/datatypes/range2d.md +++ b/docs/content/reference/types/datatypes/range2d.md @@ -6,9 +6,24 @@ title: "Range2D" An Axis-Aligned Bounding Box in 2D space, implemented as the minimum and maximum corners. ## Fields +#### `x_range` +Type: [`Range1D`](../datatypes/range1d.md) -* x_range: [`Range1D`](../datatypes/range1d.md) -* y_range: [`Range1D`](../datatypes/range1d.md) +The range of the X-axis (usually left and right bounds). + +#### `y_range` +Type: [`Range1D`](../datatypes/range1d.md) + +The range of the Y-axis (usually top and bottom bounds). + + +## Arrow datatype +``` +Struct { + x_range: FixedSizeList<2, float64> + y_range: FixedSizeList<2, float64> +} +``` ## API reference links * 🌊 [C++ API docs for `Range2D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Range2D.html) diff --git a/docs/content/reference/types/datatypes/rgba32.md b/docs/content/reference/types/datatypes/rgba32.md index 6ed57e991d5a..4b423d35ec30 100644 --- a/docs/content/reference/types/datatypes/rgba32.md +++ b/docs/content/reference/types/datatypes/rgba32.md @@ -8,9 +8,11 @@ An RGBA color with unmultiplied/separate alpha, in sRGB gamma space with linear The color is stored as a 32-bit integer, where the most significant byte is `R` and the least significant byte is `A`. -## Fields -* rgba: `u32` +## Arrow datatype +``` +uint32 +``` ## API reference links * 🌊 [C++ API docs for `Rgba32`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Rgba32.html) diff --git a/docs/content/reference/types/datatypes/rotation_axis_angle.md b/docs/content/reference/types/datatypes/rotation_axis_angle.md index aead739f5b9b..e9a26b8086f2 100644 --- a/docs/content/reference/types/datatypes/rotation_axis_angle.md +++ b/docs/content/reference/types/datatypes/rotation_axis_angle.md @@ -6,9 +6,28 @@ title: "RotationAxisAngle" 3D rotation represented by a rotation around a given axis. ## Fields +#### `axis` +Type: [`Vec3D`](../datatypes/vec3d.md) -* axis: [`Vec3D`](../datatypes/vec3d.md) -* angle: [`Angle`](../datatypes/angle.md) +Axis to rotate around. + +This is not required to be normalized. +If normalization fails (typically because the vector is length zero), the rotation is silently +ignored. + +#### `angle` +Type: [`Angle`](../datatypes/angle.md) + +How much to rotate around the axis. + + +## Arrow datatype +``` +Struct { + axis: FixedSizeList<3, float32> + angle: float32 +} +``` ## API reference links * 🌊 [C++ API docs for `RotationAxisAngle`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1RotationAxisAngle.html) diff --git a/docs/content/reference/types/datatypes/tensor_buffer.md b/docs/content/reference/types/datatypes/tensor_buffer.md index c18f116113f6..653f915c978f 100644 --- a/docs/content/reference/types/datatypes/tensor_buffer.md +++ b/docs/content/reference/types/datatypes/tensor_buffer.md @@ -8,18 +8,79 @@ The underlying storage for [`archetypes.Tensor`](https://rerun.io/docs/reference Tensor elements are stored in a contiguous buffer of a single type. ## Variants +#### `U8` = 1 +Type: List of `uint8` -* U8: list of `u8` -* U16: list of `u16` -* U32: list of `u32` -* U64: list of `u64` -* I8: list of `i8` -* I16: list of `i16` -* I32: list of `i32` -* I64: list of `i64` -* F16: list of `f16` -* F32: list of `f32` -* F64: list of `f64` +8bit unsigned integer. + +#### `U16` = 2 +Type: List of `uint16` + +16bit unsigned integer. + +#### `U32` = 3 +Type: List of `uint32` + +32bit unsigned integer. + +#### `U64` = 4 +Type: List of `uint64` + +64bit unsigned integer. + +#### `I8` = 5 +Type: List of `int8` + +8bit signed integer. + +#### `I16` = 6 +Type: List of `int16` + +16bit signed integer. + +#### `I32` = 7 +Type: List of `int32` + +32bit signed integer. + +#### `I64` = 8 +Type: List of `int64` + +64bit signed integer. + +#### `F16` = 9 +Type: List of `float16` + +16bit IEEE-754 floating point, also known as `half`. + +#### `F32` = 10 +Type: List of `float32` + +32bit IEEE-754 floating point, also known as `float` or `single`. + +#### `F64` = 11 +Type: List of `float64` + +64bit IEEE-754 floating point, also known as `double`. + + +## Arrow datatype +``` +DenseUnion { + 0 = "_null_markers": nullable null + 1 = "U8": List + 2 = "U16": List + 3 = "U32": List + 4 = "U64": List + 5 = "I8": List + 6 = "I16": List + 7 = "I32": List + 8 = "I64": List + 9 = "F16": List + 10 = "F32": List + 11 = "F64": List +} +``` ## API reference links * 🌊 [C++ API docs for `TensorBuffer`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1TensorBuffer.html) diff --git a/docs/content/reference/types/datatypes/tensor_data.md b/docs/content/reference/types/datatypes/tensor_data.md index efe790c36409..caef70928282 100644 --- a/docs/content/reference/types/datatypes/tensor_data.md +++ b/docs/content/reference/types/datatypes/tensor_data.md @@ -13,9 +13,40 @@ These dimensions are combined with an index to look up values from the `buffer` which stores a contiguous array of typed values. ## Fields - -* shape: list of [`TensorDimension`](../datatypes/tensor_dimension.md) -* buffer: [`TensorBuffer`](../datatypes/tensor_buffer.md) +#### `shape` +Type: List of [`TensorDimension`](../datatypes/tensor_dimension.md) + +The shape of the tensor, including optional names for each dimension. + +#### `buffer` +Type: [`TensorBuffer`](../datatypes/tensor_buffer.md) + +The content/data. + + +## Arrow datatype +``` +Struct { + shape: List + buffer: DenseUnion { + 0 = "_null_markers": nullable null + 1 = "U8": List + 2 = "U16": List + 3 = "U32": List + 4 = "U64": List + 5 = "I8": List + 6 = "I16": List + 7 = "I32": List + 8 = "I64": List + 9 = "F16": List + 10 = "F32": List + 11 = "F64": List + } +} +``` ## API reference links * 🌊 [C++ API docs for `TensorData`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1TensorData.html) diff --git a/docs/content/reference/types/datatypes/tensor_dimension.md b/docs/content/reference/types/datatypes/tensor_dimension.md index a4a6b979bb3a..4341e405ac10 100644 --- a/docs/content/reference/types/datatypes/tensor_dimension.md +++ b/docs/content/reference/types/datatypes/tensor_dimension.md @@ -6,9 +6,24 @@ title: "TensorDimension" A single dimension within a multi-dimensional tensor. ## Fields +#### `size` +Type: `uint64` -* size: `u64` -* name: `string` +The length of this dimension. + +#### `name` +Type: nullable `utf8` + +The name of this dimension, e.g. "width", "height", "channel", "batch', …. + + +## Arrow datatype +``` +Struct { + size: uint64 + name: nullable utf8 +} +``` ## API reference links * 🌊 [C++ API docs for `TensorDimension`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1TensorDimension.html) diff --git a/docs/content/reference/types/datatypes/tensor_dimension_index_selection.md b/docs/content/reference/types/datatypes/tensor_dimension_index_selection.md index eb43997fd50e..1373e1455731 100644 --- a/docs/content/reference/types/datatypes/tensor_dimension_index_selection.md +++ b/docs/content/reference/types/datatypes/tensor_dimension_index_selection.md @@ -8,9 +8,24 @@ Indexing a specific tensor dimension. Selecting `dimension=2` and `index=42` is similar to doing `tensor[:, :, 42, :, :, …]` in numpy. ## Fields +#### `dimension` +Type: `uint32` -* dimension: `u32` -* index: `u64` +The dimension number to select. + +#### `index` +Type: `uint64` + +The index along the dimension to use. + + +## Arrow datatype +``` +Struct { + dimension: uint32 + index: uint64 +} +``` ## API reference links * 🌊 [C++ API docs for `TensorDimensionIndexSelection`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1TensorDimensionIndexSelection.html) diff --git a/docs/content/reference/types/datatypes/tensor_dimension_selection.md b/docs/content/reference/types/datatypes/tensor_dimension_selection.md index 32b6f5782377..94d97e242c17 100644 --- a/docs/content/reference/types/datatypes/tensor_dimension_selection.md +++ b/docs/content/reference/types/datatypes/tensor_dimension_selection.md @@ -6,9 +6,24 @@ title: "TensorDimensionSelection" Selection of a single tensor dimension. ## Fields +#### `dimension` +Type: `uint32` -* dimension: `u32` -* invert: `bool` +The dimension number to select. + +#### `invert` +Type: `boolean` + +Invert the direction of the dimension. + + +## Arrow datatype +``` +Struct { + dimension: uint32 + invert: boolean +} +``` ## API reference links * 🌊 [C++ API docs for `TensorDimensionSelection`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1TensorDimensionSelection.html) diff --git a/docs/content/reference/types/datatypes/time_int.md b/docs/content/reference/types/datatypes/time_int.md index 920669e98990..c121bfaca6cc 100644 --- a/docs/content/reference/types/datatypes/time_int.md +++ b/docs/content/reference/types/datatypes/time_int.md @@ -5,9 +5,11 @@ title: "TimeInt" A 64-bit number describing either nanoseconds OR sequence numbers. -## Fields -* value: `i64` +## Arrow datatype +``` +int64 +``` ## API reference links * 🌊 [C++ API docs for `TimeInt`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1TimeInt.html) diff --git a/docs/content/reference/types/datatypes/time_range.md b/docs/content/reference/types/datatypes/time_range.md index 1b5a0c13d958..a4b272616a4c 100644 --- a/docs/content/reference/types/datatypes/time_range.md +++ b/docs/content/reference/types/datatypes/time_range.md @@ -6,9 +6,34 @@ title: "TimeRange" Visible time range bounds for a specific timeline. ## Fields +#### `start` +Type: [`TimeRangeBoundary`](../datatypes/time_range_boundary.md) -* start: [`TimeRangeBoundary`](../datatypes/time_range_boundary.md) -* end: [`TimeRangeBoundary`](../datatypes/time_range_boundary.md) +Low time boundary for sequence timeline. + +#### `end` +Type: [`TimeRangeBoundary`](../datatypes/time_range_boundary.md) + +High time boundary for sequence timeline. + + +## Arrow datatype +``` +Struct { + start: DenseUnion { + 0 = "_null_markers": nullable null + 1 = "CursorRelative": int64 + 2 = "Absolute": int64 + 3 = "Infinite": nullable null + } + end: DenseUnion { + 0 = "_null_markers": nullable null + 1 = "CursorRelative": int64 + 2 = "Absolute": int64 + 3 = "Infinite": nullable null + } +} +``` ## API reference links * 🌊 [C++ API docs for `TimeRange`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1TimeRange.html) diff --git a/docs/content/reference/types/datatypes/time_range_boundary.md b/docs/content/reference/types/datatypes/time_range_boundary.md index ee36b27a47d4..e409fe485ab0 100644 --- a/docs/content/reference/types/datatypes/time_range_boundary.md +++ b/docs/content/reference/types/datatypes/time_range_boundary.md @@ -6,10 +6,31 @@ title: "TimeRangeBoundary" Left or right boundary of a time range. ## Variants +#### `CursorRelative` = 1 +Type: [`TimeInt`](../datatypes/time_int.md) -* CursorRelative: [`TimeInt`](../datatypes/time_int.md) -* Absolute: [`TimeInt`](../datatypes/time_int.md) -* Infinite +Boundary is a value relative to the time cursor. + +#### `Absolute` = 2 +Type: [`TimeInt`](../datatypes/time_int.md) + +Boundary is an absolute value. + +#### `Infinite` = 3 +Type: `null` + +The boundary extends to infinity. + + +## Arrow datatype +``` +DenseUnion { + 0 = "_null_markers": nullable null + 1 = "CursorRelative": int64 + 2 = "Absolute": int64 + 3 = "Infinite": nullable null +} +``` ## API reference links * 🌊 [C++ API docs for `TimeRangeBoundary`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1TimeRangeBoundary.html) diff --git a/docs/content/reference/types/datatypes/uint16.md b/docs/content/reference/types/datatypes/uint16.md index 0fc1299e1188..5609fed94b6f 100644 --- a/docs/content/reference/types/datatypes/uint16.md +++ b/docs/content/reference/types/datatypes/uint16.md @@ -5,9 +5,11 @@ title: "UInt16" A 16bit unsigned integer. -## Fields -* value: `u16` +## Arrow datatype +``` +uint16 +``` ## API reference links * 🌊 [C++ API docs for `UInt16`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1UInt16.html) diff --git a/docs/content/reference/types/datatypes/uint32.md b/docs/content/reference/types/datatypes/uint32.md index 41f3251afbaa..144d1ee0e9ac 100644 --- a/docs/content/reference/types/datatypes/uint32.md +++ b/docs/content/reference/types/datatypes/uint32.md @@ -5,9 +5,11 @@ title: "UInt32" A 32bit unsigned integer. -## Fields -* value: `u32` +## Arrow datatype +``` +uint32 +``` ## API reference links * 🌊 [C++ API docs for `UInt32`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1UInt32.html) diff --git a/docs/content/reference/types/datatypes/uint64.md b/docs/content/reference/types/datatypes/uint64.md index fd2f40711707..1c0025e56657 100644 --- a/docs/content/reference/types/datatypes/uint64.md +++ b/docs/content/reference/types/datatypes/uint64.md @@ -5,9 +5,11 @@ title: "UInt64" A 64bit unsigned integer. -## Fields -* value: `u64` +## Arrow datatype +``` +uint64 +``` ## API reference links * 🌊 [C++ API docs for `UInt64`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1UInt64.html) diff --git a/docs/content/reference/types/datatypes/utf8.md b/docs/content/reference/types/datatypes/utf8.md index 2c4f3f251d50..7da350ef1499 100644 --- a/docs/content/reference/types/datatypes/utf8.md +++ b/docs/content/reference/types/datatypes/utf8.md @@ -5,9 +5,11 @@ title: "Utf8" A string of text, encoded as UTF-8. -## Fields -* value: `string` +## Arrow datatype +``` +utf8 +``` ## API reference links * 🌊 [C++ API docs for `Utf8`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Utf8.html) diff --git a/docs/content/reference/types/datatypes/uuid.md b/docs/content/reference/types/datatypes/uuid.md index 56298a15aa5b..f709faedfc96 100644 --- a/docs/content/reference/types/datatypes/uuid.md +++ b/docs/content/reference/types/datatypes/uuid.md @@ -5,9 +5,11 @@ title: "Uuid" A 16-byte UUID. -## Fields -* bytes: 16x `u8` +## Arrow datatype +``` +FixedSizeList<16, uint8> +``` ## API reference links * 🌊 [C++ API docs for `Uuid`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Uuid.html) diff --git a/docs/content/reference/types/datatypes/uvec2d.md b/docs/content/reference/types/datatypes/uvec2d.md index 0a2d3042d33a..6215cfb1ceb6 100644 --- a/docs/content/reference/types/datatypes/uvec2d.md +++ b/docs/content/reference/types/datatypes/uvec2d.md @@ -5,9 +5,11 @@ title: "UVec2D" A uint32 vector in 2D space. -## Fields -* xy: 2x `u32` +## Arrow datatype +``` +FixedSizeList<2, uint32> +``` ## API reference links * 🌊 [C++ API docs for `UVec2D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1UVec2D.html) diff --git a/docs/content/reference/types/datatypes/uvec3d.md b/docs/content/reference/types/datatypes/uvec3d.md index 73ef24b07789..7f9fc18f0779 100644 --- a/docs/content/reference/types/datatypes/uvec3d.md +++ b/docs/content/reference/types/datatypes/uvec3d.md @@ -5,9 +5,11 @@ title: "UVec3D" A uint32 vector in 3D space. -## Fields -* xyz: 3x `u32` +## Arrow datatype +``` +FixedSizeList<3, uint32> +``` ## API reference links * 🌊 [C++ API docs for `UVec3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1UVec3D.html) diff --git a/docs/content/reference/types/datatypes/uvec4d.md b/docs/content/reference/types/datatypes/uvec4d.md index 89dd4d26439b..0f9f3b292534 100644 --- a/docs/content/reference/types/datatypes/uvec4d.md +++ b/docs/content/reference/types/datatypes/uvec4d.md @@ -5,9 +5,11 @@ title: "UVec4D" A uint vector in 4D space. -## Fields -* xyzw: 4x `u32` +## Arrow datatype +``` +FixedSizeList<4, uint32> +``` ## API reference links * 🌊 [C++ API docs for `UVec4D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1UVec4D.html) diff --git a/docs/content/reference/types/datatypes/vec2d.md b/docs/content/reference/types/datatypes/vec2d.md index 8736eea14171..1c9be0557c86 100644 --- a/docs/content/reference/types/datatypes/vec2d.md +++ b/docs/content/reference/types/datatypes/vec2d.md @@ -5,9 +5,11 @@ title: "Vec2D" A vector in 2D space. -## Fields -* xy: 2x `f32` +## Arrow datatype +``` +FixedSizeList<2, float32> +``` ## API reference links * 🌊 [C++ API docs for `Vec2D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Vec2D.html) diff --git a/docs/content/reference/types/datatypes/vec3d.md b/docs/content/reference/types/datatypes/vec3d.md index b9f0aff3065f..6de9efa0e522 100644 --- a/docs/content/reference/types/datatypes/vec3d.md +++ b/docs/content/reference/types/datatypes/vec3d.md @@ -5,9 +5,11 @@ title: "Vec3D" A vector in 3D space. -## Fields -* xyz: 3x `f32` +## Arrow datatype +``` +FixedSizeList<3, float32> +``` ## API reference links * 🌊 [C++ API docs for `Vec3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Vec3D.html) diff --git a/docs/content/reference/types/datatypes/vec4d.md b/docs/content/reference/types/datatypes/vec4d.md index 07b1d85a052a..26b9f0789b0b 100644 --- a/docs/content/reference/types/datatypes/vec4d.md +++ b/docs/content/reference/types/datatypes/vec4d.md @@ -5,9 +5,11 @@ title: "Vec4D" A vector in 4D space. -## Fields -* xyzw: 4x `f32` +## Arrow datatype +``` +FixedSizeList<4, float32> +``` ## API reference links * 🌊 [C++ API docs for `Vec4D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Vec4D.html) diff --git a/docs/content/reference/types/datatypes/video_timestamp.md b/docs/content/reference/types/datatypes/video_timestamp.md index 7a36cef7f592..a64a6c701f28 100644 --- a/docs/content/reference/types/datatypes/video_timestamp.md +++ b/docs/content/reference/types/datatypes/video_timestamp.md @@ -8,9 +8,11 @@ Presentation timestamp within a [`archetypes.AssetVideo`](https://rerun.io/docs/ Specified in nanoseconds. Presentation timestamps are typically measured as time since video start. -## Fields -* timestamp_ns: `i64` +## Arrow datatype +``` +int64 +``` ## API reference links * 🌊 [C++ API docs for `VideoTimestamp`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1VideoTimestamp.html) diff --git a/docs/content/reference/types/datatypes/view_coordinates.md b/docs/content/reference/types/datatypes/view_coordinates.md index bf2b806b42cd..33157fdeeb0b 100644 --- a/docs/content/reference/types/datatypes/view_coordinates.md +++ b/docs/content/reference/types/datatypes/view_coordinates.md @@ -22,9 +22,11 @@ The following constants are used to represent the different directions: * Forward = 5 * Back = 6 -## Fields -* coordinates: 3x `u8` +## Arrow datatype +``` +FixedSizeList<3, uint8> +``` ## API reference links * 🌊 [C++ API docs for `ViewCoordinates`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1ViewCoordinates.html) diff --git a/docs/content/reference/types/datatypes/visible_time_range.md b/docs/content/reference/types/datatypes/visible_time_range.md index 3e107f30b254..6ad2bc9c8cb4 100644 --- a/docs/content/reference/types/datatypes/visible_time_range.md +++ b/docs/content/reference/types/datatypes/visible_time_range.md @@ -6,9 +6,37 @@ title: "VisibleTimeRange" Visible time range bounds for a specific timeline. ## Fields +#### `timeline` +Type: [`Utf8`](../datatypes/utf8.md) -* timeline: [`Utf8`](../datatypes/utf8.md) -* range: [`TimeRange`](../datatypes/time_range.md) +Name of the timeline this applies to. + +#### `range` +Type: [`TimeRange`](../datatypes/time_range.md) + +Time range to use for this timeline. + + +## Arrow datatype +``` +Struct { + timeline: utf8 + range: Struct { + start: DenseUnion { + 0 = "_null_markers": nullable null + 1 = "CursorRelative": int64 + 2 = "Absolute": int64 + 3 = "Infinite": nullable null + } + end: DenseUnion { + 0 = "_null_markers": nullable null + 1 = "CursorRelative": int64 + 2 = "Absolute": int64 + 3 = "Infinite": nullable null + } + } +} +``` ## API reference links * 🌊 [C++ API docs for `VisibleTimeRange`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1VisibleTimeRange.html)