From 8aaa8a8400a0a55b90c2ff9f0b56fc43e8ffba4f Mon Sep 17 00:00:00 2001 From: Clement Rey Date: Mon, 9 Dec 2024 12:19:41 +0100 Subject: [PATCH] implement codegen foundations for snippet index --- .../src/bin/build_re_types.rs | 9 + .../re_types_builder/src/codegen/docs/mod.rs | 3 +- .../src/codegen/docs/snippets_ref.rs | 525 ++++++++++++++++++ .../build/re_types_builder/src/codegen/mod.rs | 2 +- crates/build/re_types_builder/src/lib.rs | 40 ++ crates/build/re_types_builder/src/objects.rs | 20 + docs/snippets/.gitattributes | 4 + docs/snippets/INDEX.md | 358 ++++++++++++ scripts/ci/check_large_files.py | 1 + 9 files changed, 960 insertions(+), 2 deletions(-) create mode 100644 crates/build/re_types_builder/src/codegen/docs/snippets_ref.rs create mode 100644 docs/snippets/.gitattributes create mode 100644 docs/snippets/INDEX.md diff --git a/crates/build/re_types_builder/src/bin/build_re_types.rs b/crates/build/re_types_builder/src/bin/build_re_types.rs index 9ddfa3dbbbee..358495255b43 100644 --- a/crates/build/re_types_builder/src/bin/build_re_types.rs +++ b/crates/build/re_types_builder/src/bin/build_re_types.rs @@ -21,6 +21,7 @@ const CPP_OUTPUT_DIR_PATH: &str = "rerun_cpp"; const PYTHON_OUTPUT_DIR_PATH: &str = "rerun_py/rerun_sdk/rerun"; const PYTHON_TESTING_OUTPUT_DIR_PATH: &str = "rerun_py/tests/test_types"; const DOCS_CONTENT_DIR_PATH: &str = "docs/content/reference/types"; +const SNIPPETS_REF_DIR_PATH: &str = "docs/snippets/"; /// This uses [`rayon::scope`] to spawn all closures as tasks /// running in parallel. It blocks until all tasks are done. @@ -91,6 +92,7 @@ fn main() { let python_output_dir_path = workspace_dir.join(PYTHON_OUTPUT_DIR_PATH); let python_testing_output_dir_path = workspace_dir.join(PYTHON_TESTING_OUTPUT_DIR_PATH); let docs_content_dir_path = workspace_dir.join(DOCS_CONTENT_DIR_PATH); + let snippets_ref_dir_path = workspace_dir.join(SNIPPETS_REF_DIR_PATH); let cur_hash = read_versioning_hash(&re_types_source_hash_path); re_log::debug!("cur_hash: {cur_hash:?}"); @@ -159,6 +161,13 @@ fn main() { &arrow_registry, check, ), + || re_types_builder::generate_snippets_ref( + &reporter, + snippets_ref_dir_path, + &objects, + &arrow_registry, + check, + ), ); report.finalize(); 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 e1ec8edeaa1e..0f49a5a0ad09 100644 --- a/crates/build/re_types_builder/src/codegen/docs/mod.rs +++ b/crates/build/re_types_builder/src/codegen/docs/mod.rs @@ -1,4 +1,5 @@ mod arrow_datatype; +mod snippets_ref; mod website; -pub use self::website::DocsCodeGenerator; +pub use self::{snippets_ref::SnippetsRefCodeGenerator, website::DocsCodeGenerator}; diff --git a/crates/build/re_types_builder/src/codegen/docs/snippets_ref.rs b/crates/build/re_types_builder/src/codegen/docs/snippets_ref.rs new file mode 100644 index 000000000000..5dfcc757ad88 --- /dev/null +++ b/crates/build/re_types_builder/src/codegen/docs/snippets_ref.rs @@ -0,0 +1,525 @@ +//! Generate the snippets reference. + +use std::{ + cmp::Ordering, + collections::{BTreeMap, BTreeSet}, + path::PathBuf, +}; + +use anyhow::Context; +use camino::{Utf8Path, Utf8PathBuf}; + +use crate::{CodeGenerator, GeneratedFiles, Object, ObjectKind, Objects, Reporter}; + +// --- + +/// Everything we know about a snippet, including which objects (archetypes, components, etc) it references. +#[allow(dead_code)] +#[derive(Debug, Clone)] +struct Snippet<'o> { + path: PathBuf, + name: String, + name_qualified: String, + + python: bool, + rust: bool, + cpp: bool, + + description: Option, + contents: String, + + archetypes: BTreeSet<&'o Object>, + components: BTreeSet<&'o Object>, + archetypes_blueprint: BTreeSet<&'o Object>, + components_blueprint: BTreeSet<&'o Object>, + views: BTreeSet<&'o Object>, +} + +/// Maps objects (archetypes, components, etc) back to snippets. +#[derive(Default, Debug)] +struct Snippets<'o> { + per_archetype: BTreeMap<&'o Object, Vec>>, + per_component: BTreeMap<&'o Object, Vec>>, + per_archetype_blueprint: BTreeMap<&'o Object, Vec>>, + per_component_blueprint: BTreeMap<&'o Object, Vec>>, + per_view: BTreeMap<&'o Object, Vec>>, +} + +impl<'o> Snippets<'o> { + fn merge_extend(&mut self, rhs: Self) { + let Self { + per_archetype, + per_component, + per_archetype_blueprint, + per_component_blueprint, + per_view, + } = self; + + let merge_extend = |a: &mut BTreeMap<&'o Object, Vec>>, b| { + for (obj, snippets) in b { + a.entry(obj).or_default().extend(snippets); + } + }; + + merge_extend(per_archetype, rhs.per_archetype); + merge_extend(per_component, rhs.per_component); + merge_extend(per_view, rhs.per_view); + merge_extend(per_archetype_blueprint, rhs.per_archetype_blueprint); + merge_extend(per_component_blueprint, rhs.per_component_blueprint); + } +} + +// --- + +pub struct SnippetsRefCodeGenerator { + out_dir: Utf8PathBuf, +} + +impl SnippetsRefCodeGenerator { + pub fn new(out_dir: impl Into) -> Self { + Self { + out_dir: out_dir.into(), + } + } +} + +impl CodeGenerator for SnippetsRefCodeGenerator { + fn generate( + &mut self, + reporter: &Reporter, + objects: &Objects, + _arrow_registry: &crate::ArrowRegistry, + ) -> GeneratedFiles { + match self.generate_fallible(objects) { + Ok(files) => files, + Err(err) => { + reporter.error_any(err); + Default::default() + } + } + } +} + +impl SnippetsRefCodeGenerator { + fn generate_fallible(&self, objects: &Objects) -> anyhow::Result { + re_tracing::profile_function!(); + + const SNIPPETS_URL: &str = + "https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all"; + + let mut files_to_write = GeneratedFiles::default(); + + let snippets_dir = re_build_tools::cargo_metadata() + .context("failed to read cargo metadata")? + .workspace_root + .join("docs/snippets"); + + let snippets_dir_root = snippets_dir.join("all"); + let snippets_dir_archetypes = snippets_dir_root.clone(); + + let known_objects = KnownObjects::init(objects); + + let snippets = collect_snippets_recursively( + &known_objects, + &snippets_dir_archetypes, + &snippets_dir_root, + )?; + + /// Generates a single row for one of the autogenerated tables. + fn snippet_row(obj: &Object, snippet: &Snippet<'_>) -> anyhow::Result { + let obj_name = &obj.name; + let obj_name_snake = obj.snake_case_name(); + let obj_kind = match obj.kind { + ObjectKind::Datatype => "datatypes", + ObjectKind::Component => "components", + ObjectKind::Archetype => "archetypes", + ObjectKind::View => "views", + }; + + let link_docs = + format!("https://rerun.io/docs/reference/types/{obj_kind}/{obj_name_snake}"); + let link_docs = make_speculative_if_needed(obj_name, &link_docs)?; + let obj_name_rendered = + if obj.kind != ObjectKind::View && obj.scope().as_deref() == Some("blueprint") { + // Blueprint types have no website pages yet. + format!("`{obj_name}`") + } else { + format!("[`{obj_name}`]({link_docs})") + }; + + let snippet_name_qualified = &snippet.name_qualified; + let snippet_descr = snippet.description.clone().unwrap_or_default(); + + let link_py = if snippet.python { + let link = format!("{SNIPPETS_URL}/{snippet_name_qualified}.py"); + let link = make_speculative_if_needed(obj_name, &link)?; + let link = make_speculative_if_needed(snippet_name_qualified, &link)?; + format!("[🐍]({link})") + } else { + String::new() + }; + let link_rs = if snippet.rust { + let link = format!("{SNIPPETS_URL}/{snippet_name_qualified}.rs"); + let link = make_speculative_if_needed(obj_name, &link)?; + let link = make_speculative_if_needed(snippet_name_qualified, &link)?; + format!("[🦀]({link})") + } else { + String::new() + }; + let link_cpp = if snippet.cpp { + let link = format!("{SNIPPETS_URL}/{snippet_name_qualified}.cpp"); + let link = make_speculative_if_needed(obj_name, &link)?; + let link = make_speculative_if_needed(snippet_name_qualified, &link)?; + format!("[🌊]({link})") + } else { + String::new() + }; + + let row = format!("| **{obj_name_rendered}** | `{snippet_name_qualified}` | {snippet_descr} | {link_py} | {link_rs} | {link_cpp} |"); + + Ok(row) + } + + let snippets_table = |snippets: &BTreeMap<&Object, Vec>>| { + let table = snippets + .iter() + .flat_map(|(obj, snippets)| { + let mut snippets = snippets.clone(); + // NOTE: Gotta sort twice to make sure it stays stable after the second one. + snippets.sort_by(|a, b| a.name_qualified.cmp(&b.name_qualified)); + snippets.sort_by(|a, b| { + if a.name_qualified.contains(&obj.snake_case_name()) { + // Snippets that contain the object in question in their name should + // bubble up to the top. + Ordering::Less + } else { + a.name_qualified.cmp(&b.name_qualified) + } + }); + snippets.into_iter().map(move |snippet| (obj, snippet)) + }) + .map(|(obj, snippet)| snippet_row(obj, &snippet)) + .collect::, _>>()? + .join("\n"); + + Ok::<_, anyhow::Error>(table) + }; + + let per_archetype_table = snippets_table(&snippets.per_archetype)?; + let per_component_table = snippets_table(&snippets.per_component)?; + let per_archetype_blueprint_table = snippets_table(&snippets.per_archetype_blueprint)?; + let per_component_blueprint_table = snippets_table(&snippets.per_component_blueprint)?; + let per_view_table = snippets_table(&snippets.per_view)?; + + let autogen_warning = format!( + "", + file!().replace('\\', "/") + ); + let out = format!( + " +{autogen_warning} + +# Snippet index reference + +This file acts as an index reference for all of our [snippets](./README.md). + +Use it to quickly find copy-pastable snippets of code for any Rerun feature you're interested in (API, Archetypes, Components, etc). + +--- + +*Table of contents:* +* [Types](#types) + * [Archetypes](#archetypes) + * [Components](#components) + * [Views](#views-blueprint) + * [Archetypes (blueprint)](#archetypes-blueprint) + * [Components (blueprint)](#components-blueprint) + + +## Types + + +### Archetypes + +_All snippets, organized by the [`Archetype`](https://rerun.io/docs/reference/types/archetypes)(s) they use._ + +| Archetype | Snippet | Description | Python | Rust | C++ | +| --------- | ------- | ----------- | ------ | ---- | --- | +{per_archetype_table} + + +### Components + +_All snippets, organized by the [`Component`](https://rerun.io/docs/reference/types/components)(s) they use._ + +| Component | Snippet | Description | Python | Rust | C++ | +| --------- | ------- | ----------- | ------ | ---- | --- | +{per_component_table} + + +### Views (blueprint) + +_All snippets, organized by the [`View`](https://rerun.io/docs/reference/types/views)(s) they use._ + +| Component | Snippet | Description | Python | Rust | C++ | +| --------- | ------- | ----------- | ------ | ---- | --- | +{per_view_table} + + +### Archetypes (blueprint) + +_All snippets, organized by the blueprint-related [`Archetype`](https://rerun.io/docs/reference/types/archetypes)(s) they use._ + +| Archetype | Snippet | Description | Python | Rust | C++ | +| --------- | ------- | ----------- | ------ | ---- | --- | +{per_archetype_blueprint_table} + + +### Components (blueprint) + +_All snippets, organized by the blueprint-related [`Component`](https://rerun.io/docs/reference/types/components)(s) they use._ + +| Component | Snippet | Description | Python | Rust | C++ | +| --------- | ------- | ----------- | ------ | ---- | --- | +{per_component_blueprint_table} +" + ); + + #[allow(clippy::string_add)] + files_to_write.insert(self.out_dir.join("INDEX.md"), out.trim().to_owned() + "\n"); + + Ok(files_to_write) + } +} + +fn collect_snippets_recursively<'o>( + known_objects: &KnownObjects<'o>, + dir: &Utf8Path, + snippet_root_path: &Utf8Path, +) -> anyhow::Result> { + let mut snippets = Snippets::default(); + + #[allow(clippy::unwrap_used)] // we just use unwrap for string <-> path conversion here + for snippet in dir.read_dir()? { + let snippet = snippet?; + let meta = snippet.metadata()?; + let path = snippet.path(); + + let name = path.file_stem().unwrap().to_str().unwrap().to_owned(); + let name_qualified = path.strip_prefix(snippet_root_path)?.with_extension(""); + let name_qualified = name_qualified.to_str().unwrap().replace('\\', "/"); + + if meta.is_dir() { + snippets.merge_extend(collect_snippets_recursively( + known_objects, + Utf8Path::from_path(&path).unwrap(), + snippet_root_path, + )?); + continue; + } + + // We only track the Python one. We'll derive the other two from there, if they exist at all. + if !path.extension().is_some_and(|p| p == "py") { + continue; + } + + let contents = std::fs::read_to_string(&path)?; + let description = contents.lines().take(1).next().and_then(|s| { + s.contains("\"\"\"") + .then(|| s.replace("\"\"\"", "").trim_end_matches('.').to_owned()) + }); + + // All archetypes, components, etc that this snippet refers to. + let mut archetypes = BTreeSet::default(); + let mut components = BTreeSet::default(); + let mut archetypes_blueprint = BTreeSet::default(); + let mut components_blueprint = BTreeSet::default(); + let mut views = BTreeSet::default(); + + // Fill the sets by grepping into the snippet's contents. + for (objs, set) in [ + (&known_objects.archetypes, &mut archetypes), + (&known_objects.components, &mut components), + (&known_objects.views, &mut views), + ( + &known_objects.archetypes_blueprint, + &mut archetypes_blueprint, + ), + ( + &known_objects.components_blueprint, + &mut components_blueprint, + ), + ] { + for obj in objs { + if contents.contains(&obj.name) { + set.insert(*obj); + continue; + } + } + } + + let python = true; + let rust = path.with_extension("rs").exists(); + let cpp = path.with_extension("cpp").exists(); + + let snippet = Snippet { + name, + name_qualified, + path, + + contents, + description, + + python, + rust, + cpp, + + archetypes, + components, + archetypes_blueprint, + components_blueprint, + views, + }; + + // Fill the reverse indices. + for (objs, index) in [ + (&snippet.archetypes, &mut snippets.per_archetype), + (&snippet.components, &mut snippets.per_component), + (&snippet.views, &mut snippets.per_view), + ( + &snippet.archetypes_blueprint, + &mut snippets.per_archetype_blueprint, + ), + ( + &snippet.components_blueprint, + &mut snippets.per_component_blueprint, + ), + ] { + for obj in objs { + index.entry(obj).or_default().push(snippet.clone()); + } + } + } + + Ok(snippets) +} + +/// Neatly organized [`Object`]s (archetypes, components, etc). +#[derive(Debug)] +struct KnownObjects<'o> { + archetypes: BTreeSet<&'o Object>, + components: BTreeSet<&'o Object>, + + archetypes_blueprint: BTreeSet<&'o Object>, + components_blueprint: BTreeSet<&'o Object>, + + views: BTreeSet<&'o Object>, +} + +impl<'o> KnownObjects<'o> { + fn init(objects: &'o Objects) -> Self { + let ( + mut archetypes, + mut components, + mut archetypes_blueprint, + mut components_blueprint, + mut views, + ) = ( + BTreeSet::new(), + BTreeSet::new(), + BTreeSet::new(), + BTreeSet::new(), + BTreeSet::new(), + ); + + for object in objects.values() { + // skip test-only archetypes + if object.is_testing() { + continue; + } + + match object.kind { + ObjectKind::Archetype if object.scope().as_deref() == Some("blueprint") => { + archetypes_blueprint.insert(object); + } + + ObjectKind::Archetype => { + archetypes.insert(object); + } + + ObjectKind::Component if object.scope().as_deref() == Some("blueprint") => { + components_blueprint.insert(object); + } + + ObjectKind::Component => { + components.insert(object); + } + + ObjectKind::View => { + views.insert(object); + } + + ObjectKind::Datatype => {} + }; + } + + Self { + archetypes, + components, + archetypes_blueprint, + components_blueprint, + views, + } + } +} + +// --- + +/// Returns `true` if the given name has not been released yet. +fn is_speculative(any_name: &str) -> anyhow::Result { + let is_pre_0_21_release = { + // Reminder of what those look like: + // env!("CARGO_PKG_VERSION") = "0.21.0-alpha.1+dev" + // env!("CARGO_PKG_VERSION_MAJOR") = "0" + // env!("CARGO_PKG_VERSION_MINOR") = "21" + // env!("CARGO_PKG_VERSION_PATCH") = "0" + // env!("CARGO_PKG_VERSION_PRE") = "alpha.1" + + let minor: u32 = env!("CARGO_PKG_VERSION_MINOR") + .parse() + .context("couldn't parse minor crate version")?; + let pre = env!("CARGO_PKG_VERSION_PRE"); + + minor < 21 || !pre.is_empty() + }; + + const RELEASED_IN_0_21: &[&str] = &[ + // archetypes & components + "GraphEdge", + "GraphEdges", + "GraphNode", + "GraphNodes", + "GraphView", + "Plane3D", + // snippets + "concepts/explicit_recording", + "descriptors/descr_builtin_archetype", + "descriptors/descr_builtin_component", + "descriptors/descr_custom_archetype", + "descriptors/descr_custom_component", + "howto/any_values_send_columns", + "views/graph", + ]; + + let is_speculative = is_pre_0_21_release && RELEASED_IN_0_21.contains(&any_name); + + Ok(is_speculative) +} + +/// Appends `?speculative-link` to the given link if the associated object has not been released yet. +fn make_speculative_if_needed(name: &str, link: &str) -> anyhow::Result { + if is_speculative(name)? { + return Ok(format!("{link}?speculative-link")); + } + Ok(link.to_owned()) +} diff --git a/crates/build/re_types_builder/src/codegen/mod.rs b/crates/build/re_types_builder/src/codegen/mod.rs index ffa962b7b04a..f9c6fcb4b93a 100644 --- a/crates/build/re_types_builder/src/codegen/mod.rs +++ b/crates/build/re_types_builder/src/codegen/mod.rs @@ -57,7 +57,7 @@ mod python; mod rust; pub use self::cpp::CppCodeGenerator; -pub use self::docs::DocsCodeGenerator; +pub use self::docs::{DocsCodeGenerator, SnippetsRefCodeGenerator}; pub use self::fbs::FbsCodeGenerator; pub use self::python::PythonCodeGenerator; pub use self::rust::RustCodeGenerator; diff --git a/crates/build/re_types_builder/src/lib.rs b/crates/build/re_types_builder/src/lib.rs index f31cc0f85738..4641ace5d09f 100644 --- a/crates/build/re_types_builder/src/lib.rs +++ b/crates/build/re_types_builder/src/lib.rs @@ -119,6 +119,7 @@ mod reflection; use std::collections::{BTreeMap, BTreeSet}; +use std::path::PathBuf; use anyhow::Context as _; use codegen::FbsCodeGenerator; @@ -160,6 +161,7 @@ pub use self::{ arrow_registry::{ArrowRegistry, LazyDatatype, LazyField}, codegen::{ CodeGenerator, CppCodeGenerator, DocsCodeGenerator, PythonCodeGenerator, RustCodeGenerator, + SnippetsRefCodeGenerator, }, docs::Docs, format::{CodeFormatter, CppCodeFormatter, PythonCodeFormatter, RustCodeFormatter}, @@ -358,6 +360,11 @@ pub fn compute_re_types_hash(locations: &SourceLocations<'_>) -> String { let re_types_builder_hash = compute_re_types_builder_hash(); let definitions_hash = compute_dir_hash(locations.definitions_dir, Some(&["fbs"])); let snippets_hash = compute_dir_hash(locations.snippets_dir, Some(&["rs", "py", "cpp"])); + let snippets_index_hash = PathBuf::from(locations.snippets_dir) + .parent() + .map_or(String::new(), |dir| { + compute_dir_filtered_hash(dir, |path| path.to_str().unwrap().ends_with("INDEX.md")) + }); let python_extensions_hash = compute_dir_filtered_hash(locations.python_output_dir, |path| { path.to_str().unwrap().ends_with("_ext.py") }); @@ -369,6 +376,7 @@ pub fn compute_re_types_hash(locations: &SourceLocations<'_>) -> String { &re_types_builder_hash, &definitions_hash, &snippets_hash, + &snippets_index_hash, &python_extensions_hash, &cpp_extensions_hash, ]); @@ -376,6 +384,7 @@ pub fn compute_re_types_hash(locations: &SourceLocations<'_>) -> String { re_log::debug!("re_types_builder_hash: {re_types_builder_hash:?}"); re_log::debug!("definitions_hash: {definitions_hash:?}"); re_log::debug!("snippets_hash: {snippets_hash:?}"); + re_log::debug!("snippets_index_hash: {snippets_index_hash:?}"); re_log::debug!("python_extensions_hash: {python_extensions_hash:?}"); re_log::debug!("cpp_extensions_hash: {cpp_extensions_hash:?}"); re_log::debug!("new_hash: {new_hash:?}"); @@ -564,6 +573,37 @@ pub fn generate_docs( ); } +pub fn generate_snippets_ref( + reporter: &Reporter, + output_snippets_ref_dir: impl AsRef, + objects: &Objects, + arrow_registry: &ArrowRegistry, + check: bool, +) { + re_tracing::profile_function!(); + + re_log::info!( + "Generating snippets_ref to {}", + output_snippets_ref_dir.as_ref() + ); + + let mut generator = SnippetsRefCodeGenerator::new(output_snippets_ref_dir.as_ref()); + let mut formatter = NoopCodeFormatter; + + // NOTE: We generate in an existing folder, don't touch anything else. + let orphan_path_opt_out = output_snippets_ref_dir.as_ref().to_owned(); + + generate_code( + reporter, + objects, + arrow_registry, + &mut generator, + &mut formatter, + &std::iter::once(orphan_path_opt_out).collect(), + check, + ); +} + /// Generate flatbuffers definition files. /// /// This should run as the first step in the codegen pipeline as it influences all others. diff --git a/crates/build/re_types_builder/src/objects.rs b/crates/build/re_types_builder/src/objects.rs index d311ba9b1100..bee035715392 100644 --- a/crates/build/re_types_builder/src/objects.rs +++ b/crates/build/re_types_builder/src/objects.rs @@ -360,6 +360,26 @@ pub struct Object { pub datatype: Option, } +impl PartialEq for Object { + fn eq(&self, other: &Self) -> bool { + self.fqname == other.fqname + } +} + +impl Eq for Object {} + +impl Ord for Object { + fn cmp(&self, other: &Self) -> std::cmp::Ordering { + self.fqname.cmp(&other.fqname) + } +} + +impl PartialOrd for Object { + fn partial_cmp(&self, other: &Self) -> Option { + Some(self.cmp(other)) + } +} + impl Object { /// Resolves a raw [`crate::Object`] into a higher-level representation that can be easily /// interpreted and manipulated. diff --git a/docs/snippets/.gitattributes b/docs/snippets/.gitattributes new file mode 100644 index 000000000000..daaabee8c56a --- /dev/null +++ b/docs/snippets/.gitattributes @@ -0,0 +1,4 @@ +# DO NOT EDIT! This file is generated by crates/build/re_types_builder/src/lib.rs + +.gitattributes linguist-generated=true +INDEX.md linguist-generated=true diff --git a/docs/snippets/INDEX.md b/docs/snippets/INDEX.md new file mode 100644 index 000000000000..63c8a5d11c82 --- /dev/null +++ b/docs/snippets/INDEX.md @@ -0,0 +1,358 @@ + + +# Snippet index reference + +This file acts as an index reference for all of our [snippets](./README.md). + +Use it to quickly find copy-pastable snippets of code for any Rerun feature you're interested in (API, Archetypes, Components, etc). + +--- + +*Table of contents:* +* [Types](#types) + * [Archetypes](#archetypes) + * [Components](#components) + * [Views](#views-blueprint) + * [Archetypes (blueprint)](#archetypes-blueprint) + * [Components (blueprint)](#components-blueprint) + + +## Types + + +### Archetypes + +_All snippets, organized by the [`Archetype`](https://rerun.io/docs/reference/types/archetypes)(s) they use._ + +| Archetype | Snippet | Description | Python | Rust | C++ | +| --------- | ------- | ----------- | ------ | ---- | --- | +| **[`AnnotationContext`](https://rerun.io/docs/reference/types/archetypes/annotation_context)** | `archetypes/annotation_context_segmentation` | Log a segmentation image with annotations | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_segmentation.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_segmentation.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_segmentation.cpp) | +| **[`AnnotationContext`](https://rerun.io/docs/reference/types/archetypes/annotation_context)** | `archetypes/annotation_context_rects` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_rects.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_rects.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_rects.cpp) | +| **[`AnnotationContext`](https://rerun.io/docs/reference/types/archetypes/annotation_context)** | `archetypes/annotation_context_connections` | Log annotation context with connections between keypoints | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_connections.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_connections.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_connections.cpp) | +| **[`AnnotationContext`](https://rerun.io/docs/reference/types/archetypes/annotation_context)** | `archetypes/segmentation_image_simple` | Create and log a segmentation image | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/segmentation_image_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/segmentation_image_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/segmentation_image_simple.cpp) | +| **[`AnnotationContext`](https://rerun.io/docs/reference/types/archetypes/annotation_context)** | `tutorials/annotation-context` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/annotation-context.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/annotation-context.rs) | | +| **[`Arrows2D`](https://rerun.io/docs/reference/types/archetypes/arrows2d)** | `archetypes/arrow2d_simple` | Log a batch of 2D arrows | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/arrow2d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/arrow2d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/arrow2d_simple.cpp) | +| **[`Arrows3D`](https://rerun.io/docs/reference/types/archetypes/arrows3d)** | `archetypes/arrow3d_simple` | Log a batch of 3D arrows | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/arrow3d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/arrow3d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/arrow3d_simple.cpp) | +| **[`Arrows3D`](https://rerun.io/docs/reference/types/archetypes/arrows3d)** | `archetypes/clear_recursive` | Log and then clear data recursively | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/clear_recursive.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/clear_recursive.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/clear_recursive.cpp) | +| **[`Arrows3D`](https://rerun.io/docs/reference/types/archetypes/arrows3d)** | `archetypes/clear_simple` | Log and then clear data | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/clear_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/clear_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/clear_simple.cpp) | +| **[`Arrows3D`](https://rerun.io/docs/reference/types/archetypes/arrows3d)** | `archetypes/transform3d_simple` | Log different transforms between three arrows | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_simple.cpp) | +| **[`Arrows3D`](https://rerun.io/docs/reference/types/archetypes/arrows3d)** | `archetypes/view_coordinates_simple` | Change the view coordinates for the scene | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/view_coordinates_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/view_coordinates_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/view_coordinates_simple.cpp) | +| **[`Asset3D`](https://rerun.io/docs/reference/types/archetypes/asset3d)** | `archetypes/asset3d_simple` | Log a simple 3D asset | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/asset3d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/asset3d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/asset3d_simple.cpp) | +| **[`AssetVideo`](https://rerun.io/docs/reference/types/archetypes/asset_video)** | `archetypes/video_auto_frames` | Log a video asset using automatically determined frame references | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/video_auto_frames.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/video_auto_frames.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/video_auto_frames.cpp) | +| **[`AssetVideo`](https://rerun.io/docs/reference/types/archetypes/asset_video)** | `archetypes/video_manual_frames` | Manual use of individual video frame references | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/video_manual_frames.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/video_manual_frames.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/video_manual_frames.cpp) | +| **[`BarChart`](https://rerun.io/docs/reference/types/archetypes/bar_chart)** | `views/bar_chart` | Use a blueprint to show a bar chart | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/bar_chart.py) | | | +| **[`BarChart`](https://rerun.io/docs/reference/types/archetypes/bar_chart)** | `archetypes/bar_chart` | Create and log a bar chart | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/bar_chart.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/bar_chart.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/bar_chart.cpp) | +| **[`BarChart`](https://rerun.io/docs/reference/types/archetypes/bar_chart)** | `tutorials/visualization/save_blueprint` | Craft an example blueprint with the python API and save it to a file for future use | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/visualization/save_blueprint.py) | | | +| **[`Boxes2D`](https://rerun.io/docs/reference/types/archetypes/boxes2d)** | `archetypes/annotation_context_rects` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_rects.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_rects.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_rects.cpp) | +| **[`Boxes2D`](https://rerun.io/docs/reference/types/archetypes/boxes2d)** | `archetypes/box2d_simple` | Log a simple 2D Box | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/box2d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/box2d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/box2d_simple.cpp) | +| **[`Boxes2D`](https://rerun.io/docs/reference/types/archetypes/boxes2d)** | `concepts/viscomp-base` | Base example | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/viscomp-base.py) | | | +| **[`Boxes2D`](https://rerun.io/docs/reference/types/archetypes/boxes2d)** | `concepts/viscomp-component-default` | Add a component default | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/viscomp-component-default.py) | | | +| **[`Boxes2D`](https://rerun.io/docs/reference/types/archetypes/boxes2d)** | `concepts/viscomp-component-override` | Override a component | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/viscomp-component-override.py) | | | +| **[`Boxes2D`](https://rerun.io/docs/reference/types/archetypes/boxes2d)** | `concepts/viscomp-visualizer-override` | Override a visualizer | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/viscomp-visualizer-override.py) | | | +| **[`Boxes2D`](https://rerun.io/docs/reference/types/archetypes/boxes2d)** | `concepts/viscomp-visualizer-override-multiple` | Override a visualizer | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/viscomp-visualizer-override-multiple.py) | | | +| **[`Boxes3D`](https://rerun.io/docs/reference/types/archetypes/boxes3d)** | `archetypes/box3d_batch` | Log a batch of oriented bounding boxes | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/box3d_batch.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/box3d_batch.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/box3d_batch.cpp) | +| **[`Boxes3D`](https://rerun.io/docs/reference/types/archetypes/boxes3d)** | `archetypes/box3d_simple` | Log a single 3D Box | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/box3d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/box3d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/box3d_simple.cpp) | +| **[`Boxes3D`](https://rerun.io/docs/reference/types/archetypes/boxes3d)** | `archetypes/instance_poses3d_combined` | Log a simple 3D box with a regular & instance pose transform | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/instance_poses3d_combined.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/instance_poses3d_combined.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/instance_poses3d_combined.cpp) | +| **[`Boxes3D`](https://rerun.io/docs/reference/types/archetypes/boxes3d)** | `archetypes/mesh3d_instancing` | Log a simple 3D mesh with several instance pose transforms which instantiate the mesh several times and will not affect its children (known as mesh instancing) | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/mesh3d_instancing.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/mesh3d_instancing.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/mesh3d_instancing.cpp) | +| **[`Boxes3D`](https://rerun.io/docs/reference/types/archetypes/boxes3d)** | `views/spatial3d` | Use a blueprint to customize a Spatial3DView | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/spatial3d.py) | | | +| **[`Capsules3D`](https://rerun.io/docs/reference/types/archetypes/capsules3d)** | `archetypes/capsule3d_batch` | Log a batch of capsules | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/capsule3d_batch.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/capsule3d_batch.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/capsule3d_batch.cpp) | +| **[`Clear`](https://rerun.io/docs/reference/types/archetypes/clear)** | `archetypes/clear_simple` | Log and then clear data | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/clear_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/clear_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/clear_simple.cpp) | +| **[`Clear`](https://rerun.io/docs/reference/types/archetypes/clear)** | `archetypes/clear_recursive` | Log and then clear data recursively | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/clear_recursive.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/clear_recursive.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/clear_recursive.cpp) | +| **[`Clear`](https://rerun.io/docs/reference/types/archetypes/clear)** | `concepts/different_data_per_timeline` | Log different data on different timelines | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/different_data_per_timeline.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/different_data_per_timeline.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/different_data_per_timeline.cpp) | +| **[`DepthImage`](https://rerun.io/docs/reference/types/archetypes/depth_image)** | `archetypes/depth_image_simple` | Create and log a depth image | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/depth_image_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/depth_image_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/depth_image_simple.cpp) | +| **[`DepthImage`](https://rerun.io/docs/reference/types/archetypes/depth_image)** | `archetypes/depth_image_3d` | Create and log a depth image and pinhole camera | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/depth_image_3d.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/depth_image_3d.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/depth_image_3d.cpp) | +| **[`DisconnectedSpace`](https://rerun.io/docs/reference/types/archetypes/disconnected_space)** | `archetypes/disconnected_space` | Disconnect two spaces | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/disconnected_space.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/disconnected_space.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/disconnected_space.cpp) | +| **[`Ellipsoids3D`](https://rerun.io/docs/reference/types/archetypes/ellipsoids3d)** | `archetypes/ellipsoid3d_batch` | Log a batch of ellipsoids | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/ellipsoid3d_batch.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/ellipsoid3d_batch.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/ellipsoid3d_batch.cpp) | +| **[`Ellipsoids3D`](https://rerun.io/docs/reference/types/archetypes/ellipsoids3d)** | `archetypes/ellipsoid3d_simple` | Log random points and the corresponding covariance ellipsoid | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/ellipsoid3d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/ellipsoid3d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/ellipsoid3d_simple.cpp) | +| **[`EncodedImage`](https://rerun.io/docs/reference/types/archetypes/encoded_image)** | `archetypes/encoded_image` | Create and log an image | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/encoded_image.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/encoded_image.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/encoded_image.cpp) | +| **[`EncodedImage`](https://rerun.io/docs/reference/types/archetypes/encoded_image)** | `archetypes/image_advanced` | Log an image | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/image_advanced.py) | | | +| **[`GeoLineStrings`](https://rerun.io/docs/reference/types/archetypes/geo_line_strings)** | `archetypes/geo_line_string_simple` | Log a simple geospatial line string | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/geo_line_string_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/geo_line_string_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/geo_line_string_simple.cpp) | +| **[`GeoPoints`](https://rerun.io/docs/reference/types/archetypes/geo_points)** | `archetypes/geo_point_simple` | Log some very simple geospatial point | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/geo_point_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/geo_point_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/geo_point_simple.cpp) | +| **[`GeoPoints`](https://rerun.io/docs/reference/types/archetypes/geo_points)** | `views/map` | Use a blueprint to customize a map view | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/map.py) | | | +| **[`GraphEdges`](https://rerun.io/docs/reference/types/archetypes/graph_edges?speculative-link)** | `archetypes/graph_directed` | Log a simple directed graph | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/graph_directed.py?speculative-link) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/graph_directed.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/graph_directed.cpp?speculative-link) | +| **[`GraphEdges`](https://rerun.io/docs/reference/types/archetypes/graph_edges?speculative-link)** | `archetypes/graph_undirected` | Log a simple undirected graph | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/graph_undirected.py?speculative-link) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/graph_undirected.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/graph_undirected.cpp?speculative-link) | +| **[`GraphNodes`](https://rerun.io/docs/reference/types/archetypes/graph_nodes?speculative-link)** | `archetypes/graph_directed` | Log a simple directed graph | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/graph_directed.py?speculative-link) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/graph_directed.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/graph_directed.cpp?speculative-link) | +| **[`GraphNodes`](https://rerun.io/docs/reference/types/archetypes/graph_nodes?speculative-link)** | `archetypes/graph_undirected` | Log a simple undirected graph | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/graph_undirected.py?speculative-link) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/graph_undirected.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/graph_undirected.cpp?speculative-link) | +| **[`GraphNodes`](https://rerun.io/docs/reference/types/archetypes/graph_nodes?speculative-link)** | `views/graph` | Use a blueprint to customize a graph view | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/graph.py?speculative-link?speculative-link) | | | +| **[`Image`](https://rerun.io/docs/reference/types/archetypes/image)** | `archetypes/segmentation_image_simple` | Create and log a segmentation image | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/segmentation_image_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/segmentation_image_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/segmentation_image_simple.cpp) | +| **[`Image`](https://rerun.io/docs/reference/types/archetypes/image)** | `archetypes/image_simple` | Create and log an image | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/image_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/image_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/image_simple.cpp) | +| **[`Image`](https://rerun.io/docs/reference/types/archetypes/image)** | `archetypes/image_send_columns` | Send multiple images at once using `send_columns` | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/image_send_columns.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/image_send_columns.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/image_send_columns.cpp) | +| **[`Image`](https://rerun.io/docs/reference/types/archetypes/image)** | `archetypes/image_formats` | Create and log an image with various formats | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/image_formats.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/image_formats.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/image_formats.cpp) | +| **[`Image`](https://rerun.io/docs/reference/types/archetypes/image)** | `archetypes/image_advanced` | Log an image | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/image_advanced.py) | | | +| **[`Image`](https://rerun.io/docs/reference/types/archetypes/image)** | `archetypes/encoded_image` | Create and log an image | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/encoded_image.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/encoded_image.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/encoded_image.cpp) | +| **[`Image`](https://rerun.io/docs/reference/types/archetypes/image)** | `archetypes/depth_image_simple` | Create and log a depth image | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/depth_image_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/depth_image_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/depth_image_simple.cpp) | +| **[`Image`](https://rerun.io/docs/reference/types/archetypes/image)** | `archetypes/depth_image_3d` | Create and log a depth image and pinhole camera | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/depth_image_3d.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/depth_image_3d.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/depth_image_3d.cpp) | +| **[`Image`](https://rerun.io/docs/reference/types/archetypes/image)** | `archetypes/annotation_context_segmentation` | Log a segmentation image with annotations | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_segmentation.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_segmentation.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_segmentation.cpp) | +| **[`Image`](https://rerun.io/docs/reference/types/archetypes/image)** | `archetypes/pinhole_simple` | Log a pinhole and a random image | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/pinhole_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/pinhole_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/pinhole_simple.cpp) | +| **[`Image`](https://rerun.io/docs/reference/types/archetypes/image)** | `archetypes/text_document` | Log a `TextDocument` | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_document.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_document.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_document.cpp) | +| **[`Image`](https://rerun.io/docs/reference/types/archetypes/image)** | `views/text_document` | Use a blueprint to show a text document | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/text_document.py) | | | +| **[`InstancePoses3D`](https://rerun.io/docs/reference/types/archetypes/instance_poses3d)** | `archetypes/instance_poses3d_combined` | Log a simple 3D box with a regular & instance pose transform | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/instance_poses3d_combined.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/instance_poses3d_combined.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/instance_poses3d_combined.cpp) | +| **[`InstancePoses3D`](https://rerun.io/docs/reference/types/archetypes/instance_poses3d)** | `archetypes/mesh3d_instancing` | Log a simple 3D mesh with several instance pose transforms which instantiate the mesh several times and will not affect its children (known as mesh instancing) | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/mesh3d_instancing.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/mesh3d_instancing.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/mesh3d_instancing.cpp) | +| **[`LineStrips2D`](https://rerun.io/docs/reference/types/archetypes/line_strips2d)** | `archetypes/line_segments2d_simple` | Log a couple 2D line segments using 2D line strips | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_segments2d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_segments2d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_segments2d_simple.cpp) | +| **[`LineStrips2D`](https://rerun.io/docs/reference/types/archetypes/line_strips2d)** | `archetypes/line_strip2d_batch` | Log a batch of 2D line strips | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_batch.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_batch.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_batch.cpp) | +| **[`LineStrips2D`](https://rerun.io/docs/reference/types/archetypes/line_strips2d)** | `archetypes/line_strip2d_simple` | Log a simple line strip | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_simple.cpp) | +| **[`LineStrips2D`](https://rerun.io/docs/reference/types/archetypes/line_strips2d)** | `archetypes/line_strip2d_ui_radius` | Log lines with ui points & scene unit radii | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_ui_radius.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_ui_radius.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_ui_radius.cpp) | +| **[`LineStrips3D`](https://rerun.io/docs/reference/types/archetypes/line_strips3d)** | `archetypes/line_segments3d_simple` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_segments3d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_segments3d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_segments3d_simple.cpp) | +| **[`LineStrips3D`](https://rerun.io/docs/reference/types/archetypes/line_strips3d)** | `archetypes/line_strip3d_batch` | Log a batch of 3D line strips | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip3d_batch.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip3d_batch.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip3d_batch.cpp) | +| **[`LineStrips3D`](https://rerun.io/docs/reference/types/archetypes/line_strips3d)** | `archetypes/line_strip3d_simple` | Log a simple line strip | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip3d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip3d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip3d_simple.cpp) | +| **[`LineStrips3D`](https://rerun.io/docs/reference/types/archetypes/line_strips3d)** | `archetypes/line_strip3d_ui_radius` | Log lines with ui points & scene unit radii | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip3d_ui_radius.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip3d_ui_radius.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip3d_ui_radius.cpp) | +| **[`LineStrips3D`](https://rerun.io/docs/reference/types/archetypes/line_strips3d)** | `archetypes/transform3d_hierarchy` | Logs a transforms transform hierarchy | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_hierarchy.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_hierarchy.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_hierarchy.cpp) | +| **[`Mesh3D`](https://rerun.io/docs/reference/types/archetypes/mesh3d)** | `archetypes/mesh3d_simple` | Log a simple colored triangle | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/mesh3d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/mesh3d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/mesh3d_simple.cpp) | +| **[`Mesh3D`](https://rerun.io/docs/reference/types/archetypes/mesh3d)** | `archetypes/mesh3d_partial_updates` | Log a simple colored triangle, then update its vertices' positions each frame | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/mesh3d_partial_updates.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/mesh3d_partial_updates.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/mesh3d_partial_updates.cpp) | +| **[`Mesh3D`](https://rerun.io/docs/reference/types/archetypes/mesh3d)** | `archetypes/mesh3d_instancing` | Log a simple 3D mesh with several instance pose transforms which instantiate the mesh several times and will not affect its children (known as mesh instancing) | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/mesh3d_instancing.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/mesh3d_instancing.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/mesh3d_instancing.cpp) | +| **[`Mesh3D`](https://rerun.io/docs/reference/types/archetypes/mesh3d)** | `archetypes/mesh3d_indexed` | Log a simple colored triangle | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/mesh3d_indexed.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/mesh3d_indexed.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/mesh3d_indexed.cpp) | +| **[`Mesh3D`](https://rerun.io/docs/reference/types/archetypes/mesh3d)** | `archetypes/manual_indicator` | Shows how to manually associate one or more indicator components with arbitrary data | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/manual_indicator.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/manual_indicator.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/manual_indicator.cpp) | +| **[`Pinhole`](https://rerun.io/docs/reference/types/archetypes/pinhole)** | `archetypes/pinhole_simple` | Log a pinhole and a random image | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/pinhole_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/pinhole_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/pinhole_simple.cpp) | +| **[`Pinhole`](https://rerun.io/docs/reference/types/archetypes/pinhole)** | `archetypes/pinhole_perspective` | Logs a point cloud and a perspective camera looking at it | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/pinhole_perspective.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/pinhole_perspective.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/pinhole_perspective.cpp) | +| **[`Pinhole`](https://rerun.io/docs/reference/types/archetypes/pinhole)** | `archetypes/depth_image_3d` | Create and log a depth image and pinhole camera | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/depth_image_3d.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/depth_image_3d.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/depth_image_3d.cpp) | +| **[`Points2D`](https://rerun.io/docs/reference/types/archetypes/points2d)** | `archetypes/point2d_random` | Log some random points with color and radii | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_random.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_random.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_random.cpp) | +| **[`Points2D`](https://rerun.io/docs/reference/types/archetypes/points2d)** | `archetypes/point2d_simple` | Log some very simple points | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_simple.cpp) | +| **[`Points2D`](https://rerun.io/docs/reference/types/archetypes/points2d)** | `archetypes/point2d_ui_radius` | Log some points with ui points & scene unit radii | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_ui_radius.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_ui_radius.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_ui_radius.cpp) | +| **[`Points2D`](https://rerun.io/docs/reference/types/archetypes/points2d)** | `concepts/different_data_per_timeline` | Log different data on different timelines | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/different_data_per_timeline.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/different_data_per_timeline.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/different_data_per_timeline.cpp) | +| **[`Points2D`](https://rerun.io/docs/reference/types/archetypes/points2d)** | `concepts/viscomp-visualizer-override` | Override a visualizer | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/viscomp-visualizer-override.py) | | | +| **[`Points2D`](https://rerun.io/docs/reference/types/archetypes/points2d)** | `concepts/viscomp-visualizer-override-multiple` | Override a visualizer | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/viscomp-visualizer-override-multiple.py) | | | +| **[`Points2D`](https://rerun.io/docs/reference/types/archetypes/points2d)** | `tutorials/extra_values` | Log extra values with a Points2D | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/extra_values.py) | | | +| **[`Points2D`](https://rerun.io/docs/reference/types/archetypes/points2d)** | `views/spatial2d` | Use a blueprint to customize a Spatial2DView | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/spatial2d.py) | | | +| **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `archetypes/points3d_send_columns` | Use the `send_columns` API to send several point clouds over time in a single call | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/points3d_send_columns.py) | | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/points3d_send_columns.cpp) | +| **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `archetypes/annotation_context_connections` | Log annotation context with connections between keypoints | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_connections.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_connections.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_connections.cpp) | +| **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `archetypes/disconnected_space` | Disconnect two spaces | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/disconnected_space.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/disconnected_space.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/disconnected_space.cpp) | +| **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `archetypes/ellipsoid3d_simple` | Log random points and the corresponding covariance ellipsoid | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/ellipsoid3d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/ellipsoid3d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/ellipsoid3d_simple.cpp) | +| **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `archetypes/instance_poses3d_combined` | Log a simple 3D box with a regular & instance pose transform | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/instance_poses3d_combined.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/instance_poses3d_combined.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/instance_poses3d_combined.cpp) | +| **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `archetypes/manual_indicator` | Shows how to manually associate one or more indicator components with arbitrary data | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/manual_indicator.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/manual_indicator.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/manual_indicator.cpp) | +| **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `archetypes/pinhole_perspective` | Logs a point cloud and a perspective camera looking at it | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/pinhole_perspective.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/pinhole_perspective.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/pinhole_perspective.cpp) | +| **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `archetypes/point3d_random` | Log some random points with color and radii | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point3d_random.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point3d_random.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point3d_random.cpp) | +| **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `archetypes/point3d_simple` | Log some very simple points | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point3d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point3d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point3d_simple.cpp) | +| **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `archetypes/point3d_ui_radius` | Log some points with ui points & scene unit radii | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point3d_ui_radius.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point3d_ui_radius.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point3d_ui_radius.cpp) | +| **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `archetypes/transform3d_hierarchy` | Logs a transforms transform hierarchy | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_hierarchy.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_hierarchy.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_hierarchy.cpp) | +| **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `concepts/explicit_recording` | Just makes sure that explicit recordings actually work | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/explicit_recording.py?speculative-link) | | | +| **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `descriptors/descr_builtin_archetype` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/descriptors/descr_builtin_archetype.py?speculative-link) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/descriptors/descr_builtin_archetype.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/descriptors/descr_builtin_archetype.cpp?speculative-link) | +| **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `descriptors/descr_custom_archetype` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/descriptors/descr_custom_archetype.py?speculative-link) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/descriptors/descr_custom_archetype.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/descriptors/descr_custom_archetype.cpp?speculative-link) | +| **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `migration/log_line` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/migration/log_line.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/migration/log_line.rs) | | +| **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `quick_start/quick_start_connect` | Connect to the viewer and log some data | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/quick_start/quick_start_connect.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/quick_start/quick_start_connect.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/quick_start/quick_start_connect.cpp) | +| **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `quick_start/quick_start_spawn` | Spawn a viewer and log some data | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/quick_start/quick_start_spawn.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/quick_start/quick_start_spawn.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/quick_start/quick_start_spawn.cpp) | +| **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `tutorials/custom_data` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/custom_data.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/custom_data.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/custom_data.cpp) | +| **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `tutorials/timelines_example` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/timelines_example.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/timelines_example.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/timelines_example.cpp) | +| **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `views/spatial3d` | Use a blueprint to customize a Spatial3DView | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/spatial3d.py) | | | +| **[`Scalar`](https://rerun.io/docs/reference/types/archetypes/scalar)** | `archetypes/scalar_simple` | Log a scalar over time | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/scalar_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/scalar_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/scalar_simple.cpp) | +| **[`Scalar`](https://rerun.io/docs/reference/types/archetypes/scalar)** | `archetypes/scalar_send_columns` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/scalar_send_columns.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/scalar_send_columns.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/scalar_send_columns.cpp) | +| **[`Scalar`](https://rerun.io/docs/reference/types/archetypes/scalar)** | `archetypes/scalar_multiple_plots` | Log a scalar over time | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/scalar_multiple_plots.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/scalar_multiple_plots.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/scalar_multiple_plots.cpp) | +| **[`Scalar`](https://rerun.io/docs/reference/types/archetypes/scalar)** | `archetypes/series_line_style` | Log a scalar over time | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/series_line_style.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/series_line_style.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/series_line_style.cpp) | +| **[`Scalar`](https://rerun.io/docs/reference/types/archetypes/scalar)** | `archetypes/series_point_style` | Log a scalar over time | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/series_point_style.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/series_point_style.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/series_point_style.cpp) | +| **[`Scalar`](https://rerun.io/docs/reference/types/archetypes/scalar)** | `tutorials/data_out` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/data_out.py) | | | +| **[`Scalar`](https://rerun.io/docs/reference/types/archetypes/scalar)** | `tutorials/fixed_window_plot` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/fixed_window_plot.py) | | | +| **[`Scalar`](https://rerun.io/docs/reference/types/archetypes/scalar)** | `tutorials/visualizer-overrides` | Log a scalar over time and override the visualizer | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/visualizer-overrides.py) | | | +| **[`Scalar`](https://rerun.io/docs/reference/types/archetypes/scalar)** | `views/dataframe` | Use a blueprint to customize a DataframeView | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/dataframe.py) | | | +| **[`Scalar`](https://rerun.io/docs/reference/types/archetypes/scalar)** | `views/tensor` | Use a blueprint to show a tensor view | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/tensor.py) | | | +| **[`Scalar`](https://rerun.io/docs/reference/types/archetypes/scalar)** | `views/timeseries` | Use a blueprint to customize a TimeSeriesView | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/timeseries.py) | | | +| **[`SegmentationImage`](https://rerun.io/docs/reference/types/archetypes/segmentation_image)** | `archetypes/segmentation_image_simple` | Create and log a segmentation image | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/segmentation_image_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/segmentation_image_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/segmentation_image_simple.cpp) | +| **[`SegmentationImage`](https://rerun.io/docs/reference/types/archetypes/segmentation_image)** | `archetypes/annotation_context_segmentation` | Log a segmentation image with annotations | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_segmentation.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_segmentation.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_segmentation.cpp) | +| **[`SeriesLine`](https://rerun.io/docs/reference/types/archetypes/series_line)** | `archetypes/series_line_style` | Log a scalar over time | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/series_line_style.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/series_line_style.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/series_line_style.cpp) | +| **[`SeriesLine`](https://rerun.io/docs/reference/types/archetypes/series_line)** | `archetypes/scalar_multiple_plots` | Log a scalar over time | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/scalar_multiple_plots.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/scalar_multiple_plots.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/scalar_multiple_plots.cpp) | +| **[`SeriesLine`](https://rerun.io/docs/reference/types/archetypes/series_line)** | `views/timeseries` | Use a blueprint to customize a TimeSeriesView | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/timeseries.py) | | | +| **[`SeriesPoint`](https://rerun.io/docs/reference/types/archetypes/series_point)** | `archetypes/series_point_style` | Log a scalar over time | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/series_point_style.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/series_point_style.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/series_point_style.cpp) | +| **[`SeriesPoint`](https://rerun.io/docs/reference/types/archetypes/series_point)** | `archetypes/scalar_multiple_plots` | Log a scalar over time | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/scalar_multiple_plots.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/scalar_multiple_plots.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/scalar_multiple_plots.cpp) | +| **[`SeriesPoint`](https://rerun.io/docs/reference/types/archetypes/series_point)** | `tutorials/visualizer-overrides` | Log a scalar over time and override the visualizer | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/visualizer-overrides.py) | | | +| **[`Tensor`](https://rerun.io/docs/reference/types/archetypes/tensor)** | `views/tensor` | Use a blueprint to show a tensor view | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/tensor.py) | | | +| **[`Tensor`](https://rerun.io/docs/reference/types/archetypes/tensor)** | `archetypes/tensor_simple` | Create and log a tensor | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/tensor_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/tensor_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/tensor_simple.cpp) | +| **[`Tensor`](https://rerun.io/docs/reference/types/archetypes/tensor)** | `views/bar_chart` | Use a blueprint to show a bar chart | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/bar_chart.py) | | | +| **[`TextDocument`](https://rerun.io/docs/reference/types/archetypes/text_document)** | `views/text_document` | Use a blueprint to show a text document | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/text_document.py) | | | +| **[`TextDocument`](https://rerun.io/docs/reference/types/archetypes/text_document)** | `archetypes/text_document` | Log a `TextDocument` | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_document.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_document.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_document.cpp) | +| **[`TextDocument`](https://rerun.io/docs/reference/types/archetypes/text_document)** | `archetypes/entity_path` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/entity_path.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/entity_path.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/entity_path.cpp) | +| **[`TextDocument`](https://rerun.io/docs/reference/types/archetypes/text_document)** | `tutorials/visualization/save_blueprint` | Craft an example blueprint with the python API and save it to a file for future use | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/visualization/save_blueprint.py) | | | +| **[`TextLog`](https://rerun.io/docs/reference/types/archetypes/text_log)** | `views/text_log` | Use a blueprint to show a text log | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/text_log.py) | | | +| **[`TextLog`](https://rerun.io/docs/reference/types/archetypes/text_log)** | `archetypes/text_log_integration` | Shows integration of Rerun's `TextLog` with the native logging interface | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_log_integration.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_log_integration.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_log_integration.cpp) | +| **[`TextLog`](https://rerun.io/docs/reference/types/archetypes/text_log)** | `archetypes/text_log` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_log.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_log.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_log.cpp) | +| **[`TextLog`](https://rerun.io/docs/reference/types/archetypes/text_log)** | `concepts/app-model/native-async` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/app-model/native-async.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/app-model/native-async.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/app-model/native-async.cpp) | +| **[`TextLog`](https://rerun.io/docs/reference/types/archetypes/text_log)** | `concepts/app-model/native-sync` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/app-model/native-sync.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/app-model/native-sync.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/app-model/native-sync.cpp) | +| **[`Transform3D`](https://rerun.io/docs/reference/types/archetypes/transform3d)** | `archetypes/transform3d_simple` | Log different transforms between three arrows | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_simple.cpp) | +| **[`Transform3D`](https://rerun.io/docs/reference/types/archetypes/transform3d)** | `archetypes/transform3d_hierarchy` | Logs a transforms transform hierarchy | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_hierarchy.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_hierarchy.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_hierarchy.cpp) | +| **[`Transform3D`](https://rerun.io/docs/reference/types/archetypes/transform3d)** | `archetypes/transform3d_axes` | Log different transforms with visualized coordinates axes | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_axes.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_axes.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_axes.cpp) | +| **[`Transform3D`](https://rerun.io/docs/reference/types/archetypes/transform3d)** | `archetypes/instance_poses3d_combined` | Log a simple 3D box with a regular & instance pose transform | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/instance_poses3d_combined.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/instance_poses3d_combined.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/instance_poses3d_combined.cpp) | +| **[`VideoFrameReference`](https://rerun.io/docs/reference/types/archetypes/video_frame_reference)** | `archetypes/video_auto_frames` | Log a video asset using automatically determined frame references | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/video_auto_frames.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/video_auto_frames.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/video_auto_frames.cpp) | +| **[`VideoFrameReference`](https://rerun.io/docs/reference/types/archetypes/video_frame_reference)** | `archetypes/video_manual_frames` | Manual use of individual video frame references | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/video_manual_frames.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/video_manual_frames.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/video_manual_frames.cpp) | +| **[`ViewCoordinates`](https://rerun.io/docs/reference/types/archetypes/view_coordinates)** | `archetypes/view_coordinates_simple` | Change the view coordinates for the scene | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/view_coordinates_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/view_coordinates_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/view_coordinates_simple.cpp) | +| **[`ViewCoordinates`](https://rerun.io/docs/reference/types/archetypes/view_coordinates)** | `archetypes/asset3d_simple` | Log a simple 3D asset | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/asset3d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/asset3d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/asset3d_simple.cpp) | +| **[`ViewCoordinates`](https://rerun.io/docs/reference/types/archetypes/view_coordinates)** | `archetypes/pinhole_perspective` | Logs a point cloud and a perspective camera looking at it | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/pinhole_perspective.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/pinhole_perspective.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/pinhole_perspective.cpp) | +| **[`ViewCoordinates`](https://rerun.io/docs/reference/types/archetypes/view_coordinates)** | `archetypes/transform3d_hierarchy` | Logs a transforms transform hierarchy | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_hierarchy.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_hierarchy.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_hierarchy.cpp) | + + +### Components + +_All snippets, organized by the [`Component`](https://rerun.io/docs/reference/types/components)(s) they use._ + +| Component | Snippet | Description | Python | Rust | C++ | +| --------- | ------- | ----------- | ------ | ---- | --- | +| **[`AnnotationContext`](https://rerun.io/docs/reference/types/components/annotation_context)** | `archetypes/annotation_context_segmentation` | Log a segmentation image with annotations | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_segmentation.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_segmentation.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_segmentation.cpp) | +| **[`AnnotationContext`](https://rerun.io/docs/reference/types/components/annotation_context)** | `archetypes/annotation_context_rects` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_rects.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_rects.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_rects.cpp) | +| **[`AnnotationContext`](https://rerun.io/docs/reference/types/components/annotation_context)** | `archetypes/annotation_context_connections` | Log annotation context with connections between keypoints | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_connections.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_connections.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/annotation_context_connections.cpp) | +| **[`AnnotationContext`](https://rerun.io/docs/reference/types/components/annotation_context)** | `archetypes/segmentation_image_simple` | Create and log a segmentation image | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/segmentation_image_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/segmentation_image_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/segmentation_image_simple.cpp) | +| **[`AnnotationContext`](https://rerun.io/docs/reference/types/components/annotation_context)** | `tutorials/annotation-context` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/annotation-context.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/annotation-context.rs) | | +| **[`Color`](https://rerun.io/docs/reference/types/components/color)** | `archetypes/manual_indicator` | Shows how to manually associate one or more indicator components with arbitrary data | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/manual_indicator.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/manual_indicator.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/manual_indicator.cpp) | +| **[`Color`](https://rerun.io/docs/reference/types/components/color)** | `archetypes/points3d_send_columns` | Use the `send_columns` API to send several point clouds over time in a single call | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/points3d_send_columns.py) | | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/points3d_send_columns.cpp) | +| **[`Color`](https://rerun.io/docs/reference/types/components/color)** | `concepts/different_data_per_timeline` | Log different data on different timelines | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/different_data_per_timeline.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/different_data_per_timeline.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/different_data_per_timeline.cpp) | +| **[`Color`](https://rerun.io/docs/reference/types/components/color)** | `concepts/viscomp-component-default` | Add a component default | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/viscomp-component-default.py) | | | +| **[`Color`](https://rerun.io/docs/reference/types/components/color)** | `concepts/viscomp-component-override` | Override a component | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/viscomp-component-override.py) | | | +| **[`Color`](https://rerun.io/docs/reference/types/components/color)** | `concepts/viscomp-visualizer-override` | Override a visualizer | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/viscomp-visualizer-override.py) | | | +| **[`Color`](https://rerun.io/docs/reference/types/components/color)** | `concepts/viscomp-visualizer-override-multiple` | Override a visualizer | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/viscomp-visualizer-override-multiple.py) | | | +| **[`Color`](https://rerun.io/docs/reference/types/components/color)** | `descriptors/descr_custom_archetype` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/descriptors/descr_custom_archetype.py?speculative-link) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/descriptors/descr_custom_archetype.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/descriptors/descr_custom_archetype.cpp?speculative-link) | +| **[`Color`](https://rerun.io/docs/reference/types/components/color)** | `views/spatial3d` | Use a blueprint to customize a Spatial3DView | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/spatial3d.py) | | | +| **[`DisconnectedSpace`](https://rerun.io/docs/reference/types/components/disconnected_space)** | `archetypes/disconnected_space` | Disconnect two spaces | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/disconnected_space.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/disconnected_space.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/disconnected_space.cpp) | +| **[`GeoLineString`](https://rerun.io/docs/reference/types/components/geo_line_string)** | `archetypes/geo_line_string_simple` | Log a simple geospatial line string | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/geo_line_string_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/geo_line_string_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/geo_line_string_simple.cpp) | +| **[`GraphEdge`](https://rerun.io/docs/reference/types/components/graph_edge?speculative-link)** | `archetypes/graph_directed` | Log a simple directed graph | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/graph_directed.py?speculative-link) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/graph_directed.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/graph_directed.cpp?speculative-link) | +| **[`GraphEdge`](https://rerun.io/docs/reference/types/components/graph_edge?speculative-link)** | `archetypes/graph_undirected` | Log a simple undirected graph | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/graph_undirected.py?speculative-link) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/graph_undirected.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/graph_undirected.cpp?speculative-link) | +| **[`GraphNode`](https://rerun.io/docs/reference/types/components/graph_node?speculative-link)** | `archetypes/graph_directed` | Log a simple directed graph | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/graph_directed.py?speculative-link) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/graph_directed.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/graph_directed.cpp?speculative-link) | +| **[`GraphNode`](https://rerun.io/docs/reference/types/components/graph_node?speculative-link)** | `archetypes/graph_undirected` | Log a simple undirected graph | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/graph_undirected.py?speculative-link) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/graph_undirected.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/graph_undirected.cpp?speculative-link) | +| **[`GraphNode`](https://rerun.io/docs/reference/types/components/graph_node?speculative-link)** | `views/graph` | Use a blueprint to customize a graph view | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/graph.py?speculative-link?speculative-link) | | | +| **[`ImageBuffer`](https://rerun.io/docs/reference/types/components/image_buffer)** | `archetypes/image_send_columns` | Send multiple images at once using `send_columns` | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/image_send_columns.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/image_send_columns.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/image_send_columns.cpp) | +| **[`ImageFormat`](https://rerun.io/docs/reference/types/components/image_format)** | `archetypes/image_send_columns` | Send multiple images at once using `send_columns` | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/image_send_columns.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/image_send_columns.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/image_send_columns.cpp) | +| **[`MediaType`](https://rerun.io/docs/reference/types/components/media_type)** | `archetypes/text_document` | Log a `TextDocument` | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_document.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_document.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_document.cpp) | +| **[`MediaType`](https://rerun.io/docs/reference/types/components/media_type)** | `views/text_document` | Use a blueprint to show a text document | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/text_document.py) | | | +| **[`Plane3D`](https://rerun.io/docs/reference/types/components/plane3d?speculative-link)** | `views/spatial3d` | Use a blueprint to customize a Spatial3DView | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/spatial3d.py?speculative-link) | | | +| **[`Position3D`](https://rerun.io/docs/reference/types/components/position3d)** | `archetypes/manual_indicator` | Shows how to manually associate one or more indicator components with arbitrary data | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/manual_indicator.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/manual_indicator.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/manual_indicator.cpp) | +| **[`Position3D`](https://rerun.io/docs/reference/types/components/position3d)** | `archetypes/mesh3d_partial_updates` | Log a simple colored triangle, then update its vertices' positions each frame | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/mesh3d_partial_updates.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/mesh3d_partial_updates.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/mesh3d_partial_updates.cpp) | +| **[`Position3D`](https://rerun.io/docs/reference/types/components/position3d)** | `archetypes/points3d_send_columns` | Use the `send_columns` API to send several point clouds over time in a single call | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/points3d_send_columns.py) | | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/points3d_send_columns.cpp) | +| **[`Position3D`](https://rerun.io/docs/reference/types/components/position3d)** | `descriptors/descr_builtin_component` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/descriptors/descr_builtin_component.py?speculative-link) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/descriptors/descr_builtin_component.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/descriptors/descr_builtin_component.cpp?speculative-link) | +| **[`Position3D`](https://rerun.io/docs/reference/types/components/position3d)** | `descriptors/descr_custom_archetype` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/descriptors/descr_custom_archetype.py?speculative-link) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/descriptors/descr_custom_archetype.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/descriptors/descr_custom_archetype.cpp?speculative-link) | +| **[`Position3D`](https://rerun.io/docs/reference/types/components/position3d)** | `descriptors/descr_custom_component` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/descriptors/descr_custom_component.py?speculative-link) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/descriptors/descr_custom_component.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/descriptors/descr_custom_component.cpp?speculative-link) | +| **[`Radius`](https://rerun.io/docs/reference/types/components/radius)** | `archetypes/point3d_ui_radius` | Log some points with ui points & scene unit radii | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point3d_ui_radius.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point3d_ui_radius.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point3d_ui_radius.cpp) | +| **[`Radius`](https://rerun.io/docs/reference/types/components/radius)** | `archetypes/point2d_ui_radius` | Log some points with ui points & scene unit radii | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_ui_radius.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_ui_radius.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_ui_radius.cpp) | +| **[`Radius`](https://rerun.io/docs/reference/types/components/radius)** | `archetypes/line_strip3d_ui_radius` | Log lines with ui points & scene unit radii | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip3d_ui_radius.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip3d_ui_radius.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip3d_ui_radius.cpp) | +| **[`Radius`](https://rerun.io/docs/reference/types/components/radius)** | `archetypes/line_strip2d_ui_radius` | Log lines with ui points & scene unit radii | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_ui_radius.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_ui_radius.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_ui_radius.cpp) | +| **[`Radius`](https://rerun.io/docs/reference/types/components/radius)** | `archetypes/geo_line_string_simple` | Log a simple geospatial line string | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/geo_line_string_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/geo_line_string_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/geo_line_string_simple.cpp) | +| **[`Radius`](https://rerun.io/docs/reference/types/components/radius)** | `archetypes/geo_point_simple` | Log some very simple geospatial point | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/geo_point_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/geo_point_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/geo_point_simple.cpp) | +| **[`Radius`](https://rerun.io/docs/reference/types/components/radius)** | `archetypes/manual_indicator` | Shows how to manually associate one or more indicator components with arbitrary data | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/manual_indicator.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/manual_indicator.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/manual_indicator.cpp) | +| **[`Radius`](https://rerun.io/docs/reference/types/components/radius)** | `concepts/different_data_per_timeline` | Log different data on different timelines | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/different_data_per_timeline.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/different_data_per_timeline.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/different_data_per_timeline.cpp) | +| **[`Radius`](https://rerun.io/docs/reference/types/components/radius)** | `views/map` | Use a blueprint to customize a map view | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/map.py) | | | +| **[`RotationAxisAngle`](https://rerun.io/docs/reference/types/components/rotation_axis_angle)** | `archetypes/capsule3d_batch` | Log a batch of capsules | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/capsule3d_batch.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/capsule3d_batch.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/capsule3d_batch.cpp) | +| **[`RotationAxisAngle`](https://rerun.io/docs/reference/types/components/rotation_axis_angle)** | `archetypes/instance_poses3d_combined` | Log a simple 3D box with a regular & instance pose transform | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/instance_poses3d_combined.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/instance_poses3d_combined.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/instance_poses3d_combined.cpp) | +| **[`RotationAxisAngle`](https://rerun.io/docs/reference/types/components/rotation_axis_angle)** | `archetypes/mesh3d_instancing` | Log a simple 3D mesh with several instance pose transforms which instantiate the mesh several times and will not affect its children (known as mesh instancing) | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/mesh3d_instancing.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/mesh3d_instancing.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/mesh3d_instancing.cpp) | +| **[`RotationAxisAngle`](https://rerun.io/docs/reference/types/components/rotation_axis_angle)** | `archetypes/transform3d_axes` | Log different transforms with visualized coordinates axes | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_axes.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_axes.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_axes.cpp) | +| **[`RotationAxisAngle`](https://rerun.io/docs/reference/types/components/rotation_axis_angle)** | `archetypes/transform3d_hierarchy` | Logs a transforms transform hierarchy | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_hierarchy.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_hierarchy.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_hierarchy.cpp) | +| **[`RotationAxisAngle`](https://rerun.io/docs/reference/types/components/rotation_axis_angle)** | `archetypes/transform3d_simple` | Log different transforms between three arrows | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_simple.cpp) | +| **[`Scalar`](https://rerun.io/docs/reference/types/components/scalar)** | `archetypes/scalar_simple` | Log a scalar over time | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/scalar_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/scalar_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/scalar_simple.cpp) | +| **[`Scalar`](https://rerun.io/docs/reference/types/components/scalar)** | `archetypes/scalar_send_columns` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/scalar_send_columns.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/scalar_send_columns.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/scalar_send_columns.cpp) | +| **[`Scalar`](https://rerun.io/docs/reference/types/components/scalar)** | `archetypes/scalar_multiple_plots` | Log a scalar over time | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/scalar_multiple_plots.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/scalar_multiple_plots.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/scalar_multiple_plots.cpp) | +| **[`Scalar`](https://rerun.io/docs/reference/types/components/scalar)** | `archetypes/series_line_style` | Log a scalar over time | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/series_line_style.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/series_line_style.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/series_line_style.cpp) | +| **[`Scalar`](https://rerun.io/docs/reference/types/components/scalar)** | `archetypes/series_point_style` | Log a scalar over time | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/series_point_style.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/series_point_style.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/series_point_style.cpp) | +| **[`Scalar`](https://rerun.io/docs/reference/types/components/scalar)** | `tutorials/data_out` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/data_out.py) | | | +| **[`Scalar`](https://rerun.io/docs/reference/types/components/scalar)** | `tutorials/fixed_window_plot` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/fixed_window_plot.py) | | | +| **[`Scalar`](https://rerun.io/docs/reference/types/components/scalar)** | `tutorials/visualizer-overrides` | Log a scalar over time and override the visualizer | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/visualizer-overrides.py) | | | +| **[`Scalar`](https://rerun.io/docs/reference/types/components/scalar)** | `views/dataframe` | Use a blueprint to customize a DataframeView | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/dataframe.py) | | | +| **[`Scalar`](https://rerun.io/docs/reference/types/components/scalar)** | `views/tensor` | Use a blueprint to show a tensor view | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/tensor.py) | | | +| **[`Scalar`](https://rerun.io/docs/reference/types/components/scalar)** | `views/timeseries` | Use a blueprint to customize a TimeSeriesView | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/timeseries.py) | | | +| **[`ShowLabels`](https://rerun.io/docs/reference/types/components/show_labels)** | `tutorials/data_out` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/data_out.py) | | | +| **[`TensorDimensionIndexSelection`](https://rerun.io/docs/reference/types/components/tensor_dimension_index_selection)** | `views/tensor` | Use a blueprint to show a tensor view | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/tensor.py) | | | +| **[`Text`](https://rerun.io/docs/reference/types/components/text)** | `views/text_log` | Use a blueprint to show a text log | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/text_log.py) | | | +| **[`Text`](https://rerun.io/docs/reference/types/components/text)** | `views/text_document` | Use a blueprint to show a text document | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/text_document.py) | | | +| **[`Text`](https://rerun.io/docs/reference/types/components/text)** | `archetypes/text_log_integration` | Shows integration of Rerun's `TextLog` with the native logging interface | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_log_integration.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_log_integration.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_log_integration.cpp) | +| **[`Text`](https://rerun.io/docs/reference/types/components/text)** | `archetypes/text_log` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_log.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_log.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_log.cpp) | +| **[`Text`](https://rerun.io/docs/reference/types/components/text)** | `archetypes/text_document` | Log a `TextDocument` | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_document.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_document.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_document.cpp) | +| **[`Text`](https://rerun.io/docs/reference/types/components/text)** | `archetypes/entity_path` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/entity_path.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/entity_path.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/entity_path.cpp) | +| **[`Text`](https://rerun.io/docs/reference/types/components/text)** | `concepts/app-model/native-async` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/app-model/native-async.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/app-model/native-async.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/app-model/native-async.cpp) | +| **[`Text`](https://rerun.io/docs/reference/types/components/text)** | `concepts/app-model/native-sync` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/app-model/native-sync.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/app-model/native-sync.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/app-model/native-sync.cpp) | +| **[`Text`](https://rerun.io/docs/reference/types/components/text)** | `tutorials/data_out` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/data_out.py) | | | +| **[`Text`](https://rerun.io/docs/reference/types/components/text)** | `tutorials/visualization/save_blueprint` | Craft an example blueprint with the python API and save it to a file for future use | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/visualization/save_blueprint.py) | | | +| **[`TextLogLevel`](https://rerun.io/docs/reference/types/components/text_log_level)** | `archetypes/text_log` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_log.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_log.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_log.cpp) | +| **[`TextLogLevel`](https://rerun.io/docs/reference/types/components/text_log_level)** | `archetypes/text_log_integration` | Shows integration of Rerun's `TextLog` with the native logging interface | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_log_integration.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_log_integration.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/text_log_integration.cpp) | +| **[`TextLogLevel`](https://rerun.io/docs/reference/types/components/text_log_level)** | `views/text_log` | Use a blueprint to show a text log | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/text_log.py) | | | +| **[`VideoTimestamp`](https://rerun.io/docs/reference/types/components/video_timestamp)** | `archetypes/video_auto_frames` | Log a video asset using automatically determined frame references | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/video_auto_frames.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/video_auto_frames.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/video_auto_frames.cpp) | +| **[`ViewCoordinates`](https://rerun.io/docs/reference/types/components/view_coordinates)** | `archetypes/view_coordinates_simple` | Change the view coordinates for the scene | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/view_coordinates_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/view_coordinates_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/view_coordinates_simple.cpp) | +| **[`ViewCoordinates`](https://rerun.io/docs/reference/types/components/view_coordinates)** | `archetypes/asset3d_simple` | Log a simple 3D asset | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/asset3d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/asset3d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/asset3d_simple.cpp) | +| **[`ViewCoordinates`](https://rerun.io/docs/reference/types/components/view_coordinates)** | `archetypes/pinhole_perspective` | Logs a point cloud and a perspective camera looking at it | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/pinhole_perspective.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/pinhole_perspective.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/pinhole_perspective.cpp) | +| **[`ViewCoordinates`](https://rerun.io/docs/reference/types/components/view_coordinates)** | `archetypes/transform3d_hierarchy` | Logs a transforms transform hierarchy | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_hierarchy.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_hierarchy.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_hierarchy.cpp) | + + +### Views (blueprint) + +_All snippets, organized by the [`View`](https://rerun.io/docs/reference/types/views)(s) they use._ + +| Component | Snippet | Description | Python | Rust | C++ | +| --------- | ------- | ----------- | ------ | ---- | --- | +| **[`BarChartView`](https://rerun.io/docs/reference/types/views/bar_chart_view)** | `tutorials/visualization/save_blueprint` | Craft an example blueprint with the python API and save it to a file for future use | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/visualization/save_blueprint.py) | | | +| **[`BarChartView`](https://rerun.io/docs/reference/types/views/bar_chart_view)** | `views/bar_chart` | Use a blueprint to show a bar chart | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/bar_chart.py) | | | +| **[`DataframeView`](https://rerun.io/docs/reference/types/views/dataframe_view)** | `reference/dataframe_view_query` | Query and display the first 10 rows of a recording in a dataframe view | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/reference/dataframe_view_query.py) | | | +| **[`DataframeView`](https://rerun.io/docs/reference/types/views/dataframe_view)** | `reference/dataframe_save_blueprint` | Craft a blueprint with the python API and save it to a file for future use | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/reference/dataframe_save_blueprint.py) | | | +| **[`DataframeView`](https://rerun.io/docs/reference/types/views/dataframe_view)** | `views/dataframe` | Use a blueprint to customize a DataframeView | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/dataframe.py) | | | +| **[`GraphView`](https://rerun.io/docs/reference/types/views/graph_view?speculative-link)** | `views/graph` | Use a blueprint to customize a graph view | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/graph.py?speculative-link?speculative-link) | | | +| **[`MapView`](https://rerun.io/docs/reference/types/views/map_view)** | `views/map` | Use a blueprint to customize a map view | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/map.py) | | | +| **[`Spatial2DView`](https://rerun.io/docs/reference/types/views/spatial2d_view)** | `archetypes/line_segments2d_simple` | Log a couple 2D line segments using 2D line strips | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_segments2d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_segments2d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_segments2d_simple.cpp) | +| **[`Spatial2DView`](https://rerun.io/docs/reference/types/views/spatial2d_view)** | `archetypes/line_strip2d_batch` | Log a batch of 2D line strips | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_batch.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_batch.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_batch.cpp) | +| **[`Spatial2DView`](https://rerun.io/docs/reference/types/views/spatial2d_view)** | `archetypes/line_strip2d_simple` | Log a simple line strip | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_simple.cpp) | +| **[`Spatial2DView`](https://rerun.io/docs/reference/types/views/spatial2d_view)** | `archetypes/line_strip2d_ui_radius` | Log lines with ui points & scene unit radii | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_ui_radius.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_ui_radius.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_ui_radius.cpp) | +| **[`Spatial2DView`](https://rerun.io/docs/reference/types/views/spatial2d_view)** | `archetypes/point2d_random` | Log some random points with color and radii | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_random.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_random.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_random.cpp) | +| **[`Spatial2DView`](https://rerun.io/docs/reference/types/views/spatial2d_view)** | `archetypes/point2d_simple` | Log some very simple points | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_simple.cpp) | +| **[`Spatial2DView`](https://rerun.io/docs/reference/types/views/spatial2d_view)** | `archetypes/point2d_ui_radius` | Log some points with ui points & scene unit radii | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_ui_radius.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_ui_radius.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_ui_radius.cpp) | +| **[`Spatial2DView`](https://rerun.io/docs/reference/types/views/spatial2d_view)** | `archetypes/video_manual_frames` | Manual use of individual video frame references | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/video_manual_frames.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/video_manual_frames.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/video_manual_frames.cpp) | +| **[`Spatial2DView`](https://rerun.io/docs/reference/types/views/spatial2d_view)** | `concepts/different_data_per_timeline` | Log different data on different timelines | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/different_data_per_timeline.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/different_data_per_timeline.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/different_data_per_timeline.cpp) | +| **[`Spatial2DView`](https://rerun.io/docs/reference/types/views/spatial2d_view)** | `concepts/viscomp-base` | Base example | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/viscomp-base.py) | | | +| **[`Spatial2DView`](https://rerun.io/docs/reference/types/views/spatial2d_view)** | `concepts/viscomp-component-default` | Add a component default | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/viscomp-component-default.py) | | | +| **[`Spatial2DView`](https://rerun.io/docs/reference/types/views/spatial2d_view)** | `concepts/viscomp-component-override` | Override a component | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/viscomp-component-override.py) | | | +| **[`Spatial2DView`](https://rerun.io/docs/reference/types/views/spatial2d_view)** | `concepts/viscomp-visualizer-override` | Override a visualizer | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/viscomp-visualizer-override.py) | | | +| **[`Spatial2DView`](https://rerun.io/docs/reference/types/views/spatial2d_view)** | `concepts/viscomp-visualizer-override-multiple` | Override a visualizer | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/viscomp-visualizer-override-multiple.py) | | | +| **[`Spatial2DView`](https://rerun.io/docs/reference/types/views/spatial2d_view)** | `tutorials/extra_values` | Log extra values with a Points2D | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/extra_values.py) | | | +| **[`Spatial2DView`](https://rerun.io/docs/reference/types/views/spatial2d_view)** | `views/spatial2d` | Use a blueprint to customize a Spatial2DView | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/spatial2d.py) | | | +| **[`Spatial3DView`](https://rerun.io/docs/reference/types/views/spatial3d_view)** | `archetypes/transform3d_hierarchy` | Logs a transforms transform hierarchy | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_hierarchy.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_hierarchy.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/transform3d_hierarchy.cpp) | +| **[`Spatial3DView`](https://rerun.io/docs/reference/types/views/spatial3d_view)** | `views/spatial3d` | Use a blueprint to customize a Spatial3DView | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/spatial3d.py) | | | +| **[`TensorView`](https://rerun.io/docs/reference/types/views/tensor_view)** | `views/tensor` | Use a blueprint to show a tensor view | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/tensor.py) | | | +| **[`TextDocumentView`](https://rerun.io/docs/reference/types/views/text_document_view)** | `tutorials/visualization/save_blueprint` | Craft an example blueprint with the python API and save it to a file for future use | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/visualization/save_blueprint.py) | | | +| **[`TextDocumentView`](https://rerun.io/docs/reference/types/views/text_document_view)** | `views/text_document` | Use a blueprint to show a text document | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/text_document.py) | | | +| **[`TextLogView`](https://rerun.io/docs/reference/types/views/text_log_view)** | `views/text_log` | Use a blueprint to show a text log | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/text_log.py) | | | +| **[`TimeSeriesView`](https://rerun.io/docs/reference/types/views/time_series_view)** | `tutorials/fixed_window_plot` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/fixed_window_plot.py) | | | +| **[`TimeSeriesView`](https://rerun.io/docs/reference/types/views/time_series_view)** | `tutorials/visualization/save_blueprint` | Craft an example blueprint with the python API and save it to a file for future use | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/visualization/save_blueprint.py) | | | +| **[`TimeSeriesView`](https://rerun.io/docs/reference/types/views/time_series_view)** | `tutorials/visualizer-overrides` | Log a scalar over time and override the visualizer | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/visualizer-overrides.py) | | | +| **[`TimeSeriesView`](https://rerun.io/docs/reference/types/views/time_series_view)** | `views/timeseries` | Use a blueprint to customize a TimeSeriesView | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/timeseries.py) | | | + + +### Archetypes (blueprint) + +_All snippets, organized by the blueprint-related [`Archetype`](https://rerun.io/docs/reference/types/archetypes)(s) they use._ + +| Archetype | Snippet | Description | Python | Rust | C++ | +| --------- | ------- | ----------- | ------ | ---- | --- | +| **`Background`** | `tutorials/annotation-context` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/annotation-context.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/annotation-context.rs) | | +| **`DataframeQuery`** | `reference/dataframe_save_blueprint` | Craft a blueprint with the python API and save it to a file for future use | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/reference/dataframe_save_blueprint.py) | | | +| **`DataframeQuery`** | `reference/dataframe_view_query` | Query and display the first 10 rows of a recording in a dataframe view | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/reference/dataframe_view_query.py) | | | +| **`DataframeQuery`** | `views/dataframe` | Use a blueprint to customize a DataframeView | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/dataframe.py) | | | +| **`LineGrid3D`** | `views/spatial3d` | Use a blueprint to customize a Spatial3DView | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/spatial3d.py) | | | +| **`PlotLegend`** | `views/timeseries` | Use a blueprint to customize a TimeSeriesView | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/timeseries.py) | | | +| **`ScalarAxis`** | `views/timeseries` | Use a blueprint to customize a TimeSeriesView | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/timeseries.py) | | | +| **`TensorScalarMapping`** | `views/tensor` | Use a blueprint to show a tensor view | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/tensor.py) | | | +| **`TensorSliceSelection`** | `views/tensor` | Use a blueprint to show a tensor view | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/tensor.py) | | | +| **`VisualBounds2D`** | `archetypes/line_segments2d_simple` | Log a couple 2D line segments using 2D line strips | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_segments2d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_segments2d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_segments2d_simple.cpp) | +| **`VisualBounds2D`** | `archetypes/line_strip2d_batch` | Log a batch of 2D line strips | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_batch.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_batch.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_batch.cpp) | +| **`VisualBounds2D`** | `archetypes/line_strip2d_simple` | Log a simple line strip | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_simple.cpp) | +| **`VisualBounds2D`** | `archetypes/line_strip2d_ui_radius` | Log lines with ui points & scene unit radii | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_ui_radius.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_ui_radius.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_ui_radius.cpp) | +| **`VisualBounds2D`** | `archetypes/point2d_random` | Log some random points with color and radii | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_random.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_random.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_random.cpp) | +| **`VisualBounds2D`** | `archetypes/point2d_simple` | Log some very simple points | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_simple.cpp) | +| **`VisualBounds2D`** | `archetypes/point2d_ui_radius` | Log some points with ui points & scene unit radii | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_ui_radius.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_ui_radius.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_ui_radius.cpp) | +| **`VisualBounds2D`** | `concepts/different_data_per_timeline` | Log different data on different timelines | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/different_data_per_timeline.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/different_data_per_timeline.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/different_data_per_timeline.cpp) | +| **`VisualBounds2D`** | `tutorials/extra_values` | Log extra values with a Points2D | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/extra_values.py) | | | +| **`VisualBounds2D`** | `views/graph` | Use a blueprint to customize a graph view | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/graph.py?speculative-link) | | | +| **`VisualBounds2D`** | `views/spatial2d` | Use a blueprint to customize a Spatial2DView | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/spatial2d.py) | | | + + +### Components (blueprint) + +_All snippets, organized by the blueprint-related [`Component`](https://rerun.io/docs/reference/types/components)(s) they use._ + +| Component | Snippet | Description | Python | Rust | C++ | +| --------- | ------- | ----------- | ------ | ---- | --- | +| **`MapProvider`** | `views/map` | Use a blueprint to customize a map view | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/map.py) | | | +| **`Visible`** | `tutorials/fixed_window_plot` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/fixed_window_plot.py) | | | +| **`Visible`** | `views/timeseries` | Use a blueprint to customize a TimeSeriesView | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/timeseries.py) | | | +| **`VisibleTimeRange`** | `tutorials/fixed_window_plot` | | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/fixed_window_plot.py) | | | +| **`VisibleTimeRange`** | `views/timeseries` | Use a blueprint to customize a TimeSeriesView | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/timeseries.py) | | | +| **`VisualBounds2D`** | `archetypes/line_segments2d_simple` | Log a couple 2D line segments using 2D line strips | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_segments2d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_segments2d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_segments2d_simple.cpp) | +| **`VisualBounds2D`** | `archetypes/line_strip2d_batch` | Log a batch of 2D line strips | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_batch.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_batch.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_batch.cpp) | +| **`VisualBounds2D`** | `archetypes/line_strip2d_simple` | Log a simple line strip | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_simple.cpp) | +| **`VisualBounds2D`** | `archetypes/line_strip2d_ui_radius` | Log lines with ui points & scene unit radii | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_ui_radius.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_ui_radius.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/line_strip2d_ui_radius.cpp) | +| **`VisualBounds2D`** | `archetypes/point2d_random` | Log some random points with color and radii | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_random.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_random.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_random.cpp) | +| **`VisualBounds2D`** | `archetypes/point2d_simple` | Log some very simple points | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_simple.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_simple.cpp) | +| **`VisualBounds2D`** | `archetypes/point2d_ui_radius` | Log some points with ui points & scene unit radii | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_ui_radius.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_ui_radius.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/archetypes/point2d_ui_radius.cpp) | +| **`VisualBounds2D`** | `concepts/different_data_per_timeline` | Log different data on different timelines | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/different_data_per_timeline.py) | [🦀](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/different_data_per_timeline.rs) | [🌊](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/different_data_per_timeline.cpp) | +| **`VisualBounds2D`** | `tutorials/extra_values` | Log extra values with a Points2D | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/extra_values.py) | | | +| **`VisualBounds2D`** | `views/graph` | Use a blueprint to customize a graph view | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/graph.py?speculative-link) | | | +| **`VisualBounds2D`** | `views/spatial2d` | Use a blueprint to customize a Spatial2DView | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/views/spatial2d.py) | | | +| **`VisualizerOverrides`** | `concepts/viscomp-visualizer-override` | Override a visualizer | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/viscomp-visualizer-override.py) | | | +| **`VisualizerOverrides`** | `concepts/viscomp-visualizer-override-multiple` | Override a visualizer | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/concepts/viscomp-visualizer-override-multiple.py) | | | +| **`VisualizerOverrides`** | `tutorials/visualizer-overrides` | Log a scalar over time and override the visualizer | [🐍](https://github.com/rerun-io/rerun/blob/latest/docs/snippets/all/tutorials/visualizer-overrides.py) | | | diff --git a/scripts/ci/check_large_files.py b/scripts/ci/check_large_files.py index a7faf9330173..694ff8672e90 100755 --- a/scripts/ci/check_large_files.py +++ b/scripts/ci/check_large_files.py @@ -12,6 +12,7 @@ "crates/store/re_types/src/datatypes/tensor_buffer.rs", "crates/viewer/re_ui/data/Inter-Medium.otf", "crates/viewer/re_viewer/src/reflection/mod.rs", + "docs/snippets/INDEX.md", "pixi.lock", "rerun_cpp/docs/Doxyfile", }