# DreamLake > @dreamlake/viz visualizes robot-learning datasets in the browser: one `.dreamrc` file at a dataset root renders every episode — LeRobot / zarr / MCAP / plain folders, cameras, depth, point clouds, time series, annotations, and 3D reconstructions, all read in place over HTTP. ## Get started - [Quick start](https://viz.dreamlake.ai/index.md): @dreamlake/viz — visualize a robot-learning dataset in the browser: add one .dreamrc file to a dataset, or render it yourself with three calls. - [LLM-Readable Docs](https://viz.dreamlake.ai/llm-readable.md): Every page is available as clean markdown, plus an llms.txt index, a full-corpus dump, and an importable agent skill. ## Dataset viz - [The architecture](https://viz.dreamlake.ai/dataset-viz/overview.md): Why the system is shaped the way it is: pre-built view components each declare an input contract; the contracts are a small closed set of in-memory payload kinds; the bytes on disk stay in existing formats, normalized by adapters; and the .dreamrc is where meaning is stated. - [The .dreamrc file](https://viz.dreamlake.ai/dataset-viz/spec.md): One file at the dataset root visualizes the whole dataset: dataset (format, episode enumeration, declared annotation tracks — the original data is never modified) and views (free composition of base components). - [View components](https://viz.dreamlake.ai/dataset-viz/views.md): The visual catalog: every registered view component, each with a minimal .dreamrc and its live render — see what a component gives you before you bind it. - [What your data must look like](https://viz.dreamlake.ai/dataset-viz/requirements.md): The data side of the contract, whole: two rules the container must satisfy, the shape each payload demands, where annotation tracks live (inside the container first, established sidecar formats second), and the practical checks before you ship. - [Reference](https://viz.dreamlake.ai/dataset-viz/reference.md): The two kind sets — what the catalog states about bytes, and what a view can ask them to become — plus lookup tables for every name a .dreamrc can use: storage drivers and their config keys, format adapters and the inventories they produce, view components with the payload each binding slot asks for. - [Templates](https://viz.dreamlake.ai/dataset-viz/templates.md): Real datasets to copy the shape of: a LeRobot container carrying hand keypoints and labelled spans as ordinary features, and a plain folder of video plus standard sidecar files. Each is public, inspectable, and rendered here from its own .dreamrc. - [Gallery](https://viz.dreamlake.ai/dataset-viz/gallery.md): A roster of complete .dreamrc files over real public datasets — LeRobot v2/v3 (video, depth, point clouds), UMI zip and zarr stores, MCAP logs, raw folders with annotations and 3D reconstruction — switch between them and watch one grammar render each. - [Library internals](https://viz.dreamlake.ai/dataset-viz/internals.md): For people working on the library: the whole path from a .dreamrc file to pixels — storage, format adapters, the closed payload-kind waist, what an adapter does and does not decide, the three registries, and the laziness rules that open a 512MB log without downloading it. ## Components - [EpisodeTimeline](https://viz.dreamlake.ai/components/episode-timeline.md): Zoomable episode-detail timeline — ruler · frame strip · labelled track blocks. Hover-driven cursor with optional clock-sync. - [EpisodeVideoStack](https://viz.dreamlake.ai/components/episode-video-stack.md): Multi-camera tile grid that shares a hover-driven cursor with a paired EpisodeTimeline. - [EpisodeFrameStack](https://viz.dreamlake.ai/components/episode-frame-stack.md): Multi-camera tile grid that scrubs through still-frame sequences, with a span derived from frame timestamps. - [Media overlays](https://viz.dreamlake.ai/components/media-overlay.md): Per-frame bounding-box and keypoint-skeleton layers drawn over video and frame-stack tiles, declared in the media's own coordinate space. - [EpisodeRecon3d](https://viz.dreamlake.ai/components/episode-recon-3d.md): Controlled 3D reconstruction view — OBJ meshes at per-frame 6-DoF poses, MANO hands, animated 3D point tracks, forward-looking trails, gravity-upright grid, orbit controls. Same scene the platform annotation viewer renders. - [EpisodeLineChart](https://viz.dreamlake.ai/components/episode-line-chart.md): Episode time-series plot — synced cursor across multiple charts, EpisodeTimeline, and EpisodeVideoStack. Hardcoded six-hue palette. ## Schema viz - [Overview](https://viz.dreamlake.ai/schema-viz/overview.md): Render a robot dataset as a synchronized, multi-panel visualization from a small schema. Quick start, then how to write your own: choose an adapter, point storage at the bytes, lay out panels (or let them auto-generate). - [Schema](https://viz.dreamlake.ai/schema-viz/schema.md): Write a schema: sources (an adapter + storage), panels (views over fields), and the binding styles — fields, series (per-dim, styled), tracks, overlays, or auto-layout when you omit panels. Three end-to-end examples. - [Storage](https://viz.dreamlake.ai/schema-viz/storage.md): Point a source at the bytes. The credential-free `http` driver for public data; how a host app injects an authorized storage driver (e.g. a DreamLake project storage) for private data without putting a token in the schema; and how to write your own. - [Adapters](https://viz.dreamlake.ai/schema-viz/adapters.md): Which adapter for which dataset: lerobot (LeRobot episodes), umi/zarr (Zarr ReplayBuffer + .zarr v3 dirs), egocentric (EGO4D/Ego-Exo4D/RH20T video+annotations), filesystem (loose folder) — plus the Model interface to write your own. - [Views](https://viz.dreamlake.ai/schema-viz/views.md): The built-in panels — videoStack, lineChart (styled, per-dim series), timeline, fieldsCatalog — and their options; how to write your own panel; and how auto-layout generates panels by field kind when you omit them. - [Concept](https://viz.dreamlake.ai/schema-viz/concept.md): Why schema-viz is built in four layers — Storage, Adapter, Model, View — with the Model as a unified data format and `kind` as the pivot. The list of built-in kinds and what each layer does with one. A short read on the design. ## File preview - [FilePreview](https://viz.dreamlake.ai/file-preview/composed.md): Loader + view + StatusView wired into ready-made containers — CsvPreview, ParquetPreview, JsonPreview, …, plus the FilePreview dispatcher that routes by extension. - [Views](https://viz.dreamlake.ai/file-preview/views.md): Pure-view primitives — Table / KeyValue / JsonTree / Jsonl / Image / Video / Text, plus PreviewHeader / PreviewSubBar / StatusView. Take parsed data, render pixels. - [Loaders](https://viz.dreamlake.ai/file-preview/loaders.md): Pure async parsers — CSV, Parquet, JSON, JSONL, npy, MCAP, text. They take a signed URL plus options and return parsed data; range-fetching where the format allows it.