xviz
xviz copied to clipboard
A protocol for real-time transfer and visualization of autonomy data
XVIZ
XVIZ is a protocol for real-time transfer and visualization of autonomy data. Learn more in the docs and specification.

Tools and examples
This repo contains the following submodules:
@xviz/builder- Node.js utilities for converting data to the XVIZ protocol.@xviz/cli- CLI utilities for the XVIZ protocol.@xviz/io- Library for loading, accessing, and manipulating XVIZ data.@xviz/parser- Client-side decoder and synchronizer for consuming XVIZ data.@xviz/schema- Validation and schemas for the XVIZ protocol.@xviz/server- A complete server module supporting the full XVIZ protocol.
And examples:
Quick start
You need Node.js and yarn to run the examples.
# Clone XVIZ
$ git clone https://github.com/uber/xviz.git
$ cd xviz
# Install dependencies
$ yarn bootstrap
Convert and serve KITTI example data:
# Download KITTI data
$ ./scripts/download-kitti-data.sh
# Convert KITTI data if necessary and run the XVIZ Server and Client
$ ./scripts/run-kitti-example.sh
NPM Scripts
bootstrap- install dependenciesbuild- rebuild all modulestest- run full tests (lint, unit tests in node and headless browser)test bench|bench- run benchmark teststest bench-browser- run benchmark tests in browsertest node- run unit tests in Nodetest browser- run tests in browsertest browser-headless- run tests in headless browserlint- run lintlint fix- run prettierpublish beta- publish beta releasepublish prod- publish production release
Requirements for Contribution
The pre-commit hook yarn test-fast requires you to have jq installed:
brew install jq