vis.gl Community Planning Meeting
May 2020
Warning
All technical designs and implementations discussed in this meeting are released from proprietary claims and will subject to the same license as the vis.gl project (Apache 2.0).
Do not speak of a topic that your organization has IP concerns over.
AGENDA
Open Governance Overview
Ongoing Efforts
8.2/8.3 Feature Proposals
Feedback & Discussion
AGENDA
Open Governance Overview
Background
Motivations
Get involved
Stay in touch
Ongoing Efforts
8.2/8.3 Feature Proposals
Feedback & Discussion
vis.gl is now in open governance
The Urban Computing Foundation, a subsidiary of the Linux Foundation, is a neutral forum for accelerating open source and community development that improves mobility, safety, road infrastructure, traffic congestion and energy consumption in connected cities.
vis.gl was officially donated to UCF in April, 2020.
The vis.gl Ecosystem
The vis.gl Ecosystem
Pure JS
Scripting
React
TypeScript (third-party)
Declarative
mapbox-gl-js
Google Maps API
ArcGIS for JavaScript
HERE/harp.gl
Python/Jupyter
R (third-party)
Java (WIP)
Swift (WIP)
C++ (WIP)
Contributions and Collaborations
Custom layer API (@deck.gl/mapbox)
Google Maps integration (@deck.gl/google-maps)
3D Tiles loader (@loaders.gl/3d-tiles, @math.gl/geospatial)
ArcGIS integration (@deck.gl/arcgis)
I3S loader (@loaders.gl/i3s)
MVT (Mapbox Vector Tile) loader and layer
vega-deck.gl
deck.gl native (C++ port)
The Time is Right
Open Governance Goals
Technical Steering Committee
Voting right on the admittance/removal of steering committee members and maintainers
Administrator to the project's repo, and owner to the NPM organization
Approving external communications
Final veto power in roadmap planning
Manage project members and privileges according to the governance guidelines
Ensure that the dev tools of the repo work consistently and as expected
Organize and moderate community discussions, enforce the code of conduct
Ensure that the dev process is followed by all contributors
Ensure the consistency and quality of the documentation
Manage blog posts, material for conference and meetup talks, and other brand presence
Maintainers
Roadmap planning
Write permission to the repo, and membership to the NPM organization
Represent vis.gl publicly
Participate in the planning meetings and RFC reviews
Be responsive to bug reports, user questions, and code review requests
Comply with the projects’ development process
Release Schedule
Communication Channels
AGENDA
Open Governance Overview
Ongoing Efforts
Tiled solutions
deck.gl-native
Framework modernization
Cross-language architecture
8.2/8.3 Feature Proposals
Feedback & Discussion
Tiled Solutions
Lead by @pessimistress @xintongxia
Geospatial / non-geospatial (v8.1)
Ongoing efforts
Cross-tile highlighting
Terrain-based feature offset
Cesium terrain loader
deck.gl-native: C++ renderer for deck.gl
Current state
An exploratory project
Concept proven, significant work remains
Additional participation strongly invited
deck.gl LineLayer example running natively on MacOS
Framework Modernization
Being added to frameworks, gradual rollout in 8.2 release
luma.gl separation of engine and WebGL API (v8.0)
WebGPU being prototyped in deck.gl-native
Lead by @ibgreen
Cross-Language Visualization Architecture
Lead by @ibgreen
JavaScript (Pure JS/React)
Declarative (@deck.gl/json)
Python (pydeck / jupyter-widget)
C++ (deck.gl-native)
Java (JavaDeck for Android)
Swift (SwiftDeck for iOS)
R (mapdeck)
Cross-Language Visualization Architecture
Lead by @ibgreen
Contact: ib@unfolded.ai
Cross-Language Visualization Architecture
Lead by @ibgreen
Contact: ib@unfolded.ai
AGENDA
Open Governance Overview
Ongoing Efforts
8.2/8.3 Feature Proposals
Geospatial system expansion
Binary transport format
TileLayer improvements
Pydeck improvements
Feedback & Discussion
Geospatial System Expansion
Lead by @pessimistress
“Local” support (transform to meter offsets) (v8.2)
True 3D common space (v8.3)
wrapLongitude changes
GeoJSON feature splitting
Experimental controller & core layer support (v8.2)
Generic compatibility (v8.3)
TileLayer Improvements
Lead by @kylebarron
Support extreme pitch with frustum culling
Better replacement strategies
Prioritized loading and cancellation
Offset AGL features to draw on top of 3D terrain
Subtract terrain from MSL data to visualize on top of 2D base maps
Binary Transport Format
Lead by @pessimistress
Shared data management - experimental (v8.2)
Finalized transport format (v8.3)
Pydeck
Lead by @ajduberstein
JupyterLab >=2.0 support; improved CI
Support for scales and legends
Multiple layer selection (visual feedback for selected elements in a UI) and time-scrubbing
Functions within Jupyter triggered on interaction
Backlog
Progress will depend on interest and contributions