Skills

Rerun Data Model

How raw multimodal robot data maps onto the Rerun data model.

Install

npx skills add rerun-io/rerun --skill rerun-data-model -g -a claude-code -y
Repository
rerun-io/rerun11.7k
Category
Data and ML
Updated
3d ago
License
Apache-2.0
Context cost
Mediumabout 1,945 tokens
Runs scripts
No, instructions only

What it does

How raw multimodal robot data maps onto the Rerun data model. Read FIRST, before modeling or converting a dataset, and whenever you are about to convert/ingest/preprocess robot data into an .rrd or build a Rerun recording, even if not asked for the data model. Resolves the entity-vs-component, property-vs-component-vs-layer, and static-vs-temporal decisions and routes to the mechanism (do it with readers and lenses, not hand-built chunks or per-message rr.log): rerun-chunk-processing and the importer skills rerun-mcap, rerun-urdf, rerun-parquet, rerun-mp4, rerun-lerobot.

Rerun data model

The hard part of ingesting a dataset is the modeling decision, not the API call. Get the model right and any mechanism works; get it wrong and queries, views, and training all break. This skill is just the decisions. For mechanism details see rerun-chunk-processing (pipeline mechanics) and the importer skills it routes to: rerun-mcap,rerun-urdf,rerun-parquet, rerun-mp4, rerun-lerobot. For exact signatures, the docs at rerun.io/docs/concepts/logging-and-ingestion.

Before writing conversion code, fill in the mapping table below. It is the design, and a human can review it in seconds.

Pick the mechanism before you model the bytes

Modeling decides what each datum becomes; this decides how it gets there, and the default is a reader + lenses, not hand-built chunks:

  • Does a reader exist for this source? MCAP→McapReader, URDF→UrdfTree, parquet→ParquetReader, HDF5→Hdf5Reader, RRD→RrdReader, LeRobot dir→log_file_from_path. Yes → reader.stream() + lenses; the reader produces the chunks, you do not.
  • No, and it is genuine external metadata (JSON calibration, offsets) or a specific custom use case that can't be covered by a generic reader**→** Chunk.from_columns.
  • Otherwise: consider if you are about to hand-build something a reader or lens should produce and ask for clarification.

For MCAP specifically: a Foxglove- or ROS-decodable file emits archetypes like Transform3D, Pinhole, and VideoStream for certain supported message schemas ready-made, pass those through, never re-derive them; only custom protobuf signal topics need lenses. The full decision tree and the anti-pattern list are in rerun-chunk-processing.

The model

Dataset → Segment → Layer → Recording → Entity → Component → Chunk
Read the whole SKILL.md on GitHub

More in Data and ML