- Fix: getLocationIdsInViewport didn't use location id accessor
- Publishing first release
- Upgraded kdbush to the new version with more efficient typed arrays storage
- Added "type": "module" to published packages
- Fix StackBlitz example
- Added locationsEnabled setting: location circles won't be rendered at all when set to false
- Fixed issue clustering with multiple same-coords locations
- Better treatment of duplicate locations
- Upgraded deps
- Replacing CRA with vite for examples
- Avoid unnecessary calls to getLayerData
- Upgraded deps
- Exposing getAggregateAccessors in FlowmapSelectors
- Exposing in LocalFlowmapDataProvider: getClusterZoom, getClusterIndex, getLocationsById, getLocationTotals, getFlowsForFlowmapLayer
- filterState and some of its props made optional
- Renamed settingsState -> settings, filterState -> filter
- Clustering will skip levels with same number of clusters and treat th…
- Extract addClusterNames
- Exposing selectors from LocalFlowmapDataProvider
- Adding missing updateLayersData to WorkerFlowmapDataProvider
- Adding locationLabelsEnabled prop (experimental)
- Fixed drawing issue in AnimatedFlowLineLayer when zooming beyond 12
- Location id type can be number or string
- Added clusterLevels to FlowmapData to enable custom clustering methods
- Added h3 clustering method to react-app example
- Fixed stale dataProvider in updateState issue
- Clustering will skip levels with same number of clusters and treat the case when multiple locations share the same coords
- Renamed settingsState -> settings, filterState -> filter
- FlowmapState.filter state made optional
- Introduced dataProvider.updateLayersData to give the data provider control over when/how often layersData is updated which leads to the flowmap being redrawn.
- Fixed: opacity didn't apply to arrow outline
- Removed ES5 build
- Removed workers package, moved the code to react-worker-app example
- Fixed arrow drawing issue (one of the triangles was being drawn twice)
- Fixed circle outline opacity issue
- Added ES5 build
- Relaxed D3 dependency versions (so that older pre-ESM versions of D3 still work)
- FlowmapLayer accepts locations and flows as Iterables
- Hover info object changed
- Hover info will include picked prop
- Added getPickingInfo to FlowmapLayer for onHover set on DeckGL component to work
- getLocationCentroid -> getLocationLat/Lon
colorScheme
prop can now be an array of colorshighlightColor
prop can now be an RGBA color
- Enforcing antialiasing for location circle highlight
- Removed dependency on @mapbox/geo-viewport
- Added Svelte example
- Added WorkerFlowmapDataProvider
- maxTopFlowsDisplayNum prop
- Added Pure-js example
- Renamed FlowMapLayer -> FlowmapLayer
- Improving perf of prepareLayersData: replace flatMap with generators to avoid unnecessary intermediary arrays creation
- Added fadeOpacityEnabled prop to FlowmapLayer
- Sublayer props applied to highlight layers too
- Prevent unnecessary calls to prepareLayerData
- Clear highlight on viewport change
- FlowmapLayer.parameters when passing to sublayers
The library was significantly refactored:
- Introduced packages @flowmap.gl/data and @flowmap.gl/layers instead of core, cluster and react
- FlowmapLayer is now a stateful layer handing much of the interactivity like clustering, adaptive scales, hovering and also the animation. This way it's much easier now to take advantage of these features in different environments.