---
title: Recording
description: "##### Save Recording The **SaveRecording** component allows users to save the simulation recordings generated during a flow simulation process. Users can specify the save location and filename to store the recording for later analysis or review. - **Component Name**: Save…"
url: "https://snhm.io/documentation/recording/"
updated: "2024-09-22"
category: Components Overview
---

# Recording

##### Save Recording

The **SaveRecording** component allows users to save the simulation recordings generated during a flow simulation process. Users can specify the save location and filename to store the recording for later analysis or review.

- **Component Name**: Save Recording
- **Description**: Saves a Flow Simulation Recording to a specified file path and name.
- **Category**: Flow > Recording

![](https://i0.wp.com/snhm.io/wp-content/uploads/2024/09/SaveR-1.png?resize=280%2C262&ssl=1)

###### Inputs:

- ***Path (P)***: A string that specifies the folder path where the recording should be saved. (Type: `Text`)
- ***Name (N)***: A string that defines the filename for the recording to be saved. (Type: `Text`)
- ***Rec (R)***: The simulation recording to be saved. (Type: `Flow Simulation Recording`)

###### Outputs:

- **None**

**Custom UI:**

This component features a custom button labeled **Save**. Clicking the button triggers the `SaveFile` method, which initiates the saving process.

---

##### Read Recording

The **ReadRecording** component reads simulation recordings from a specified file path, allowing users to retrieve previously saved simulation data for further analysis.

- **Component Name**: Read Recording
- **Description**: Reads a Flow Simulation Recording from a `.txt` file located at the specified file path.
- **Category**: Flow > Recording

![](https://i0.wp.com/snhm.io/wp-content/uploads/2024/09/Read-2.png?resize=281%2C160&ssl=1)

###### Inputs:

- ***Path (P)***: A string specifying the full file path of the recording to be read. (Type: `Text`)

###### Outputs:

- ***Rec (R)***: The Flow Simulation Recording that was read from the file. (Type: `Flow Simulation Recording`)

**Custom UI:**

This component includes a **Read** button that triggers the `ReadFile` method. When clicked, the component reads the specified file.

---

##### Deconstruct Recording

The **DeconstructRecording** component extracts detailed information from a Flow Simulation Recording, breaking it down into agent positions, velocities, simulation time, and colors for further analysis or visualization.

- **Component Name**: Deconstruct Recording
- **Description**: Decomposes a Flow Simulation Recording into its fundamental components, including agent positions, velocities, time, and colors.
- **Category**: Flow > Recording

![](https://i0.wp.com/snhm.io/wp-content/uploads/2024/09/Dec-1.png?resize=280%2C317&ssl=1)

###### Inputs:

- ***Rec (R)***:
   The Flow Simulation Recording to be deconstructed.
   **Type**: `Flow Simulation Recording`

###### Outputs:

- ***Positions (P)***: The positions of agents at different time steps during the simulation. (Type: `Point3d (Tree)`)
- ***Velocities (V)***: The velocities of agents during the simulation at various time intervals. (Type: `Vector3d (Tree)`)
- ***Time (T)***: The time corresponding to the simulation frames. (Type: `Number (Tree)`)
- ***Colors (C)***: The color data representing various states or properties of agents during the simulation (e.g., speed, group affiliation). (Type: `Color (Tree)`)

---

##### Play Recording

The **PlayRecording** component enables the playback of a previously recorded Flow Simulation, allowing users to visualize agent movements over time with adjustable playback speed.

- **Component Name**: Play Recording
- **Description**: Plays back a Flow Simulation Recording, displaying agent movements and allowing speed control.
- **Category**: Flow > Recording

![](https://i0.wp.com/snhm.io/wp-content/uploads/2024/09/Play-2.png?resize=281%2C258&ssl=1)

###### Inputs:

- ***Rec (R)***: The Flow Simulation Recording to be played. (Type: `Flow Simulation Recording`)
- ***Speed (S)***: Controls the playback speed of the simulation. A value of 1.0 corresponds to normal speed, while higher or lower values adjust the speed accordingly. (Type: `Number`, default is 1.0)

###### Outputs:

- ***Agent (A)***: The agents from the Flow Simulation Recording at each time step. (Type: `FlowAgent (List)`)
- ***Time (T)***: The current simulation time during playback. (Type: `Number`)

**Custom UI:**

- **Button**: A **Reset** button is provided to reset the simulation playback to the beginning. When clicked, it triggers the reset flag and refreshes the component.
- **Boolean Toggle**: A **Play** toggle is available to control whether the simulation should be played or paused.

---

##### Extract Simulation Frame

The **ExtractSimulationFrame** component allows users to extract agent positions and states from a recorded Flow Simulation at a specific time frame.

- **Component Name**: Extract Simulation Frame
- **Description**: Extracts agent data from a Flow Simulation Recording at a specified time frame for analysis and visualization.
- **Category**: Flow > Recording

![](https://i0.wp.com/snhm.io/wp-content/uploads/2024/09/SimFr.png?resize=280%2C168&ssl=1)

###### Inputs:

- ***Rec (R)***: The Flow Simulation Recording from which to extract the simulation frame. (Type: `Flow Simulation Recording`)
- ***Time (T)***: Specifies the exact simulation time at which the agent data should be extracted. (Type: `Number`)

###### Outputs:

- ***Agent (A)***: The list of agents and their states (e.g., positions, velocities) at the specified simulation time. (Type: `FlowAgent (List)`)
