Objects

Objects are the fundamental building blocks of a Grid Studio project.

Every system component inside a project is represented as an object. Objects can represent devices, sensors, communication protocols, spatial elements, logic systems, or utility tools.

Depending on their type, objects can receive data, process information, generate outputs, or provide control interfaces. While different object types serve different purposes, they all share a common structure and interaction model within the system.

Understanding how objects are structured and how they interact with other systems is essential when building complex projects.


Object Structure

All objects in Grid Studio follow a shared structural model. While the available functionality depends on the object type, the fundamental components of an object remain consistent across the system.

A simplified representation of an object structure looks like this:

Object

├ Identity
│   ├ Name
│   └ Unique ID

├ Entities
│   └ Structured object data

├ General
│   ├ User Parameters
│   ├ User Widgets
│   ├ Workflow
│   └ Modifier

├ Object Settings
│   └ Object-specific configuration

├ Coordinates (optional)
│   │
│   └ Maps (optional)
│       ├ Map Inputs
│       ├ Filters
│       └ Map Outputs

└ Display Settings
    └ Visual representation in the interface or viewport
circle-info

Not every object contains all of these components. The available features depend on the specific object type.


Object Identity

Every object contains basic identifying information.

Each object has:

  • a Name, used for identification within the project

  • a Type-based Unique ID, generated automatically by the system

The object name can be changed by the user and is typically used to organize objects within the project.

The unique ID is generated sequentially per object type (for example Camera1, Camera2 or Tracker1). Unlike the name, this identifier is primarily used internally and can also be referenced in scripting, expressions, and other automation systems to programmatically access specific objects.


Entities

Every object contains an Entity structure used to store structured data.

Entities behave similarly to a value tree, allowing objects to store multiple related values that describe the object's internal state or generated data.

Entities are commonly used to store:

  • device status information

  • internal object state

  • values shared with other systems

circle-exclamation

Object Configuration

Objects typically contain configuration settings that control their behavior.

These settings are usually located in object-specific tabs inside the Inspector and vary depending on the object type.

In addition to object-specific settings, every object provides a General tab which can contain optional user-defined extensions.


General Tab

The General tab allows users to extend the functionality of an object without modifying the object type itself.

Depending on the project requirements, the following components can be added:

  • User Parameters – custom parameters created by the user

  • User Widgets – custom interface elements linked to the object

  • Workflow – event-driven logic associated with the object

  • Modifier – node-based data processing

These systems allow objects to participate in automation, data processing, and user interaction workflows.


Coordinates and Spatial Objects

Some objects exist within the 3D coordinate system of a project.

Objects that provide coordinates can be visualized inside the Viewport and may represent spatial elements such as cameras, trackers, fixtures, or sensors.

Objects that do not exist in the spatial environment typically do not provide coordinates.


Maps

Objects that exist in the spatial coordinate system may also provide Maps.

Maps allow objects to receive or send structured data, typically used for real-time spatial information such as tracking data or sensor output.

A typical map structure includes:

  • Map Inputs – incoming data streams

  • Filters – optional data processing

  • Map Outputs – generated output data

However, not every spatial object provides Maps. The availability of Maps depends on the specific object type.


Display Settings

All objects provide display settings that control how they appear within the interface.

Depending on the object type, these settings may include:

  • color representation in the Project Tree

  • visualization settings inside the Viewport

  • debug or helper visuals


Object Interaction

Objects rarely operate in isolation. Instead, they interact with other systems throughout the project.

Objects can:

  • receive and send data through Maps

  • generate events used by Workflows

  • be modified through Modifiers

  • be accessed through Scripting

  • be connected to Widgets in user interfaces

This interconnected model allows Grid Studio to combine data processing, automation, visualization, and system control within a single project environment.


Object Types

Grid Studio provides many different object types that represent different system components, including:

  • communication protocols

  • hardware devices

  • sensors and tracking systems

  • spatial objects and fixtures

  • logic and automation systems

  • calibration tools

  • mesh and visualization objects

  • procedural generators

Each object type provides functionality specific to its role within the system.


Native Objects and Extensions

Grid Studio includes a set of native objects that are available by default.

Additional objects can be installed through extensions, which can be downloaded from the Library.

This system allows Grid Studio to be extended with additional devices, protocols, sensors, and specialized tools.


  • Working with Objects – Creating and managing objects in a project

  • Project Tree – Navigating and organizing object hierarchies

  • Entities – Understanding object data structures

  • Object-Based Data Flow – Working with Maps and Filters

  • Workflow Programming – Event-driven logic systems

Last updated