ThreeDee

class foxglove.layouts.ThreeDeePanel

Display markers, camera images, meshes, URDFs, and more in a 3D scene.

For more information, see [the documentation](https://docs.foxglove.dev/docs/visualization/panels/3d).

config: ThreeDeeConfig
title: str | None = None

The title of the panel.

class foxglove.layouts.ThreeDeeConfig

Configuration for the 3D panel

camera_state: ThreeDeeCameraState | None = None
enu_frame_id: str | None = None

Defines the East-North-Up orientation of the scene. Maps and location fixes will be aligned relative to the XY plane of this frame.

fixed_frame: str | None = None

The stationary world reference relative to which all other objects in the scene are located. Elements that accumulate over time (for example, point clouds) are stored and displayed in this frame, and in 2D mode the camera faces this frame’s x-y plane.

follow_mode: Optional[Literal['follow-pose', 'follow-position', 'follow-none']] = None

Viewport following behavior during playback: fixed, or the pose or position of the display frame

follow_tf: str | None = None

Coordinate frame that the scene is rendered relative to. The camera position and orientation will be relative to the origin of this frame.

layers: dict[str, BaseRendererGridLayerSettings | BaseRendererTiledMapLayerSettings | BaseRendererUrdfLayerSettings] | None = None

Settings for layers in the scene, indexed by instanceId.

location_fix_topic: str | None = None

Topic containing location fix data associated with a frame in the scene. Auto will use the first available topic.

panel_overlays: dict[str, ThreeDeeOverlaySettings] | None = None

instanceId -> settings

publish: ThreeDeePublishSettings | None = None
scene: BaseRendererSceneSettings | None = None
topics: dict[str, BaseRendererCameraTopicSettings | BaseRendererGridTopicSettings | BaseRendererLaserScanTopicSettings | BaseRendererPointCloudTopicSettings | BaseRendererPosesTopicSettings | BaseRendererPoseTopicSettings | BaseRendererRosGridMapTopicSettings | BaseRendererRosMarkerTopicSettings | BaseRendererRosOccupancyGridTopicSettings | BaseRendererRosPolygonTopicSettings | BaseRendererRosVelodyneScanTopicSettings | BaseRendererRosVoxelGridTopicSettings | BaseRendererSceneUpdateTopicSettings | BaseRendererUrdfTopicSettings | BaseRendererVoxelGridTopicSettings | BaseRendererImageTopicSettings] | None = None

Settings for topics, indexed by topicName

transforms: dict[str, BaseRendererLayerSettingsTransform] | None = None

frameId -> settings

class foxglove.layouts.BaseRendererBaseGridSettings

Base class for grid and voxel grid topic settings.

color_field: str | None = None

Numeric field in message used for coloring logic

color_map: Optional[Literal['turbo', 'rainbow']] = None

For mapping colorField values to colors

color_mode: Optional[Literal['flat', 'gradient', 'colormap', 'rgba-fields']] = None
explicit_alpha: float | None = None

Sets alpha value for all cells

flat_color: str | None = None

Hex code for color of each cell

gradient: tuple[str, str] | None = None

The two colors to interpolate between, based on the colorField

max_value: float | None = None

Maximum value used to normalize incoming grid’s colorField values

min_value: float | None = None

Minimum value used to normalize incoming grid’s colorField values

visible: bool | None = None

Whether this renderable should be displayed in the scene.

class foxglove.layouts.BaseRendererBaseLayerSettings

Base class for custom layer settings in a 3D or Image panel.

instance_id: str | None = None

An identifier for a unique instance of a layer.

label: str | None = None

The label to use for this layer in the settings tree, under “Custom Layers”.

layer_id: str | None = None

An identifier for a type of layer, such as “foxglove.Grid”.

order: float | None = None

Optional value specifying order in the custom layer list

visible: bool | None = None

Whether this renderable should be displayed in the scene.

class foxglove.layouts.BaseRendererBasePointSettings

Base class for pointcloud-like topic settings.

color_field: str | None = None

Value used for “colorMap” coloring logic; any numeric field in message such as x, y, z, _auto_distance (L2 norm of coordinates), or custom defined field. Used only if “colorMode” is not set to “flat”.

color_map: Optional[Literal['turbo', 'rainbow']] = None

“Turbo” (Google) or “Rainbow” (RViz); for mapping “colorField” values to colors. Used only if “colorMode” is set to “colorMap”.

color_mode: Optional[Literal['flat', 'gradient', 'colormap', 'rgb', 'rgba', 'rgba-fields']] = None

One of:

  • flat: solid color

  • colormap: pre-defined color palette

  • gradient: smooth transition between two custom colors

  • rgb: sensor_msgs/PointCloud2 only; use embedded color from each point’s rgb field

  • rgba: sensor_msgs/PointCloud2 only; use embedded color from each point’s rgba field

  • rgba-fields: foxglove.PointCloud only; use embedded color from each point’s red, green, blue, and alpha fields

cube_outline: bool | None = False

Toggle whether to display wireframe outline around cubes. Used only when the point shape is “cube”. Default: false.

cube_size: float | None = None

Size of each cube in 3D scene units. Used only when the point shape is “cube”.

decay_time: float | None = None

Duration of time (in sec) that each point stays rendered.

explicit_alpha: float | None = None

Sets alpha value for all points. Only shown if “colorMode” is set to “colorMap” or “rgb”.

flat_color: str | None = None

Hex code for color of each point. Used only when “colorMode” is set to “flat”.

frame_locked: bool | None = None
gradient: tuple[str, str] | None = None

The two colors to interpolate between. Used only if “colorMode” is set to “gradient”.

max_value: float | None = None

Maximum value used to normalize incoming points’ “colorField” values. Used only if “colorMode” is not set to “flat”.

min_value: float | None = None

Minimum value used to normalize incoming points’ “colorField” values. Used only if “colorMode” is not set to “flat”.

point_shape: Optional[Literal['circle', 'square', 'cube']] = 'circle'

Shape of each rendered point: “circle”, “square”, or “cube”. Default: “circle”.

point_size: float | None = None

Size of each rendered point in pixels. Used only when the point shape is “circle” or “square”.

visible: bool | None = None

Whether this renderable should be displayed in the scene.

class foxglove.layouts.BaseRendererBaseSettings

Base class for entities in a 3D or Image panel.

visible: bool | None = None

Whether this renderable should be displayed in the scene.

class foxglove.layouts.BaseRendererCameraTopicSettings

Calibration parameters for the camera image topic.

color: str | None = None
distance: float | None = None
planar_projection_factor: float | None = None
visible: bool | None = None

Whether this renderable should be displayed in the scene.

width: float | None = None
class foxglove.layouts.BaseRendererGridLayerSettings

A grid is 2D square with a fixed size and number of divisions.

color: str | None = None
divisions: float | None = None
draw_behind: bool | None = None
frame_id: str | None = None
instance_id: str | None = None

An identifier for a unique instance of a layer.

label: str | None = None

The label to use for this layer in the settings tree, under “Custom Layers”.

layer_id: str | None = None

An identifier for a type of layer, such as “foxglove.Grid”.

line_width: float | None = None
order: float | None = None

Optional value specifying order in the custom layer list

position: tuple[float, float, float] | None = None
rotation: tuple[float, float, float] | None = None
size: float | None = None
visible: bool | None = None

Whether this renderable should be displayed in the scene.

class foxglove.layouts.BaseRendererGridTopicSettings

Settings for a grid topic.

color_field: str | None = None

Numeric field in message used for coloring logic

color_map: Optional[Literal['turbo', 'rainbow']] = None

For mapping colorField values to colors

color_mode: Optional[Literal['flat', 'gradient', 'colormap', 'rgba-fields']] = None
draw_behind: bool | None = None

If true the grid is rendered before the rest of the scene, so it appears behind other scene elements regardless of their relative depth. Otherwise the grid is rendered normally

elevation_field: str | None = None

Optional field to displace each grid cell in the Z axis; if not set, elevation is 0 for all cells

explicit_alpha: float | None = None

Sets alpha value for all cells

flat_color: str | None = None

Hex code for color of each cell

frame_locked: bool | None = None

true means the grid is locked to the frame specified by its frame_id, and will move as that frame’s transforms change. false means the grid is relative to the fixed frame and will not move after it is first displayed.

gradient: tuple[str, str] | None = None

The two colors to interpolate between, based on the colorField

interpolation_method: Optional[Literal['linear', 'nearestNeighbor']] = None

Determines how elevation and color values are sampled spatially across the grid.

line_color: str | None = None

Color of the cell grid lines

max_value: float | None = None

Maximum value used to normalize incoming grid’s colorField values

min_value: float | None = None

Minimum value used to normalize incoming grid’s colorField values

show_lines: bool | None = None

Whether to render subtle grid cell borders

use_lighting: bool | None = None

Enables shading from simulated directional lighting, based on elevation surface normals

visible: bool | None = None

Whether this renderable should be displayed in the scene.

class foxglove.layouts.BaseRendererImageTopicSettings

Settings for an image topic.

camera_info_topic: str | None = None
color: str | None = None
color_field: str | None = None

Value used for “colorMap” coloring logic; any numeric field in message such as x, y, z, _auto_distance (L2 norm of coordinates), or custom defined field. Used only if “colorMode” is not set to “flat”.

color_map: Optional[Literal['turbo', 'rainbow']] = None

“Turbo” (Google) or “Rainbow” (RViz); for mapping “colorField” values to colors. Used only if “colorMode” is set to “colorMap”.

color_mode: Optional[Literal['flat', 'gradient', 'colormap', 'rgb', 'rgba', 'rgba-fields']] = None

One of:

  • flat: solid color

  • colormap: pre-defined color palette

  • gradient: smooth transition between two custom colors

  • rgb: sensor_msgs/PointCloud2 only; use embedded color from each point’s rgb field

  • rgba: sensor_msgs/PointCloud2 only; use embedded color from each point’s rgba field

  • rgba-fields: foxglove.PointCloud only; use embedded color from each point’s red, green, blue, and alpha fields

cube_outline: bool | None = False

Toggle whether to display wireframe outline around cubes. Used only when the point shape is “cube”. Default: false.

cube_size: float | None = None

Size of each cube in 3D scene units. Used only when the point shape is “cube”.

custom_depth_scale: float | None = None
decay_time: float | None = None

Duration of time (in sec) that each point stays rendered.

distance: float | None = None
explicit_alpha: float | None = None

Sets alpha value for all points. Only shown if “colorMode” is set to “colorMap” or “rgb”.

flat_color: str | None = None

Hex code for color of each point. Used only when “colorMode” is set to “flat”.

frame_locked: bool | None = None
gradient: tuple[str, str] | None = None

The two colors to interpolate between. Used only if “colorMode” is set to “gradient”.

max_value: float | None = None

Maximum value used to normalize incoming points’ “colorField” values. Used only if “colorMode” is not set to “flat”.

min_value: float | None = None

Minimum value used to normalize incoming points’ “colorField” values. Used only if “colorMode” is not set to “flat”.

planar_projection_factor: float | None = None
point_shape: Optional[Literal['circle', 'square', 'cube']] = 'circle'

Shape of each rendered point: “circle”, “square”, or “cube”. Default: “circle”.

point_size: float | None = None

Size of each rendered point in pixels. Used only when the point shape is “circle” or “square”.

projection_frame_id: str | None = None
render_mode: Optional[Literal['default', 'planeProjection', 'pointCloud']] = None
visible: bool | None = None

Whether this renderable should be displayed in the scene.

class foxglove.layouts.BaseRendererLaserScanTopicSettings

A single scan from a planar laser range-finder.

color_field: str | None = None

Value used for “colorMap” coloring logic; any numeric field in message such as x, y, z, _auto_distance (L2 norm of coordinates), or custom defined field. Used only if “colorMode” is not set to “flat”.

color_map: Optional[Literal['turbo', 'rainbow']] = None

“Turbo” (Google) or “Rainbow” (RViz); for mapping “colorField” values to colors. Used only if “colorMode” is set to “colorMap”.

color_mode: Optional[Literal['flat', 'gradient', 'colormap', 'rgb', 'rgba', 'rgba-fields']] = None

One of:

  • flat: solid color

  • colormap: pre-defined color palette

  • gradient: smooth transition between two custom colors

  • rgb: sensor_msgs/PointCloud2 only; use embedded color from each point’s rgb field

  • rgba: sensor_msgs/PointCloud2 only; use embedded color from each point’s rgba field

  • rgba-fields: foxglove.PointCloud only; use embedded color from each point’s red, green, blue, and alpha fields

cube_outline: bool | None = False

Toggle whether to display wireframe outline around cubes. Used only when the point shape is “cube”. Default: false.

cube_size: float | None = None

Size of each cube in 3D scene units. Used only when the point shape is “cube”.

decay_time: float | None = None

Duration of time (in sec) that each point stays rendered.

explicit_alpha: float | None = None

Sets alpha value for all points. Only shown if “colorMode” is set to “colorMap” or “rgb”.

flat_color: str | None = None

Hex code for color of each point. Used only when “colorMode” is set to “flat”.

frame_locked: bool | None = None
gradient: tuple[str, str] | None = None

The two colors to interpolate between. Used only if “colorMode” is set to “gradient”.

max_value: float | None = None

Maximum value used to normalize incoming points’ “colorField” values. Used only if “colorMode” is not set to “flat”.

min_value: float | None = None

Minimum value used to normalize incoming points’ “colorField” values. Used only if “colorMode” is not set to “flat”.

point_shape: Optional[Literal['circle', 'square', 'cube']] = 'circle'

Shape of each rendered point: “circle”, “square”, or “cube”. Default: “circle”.

point_size: float | None = None

Size of each rendered point in pixels. Used only when the point shape is “circle” or “square”.

visible: bool | None = None

Whether this renderable should be displayed in the scene.

class foxglove.layouts.BaseRendererLayerSettingsTransform

Settings for a transform frame.

rpy_coefficient: tuple[float, float, float] | None = None
visible: bool | None = None

Whether this renderable should be displayed in the scene.

xyz_offset: tuple[float, float, float] | None = None
class foxglove.layouts.BaseRendererPointCloudTopicSettings

A collection of N-dimensional points, which may contain additional fields with information like normals, intensity, etc.

color_field: str | None = None

Value used for “colorMap” coloring logic; any numeric field in message such as x, y, z, _auto_distance (L2 norm of coordinates), or custom defined field. Used only if “colorMode” is not set to “flat”.

color_map: Optional[Literal['turbo', 'rainbow']] = None

“Turbo” (Google) or “Rainbow” (RViz); for mapping “colorField” values to colors. Used only if “colorMode” is set to “colorMap”.

color_mode: Optional[Literal['flat', 'gradient', 'colormap', 'rgb', 'rgba', 'rgba-fields']] = None

One of:

  • flat: solid color

  • colormap: pre-defined color palette

  • gradient: smooth transition between two custom colors

  • rgb: sensor_msgs/PointCloud2 only; use embedded color from each point’s rgb field

  • rgba: sensor_msgs/PointCloud2 only; use embedded color from each point’s rgba field

  • rgba-fields: foxglove.PointCloud only; use embedded color from each point’s red, green, blue, and alpha fields

cube_outline: bool | None = False

Toggle whether to display wireframe outline around cubes. Used only when the point shape is “cube”. Default: false.

cube_size: float | None = None

Size of each cube in 3D scene units. Used only when the point shape is “cube”.

decay_time: float | None = None

Duration of time (in sec) that each point stays rendered.

explicit_alpha: float | None = None

Sets alpha value for all points. Only shown if “colorMode” is set to “colorMap” or “rgb”.

flat_color: str | None = None

Hex code for color of each point. Used only when “colorMode” is set to “flat”.

frame_locked: bool | None = None
gradient: tuple[str, str] | None = None

The two colors to interpolate between. Used only if “colorMode” is set to “gradient”.

max_value: float | None = None

Maximum value used to normalize incoming points’ “colorField” values. Used only if “colorMode” is not set to “flat”.

min_value: float | None = None

Minimum value used to normalize incoming points’ “colorField” values. Used only if “colorMode” is not set to “flat”.

point_shape: Optional[Literal['circle', 'square', 'cube']] = 'circle'

Shape of each rendered point: “circle”, “square”, or “cube”. Default: “circle”.

point_size: float | None = None

Size of each rendered point in pixels. Used only when the point shape is “circle” or “square”.

stixels_enabled: bool | None = None

Visualize points as stixels that extend from the point’s z location to 0.

visible: bool | None = None

Whether this renderable should be displayed in the scene.

class foxglove.layouts.BaseRendererPoseTopicSettings

Settings for a pose (PoseInFrame) topic.

arrow_scale: tuple[float, float, float] | None = None
axis_scale: float | None = None
color: str | None = None
covariance_color: str | None = None
show_covariance: bool | None = None
type: Optional[Literal['axis', 'arrow']] = None
visible: bool | None = None

Whether this renderable should be displayed in the scene.

class foxglove.layouts.BaseRendererPosesTopicSettings

Settings for a pose array (PosesInFrame) topic.

arrow_scale: tuple[float, float, float] | None = None
axis_scale: float | None = None
gradient: tuple[str, str] | None = None
line_width: float | None = None
type: Optional[Literal['axis', 'arrow', 'line']] = None
visible: bool | None = None

Whether this renderable should be displayed in the scene.

class foxglove.layouts.BaseRendererRosGridMapTopicSettings

Settings for a ROS GridMap topic.

color_gradient: tuple[str, str] | None = None

The two colors to interpolate between, based on the colorLayer

color_layer: str | None = None

Numeric field in message used for coloring logic

color_map: Optional[Literal['turbo', 'rainbow']] = None

For mapping colorLayer values to colors

color_mode: Optional[Literal['colorMap', 'gradient']] = None
draw_behind: bool | None = None

If true the grid is rendered before the rest of the scene, so it appears behind other scene elements regardless of their relative depth. Otherwise the grid is rendered normally

elevation_layer: str | None = None

Optional field to displace each grid cell in the Z axis; if not set, elevation is 0 for all cells

explicit_alpha: float | None = None

Sets alpha value for all cells

interpolation_method: Optional[Literal['linear', 'nearestNeighbor']] = None

Determines how elevation and color values are sampled spatially across the grid.

line_color: str | None = None

Color of the cell grid lines

show_lines: bool | None = None

Whether to render subtle grid cell borders

use_lighting: bool | None = None

Enables shading from simulated directional lighting, based on elevation surface normals

visible: bool | None = None

Whether this renderable should be displayed in the scene.

class foxglove.layouts.BaseRendererRosMarkerNamespaceSettings

Settings for a ROS marker namespace.

visible: bool | None = None

Whether this renderable should be displayed in the scene.

class foxglove.layouts.BaseRendererRosMarkerTopicSettings

A collection of primitive shapes used to display anything from a basic bounding box to a complex 3D decision tree or road network.

color: str | None = None
namespaces: dict[str, BaseRendererRosMarkerNamespaceSettings] | None = None
selected_id_variable: str | None = None
show_outlines: bool | None = None
visible: bool | None = None

Whether this renderable should be displayed in the scene.

class foxglove.layouts.BaseRendererRosOccupancyGridTopicSettings

Settings for an OccupancyGrid topic.

alpha: float | None = None
color_mode: Optional[Literal['custom', 'costmap', 'map', 'raw']] = None
draw_behind: bool | None = None
frame_locked: bool | None = None

true means the grid is locked to the frame specified by its frame_id, and will move as that frame’s transforms change. false means the grid is relative to the fixed frame and will not move after it is first displayed.

invalid_color: str | None = None
max_color: str | None = None
min_color: str | None = None
unknown_color: str | None = None
visible: bool | None = None

Whether this renderable should be displayed in the scene.

class foxglove.layouts.BaseRendererRosPolygonTopicSettings

Timestamped polygons made up of a series of connected points.

color: str | None = None
line_width: float | None = None
visible: bool | None = None

Whether this renderable should be displayed in the scene.

class foxglove.layouts.BaseRendererRosVelodyneScanTopicSettings

Settings for a ROS VelodyneScan topic.

color_field: str | None = None

Value used for “colorMap” coloring logic; any numeric field in message such as x, y, z, _auto_distance (L2 norm of coordinates), or custom defined field. Used only if “colorMode” is not set to “flat”.

color_map: Optional[Literal['turbo', 'rainbow']] = None

“Turbo” (Google) or “Rainbow” (RViz); for mapping “colorField” values to colors. Used only if “colorMode” is set to “colorMap”.

color_mode: Optional[Literal['flat', 'gradient', 'colormap', 'rgb', 'rgba', 'rgba-fields']] = None

One of:

  • flat: solid color

  • colormap: pre-defined color palette

  • gradient: smooth transition between two custom colors

  • rgb: sensor_msgs/PointCloud2 only; use embedded color from each point’s rgb field

  • rgba: sensor_msgs/PointCloud2 only; use embedded color from each point’s rgba field

  • rgba-fields: foxglove.PointCloud only; use embedded color from each point’s red, green, blue, and alpha fields

cube_outline: bool | None = False

Toggle whether to display wireframe outline around cubes. Used only when the point shape is “cube”. Default: false.

cube_size: float | None = None

Size of each cube in 3D scene units. Used only when the point shape is “cube”.

decay_time: float | None = None

Duration of time (in sec) that each point stays rendered.

explicit_alpha: float | None = None

Sets alpha value for all points. Only shown if “colorMode” is set to “colorMap” or “rgb”.

flat_color: str | None = None

Hex code for color of each point. Used only when “colorMode” is set to “flat”.

frame_locked: bool | None = None
gradient: tuple[str, str] | None = None

The two colors to interpolate between. Used only if “colorMode” is set to “gradient”.

max_value: float | None = None

Maximum value used to normalize incoming points’ “colorField” values. Used only if “colorMode” is not set to “flat”.

min_value: float | None = None

Minimum value used to normalize incoming points’ “colorField” values. Used only if “colorMode” is not set to “flat”.

point_shape: Optional[Literal['circle', 'square', 'cube']] = 'circle'

Shape of each rendered point: “circle”, “square”, or “cube”. Default: “circle”.

point_size: float | None = None

Size of each rendered point in pixels. Used only when the point shape is “circle” or “square”.

stixels_enabled: bool | None = None

Visualize points as stixels that extend from the point’s z location to 0

visible: bool | None = None

Whether this renderable should be displayed in the scene.

class foxglove.layouts.BaseRendererRosVoxelGridTopicSettings

Settings for a ROS VoxelGrid topic.

color_gradient: tuple[str, str] | None = None

The two colors to interpolate between, based on the “color field”.

color_mode: Optional[Literal['rainbow', 'turbo', 'gradient', 'by type']] = None

How to color each voxel.

draw_behind: bool | None = None

If true the grid is rendered before the rest of the scene, so it appears behind other scene elements regardless of their relative depth. Otherwise the grid is rendered normally

marked_and_present_color: str | None = None

RGBA color for voxels that are both marked and present.

marked_color: str | None = None

RGBA color for voxels that are marked but not present.

present_color: str | None = None

RGBA color for voxels that are present but not marked.

use_lighting: bool | None = None

Enables lighting for voxel shading in 3D view.

visible: bool | None = None

Whether this renderable should be displayed in the scene.

class foxglove.layouts.BaseRendererSceneSettings

Scene settings for the currently rendering scene

background_color: str | None = None

Background color of the scene

enable_stats: bool | None = None

Display rendering performance statistics in panel

ignore_collada_up_axis: bool | None = None

Match the behavior of RViz by ignoring the <up_axis> tag in COLLADA files

label_scale_factor: float | None = None

Scale factor to apply to all rendered labels

mesh_up_axis: Optional[Literal['y_up', 'z_up']] = None

The direction to use as “up” when loading meshes without orientation info (e.g. STL, OBJ)

sync_camera: bool | None = None

Sync the camera with other panels that also have this setting enabled

transforms: BaseRendererTransforms | None = None
class foxglove.layouts.BaseRendererSceneUpdateTopicSettings

A collection of primitive shapes (cubes, spheres, text, meshes, lines, etc) used to display anything from a basic bounding box to a complex 3D decision tree or road network.

color: str | None = None

Render all entities under this topic with this color, overriding colors defined in the entities.

compute_vertex_normals: bool | None = None

Toggle calculation of vertex normals. Normals improve lighting and visual appearance but incur a significant performance penalty in some cases.

selected_id_variable: str | None = None

Set a global variable with this name to the selected entity ID.

show_outlines: bool | None = None

Display a wireframe outline around rendered entities.

visible: bool | None = None

Whether this renderable should be displayed in the scene.

class foxglove.layouts.BaseRendererTiledMapLayerSettings

A tiled map layer for displaying geographic map tiles in the 3D scene.

custom_map_tile_server: str | None = None
draw_behind: bool | None = None
instance_id: str | None = None

An identifier for a unique instance of a layer.

label: str | None = None

The label to use for this layer in the settings tree, under “Custom Layers”.

layer_id: str | None = None

An identifier for a type of layer, such as “foxglove.Grid”.

opacity: float | None = None
order: float | None = None

Optional value specifying order in the custom layer list

server_config: Optional[Literal['map', 'satellite', 'custom']] = None
visible: bool | None = None

Whether this renderable should be displayed in the scene.

z_position: float | None = None

The Z-position in meters relative to the fixed frame’s XY-plane.

class foxglove.layouts.BaseRendererTransforms

Transform settings for the currently rendering scene

axis_size: float | None = None

Size of coordinate frame axes

draw_behind: bool | None = None

Whether to draw the frames behind the rest of the scene

editable: bool | None = None

Toggle translation and rotation offset controls for frames

enable_preloading: bool | None = None

Enable transform preloading

label_size: float | None = None

Size of frame axis labels

line_color: str | None = None

Color of the connecting line between child and parent frames

line_width: float | None = None

Width of the connecting line between child and parent frames

show_label: bool | None = None

Toggle visibility of frame axis labels

visible: bool | None = None

Toggle visibility of all frames

class foxglove.layouts.BaseRendererUrdfBaseSettings

Base class for URDF settings.

axis_scale: float | None = None

Scale of link coordinate frame axis.

display_mode: Optional[Literal['auto', 'visual', 'collision']] = None

Robot link geometries to display.

  • auto: Defaults to visual geometries, but falls back to collision geometries if there are no visuals

  • visual: Visual geometries

  • collision: Collision geometries

fallback_color: str | None = None

Fallback color for the URDF model, if the source doesn’t contain colors.

opacity: float | None = None

Opacity of link geometries on a scale from 0 (fully transparent) to 1 (fully opaque).

show_axis: bool | None = None

Visualize coordinate frame axis for each URDF link.

show_outlines: bool | None = None

Visualize edges of URDF link geometries.

visible: bool | None = None

Whether this renderable should be displayed in the scene.

class foxglove.layouts.BaseRendererUrdfLayerSettings

Configuration for a URDF (Unified Robot Description Format) custom layer, which can load robot models from various sources.

axis_scale: float | None = None

Scale of link coordinate frame axis.

display_mode: Optional[Literal['auto', 'visual', 'collision']] = None

Robot link geometries to display.

  • auto: Defaults to visual geometries, but falls back to collision geometries if there are no visuals

  • visual: Visual geometries

  • collision: Collision geometries

fallback_color: str | None = None

Fallback color for the URDF model, if the source doesn’t contain colors.

file_path: str | None = None

Absolute file path to a URDF file (desktop app only). Only shown when sourceType is filePath.

frame_prefix: str | None = None

Prefix for robot’s transforms. Also commonly known as a TF prefix.

instance_id: str | None = None

An identifier for a unique instance of a layer.

label: str | None = None

The label to use for this layer in the settings tree, under “Custom Layers”.

layer_id: str | None = None

An identifier for a type of layer, such as “foxglove.Grid”.

Toggle visibility of each URDF link or set a custom offset with respect to the parent link. The latter is disabled when the transform to the parent link is provided by the datasource.

opacity: float | None = None

Opacity of link geometries on a scale from 0 (fully transparent) to 1 (fully opaque).

order: float | None = None

Optional value specifying order in the custom layer list

parameter: str | None = None

Name of the parameter containing the URDF data. Only shown when sourceType is param.

show_axis: bool | None = None

Visualize coordinate frame axis for each URDF link.

show_outlines: bool | None = None

Visualize edges of URDF link geometries.

source_type: Optional[Literal['url', 'filePath', 'param', 'topic']] = None

The source type for the URDF data. One of:

  • url: URL to the source URDF file

  • filePath: Absolute file path to the source URDF file. Only supported when using the desktop app

  • param: Parameter containing the source URDF file

  • topic: Topic containing the source URDF file

topic: str | None = None

Name of the topic containing the URDF data. Only shown when sourceType is topic.

url: str | None = None

package:// URL or http(s) URL pointing to a Unified Robot Description Format (URDF) XML file. Only shown when sourceType is url.

visible: bool | None = None

Whether this renderable should be displayed in the scene.

class foxglove.layouts.BaseRendererUrdfLinkSettings

Settings for a URDF link.

visible: bool | None = None
class foxglove.layouts.BaseRendererUrdfTopicSettings

Settings for a URDF topic.

axis_scale: float | None = None

Scale of link coordinate frame axis.

display_mode: Optional[Literal['auto', 'visual', 'collision']] = None

Robot link geometries to display.

  • auto: Defaults to visual geometries, but falls back to collision geometries if there are no visuals

  • visual: Visual geometries

  • collision: Collision geometries

fallback_color: str | None = None

Fallback color for the URDF model, if the source doesn’t contain colors.

label: str | None = None

Toggle visibility of each URDF link or set a custom offset with respect to the parent link. The latter is disabled when the transform to the parent link is provided by the datasource.

opacity: float | None = None

Opacity of link geometries on a scale from 0 (fully transparent) to 1 (fully opaque).

show_axis: bool | None = None

Visualize coordinate frame axis for each URDF link.

show_outlines: bool | None = None

Visualize edges of URDF link geometries.

visible: bool | None = None

Whether this renderable should be displayed in the scene.

class foxglove.layouts.BaseRendererVoxelGridTopicSettings

Settings for a VoxelGrid topic.

color_field: str | None = None

Numeric field in message used for coloring logic

color_map: Optional[Literal['turbo', 'rainbow']] = None

For mapping colorField values to colors

color_mode: Optional[Literal['flat', 'gradient', 'colormap', 'rgba-fields']] = None
draw_behind: bool | None = None

If true the grid is rendered before the rest of the scene, so it appears behind other scene elements regardless of their relative depth. Otherwise the grid is rendered normally

explicit_alpha: float | None = None

Sets alpha value for all cells

flat_color: str | None = None

Hex code for color of each cell

frame_locked: bool | None = None

true means the grid is locked to the frame specified by its frame_id, and will move as that frame’s transforms change. false means the grid is relative to the fixed frame and will not move after it is first displayed.

gradient: tuple[str, str] | None = None

The two colors to interpolate between, based on the colorField

max_value: float | None = None

Maximum value used to normalize incoming grid’s colorField values

min_value: float | None = None

Minimum value used to normalize incoming grid’s colorField values

use_lighting: bool | None = None

Enables shading from simulated directional lighting, based on elevation surface normals

visible: bool | None = None

Whether this renderable should be displayed in the scene.

class foxglove.layouts.ThreeDeeCameraState

Camera settings for the currently rendering scene

distance: float | None = None

Camera distance from the origin of the display frame

far: float | None = None

Far clipping plane distance

fovy: float | None = None

Vertical field of view in degrees

log_depth: bool | None = None

Enable logarithmic depth buffer for more uniform depth precision. May result in rendering artifacts or performance degradation.

near: float | None = None

Near clipping plane distance

perspective: bool | None = None

Toggles between 3D and 2D views of the scene. The 2D view looks down the z-axis of the fixed frame and flattens the scene against its x-y plane.

phi: float | None = None

Polar angle offset from the origin of the display frame in degrees

target: tuple[float, float, float] | None = None
target_offset: tuple[float, float, float] | None = None

Translational offset from the origin of the display frame

target_orientation: tuple[float, float, float, float] | None = None
theta_offset: float | None = None

Azimuthal angle offset from the origin of the display frame in degrees

class foxglove.layouts.ThreeDeeOverlaySettings

Settings for 3D panel overlays.

visible: bool | None = None
class foxglove.layouts.ThreeDeePublishSettings

Publish settings for the currently rendering scene

point_topic: str | None = None

The topic on which to publish

pose_estimate_theta_deviation: float | None = None

The theta standard deviation to publish with pose estimates

pose_estimate_topic: str | None = None

The topic on which to publish

pose_estimate_x_deviation: float | None = None

The X standard deviation to publish with pose estimates

pose_estimate_y_deviation: float | None = None

The Y standard deviation to publish with pose estimates

pose_topic: str | None = None

The topic on which to publish

type: Optional[Literal['pose_estimate', 'pose', 'point']] = None