61 Commits

Author SHA1 Message Date
Timothy Wojtaszek
b079a1f94d Add Scenarios for the XVIZ Server
New scenarios demonstrating the scene graph and
providing examples for the platform coordiante frame orientation.

scenario-arm: demonstrates a robotic arm like linkage built using
the scene graph

scenario-transforms: provides a structured set of planes demonstrating
the effects of various tranforms
2022-01-01 17:34:47 -08:00
Tim Wojtaszek
d7458175c4 Separate Pose from Streams for internal structure of data
With the support for transforms using links, a
stream name can now have an entry in primitives and
poses and must be stored separately.

- add 'scenario-orbit' to the server docs.
2021-12-30 18:18:37 -08:00
Tim Wojtaszek
f07c09d092 Add png files for svg files due to github hosting issues 2019-08-22 13:20:30 -07:00
Timothy Wojtaszek
4edc9da21c
Fix XVIZ Source doc reference 2019-08-21 13:49:56 -07:00
Xiaoji Chen
2c9d3aa630
Support dynamic stream metadata (#493) 2019-07-09 12:25:34 -07:00
Timothy Wojtaszek
66b5d2dae3
Add 'log_info' definition to metadata schema (#448) 2019-07-08 11:34:41 -04:00
Timothy Wojtaszek
972968687a
@xviz/ros module (#482)
Support for converter ROS Bag data into XVIZ

Key documents are:
 - RFC ./dev-docs/005-ros-module-rfc.md
 - User Docs ./docs/api-reference/ros
 - Module Readme ./modules/ros/README.md
 - Examples ./examples/converters/ros ./examples/converters/ros-custom
2019-07-02 05:38:00 -04:00
Timothy Wojtaszek
a8cfc2bc29
Change specification enumerations to ALLCAPS (#477)
Follow the convention that constant enumerated values should be in ALLCAPS. This is a spec change for XVIZ, but retains compatibility with lowercase by forcing a case conversion at the appropriate places within the modules.

Spec change locations:
declarative ui properties
- component type
- layout
- interactions

xviz message
- type
  - xviz/start
    - session_type
    - message_format
    - log
  - xviz/metadata
    - stream metadata
      - category
      - scalar type, for time_series & variables
      - primitive type, for time_series & variables 
      - annotation_type, for annotations
    - stream style
      - text_anchor
      - text_baseline
  - xviz/state_update
    - update_type
  - xviz/reconfigure
    - update_type
2019-06-07 18:42:09 -04:00
Timothy Wojtaszek
3a85736550
Change use of 'Frame' to 'Message' in XVIZ (#467)
A 'Frame' is often overloaded, and in nearly all case
in XVIZ we mean an XVIZ Message.  We have created a distinction
where if we use 'Frame' it is not an individual message but the
set of data that constitutes a visual 'Frame' which could come from
multiple messages.  Therefore, 'Frame' is still used in @xviz/parse
2019-05-28 14:30:06 -07:00
Tim Wojtaszek
ed0ba1843a Make sure node related imports can be tree shaken 2019-05-23 16:34:18 -07:00
Timothy Wojtaszek
6a85f68a72 @xviz/server module (#453)
Proper module to replace our adhoc server script with a structured middleware-based implementation.

Key documents are:
 - RFC ./dev-docs/004-server-module-rfc.md
 - User Docs ./docs/api-reference/server
 - Module Readme ./modules/server/README.md
2019-05-23 16:34:18 -07:00
Tim Wojtaszek
9573a64424 @xviz/io consolidates general reading and writing of the
XVIZ specified data format.

Prior to this functions and classes that operate on XVIZ data
where split across @xviz/builder and @xviz/parser. They will
be moved into @xviz/io in subsequent changes.

Motivation for this is due to @xviz/parser restructuring data that
no longer can be validated against our specification and validation
tooling.  This made it difficult to modify XVIZ and validate it is
still conforming.  Given that, this module should operate only
at the XVIZ specification level.

Highlights of @xviz/io module:
 - XVIZ data classes allow for dealing with XVIZ data regardles
   of the format specifics (binary or json)
 - Abstraction layers keep concerns isolated and provide and improve
   structure for evolving the XVIZ eco-system

Key documents are:
 - RFC ./dev-docs/003-io-module-rfc.md
 - User Docs ./docs/api-reference/io
 - Module Readme ./modules/io/README.md
2019-05-23 16:34:18 -07:00
Xiaoji Chen
f725fd27a5
API Audit - rename confusing parser functions (#459) 2019-05-22 12:00:01 -07:00
Xiaoji Chen
5e59c2e9bd
[builder] Add links from documentation to playground (#423) 2019-04-05 18:53:47 -07:00
Joseph Lisee
9c82d8cac9
Optionally cap the number of worker messages that can queue (#420)
When processing data in real time if you fall behind the queue can
grow unbounded, so you need the ability to cap it. You also want to
know if you have dropped data so that is now reported as well.
2019-04-03 10:43:14 -04:00
Xiaoji Chen
71d2adba66
improve binary support (#369) 2019-02-27 16:11:40 -08:00
Marius Gräfe
7419314fcc Updated example in xviz-builder.md (#354)
* Updated example in xviz-builder.md

Example now works out of the box with npm packages.
2019-02-27 09:10:26 +01:00
Marion Le Borgne
7717a860ec Allow missing primary pose (#348) 2019-02-26 17:04:18 -08:00
Xiaoji Chen
6d058e32cb Pre-release preparation (#287) 2019-01-17 19:16:44 -08:00
Xiaoji Chen
0a4f659683 Clean up XVIZObject API (#281) 2019-01-11 09:23:39 -08:00
Xiaoji Chen
d36ff1be6a Clean up XVIZWriter API (#279) 2019-01-10 20:09:33 -08:00
Xiaoji Chen
cd86e8f363 Update parser docs (#280) 2019-01-10 13:00:20 -08:00
Timothy Wojtaszek
c23bffe73a XVIZ getting started docs (#239)
Expand documentation for the KITTI converter covering the process in more detail.
2019-01-09 09:51:18 -08:00
Xiaoji Chen
76cbdf7b12 merge xviz config and xviz settings (#268) 2019-01-04 13:00:42 -08:00
Xiaoji Chen
552709e967 switch default timestamp format to seconds (#267) 2019-01-04 11:59:14 -08:00
Xiaoji Chen
da2f86c1f4 Deprecate OBJECT_STREAM config (#265) 2019-01-04 11:19:48 -08:00
Timothy Wojtaszek
123163729e Add license metadata to KITTI converter (#262) 2019-01-04 11:01:50 -08:00
Xintong Xia
6140a29212 update kitti example run command (#243) 2018-12-13 20:03:13 +01:00
Xintong Xia
e9d4a12f0d consistent documentation format (#238) 2018-12-10 11:10:25 +01:00
Timothy Wojtaszek
1f2a422494 Add XVIZBuilder.futureInstance(streamId, timestamp) (#200)
- create XVIZFutureInstanceBuilder to isolate effects of timestamp from XVIZPrimitiveBuilder
- make sure if timestamp < EPSILON of an existing timestamp we do not insert a new one
- ensure primitives are merged into the existing timestamp primitives array
- add test cases for the above
- change getPoseOffset => getGeospatialVector as the arguments are not Poses
- add test cases and comments for getGeospatialVector
- update docs
2018-11-27 16:12:07 -08:00
Xiaoji Chen
ba95e6920b Update Builder Docs (#214) 2018-11-26 16:33:25 -08:00
Joseph Lisee
a925668f95 Declarative UI select builder (#209)
Expand the UI builder API to create select components, this should in
make it easier to test and demonstrate in streetscape.gl
2018-11-20 15:56:27 -05:00
Joseph Lisee
67dda3fb81 Uniformly name Plot's property "dependentVariables" (#210)
The declarative UI plot component has a single "independentVariable" and
multiple "dependentVariables".  In many places we forgot the "s".
That is not fixed with both the spec and the builder updated and tested.
2018-11-20 15:49:45 -05:00
Joseph Lisee
2c815ac57c Lint all markdown files with prettier (#208)
We are already doing this for the protocol docs, this updates all the
rest so the format can stay consistent with multiple editors.
2018-11-20 15:26:50 -05:00
Xiaoji Chen
f692532012 API Audit (#195)
* rename Xviz* to XVIZ*

* Clean up XVIZ Settings (#197)

- Replace `TimeResolution` with `PLAYBACK_FRAME_RATE`
- Add `TIMESTAMP_FORMAT` config
- Remove `PRIMITIVE_SETTINGS`
2018-11-13 10:20:57 -08:00
Xiaoji Chen
5ae164e122 Add table/treetable support to builder and parser (#192) 2018-11-09 10:36:18 -08:00
Xiaoji Chen
81ae1c4795 Clean up Declarative UI documentation (#185) 2018-11-07 11:28:11 -08:00
Xiaoji Chen
b243c21fbc Add XVIZMetadataBuilder api for declarative UI (#182) 2018-11-04 19:14:26 -08:00
Timothy Wojtaszek
d98310dead Update parsed XVIZ flow to account for schema changes (#170)
- update doc examples to match new 'base' primitive properties
- add util func to access primitives thur their top-level 'type'
  property
- parsed XVIZ needs context on object 'type', so while it is removed
  from objects parsing it will add it to the objects
2018-10-26 17:01:57 -07:00
Timothy Wojtaszek
179e2721dc Merge branch 'beta.1' into master 2018-10-25 16:36:08 -04:00
Joseph Lisee
b96b3bcdab XVIZValidator, check JSON correctness (#150)
This provides a simple API that validates provided JSON objects are
the types you would expect.  It has a generic API that lets you check
any subobject of the spec and a set of high level methods to validate
the types that the builder objects are most concerned about.
2018-10-18 16:04:41 -04:00
Tim Wojtaszek
2df442587d Merge branch 'master' into beta.1-tpw 2018-10-18 00:15:09 -07:00
Xiaoji Chen
7cca3eb048 Simplify xviz config (#148)
- `DEFAULT_METADATA`: removed (not used)
- `filterStream`: replaced with `STREAM_BLACKLIST`
- `postProcessMetadata`: removed (can be applied to parsed result)
- `postProcessTimeslice`: removed (can be applied to parsed result)
- `postProcessVehiclePose`: removed (can be applied to parsed result)
- `postProcessFrame`: moved to options of `BaseSynchronizer`
- `getTrackedObjectPosition`: removed (can be done in postProcessFrame)
- `observeObjects`: removed (not used)
2018-10-17 14:35:54 -07:00
Xintong Xia
7ac8f0c9db add transform in xviz metadata builder (#124) 2018-10-16 10:57:40 +02:00
Xintong Xia
8c89475b85 add pose-builder (#120)
Base branch
https://github.com/uber/xviz/pull/117


Issue details
https://github.com/uber/xviz/issues/113
https://github.com/uber/xviz/issues/112
https://github.com/uber/xviz/issues/26
2018-10-16 09:55:37 +02:00
Timothy Wojtaszek
f86dd88849 XVIZ 2.0 style properties schema update (#138)
- Finalize the style specification and update json schema's to match
- Move styles props to snake_case
- Separate stream_styles from style_classes, details in the docs
- Updated documentation to describe style levels, order of precedence, and added tables to condense information.
- Replaces the previous styles as follows:
  - color -> fill_color and stroke_color
  - thickness_m -> stroke_width
  - font_scale -> size
2018-10-14 20:52:42 -07:00
Xintong Xia
f52b15e550 refactor builders - separate out builders of different types
remove debugging code

rebase

fix and add more tests

Only initialize different types of builders in xviz-builder constructor

Update document

resolve comments
2018-10-09 13:58:27 +02:00
Xintong Xia
5b2cfda357 add trajectory generating helpers (#98) 2018-10-05 08:51:46 +02:00
Xintong Xia
a5bfd637d3 path like stream name (#118)
* path like stream name

* remove debugging code

* update doc

* validate streamId pattern in xviz-builder

* fix and prettier
2018-10-04 09:20:57 +02:00
Xintong Xia
92a7fec3c7 Separate out different ui builders (#96) 2018-10-01 11:10:19 +02:00