Foxglove 2.28.0
๐งฎ Write your own source-controlled scripts for manipulating dataโ
We've added a new type of Foxglove extension that allows you to manipulate data and create new topics on the fly for visualization.
Semantically, these new topic message converters are similar to user scripts, but they are available across layouts and can be used to deploy "user-scripts" organization-wide. Like other extensions, they support code reuse, development in your own IDE, and use of third-party modules.
What used to be called a message converter is now called a schema message converter (schema converter for short). This new type of extension is called a topic message converter (topic converter).
How are the new Topic Message Converters different?โ
Topic converters are more flexible than schema converters. Where schema converters assume a 1:1 relationship between proprietary schemas and well-known schemas, topic converters do not have this restriction. They can produce new topics from one or more input topics. These new topics can output custom types or other well-known schemas.
Topic converters support:
- One or more input topics
- Maintaining state (you can aggregate signal data from previous input messages to produce new outputโallowing you to make filters or perform arbitrary math on signal data)
- Extract individual fields from a message to separate top-level topics
- View output of new topics in plots and State Transition panels (or any panels that use range subscriptions)
When should Schema Message Converters be used?โ
We recommend using these when there is a 1:1 relationship between some internal schema and a well-known schema. Common examples:
- Converting proprietary GPS messages to
foxglove.LocationFix
for display in the Map panel - Converting internal Log messages to
foxglove.Log
for the Log panel - Converting business logic to
foxglove.SceneUpdate
for display in the 3D panel
๐ Multi-file uploadโ
You can now select multiple files and upload them simultaneously from the app.
New & Improved
- Updated GridMap icon to match OccupancyGrid and FoxgloveGrid topics
- When visualizing a ULog data source, the last message on a topic is now displayed after seeking
- Visualization now shows an error when a 3D panel entity is rendered with a likely incorrect pose due to mismatched timestamps
- Added the ability to quickly hide or show all series in the plot panel
- Added the ability to hide or show all transforms, while preserving individual frame visibility, in the 3D panel
- Tooltips for message path plots are now hidden for undefined series
- Proximity in both x and y dimensions is now used to select points for tooltips in plots
- Removed the vertical bar when hovering over non-time-series plots
- Improved Map panel auto-centering
- Moved the plot legend visibility toggle to the panel toolbar
- Drag area is now only rendered in charts where sync is enabled
- Added the ability to delete unimported device recordings
Performance
- Improved memory performance of path-based XY plots to support larger datasets
- Improved memory usage for 3D scenes with many transparent arrows
- General performance improvements
Fixes
- Fixed Quick Look previews not appearing on macOS
- Resolved occasional 3D panel crashes with older versions of the ROS GridMap message type
- Fixed GridMaps indexing and displaying data incorrectly when the size changes
- GridMaps orientation now matches RViz
- Fixed unsupported color settings appearing for Grid layers
- Fixed timestamp truncation in filenames when downloading images from the image panel
- Fixed retry getting into an unrecoverable state from network errors while seeking
- Fixed playback head racing forward past cached regions after a network interruption
- Fixed plot tooltip showing after panning, even if the mouse is not over a point
- Fixed an issue with dropping H.265 video topics into the image panel
Downloads: Linux: deb amd64 arm64, snap amd64 | Windows: Universal | Mac: Universal