/studio

Robotics visualization and debugging

Primary LanguageTypeScriptMozilla Public License 2.0MPL-2.0

Foxglove Studio

Foxglove Studio is an integrated visualization and diagnosis tool for robotics, available in your browser or for download as a desktop app on Linux, Windows, and macOS.

Foxglove Studio screenshot

To learn more, visit the following resources:

You can also join us on the following platforms to ask questions, share feedback, and stay up to date on what our team is working on:

Installation

Visit foxglove.dev/download or GitHub Releases to download the latest version.

Self-hosting

Foxglove Studio can be run as a standalone desktop application, accessed in your browser at studio.foxglove.dev, or self-hosted on your own domain.

A Docker image is provided to make self-hosting easy. You can run it like so:

docker run --rm -p "8080:8080" ghcr.io/foxglove/studio:latest

Foxglove Studio will then be accessible in your browser at localhost:8080.

For all list of available image versions, see the package details.

Contributing

Foxglove Studio is primarily written in TypeScript – contributions are welcome!

Note: All contributors must agree to our Contributor License Agreement.

Supported development environments: Linux, Windows, macOS

Dependencies:

Getting started:

  1. Clone repo
  2. Run yarn install
  3. Launch the development environment:
# To launch the desktop app (run both scripts concurrently):
$ yarn serve        # start webpack
$ yarn start        # launch electron

# To launch the browser app:
$ yarn web:serve

# To launch the browser app using a local instance of the backend server:
$ yarn web:serve:local

# To launch the storybook:
$ yarn storybook

# Advanced usage: running webpack and electron on different computers (or VMs) on the same network
$ yarn serve --host 192.168.xxx.yyy         # the address where electron can reach the webpack dev server
$ yarn dlx electron@13.0.0-beta.13 .webpack # launch the version of electron for the current computer's platform

# To launch the desktop app using production API endpoints
$ yarn serve --env FOXGLOVE_BACKEND=production
$ yarn start

# NOTE: yarn web:serve does not support connecting to the production endpoints

A Dockerfile to self-host the browser app is also available.

Other useful commands:

$ yarn run          # list available commands
$ yarn lint         # lint all files
$ yarn test         # run all tests
$ yarn test:watch   # run tests on changed files

Credits

Foxglove Studio originally began as a fork of Webviz, an open source project developed by Cruise. The codebase has since changed significantly, with a port to TypeScript, more panels, additional data sources, improved layout management, new team features, and an Extension API.