XVIZ is a protocol for real-time transfer and visualization of autonomy data. Learn more in the docs and specification.
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:
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
#To build thirdwave protos
do something similiar to protoc -I=/home/trevor/thirdwave --js_out=import_style=commonjs,binary:build /home/trevor/thirdwave/messages/protos/*.proto
from xviz/examples/converters/alpha_zero
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
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
The pre-commit hook yarn test-fast
requires you to have jq
installed:
brew install jq