diff --git a/examples/demo-app/src/cloud-providers/foursquare/foursquare-icon.js b/examples/demo-app/src/cloud-providers/foursquare/foursquare-icon.js index bb9e55b020..99a98bd38d 100644 --- a/examples/demo-app/src/cloud-providers/foursquare/foursquare-icon.js +++ b/examples/demo-app/src/cloud-providers/foursquare/foursquare-icon.js @@ -1,3 +1,23 @@ +// Copyright (c) 2023 Uber Technologies, Inc. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + import React, {Component} from 'react'; import {Icons} from '@kepler.gl/components'; import PropTypes from 'prop-types'; diff --git a/examples/demo-app/src/cloud-providers/foursquare/foursquare-provider.js b/examples/demo-app/src/cloud-providers/foursquare/foursquare-provider.js index 1587ed7f50..5c7bcebbe4 100644 --- a/examples/demo-app/src/cloud-providers/foursquare/foursquare-provider.js +++ b/examples/demo-app/src/cloud-providers/foursquare/foursquare-provider.js @@ -1,3 +1,23 @@ +// Copyright (c) 2023 Uber Technologies, Inc. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + import FSQIcon from './foursquare-icon'; import {Provider, KEPLER_FORMAT} from '@kepler.gl/cloud-providers'; import {Auth0Client} from '@auth0/auth0-spa-js'; diff --git a/package.json b/package.json index 3843b269fe..0fc86d3aa2 100644 --- a/package.json +++ b/package.json @@ -114,7 +114,7 @@ "@hubble.gl/core": "1.2.0-alpha.6", "@hubble.gl/react": "1.2.0-alpha.6", "@kepler.gl/components": "3.0.0-alpha.1", - "@loaders.gl/polyfills": "^4.0.3", + "@loaders.gl/polyfills": "^4.1.0-alpha.2", "@types/mapbox__geo-viewport": "^0.4.1", "@typescript-eslint/parser": "^5.27.0", "eslint-config-developit": "^1.2.0", @@ -142,7 +142,7 @@ "@babel/traverse": "^7.12.1", "@cfaester/enzyme-adapter-react-18": "^0.7.0", "@deck.gl/test-utils": "^8.9.27", - "@loaders.gl/polyfills": "^4.0.3", + "@loaders.gl/polyfills": "^4.1.0-alpha.2", "@luma.gl/test-utils": "^8.5.20", "@nebula.gl/layers": "1.0.2-alpha.1", "@probe.gl/env": "^3.5.0", @@ -216,12 +216,12 @@ "webpack-stats-plugin": "^0.2.1" }, "resolutions": { - "@loaders.gl/core": "^4.0.3", - "@loaders.gl/csv": "^4.0.3", - "@loaders.gl/gltf": "^4.0.3", - "@loaders.gl/json": "^4.0.3", - "@loaders.gl/loader-utils": "^4.0.3", - "@loaders.gl/polyfills": "^4.0.3", + "@loaders.gl/core": "^4.1.0-alpha.2", + "@loaders.gl/csv": "^4.1.0-alpha.2", + "@loaders.gl/gltf": "^4.1.0-alpha.2", + "@loaders.gl/json": "^4.1.0-alpha.2", + "@loaders.gl/loader-utils": "^4.1.0-alpha.2", + "@loaders.gl/polyfills": "^4.1.0-alpha.2", "@luma.gl/constants": "8.5.20", "@luma.gl/core": "8.5.20", "@luma.gl/experimental": "8.5.20", diff --git a/src/layers/package.json b/src/layers/package.json index 5dcbe6351f..7fb5920768 100644 --- a/src/layers/package.json +++ b/src/layers/package.json @@ -42,11 +42,11 @@ "@kepler.gl/table": "3.0.0-alpha.1", "@kepler.gl/types": "3.0.0-alpha.1", "@kepler.gl/utils": "3.0.0-alpha.1", - "@loaders.gl/arrow": "^4.0.3", - "@loaders.gl/core": "^4.0.3", - "@loaders.gl/gis": "^4.0.3", - "@loaders.gl/gltf": "^4.0.3", - "@loaders.gl/wkt": "^4.0.3", + "@loaders.gl/arrow": "^4.1.0-alpha.2", + "@loaders.gl/core": "^4.1.0-alpha.2", + "@loaders.gl/gis": "^4.1.0-alpha.2", + "@loaders.gl/gltf": "^4.1.0-alpha.2", + "@loaders.gl/wkt": "^4.1.0-alpha.2", "@luma.gl/constants": "^8.5.20", "@mapbox/geojson-normalize": "0.0.1", "@nebula.gl/edit-modes": "1.0.2-alpha.1", diff --git a/src/layers/src/geojson-layer/geojson-layer.ts b/src/layers/src/geojson-layer/geojson-layer.ts index 399c12f878..2a357553df 100644 --- a/src/layers/src/geojson-layer/geojson-layer.ts +++ b/src/layers/src/geojson-layer/geojson-layer.ts @@ -411,19 +411,6 @@ export default class GeoJsonLayer extends Layer { }; } - isInPolygon(data: DataContainerInterface, index: number, polygon: Feature): Boolean { - if (this.centroids.length === 0 || !this.centroids[index]) { - return false; - } - const isReactangle = polygon.properties?.shape === 'Rectangle'; - const point = this.centroids[index]; - // without spatialIndex, use turf.js - if (isReactangle && polygon.properties?.bbox) { - const [minX, minY, maxX, maxY] = polygon.properties?.bbox; - return point[0] >= minX && point[0] <= maxX && point[1] >= minY && point[1] <= maxY; - } - return booleanWithin(turfPoint(point), polygon); - } updateLayerMeta(dataContainer) { // check datasource is arrow format if dataContainer is arrow data container this.dataContainer = dataContainer; @@ -435,18 +422,21 @@ export default class GeoJsonLayer extends Layer { if (dataContainer instanceof ArrowDataContainer) { const {geojson} = this.config.columns; if (this.dataToFeature.length < dataContainer.numChunks()) { - const {binaryGeometries, bounds, featureTypes, meanCenters} = + const {binaryGeometries, bounds, featureTypes} = this.dataToFeature.length === 0 - ? getGeojsonLayerMetaFromArrow({dataContainer, getGeoColumn, getGeoField, chunkIndex: 0}) + ? getGeojsonLayerMetaFromArrow({ + dataContainer, + getGeoColumn, + getGeoField, + chunkIndex: 0 + }) : dataContainer.getBinaryData(geojson.fieldIdx); - if (meanCenters) this.centroids = meanCenters; if (this.dataToFeature.length === 0) { dataContainer.updateBinaryData(geojson.fieldIdx, 0, { binaryGeometries, bounds, - featureTypes, - meanCenters + featureTypes }); // not update bounds for every batch, to avoid interrupt user interacts with map while loading the map incrementally // since there is no feature.properties.radius, we set fixedRadius to false @@ -457,14 +447,12 @@ export default class GeoJsonLayer extends Layer { } } else { if (this.dataToFeature.length === 0) { - const {dataToFeature, bounds, fixedRadius, featureTypes, centroids} = getGeojsonLayerMeta({ + const {dataToFeature, bounds, fixedRadius, featureTypes} = getGeojsonLayerMeta({ dataContainer, getFeature }); - - if (centroids) this.centroids = centroids; this.dataToFeature = dataToFeature; - this.updateMeta({ bounds, fixedRadius, featureTypes }); + this.updateMeta({bounds, fixedRadius, featureTypes}); } } } diff --git a/src/layers/src/layer-utils.ts b/src/layers/src/layer-utils.ts index 8f3c2f0e76..9b3c9cbc45 100644 --- a/src/layers/src/layer-utils.ts +++ b/src/layers/src/layer-utils.ts @@ -62,9 +62,9 @@ export function getGeojsonLayerMetaFromArrow({ }: { dataContainer: DataContainerInterface; getGeoColumn: (dataContainer: DataContainerInterface) => unknown; - getGeoField: (dataContainer: DataContainerInterface) => Field | null; + getGeoField: (dataContainer: DataContainerInterface) => Field | null; chunkIndex?: number; -}): BinaryDataFromGeoArrow & {meanCenters?: number[][]} { +}): BinaryDataFromGeoArrow & {meanCenters?: number[][]} { const geoColumn = getGeoColumn(dataContainer) as arrow.Vector; const arrowField = getGeoField(dataContainer); @@ -72,19 +72,19 @@ export function getGeojsonLayerMetaFromArrow({ const options: BinaryGeometriesFromArrowOptions = { ...(chunkIndex !== undefined && chunkIndex >= 0 ? {chunkIndex} : {}), triangulate: true, - meanCenter: true + calculateMeanCenters: false }; // create binary data from arrow data for GeoJsonLayer const {binaryGeometries, featureTypes, bounds} = getBinaryGeometriesFromArrow( geoColumn, - encoding + encoding, + options ); return { binaryGeometries, featureTypes, - bounds, - meanCenters + bounds }; } @@ -114,10 +114,7 @@ export function getHoveredObjectFromArrow( const field = fieldAccessor(dataContainer); const encoding = field?.metadata?.get('ARROW:extension:name'); - const hoveredFeature = parseGeometryFromArrow({ - encoding, - data: rawGeometry - }); + const hoveredFeature = parseGeometryFromArrow(rawGeometry, encoding); const properties = dataContainer.rowAsArray(objectInfo.index).reduce((prev, cur, i) => { const fieldName = dataContainer?.getField?.(i).name; @@ -129,7 +126,8 @@ export function getHoveredObjectFromArrow( return hoveredFeature ? { - ...hoveredFeature, + type: 'Feature', + geometry: hoveredFeature, properties: { ...properties, index: objectInfo.index diff --git a/src/processors/package.json b/src/processors/package.json index 5cb9315eb1..5d6a56f5db 100644 --- a/src/processors/package.json +++ b/src/processors/package.json @@ -35,11 +35,11 @@ "@kepler.gl/schemas": "3.0.0-alpha.1", "@kepler.gl/types": "3.0.0-alpha.1", "@kepler.gl/utils": "3.0.0-alpha.1", - "@loaders.gl/arrow": "^4.0.3", - "@loaders.gl/core": "^4.0.3", - "@loaders.gl/csv": "^4.0.3", - "@loaders.gl/json": "^4.0.3", - "@loaders.gl/loader-utils": "^4.0.3", + "@loaders.gl/arrow": "^4.1.0-alpha.2", + "@loaders.gl/core": "^4.1.0-alpha.2", + "@loaders.gl/csv": "^4.1.0-alpha.2", + "@loaders.gl/json": "^4.1.0-alpha.2", + "@loaders.gl/loader-utils": "^4.1.0-alpha.2", "@mapbox/geojson-normalize": "0.0.1", "@nebula.gl/edit-modes": "1.0.2-alpha.1", "@turf/helpers": "^6.1.4", diff --git a/src/processors/src/file-handler.ts b/src/processors/src/file-handler.ts index 546eabc083..0be651d716 100644 --- a/src/processors/src/file-handler.ts +++ b/src/processors/src/file-handler.ts @@ -22,7 +22,7 @@ import * as arrow from 'apache-arrow'; import {parseInBatches} from '@loaders.gl/core'; import {JSONLoader, _JSONPath} from '@loaders.gl/json'; import {CSVLoader} from '@loaders.gl/csv'; -import {ArrowLoader, hardClone, parseGeoArrowOnWorker} from '@loaders.gl/arrow'; +import {ArrowLoader, hardClone, parseGeoArrowOnWorker, ParseGeoArrowInput} from '@loaders.gl/arrow'; import { processArrowTable, processGeojson, @@ -319,6 +319,7 @@ export async function applyProgressiveLoadGeoArrow( // chunkIndex is the index of last batch has been loaded in dataContainer const chunkIndex = dataContainer.numChunks() - 1; + const chunkOffset = geoColumn?.data[0].length * chunkIndex; const geometryChunk = geoColumn?.data[chunkIndex]; const chunkCopy = hardClone(geometryChunk, true); @@ -336,21 +337,17 @@ export async function applyProgressiveLoadGeoArrow( dictionary: chunkCopy.dictionary }; - const sourceData = { + const sourceData: ParseGeoArrowInput = { operation: 'parse-geoarrow', chunkData, chunkIndex, + chunkOffset, geometryEncoding: encoding, calculateMeanCenters: true, triangle: true }; - const parsedGeoArrowData = await parseGeoArrowOnWorker( - sourceData, - { - _workerType: 'test' - } - ); + const parsedGeoArrowData = await parseGeoArrowOnWorker(sourceData); // dataContainer.updateBinaryData( // geojson.fieldIdx, diff --git a/src/reducers/package.json b/src/reducers/package.json index dce756dfcc..0c3310046a 100644 --- a/src/reducers/package.json +++ b/src/reducers/package.json @@ -43,7 +43,7 @@ "@kepler.gl/tasks": "3.0.0-alpha.1", "@kepler.gl/types": "3.0.0-alpha.1", "@kepler.gl/utils": "3.0.0-alpha.1", - "@loaders.gl/loader-utils": "^4.0.3", + "@loaders.gl/loader-utils": "^4.1.0-alpha.2", "@types/lodash.clonedeep": "^4.5.7", "@types/lodash.flattendeep": "^4.4.7", "@types/lodash.get": "^4.4.6", diff --git a/src/reducers/src/vis-state-updaters.ts b/src/reducers/src/vis-state-updaters.ts index aca2cc2a8c..a18784017e 100644 --- a/src/reducers/src/vis-state-updaters.ts +++ b/src/reducers/src/vis-state-updaters.ts @@ -2240,12 +2240,11 @@ export function makeLoadFileTask(file, fileCache, loaders: Loader[] = [], loadOp ); } - export function progressiveLoadCompletedUpdater( state: VisState, action: VisStateActions.ProgressiveLoadCompletedUpdaterAction ): VisState { - const {parsedData, inputData} = action.payload; + const {parsedData} = action.payload; // for each layer id in parsedBinaryDataForLayers // find the layer in state.layers @@ -2273,11 +2272,13 @@ export function progressiveLoadCompletedUpdater( if (dataContainer instanceof ArrowDataContainer) { const {fieldIndex, parsedGeoArrowData} = parsedData[layerId]; keplerTable.filteredIndex = dataContainer.getFilteredIndex(fieldIndex); - dataContainer.updateBinaryData( - fieldIndex, - parsedGeoArrowData.chunkIndex, - parsedGeoArrowData.binaryDataFromGeoArrow - ); + if (parsedGeoArrowData.binaryDataFromGeoArrow) { + dataContainer.updateBinaryData( + fieldIndex, + parsedGeoArrowData.chunkIndex, + parsedGeoArrowData.binaryDataFromGeoArrow + ); + } } const newLayer = layer; @@ -2366,31 +2367,30 @@ export const nextFileBatchUpdater = ( progress: parseProgress(state.fileLoadingProgress[fileName], progress) }); - return withTask( - stateWithProgress, [ - ...(fileName.endsWith('arrow') && accumulated && accumulated.data?.length > 0 - ? [ - PROCESS_FILE_DATA({content: accumulated, fileCache: []}).bimap( - result => loadBatchDataSuccess({fileName, fileCache: result}), - err => loadFilesErr(fileName, err) - ) - ] - : []), - UNWRAP_TASK(gen.next()).bimap( - ({value, done}) => { - return done - ? onFinish(accumulated) - : nextFileBatch({ - gen, - fileName, - progress: value.progress, - accumulated: value, - onFinish - }); - }, - err => loadFilesErr(fileName, err) - ) - ]); + return withTask(stateWithProgress, [ + ...(fileName.endsWith('arrow') && accumulated && accumulated.data?.length > 0 + ? [ + PROCESS_FILE_DATA({content: accumulated, fileCache: []}).bimap( + result => loadBatchDataSuccess({fileName, fileCache: result}), + err => loadFilesErr(fileName, err) + ) + ] + : []), + UNWRAP_TASK(gen.next()).bimap( + ({value, done}) => { + return done + ? onFinish(accumulated) + : nextFileBatch({ + gen, + fileName, + progress: value.progress, + accumulated: value, + onFinish + }); + }, + err => loadFilesErr(fileName, err) + ) + ]); }; /** diff --git a/src/schemas/package.json b/src/schemas/package.json index 13e3cca936..45388c9de3 100644 --- a/src/schemas/package.json +++ b/src/schemas/package.json @@ -35,7 +35,7 @@ "@kepler.gl/table": "3.0.0-alpha.1", "@kepler.gl/types": "3.0.0-alpha.1", "@kepler.gl/utils": "3.0.0-alpha.1", - "@loaders.gl/loader-utils": "^4.0.3", + "@loaders.gl/loader-utils": "^4.1.0-alpha.2", "@types/keymirror": "^0.1.1", "@types/lodash.clonedeep": "^4.5.7", "@types/lodash.pick": "^4.4.6", diff --git a/src/utils/src/arrow-data-container.ts b/src/utils/src/arrow-data-container.ts index 22fe4a4110..0bde93052b 100644 --- a/src/utils/src/arrow-data-container.ts +++ b/src/utils/src/arrow-data-container.ts @@ -6,7 +6,6 @@ import {DATA_TYPES as AnalyzerDATA_TYPES} from 'type-analyzer'; import {Field} from '@kepler.gl/types'; import {ALL_FIELD_TYPES} from '@kepler.gl/constants'; import {BinaryDataFromGeoArrow} from '@loaders.gl/arrow'; -import {BinaryFeatures} from '@loaders.gl/schema'; import {DataRow, SharedRowOptions} from './data-row'; import {DataContainerInterface, RangeOptions} from './data-container-interface'; @@ -99,11 +98,7 @@ export class ArrowDataContainer implements DataContainerInterface { return this.getPlainIndex(); } - getBinaryData(columnIndex: number): { - binaryGeometries: BinaryFeatures[]; - bounds: [number, number, number, number]; - featureTypes: { polygon: boolean; point: boolean; line: boolean }; - } { + getBinaryData(columnIndex: number): BinaryDataFromGeoArrow { const binaryGeometries = Object.values(this._binaryData[columnIndex]).map(d => d.binaryGeometries[0]); // merge bounds const bounds = Object.values(this._binaryData[columnIndex]).map(d => d.bounds); diff --git a/yarn.lock b/yarn.lock index b50176ff37..475d1bc43b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2165,43 +2165,45 @@ "@math.gl/geospatial" "^3.5.1" long "^5.2.1" -"@loaders.gl/arrow@^4.0.3": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@loaders.gl/arrow/-/arrow-4.0.3.tgz#e4a5478380e70d8176b1e0031687fdb17e98d227" - integrity sha512-RJQMkyTL51z5XYjRqIYBUrzIIC8ukmQj0NTeqSJAYClaSTu07PppjakYZ757hc53KPEl9b7DpLEuFE+Tobbkkg== - dependencies: - "@loaders.gl/gis" "4.0.3" - "@loaders.gl/loader-utils" "4.0.3" - "@loaders.gl/schema" "4.0.3" +"@loaders.gl/arrow@^4.1.0-alpha.2": + version "4.1.0-alpha.2" + resolved "https://registry.yarnpkg.com/@loaders.gl/arrow/-/arrow-4.1.0-alpha.2.tgz#1a99329c577ebc4cffae8e0e13128e269e7be360" + integrity sha512-iu3r1LKOHvt/ntlAYabkhbPATkn7xT25UkUq9K7gU0eRjzVJebzxYhGjYELi3GnPhYcyCn+SEJuqTh54GIm/mg== + dependencies: + "@loaders.gl/gis" "4.1.0-alpha.2" + "@loaders.gl/loader-utils" "4.1.0-alpha.2" + "@loaders.gl/schema" "4.1.0-alpha.2" + "@loaders.gl/wkt" "4.1.0-alpha.2" + "@math.gl/polygon" "4.0.0" apache-arrow "^13.0.0" -"@loaders.gl/core@^2.1.6", "@loaders.gl/core@^3.4.13", "@loaders.gl/core@^4.0.3": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@loaders.gl/core/-/core-4.0.3.tgz#a99a97623c5f3c37fef21e87aebefde828b4ec86" - integrity sha512-L2MNtzchhTyOZi8OwD8Q62VgzgCk22b9lIQ1fojR/k9/Nv8xdozMhVgV/nhiwYCdd+qVGcZzyH43B0U8jlU+QA== +"@loaders.gl/core@^2.1.6", "@loaders.gl/core@^3.4.13", "@loaders.gl/core@^4.1.0-alpha.2": + version "4.1.0-alpha.2" + resolved "https://registry.yarnpkg.com/@loaders.gl/core/-/core-4.1.0-alpha.2.tgz#d5e348f37fac9a00964d9c8b6f851049c15d2a7f" + integrity sha512-Tkw5rcTGoTpTwGhN6aGeNgk1YX3NWMmVNHzwCpHnqWV0n+hgLSl6Sr1cUM9yTH6Z/AI9qEZFt1EJnkclfmRGKQ== dependencies: "@babel/runtime" "^7.3.1" - "@loaders.gl/loader-utils" "4.0.3" - "@loaders.gl/worker-utils" "4.0.3" + "@loaders.gl/loader-utils" "4.1.0-alpha.2" + "@loaders.gl/worker-utils" "4.1.0-alpha.2" "@probe.gl/log" "^4.0.2" -"@loaders.gl/crypto@4.0.3": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@loaders.gl/crypto/-/crypto-4.0.3.tgz#2baef207bb0333fe3efcaba4d064d8695afa1aa3" - integrity sha512-oJmDQrtSyAiBh4V9F54SljmIasNdayB0epcaJNeal/i+PFXTn45gOPdovgFuQuuAm0rWo+S4r25KDmLBBzE3Rg== +"@loaders.gl/crypto@4.1.0-alpha.2": + version "4.1.0-alpha.2" + resolved "https://registry.yarnpkg.com/@loaders.gl/crypto/-/crypto-4.1.0-alpha.2.tgz#7fde654b0755e04fb1af46f59e82e3e1f679cc20" + integrity sha512-JulwOyOiOkbHKGbjnef4gl3nGYx6SlGCzNaEE3+pFf3kW7Ie2A6vu8eec4dtRLoOriAdch79XqOU/9T9vOq/kw== dependencies: "@babel/runtime" "^7.3.1" - "@loaders.gl/loader-utils" "4.0.3" - "@loaders.gl/worker-utils" "4.0.3" + "@loaders.gl/loader-utils" "4.1.0-alpha.2" + "@loaders.gl/worker-utils" "4.1.0-alpha.2" "@types/crypto-js" "^4.0.2" -"@loaders.gl/csv@^4.0.3": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@loaders.gl/csv/-/csv-4.0.3.tgz#72679e7bbd7bdf27291352c07502823f3b051d96" - integrity sha512-oEYscUld0xrKlmb3ZEaNqrHIgF0kwpoEIVz5yFb/It+2kwSok0j7UdU29lT6t5NlCHTWL6Du+7NuOkSB1UGLzA== +"@loaders.gl/csv@^4.1.0-alpha.2": + version "4.1.0-alpha.2" + resolved "https://registry.yarnpkg.com/@loaders.gl/csv/-/csv-4.1.0-alpha.2.tgz#166cdac52d4e6c6e4a9ae77873f8a5656c99f0ab" + integrity sha512-XpaNusnhxLD+lusXQ/Qu6RpS1A9wPWQ3QqP/yCJKAG8xFljuR89GG9xk5mEhU88QflF3vY/gWDObfSDBXAzGvA== dependencies: - "@loaders.gl/loader-utils" "4.0.3" - "@loaders.gl/schema" "4.0.3" + "@loaders.gl/loader-utils" "4.1.0-alpha.2" + "@loaders.gl/schema" "4.1.0-alpha.2" "@loaders.gl/draco@3.4.14": version "3.4.14" @@ -2214,15 +2216,15 @@ "@loaders.gl/worker-utils" "3.4.14" draco3d "1.5.5" -"@loaders.gl/draco@4.0.3": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@loaders.gl/draco/-/draco-4.0.3.tgz#a52481b1738b56cb5fb87938edfa9389c8271d9b" - integrity sha512-W6m4L5bcov2rqluZsM+wg/5kH0+mU5Vp+2DLx/CMA7LYCnrho7b1apAqPJ/fHVwQCyL392Nv+p9i8GdyX4UCEw== +"@loaders.gl/draco@4.1.0-alpha.2": + version "4.1.0-alpha.2" + resolved "https://registry.yarnpkg.com/@loaders.gl/draco/-/draco-4.1.0-alpha.2.tgz#7a8c7534dad77b3a9278995fed02fd1c1dbeadb6" + integrity sha512-mfH3l61lVammoS79/BqOV3j1ZLBZ8W7P/CcDOnpersvX1bG+0raVQNLrltNudoSzcaQ/OfPK2wGDmH/vB7iWHA== dependencies: "@babel/runtime" "^7.3.1" - "@loaders.gl/loader-utils" "4.0.3" - "@loaders.gl/schema" "4.0.3" - "@loaders.gl/worker-utils" "4.0.3" + "@loaders.gl/loader-utils" "4.1.0-alpha.2" + "@loaders.gl/schema" "4.1.0-alpha.2" + "@loaders.gl/worker-utils" "4.1.0-alpha.2" draco3d "1.5.5" "@loaders.gl/gis@3.4.14", "@loaders.gl/gis@^3.4.13": @@ -2236,26 +2238,26 @@ "@math.gl/polygon" "^3.5.1" pbf "^3.2.1" -"@loaders.gl/gis@4.0.3", "@loaders.gl/gis@^4.0.3": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@loaders.gl/gis/-/gis-4.0.3.tgz#bdaee00825d12909eeef0fa82cfc8e60555ea96b" - integrity sha512-fBd5vxlcxZpn0g7yuW/NvhdBbcVuFfiSPmJDVOP3oyT5/c1va4h8FJaRd5RLpLep3tcrHevzjiBjfaEw9U9Z2g== +"@loaders.gl/gis@4.1.0-alpha.2", "@loaders.gl/gis@^4.1.0-alpha.2": + version "4.1.0-alpha.2" + resolved "https://registry.yarnpkg.com/@loaders.gl/gis/-/gis-4.1.0-alpha.2.tgz#261f52e7ddfcd8a565a3ec75beb276248374b502" + integrity sha512-W7Cidxv8lVqaR4ukFxPLOJ9F4M8VVeQPqCg9+qOnKlpht0xTtQA8RUeTpQkPSaPwfrEkFtVRtk7doQ35usY70w== dependencies: - "@loaders.gl/loader-utils" "4.0.3" - "@loaders.gl/schema" "4.0.3" + "@loaders.gl/loader-utils" "4.1.0-alpha.2" + "@loaders.gl/schema" "4.1.0-alpha.2" "@mapbox/vector-tile" "^1.3.1" "@math.gl/polygon" "^4.0.0" pbf "^3.2.1" -"@loaders.gl/gltf@3.4.14", "@loaders.gl/gltf@^3.4.13", "@loaders.gl/gltf@^4.0.3": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@loaders.gl/gltf/-/gltf-4.0.3.tgz#60a29464df34a8bee0b429ae92a3f9ce2a4d4f07" - integrity sha512-Lbve+DGkhrYMZTXCPBFbn9J30xmdoAt2TnqB3Xr6ZHytM3WOJmYeou5/t3vmUuBM1fjK0rKY1BFDvgQsX+5nNw== +"@loaders.gl/gltf@3.4.14", "@loaders.gl/gltf@^3.4.13", "@loaders.gl/gltf@^4.1.0-alpha.2": + version "4.1.0-alpha.2" + resolved "https://registry.yarnpkg.com/@loaders.gl/gltf/-/gltf-4.1.0-alpha.2.tgz#ffe9fc66d70c62846de6a586db3def34022eee9d" + integrity sha512-xoDIbaPjIz+brX7fEA9bHT5/Yd5gbpzSlhskNVoB/hArtDZ71PBFrOBGYjz2mfYQx0eD+Doz7TiECiyScADh6A== dependencies: - "@loaders.gl/draco" "4.0.3" - "@loaders.gl/images" "4.0.3" - "@loaders.gl/loader-utils" "4.0.3" - "@loaders.gl/textures" "4.0.3" + "@loaders.gl/draco" "4.1.0-alpha.2" + "@loaders.gl/images" "4.1.0-alpha.2" + "@loaders.gl/loader-utils" "4.1.0-alpha.2" + "@loaders.gl/textures" "4.1.0-alpha.2" "@math.gl/core" "^4.0.0" "@loaders.gl/images@3.4.14", "@loaders.gl/images@^3.4.13": @@ -2265,29 +2267,29 @@ dependencies: "@loaders.gl/loader-utils" "3.4.14" -"@loaders.gl/images@4.0.3": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@loaders.gl/images/-/images-4.0.3.tgz#fd09f51c1afb25af0bf4fbe74cb4de9edd3db224" - integrity sha512-nWbp9wzO7OPt20A7hY3k0xydR9ooY4rBASiNLrzdOELQYS0YMGHsNdSQpgyZlnAUMtcQHP8CqEUHRWlO3dAi3Q== +"@loaders.gl/images@4.1.0-alpha.2": + version "4.1.0-alpha.2" + resolved "https://registry.yarnpkg.com/@loaders.gl/images/-/images-4.1.0-alpha.2.tgz#f7bd4dcfd06fe71200d5718d60c93de4246b804a" + integrity sha512-Yu4KdIXwB7h0yRKMSnpgUBxFHvDVyYmRSBNIueY8FV4R88r24AT3z5Jz33/VqGYyhwWiAkatiYyV7LwENNINAA== dependencies: - "@loaders.gl/loader-utils" "4.0.3" + "@loaders.gl/loader-utils" "4.1.0-alpha.2" -"@loaders.gl/json@^4.0.3": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@loaders.gl/json/-/json-4.0.3.tgz#ad53e4aa808d670902f12720b5cfe771484b4b85" - integrity sha512-iZUiI3KkwgXjZD1GcfyubxPhCxAtf0L+XSLDl7kIcF9Fc7ap+84JqYtmgdhzyDfK5BmvVCUh6PaouPYzCALXZA== +"@loaders.gl/json@^4.1.0-alpha.2": + version "4.1.0-alpha.2" + resolved "https://registry.yarnpkg.com/@loaders.gl/json/-/json-4.1.0-alpha.2.tgz#725a640d5aaf48fbee1a7b49757d5d3438e5fdf2" + integrity sha512-3ZWJqIskcXRWKTlF4qtBFXV25a/u2FlxUyHq7Duko4TWJHCaxi/sC5knIzw6kvTsRl1yff4/e783Jn7oMNjHyQ== dependencies: - "@loaders.gl/gis" "4.0.3" - "@loaders.gl/loader-utils" "4.0.3" - "@loaders.gl/schema" "4.0.3" + "@loaders.gl/gis" "4.1.0-alpha.2" + "@loaders.gl/loader-utils" "4.1.0-alpha.2" + "@loaders.gl/schema" "4.1.0-alpha.2" -"@loaders.gl/loader-utils@3.4.14", "@loaders.gl/loader-utils@4.0.3", "@loaders.gl/loader-utils@^2.1.3", "@loaders.gl/loader-utils@^3.4.13", "@loaders.gl/loader-utils@^4.0.3": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@loaders.gl/loader-utils/-/loader-utils-4.0.3.tgz#a3229e070d849bb3699a13857df5aa0e56ba73bc" - integrity sha512-orklRrTVX95C4CbPUBVwhQTe992DiRsdIh9r2vHX+geQCrPM2gkdTpm+DQvulm7uFCmP/hmqbE37mye7DnJV+g== +"@loaders.gl/loader-utils@3.4.14", "@loaders.gl/loader-utils@4.1.0-alpha.2", "@loaders.gl/loader-utils@^2.1.3", "@loaders.gl/loader-utils@^3.4.13", "@loaders.gl/loader-utils@^4.1.0-alpha.2": + version "4.1.0-alpha.2" + resolved "https://registry.yarnpkg.com/@loaders.gl/loader-utils/-/loader-utils-4.1.0-alpha.2.tgz#811c30b295906aac509bf63704b4dc3aace45d5e" + integrity sha512-hbU2vdTqCzlNQlFQ/C4VftPXWEKgmPDBUCdXOANCVWcNJW6Qcjj0MSGEKBM+6tlFWYX/OaV8tChPLysVwR6/Sw== dependencies: "@babel/runtime" "^7.3.1" - "@loaders.gl/worker-utils" "4.0.3" + "@loaders.gl/worker-utils" "4.1.0-alpha.2" "@probe.gl/stats" "^4.0.2" "@loaders.gl/math@3.4.14": @@ -2310,14 +2312,14 @@ "@math.gl/polygon" "^3.5.1" pbf "^3.2.1" -"@loaders.gl/polyfills@^4.0.3": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@loaders.gl/polyfills/-/polyfills-4.0.3.tgz#a307909795c8af1f778c94bc540122e617cb4bb9" - integrity sha512-ldQEl7M80VNY9FewUOANASV2Q08OToVuSdO5LbuLoIO7n1VNxJmYg8AbXN5SZ5j93RUSyKVyO5WxhBQicoDuDQ== +"@loaders.gl/polyfills@^4.1.0-alpha.2": + version "4.1.0-alpha.2" + resolved "https://registry.yarnpkg.com/@loaders.gl/polyfills/-/polyfills-4.1.0-alpha.2.tgz#883743ed1acb161ab2f61c7aaf96b8cbc1591f9d" + integrity sha512-CP+IX2k5rHw2nVqpo+2bSvXnaS+0AUMthIc4RvjnffZe+9mINJl/hXaU3b+kVnEAOmuiWhOrvDb2iM2afO9slg== dependencies: "@babel/runtime" "^7.3.1" - "@loaders.gl/crypto" "4.0.3" - "@loaders.gl/loader-utils" "4.0.3" + "@loaders.gl/crypto" "4.1.0-alpha.2" + "@loaders.gl/loader-utils" "4.1.0-alpha.2" buffer "^6.0.3" get-pixels "^3.3.3" ndarray "^1.0.19" @@ -2333,10 +2335,10 @@ dependencies: "@types/geojson" "^7946.0.7" -"@loaders.gl/schema@4.0.3": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@loaders.gl/schema/-/schema-4.0.3.tgz#93e0dc640c528c044b040e960d5014e746ba6fcc" - integrity sha512-WC+T0S76RbLcDq+a/aAViNSAf2Gr8rCs6tXmk3Cq/pcwLWYM8XNWlR1ZUMuyRyeZIBBur24LE4GSGlvt+xD4JA== +"@loaders.gl/schema@4.1.0-alpha.2": + version "4.1.0-alpha.2" + resolved "https://registry.yarnpkg.com/@loaders.gl/schema/-/schema-4.1.0-alpha.2.tgz#d90378833fb00c613116cbc73444f8f3f99c29fc" + integrity sha512-y/Y59c0QQyPpdlBlH1cOEj5pxMEkBGaogvFaj8RlzqgZCNjsbnzSTyBcrtd/wl6fTiHmSo+apP3rNQJ8IQ9Uuw== dependencies: "@types/geojson" "^7946.0.7" @@ -2351,15 +2353,15 @@ "@loaders.gl/schema" "3.4.14" "@mapbox/martini" "^0.2.0" -"@loaders.gl/textures@4.0.3": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@loaders.gl/textures/-/textures-4.0.3.tgz#d4e3e33d349e71797c46899d14e7470a07c26586" - integrity sha512-nwexaPrctTrwPXDMiS++jmQGUcCMg51XGSMu9kfLKhrPWiOU4yEPyAK3wjmlXHymv4FVIy8UAgGAu+8jZf3g6w== +"@loaders.gl/textures@4.1.0-alpha.2": + version "4.1.0-alpha.2" + resolved "https://registry.yarnpkg.com/@loaders.gl/textures/-/textures-4.1.0-alpha.2.tgz#4747f7308a7cfa2769ff4a7f4098b7ab4751f2b3" + integrity sha512-vmaeTP3EkWPp9s2LAGhT/PIwSat6fRddngHBrfr3M5U/rnZ4e/MAOsVaZfzqb/4nIFAmAewlU1C+R89C4vOFsg== dependencies: - "@loaders.gl/images" "4.0.3" - "@loaders.gl/loader-utils" "4.0.3" - "@loaders.gl/schema" "4.0.3" - "@loaders.gl/worker-utils" "4.0.3" + "@loaders.gl/images" "4.1.0-alpha.2" + "@loaders.gl/loader-utils" "4.1.0-alpha.2" + "@loaders.gl/schema" "4.1.0-alpha.2" + "@loaders.gl/worker-utils" "4.1.0-alpha.2" ktx-parse "^0.0.4" texture-compressor "^1.0.2" @@ -2384,13 +2386,13 @@ "@loaders.gl/loader-utils" "^2.1.3" gifshot "^0.4.5" -"@loaders.gl/wkt@^4.0.3": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@loaders.gl/wkt/-/wkt-4.0.3.tgz#b734a0aa99bcf5c12322f0f7e1b321b77ff3a2a4" - integrity sha512-4PsAhDKmP6sRUfeHTaClwkTi+JGlEkdU3faZaLKcF5MAuFksytZOXX4kLG2e84lFtpFH72zztivHUihEIeXuPg== +"@loaders.gl/wkt@4.1.0-alpha.2", "@loaders.gl/wkt@^4.1.0-alpha.2": + version "4.1.0-alpha.2" + resolved "https://registry.yarnpkg.com/@loaders.gl/wkt/-/wkt-4.1.0-alpha.2.tgz#f886ce594c4be1ccb7225206524f47a4398742ab" + integrity sha512-eIiYmHKKOu3OmDmHR++wHd1Yf6LbQ7+xgKyWnOtpBkviz0qA8FLjXmpBENwaZjkxMh+VLab0QuX7SQ61rZRLow== dependencies: - "@loaders.gl/loader-utils" "4.0.3" - "@loaders.gl/schema" "4.0.3" + "@loaders.gl/loader-utils" "4.1.0-alpha.2" + "@loaders.gl/schema" "4.1.0-alpha.2" "@loaders.gl/wms@^3.4.13": version "3.4.14" @@ -2413,10 +2415,10 @@ dependencies: "@babel/runtime" "^7.3.1" -"@loaders.gl/worker-utils@4.0.3": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@loaders.gl/worker-utils/-/worker-utils-4.0.3.tgz#94bda0e57f686421247beb3b7c8d6eaba26b235c" - integrity sha512-P8ZvWNE3fpdb7KHYv5TxInL2AH3Z+VVnLrJjuClZrPPouvBA/pAhgPu+Y2ktvawZ35PJ1Y9EMLDin864pMXN+Q== +"@loaders.gl/worker-utils@4.1.0-alpha.2": + version "4.1.0-alpha.2" + resolved "https://registry.yarnpkg.com/@loaders.gl/worker-utils/-/worker-utils-4.1.0-alpha.2.tgz#000e5d94d1bcf5a16ccb3dce20d3b7ab448e6769" + integrity sha512-EJ88ypx6R7QLnnw2FNUKEnwoMIRXK250KKchN1n4UC0Eo7C8Z6Fk12tbqMGa16YE/aKa7KdQtPW1iIWQ1P741w== dependencies: "@babel/runtime" "^7.3.1" @@ -2673,6 +2675,13 @@ "@math.gl/core" "3.5.3" gl-matrix "^3.0.0" +"@math.gl/polygon@4.0.0", "@math.gl/polygon@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@math.gl/polygon/-/polygon-4.0.0.tgz#17d2b1c7569d5a7fd1cde67e885d77e5742c23ec" + integrity sha512-BsseetloYtSZkphH5Fqn02uCL9UWsD26DNLfGhvd2farhU9BaJnn0JGuZnRWT/rf+glZZcDJkyqHq5pDnSX/BQ== + dependencies: + "@math.gl/core" "4.0.0" + "@math.gl/polygon@^3.5.1": version "3.5.3" resolved "https://registry.yarnpkg.com/@math.gl/polygon/-/polygon-3.5.3.tgz#5cdd6ad623e3a9652ed25eb52bb9941c657ee78d" @@ -2687,13 +2696,6 @@ dependencies: "@math.gl/core" "3.6.3" -"@math.gl/polygon@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@math.gl/polygon/-/polygon-4.0.0.tgz#17d2b1c7569d5a7fd1cde67e885d77e5742c23ec" - integrity sha512-BsseetloYtSZkphH5Fqn02uCL9UWsD26DNLfGhvd2farhU9BaJnn0JGuZnRWT/rf+glZZcDJkyqHq5pDnSX/BQ== - dependencies: - "@math.gl/core" "4.0.0" - "@math.gl/sun@^3.6.2": version "3.6.3" resolved "https://registry.yarnpkg.com/@math.gl/sun/-/sun-3.6.3.tgz#30c15612313b56349c568f21f39c0e0f0e77b2df"