# Concepts

> The five objects you work with in Rayform, and how a recording becomes training data.

Source: https://rayform.world/docs/concepts
Last updated: 2026-10-18
Status: Rayform is in private preview. APIs, formats and the SDK described here may change before general availability.

Everything in Rayform belongs to your **organisation** and is visible only to it. Five objects carry your data from upload to training.

```text
site ──┐
       └── session (your upload) ──► segments ──┐
                                                ├──► slice (frozen) ──► export (files in your format)
       search across all segments ──────────────┘
```

## Sites

A site is a physical place you record in, such as `lab-2` or `warehouse-berlin`. Every recording made at a site is registered into the site's world frame, so repeat visits line up and change over time can be compared. Sites are created the first time you use a new name.

## Sessions

A session is one uploaded recording, stored exactly as you sent it. Processing a session produces segments. Sessions move through these states:

| Status | Meaning |
| --- | --- |
| `uploading` | Parts are still arriving |
| `uploaded` | All parts received and the checksum verified |
| `processing` | Validation, alignment, reconstruction and labelling are running |
| `processed` | Segments are available |
| `failed` | Processing stopped; `issues` explains why |

## Segments

A segment is a piece of a session bounded by interactions: a grasp, a placement, a door opening, with a short margin before and after. Each segment carries:

- the **scene**: Gaussian splats, meshes and collision geometry for its time window,
- **entities** (people, objects, robots) and their trajectories,
- ordered **interaction events**,
- **robot state** and the raw **sensor channels**,
- **context** (lighting, clutter, surface, weather) and **quality** scores.

Segments are versioned. When processing improves and a session is reprocessed, new segment versions appear next to the old ones.

## Slices

A slice is a frozen, hashed selection of exact segment versions. It is the unit you train on: the same slice always returns the same bytes, so an experiment can be reproduced months later. Slices are never edited; changing a selection creates a new slice.

## Exports and assets

An export writes a slice to files in a training format, either to your own bucket or to Rayform storage behind signed URLs. Assets are the individual stored files behind a segment, such as an encoded splat or a collision mesh, each addressed by the hash of its content.

## Identifiers

| Object | Prefix | Example |
| --- | --- | --- |
| Session | `ses_` | `ses_01JA8K2M9Q` |
| Segment | `seg_` | `seg_4f0a` |
| Segment version | `sv_` | `sv_9b21e7` |
| Slice | `slc_` | `slc_7c1e04aa` |
| Export | `exp_` | `exp_01JA9B` |
| Asset | `sha256:` | `sha256:ab12…` |
