> For the complete documentation index, see [llms.txt](https://stage-precision.gitbook.io/grid/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://stage-precision.gitbook.io/grid/grid-studio/readme/release-notes/2.1.22.md).

# 2.1.22

## Grid Ecosystem Updates:

This release also includes updates across the wider Grid ecosystem, including Grid Runtime, Grid Recorder, and Grid Gateway.

### Grid Runtime

Grid Runtime is now available as a dedicated executable for deploying Grid Studio projects to end users through a simplified operator interface.

Projects continue running in the background, while operators only interact with the controls intended for daily operation. This helps protect deployed projects from unintended changes and provides a cleaner interface for show operation, installations, and other runtime environments.

{% hint style="info" %}
[**Learn more:** Learn more about Grid Runtime in the dedicated manual section.](https://stage-precision.gitbook.io/grid/grid-runtime/)
{% endhint %}

***

### Grid Recorder

Grid Recorder has also received several updates as part of this release.

The update improves recording file handling by automatically creating missing output folders and preventing existing files from being overwritten by using versioned filenames. It also adds an option to ignore invalid timecode from sources and includes improvements to loop playback reliability.

{% hint style="info" %}
[**Learn more:** See the dedicated Grid Recorder release notes for the full list of changes.](https://stage-precision.gitbook.io/grid/grid-recorder/)
{% endhint %}

***

### Grid Gateway

Grid Gateway has received updates to improve its integration with Grid Studio, including better discovery and connection workflows, as well as a redesigned settings interface.

{% hint style="info" %}
[**Learn more:** See the dedicated Grid Gateway release notes for the full list of changes.](/grid/gateway/release-nodes/2.10.md)
{% endhint %}

***

## New features:

### LiDAR Sensor Planning & Simulation

<div align="left"><figure><img src="/files/6AwFCNz2SFCvMQRzUUaQ" alt="" width="375"><figcaption></figcaption></figure></div>

Grid Studio now includes a dedicated object for planning and simulating 2D and 3D LiDAR sensor setups inside the 3D environment.

The new LiDAR object generates simulated point data based on the selected sensor type, placement, range, and surrounding scene geometry. This allows users to evaluate sensor coverage, detection zones, blind spots, distance limitations, and possible occlusion before installing real hardware.

Users can test different sensor types and positions in advance to better understand whether a setup is feasible and how the sensor will interact with the environment.

{% hint style="info" %}
[**Learn more about 2D and 3D LiDAR simulation in Grid Studio**](https://stage-precision.gitbook.io/grid/lidar-analysis/)
{% endhint %}

***

### Camera Coverage & Overlap Analysis

<div align="left"><figure><img src="/files/dMdFa14x1WlXtGaj2kVN" alt="" width="375"><figcaption></figcaption></figure></div>

Grid Studio now includes a new tool for analyzing camera coverage and overlap in the 3D viewport.

The tool generates a voxel-based coverage map that shows which areas of the tracking volume are visible to one or multiple cameras. Users can define minimum and maximum camera coverage requirements to identify weak coverage areas, blind spots, and occlusions.

This helps plan and validate camera-based tracking setups, including optical tracking systems such as Vicon, OptiTrack, and Qualisys, as well as depth camera, infrared camera, and blob tracking workflows.

{% hint style="info" %}
[**Learn more about Camera Coverage & Overlap Analysis in Grid Studio**](https://stage-precision.gitbook.io/grid/camera-analysis/)
{% endhint %}

***

### Multiple 3D Viewports

Grid Studio now supports multiple 3D Viewports.

<div align="left"><figure><img src="/files/skRt5ia3llbH0EF03wNu" alt="" width="563"><figcaption></figcaption></figure></div>

Previously, projects were limited to a single 3D Viewport. Users can now create as many 3D Viewports as needed and use them in parallel within the layout.

This makes it possible to view the same scene from different perspectives at the same time, making setup, alignment, and scene inspection more flexible.

***

### Camera Include and Exclude Object Lists

Cameras now support include and exclude object lists.

This allows users to control which objects are rendered by a specific camera. Objects can either be excluded from the camera view, or the camera can be switched to only render selected objects.

This is especially useful for virtual production workflows where the internal Distortion Viewer is used to overlay the virtual camera image with the real camera image for calibration checks.

For example, users can configure a camera to render only Calibration Screens, making it easier to compare and validate calibration without other scene objects being visible in the view.

***

### Time Inspector Modes

<div align="left"><figure><img src="/files/WVsLudhiPgcobHqvErps" alt="" width="375"><figcaption></figcaption></figure></div>

The Time Inspector has been expanded with multiple visualization modes for frame-based tracking data. Users can now switch between timeline, phase, polar, meter, graph, and statistics views to analyze incoming tracking and sync data from different perspectives.

The new modes make it easier to inspect event timing, frame distribution, phase alignment, drift behavior, dropped frames, and statistical values such as minimum, average, maximum, standard deviation, and sample count.

This provides a clearer and more flexible way to diagnose synced tracking inputs, spot timing irregularities, and understand tracking behavior over time.

{% hint style="info" %}
[**Learn more about the Time Inspector**](/grid/project-framerate-and-synchronization/synchronization-of-io-connection/time-inspector.md)
{% endhint %}

***

### Dockable Time Inspector

<div align="left"><figure><img src="/files/mGWQH88prXwX8ZXFJ8bM" alt="" width="375"><figcaption></figcaption></figure></div>

The Time Inspector can now be used as a regular dockable view inside the Grid Studio layout. Previously limited to floating windows, Time Inspector views can now be resized, arranged, and grouped as tabs like any other view.

This makes it easier to integrate timing, sync, and tracking analysis directly into custom workspaces.

***

### Dockable Object Widgets

Object widgets can now be docked into the Grid Studio layout like regular views.

<div align="left"><figure><img src="/files/j7p7apVbkzBoSgi6MOxo" alt="" width="563"><figcaption></figcaption></figure></div>

In Grid Studio, objects can provide widgets for control, monitoring, or displaying additional information. Previously, these widgets could only be used as floating windows or placed permanently on an artboard. Since artboards are mainly intended for building full dashboards, object widgets can now also be integrated directly into the view layout.

This makes it easier to keep object-specific controls and information visible while working, without having to create a dedicated dashboard or manage separate floating windows.

{% hint style="info" %}
[**Learn more about object widgets in Grid Studio.**](/grid/grid-studio-fundamentals/system/artboards-and-widgets/object-linked-widgets.md)
{% endhint %}

{% hint style="warning" %}
[To use object widgets, the **Default Widget Package** must be downloaded from the Library.](/grid/grid-studio-fundamentals/platform/library.md)
{% endhint %}

***

### View Locking and Hidden Tabs

<div align="left"><figure><img src="/files/lje6Ge2JlFbZcwh3t8bJ" alt="" width="375"><figcaption></figcaption></figure></div>

Views can now be locked to prevent accidental layout changes. When a view is locked, its size can no longer be changed and individual views cannot be closed.

Tabs can also be hidden, preventing users from switching between tabs or removing them from the layout.

This is especially useful when moving a project from editing into deployment. It helps protect prepared layouts from accidental changes and makes it possible to limit which views are visible or accessible during operation.

***

### Custom Hostnames for Webserver Access

Grid Studio now supports custom hostnames for webserver-based access.

Previously, webserver endpoints had to be accessed using an IP address, port, and path, for example:

`http://192.168.1.123:8088/player/viewer`

With the new hostname option, users can define a custom hostname and access the system with a more readable local address, for example:

`http://grid.local:8088/player/viewer`

The hostname option can be configured in the **Project Settings** under the **WebServer** tab.

{% hint style="success" %}
**This makes local network setups easier to manage and can help avoid certificate-related issues when working with webserver access in local environments.**
{% endhint %}

***

### Network Discovery

<div align="left"><figure><img src="/files/Uhb3y68PyhNrcUv9uxn1" alt="" width="318"><figcaption></figcaption></figure></div>

Grid Studio now includes an initial implementation of [**Network Discovery**](/grid/grid-studio-fundamentals/fundamentals/interface/grid-studio-ui/create.md#network-discovery).

The new Network Discovery option can be found in the **Create** menu and automatically scans the local network for supported Stage Precision products, including Grid Studio, Grid Viewer, and Grid Gateway instances.

Discovered devices and applications are shown in a list and can be added directly to the project. Grid Studio automatically creates the matching object in the Project Tree with the correct configuration, making it faster to connect and integrate systems on the network.

This is the first step toward a broader discovery workflow. Future versions will expand this further to support additional device types and third-party products where supported discovery protocols are available.

***

### Dynamic Image Paths for Data Arrays

Data Array widgets in the Widget Editor can now use dynamic image paths.

Data Arrays are commonly used to automatically generate sub-widgets based on objects, data sources, or datasets. With this update, images can now be passed into these generated widgets dynamically using a file path.

The image path can come from an object property or directly from the dataset. Previously, images had to be linked manually to the widget. Now, dynamic data paths can be used to display the correct image automatically for each generated item.

This makes it easier to build dynamic interfaces where images are driven by object data or external datasets.

***

## Improvements:

### Lens Profile Calibration

The lens profile calibration process has been improved to provide more accurate results when creating and refining virtual lens profiles.

Previously, some lens types were difficult to calibrate reliably, especially lenses with strong or highly non-linear optical behavior. The improved calibration now handles these challenging lens profiles much better, resulting in a closer match between the real camera lens and its virtual representation.

{% hint style="info" %}
[Leran more about the new Camera Calibration tools](/grid/virtual-production/camera-calibration-tool-v2.md)
{% endhint %}

***

### Calibration for Pan/Tilt and Rotational Camera Systems

Calibration has been improved for camera systems where the camera cannot be physically moved through space and is limited to pan, tilt, or rotational movement.

This is especially useful for fixed-position camera setups, robotic heads, PTZ-style systems, or other installations where translational movement is not possible. The improved calibration workflow makes it easier to accurately align these systems with the virtual scene, LED walls, and tracking data.

***

### Themes Improvements

Color themes were introduced in the previous Grid Studio version. In some themes, certain UI elements did not provide enough visual contrast, making them harder to see or distinguish clearly.

This has been improved across the interface to make theme styling more consistent and readable.

Examples include clearer guide lines in the Project Tree when dragging objects into other objects, as well as improved visual feedback when changing the order of maps and other list-based items.

{% hint style="info" %}
[Learn more about Grid Studio themes](/grid/grid-studio-fundamentals/fundamentals/interface/grid-studio-ui/theme.md)
{% endhint %}

***

### Improved View Creation and Drag Behavior

The behavior for creating and docking views has been significantly improved.

Views can now be placed next to, between, or on top of existing views more reliably. The placement UI has also been refined to make it clearer where a view will be inserted before dropping it.

This also fixes cases where newly created views could appear hidden between existing views and only became visible again after resizing neighboring views.

**Learn more:** Learn more about Grid Studio [workspace views](/grid/grid-studio-fundamentals/fundamentals/workspace-views.md#arranging-views).

<div align="left"><figure><img src="/files/0pwDXHfa1F0xF1frbjgU" alt="" width="563"><figcaption></figcaption></figure></div>

***

### Improved Set Data Action

The **Set Data** action has been improved to make selecting target data paths easier.

Previously, the target path had to be entered manually as a string or copied from the Data Tree. The path parameter now uses a dedicated data parameter type with a token icon, allowing users to select the data root directly from an available list.

This makes writing data into entity Data Trees faster and reduces the risk of incorrect or manually typed paths.

***

### State Machine Entity Data <a href="#state-machine-entity-data" id="state-machine-entity-data"></a>

State Machines now store their current state values in their entity data.

This makes the active state information available through the entity data tree and allows other parts of the project, such as workflows, widgets, or data-driven logic, to access and react to the current state more easily.

***

## Bug fixes

#### Workflow

* Workflow Condition actions now correctly support data tokens for color comparison parameters.
* Widget data sources can no longer modify the connection state. The connection state is now handled as read-only as intended.

#### Files and Devices

* Large password-protected files now load correctly.
* Improved Femto Mega depth camera support.

#### State Machine

* Column widths in the State Machine window are now saved with the project.
* Reordered columns in the State Machine view are now saved correctly with the project.
* The **Open** option is now available again in the right-click context menu of State Machine objects.
* Linked parameter columns are now populated correctly for newly added states.
* Linked enum parameter values are now displayed correctly after saving and reloading a project.
* The **Create New State Machine** placeholder no longer remains visible when a State Machine is already loaded.
* Cells set to values such as **Mute** or **Tracking** are now displayed correctly instead of showing “No Event” or “No Preset”.

#### Calibration

* Calibration Screens now use the correct colors after being recolored.

***

## Stability Improvements

* General stability improvements across Grid Studio, including fixes for several issues that could lead to unexpected crashes.
