Repository navigation
Releases
Releases · visgl/deck.gl
v10.0.0-alpha.1
- chore(core): upgrade math.gl and loaders.gl to beta.8 and luma.gl to alpha.14 (#11097)
- refactor(core): isolate Arrow converter and schema source files (#11093)
- feat(core): prepare Arrow table inputs for column resolution (#11092)
- refactor(layers): share ScatterplotLayer column definitions (#11091)
- refactor(core): add runtime-free Arrow schema helpers (#11090)
- chore(core): upgrade luma.gl to alpha.13 and math.gl/loaders.gl to beta.7 (#11088)
- refactor(core): separate column selection from preparation (#11071)
- fix(core): rebind an attribute when its transition is removed (#11068)
- feat(aggregation-layers): add async GPU readback adapter for CPU aggregators (#11077)
- chore(core): upgrade luma.gl to alpha.12 and math.gl/loaders.gl to beta.6 (#11080)
- feat(aggregation-layers): add WebGPU HexagonLayer aggregation with explicit domains (#11062)
- fix(core): use top-left viewport origin on WebGPU (#11018)
- feat(extensions): port MaskExtension to WebGPU (#11027)
- fix(geo-layers): preserve signed DGGS cell identifiers (#11073)
- feat(aggregation-layers): complete ScreenGridLayer and GridLayer WebGPU rendering (#11063)
- feat(aggregation-layers): accept borrowed GPUVector inputs in HeatmapLayer (#11061)
- refactor(core): share Arrow schema compatibility checks (#11070)
- chore(core): upgrade luma.gl to alpha.11 and math.gl/loaders.gl to beta.5 (#11072)
- fix(core): reject non-finite custom projection inverses (#10835)
- feat(layers): adaptively subdivide bitmap UVs with math.gl (#10836)
- feat(layers): refine paths and polygons with math.gl (#10837)
- feat(aggregation-layers): add shared compute reduction and WebGPU GridLayer aggregation (#11053)
- fix(core): orient GlobeView meter offsets east, north and up (#10914)
- fix(mapbox,maplibre): blend MapLibre globe terrain targets between zoom 11 and 12 (#10825)
- feat(mesh-layers): accept Arrow and GPUVector columns in ScenegraphLayer (#11059)
- feat(geo-layers): accept shared Arrow DGGS cell columns (#11055)
- feat(aggregation-layers): add WebGPU ScreenGrid aggregation (#11052)
- feat(aggregation-layers): return GPUVectors from WebGLAggregator (#11045)
- feat(aggregation-layers): accept custom aggregator instances and GPUVectors (#11044)
- feat(geo-layers): expose shared Tileset2D adapters and per-view tile traversal (#10367)
- refactor(extensions): pass PathStyle injections directly to plugins (#11049)
- refactor(core,layers): share PathLayer stroke shaders and uniforms (#11048)
- feat(layers): add Arrow columns to LineLayer and PointCloudLayer (#11029)
- feat(layers): add Arrow columns to IconLayer (#11043)
- feat(mesh-layers): add Arrow columns to SimpleMeshLayer (#11046)
- feat(layers): accept Arrow columns in ColumnLayer (#11032)
- feat(extensions): support countItems on WebGPU DataFilter (#11035)
- feat(extensions): port Fp64Extension to WebGPU (#11033)
- feat(layers): accept Arrow columns in ScatterplotLayer and ArcLayer (#10920)
- feat(extensions): port CollisionFilterExtension to WebGPU (#11026)
- refactor(layers): extract shared Arrow column support (#11028)
- feat(extensions): port DataFilterExtension to WebGPU (#10990)
- feat(extensions): port PathStyleExtension dashes and offsets to WebGPU (#11025)
- feat(extensions): port FillStyleExtension patterns to WebGPU (#11024)
- feat(extensions): support WebGPU brushing with ShaderPlugins (#10988)
- feat(extensions): support WebGPU clipping with ShaderPlugins (#10989)
- feat(core,layers): add shared shader injection targets for WebGPU extensions (#10996)
- refactor(core): upgrade luma.gl to alpha.10 and reuse upstream model support (#11023)
- refactor(core,extensions): migrate shader hooks and plugins to luma.gl alpha.9 (#11022)
- fix(extensions): support MaskExtension in GlobeView (#10654)
- chore(core): upgrade luma.gl to alpha.8 and math.gl/loaders.gl to beta.4 (#11000)
- refactor(core): adopt luma.gl alpha.7 and upstream GPU helpers (#10991)
- refactor(extensions): separate attribute preparation from lifecycle (#10986)
- fix(geo-layers): restore required GeoTIFF dependency (#10984)
- feat(aggregation-layers): use GPUVector attributes for heatmap triangles (#10967)
- feat(core): expose optional Arrow converter (#10957)
- refactor(core): adopt luma.gl alpha.6 and loaders.gl/math.gl beta.1 (#10970)
- feat(aggregation-layers): use GPUVector attributes for screen-grid cells (#10958)
- feat(layers,mesh-layers,geo-layers): use typed GPU attributes in bitmap and mesh models (#10911)
- feat(layers): use typed GPU attributes in paths and polygons (#10910)
- feat(layers): use typed GPU attributes in column models (#10908)
- feat(layers): use typed GPU attributes in standard layers (#10907)
- chore(geo-layers): upgrade a5-js to v1 (#10912)
- feat(core): support PROJJSON in the coordinateSystem prop (#10894)
- feat(layers): use typed GPU attributes in ScatterplotLayer (#10882)
- feat(core): support arbitrary coordinate reference systems in layers (#10874)
- feat(core): use math.gl projectionEngine in viewport classes (#10872)
- feat(core): asynchronous view resolution (#10865)
- fix(core): apply GlobeView position as east/north/up meter offsets (#10791)
- feat(core): apply local meter scales in custom projections (#10745)
- chore(core): upgrade luma.gl to alpha.4, math.gl to alpha.15 and loaders.gl to alpha.11 (#10824)
- feat(aggregation-layers): aggregate custom projections in common space (#10743)
- feat(layers): support custom projections in position-based layers (#10742)
- feat(core): add experimental CustomProjectionView (#10741)
- feat(core): add position preprojection support (#10740)
- chore(core): upgrade luma.gl, math.gl and loaders.gl prereleases (#10801)
- refactor(core): adopt luma.gl 10 and math.gl/loaders.gl 5 prereleases (#10752)
v9.3.12
- fix(core): eliminate 300ms click delay and fix runtime controller prop changes (#10422)
- fix(heatmap): compilation failure on Qualcomm Adreno 660 (#10301)
- fix(core): make attribute buffer cleanup idempotent (#10609)
- fix(core): compare viewport projection state in equals (#10611)
- fix(arcgis): import MapView from the public @deck.gl/core entry (#10788)
- fix(mapbox): guard getProjection against throw when map style is not ready (#10551)
- fix(google-maps): wait for shared context in interleaved mode (#10792)
v9.4.1
- fix(core): honor Deck GPU debug option during device initialization (#10782)
- fix(core): fit the shadow map to the visible frustum at high pitch (#10893)
- fix(core): release shadow resources when LightingEffect turns shadows off (#10891)
- fix(core): draw the shadow map without per-layer polygon offset (#10892)
- fix(core): disable lighting in ShadowPass (#10890)
- fix(core): let GlobeController zoom past level 12 (#10737)
- fix(maplibre,mapbox): remove the overlaid container when the overlay is removed (#10899)
- feat(jupyter-widget): ES module libraries import deck.gl by package name (experimental) (#10794)
- fix(google-maps): wait for shared context in interleaved mode (#10792)
- fix(core): scale cartesian z at the viewport latitude below zoom 12 (#10790)
- fix(carto): render PointLabelLayer backgrounds (#10533)
- fix(geo-layers): normalize legacy numeric coordinateSystem in Tile3DLayer (#10538)
- fix(mapbox): guard getProjection against throw when map style is not ready (#10551)
- fix(mapbox): synchronize camera before onLoad callback (#10735)
- fix(arcgis): import MapView from the public @deck.gl/core entry (#10788)
- fix(layers): remove WebGPU custom packing in SolidPolygonLayer (#10803)
- fix(jupyter-widget): defer updated layers until custom libraries load (#10787)
- fix(jupyter-widget): MapLibre overlay setProps no longer recurses (#10768)
- feat(jupyter-widget): load ES module custom libraries (#10665)
- fix(jupyter-widget): render layers with extensions from unloaded custom libraries (#10764)
- fix(maplibre): ship a CJS build, like every other @deck.gl/* package (#10692)
- fix(maplibre): keep picking in sync with the terrain elevation (#10756)
- fix(react): align widget root with the DeckGL canvas (#10724)
- fix(core): resolve transition edge cases (#10738)
- refactor(extensions): order PathStyle shader coordinates (#10644)
- fix(core): disable a controller with no view state instead of throwing (#10731)
- Revert "fix(core): rotate GlobeView like a ball through poles (#10598)" (#10713)
- feat: flat common-space helpers for non-flat projections (#10657)
- fix(maplibre): sync camera changes made during Deck initialization (#10702)
- chore: bump luma.gl to 9.4.2 (#10726)
v9.4.0
deck.gl v9.4 brings together a collection of completed improvements focused on performance, stability, and usability. Highlights include:
- All layers go WebGPU: entire official layers catalog has been ported to WebGPU and achieves render parity with the WebGL version.
- Natural controllers interaction: globe now supports pitch and bearing; trackpad gestures; and elastic navigation bounds makes complex 2D and 3D scenes easier to explore.
- Responsive multi-view and multi-canvas layouts: make responsive dashboards and multi-view visualizations with ease.
- Layers, extensions and widgets improvements: Sophisticated antialiasing, pattern fills, dashed-line styling, and tile loading features add stunning visuals.
Visit what's new for a detailed lists of new features.
v9.4.0-beta.4
v9.4.0-beta.3
- feat(extensions): procedural fill patterns (#10632)
- fix(extensions): reduce pattern origin in fp64 to stop drift at high zoom (#10633)
- feat(extensions): fillPatternSizeUnits (#10634)
- fix(extensions): follow up FillStyleExtension flipY fix (#10629)
- fix(fill-style): textureGrad for better mip selection (#10628)
- feat(extensions): add dashUnits (#10583)
- feat(extensions): add dashMode and whole-path justification (#10582)
- fix(fill-style): correct pattern orientation by flipping texture y-axis (#10550)
- feat: FillStyleExtension.getFillPatternBackgroundColor (#10618)
- chore(deps): bump a5-js from 0.7.2 to 0.10.0 (#10620)
- feat(extensions): prefilter dash coverage (#10581)
- fix(extensions): align billboard, 3D, justified, and offset dashes (#10580)
- fix(extensions): make PathStyle options optional (#10616)
- CARTO: Remove dead code (moved to api-client) (#10617)
- fix(core): rotate GlobeView like a ball through poles (#10598)
- feat(core): support pointer-anchored zoom in GlobeView (#10385)
- fix(core): compare viewport projection state in equals (#10611)
- fix(extensions): omit dash uniforms for offset-only path styles (#10607)
- fix(core): make attribute buffer cleanup idempotent (#10609)
- feat(core): configure zoom anchors across controllers (#10595)
v9.4.0-beta.2
Intentionally skipped; no npm distribution was published.
v9.4.0-beta.1
- feat(widgets): custom tooltip system for widget buttons (#10435)
- feat(widgets): Replace custom SVG icons with Google Material Symbols (#10513)
- fix(layers): type column geometry attributes (#10508)
- fix(mapbox): ignore useDevicePixels in interleaved mode (#10510)
- feat(aggregation-layers): port GridLayer to WebGPU (#10482)
- feat(geo-layers): port TripsLayer to WebGPU (#10484)
- feat(layers): port TextLayer glyph rendering to WebGPU (#10473)
- fix(react): stabilize WebGPU device switching (#10506)
- feat(mesh-layers): port SimpleMeshLayer to WebGPU (#10485)
- feat(core): bump luma.gl to latest (#10521)
- chore: upgrade luma.gl (#10525)
- feat(core): interleave attribute buffer group on GPU (#10518)
- feat: add webgl-only endpoints (#10504)
- chore(widgets): Add PostCSS build pipeline for icon management (#10514)
- fix(mapbox,google-maps): use css-dpr pixel sizing in overlaid mode to prevent basemap misalignment (#10370)
- feat(core): override size zoom in OrthographicView (#10532)
- fix(layers): ColumnLayer flat mode in webgpu (#10535)
- fix(core): render repeated map viewports correctly with WebGPU (#10536)
- feat(core): Controller rubberBand option (#10481)
- fix(core): OrthographicViewport distance scale (#10540)
- fix(core): use correct stat for updateLayersCount metric (#10469)
- feat(core): add maxBoundsPadding to controller options (#10541)
- feat(widgets): support contentBoundsPadding in ScrollbarWidget (#10542)
- fix(mesh-layers): SimpleMeshLayer matrix constant (#10543)
- fix(layers): restore SDF text outlines (#10545)
- fix(core): clipspace depth in wgsl (#10544)
- fix(layers): derivative-based normal calculation (#10547)
- Add @deck.gl/maplibre for MapLibre GL JS v4/5/6 (#10566)
- fix(layers): Remove unused struct definitions (#10568)
- feat(core): Handle webgpu constant attributes efficiently (#10567)
- feat(layers): port TextBackgroundLayer to WebGPU (#10569)
- fix(core): Fp32 array provided to a 64-bit attribute (#10570)
- feat(mesh-layers): ScenegraphLayer to WebGPU (#10476)
- feat(layers): add PathLayer analytic antialiasing (#10520)
- feat(layers): add LineLayer analytic antialiasing (#10558)
- feat(layers): add ArcLayer analytic antialiasing (#10559)
- feat(layers): add PointCloudLayer analytic antialiasing (#10560)
- feat(layers): forward path antialiasing through composite layers (#10561)
- feat(core): Upgrade luma.gl (#10577)
- feat(core): MapController rubberBand option (#10572)
- chore(deps): bump luma and mjolnir (#10594)
- feat(geo-layers): support Tile3DLayer on WebGPU (#10600)
- feat(geo-layers): support MVTLayer on WebGPU (#10601)
- feat(core): Extend View system to support multi-canvas rendering (#10229)