Contribute
Pages 28
- Home
- Axes
- Contribute
- Custom Shapes
- Data
- Data Transforms
- Documentation
- Embed Vega Web Components
- Expressions
- Gallery
- Group Marks
- Headless Mode
- Interaction Scenarios
- Legends
- Marks
- Predicates
- Runtime
- Scales
- Signals
- Streaming Data
- Theme Configuration
- Tutorial
- Upgrading data transforms to 2.0
- Upgrading to 2.0
- Vega and Browserify
- Vega and D3
- Vega and Webpack
- Visualization
- Show 13 more pages…
Interested in helping to improve Vega? This page provides a (non-comprehensive) list of ways to contribute. If you're thinking about taking on a sizable project, please post to Vega discussion group so that we can coordinate.
Find a bug? Report it, or better yet, fix it and send a pull request! Bug reports should be submitted as issues on GitHub. Please include sufficient details that others can reproduce the bug.
Contribute additional unit tests and improve test coverage.
Review, and where necessary, improve the documentation here on the Vega wiki. For example, ensure that all transform descriptions are up-to-date with the current Vega 2.x options.
Develop new examples. Build out a corpus of stand-alone examples (both old and new) hosted through bl.ocks.org.
Wrap Vega with Electron to make opening Vega and [Vega-Lite] visualizations offline easier.
Implement new data transforms (or improve existing ones). For example, D3 includes a number of layouts (hierarchies, chord diagrams, etc) that Vega does not yet support.
Improve damage-redraw for Canvas rendering in vega-scenegraph. When the CanvasRenderer is handed a list of modified ("dirty") items, it simply unions their bounding boxes to determine the redraw region. A smarter approach might (efficiently!) identify disjoint regions and re-render them separately. How might this improve rendering performance?
Extend the specification of datasets to supporting polling API endpoints periodically, a la Cubism.js.
Develop a module system for Vega specifications. Several of the examples reuse similar interaction techniques (e.g., brushing, panning, zooming) or dataset and mark definitions (e.g., crossfilter). A module system could reduce the amount of duplication within a specification by enabling reuse and remixing of snippets of Vega specifications.
Develop a WebGL renderer for the Vega scenegraph.
Add more efficient handling of loaded data files. Currently, a file is loaded for every request made, even if the same file has been previously loaded. First run tests to see how effective browser-level caching is at servicing duplicate requests. If warranted, build a Vega-specific data manager that prevents unnecessary duplicate loads.