All notable changes to deck.gl will be documented in this file.
For Earlier Beta Releases see below
- Attribute Transition bug fix (#1996)
- Upgrade to luma.gl 6.0.0-beta.1 (#1990)
- Replace ScreenGridLayer with GPUScreenGridLayer (#1988)
- More Flexible Controller API (#1984)
- Restore prop override for regular React children (#1983)
- Add enter parameter for transitions (#1982)
- ScreenGridLayer: Fix cell margin bug (#1977)
- Fix attribute transition (#1975)
- Fix aggregation in OrthoGraphicView (#1973)
- Implement React API RFC (#1971)
- Add padArray util for attribute transition (#1966)
- Remove viewports (#1965)
- Add needs64bitPositions() to Layer (#1963)
- Update deck.js _pickAndCallback to discard invalid events (#1962)
- Add Contour Layer (#1958)
- Adding Marching-Squares utility methods (#1957)
- GridLayer: re-project points on prop change (#1953)
- Implement RFC: Improved 32-bit LNGLAT projection mode (#1951)
- GPUScreenGridLayer: Provide aggregated data as picking information (#1950)
- Initial layer prop type generator (#1943)
- Fix path-marker-layer property passing (#1939)
- GPUScreenGridLayer: Add colorRange and colorDomain support (#1932)
- Deprecate ViewportController and onViewportChange (#1930)
- Per-view controller (#1929)
- Upgrade to luma v6 (#1928)
- Move ViewManager out of LayerManager (#1926)
- Add experimental GPUGridLayer (#1925)
- GeoJsonLayer picking returns real feature (#1924)
- Add world-space aggregation support to GPUAggregator (#1923)
- Expose more internals (as experimental exports) (#1921)
- 6.0.0-alpha.0 (Bump luma version to 6.0.0-apha.1)
- Bench fixes (#1915)
- Remove commented functions from layers (#1910)
- Data filter RFC (#1892)
- Add transition prop forwarding for composite layers; docs (#1900)
- Viewport transition example (#1909)
- attribute manager cleanup (#1901)
- Disable failing rendertests for Intel GPU (#1903)
- Add node 10 to travis (#1898)
- Update params per frame (#1897)
- Fix DeckGL 5.3 doesn't fire onHover event for last frame (#1882) (#1895)
- Update RFC catalog (#1891)
- Remove index.html from examples (#1890)
- Fix mapbox wrapper error when use viewState (#1885)
- Scripting Gallery (#1879)
- Make sure website examples start locally (#1884)
- Update issue_template.md
- Some example fixes (#1878)
- Add Deck.parameters prop to enable declarative setting of initial GL params (#1832)
- View Manager cleanup (#1864)
- use baseline:hanging if advanced text metrics is not supported (#1753)
- Smaller viewState related fixes (#1750)
- Picking overlapping objects RFC implementation (#1730)
- Update example links in README.md (#1744)
- Update picking RFC (#1747)
- Fix standalone bundle inline version (#1746)
- handle right button pan in MapControls (#1745)
- update lite module dependency
- Embedded layer demo fixes (#1741)
- Test cleanup (#1739)
- Update showcases links (#1738)
- Make DeckGL doc refer to Deck docs (#1737)
- More website link fixes (#1736)
- Fix outdated source links (#1735)
- 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
View
andDeck
classes 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
Attribute
class 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
, moveoldProps
to 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-types
module 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
Transform
API (#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.warn
usage (#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 [email protected] (#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
layerFilter
prop (#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 holes
example (#1061)- The
polygon
property 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
setInterval
withrequestAnimationFrame
- Always use the transition settings from when the transition is triggered ( removes the burden from app: set and forget)
- Use
onViewportChange
for 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-layers
module (#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
parameters
forwarding - FIX: S2Layer prop forwarding
- FIX: GridLayer crash: max call stack size
- NEW: Add
devicePixelRatio
prop - 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
lib
folder. - Add
start-es6
script 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
parameters
forwarding - FIX: S2Layer prop forwarding
- FIX: GridLayer crash: max call stack size
- NEW: Add
devicePixelRatio
prop - 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
HexagonCellLayer
cell size changes while zomming (#785) - Fix point projection in
GridCellLayer
(#784)
- Fix
GridCellLayer
cellSize changing on zooming (#782) - Add
getSubLayerClass
,getSubLayerProps
methods toGridLayer
andHexagonLayer
for easy subclassing (#783) - Add
pointRadiusScale
,pointRadiusMinPixels
andpointRadiusMaxPixels
props 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
settings
prop toparameters
- WEBSITE update (#768)
- FIX: polygonOffset (#770)
- Use luma.gl shader modules (#772)
- DOC: Vis suite blog posts (#773)
- NEW:
getUniformsFromViewport
refactored intoproject
shader 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
assembleShaders
withModel
parameters. (#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:
mousemove
is 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
getPolygonOffset
prop to children - FIX:
PolygonLayer
andGeoJsonLayer
order sublayers dynamically for better blending behavior
- NEW:
getPolygonOffset
prop 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
pickingRadius
prop (#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
renderLayers
methods (#585) - BREAKING: Only primitive layers'
draw
methods are called during render (#585) GridLayer
addcoverage
,lowerPercentile
,upperPercentile
andgetColorValue
to layer prop (#614)IconLayer
addgetAngle
for rotating each icon with a specific angles (in degrees) (#625)HexagonLayer
add intervalgetHexagons
,getSortedCounts
getUpdateTriggers
methods, make it easier to create layer subclassHexagonLayer
addgetColorValue
(optional) prop, returns a value to base bin color on.HexagonLayer
change defaulthexagonAggregator
output to{hexagons: [], hexagonVertices: []}
HexagonLayer
addgetValue
toBinSorter
to support color / elevation by value- TEST: Implement code coverage with nyc and coverall report (#596)
- HOTFIX: fix
HexagonLayer
hex color calculation, usebin.value
instead ofbin.points.count
to 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)HexagonLayer
addlowerPercentile
andhigherPercentile
(#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)
GridCellLayer
latOffset
andlonOffset
=>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:
onHover
andonClick
props now work onGridLayer
andHexagonLayer
- Picking info from
GeoJsonLayer
andPolygonLayer
now havelayer
property point to the composite layer instead of a sublayer - FIX:
PointCloudLayer
useradiusPixels
instead 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.
GeoJsonLayer
getColor
=>getLineColor
GeoJsonLayer
getWidth
=>getLineWidth
GeoJsonLayer
addlineWidthScale
GeoJsonLayer
addlineWidthMinPixels
GeoJsonLayer
addlineWidthMaxPixels
GeoJsonLayer
addlineJointRounded
GeoJsonLayer
addlineMiterLimit
PolygonLayer
getColor
=>getLineColor
PolygonLayer
getWidth
=>getLineWidth
PolygonLayer
addlineWidthScale
PolygonLayer
addlineWidthMinPixels
PolygonLayer
addlineWidthMaxPixels
PolygonLayer
addlineJointRounded
PolygonLayer
addlineMiterLimit
- FIX:
ScatterplotLayer
calls Layer.updateState() to invalidate all attributes when data changed - FIX: Fix the
ExtrudedChoroplethLayer64
in 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:
GeoJsonLayer
now 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
-
PolygonLayer
is now a new composite layer that could render solid polygons as well as polygon outlines -
GridLayer
andHexagonLayer
to use new quantizedScale utility function -
GeoJsonLayer
removedrawPoints
,drawLines
,drawPolygon
,fillPolygon
-
GeoJsonLayer
addstroked
,filled
,extruded
,wireframe
-
GeoJsonLayer
getPointSize
=>getRadius
-
GeoJsonLayer
getStrokeWidth
=>getWidth
-
GeoJsonLayer
getStrokerColor
=>getColor
-
GeoJsonLayer
removegetPointColor
, usegetFillColor
instead -
PathLayer
strokeWidthScale
=>widthScale
-
PathLayer
strokeWidthMinPixels
=>widthMinPixels
-
PathLayer
strokeWidthMaxPixels
=>widthMaxPixels
-
PathLayer
getStrokeWidth
=>getWidth
-
ScatterplotLayer
change the defaultradiusScale
to 1 -
ScreenGridLayer
changeunitWidth
andunitHeight
tocellSizePixels
-
Update tests to reflect the new layer names and props
- NEW: add
viewportSize
,devicePixelRatio
andmodelViewMatrix
to 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:
onHover
andonClick
are 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:
-
GeoJsonLayer
getHeight
=>getElevation
-
GeoJsonLayer
Docs: Clarified that elevation is always inmeters
for cartographic projection modes -
PolygonLayer
getHeight
=>getElevation
-
PolygonLayer
Docs: Clarified that elevation is always inmeters
for cartographic projection modes -
PolygonLayer
Docs: documented missing props -
PolygonLayer
Docs: MarkedlightSettings
as experimental -
PathLayer
getWidth
=>getStrokeWidth
-
PathLayer
strokeWidth
=>strokeWidthScale
-
PathLayer
strokeMinPixels
=>strokeWidthMinPixels
-
PathLayer
strokeMaxPixels
=>strokeWidthMaxPixels
-
HexagonLayer
Docs: MarkedlightSettings
as experimental -
HexagonLayer
Docs: MarkedselectedPickingColor
as experimental -
GridLayer
Docs: MarkedlightSettings
as experimental -
Cleanup: More layers now only imports the
get
utility function instead of the fullContainer
object 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:
react
andexperimental
entry 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
METERS
mode. - CHANGE: Remove react-autobind dependency (deck.gl/react now includes a minimal
autobind
implementation). - NEW: Additional examples included, including (WIP) google maps.
- FIX: Restore
COORDINATE_SYSTEM
export
- 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
DeckGL
React component now takes a genericViewport
prop that can be created with arbitraryview
andprojection
matrices. If not supplied, it attempts to create a viewport from supplied mercator parameters, which corresponds to behavior before the change. - NEW:
LayerManager.setViewport
replacesLayerManager.setContext
Internal changes: WebGLViewport
now a wrapper around a suppliedViewport
rather 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
onLayerClick
andonLayerHover
methods 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:
DeckGL
component now cancels animation loop on unmount. - BREAKING: Removed
blending
prop 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.pick
lifecycle 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
context
that 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 theDeckGL
react component. - BREAKING: GridLayer renamed to ScreenGridLayer
- BREAKING: All layers now use
assembleShaders
- BREAKING: GLSL
project
package - shader functions renamed to haveproject
prefix, 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
tan
as Intel GPU workaround. - INTERNAL: eslint now uses stronger rules. Fix new eslint warnings.
- Breaking change - rename
disableMercatorProject
prop 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