/hubble.gl

A client-side JavaScript library for animating data visualizations and rendering videos.

Primary LanguageTypeScriptMIT LicenseMIT

version build downloads

This project is experimental and the APIs may change.

hubble.gl | Website

Animate and encode WebGL data visualizations.

hubble.gl maps parameters (usually animating over time) to a visualization - e.g. deck.gl, kepler.gl; and encode what you see into media - e.g. MP4, PNG, GIF.

  • High Quality Video: 60+fps framerates, up to 8k resolution, and a variety of formats. Render a quick draft or with loseless encoding. Fine tune timing and look with keyframe markers and render everything in the same app.

  • Easy Integration: Define animations for deck.gl or kepler.gl features, then render videos. Integrate with React UI components to interact with animation and rendering settings.

  • Client Side Library: Videos render and encode directly in the web browser. User data never leaves their machine. Since nothing runs on a server, sites can scale without computation costs.

Installation

npm install hubble.gl

Documentation

You can find the Hubble.gl documentation on the website.

Examples

We have examples on the website.

Contributing

The main purpose of this repository is to continue to evolve Hubble.gl core, making it faster and easier to use. Development of Hubble.gl happens in the open on GitHub, and we are grateful to the community for contributing bugfixes and improvements. Read below to learn how you can take part in improving Hubble.gl.

Code Of Conduct

Uber has adopted a Code of Conduct that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated.

Contributing Guide

Read our contributing guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to Hubble.gl.

License

This project is licensed under the MIT License - see the LICENSE file for details.