diff --git a/CHANGELOG.md b/CHANGELOG.md index baf8922d79..75edc7e087 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,72 @@ Each version should: Ref: http://keepachangelog.com/en/0.3.0/ --> +## [3.0.0-alpha.2] - December 17 2023 + +- df87781a [Feat] add polygon filter based on mean centers for GeoJsonLayer (#2476) +- 50924867 [chore] Add file license header script (#2472) +- f33b09f8 [Demo] Add GeoArrow sample dataset (#2483) +- 09aee384 [feat] MapLibre basemap (#2461) +- 1544e202 [Fix] basemap frozen when incrementally loading GeoArrow (#2474) +- b290d871 [chore] pin luma.gl version to 8.5.21, to avoid mismatch (#2463) +- 955633df [chore] bump loaders (#2480) +- b481611c [fix] fix map import (#2479) +- 2024a6d8 [Feat] GeoArrow incremental rendering (1) (#2459) +- aa1c7d10 [chore] fix typo in landing page (#2402) +- 155a5825 [fix] Fix cloud tile fetching logic (#2456) +- 5eb62a9b [fix] Fixed website configuration to correctly import local kepler files (#2454) +- 39494866 [fix] update min value for hexagonal pixelate effect (#2453) +- 8e7b0ad1 [fix] Effects: fix possible 'undefined' in effect parameters (#2452) +- 84053786 [chore] Validate parameters for effects (#2450) +- d60ef31d [feat] Introduce Foursquare cloud provider (#2437) +- 82d616e4 [fix] ScenegraphLayer has broken lighting and textures (#2443) +- 110c2991 [chore] bump deck.gl, luma.gl, loaders.gl (#2442) +- f70b20ea [fix] effects: prevent time reset with invalid valese (#2441) +- 3ca8df02 [chore] Add effect MapControl test (#2440) +- 68bff82a [fix] effect-related UI fixes (#2439) +- 82fc69e2 [chore] Refactored cloud provider flow for performance and multi provider support (#2436) +- d975ea1e [Feat] support GeoArrow format (#2385) +- ee6f0754 [feat] Effect manager - UI improvements (timezone, time slider, time dropdown) (#2433) +- b5a6e9ce [chore] Making EffectPanelHeader actions configurable (#2432) +- 1ae4cd02 [feat] UI updates for effects (#2428) +- a69b0878 [chore] Effects - config refactoring (#2422) +- bfec82e5 [chore] Bump to loaders.gl@4.0.0 (#2424) +- e6e5a4c9 [Chore] export LayerBlendingSelector (#2419) +- a1878138 [chore] SplitMap type changes (#2418) +- 5e0ad511 [fix] Legend is rendered outside of widget (#2417) +- 473bd801 [fix] feature menu not working in shadow DOM (#2416) +- b995c9b5 [fix] Hexbin layer color aggregation incorrect on load (#2415) +- 58f0bb71 [Chore] merge other properties in splitMap merger (#2413) +- bcb8c4e8 [fix] long name in filter panel header (#2412) +- b8fa6ce1 [chore] Remove paths from tsconfig (#2414) +- 79002ea6 [feat] Support customized ref in useDimensions (#2409) +- 4d723317 [feat] Update Icon Layer to allow passing in svg icons as a prop to bypass remote resource fetching (#2410) +- 2ff3738f [fix] Viewports not always locked (#2408) +- 975a4762 [fix] Using resolution-corrected mapState for image export (#2407) +- 7fae622e [chore] adds additional properties to mock basemaps (#2411) +- df1397fd [fix] handle empty properties in GeoJson file (#2381) +- c8e2a9f1 [chore] move dev env to Node.js 18 (#2399) +- bb559750 [fix] long names in tooltips (#2405) +- c9c34c86 [chore] add custom classes to dropdown (#2404) +- 22dd6236 [chore] Remove unused deps (#2403) +- a36ec68b [fix] effect related fixes (split maps, shadows, timeline) (#2396) +- 5e7dd9b5 [fix] Upgrade Mapbox SDK (#2397) +- b54c1739 [chore] Upgrade to loaders.gl@4.0 (#2394) +- e47ccc07 [fix] Re-enabled plugin section in home page (#2400) +- 81a6e1fa [fix] Update layer domain in addLayer (#2393) +- bed4b7f8 [chore] Removed abs paths in mock state and layer utils (#2392) +- f1e654d8 [fix] place null values at the end when sorting table (#2391) +- 4f51abc3 [chore] extra typing for effects (#2390) +- 459ae555 [chore] fix lint in cmpEffects (#2389) +- 87df1197 [feat] Effects: shadow color picker; use animation & current time (#2387) +- dde3a6e3 [chore] Fix ColorMap type (#2388) +- 08492a8a [chore] Export effects types/utils and incapsulate dnd logic into new hooks (#2384) +- 2500a277 [feat] reorder tooltips (#2378) +- fdecb052 [fix] minor effect-related fixes (#2380) +- 5c16027d [chore] Drag&Drop context: extra check for the object type (#2379) +- a958586d [fix] fix for process is undefined (#2376) +- 9eb6b328 [chore] bump examples (#2375) + ## [3.0.0-alpha.1] - October 17 2023 - a3521948 [feat] introduction of deck.gl effects (#2372) diff --git a/package.json b/package.json index ab87cd51c8..490022f058 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "kepler.gl", "author": "Shan He ", - "version": "3.0.0-alpha.1", + "version": "3.0.0-alpha.2", "description": "kepler.gl is a webgl based application to visualize large scale location data in the browser", "license": "MIT", "main": "dist/index.js", @@ -113,7 +113,7 @@ "@deck.gl/mapbox": "^8.9.27", "@hubble.gl/core": "1.2.0-alpha.6", "@hubble.gl/react": "1.2.0-alpha.6", - "@kepler.gl/components": "3.0.0-alpha.1", + "@kepler.gl/components": "3.0.0-alpha.2", "@loaders.gl/polyfills": "^4.1.0-alpha.4", "@types/mapbox__geo-viewport": "^0.4.1", "@typescript-eslint/parser": "^5.27.0", diff --git a/src/actions/package.json b/src/actions/package.json index 7af46d4bc4..f076d4780b 100644 --- a/src/actions/package.json +++ b/src/actions/package.json @@ -1,7 +1,7 @@ { "name": "@kepler.gl/actions", "author": "Shan He ", - "version": "3.0.0-alpha.1", + "version": "3.0.0-alpha.2", "description": "kepler.gl constants used by kepler.gl components, actions and reducers", "license": "MIT", "main": "dist/index.js", @@ -31,11 +31,11 @@ ], "dependencies": { "@deck.gl/core": "^8.9.27", - "@kepler.gl/cloud-providers": "3.0.0-alpha.1", - "@kepler.gl/constants": "3.0.0-alpha.1", - "@kepler.gl/layers": "3.0.0-alpha.1", - "@kepler.gl/processors": "3.0.0-alpha.1", - "@kepler.gl/types": "3.0.0-alpha.1", + "@kepler.gl/cloud-providers": "3.0.0-alpha.2", + "@kepler.gl/constants": "3.0.0-alpha.2", + "@kepler.gl/layers": "3.0.0-alpha.2", + "@kepler.gl/processors": "3.0.0-alpha.2", + "@kepler.gl/types": "3.0.0-alpha.2", "@reduxjs/toolkit": "^1.7.2", "@types/lodash.curry": "^4.1.7", "@types/react-redux": "^7.1.23", diff --git a/src/cloud-providers/package.json b/src/cloud-providers/package.json index df5f0eabe9..b5cb4154c5 100644 --- a/src/cloud-providers/package.json +++ b/src/cloud-providers/package.json @@ -1,7 +1,7 @@ { "name": "@kepler.gl/cloud-providers", "author": "Shan He ", - "version": "3.0.0-alpha.1", + "version": "3.0.0-alpha.2", "description": "kepler.gl constants used by kepler.gl components, actions and reducers", "license": "MIT", "main": "dist/index.js", @@ -30,7 +30,7 @@ "umd" ], "dependencies": { - "@kepler.gl/types": "3.0.0-alpha.1", + "@kepler.gl/types": "3.0.0-alpha.2", "react": "^18.2.0" }, "nyc": { diff --git a/src/components/package.json b/src/components/package.json index f2eaf47bc9..19c2a736aa 100644 --- a/src/components/package.json +++ b/src/components/package.json @@ -1,7 +1,7 @@ { "name": "@kepler.gl/components", "author": "Shan He ", - "version": "3.0.0-alpha.1", + "version": "3.0.0-alpha.2", "description": "kepler.gl constants used by kepler.gl components, actions and reducers", "license": "MIT", "main": "dist/index.js", @@ -37,19 +37,19 @@ "@dnd-kit/sortable": "^7.0.2", "@dnd-kit/utilities": "^3.2.1", "@floating-ui/react": "0.25.1", - "@kepler.gl/actions": "3.0.0-alpha.1", - "@kepler.gl/cloud-providers": "3.0.0-alpha.1", - "@kepler.gl/constants": "3.0.0-alpha.1", - "@kepler.gl/effects": "3.0.0-alpha.1", - "@kepler.gl/layers": "3.0.0-alpha.1", - "@kepler.gl/localization": "3.0.0-alpha.1", - "@kepler.gl/processors": "3.0.0-alpha.1", - "@kepler.gl/reducers": "3.0.0-alpha.1", - "@kepler.gl/schemas": "3.0.0-alpha.1", - "@kepler.gl/styles": "3.0.0-alpha.1", - "@kepler.gl/table": "3.0.0-alpha.1", - "@kepler.gl/types": "3.0.0-alpha.1", - "@kepler.gl/utils": "3.0.0-alpha.1", + "@kepler.gl/actions": "3.0.0-alpha.2", + "@kepler.gl/cloud-providers": "3.0.0-alpha.2", + "@kepler.gl/constants": "3.0.0-alpha.2", + "@kepler.gl/effects": "3.0.0-alpha.2", + "@kepler.gl/layers": "3.0.0-alpha.2", + "@kepler.gl/localization": "3.0.0-alpha.2", + "@kepler.gl/processors": "3.0.0-alpha.2", + "@kepler.gl/reducers": "3.0.0-alpha.2", + "@kepler.gl/schemas": "3.0.0-alpha.2", + "@kepler.gl/styles": "3.0.0-alpha.2", + "@kepler.gl/table": "3.0.0-alpha.2", + "@kepler.gl/types": "3.0.0-alpha.2", + "@kepler.gl/utils": "3.0.0-alpha.2", "@mapbox/mapbox-sdk": "^0.15.3", "@nebula.gl/edit-modes": "1.0.2-alpha.1", "@tippyjs/react": "^4.2.0", diff --git a/src/constants/package.json b/src/constants/package.json index 328bd735a8..e6511bdd4a 100644 --- a/src/constants/package.json +++ b/src/constants/package.json @@ -1,7 +1,7 @@ { "name": "@kepler.gl/constants", "author": "Shan He ", - "version": "3.0.0-alpha.1", + "version": "3.0.0-alpha.2", "description": "kepler.gl constants used by kepler.gl components, actions and reducers", "license": "MIT", "main": "dist/index.js", @@ -30,7 +30,7 @@ "umd" ], "dependencies": { - "@kepler.gl/types": "3.0.0-alpha.1", + "@kepler.gl/types": "3.0.0-alpha.2", "@types/d3-scale": "^3.2.2", "@types/keymirror": "^0.1.1", "colorbrewer": "^1.5.0", diff --git a/src/deckgl-layers/package.json b/src/deckgl-layers/package.json index 790d22b020..f9b1864185 100644 --- a/src/deckgl-layers/package.json +++ b/src/deckgl-layers/package.json @@ -1,7 +1,7 @@ { "name": "@kepler.gl/deckgl-layers", "author": "Shan He ", - "version": "3.0.0-alpha.1", + "version": "3.0.0-alpha.2", "description": "kepler.gl constants used by kepler.gl components, actions and reducers", "license": "MIT", "main": "dist/index.js", @@ -35,9 +35,9 @@ "@deck.gl/core": "^8.9.27", "@deck.gl/geo-layers": "^8.9.27", "@deck.gl/layers": "^8.9.27", - "@kepler.gl/constants": "3.0.0-alpha.1", - "@kepler.gl/types": "3.0.0-alpha.1", - "@kepler.gl/utils": "3.0.0-alpha.1", + "@kepler.gl/constants": "3.0.0-alpha.2", + "@kepler.gl/types": "3.0.0-alpha.2", + "@kepler.gl/utils": "3.0.0-alpha.2", "@luma.gl/constants": "^8.5.20", "@luma.gl/core": "^8.5.20", "@mapbox/geo-viewport": "^0.4.1", diff --git a/src/effects/package.json b/src/effects/package.json index ff98471b39..965f823e0a 100644 --- a/src/effects/package.json +++ b/src/effects/package.json @@ -1,7 +1,7 @@ { "name": "@kepler.gl/effects", "author": "Shan He ", - "version": "3.0.0-alpha.1", + "version": "3.0.0-alpha.2", "description": "kepler.gl viaual effects", "license": "MIT", "main": "dist/index.js", @@ -34,9 +34,9 @@ "@deck.gl/core": "^8.9.27", "@luma.gl/core": "^8.5.20", "@luma.gl/shadertools": "^8.5.20", - "@kepler.gl/utils": "3.0.0-alpha.1", - "@kepler.gl/constants": "3.0.0-alpha.1", - "@kepler.gl/types": "3.0.0-alpha.1" + "@kepler.gl/utils": "3.0.0-alpha.2", + "@kepler.gl/constants": "3.0.0-alpha.2", + "@kepler.gl/types": "3.0.0-alpha.2" }, "nyc": { "sourceMap": false, diff --git a/src/layers/package.json b/src/layers/package.json index 85b41381c7..e5b77198ec 100644 --- a/src/layers/package.json +++ b/src/layers/package.json @@ -1,7 +1,7 @@ { "name": "@kepler.gl/layers", "author": "Shan He ", - "version": "3.0.0-alpha.1", + "version": "3.0.0-alpha.2", "description": "kepler.gl constants used by kepler.gl components, actions and reducers", "license": "MIT", "main": "dist/index.js", @@ -36,12 +36,12 @@ "@deck.gl/geo-layers": "^8.9.27", "@deck.gl/layers": "^8.9.27", "@deck.gl/mesh-layers": "^8.9.27", - "@kepler.gl/constants": "3.0.0-alpha.1", - "@kepler.gl/deckgl-layers": "3.0.0-alpha.1", - "@kepler.gl/localization": "3.0.0-alpha.1", - "@kepler.gl/table": "3.0.0-alpha.1", - "@kepler.gl/types": "3.0.0-alpha.1", - "@kepler.gl/utils": "3.0.0-alpha.1", + "@kepler.gl/constants": "3.0.0-alpha.2", + "@kepler.gl/deckgl-layers": "3.0.0-alpha.2", + "@kepler.gl/localization": "3.0.0-alpha.2", + "@kepler.gl/table": "3.0.0-alpha.2", + "@kepler.gl/types": "3.0.0-alpha.2", + "@kepler.gl/utils": "3.0.0-alpha.2", "@loaders.gl/arrow": "^4.1.0-alpha.4", "@loaders.gl/core": "^4.1.0-alpha.4", "@loaders.gl/gis": "^4.1.0-alpha.4", diff --git a/src/localization/package.json b/src/localization/package.json index 2570fa3962..fc0f9aca22 100644 --- a/src/localization/package.json +++ b/src/localization/package.json @@ -1,7 +1,7 @@ { "name": "@kepler.gl/localization", "author": "Shan He ", - "version": "3.0.0-alpha.1", + "version": "3.0.0-alpha.2", "description": "kepler.gl constants used by kepler.gl components, actions and reducers", "license": "MIT", "main": "dist/index.js", diff --git a/src/processors/package.json b/src/processors/package.json index 6e456c7ac2..885b60e33f 100644 --- a/src/processors/package.json +++ b/src/processors/package.json @@ -1,7 +1,7 @@ { "name": "@kepler.gl/processors", "author": "Shan He ", - "version": "3.0.0-alpha.1", + "version": "3.0.0-alpha.2", "description": "kepler.gl constants used by kepler.gl components, actions and reducers", "license": "MIT", "main": "dist/index.js", @@ -31,10 +31,10 @@ ], "dependencies": { "@danmarshall/deckgl-typings": "4.9.22", - "@kepler.gl/constants": "3.0.0-alpha.1", - "@kepler.gl/schemas": "3.0.0-alpha.1", - "@kepler.gl/types": "3.0.0-alpha.1", - "@kepler.gl/utils": "3.0.0-alpha.1", + "@kepler.gl/constants": "3.0.0-alpha.2", + "@kepler.gl/schemas": "3.0.0-alpha.2", + "@kepler.gl/types": "3.0.0-alpha.2", + "@kepler.gl/utils": "3.0.0-alpha.2", "@loaders.gl/arrow": "^4.1.0-alpha.4", "@loaders.gl/core": "^4.1.0-alpha.4", "@loaders.gl/csv": "^4.1.0-alpha.4", diff --git a/src/reducers/package.json b/src/reducers/package.json index afe37c72dd..f975bab7f0 100644 --- a/src/reducers/package.json +++ b/src/reducers/package.json @@ -1,7 +1,7 @@ { "name": "@kepler.gl/reducers", "author": "Shan He ", - "version": "3.0.0-alpha.1", + "version": "3.0.0-alpha.2", "description": "kepler.gl constants used by kepler.gl components, actions and reducers", "license": "MIT", "main": "dist/index.js", @@ -30,19 +30,19 @@ "umd" ], "dependencies": { - "@kepler.gl/actions": "3.0.0-alpha.1", - "@kepler.gl/cloud-providers": "3.0.0-alpha.1", - "@kepler.gl/constants": "3.0.0-alpha.1", - "@kepler.gl/deckgl-layers": "3.0.0-alpha.1", - "@kepler.gl/layers": "3.0.0-alpha.1", - "@kepler.gl/effects": "3.0.0-alpha.1", - "@kepler.gl/localization": "3.0.0-alpha.1", - "@kepler.gl/processors": "3.0.0-alpha.1", - "@kepler.gl/schemas": "3.0.0-alpha.1", - "@kepler.gl/table": "3.0.0-alpha.1", - "@kepler.gl/tasks": "3.0.0-alpha.1", - "@kepler.gl/types": "3.0.0-alpha.1", - "@kepler.gl/utils": "3.0.0-alpha.1", + "@kepler.gl/actions": "3.0.0-alpha.2", + "@kepler.gl/cloud-providers": "3.0.0-alpha.2", + "@kepler.gl/constants": "3.0.0-alpha.2", + "@kepler.gl/deckgl-layers": "3.0.0-alpha.2", + "@kepler.gl/layers": "3.0.0-alpha.2", + "@kepler.gl/effects": "3.0.0-alpha.2", + "@kepler.gl/localization": "3.0.0-alpha.2", + "@kepler.gl/processors": "3.0.0-alpha.2", + "@kepler.gl/schemas": "3.0.0-alpha.2", + "@kepler.gl/table": "3.0.0-alpha.2", + "@kepler.gl/tasks": "3.0.0-alpha.2", + "@kepler.gl/types": "3.0.0-alpha.2", + "@kepler.gl/utils": "3.0.0-alpha.2", "@loaders.gl/loader-utils": "^4.1.0-alpha.4", "@turf/bbox": "^6.0.1", "@types/lodash.clonedeep": "^4.5.7", diff --git a/src/schemas/package.json b/src/schemas/package.json index a21d0bcf69..bd1b3b444f 100644 --- a/src/schemas/package.json +++ b/src/schemas/package.json @@ -1,7 +1,7 @@ { "name": "@kepler.gl/schemas", "author": "Shan He ", - "version": "3.0.0-alpha.1", + "version": "3.0.0-alpha.2", "description": "kepler.gl schemas used by kepler.gl components, actions and reducers", "license": "MIT", "main": "dist/index.js", @@ -30,11 +30,11 @@ "umd" ], "dependencies": { - "@kepler.gl/constants": "3.0.0-alpha.1", - "@kepler.gl/layers": "3.0.0-alpha.1", - "@kepler.gl/table": "3.0.0-alpha.1", - "@kepler.gl/types": "3.0.0-alpha.1", - "@kepler.gl/utils": "3.0.0-alpha.1", + "@kepler.gl/constants": "3.0.0-alpha.2", + "@kepler.gl/layers": "3.0.0-alpha.2", + "@kepler.gl/table": "3.0.0-alpha.2", + "@kepler.gl/types": "3.0.0-alpha.2", + "@kepler.gl/utils": "3.0.0-alpha.2", "@loaders.gl/loader-utils": "^4.1.0-alpha.4", "@types/keymirror": "^0.1.1", "@types/lodash.clonedeep": "^4.5.7", diff --git a/src/styles/package.json b/src/styles/package.json index 0934b9265e..b0cad7b614 100644 --- a/src/styles/package.json +++ b/src/styles/package.json @@ -1,7 +1,7 @@ { "name": "@kepler.gl/styles", "author": "Shan He ", - "version": "3.0.0-alpha.1", + "version": "3.0.0-alpha.2", "description": "kepler.gl constants used by kepler.gl components, actions and reducers", "license": "MIT", "main": "dist/index.js", @@ -30,7 +30,7 @@ "umd" ], "dependencies": { - "@kepler.gl/constants": "3.0.0-alpha.1", + "@kepler.gl/constants": "3.0.0-alpha.2", "@types/styled-components": "^5.1.25", "styled-components": "^4.1.3" }, diff --git a/src/table/package.json b/src/table/package.json index e2eb942811..c44774c302 100644 --- a/src/table/package.json +++ b/src/table/package.json @@ -1,7 +1,7 @@ { "name": "@kepler.gl/table", "author": "Shan He ", - "version": "3.0.0-alpha.1", + "version": "3.0.0-alpha.2", "description": "kepler.gl constants used by kepler.gl components, actions and reducers", "license": "MIT", "main": "dist/index.js", @@ -30,10 +30,10 @@ "umd" ], "dependencies": { - "@kepler.gl/constants": "3.0.0-alpha.1", - "@kepler.gl/layers": "3.0.0-alpha.1", - "@kepler.gl/types": "3.0.0-alpha.1", - "@kepler.gl/utils": "3.0.0-alpha.1", + "@kepler.gl/constants": "3.0.0-alpha.2", + "@kepler.gl/layers": "3.0.0-alpha.2", + "@kepler.gl/types": "3.0.0-alpha.2", + "@kepler.gl/utils": "3.0.0-alpha.2", "@types/d3-array": "^2.0.0", "@types/lodash.uniq": "^4.5.7", "d3-array": "^2.8.0", diff --git a/src/tasks/package.json b/src/tasks/package.json index 4294767614..b0b25e64ec 100644 --- a/src/tasks/package.json +++ b/src/tasks/package.json @@ -1,7 +1,7 @@ { "name": "@kepler.gl/tasks", "author": "Shan He ", - "version": "3.0.0-alpha.1", + "version": "3.0.0-alpha.2", "description": "kepler.gl constants used by kepler.gl components, actions and reducers", "license": "MIT", "main": "dist/index.js", @@ -30,7 +30,7 @@ "umd" ], "dependencies": { - "@kepler.gl/processors": "3.0.0-alpha.1", + "@kepler.gl/processors": "3.0.0-alpha.2", "d3-request": "^1.0.6", "react-palm": "^3.3.8" }, diff --git a/src/types/package.json b/src/types/package.json index 744b4059f1..7d2607b25f 100644 --- a/src/types/package.json +++ b/src/types/package.json @@ -1,7 +1,7 @@ { "name": "@kepler.gl/types", "author": "Shan He ", - "version": "3.0.0-alpha.1", + "version": "3.0.0-alpha.2", "description": "kepler.gl types used by kepler.gl components, actions and reducers", "license": "MIT", "types": "index.d.ts", diff --git a/src/utils/package.json b/src/utils/package.json index 50124f9f47..f8a11e4e25 100644 --- a/src/utils/package.json +++ b/src/utils/package.json @@ -1,7 +1,7 @@ { "name": "@kepler.gl/utils", "author": "Shan He ", - "version": "3.0.0-alpha.1", + "version": "3.0.0-alpha.2", "description": "kepler.gl constants used by kepler.gl components, actions and reducers", "license": "MIT", "main": "dist/index.js", @@ -31,8 +31,8 @@ ], "dependencies": { "apache-arrow": "^13.0.0", - "@kepler.gl/constants": "3.0.0-alpha.1", - "@kepler.gl/types": "3.0.0-alpha.1", + "@kepler.gl/constants": "3.0.0-alpha.2", + "@kepler.gl/types": "3.0.0-alpha.2", "@luma.gl/constants": "^8.5.20", "@luma.gl/core": "^8.5.20", "@mapbox/geo-viewport": "^0.4.1",