
Cruise Opens Worldview Source Code
In Cruise Automation, hundreds of engineers and testers work with data collected on the road and through the simulator. Also, a special internal command AV Tools creates applications for visualizing, searching and analyzing this data. After all, users and developers should understand what the car “sees” and what it is going to do, including a cloud of dots from the lidar, hundreds of classified and tracked objects, detailed maps and other data for visualization.
Like so many other bands inside Cruisethe AV Tools team creates visualization tools in the browser, and here React is the standard within the company. To reduce the complexity of the company's applications and facilitate the process of creating complex visualization systems, the team created a react library simplifying the rendering of 2D and 3D scenes, called Worldview (Uber previously released a similar tool called AVS ).

GPU programming offers great opportunities, but can be tedious to learn. A modern browser provides a powerful API for compiling and linking shaders, loading vertex and texture buffers, as well as objects - but all this is very difficult to master, develop and debug. Throughout the work, the AV Tools team experimented with different frameworks on top of WebGL.
It was decided to dwell on regl , a library that hides the complexity of working with WebGL behind a simple and lightweight API that turns props into low-level primitives and simplifies rendering - almost like React uses props and state to abstract from the DOM.
regl provides an interface very similar to React, but at the same time providing full accessWebGL features like textures, framebuffers, and instantiation. This tool allowed us to focus on the development of functionality, instead of digging inside WebGL.
Many front-end Cruise development teams that started using regl rendering in their projects quickly realized that some react patterns were hard to support in the regl API. Despite the similar props paradigm, some aspects of GL required the creation of custom visualization and its effective integration into our rendering system.

To further simplify the development process, developers abstracted from the template code that provided the drawing of standard shapes and data types in regl by creating a library of react components. This allowed other teams not to reinvent their bikes, but to use ready-made bricks.
The library is called Worldview. It provides 2D and 3D cameras, mouse and keyboard controls, and tools for drawing objects and scenes. Thanks to it, Cruise engineers can easily create their own visualization systems, without having to dive into the study of low-level WebGL APIs and write their own wrappers for them.
Initially, Worldview was tightly combined with Cruise's proprietary visualization system. However, as the system grew older, it was decided to separate it into a separate library under the Apache 2.0 license. Cruise hopes Worldview will lower the WebGL entry threshold for many by providing web developers with simple tools for rendering complex scenes.

Cruise will continue to develop and update the code for Worldview and other visualization libraries. The developers are happy with any help from the outside - pull requests are welcome.
Like so many other bands inside Cruisethe AV Tools team creates visualization tools in the browser, and here React is the standard within the company. To reduce the complexity of the company's applications and facilitate the process of creating complex visualization systems, the team created a react library simplifying the rendering of 2D and 3D scenes, called Worldview (Uber previously released a similar tool called AVS ).

Webgl is cruel
GPU programming offers great opportunities, but can be tedious to learn. A modern browser provides a powerful API for compiling and linking shaders, loading vertex and texture buffers, as well as objects - but all this is very difficult to master, develop and debug. Throughout the work, the AV Tools team experimented with different frameworks on top of WebGL.

regl provides an interface very similar to React, but at the same time providing full accessWebGL features like textures, framebuffers, and instantiation. This tool allowed us to focus on the development of functionality, instead of digging inside WebGL.
Cruise loves react
Many front-end Cruise development teams that started using regl rendering in their projects quickly realized that some react patterns were hard to support in the regl API. Despite the similar props paradigm, some aspects of GL required the creation of custom visualization and its effective integration into our rendering system.

To further simplify the development process, developers abstracted from the template code that provided the drawing of standard shapes and data types in regl by creating a library of react components. This allowed other teams not to reinvent their bikes, but to use ready-made bricks.
The library is called Worldview. It provides 2D and 3D cameras, mouse and keyboard controls, and tools for drawing objects and scenes. Thanks to it, Cruise engineers can easily create their own visualization systems, without having to dive into the study of low-level WebGL APIs and write their own wrappers for them.
Opening Worldview source
Initially, Worldview was tightly combined with Cruise's proprietary visualization system. However, as the system grew older, it was decided to separate it into a separate library under the Apache 2.0 license. Cruise hopes Worldview will lower the WebGL entry threshold for many by providing web developers with simple tools for rendering complex scenes.

What's next?
Cruise will continue to develop and update the code for Worldview and other visualization libraries. The developers are happy with any help from the outside - pull requests are welcome.