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