The core developers will review RFCs (and of course, comments from the community are always welcome). Recommended review criteria are being documented in RFC Review Guidelines.
Documents indicating intent and direction for bigger areas of functionality. Roadmap documents are intended to provide higher level descriptions than the more detailed, topic-focused RFCs.
Also see luma.gl roadmaps, such as the GPGPU roadmap
Roadmap | Status | Description |
---|---|---|
GPU Table Roadmap | Draft | Evolution of the GPUTable class across deck.gl v8.x releases |
API Evolution Roadmap | Draft | Ideas for changes/extensions to the core deck.gl API |
New Layers Roadmap | Draft | Ideas for new layers |
Animation Roadmap | Draft | Animation API roadmap |
Performance Roadmap | Draft | Performance Improvements |
Infovis Roadmap | Draft | Infovis (non-geospatial) features roadmap |
Reduce Distribution Size | Implemented | Reduce size of distribution and the bundle size of applications using deck.gl |
Pure JS and Scripting Roadmap | Implemented | Support for Scripting and Pure-JS APIs |
These RFCs are not yet associated with any specific release.
RFC | Author | Status | Description |
---|---|---|---|
Reduce Repository Size | @ibgreen | Draft | Reduce size of deck.gl github repository |
Projection Mode Improvements | @ibgreen @pessimistress | Draft | Improvements to projection system |
Composite Layer Customization | @ibgreen | Draft | Improvements to customizing composite layers |
Render Layer to Texture | TBD | Proposed | Allow layers to render to texture and then use texture in subsequent layers. |
Layer Extension | @pessimistress | Draft | Adding optional functionalities to layers on-demand |
Fixed Frame Coordinate System | @ibgreen | Draft | Add support for fixed frame (WGS84 cartesian) coordinates |
Component Wrapping System | @ibgreen | Draft | A unified system for exposing JS components to Python/Jupyter Notebook/JSON etc. |
Projection System Expansion | @pessimistress | Draft | Changes to the projection system to support various data and projection formats. |
Possible other animation related RFCs:
- integration with event handling (enter leave triggers for animations)
RFC | Author | Status | Description |
---|---|---|---|
Off-thread attribute generation | @pessimistress | Deferred | Generate attributes off-thread (to avoid locking the main thread). Deferred due to issues with supporting the more general use cases. dataUrl RFC has been broken out. |
Expose Layer AttributeManager | @ibgreen | Deferred | simplifies pregenerating attributes in apps for fast animation. |
Unified ViewState | @ibgreen | Deferred | Controversial proposal for an even more Unified View/Controller Architecture. Review again after all Controller/Multiview RFCs have been approved/implemented |
Group of related RFCs loosely targeted for 7.x releases.
RFC | Author | Status | Description |
---|---|---|---|
GLSL Accessor RFC | @ibgreen | Draft | Allow apps to define GLSL accessors to directly access injected columnar data or implement advanved effects |
Texture Attribute RFC | @ibgreen | Draft | Enable variable-primitive layers_ to read descriptive attributes from a binary column. |
GPU Data Frame Support | @ibgreen | Draft | Proposal for enabling deck.gl to apply data frame filters on GPU. |
Chunked Data Support | @ibgreen | Draft | Support Chunked Columnar data on the GPU. |
Binary Support Improvements | @pessimistress | Draft | API change for more intuitive binary data usage. |
RFCs loosely targeted for 7.x releases. Also see luma.gl RFCs
RFC | Author | Status | Description |
---|---|---|---|
Binary Data RFC | @ibgreen @pessimistress | Draft | Support binary data as input to deck.gl layers. |
Imperative API Improvements | @ibgreen | draft | Potential API improvements for imperative programming. |
Partial Updates | @ibgreen @georgios-uber | draft | Allow partial updates of vertex attributes to support high-performance editing. |
Project / Unproject Improvements | @ibgreen | Draft | Consolidating, generalizing and simplifying JS project /unproject API, covering uses from new features such as MultiView. |
Layer Operations | @ibgreen | Preliminary Approval | Allow partial updates of vertex attributes to support high-performance editing. |
Property Animation | @ibgreen | Draft | Allow Layer props and GL parameters to accept functions in addition to values and call these on every render to update values |
Heatmap Layer | @1chandu | Draft | A new layer to render heat maps with GPU Acceleration |
These RFCS were implemented in v7.1.
RFC | Author | Status | Description |
---|---|---|---|
GPU Acceleration in GridLayer | @1chandu | Implemented | GPU Accelerated aggregation support in GridLayer. |
These RFCS were implemented in v7.0. Also see luma.gl RFCs.
RFC | Author | Status | Description |
---|---|---|---|
Phong Lighting | @jianhuang01 | Implemented | Add phong lighting module to luma and deck |
Effects Manager | @jianhuang01 | Draft | Official support for effects (shadows, reflections, better lighting, postprocessing, framebuffer composition etc). |
Composite Layer Prop Forwarding | @ibgreen @pessimistress | Implemented | Conventions for overriding sublayer props |
These RFCS were implemented in v6.3. Also see luma.gl RFCs.
RFC | Author | Status | Description |
---|---|---|---|
Prop Types | @ibgreen | Implemented | Validate e.g ranges for numeric attributes, support animation/auto-interpolation. |
Advanced Event Handling | @pessimistress | Draft | Allow Layer props to accept on style callbacks for events other than hover and click |
GPU Aggregation enhancements | @1chandu | Implemented | Enhance GPUGridAggregator to support multiple aggregation operations and aggregation of up to 3 weights |
These RFCS were implemented in v6.2. Also see luma.gl RFCs.
RFC | Author | Status | Description |
---|---|---|---|
Mapbox Custom Layer | @pessimistress @ibgreen | Draft | Integration of deck.gl API with new mapbox custom layers. |
These RFCS were implmented in v6.1. Also see luma.gl RFCs
RFC | Author | Status | Description |
---|---|---|---|
JSON Layers | @ibgreen | Preliminary Approval | Enable deck.gl layers to be specified as JSON payloads. |
View Class Extensions | @ibgreen | Review | Additional View Class properties that enable e.g. "nested" maps (minimap on top of main map). |
Property Animation (Phase 1) | @ibgreen | Draft | Allow Layer props and GL parameters to accept functions in addition to values and call these on every render to update values |
Contour Layer | @1chandu | Preliminary Approval | Contour detecting aggregating layer. |
Improved 32 bit Projection Mode | @ibgreen @georgios-uber | Implemented | New projection mode for mixed 32/64 bit precision. |
These RFCS were implemented in v6.0. Also see luma.gl RFCs
RFC | Author | Status | Description |
---|---|---|---|
Per-View Controllers | @ibgreen | Draft | Support one controller per view in multi-view apps |
GPU Aggregations | @1chandu | Draft | Official support for effects (shadows, reflections, better lighting, postprocessing, framebuffer composition etc). |
Data Filter | @pessimistress | Draft | Add generic support to filter data objects on the GPU. |
React API | @pessimistress | Draft | React API refresh. |
These RFCs were implemented in v5.3.
RFC | Author | Status | Description |
---|---|---|---|
Auto Controls | @ibgreen | Review | Allow deck.gl to be used without an onViewStateChange callback. |
Async Layer Props | @pessimistress & @ibgreen | Review | Layer.data can be a URL string, and layer asynchronously downloads and displays the data. |
Picking Occluded Ojects | @ibgreen @georgios-uber | draft | Allow partial updates of vertex attributes to support high-performance editing. |
Constant Accessor | @pessimistress | draft | Allow users to supply constant attributes directly instead of using an accessor. |
Attribute Buffer | @pessimistress | draft | Move buffer management from Model class to AttributeManager. |
These RFCs were implemented in v5.2.
RFC | Author | Status | Description |
---|---|---|---|
New View Classes | @ibgreen @pessimistress | Implemented | Official API for multi-view support, replacing the v5.0 experimental API |
Unified 32/64-bit Projection | @ibgreen | Implemented |
These RFCs were implemented in v5.1.
RFC | Author | Status | Description |
---|---|---|---|
Animation | |||
Attribute Transitions | @pessimistress | Implemented | Automatically interpolate between two copies of a vertex attributes |
TransitionInterpolator | @pessimistress | Implemented | New class to make it easier to customize interpolation |
These RFCs were implemented in v5.0. Also see luma.gl RFCs.
RFC | Author | Status | Description |
---|---|---|---|
Animation | |||
Auto Highlighting | @ibgreen @1chandu | Implemented | Auto highlight hovered object via picking module |
Viewports and Controllers | |||
First Person Geospatial Viewport | @ibgreen | Experimental | Geospatially enable all viewports, add FirstPersonViewport for hybrid apps. |
Multiple Viewports | @ibgreen | Experimental | Support for multiple viewports |
Viewport Transitions | @1chandu | Experimental | Animate Viewport changes ("fly to" effect) through interpolation of Viewport props. (Also used in react-map-gl v3.2). |
Break out EventManager | @ibgreen | Implemented | Break out event manager module (mjolnir.js) |
luma.gl RFCs | |||
Break out Math Module | @ibgreen | Implemented | Break out luma.gl math module (math.gl) |
These RFCs were implemented in v4.1.
RFC | Author | Status | Description |
---|---|---|---|
Picking Improvements | @shaojingli | "Direction" RFC | Outlines a number of improvements to picking |
Event Handling | Many authors | Implemented | Attempt to define enduring event handling architecture |
These RFCs were implemented in v4.0.
RFC | Author | Status | Description |
---|---|---|---|
Non-Geospatial Viewports | @ibgreen @gnavvy | Implemented | Support for non-geospatial viewports |
Composite Layer Prop Forwarding | @shaojingli | Implemented | Conventions for prop forwarding |