All notable changes to deck.gl will be documented in this file.
For Earlier Beta Releases see below
- Bump luma.gl to 5.3.0-alpha.1
- Bump examples to 5.2 alpha versions (#1649)
- Bump example package.json to make it clear these are for future release (#1648)
- fix bench browser test (#1647)
- fix text layer issue on windows (#1645)
- Fix without-map (#1642)
- Initial commit of standalone js module (#1605)
- Clean up LayerManager context handling (#1628)
- remove wrong deck.gl version in tagmap
- Fix OrthographicView (#1638)
- Introduce babel 7 (#1636)
- Fix render tests by temporarily reverting orhtographic map support (#1635)
- Final immutable removal (#1634)
- Improve test script speed. Fix test-browser reliability (#1632)
- Remove polyfill. Update test scripts (#1633)
- Text layer audit (#1627)
- Add ScreenGrid Icon, fix doc link (#1622)
- Update examples using new View classes and Deck/Controller integration (#1616)
- fix attribute transition manager (#1621)
- Integrate controllers into Deck component (#1615)
- GpuScreenGridLayer : RFC and Fixes (#1617)
- tagmap layer example improvements (#1620)
- Update deck.gl whats new doc (#1589)
- Viewport improvements, orthographic projection support (#1614)
- View improvements (#1613)
- Make
ViewandDeckclasses into official exports (#1612) - View doc updates (#1610)
- add 3d rotation to MeshLayer (#1602)
- Hotfix to plot layer and node tests (#1611)
- ScreenGrid GPU Aggregation (Part-3, Add GPU Aggregation) (#1603)
- ScreenGrid GPU Aggregation (Part-2, add support for UBO) (#1593)
- Bump luma.gl to 5.2.0-alpha.10
- fix website build (#1604)
- Merge experimental SolidPolygonLayer into core-layers (#1405)
- Move text-layer from experimental-layers to core-layers (#1590)
- fix text layer update triggers (#1598)
- unbold console output after test (#1596)
- Improve text layer perf (#1597)
- use unified projection in experimental layer shaders (#1595)
- Webpack 4 (#1594)
- Focal distance (#1588)
- Split out
Attributeclass fromAttributeManager(#1578) - Remove use of external asserts (#1567)
- Create advanced-text-layer in experimental-layers (#1573)
- bump luma.gl version to 5.2.0-alpha.9
- fallback luma.gl to 5.2.0-alpha.3
- Move docs
- Standalone JS RFC (#1565)
- Remove
prevLayers, moveoldPropsto layer internal state (#1553) - Reorganize docs (#1514)
- ScreenGrid GPU Aggregation (Part-1, use Buffers) (#1584)
- Address audit comments (#1580)
- Test directory cleanup (#1577)
- Add esnext dist and test-size script (#1559)
- Remove invalid deprecation warning (#1575)
- Fix MeshLayer texture rendering (#1570)
- Make new colorRange and colorDomain props experimental (#1569)
- bump probe.gl to 1.0.0-alpha.11
- fix memory leak by deleting unused models (#1561)
- Allow external buffer to be Buffer instead of typed array (#1527)
- Add TextLayer 100K test in layer browser (#1562)
- TextLayer: Fix horizontal padding (#1554)
- Implement unified 32 and 64 bit project interface (PR 2/2) (#1557)
- Fix sizeScale for text layer (experimental layers 0.0.25) (#1558)
- TextLayer: fix updateTriggers (#1555)
- fix memory leak via oldProps (#1549)
- verify MapboxAccessToken before build website (#1546)
- fix bug in testLayer (#1545)
- Hook up test-browser to npm test
- Create states in layerManager in case of undefined stats parameter
- bump probe.gl to 1.0.0-alpha.9
- Screen grid colorRange colorDomain (#1522)
- Fix bug in getMaxCount (#1539)
- Fix quantize scale (#1537)
- with-mapbox-map example fix (#1534)
- Fix max count issue in bin sorter (#1535)
- Add basic stats collection (#1529)
- Avoid importing
prop-typesmodule in non-React module. (#1430) - Add lib dir to React submodule. (#1528)
- Example automation testing (#1477)
- Consolidate test scripts (#1523)
- Reorganize reflection effect (#1524)
- Implement unified 32 and 64 bit project interface (#1493)
- Fix test harness exit code on failure (#1520)
- Fix minor typo in constants.js (#1521)
- Update shader module docs (#1411)
- WindDemo: update using luma.gl Transform class (#1374)
- Update Attribute transitions to use new luma.gl
TransformAPI (#1464) - disable path-marker rendering test (#1518)
- Fix deck.gl-test-utils dependency issues
- Probe.gl logging
- Bump luma.gl dependency to v5.2.0-alpha.3
- deck.gl-test-utils v5.2.0-alpha.1 (#1515)
- Test documentation improvements (#1512)
- Fix crash during pickVisibleObjects (#1365)
- Experiment: bezier curve layer (#1366)
- Add JSX support to DeckGL component and remove jsx-layers example (#1362)
- Update composite layers to use multiple prop objects (#1353)
- link to remote docs (#1364)
- Wind demo: update using newest luma.gl TF API (#1346)
- Prop code preparation/cleanup (#1357)
- Use latest luma.gl transform feedback features (#1318)
- Move fp64 viewport uniform generation to project64 module's getUniforms (#1292)
- Merge react-map-gl's map interaction (#1330)
- Travis CI fix: Reduced, but working set of test cases (#1355)
- Property Copy Reduction (#1341)
- Use Object.prototype to speed up default prop setting (#1336)
- fix experimental PolygonLayer (#1316)
- Upgrade react-map-gl and math.gl versions in examples (#1313)
- Fix text layer redraw flag clearing (#1314)
- [Doc] Fix of layer attribute typo (#1311)
- Attribute Transition: Initial Implementation (#981)
- Add links to new examples. (#1272)
- Address TODO in docs. (#1270)
- Use the deprecation support in shader modules (#1271)
- fix double model generation (#1268)
- Ortho zooming example (#1266)
- More precise offset projection (#1265)
- Examples start script (#1263)
- experimental-layers 0.0.16
- Fix examples with react-map-gl alpha (#1256)
- Linter (prettier) changes (#1262)
- Remove old uniforms (#1261)
- remove duplicate TextLayer code (#1258)
- enable lnglat_offset mode (#1245)
- Remove deprecated uniforms (#1257)
- Fix crash during pickVisibleObjects (#1365)
- Experiment: bezier curve layer (#1366)
- Add JSX support to DeckGL component and remove jsx-layers example (#1362)
- Update composite layers to use multiple prop objects (#1353)
- link to remote docs (#1364)
- Wind demo: update using newest luma.gl TF API (#1346)
- Prop code preparation/cleanup (#1357)
- Use latest luma.gl transform feedback features (#1318)
- Move fp64 viewport uniform generation to project64 module's getUniforms (#1292)
- Merge react-map-gl's map interaction (#1330)
- Travis CI fix: Reduced, but working set of test cases (#1355)
- Property Copy Reduction (#1341)
- Use Object.prototype to speed up default prop setting (#1336)
- fix experimental PolygonLayer (#1316)
- Upgrade react-map-gl and math.gl versions in examples (#1313)
- Fix text layer redraw flag clearing (#1314)
- [Doc] Fix of layer attribute typo (#1311)
- Attribute Transition: Initial Implementation (#981)
- Fix pickingSelectedColor, fix mesh-layer regression (#1260)
- Fix test-dist (#1250)
- Add prettier (#1249)
- Upgrade to React 16, cleanup core deps (#1247)
- Bump probe.gl to include regression bench support (#1251)
- Merge normal projection fix into experimental polygon layer (#1248)
- Improve perf of experimental SolidPolygonLayer (#1224)
- Fix polygon normals in meter offset mode (#1244)
- Remove deprecated API (#1240)
- Remove old Coordinate system props. (#1242)
- Add SolidPolygonLayer to experimental layers (#1233)
- Fix the normal direction of the hexagon layer and additional transform in the lighting module associated with it (#1039)
- Fix blending parameter (#1241)
- API Audit: remove initWebGLParameters and move pure-js example (#1235)
- Fix for invalid triggerName in attribute-manager.invalidate(triggerName) function (#1238)
- Add polygonLayer geojsonLayer elevationScale prop to whats-new.md (#1237)
- OrbitController pure-js support (#1234)
- DOCS: updates to clarify what is experimental in 4.2, in "What's New" and "API Reference".
- DOCS: New Roadmap doc, linking to RFCs.
- DOCS: List experimental 4.2 features in Roadmap doc.
- Remove deprecated Choropleth layers (#1231)
- Fix Picking Module object highlighting (#1230)
- Add initial CODE-GUIDELINES.md. Adjust RFC versions (#1232)
- Remove container support from core layers (#1227)
- Add '#or yarn' to README.md (#1220)
- Path Layer vertex shader cleanup (#1198)
- add "babel-loader" dependency for wind example (#1228)
- Fix
log.warnusage (#1225) - Add initial capability to show infovis layers in layer-browser (#1210)
- Fixes: global init, LayerBrowser drawPickingColors, experimental exports (#1209)
- Improve perf of picking with large
pickingRadius(#1222) - Experimental Layers 0.0.12 (#1223)
- Conditionally generate fp64 viewport uniforms (#1219)
- Make ViewportController and Transition exports experimental (#1218)
- Remove deprecated API usage (#1214)
- Clarify whats experimental in 4.2 (#1211)
- Merge pull request #1212 from KevinGrandon/fix_buildkite_badge
- Remove buildkite badge
- Merge pull request #1153 from KevinGrandon/buildkite
- Optimize building by building on warm machines
- Use buildkite and docker for CI
- Minify example bundle (#1206)
- Picking null color fix
- Add back experimental exports
- update sharp end fix for 64bits pathlayer shader (#1202)
- Fix spike issue in path layer (#1200)
- Move unaudited APIs to experimental (#1193)
- Reorganize file structure (#1192)
- add new blend mode to initWebGLParameters (#1188)
- Add support for old picking uniforms (#1191)
- Use Program 'varyings' option (#1190)
- Viewport transition tests (#1183)
- PathMarkerLayer: Support bi-directional arrows (#1181)
- add build command for point cloud example and change default settings of wind example (#1189)
- Example rename (#1182)
- Upgrade to viewport-mercator-project@5.0 (#1178)
- Transition interpolator class (#1154)
- Fix viewport projection topLeft option (#1174)
- Part-2 : 4.2 API changes as per Audit (#1170)
- Bump luma.gl peer dependency to '4.1.0-alpha.9'
-Fix log import errors (#1169) -WindDemo: Display a warning when run on non webgl2 browsers. (#1166)
- Fix module import (#1168)
- Remove luma.gl dependency in package.json to avoid conflict with deck.gl (#1164)
- Fix the bug of distance calculation in orbit controller (#1163)
- Part-1 : 4.2 API changes as per Audit. (#1158)
- Fixes for updateTriggers
- Fix bug in layer.js
- Create and use getSubLayerProps()
Auto hide viewport base elements (#1134)
- Remove the y-flip scale and camera re-center logic for non-geospatial viewport (#1125)
- Add small "degenerate" PathLayer example (#1123)
- Fix the pan event handling of orbit controller (#1124)
- Fix issues in Orbit Viewport and update examples (#1119)
- Add flag for viewport transition updates (#1115)
- Viewport Transitions: Add transitionProps, fix bearing and longitude interpolation. (#1111)
- Use probe.gl instead of benchmark.js (#1110)
- Fix MapState constraints check (#1105)
- Fix attribute updates for composite layers (#1104)
- Fix typo (#1107)
- Fix path-marker-layer angle issue (#1100)
- MultiViewport Transitions: Add example, and fix
isMapSynced.(#1099) - path+mesh layer: Specify arrow colors (#1098)
- Add
layerFilterprop (#1086) - Use global version from webpack (#1091)
- Fix multi icon layer default props (#1094)
- ViewportTransitions: remove recursive children update, fix props update (#10
- Fix multi icon layer default props (#1089)
- Move text layer to experimental layers (#1062)
- Handle IconLayer pixel size in first person viewports (#1084)
- core and deprecated layers only import from core/index.js (#1085)
- Quick fix of fitBounds API in orbit-viewport and examples (#1083)
- Quick fix of fitBounds API in orbit-viewport and examples
- Clean up sub-module imports (#1081)
- Fix layer context update (#1072)
- refactoring on ortho- and perspective-viewports related files, exports and d ocs (#1057)
- Correct brackets on
Complex polygon with holesexample (#1061)- The
polygonproperty requires arrays of Polygons (i.e.polygon: Polygon | Polygon[]). Update the example to reflect this
- The
- Fix MeshLayer fp64 mode (#1068)
- Separate common ViewState from FirstPersonState and MapState (#995)
- Transition manager improvements (#1063)
- Fix incorrect timer, replace
setIntervalwithrequestAnimationFrame - Always use the transition settings from when the transition is triggered ( removes the burden from app: set and forget)
- Use
onViewportChangefor transition update callback - Do not trigger transition on viewport size change
- Do not compare viewports if there's no transition
- Remove nested function definitions in utils
- Fix incorrect timer, replace
- Examples: set useDevicePixelRatio by default (#1060)
- Layer-browser: set useDevicePixelRation by default
- Remove excessive nesting in picking code (#1036)
- Remove excessive nesting in picking code
- Improved tracking and logging of redraw reason (#1037)
- Experimental Layers: Set pickable to false for marker layer
- Apply default values for transition props (#1058)
- temporary fix for orthographic-viewport dependent apps (#1055)
- have PerspectiveViewport extends Viewport
- minor bug fix for the point-cloud-ply example
- ViewportTransition minor fixes (#1054)
- Viewport Transitions : add pure-js TransitionManager (#1038)
- Remove deck.gl picking module, use luma.gl's version. (#1045)
- Optimize prop diffing when using inline functions as accessors. (#1033)
- Move prop diffing from layer.js to props.js (#1035)
- Fix mesh layer (#1041)
- experimental
project64utils(#1050)- Add new project64util shader module hat removes raw fp64 math from layer s haders
- Add getLineDashArray and lineDashJustified in PolygonLayer
- Fix blending in ScatterplotLayer example (#1034)
- Fix Viewport import in OrbitViewport (#1044)
- Fix PolygonLayer issue with Data Accessors
- Fix plot layer (#1031)
- Add 3rd person viewport support (#1030)
- Improve Extruded Polygon Tesselation (#1011)
- improve polygon tesselator perf
- fix normal calculation
- Specify meter unit for getLineWidth in geojson layer (#1029)
- Publish work-in-progress layers in new
deck.gl-layersmodule (#1003)- Includes PathMarkerLayer, PathOutlineLayer and MeshLayer
- RFC page, added 4.2 section (#1025)
- Pass useDevicePixelRatio to picking flow (#1021)
- Fix multi viewport update state (#1019)
- Bump luma.gl peer dependency to '4.1.0-alpha.6'
- Fix picking when rendereing pickable and non-pickable layers (#1018)
- Pass useDevicePixelRatio to picking flow. (#1016)
- Upgrade to new luma.gl API (#1014)
- Add experimental exports (#1010)
- Fix benchmark tests (#1005)
- Change the README.md, asking users to use the release branch and developers to use the master branch
- Fix useDevicePixelRatio prop usage (#1006)
- Update examples/README.md to fix broken links
- Fix point missing issue for 64 bits point cloud layer vertex shader (#1004)
- Fixes to drawlayers (#1002)
- Multi model fixes, OrbitController fix in plot layer (#996)
- fix WebMercatorViewport.addMetersToLngLat (#1001)
- Skip picking flow when no layer is pickable (#980)
- Fix modelMatrix in lnglat layers. Fixes separation slider in layer-browser. (#993)
- Add useDevicePixelRadius toggle to layer-browser (#989)
- Class name cleanup (#990)
- Fix picking and highlighting regressions. (#982)
- add viewMatrix back so users can access it in their own vertex shader (#984)
- Fix npm run bench (#978)
- Attribute Transition RFC (#961)
- Segment Layer Example Updates (#973)
- Update controller-architecture-rfc.md
- Layer browser updates (#965)
- Draw and pick refactor (#964)
- fix bug where layer does not update on updateTriggers change (#971)
- [Hexagon/Grid] add no render when elevation < 0.0 to vertex-64 (#968)
- Viewport Animation: Adding flyTo style animation support. (#937)
- Minor fixes - after refactorings (#960)
- [GridLayer] Add getElevationValue to enable grid elevation by aggregation (#954)
- Fix test-dist
- Bump to luma.gl v4.1.0-alpha.4 - Framebuffer improvements
- Update segment layer example to latest luma.gl
- Layer browser updates (#965)
- Draw and pick refactor (#964)
- fix bug where layer does not update on updateTriggers change (#971)
- [Hexagon/Grid] add no render when elevation < 0.0 to vertex-64 (#968)
- Viewport Animation: Adding flyTo style animation support. (#937)
- Minor fixes - after refactorings (#960)
- SAMPLE: Outline shadow layer, first cut (#957)
- Update docs with missing layer props (#959)
- Simplify GL parameter initialization (#952)
- Split deck.gl into "package" directories (#948)
- [HexagonLayer] Add getElevationValue to calculate hexagon elevation by aggregation (#938)
- Pure js mapbox base map example (#947)
- Small example that loads a Carto Torque tile (#946)
- Multi viewport cleanup (#953)
- WindMap fix: use default useDevicePixelRatio = false (#956)
- Layer lifecycle log polish. Guard against corrupt picking buffer. RFC updates. (#958)
- React and JS implementations now share code
- Cleanup of exported symbols
- Fixes for pure-js example
- First person view merged to master
- FIXES for First Person View
- NEW: Automatic/custom highlighting using picking shader module.
- FIX: ScreenGridLayer
depthTest - FIX: CompositeLayer
parametersforwarding - FIX: S2Layer prop forwarding
- FIX: GridLayer crash: max call stack size
- NEW: Add
devicePixelRatioprop - NEW: RFCs
- DOCS: picking/event handling refresh
- DEMO: Wind demo fixes
- Fixes for first person viewports in METER_OFFSET mode
- Unifiy react controllers as
ViewportController, export from react dir. - Add FirstPersonState
- Add FirstPersonViewport, ThirdPersonViewport
- Move viewports and some utils out of
libfolder. - Add
start-es6script to layer-browser - Remove UTM_OFFSETS projection mode
- Add: UTM_OFFSETS projection mode
- FIX: IconLayer texture filter and rotation:
- NEW: Automatic/custom highlighting using picking shader module.
- FIX: ScreenGridLayer
depthTest - FIX: CompositeLayer
parametersforwarding - FIX: S2Layer prop forwarding
- FIX: GridLayer crash: max call stack size
- NEW: Add
devicePixelRatioprop - NEW: RFCs
- DOCS: picking/event handling refresh
- DEMO: Wind demo fixes
For details see What's New
For details see What's New
- HOTFIX: Fixed project_fp64 issue under linux + nvidia (#315)
- HOTFIX: Fixed some 64-bit math issue on some Nvidia GPUs (#286)
- HOTFIX: Fixed an issue in scatterplot64 that NaN got passed to GPU (#287)
- Disable blending when rendering to picking framebuffer (#288)
- FIX: ExtrudedChoroplethLayer64 - Now updates uniforms when props change
- HOTFIX ScatterplotLayer: Fix instancePositions regression in 3.1.0
- HOTFIX DeckGL: Fix PropType warning regression in 3.1.0 (layers/effects props)
- LineLayer: Support elevations (z coords on positions)
- LineLayer64: Support elevations (z coords on positions)
- Scatterplot: Enable updateTriggers on instanceRadius, separate from positions.
- EXPERIMENTAL FEATURE: ReflectionEffect
- INTERNAL: Target build env moved to Node 6. Travis tests now run on 6 & 7.
- Bumped viewport-mercator-project version for the unproject fix.
- Updated dependency versions (#229)
- Added test code for attribute-manager (#213)
- Added minMax radius for the scatterplot-layer (#230)
- Performance optimization: remove unnecessary gl.getParameter() calls (#227)
- Fixed precision issue for vec2_mix_fp64 function (#223)
- Added mouse event object to hover and click event parameter (#255)
- Bug fix for picking not returning x, y coordinates (#220)
- Performance optimization: prevent redundant data calculation (#222)
- Bug fixes for ScatterplotLayer not being updated with new data prop (#215)
- Performance optimization: prevent fbo from reallocating every time (#217)
- Performance optimization for examples in gh-pages
- Enable blending by default
- Fix syntax highlighting in gh-pages
For details see What's New
- Added line width support to the choropleth layer.
- Layer.calculateInstancePickingColors now gets correct numInstances argument.
- Bumps luma.gl to include Linux fix.
- Move glslify to "dependencies" in package.json
- Fix bool uniform that webgl in certain environment handles it differently
- Fix issue of mercatorEnabled not working on Linux
- Fix issue where 0 opacity is interpreted as default opacity
- Fix issue with printing of layerName in debug messages crashes
- Fixed picking for the choropleth layer
- Added deckgl-overlay canvas ID and customize style support
- Fix document / add customize style support to the canvas (@contra)
- Added per point radius support for the scatterplot-layer
- Fixed primitive distortion bug for the scatterplot and hexagon-layer
- Added non-LatLng coordinate support for
- arc-layer
- choropleth-layer
- line-layer
- scatterplot-layer
- Added line-layer support
- Added per point color support for the scatterplot-layer
- Performance improvement
- Added perspective mode, 3D camera support
- Added unit tests
- Tons of refactoring and performance improvement
- Added precompile support
- Added data deep comparison support
- Added better uniform error message support
- Changed to use the new Luma.gl API
- Moved babel-related libraries from devDependence to dependency
- Changed default blending function (ZERO -> ONE_MINUS_SRC_ALPHA)
- Bug in getNumberInstances
- Retina display support
- Performance refactoring
- Switched the underlying rendering framework to luma.gl
- Fixed picking on retina/regular display
- Initial commit of the open-source version of deck.gl
- Remove 'project' module in layer model creation as it's provided by default (#787)
- Fix
HexagonCellLayercell size changes while zomming (#785) - Fix point projection in
GridCellLayer(#784)
- Fix
GridCellLayercellSize changing on zooming (#782) - Add
getSubLayerClass,getSubLayerPropsmethods toGridLayerandHexagonLayerfor easy subclassing (#783) - Add
pointRadiusScale,pointRadiusMinPixelsandpointRadiusMaxPixelsprops to GeoJsonLayer (#781) - FIX: Fix the bug in shaders of LabelLayer that rotation angle is clamped to 0 - 180 degree (#780)
- Add the project module to the default module for our new shader system (#779)
- Picking clean up (#774)
- Prevent picking when dragging (#775)
- Controllers bug fix (#777)
- Rename
settingsprop toparameters
- WEBSITE update (#768)
- FIX: polygonOffset (#770)
- Use luma.gl shader modules (#772)
- DOC: Vis suite blog posts (#773)
- NEW:
getUniformsFromViewportrefactored intoprojectshader module'sgetUniforms. - FIX: Update canvas size to match with device framebuffer size.
- WEBSITE: Links to other frameworks (#753)
- FIX: Avoid deep comparison error in compareProps when oldProp is empty (#754)
- FIX: Fix the fluctuation of the end cap for path layer 64bit (#755)
- MapController clean up (#757)
- SIZE: Remove gl-matrix (#759
- OrbitController clean up (#761)
- EXAMPLE: Fix updateState issue in TagMap: add shouldUpdateState function (#762)
- NEW: Replaced explicit calls to
assembleShaderswithModelparameters. (#764, #765, #767)
- webpack configuration cleanup
- EXAMPLES: Experimental TagMap Layer (#735, @zhan1486)
- FIX: Use external buffers for layer attributes
- SEER integration upgrades (#744)
- Import luma.gl v4.0.0-beta.1 (#752)
- FIX: Tween.js import (#730, #734)
- Example config files cleaned up (#731, #732)
- queryVisibleObjects (renamed from queryObject) (#736)
- Event Management Refactor (#738)
- SEER integration upgrades (#740)
- Graph Layer example refactor (#742)
- New luma state management API
- WEBSITE: demo renamed to website
- "Stateless" picking (#717)
- Lifecycle performance tuning (#721)
- SEER performance badges (#720, #722)
- Custom "spy" class to fix test-browser
- FIX: Using external buffers for layer attributes
- FIX: Shadercache import (#727)
- Lifecycle tuning (#708)
- Seer performance badges (#709)
- Event Manager API Audit fixes (#710)
- FIX external buffers for layer attributes (#711)
- Travis CI fixes (#713)
- Examples now on react-map-gl v3 (#714)
- Stateless picking (uses new luma.gl features) (#715)
- Custom spy for tests (#716)
- Seer fix (#706)
- EXAMPLE: PlotLayer example improvement (#689)
- FIX: Fix 64-bit PathLayer (#704)
- TEST: EventManager tests (#705)
- FIX: fix point cloud examples bug (#680)
- FIX: fix modelMatrix in meter offset mode (#678)
- NEW: Add queryObjects api to DeckGL component (#673)
- Flatten CompositeLayer.renderLayer() output (#676)
- EXAMPLES: update the PlotLayer example with axis labels (#671)
- FIX: Fix radiusMinPixels and radiusMaxPixels for METER_OFFSETS in scatterplot (#607)
- TEST: Fix the rendering test (#672)
- FIX: Use luma.gl v4.0.0-alpha.7 to resolve the texture loading issue (#665)
- FIX: EventManager error in trackpad scroll
- FIX:
mousemoveis fired twice during drag - FIX: drag events
- FIX: error when dragging outside of the canvas
- FIX: IconLayer does not rerender after texture is loaded
- FIX: Import in node
- FIX: Composite layers now pass
getPolygonOffsetprop to children - FIX:
PolygonLayerandGeoJsonLayerorder sublayers dynamically for better blending behavior
- NEW:
getPolygonOffsetprop of the base Layer class (#649) - NEW: Modularize support for raw and gestural input events (#636)
Versions 4.1.0 alpha 1, 2 and 3 have been unpublished due to a wrong tagging.
- PERFORMANCE: Optimize encodePickingColor by replacing the naive math with bit-wise operations (#631)
- FEAT: Add
pickingRadiusprop (#641) - FEAT: Seer integration and performace improvements
- PERFORMANCE: Compiled are now cached for reuse so that same shaders are not recompiled for the same type of layers (#613)
- PERFORMANCE: getViewportUniforms optimization (#586)
- BREAKING: Only composite layers have
renderLayersmethods (#585) - BREAKING: Only primitive layers'
drawmethods are called during render (#585) GridLayeraddcoverage,lowerPercentile,upperPercentileandgetColorValueto layer prop (#614)IconLayeraddgetAnglefor rotating each icon with a specific angles (in degrees) (#625)HexagonLayeradd intervalgetHexagons,getSortedCountsgetUpdateTriggersmethods, make it easier to create layer subclassHexagonLayeraddgetColorValue(optional) prop, returns a value to base bin color on.HexagonLayerchange defaulthexagonAggregatoroutput to{hexagons: [], hexagonVertices: []}HexagonLayeraddgetValuetoBinSorterto support color / elevation by value- TEST: Implement code coverage with nyc and coverall report (#596)
- HOTFIX: fix
HexagonLayerhex color calculation, usebin.valueinstead ofbin.points.countto calculate color - HOTFIX: Fix the bug that layer is finalized at every cycle due to an incorrect if check(#552)
- HOTFIX: Fix the bug that Model got regenerated every time data is changed for SolidPolygonLayer (#554)
- HOTFIX: Fix the bug that lighting is not working properly for 64-bit PolygonLayer on Intel Iris Pro GPU (#563)
- DEMO: Fix brushing layer demo (#603)
- DEMO: Fix the scrolling on iPhone (#546)
- DEMO: Reorganized the examples (#547)
- DEMO: Misc fixed form demo site (#548, #549)
- KNOWN ISSUES: the IconLayer example doesn't work if use with luma.gl v4.0.0-alpha.1
- Fix: remove postinstall script
getPickingInfo()methods receive an additional argumentsourceLayer(#468)HexagonLayeraddlowerPercentileandhigherPercentile(#470)- FIX: Fix the async loading issue #347 by not setting state of stale layers to null (#483)
- FIX: Fix the lightSettings prop transfer issue in composite layers (#484)
- FIX: Fix the attribute logger (#499)
- Demo site: Add IconLayer demo (#467, #487)
- Demo site: Refactor to make all demos available as standalone examples (#471, 477)
- Demo site: Add Hexagon layer demo (3d heatmap) (#478)
- Demo site: New data set for the GeoJsonLayer demo (#492)
- Demo site: Link directly to source code from examples (#497)
- Examples: Remove layers that are not in v4 release plan from LayerBrowser example (#475, #490)
- Examples: Add JSX wrapper example (#482)
GridCellLayerlatOffsetandlonOffset=>cellSize- Picking improvement: consistently handle picking in composite layers and also simplied picking (#448, #450)
- FIX: Fix the projectionMode checks for point cloud layer (#454)
- FIX: Make extruded and non-extruded polygon layers using the same Uint8ClampedArray to process colors
- FIX: Make radiusPixels works for PointCloudLayer (#450)
- FIX: Fix the bug that several composite layer not transferring proper props to their underlying layers (#455, #464)
- FIX: Fix a bug causes active layers got invalidated in the middle of the picking info processing (#458)
- FIX: Fix the vertice generation for extruded polygons with holes (#447)
- FIX: Now deck.gl picking works properly for non-fullscreen apps (#455)
- FIX:
onHoverandonClickprops now work onGridLayerandHexagonLayer - Picking info from
GeoJsonLayerandPolygonLayernow havelayerproperty point to the composite layer instead of a sublayer - FIX:
PointCloudLayeruseradiusPixelsinstead ofradius - Examples: Fix the hello-world examples (#461)
- Demo site: Add interactive demo for each core layers (#452)
- Demo site: Upgrade old demos to v4 (#453)
- Demo site: Various other bug fixes (#463)
- Disable implicit props forwarding between the composite layer and its underlying layers.
GeoJsonLayergetColor=>getLineColorGeoJsonLayergetWidth=>getLineWidthGeoJsonLayeraddlineWidthScaleGeoJsonLayeraddlineWidthMinPixelsGeoJsonLayeraddlineWidthMaxPixelsGeoJsonLayeraddlineJointRoundedGeoJsonLayeraddlineMiterLimitPolygonLayergetColor=>getLineColorPolygonLayergetWidth=>getLineWidthPolygonLayeraddlineWidthScalePolygonLayeraddlineWidthMinPixelsPolygonLayeraddlineWidthMaxPixelsPolygonLayeraddlineJointRoundedPolygonLayeraddlineMiterLimit- FIX:
ScatterplotLayercalls Layer.updateState() to invalidate all attributes when data changed - FIX: Fix the
ExtrudedChoroplethLayer64in deprecated layer examples - Replace all readFileSync() calls with Javascript imports for all GLSL shaders
-
FIX: Composite layers now have a stub invalidateAttribute()
-
FIX: GeoJsonLayer and PolygonLayer now transfer correct updateTriggers to its sublayers
-
FIX: Fix the picking for PolygonLayer with and without extrusions
-
FIX: update the data file and default values for GeoJsonLayer example so that it correctly shows all geometry features
-
FIX:
GeoJsonLayernow wireframe prop only affects extruded layer and stroked only affects non-extruded layer -
FIX: super.updateState() now get called appropriately so that data change can correctly popylate to GPUs
-
Re-factored GeoJsonLayer and PolygonLayer to separate polygon wireframe and polygon outline
-
Removed loader for glsl and use exported Javascript string to store all GLSL shaders
-
PointDensityGridLayer=>GridLayer -
PointDensityHexagonLayer=>HexagonLayer -
GridLayer=>GridCellLayer -
HexagonLayer=>HexagonCellLayer -
PolygonLayer=>SolidPolygonLayer -
PolygonLayeris now a new composite layer that could render solid polygons as well as polygon outlines -
GridLayerandHexagonLayerto use new quantizedScale utility function -
GeoJsonLayerremovedrawPoints,drawLines,drawPolygon,fillPolygon -
GeoJsonLayeraddstroked,filled,extruded,wireframe -
GeoJsonLayergetPointSize=>getRadius -
GeoJsonLayergetStrokeWidth=>getWidth -
GeoJsonLayergetStrokerColor=>getColor -
GeoJsonLayerremovegetPointColor, usegetFillColorinstead -
PathLayerstrokeWidthScale=>widthScale -
PathLayerstrokeWidthMinPixels=>widthMinPixels -
PathLayerstrokeWidthMaxPixels=>widthMaxPixels -
PathLayergetStrokeWidth=>getWidth -
ScatterplotLayerchange the defaultradiusScaleto 1 -
ScreenGridLayerchangeunitWidthandunitHeighttocellSizePixels -
Update tests to reflect the new layer names and props
- NEW: add
viewportSize,devicePixelRatioandmodelViewMatrixto default uniforms
- FIX: Make luma.gl peer dependency more flexible
- Dependencies: Bump to react-map-gl@2, remove viewport-mercator-project & lodash.flatten
- 64 bit layers additions and fixes
- IconLayer aspect ratio
- New sample layers
- Add PointCloudLayer
- FIX:
onHoverandonClickare no longer called on layers that are not affected - BREAKING:
layer.pick()is renamed tolayer.getPickingInfo(), must return info object
- Bumps luma.gl with some hotfixes
- Remove unfinished example
- Doc improvements (upgrade guide)
- NEW: PointDensityGridLayer
API AUDIT CHANGES:
-
GeoJsonLayergetHeight=>getElevation -
GeoJsonLayerDocs: Clarified that elevation is always inmetersfor cartographic projection modes -
PolygonLayergetHeight=>getElevation -
PolygonLayerDocs: Clarified that elevation is always inmetersfor cartographic projection modes -
PolygonLayerDocs: documented missing props -
PolygonLayerDocs: MarkedlightSettingsas experimental -
PathLayergetWidth=>getStrokeWidth -
PathLayerstrokeWidth=>strokeWidthScale -
PathLayerstrokeMinPixels=>strokeWidthMinPixels -
PathLayerstrokeMaxPixels=>strokeWidthMaxPixels -
HexagonLayerDocs: MarkedlightSettingsas experimental -
HexagonLayerDocs: MarkedselectedPickingColoras experimental -
GridLayerDocs: MarkedlightSettingsas experimental -
Cleanup: More layers now only imports the
getutility function instead of the fullContainerobject from utils - this provides most of the benefits with smaller impact on the code.
DOCS
- Moved docs into 4.0 subfolder to support publishing multiple doc versions from a single tree.
- NEW: Main example now provides UI to modify layer props
- NEW: Main example now has GeoJson test file with all GeoJson geometry types.
- NEW: GridLayer
- FIX: GeoJson points now render correctly
- FIX: Mutation issue in defaultProps
- Demo now installs and builds stand-alone
- Picking improvements - order of function calls changed to enable layer overrides
- PathLayer: new props
- PathLayer: geometry generation performance.
- Webpack config improvements to enable tree-shaking
CHANGE: Revert to babel compilation to expose the dist file tree rather than a bundle
FIX: GeoJson path layer FIX: defaultProps handling
NEW: GeoJsonLayer cleanup NEW: HexagonLayer
FIX: Broken dist export
NEW: GeoJsonLayer, PathLayer NEW: PolygonLayer with flat, extrusion and wireframe (5x faster than Choropleth) NEW: Support immutable geojson data in choropleth layers NEW: Add benchmarks for node and browser.js (#299) NEW: Lighting supported on polygon layer. New lighting shader module. FIX: FP64 math function improvement, bug fixes and speed FIX: Set Viewport project/unproject default to screen coordinates
- Main example refactored
- Shader tests as webpack
- 64bit layers as subclasses of 32 bit layers
- Choropleth Layers now in deprecated folder
- Remove lodash.flattendeep and geojson-normalize module dependencies
FIX: Loosen luma.gl peer dependency
FIX: Additional model matrix cleanup and streamlining
FIX: Model matrix cleanup
- FIX: Re-export of beta6 with fixed config.
- FIX: Fix to model matrix in meter offsets mode (now handles rotations in addition to translations)
- BREAKING:
reactandexperimentalentry points no longer supported (after webpack transition). - CHANGE: Now packaged using Webpack 2 - exposed as a single bundle rather than a directory of files.
- UPDATE: Simplification and cleanup of main example.
- FIX: Disable viewport comparison (temporarily) as it broke
METERSmode. - CHANGE: Remove react-autobind dependency (deck.gl/react now includes a minimal
autobindimplementation). - NEW: Additional examples included, including (WIP) google maps.
- FIX: Restore
COORDINATE_SYSTEMexport
- CHANGE: Move shaderlib into src, remove unneeded scripts
- FIX: modelMatrix now applied correctly in both drawing and picking
- NEW: Main example now has slider to separate layers
- NEW: Support for per-layer model matrices (layer.modelMatrix props)
- NEW: Support for non-mercator Viewports
The
DeckGLReact component now takes a genericViewportprop that can be created with arbitraryviewandprojectionmatrices. If not supplied, it attempts to create a viewport from supplied mercator parameters, which corresponds to behavior before the change. - NEW:
LayerManager.setViewportreplacesLayerManager.setContextInternal changes: WebGLViewportnow a wrapper around a suppliedViewportrather than a subclass.
- Support layerIndex uniform to solve z-fighting
- gl_FragDepth extension to fix Voronoi Layer (#186)
- Remove Scatterplot64(Meters) Layer for now (#188)
- FIX: Made Viewport.getUniforms() overridable and more debuggable
- FIX: METERS mode high precision z coordinate restored
- FIX: METERS mode high precision restored
- REMOVED unfinished GeoJson layer
- FIX: gl.viewport only called when view size changes
- FIX: Uniforms arg on Layer.draw()
- FIX to ChoroplethLayer64 colors
- FIX: METERS MODE
- Viewport now imported from viewport-mercator-project
- Dependency cleanup - several no longer needed dependencies removed
- Doc now serves locally from relative directories
- BREAKING: Removed pickInfo life cycle method - can be handled by pick
- FEATURE: Add
onLayerClickandonLayerHovermethods to deck.gl wrapper. - FIX: Restore multilayer picking. Fixes #136.
- PERF: Enable Uint8Array color attributes
- Layer.instancePickingColors and Scatterplot.instanceColors now Uint8Arrays
- FIX: Scatterplot lineWidth warning
- FIX: context.viewport = null in draw
- FIX: opacity prop.
- FEATURE: Enables prop diff tracing (deck.log.priority = 1)
- PERF: Defeat spurious redraws
- FIX: compareProps and updateTriggers fixes
- PERF: reduce unnecessary updates
- Doc updates
- FIX: ArcLayer flickering last segments
- FIX: Scatterplot Layer exception
- FIX: Layer lifecycle - initialization/update of sublayers
- Doc update of Layers
- BREAKING CHANGE: Picking API final version. Fixes #115. Fixes #116.
- FIX: Ignore null layers
- FIX: Warns once instead of throws on deprecated props.
- FIX: Pinned babel-plugin-glslify version to avoid broken release
- Remove broken layers (HexagonLayer and PointCloudLayer).
- npm publish failed, no dist
- FEATURE: line width now takes device pixel ratio into account
- FEATURE: New life cycle methods, old methods deprecated
- FIX: Fix for context.viewport initialization order
- FIX:
DeckGLcomponent now cancels animation loop on unmount. - BREAKING: Removed
blendingprop from react components - FIX: ScreenGridLayer
- FEATURE: ScreenGridLayer now have accessors (getPosition, getWeight) and custom color ramps (minColor, maxColor)
- FEATURE: Adds drawOutline option to ScatterplotLayer.
- FIX: update context.viewport issue #128
- BREAKING: deepCompare prop changed to dataComparator. lodash.isequal dependency removed.
- FIX: Picking in most layers
- FIX: Initialization of sublayers
- Exports more symbols from lib
- 64 bit ExtrudedChoroplethLayer
- 64 bit layers in place
- GLSL library alignement 64 bit projections
- FEATURE:
Layer.picklifecycle method - Let's layers take control of picking - FEATURE: Support for Composite Layers
- FEATURE: new GeoJsonLayer - Initial composite layer, only Polygons for now.
- BREAKING: Introducing
contextthat is shared between layers. gl and viewport moved from state to context. This implies that apps no longer need to pass {lng,lat,zoom,pitch,bearing} to each layer, only to theDeckGLreact component. - BREAKING: GridLayer renamed to ScreenGridLayer
- BREAKING: All layers now use
assembleShaders - BREAKING: GLSL
projectpackage - shader functions renamed to haveprojectprefix, in line with conventions for new shader package system. - MISC: Documentation updates.
- MISC: WebGLRenderer/DeckGl react component cleanup, removed unusued methods.
- FIX: Perspective projection matrix "far plane" now covers negative Z coords
- FEATURE: Improved precision trigonometry library for Intel GPUs
- FEATURE: ChoroplethLayer64
- FEATURE: Experimental "Cone Based" VoronoiLayer
- CHANGE: shaderAssembler system reorganization
- FIX: Now takes layer props into account when generating projection uniforms
- DOCUMENTATION: Article updates
- FIX: Fix broken shader export in beta19
- BREAKING - New GLSL projection methods and assembleShader function. All layers updated.
- FIX - ArcLayer64 flickering fixed by high precision workaround.
- BREAKING: No longer use Camera/Scene to render. Enabler for issue #5.
- BREAKING: Sample layers now available through `import 'deck.gl/samples';
- FEATURE: FP64 layers now exported by default import 'deck.gl'
- BREAKING: DeckGLOverlay renamed to DeckGL:
import DeckGL from 'deck.gl'; - FIX: GridLayer
- FEATURE: ChoroplethLayer now renders MultiPolygons and Polygons with holes
- FEATURE: New GLSL library: 64bit emulated floating point
- FEATURE: New layer: ScatterplotLayer64: Sample 64-bit, high precision layer
- FEATUREY: ArcLayer can now specify separate start end end color for each arc.
- FIX: Add high precision version of
tanas Intel GPU workaround. - INTERNAL: eslint now uses stronger rules. Fix new eslint warnings.
- Breaking change - rename
disableMercatorProjectprop tomercatorEnabled - Add experimental layers folder
- Add separate import files for experimental layers and viewport import {PointCloudLayer, ...} from 'deck.gl/experimental' import Viewport from 'deck.gl/viewport'
- Add test cases for top-level exports
- Code reorganization
- Revert to 2-series luma.gl (no longer need beta release)
- Viewport improvements
- Breaking Change: Standardize parameters in layers to always expect arrays.
- Remove separate attribute updater definitions to simplify layer subclass creation