From 7627aba22aeb8d71f77a75a8f19bc680fdc2197a Mon Sep 17 00:00:00 2001 From: Anders Rantala Hunderi Date: Wed, 19 Mar 2025 14:32:35 +0100 Subject: [PATCH 1/5] Renamed ReadoutWrapper to SubsurfaceViewerWrapper --- .../src/modules/2DViewer/view/components/LayersWrapper.tsx | 2 +- .../{ReadoutWrapper.tsx => SubsurfaceViewerWrapper.tsx} | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) rename frontend/src/modules/2DViewer/view/components/{ReadoutWrapper.tsx => SubsurfaceViewerWrapper.tsx} (95%) diff --git a/frontend/src/modules/2DViewer/view/components/LayersWrapper.tsx b/frontend/src/modules/2DViewer/view/components/LayersWrapper.tsx index 8ddfd492a..49b4fb1f0 100644 --- a/frontend/src/modules/2DViewer/view/components/LayersWrapper.tsx +++ b/frontend/src/modules/2DViewer/view/components/LayersWrapper.tsx @@ -18,7 +18,7 @@ import { usePublishSubscribeTopicValue } from "@modules/_shared/utils/PublishSub import type { BoundingBox2D, ViewportType } from "@webviz/subsurface-viewer"; import type { ViewsType } from "@webviz/subsurface-viewer/dist/SubsurfaceViewer"; -import { ReadoutWrapper } from "./ReadoutWrapper"; +import { SubsurfaceViewerWrapper } from "./SubsurfaceViewerWrapper"; import { PlaceholderLayer } from "../customDeckGlLayers/PlaceholderLayer"; import type { DeckGlLayerWithPosition } from "../utils/makeViewsAndLayers"; diff --git a/frontend/src/modules/2DViewer/view/components/ReadoutWrapper.tsx b/frontend/src/modules/2DViewer/view/components/SubsurfaceViewerWrapper.tsx similarity index 95% rename from frontend/src/modules/2DViewer/view/components/ReadoutWrapper.tsx rename to frontend/src/modules/2DViewer/view/components/SubsurfaceViewerWrapper.tsx index 2549473e3..e48d0cfbb 100644 --- a/frontend/src/modules/2DViewer/view/components/ReadoutWrapper.tsx +++ b/frontend/src/modules/2DViewer/view/components/SubsurfaceViewerWrapper.tsx @@ -7,14 +7,14 @@ import type { BoundingBox2D, LayerPickInfo, MapMouseEvent, ViewStateType, ViewsT import { ReadoutBoxWrapper } from "./ReadoutBoxWrapper"; import { Toolbar } from "./Toolbar"; -export type ReadooutWrapperProps = { +export type SubsurfaceViewerWrapperProps = { views: ViewsType; viewportAnnotations: React.ReactNode[]; layers: DeckGlLayer[]; bounds?: BoundingBox2D; }; -export function ReadoutWrapper(props: ReadooutWrapperProps): React.ReactNode { +export function SubsurfaceViewerWrapper(props: SubsurfaceViewerWrapperProps): React.ReactNode { const id = React.useId(); const [cameraPositionSetByAction, setCameraPositionSetByAction] = React.useState(null); From d186dea4479a07296b44eb32efc7fb5479e3c2bb Mon Sep 17 00:00:00 2001 From: Anders Rantala Hunderi Date: Thu, 20 Mar 2025 11:20:42 +0100 Subject: [PATCH 2/5] Upgraded map viewer package --- frontend/package-lock.json | 837 ++++++++++++++++++++++--------------- frontend/package.json | 2 +- 2 files changed, 504 insertions(+), 335 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index edcaa2492..4cd9b6509 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -19,7 +19,7 @@ "@tanstack/react-query-devtools": "^5.63", "@types/geojson": "^7946.0.14", "@webviz/group-tree-plot": "^1.4.0", - "@webviz/subsurface-viewer": "^1.1.1", + "@webviz/subsurface-viewer": "^1.8.7", "@webviz/well-completions-plot": "^1.5.11", "@webviz/well-log-viewer": "^2.1.0", "animate.css": "^4.1.1", @@ -541,8 +541,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.25.6", - "license": "MIT", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.10.tgz", + "integrity": "sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -651,7 +652,8 @@ }, "node_modules/@deck.gl-community/editable-layers": { "version": "9.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@deck.gl-community/editable-layers/-/editable-layers-9.0.3.tgz", + "integrity": "sha512-Jlcs1DBC9CADuQjPYjvpA/gVnuo8u9xCKRKbPYgzqu1jIGJ0+T84yqBfppnqYgbdf93u/9nse/lJ+rQefH/Y9Q==", "dependencies": { "@turf/along": "^6.5.0", "@turf/area": "^6.5.0", @@ -704,11 +706,13 @@ }, "node_modules/@deck.gl-community/editable-layers/node_modules/eventemitter3": { "version": "5.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" }, "node_modules/@deck.gl-community/layers": { "version": "9.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@deck.gl-community/layers/-/layers-9.0.3.tgz", + "integrity": "sha512-AwrlB1qcuTa2mO3KDeye4asVJAdy1oCL/8Y5VsvgVtki3S2N/GR3ymVlIQ0xtO+ioWp7ROgCnqqcDGHRlpzkag==", "peer": true, "dependencies": { "@deck.gl/core": "^9.0.12", @@ -729,8 +733,9 @@ } }, "node_modules/@deck.gl/aggregation-layers": { - "version": "9.0.33", - "license": "MIT", + "version": "9.0.40", + "resolved": "https://registry.npmjs.org/@deck.gl/aggregation-layers/-/aggregation-layers-9.0.40.tgz", + "integrity": "sha512-tZ3NEDVlZnCnwbxdoB+qB184gSricnbcOZwkPHqNWk+2wadyd6Q0j9V9aZ9V6M5BGDn86DrOKPFygwmUl/jkwA==", "dependencies": { "@luma.gl/constants": "~9.0.27", "@luma.gl/shadertools": "~9.0.27", @@ -745,8 +750,9 @@ } }, "node_modules/@deck.gl/core": { - "version": "9.0.33", - "license": "MIT", + "version": "9.0.40", + "resolved": "https://registry.npmjs.org/@deck.gl/core/-/core-9.0.40.tgz", + "integrity": "sha512-NfBXRTuiqhYE42dOz73XnKaO7YZH8qsR1/9U/6lSV/XKnfrFsbhhRUePz3Ik6S3GbVpOoqCDuTFf0i3Tj+pxyw==", "dependencies": { "@loaders.gl/core": "^4.2.0", "@loaders.gl/images": "^4.2.0", @@ -767,8 +773,9 @@ } }, "node_modules/@deck.gl/extensions": { - "version": "9.0.33", - "license": "MIT", + "version": "9.0.40", + "resolved": "https://registry.npmjs.org/@deck.gl/extensions/-/extensions-9.0.40.tgz", + "integrity": "sha512-1lESbg4NLkXxonO5f6aEX9a1DP4d8Vd+YLz9O4SwBJeZQZSeo4d3iJuJPL3MyA4thqdaA1Q9Vi8gtD9Mru6asg==", "dependencies": { "@luma.gl/constants": "~9.0.27", "@luma.gl/shadertools": "~9.0.27", @@ -781,8 +788,9 @@ } }, "node_modules/@deck.gl/geo-layers": { - "version": "9.0.33", - "license": "MIT", + "version": "9.0.40", + "resolved": "https://registry.npmjs.org/@deck.gl/geo-layers/-/geo-layers-9.0.40.tgz", + "integrity": "sha512-kIxryoyWzicqLvAImtuUSX7NEntSdMIjCq0DoDdvSfhE37R0FxDRc5Vse5fjg9/1nNshw7mEcD2KxUS8MI8ypA==", "dependencies": { "@loaders.gl/3d-tiles": "^4.2.0", "@loaders.gl/gis": "^4.2.0", @@ -812,8 +820,9 @@ } }, "node_modules/@deck.gl/json": { - "version": "9.0.33", - "license": "MIT", + "version": "9.0.40", + "resolved": "https://registry.npmjs.org/@deck.gl/json/-/json-9.0.40.tgz", + "integrity": "sha512-GAkENkzNPjEcHOR2xZJkgvzDWlqRhaU2Um5rmSdvm2FVYlfEpIWkfIWzroT5YrVOJ8nGC4pOYBXo0SLyNOwM9Q==", "dependencies": { "jsep": "^0.3.0" }, @@ -822,8 +831,9 @@ } }, "node_modules/@deck.gl/layers": { - "version": "9.0.33", - "license": "MIT", + "version": "9.0.40", + "resolved": "https://registry.npmjs.org/@deck.gl/layers/-/layers-9.0.40.tgz", + "integrity": "sha512-7emTkPLVWeVuV5VPBTmHDJegkGH1i76GuvhHNXikper/Zwljf9QVUacPqk3or4lHBCzzlkeccCsRmTd3l+MBYQ==", "dependencies": { "@loaders.gl/images": "^4.2.0", "@loaders.gl/schema": "^4.2.0", @@ -841,8 +851,9 @@ } }, "node_modules/@deck.gl/mesh-layers": { - "version": "9.0.33", - "license": "MIT", + "version": "9.0.40", + "resolved": "https://registry.npmjs.org/@deck.gl/mesh-layers/-/mesh-layers-9.0.40.tgz", + "integrity": "sha512-aCYnxfXmTrod+YMC6cHN4fP/OBihkZi+hgllJkBDiKkFr83cktJJGfjruHYYyQQuBKUPI1J2LP6aUD5/vXO2MA==", "dependencies": { "@loaders.gl/gltf": "^4.2.0", "@luma.gl/gltf": "~9.0.27", @@ -855,8 +866,9 @@ } }, "node_modules/@deck.gl/react": { - "version": "9.0.33", - "license": "MIT", + "version": "9.0.40", + "resolved": "https://registry.npmjs.org/@deck.gl/react/-/react-9.0.40.tgz", + "integrity": "sha512-NiLgIMbgcsukDVKBNwyoE4e6Xtb43uR1WFSpfI2ZcL85BJMfzy7YWsSjJCN5jTdovMv7b9jkNxWWrKY702x3Tg==", "peerDependencies": { "@deck.gl/core": "^9.0.0", "react": ">=16.3.0", @@ -2110,38 +2122,41 @@ "license": "MIT" }, "node_modules/@loaders.gl/3d-tiles": { - "version": "4.2.5", - "license": "MIT", - "dependencies": { - "@loaders.gl/compression": "4.2.5", - "@loaders.gl/crypto": "4.2.5", - "@loaders.gl/draco": "4.2.5", - "@loaders.gl/gltf": "4.2.5", - "@loaders.gl/images": "4.2.5", - "@loaders.gl/loader-utils": "4.2.5", - "@loaders.gl/math": "4.2.5", - "@loaders.gl/tiles": "4.2.5", - "@loaders.gl/zip": "4.2.5", - "@math.gl/core": "^4.0.1", - "@math.gl/culling": "^4.0.1", - "@math.gl/geospatial": "^4.0.1", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@loaders.gl/3d-tiles/-/3d-tiles-4.3.3.tgz", + "integrity": "sha512-3uOXE8W0ppbY7tI5ywrU3RwCLMZtd+Jh0KgY9+EbjBVnZDHcnFxytYuG4NzfJEf5zwv0jladeSbJS1oVbLi8Jw==", + "dependencies": { + "@loaders.gl/compression": "4.3.3", + "@loaders.gl/crypto": "4.3.3", + "@loaders.gl/draco": "4.3.3", + "@loaders.gl/gltf": "4.3.3", + "@loaders.gl/images": "4.3.3", + "@loaders.gl/loader-utils": "4.3.3", + "@loaders.gl/math": "4.3.3", + "@loaders.gl/tiles": "4.3.3", + "@loaders.gl/zip": "4.3.3", + "@math.gl/core": "^4.1.0", + "@math.gl/culling": "^4.1.0", + "@math.gl/geospatial": "^4.1.0", "@probe.gl/log": "^4.0.4", "long": "^5.2.1" }, "peerDependencies": { - "@loaders.gl/core": "^4.0.0" + "@loaders.gl/core": "^4.3.0" } }, "node_modules/@loaders.gl/3d-tiles/node_modules/long": { - "version": "5.2.3", - "license": "Apache-2.0" + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/long/-/long-5.3.1.tgz", + "integrity": "sha512-ka87Jz3gcx/I7Hal94xaN2tZEOPoUOEVftkQqZx2EeQRN7LGdfLlI3FvZ+7WDplm+vK2Urx9ULrvSowtdCieng==" }, "node_modules/@loaders.gl/compression": { - "version": "4.2.5", - "license": "MIT", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@loaders.gl/compression/-/compression-4.3.3.tgz", + "integrity": "sha512-1IZIFb6MaIiwMwsLEUk5Tyu8qlY7ge2S2Uy2qJxTP23CHakdocue89c54ygo0CgOiUw3Tr1r5JVa3EhB4+lOJQ==", "dependencies": { - "@loaders.gl/loader-utils": "4.2.5", - "@loaders.gl/worker-utils": "4.2.5", + "@loaders.gl/loader-utils": "4.3.3", + "@loaders.gl/worker-utils": "4.3.3", "@types/brotli": "^1.3.0", "@types/pako": "^1.0.1", "fflate": "0.7.4", @@ -2155,218 +2170,236 @@ "zstd-codec": "^0.1" }, "peerDependencies": { - "@loaders.gl/core": "^4.0.0" + "@loaders.gl/core": "^4.3.0" } }, "node_modules/@loaders.gl/core": { - "version": "4.2.5", - "license": "MIT", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@loaders.gl/core/-/core-4.3.3.tgz", + "integrity": "sha512-RaQ3uNg4ZaVqDRgvJ2CjaOjeeHdKvbKuzFFgbGnflVB9is5bu+h3EKc3Jke7NGVvLBsZ6oIXzkwHijVsMfxv8g==", "dependencies": { - "@loaders.gl/loader-utils": "4.2.5", - "@loaders.gl/schema": "4.2.5", - "@loaders.gl/worker-utils": "4.2.5", + "@loaders.gl/loader-utils": "4.3.3", + "@loaders.gl/schema": "4.3.3", + "@loaders.gl/worker-utils": "4.3.3", "@probe.gl/log": "^4.0.2" } }, "node_modules/@loaders.gl/crypto": { - "version": "4.2.5", - "license": "MIT", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@loaders.gl/crypto/-/crypto-4.3.3.tgz", + "integrity": "sha512-uwqcSGJ4DdS2g3BYc4Noa4EGfnbK63wCQnke4Xyc7KTNl6P70oblDlRbL3df1WQPMTUoXYOERE+ei7Q0Tee4vQ==", "dependencies": { - "@loaders.gl/loader-utils": "4.2.5", - "@loaders.gl/worker-utils": "4.2.5", + "@loaders.gl/loader-utils": "4.3.3", + "@loaders.gl/worker-utils": "4.3.3", "@types/crypto-js": "^4.0.2" }, "peerDependencies": { - "@loaders.gl/core": "^4.0.0" + "@loaders.gl/core": "^4.3.0" } }, "node_modules/@loaders.gl/draco": { - "version": "4.2.5", - "license": "MIT", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@loaders.gl/draco/-/draco-4.3.3.tgz", + "integrity": "sha512-f2isxvOoH4Pm5p4mGvNN9gVigUwX84j9gdKNMV1aSo56GS1KE3GS2rXaIoy1qaIHMzkPySUTEcOTwayf0hWU7A==", "dependencies": { - "@loaders.gl/loader-utils": "4.2.5", - "@loaders.gl/schema": "4.2.5", - "@loaders.gl/worker-utils": "4.2.5", + "@loaders.gl/loader-utils": "4.3.3", + "@loaders.gl/schema": "4.3.3", + "@loaders.gl/worker-utils": "4.3.3", "draco3d": "1.5.7" }, "peerDependencies": { - "@loaders.gl/core": "^4.0.0" + "@loaders.gl/core": "^4.3.0" } }, "node_modules/@loaders.gl/gis": { - "version": "4.2.5", - "license": "MIT", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@loaders.gl/gis/-/gis-4.3.3.tgz", + "integrity": "sha512-OQNrieRMihsy2mVHuhi7d/SThUdNCgFXmUqhCG53qAVIS+7Nm//lO9zty3EzfOGWHjYcx6+nxl4QO3mR5fXMvg==", "dependencies": { - "@loaders.gl/loader-utils": "4.2.5", - "@loaders.gl/schema": "4.2.5", + "@loaders.gl/loader-utils": "4.3.3", + "@loaders.gl/schema": "4.3.3", "@mapbox/vector-tile": "^1.3.1", - "@math.gl/polygon": "^4.0.0", + "@math.gl/polygon": "^4.1.0", "pbf": "^3.2.1" }, "peerDependencies": { - "@loaders.gl/core": "^4.0.0" + "@loaders.gl/core": "^4.3.0" } }, "node_modules/@loaders.gl/gltf": { - "version": "4.2.5", - "license": "MIT", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@loaders.gl/gltf/-/gltf-4.3.3.tgz", + "integrity": "sha512-M7jQ7KIB5itctDmGYuT9gndmjNwk1lwQ+BV4l5CoFp38e4xJESPglj2Kj8csWdm3WJhrxIYEP4GpjXK02n8DSQ==", "dependencies": { - "@loaders.gl/draco": "4.2.5", - "@loaders.gl/images": "4.2.5", - "@loaders.gl/loader-utils": "4.2.5", - "@loaders.gl/schema": "4.2.5", - "@loaders.gl/textures": "4.2.5", - "@math.gl/core": "^4.0.0" + "@loaders.gl/draco": "4.3.3", + "@loaders.gl/images": "4.3.3", + "@loaders.gl/loader-utils": "4.3.3", + "@loaders.gl/schema": "4.3.3", + "@loaders.gl/textures": "4.3.3", + "@math.gl/core": "^4.1.0" }, "peerDependencies": { - "@loaders.gl/core": "^4.0.0" + "@loaders.gl/core": "^4.3.0" } }, "node_modules/@loaders.gl/i3s": { - "version": "4.2.5", - "license": "MIT", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@loaders.gl/i3s/-/i3s-4.3.3.tgz", + "integrity": "sha512-un4CoCxKNrTW4nhMTwQxRqPWA9/P2oG6+p5NJjnPPbEcs9QvrHJVXzCnzIpt2nvW7gyZyEHXfwBkVqGrZN48ng==", "peer": true, "dependencies": { - "@loaders.gl/compression": "4.2.5", - "@loaders.gl/crypto": "4.2.5", - "@loaders.gl/draco": "4.2.5", - "@loaders.gl/images": "4.2.5", - "@loaders.gl/loader-utils": "4.2.5", - "@loaders.gl/math": "4.2.5", - "@loaders.gl/schema": "4.2.5", - "@loaders.gl/textures": "4.2.5", - "@loaders.gl/tiles": "4.2.5", - "@loaders.gl/zip": "4.2.5", - "@math.gl/core": "^4.0.0", - "@math.gl/culling": "^4.0.0", - "@math.gl/geospatial": "^4.0.0" + "@loaders.gl/compression": "4.3.3", + "@loaders.gl/crypto": "4.3.3", + "@loaders.gl/draco": "4.3.3", + "@loaders.gl/images": "4.3.3", + "@loaders.gl/loader-utils": "4.3.3", + "@loaders.gl/math": "4.3.3", + "@loaders.gl/schema": "4.3.3", + "@loaders.gl/textures": "4.3.3", + "@loaders.gl/tiles": "4.3.3", + "@loaders.gl/zip": "4.3.3", + "@math.gl/core": "^4.1.0", + "@math.gl/culling": "^4.1.0", + "@math.gl/geospatial": "^4.1.0" }, "peerDependencies": { - "@loaders.gl/core": "^4.0.0" + "@loaders.gl/core": "^4.3.0" } }, "node_modules/@loaders.gl/images": { - "version": "4.2.5", - "license": "MIT", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@loaders.gl/images/-/images-4.3.3.tgz", + "integrity": "sha512-s4InjIXqEu0T7anZLj4OBUuDBt2BNnAD0GLzSexSkBfQZfpXY0XJNl4mMf5nUKb5NDfXhIKIqv8y324US+I28A==", "dependencies": { - "@loaders.gl/loader-utils": "4.2.5" + "@loaders.gl/loader-utils": "4.3.3" }, "peerDependencies": { - "@loaders.gl/core": "^4.0.0" + "@loaders.gl/core": "^4.3.0" } }, "node_modules/@loaders.gl/loader-utils": { - "version": "4.2.5", - "license": "MIT", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@loaders.gl/loader-utils/-/loader-utils-4.3.3.tgz", + "integrity": "sha512-8erUIwWLiIsZX36fFa/seZsfTsWlLk72Sibh/YZJrPAefuVucV4mGGzMBZ96LE2BUfJhadn250eio/59TUFbNw==", "dependencies": { - "@loaders.gl/schema": "4.2.5", - "@loaders.gl/worker-utils": "4.2.5", + "@loaders.gl/schema": "4.3.3", + "@loaders.gl/worker-utils": "4.3.3", + "@probe.gl/log": "^4.0.2", "@probe.gl/stats": "^4.0.2" }, "peerDependencies": { - "@loaders.gl/core": "^4.0.0" + "@loaders.gl/core": "^4.3.0" } }, "node_modules/@loaders.gl/math": { - "version": "4.2.5", - "license": "MIT", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@loaders.gl/math/-/math-4.3.3.tgz", + "integrity": "sha512-oUfCFYsybm6fKnYHU1BzqXsh0sCJ+M9CXNnD/083ZNW+lWdxD44eeTE3DdFYPEMe+yyMkLSGx/8WTMv7ev2t5Q==", "dependencies": { - "@loaders.gl/images": "4.2.5", - "@loaders.gl/loader-utils": "4.2.5", - "@math.gl/core": "^4.0.0" + "@loaders.gl/images": "4.3.3", + "@loaders.gl/loader-utils": "4.3.3", + "@math.gl/core": "^4.1.0" }, "peerDependencies": { - "@loaders.gl/core": "^4.0.0" + "@loaders.gl/core": "^4.3.0" } }, "node_modules/@loaders.gl/mvt": { - "version": "4.2.5", - "license": "MIT", - "dependencies": { - "@loaders.gl/gis": "4.2.5", - "@loaders.gl/images": "4.2.5", - "@loaders.gl/loader-utils": "4.2.5", - "@loaders.gl/schema": "4.2.5", - "@math.gl/polygon": "^4.0.0", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@loaders.gl/mvt/-/mvt-4.3.3.tgz", + "integrity": "sha512-y7YtrpPBOR4ek1Vj8vM2dRFrFfZHz7e5ZuYSgANOAyGzDXbnZ5TKPPIQC8Plm/y3ZQe+063yJ+kuGc91FBRbXg==", + "dependencies": { + "@loaders.gl/gis": "4.3.3", + "@loaders.gl/images": "4.3.3", + "@loaders.gl/loader-utils": "4.3.3", + "@loaders.gl/schema": "4.3.3", + "@math.gl/polygon": "^4.1.0", + "@probe.gl/stats": "^4.0.0", "pbf": "^3.2.1" }, "peerDependencies": { - "@loaders.gl/core": "^4.0.0" + "@loaders.gl/core": "^4.3.0" } }, "node_modules/@loaders.gl/schema": { - "version": "4.2.5", - "license": "MIT", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@loaders.gl/schema/-/schema-4.3.3.tgz", + "integrity": "sha512-zacc9/8je+VbuC6N/QRfiTjRd+BuxsYlddLX1u5/X/cg9s36WZZBlU1oNKUgTYe8eO6+qLyYx77yi+9JbbEehw==", "dependencies": { "@types/geojson": "^7946.0.7" }, "peerDependencies": { - "@loaders.gl/core": "^4.0.0" + "@loaders.gl/core": "^4.3.0" } }, "node_modules/@loaders.gl/terrain": { - "version": "4.2.5", - "license": "MIT", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@loaders.gl/terrain/-/terrain-4.3.3.tgz", + "integrity": "sha512-qPfpYL0imojyic0dTW71d9M8k2SY+wD60m31658vtsMogdVeBiAX/WYtk8W/NKcqBS8FMv9CC41PlULrvcZ7TQ==", "dependencies": { - "@loaders.gl/images": "4.2.5", - "@loaders.gl/loader-utils": "4.2.5", - "@loaders.gl/schema": "4.2.5", + "@loaders.gl/images": "4.3.3", + "@loaders.gl/loader-utils": "4.3.3", + "@loaders.gl/schema": "4.3.3", "@mapbox/martini": "^0.2.0" }, "peerDependencies": { - "@loaders.gl/core": "^4.0.0" + "@loaders.gl/core": "^4.3.0" } }, "node_modules/@loaders.gl/textures": { - "version": "4.2.5", - "license": "MIT", - "dependencies": { - "@loaders.gl/images": "4.2.5", - "@loaders.gl/loader-utils": "4.2.5", - "@loaders.gl/schema": "4.2.5", - "@loaders.gl/worker-utils": "4.2.5", - "@math.gl/types": "^4.0.1", - "ktx-parse": "^0.0.4", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@loaders.gl/textures/-/textures-4.3.3.tgz", + "integrity": "sha512-qIo4ehzZnXFpPKl1BGQG4G3cAhBSczO9mr+H/bT7qFwtSirWVlqsvMlx1Q4VpmouDu+tudwwOlq7B3yqU5P5yQ==", + "dependencies": { + "@loaders.gl/images": "4.3.3", + "@loaders.gl/loader-utils": "4.3.3", + "@loaders.gl/schema": "4.3.3", + "@loaders.gl/worker-utils": "4.3.3", + "@math.gl/types": "^4.1.0", + "ktx-parse": "^0.7.0", "texture-compressor": "^1.0.2" }, "peerDependencies": { - "@loaders.gl/core": "^4.0.0" + "@loaders.gl/core": "^4.3.0" } }, "node_modules/@loaders.gl/tiles": { - "version": "4.2.5", - "license": "MIT", - "dependencies": { - "@loaders.gl/loader-utils": "4.2.5", - "@loaders.gl/math": "4.2.5", - "@math.gl/core": "^4.0.0", - "@math.gl/culling": "^4.0.0", - "@math.gl/geospatial": "^4.0.0", - "@math.gl/web-mercator": "^4.0.0", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@loaders.gl/tiles/-/tiles-4.3.3.tgz", + "integrity": "sha512-cmC/spc+DM5aCSHoHrEuTPhDLuZRtkrWnlHkhC2Tur9uiUr41U3vXnC5slJkOeIWkaN4Q7KRFGCQ6SCendYfMg==", + "dependencies": { + "@loaders.gl/loader-utils": "4.3.3", + "@loaders.gl/math": "4.3.3", + "@math.gl/core": "^4.1.0", + "@math.gl/culling": "^4.1.0", + "@math.gl/geospatial": "^4.1.0", + "@math.gl/web-mercator": "^4.1.0", "@probe.gl/stats": "^4.0.2" }, "peerDependencies": { - "@loaders.gl/core": "^4.0.0" + "@loaders.gl/core": "^4.3.0" } }, "node_modules/@loaders.gl/wms": { - "version": "4.2.5", - "license": "MIT", - "dependencies": { - "@loaders.gl/images": "4.2.5", - "@loaders.gl/loader-utils": "4.2.5", - "@loaders.gl/schema": "4.2.5", - "@loaders.gl/xml": "4.2.5", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@loaders.gl/wms/-/wms-4.3.3.tgz", + "integrity": "sha512-SmpdFB/Jhtzbc52TlMKRSxQkUDfYP/FN8qdTdL3PtVN74Vuh4eZ8t7nLzplUCx0tbkbT1D7nfreSU4ndWq2zjQ==", + "dependencies": { + "@loaders.gl/images": "4.3.3", + "@loaders.gl/loader-utils": "4.3.3", + "@loaders.gl/schema": "4.3.3", + "@loaders.gl/xml": "4.3.3", "@turf/rewind": "^5.1.5", "deep-strict-equal": "^0.2.0" }, "peerDependencies": { - "@loaders.gl/core": "^4.0.0" + "@loaders.gl/core": "^4.3.0" } }, "node_modules/@loaders.gl/wms/node_modules/@turf/boolean-clockwise": { "version": "5.1.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/boolean-clockwise/-/boolean-clockwise-5.1.5.tgz", + "integrity": "sha512-FqbmEEOJ4rU4/2t7FKx0HUWmjFEVqR+NJrFP7ymGSjja2SQ7Q91nnBihGuT+yuHHl6ElMjQ3ttsB/eTmyCycxA==", "dependencies": { "@turf/helpers": "^5.1.5", "@turf/invariant": "^5.1.5" @@ -2374,32 +2407,37 @@ }, "node_modules/@loaders.gl/wms/node_modules/@turf/clone": { "version": "5.1.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/clone/-/clone-5.1.5.tgz", + "integrity": "sha512-//pITsQ8xUdcQ9pVb4JqXiSqG4dos5Q9N4sYFoWghX21tfOV2dhc5TGqYOhnHrQS7RiKQL1vQ48kIK34gQ5oRg==", "dependencies": { "@turf/helpers": "^5.1.5" } }, "node_modules/@loaders.gl/wms/node_modules/@turf/helpers": { "version": "5.1.5", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-5.1.5.tgz", + "integrity": "sha512-/lF+JR+qNDHZ8bF9d+Cp58nxtZWJ3sqFe6n3u3Vpj+/0cqkjk4nXKYBSY0azm+GIYB5mWKxUXvuP/m0ZnKj1bw==" }, "node_modules/@loaders.gl/wms/node_modules/@turf/invariant": { "version": "5.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/invariant/-/invariant-5.2.0.tgz", + "integrity": "sha512-28RCBGvCYsajVkw2EydpzLdcYyhSA77LovuOvgCJplJWaNVyJYH6BOR3HR9w50MEkPqb/Vc/jdo6I6ermlRtQA==", "dependencies": { "@turf/helpers": "^5.1.5" } }, "node_modules/@loaders.gl/wms/node_modules/@turf/meta": { "version": "5.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-5.2.0.tgz", + "integrity": "sha512-ZjQ3Ii62X9FjnK4hhdsbT+64AYRpaI8XMBMcyftEOGSmPMUVnkbvuv3C9geuElAXfQU7Zk1oWGOcrGOD9zr78Q==", "dependencies": { "@turf/helpers": "^5.1.5" } }, "node_modules/@loaders.gl/wms/node_modules/@turf/rewind": { "version": "5.1.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/rewind/-/rewind-5.1.5.tgz", + "integrity": "sha512-Gdem7JXNu+G4hMllQHXRFRihJl3+pNl7qY+l4qhQFxq+hiU1cQoVFnyoleIqWKIrdK/i2YubaSwc3SCM7N5mMw==", "dependencies": { "@turf/boolean-clockwise": "^5.1.5", "@turf/clone": "^5.1.5", @@ -2409,36 +2447,39 @@ } }, "node_modules/@loaders.gl/worker-utils": { - "version": "4.2.5", - "license": "MIT", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@loaders.gl/worker-utils/-/worker-utils-4.3.3.tgz", + "integrity": "sha512-eg45Ux6xqsAfqPUqJkhmbFZh9qfmYuPfA+34VcLtfeXIwAngeP6o4SrTmm9LWLGUKiSh47anCEV1p7borDgvGQ==", "peerDependencies": { - "@loaders.gl/core": "^4.0.0" + "@loaders.gl/core": "^4.3.0" } }, "node_modules/@loaders.gl/xml": { - "version": "4.2.5", - "license": "MIT", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@loaders.gl/xml/-/xml-4.3.3.tgz", + "integrity": "sha512-p4GjJn7cElnSxZE2DVsTPWnEJWL3iqTVnGbW2ODHFpW2E7ClPmyoDsUxb8zdW8DuQKfLPJkUILtubbaHmwOwZg==", "dependencies": { - "@loaders.gl/loader-utils": "4.2.5", - "@loaders.gl/schema": "4.2.5", + "@loaders.gl/loader-utils": "4.3.3", + "@loaders.gl/schema": "4.3.3", "fast-xml-parser": "^4.2.5" }, "peerDependencies": { - "@loaders.gl/core": "^4.0.0" + "@loaders.gl/core": "^4.3.0" } }, "node_modules/@loaders.gl/zip": { - "version": "4.2.5", - "license": "MIT", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@loaders.gl/zip/-/zip-4.3.3.tgz", + "integrity": "sha512-PPNR9xBLfhBd4Fw69Ai5cUzIJZFCYg3DiYGeR8mA8ik9tuseH+hEBUSsmzU4RFP53xkPLLYvzXjVyiBzfbsjZg==", "dependencies": { - "@loaders.gl/compression": "4.2.5", - "@loaders.gl/crypto": "4.2.5", - "@loaders.gl/loader-utils": "4.2.5", + "@loaders.gl/compression": "4.3.3", + "@loaders.gl/crypto": "4.3.3", + "@loaders.gl/loader-utils": "4.3.3", "jszip": "^3.1.5", "md5": "^2.3.0" }, "peerDependencies": { - "@loaders.gl/core": "^4.0.0" + "@loaders.gl/core": "^4.3.0" } }, "node_modules/@luma.gl/constants": { @@ -2470,11 +2511,12 @@ } }, "node_modules/@luma.gl/gltf": { - "version": "9.0.27", - "license": "MIT", + "version": "9.0.28", + "resolved": "https://registry.npmjs.org/@luma.gl/gltf/-/gltf-9.0.28.tgz", + "integrity": "sha512-UI8oQiH6BPch24Z3avFXk88XshQQudKNV9HrNtkzCyThF5UaYvB0JymaLyKN8s2Zpbo/aHxTjx0JUzCCZurX8A==", "dependencies": { "@loaders.gl/textures": "^4.2.0", - "@luma.gl/shadertools": "9.0.27", + "@luma.gl/shadertools": "9.0.28", "@math.gl/core": "^4.0.0" }, "peerDependencies": { @@ -2483,6 +2525,19 @@ "@luma.gl/engine": "^9.0.0" } }, + "node_modules/@luma.gl/gltf/node_modules/@luma.gl/shadertools": { + "version": "9.0.28", + "resolved": "https://registry.npmjs.org/@luma.gl/shadertools/-/shadertools-9.0.28.tgz", + "integrity": "sha512-FFh9udQTcPOTGpMKjYbCqZ7M6SLiaER93afCpQoYT6i36bPjTX4WX51ijFxA1ABJyvsZAo4BLR54tF++jNxyEQ==", + "dependencies": { + "@math.gl/core": "^4.0.0", + "@math.gl/types": "^4.0.0", + "wgsl_reflect": "^1.0.1" + }, + "peerDependencies": { + "@luma.gl/core": "^9.0.0" + } + }, "node_modules/@luma.gl/shadertools": { "version": "9.0.27", "license": "MIT", @@ -2545,7 +2600,8 @@ }, "node_modules/@mapbox/martini": { "version": "0.2.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/@mapbox/martini/-/martini-0.2.0.tgz", + "integrity": "sha512-7hFhtkb0KTLEls+TRw/rWayq5EeHtTaErgm/NskVoXmtgAQu/9D299aeyj6mzAR/6XUnYRp2lU+4IcrYRFjVsQ==" }, "node_modules/@mapbox/point-geometry": { "version": "0.1.0", @@ -2618,7 +2674,8 @@ }, "node_modules/@math.gl/culling": { "version": "4.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@math.gl/culling/-/culling-4.1.0.tgz", + "integrity": "sha512-jFmjFEACnP9kVl8qhZxFNhCyd47qPfSVmSvvjR0/dIL6R9oD5zhR1ub2gN16eKDO/UM7JF9OHKU3EBIfeR7gtg==", "dependencies": { "@math.gl/core": "4.1.0", "@math.gl/types": "4.1.0" @@ -2626,7 +2683,8 @@ }, "node_modules/@math.gl/geospatial": { "version": "4.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@math.gl/geospatial/-/geospatial-4.1.0.tgz", + "integrity": "sha512-BzsUhpVvnmleyYF6qdqJIip6FtIzJmnWuPTGhlBuPzh7VBHLonCFSPtQpbkRuoyAlbSyaGXcVt6p6lm9eK2vtg==", "dependencies": { "@math.gl/core": "4.1.0", "@math.gl/types": "4.1.0" @@ -2634,7 +2692,8 @@ }, "node_modules/@math.gl/polygon": { "version": "4.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@math.gl/polygon/-/polygon-4.1.0.tgz", + "integrity": "sha512-YA/9PzaCRHbIP5/0E9uTYrqe+jsYTQoqoDWhf6/b0Ixz8bPZBaGDEafLg3z7ffBomZLacUty9U3TlPjqMtzPjA==", "dependencies": { "@math.gl/core": "4.1.0" } @@ -6052,7 +6111,8 @@ }, "node_modules/@turf/along": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/along/-/along-6.5.0.tgz", + "integrity": "sha512-LLyWQ0AARqJCmMcIEAXF4GEu8usmd4Kbz3qk1Oy5HoRNpZX47+i5exQtmIWKdqJ1MMhW26fCTXgpsEs5zgJ5gw==", "dependencies": { "@turf/bearing": "^6.5.0", "@turf/destination": "^6.5.0", @@ -6066,7 +6126,8 @@ }, "node_modules/@turf/area": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/area/-/area-6.5.0.tgz", + "integrity": "sha512-xCZdiuojokLbQ+29qR6qoMD89hv+JAgWjLrwSEWL+3JV8IXKeNFl6XkEJz9HGkVpnXvQKJoRz4/liT+8ZZ5Jyg==", "dependencies": { "@turf/helpers": "^6.5.0", "@turf/meta": "^6.5.0" @@ -6077,7 +6138,8 @@ }, "node_modules/@turf/bbox": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-6.5.0.tgz", + "integrity": "sha512-RBbLaao5hXTYyyg577iuMtDB8ehxMlUqHEJiMs8jT1GHkFhr6sYre3lmLsPeYEi/ZKj5TP5tt7fkzNdJ4GIVyw==", "dependencies": { "@turf/helpers": "^6.5.0", "@turf/meta": "^6.5.0" @@ -6088,7 +6150,8 @@ }, "node_modules/@turf/bbox-polygon": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/bbox-polygon/-/bbox-polygon-6.5.0.tgz", + "integrity": "sha512-+/r0NyL1lOG3zKZmmf6L8ommU07HliP4dgYToMoTxqzsWzyLjaj/OzgQ8rBmv703WJX+aS6yCmLuIhYqyufyuw==", "dependencies": { "@turf/helpers": "^6.5.0" }, @@ -6098,7 +6161,8 @@ }, "node_modules/@turf/bearing": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/bearing/-/bearing-6.5.0.tgz", + "integrity": "sha512-dxINYhIEMzgDOztyMZc20I7ssYVNEpSv04VbMo5YPQsqa80KO3TFvbuCahMsCAW5z8Tncc8dwBlEFrmRjJG33A==", "dependencies": { "@turf/helpers": "^6.5.0", "@turf/invariant": "^6.5.0" @@ -6109,7 +6173,8 @@ }, "node_modules/@turf/boolean-clockwise": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/boolean-clockwise/-/boolean-clockwise-6.5.0.tgz", + "integrity": "sha512-45+C7LC5RMbRWrxh3Z0Eihsc8db1VGBO5d9BLTOAwU4jR6SgsunTfRWR16X7JUwIDYlCVEmnjcXJNi/kIU3VIw==", "dependencies": { "@turf/helpers": "^6.5.0", "@turf/invariant": "^6.5.0" @@ -6120,7 +6185,8 @@ }, "node_modules/@turf/boolean-point-in-polygon": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/boolean-point-in-polygon/-/boolean-point-in-polygon-6.5.0.tgz", + "integrity": "sha512-DtSuVFB26SI+hj0SjrvXowGTUCHlgevPAIsukssW6BG5MlNSBQAo70wpICBNJL6RjukXg8d2eXaAWuD/CqL00A==", "dependencies": { "@turf/helpers": "^6.5.0", "@turf/invariant": "^6.5.0" @@ -6131,7 +6197,8 @@ }, "node_modules/@turf/buffer": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/buffer/-/buffer-6.5.0.tgz", + "integrity": "sha512-qeX4N6+PPWbKqp1AVkBVWFerGjMYMUyencwfnkCesoznU6qvfugFHNAngNqIBVnJjZ5n8IFyOf+akcxnrt9sNg==", "dependencies": { "@turf/bbox": "^6.5.0", "@turf/center": "^6.5.0", @@ -6147,7 +6214,8 @@ }, "node_modules/@turf/center": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/center/-/center-6.5.0.tgz", + "integrity": "sha512-T8KtMTfSATWcAX088rEDKjyvQCBkUsLnK/Txb6/8WUXIeOZyHu42G7MkdkHRoHtwieLdduDdmPLFyTdG5/e7ZQ==", "dependencies": { "@turf/bbox": "^6.5.0", "@turf/helpers": "^6.5.0" @@ -6158,7 +6226,8 @@ }, "node_modules/@turf/centroid": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/centroid/-/centroid-6.5.0.tgz", + "integrity": "sha512-MwE1oq5E3isewPprEClbfU5pXljIK/GUOMbn22UM3IFPDJX0KeoyLNwghszkdmFp/qMGL/M13MMWvU+GNLXP/A==", "dependencies": { "@turf/helpers": "^6.5.0", "@turf/meta": "^6.5.0" @@ -6169,7 +6238,8 @@ }, "node_modules/@turf/circle": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/circle/-/circle-6.5.0.tgz", + "integrity": "sha512-oU1+Kq9DgRnoSbWFHKnnUdTmtcRUMmHoV9DjTXu9vOLNV5OWtAAh1VZ+mzsioGGzoDNT/V5igbFOkMfBQc0B6A==", "dependencies": { "@turf/destination": "^6.5.0", "@turf/helpers": "^6.5.0" @@ -6179,36 +6249,39 @@ } }, "node_modules/@turf/clean-coords": { - "version": "7.1.0", - "license": "MIT", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@turf/clean-coords/-/clean-coords-7.2.0.tgz", + "integrity": "sha512-+5+J1+D7wW7O/RDXn46IfCHuX1gIV1pIAQNSA7lcDbr3HQITZj334C4mOGZLEcGbsiXtlHWZiBtm785Vg8i+QQ==", "dependencies": { - "@turf/helpers": "^7.1.0", - "@turf/invariant": "^7.1.0", + "@turf/helpers": "^7.2.0", + "@turf/invariant": "^7.2.0", "@types/geojson": "^7946.0.10", - "tslib": "^2.6.2" + "tslib": "^2.8.1" }, "funding": { "url": "https://opencollective.com/turf" } }, "node_modules/@turf/clean-coords/node_modules/@turf/helpers": { - "version": "7.1.0", - "license": "MIT", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.2.0.tgz", + "integrity": "sha512-cXo7bKNZoa7aC7ydLmUR02oB3IgDe7MxiPuRz3cCtYQHn+BJ6h1tihmamYDWWUlPHgSNF0i3ATc4WmDECZafKw==", "dependencies": { "@types/geojson": "^7946.0.10", - "tslib": "^2.6.2" + "tslib": "^2.8.1" }, "funding": { "url": "https://opencollective.com/turf" } }, "node_modules/@turf/clean-coords/node_modules/@turf/invariant": { - "version": "7.1.0", - "license": "MIT", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@turf/invariant/-/invariant-7.2.0.tgz", + "integrity": "sha512-kV4u8e7Gkpq+kPbAKNC21CmyrXzlbBgFjO1PhrHPgEdNqXqDawoZ3i6ivE3ULJj2rSesCjduUaC/wyvH/sNr2Q==", "dependencies": { - "@turf/helpers": "^7.1.0", + "@turf/helpers": "^7.2.0", "@types/geojson": "^7946.0.10", - "tslib": "^2.6.2" + "tslib": "^2.8.1" }, "funding": { "url": "https://opencollective.com/turf" @@ -6216,7 +6289,8 @@ }, "node_modules/@turf/clone": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/clone/-/clone-6.5.0.tgz", + "integrity": "sha512-mzVtTFj/QycXOn6ig+annKrM6ZlimreKYz6f/GSERytOpgzodbQyOgkfwru100O1KQhhjSudKK4DsQ0oyi9cTw==", "dependencies": { "@turf/helpers": "^6.5.0" }, @@ -6226,7 +6300,8 @@ }, "node_modules/@turf/destination": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/destination/-/destination-6.5.0.tgz", + "integrity": "sha512-4cnWQlNC8d1tItOz9B4pmJdWpXqS0vEvv65bI/Pj/genJnsL7evI0/Xw42RvEGROS481MPiU80xzvwxEvhQiMQ==", "dependencies": { "@turf/helpers": "^6.5.0", "@turf/invariant": "^6.5.0" @@ -6237,7 +6312,8 @@ }, "node_modules/@turf/difference": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/difference/-/difference-6.5.0.tgz", + "integrity": "sha512-l8iR5uJqvI+5Fs6leNbhPY5t/a3vipUF/3AeVLpwPQcgmedNXyheYuy07PcMGH5Jdpi5gItOiTqwiU/bUH4b3A==", "dependencies": { "@turf/helpers": "^6.5.0", "@turf/invariant": "^6.5.0", @@ -6249,7 +6325,8 @@ }, "node_modules/@turf/distance": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/distance/-/distance-6.5.0.tgz", + "integrity": "sha512-xzykSLfoURec5qvQJcfifw/1mJa+5UwByZZ5TZ8iaqjGYN0vomhV9aiSLeYdUGtYRESZ+DYC/OzY+4RclZYgMg==", "dependencies": { "@turf/helpers": "^6.5.0", "@turf/invariant": "^6.5.0" @@ -6260,7 +6337,8 @@ }, "node_modules/@turf/ellipse": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/ellipse/-/ellipse-6.5.0.tgz", + "integrity": "sha512-kuXtwFviw/JqnyJXF1mrR/cb496zDTSbGKtSiolWMNImYzGGkbsAsFTjwJYgD7+4FixHjp0uQPzo70KDf3AIBw==", "dependencies": { "@turf/helpers": "^6.5.0", "@turf/invariant": "^6.5.0", @@ -6273,14 +6351,16 @@ }, "node_modules/@turf/helpers": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-6.5.0.tgz", + "integrity": "sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw==", "funding": { "url": "https://opencollective.com/turf" } }, "node_modules/@turf/intersect": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/intersect/-/intersect-6.5.0.tgz", + "integrity": "sha512-2legGJeKrfFkzntcd4GouPugoqPUjexPZnOvfez+3SfIMrHvulw8qV8u7pfVyn2Yqs53yoVCEjS5sEpvQ5YRQg==", "dependencies": { "@turf/helpers": "^6.5.0", "@turf/invariant": "^6.5.0", @@ -6292,7 +6372,8 @@ }, "node_modules/@turf/invariant": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/invariant/-/invariant-6.5.0.tgz", + "integrity": "sha512-Wv8PRNCtPD31UVbdJE/KVAWKe7l6US+lJItRR/HOEW3eh+U/JwRCSUl/KZ7bmjM/C+zLNoreM2TU6OoLACs4eg==", "dependencies": { "@turf/helpers": "^6.5.0" }, @@ -6302,7 +6383,8 @@ }, "node_modules/@turf/line-intersect": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/line-intersect/-/line-intersect-6.5.0.tgz", + "integrity": "sha512-CS6R1tZvVQD390G9Ea4pmpM6mJGPWoL82jD46y0q1KSor9s6HupMIo1kY4Ny+AEYQl9jd21V3Scz20eldpbTVA==", "dependencies": { "@turf/helpers": "^6.5.0", "@turf/invariant": "^6.5.0", @@ -6316,7 +6398,8 @@ }, "node_modules/@turf/line-segment": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/line-segment/-/line-segment-6.5.0.tgz", + "integrity": "sha512-jI625Ho4jSuJESNq66Mmi290ZJ5pPZiQZruPVpmHkUw257Pew0alMmb6YrqYNnLUuiVVONxAAKXUVeeUGtycfw==", "dependencies": { "@turf/helpers": "^6.5.0", "@turf/invariant": "^6.5.0", @@ -6328,7 +6411,8 @@ }, "node_modules/@turf/meta": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.5.0.tgz", + "integrity": "sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==", "dependencies": { "@turf/helpers": "^6.5.0" }, @@ -6338,7 +6422,8 @@ }, "node_modules/@turf/midpoint": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/midpoint/-/midpoint-6.5.0.tgz", + "integrity": "sha512-MyTzV44IwmVI6ec9fB2OgZ53JGNlgOpaYl9ArKoF49rXpL84F9rNATndbe0+MQIhdkw8IlzA6xVP4lZzfMNVCw==", "dependencies": { "@turf/bearing": "^6.5.0", "@turf/destination": "^6.5.0", @@ -6351,7 +6436,8 @@ }, "node_modules/@turf/nearest-point-on-line": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/nearest-point-on-line/-/nearest-point-on-line-6.5.0.tgz", + "integrity": "sha512-WthrvddddvmymnC+Vf7BrkHGbDOUu6Z3/6bFYUGv1kxw8tiZ6n83/VG6kHz4poHOfS0RaNflzXSkmCi64fLBlg==", "dependencies": { "@turf/bearing": "^6.5.0", "@turf/destination": "^6.5.0", @@ -6367,7 +6453,8 @@ }, "node_modules/@turf/point-to-line-distance": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/point-to-line-distance/-/point-to-line-distance-6.5.0.tgz", + "integrity": "sha512-opHVQ4vjUhNBly1bob6RWy+F+hsZDH9SA0UW36pIRzfpu27qipU18xup0XXEePfY6+wvhF6yL/WgCO2IbrLqEA==", "dependencies": { "@turf/bearing": "^6.5.0", "@turf/distance": "^6.5.0", @@ -6384,7 +6471,8 @@ }, "node_modules/@turf/polygon-to-line": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/polygon-to-line/-/polygon-to-line-6.5.0.tgz", + "integrity": "sha512-5p4n/ij97EIttAq+ewSnKt0ruvuM+LIDzuczSzuHTpq4oS7Oq8yqg5TQ4nzMVuK41r/tALCk7nAoBuw3Su4Gcw==", "dependencies": { "@turf/helpers": "^6.5.0", "@turf/invariant": "^6.5.0" @@ -6395,7 +6483,8 @@ }, "node_modules/@turf/projection": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/projection/-/projection-6.5.0.tgz", + "integrity": "sha512-/Pgh9mDvQWWu8HRxqpM+tKz8OzgauV+DiOcr3FCjD6ubDnrrmMJlsf6fFJmggw93mtVPrZRL6yyi9aYCQBOIvg==", "dependencies": { "@turf/clone": "^6.5.0", "@turf/helpers": "^6.5.0", @@ -6407,7 +6496,8 @@ }, "node_modules/@turf/rewind": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/rewind/-/rewind-6.5.0.tgz", + "integrity": "sha512-IoUAMcHWotBWYwSYuYypw/LlqZmO+wcBpn8ysrBNbazkFNkLf3btSDZMkKJO/bvOzl55imr/Xj4fi3DdsLsbzQ==", "dependencies": { "@turf/boolean-clockwise": "^6.5.0", "@turf/clone": "^6.5.0", @@ -6421,7 +6511,8 @@ }, "node_modules/@turf/rhumb-bearing": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/rhumb-bearing/-/rhumb-bearing-6.5.0.tgz", + "integrity": "sha512-jMyqiMRK4hzREjQmnLXmkJ+VTNTx1ii8vuqRwJPcTlKbNWfjDz/5JqJlb5NaFDcdMpftWovkW5GevfnuzHnOYA==", "dependencies": { "@turf/helpers": "^6.5.0", "@turf/invariant": "^6.5.0" @@ -6432,7 +6523,8 @@ }, "node_modules/@turf/rhumb-destination": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/rhumb-destination/-/rhumb-destination-6.5.0.tgz", + "integrity": "sha512-RHNP1Oy+7xTTdRrTt375jOZeHceFbjwohPHlr9Hf68VdHHPMAWgAKqiX2YgSWDcvECVmiGaBKWus1Df+N7eE4Q==", "dependencies": { "@turf/helpers": "^6.5.0", "@turf/invariant": "^6.5.0" @@ -6443,7 +6535,8 @@ }, "node_modules/@turf/rhumb-distance": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/rhumb-distance/-/rhumb-distance-6.5.0.tgz", + "integrity": "sha512-oKp8KFE8E4huC2Z1a1KNcFwjVOqa99isxNOwfo4g3SUABQ6NezjKDDrnvC4yI5YZ3/huDjULLBvhed45xdCrzg==", "dependencies": { "@turf/helpers": "^6.5.0", "@turf/invariant": "^6.5.0" @@ -6453,48 +6546,52 @@ } }, "node_modules/@turf/simplify": { - "version": "7.1.0", - "license": "MIT", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@turf/simplify/-/simplify-7.2.0.tgz", + "integrity": "sha512-9YHIfSc8BXQfi5IvEMbCeQYqNch0UawIGwbboJaoV8rodhtk6kKV2wrpXdGqk/6Thg6/RWvChJFKVVTjVrULyQ==", "dependencies": { - "@turf/clean-coords": "^7.1.0", - "@turf/clone": "^7.1.0", - "@turf/helpers": "^7.1.0", - "@turf/meta": "^7.1.0", + "@turf/clean-coords": "^7.2.0", + "@turf/clone": "^7.2.0", + "@turf/helpers": "^7.2.0", + "@turf/meta": "^7.2.0", "@types/geojson": "^7946.0.10", - "tslib": "^2.6.2" + "tslib": "^2.8.1" }, "funding": { "url": "https://opencollective.com/turf" } }, "node_modules/@turf/simplify/node_modules/@turf/clone": { - "version": "7.1.0", - "license": "MIT", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@turf/clone/-/clone-7.2.0.tgz", + "integrity": "sha512-JlGUT+/5qoU5jqZmf6NMFIoLDY3O7jKd53Up+zbpJ2vzUp6QdwdNzwrsCeONhynWM13F0MVtPXH4AtdkrgFk4g==", "dependencies": { - "@turf/helpers": "^7.1.0", + "@turf/helpers": "^7.2.0", "@types/geojson": "^7946.0.10", - "tslib": "^2.6.2" + "tslib": "^2.8.1" }, "funding": { "url": "https://opencollective.com/turf" } }, "node_modules/@turf/simplify/node_modules/@turf/helpers": { - "version": "7.1.0", - "license": "MIT", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.2.0.tgz", + "integrity": "sha512-cXo7bKNZoa7aC7ydLmUR02oB3IgDe7MxiPuRz3cCtYQHn+BJ6h1tihmamYDWWUlPHgSNF0i3ATc4WmDECZafKw==", "dependencies": { "@types/geojson": "^7946.0.10", - "tslib": "^2.6.2" + "tslib": "^2.8.1" }, "funding": { "url": "https://opencollective.com/turf" } }, "node_modules/@turf/simplify/node_modules/@turf/meta": { - "version": "7.1.0", - "license": "MIT", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-7.2.0.tgz", + "integrity": "sha512-igzTdHsQc8TV1RhPuOLVo74Px/hyPrVgVOTgjWQZzt3J9BVseCdpfY/0cJBdlSRI4S/yTmmHl7gAqjhpYH5Yaw==", "dependencies": { - "@turf/helpers": "^7.1.0", + "@turf/helpers": "^7.2.0", "@types/geojson": "^7946.0.10" }, "funding": { @@ -6503,7 +6600,8 @@ }, "node_modules/@turf/transform-rotate": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/transform-rotate/-/transform-rotate-6.5.0.tgz", + "integrity": "sha512-A2Ip1v4246ZmpssxpcL0hhiVBEf4L8lGnSPWTgSv5bWBEoya2fa/0SnFX9xJgP40rMP+ZzRaCN37vLHbv1Guag==", "dependencies": { "@turf/centroid": "^6.5.0", "@turf/clone": "^6.5.0", @@ -6520,7 +6618,8 @@ }, "node_modules/@turf/transform-scale": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/transform-scale/-/transform-scale-6.5.0.tgz", + "integrity": "sha512-VsATGXC9rYM8qTjbQJ/P7BswKWXHdnSJ35JlV4OsZyHBMxJQHftvmZJsFbOqVtQnIQIzf2OAly6rfzVV9QLr7g==", "dependencies": { "@turf/bbox": "^6.5.0", "@turf/center": "^6.5.0", @@ -6539,7 +6638,8 @@ }, "node_modules/@turf/transform-translate": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/transform-translate/-/transform-translate-6.5.0.tgz", + "integrity": "sha512-NABLw5VdtJt/9vSstChp93pc6oel4qXEos56RBMsPlYB8hzNTEKYtC146XJvyF4twJeeYS8RVe1u7KhoFwEM5w==", "dependencies": { "@turf/clone": "^6.5.0", "@turf/helpers": "^6.5.0", @@ -6553,7 +6653,8 @@ }, "node_modules/@turf/union": { "version": "6.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@turf/union/-/union-6.5.0.tgz", + "integrity": "sha512-igYWCwP/f0RFHIlC2c0SKDuM/ObBaqSljI3IdV/x71805QbIvY/BYGcJdyNcgEA6cylIGl/0VSlIbpJHZ9ldhw==", "dependencies": { "@turf/helpers": "^6.5.0", "@turf/invariant": "^6.5.0", @@ -6610,14 +6711,16 @@ }, "node_modules/@types/brotli": { "version": "1.3.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@types/brotli/-/brotli-1.3.4.tgz", + "integrity": "sha512-cKYjgaS2DMdCKF7R0F5cgx1nfBYObN2ihIuPGQ4/dlIY6RpV7OWNwe9L8V4tTVKL2eZqOkNM9FM/rgTvLf4oXw==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/crypto-js": { "version": "4.2.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/crypto-js/-/crypto-js-4.2.2.tgz", + "integrity": "sha512-sDOLlVbHhXpAUAL0YHDUUwDZf3iN4Bwi4W6a0W0b+QcAezUbRtH4FVb+9J4h+XFPW7l/gQ9F8qC7P+Ec4k8QVQ==" }, "node_modules/@types/css-font-loading-module": { "version": "0.0.7", @@ -6731,7 +6834,8 @@ }, "node_modules/@types/pako": { "version": "1.0.7", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/pako/-/pako-1.0.7.tgz", + "integrity": "sha512-YBtzT2ztNF6R/9+UXj2wTGFnC9NklAnASt3sC0h2m1bbH7G6FyBIkt4AN8ThZpNfxUo1b2iMVO0UawiJymEt8A==" }, "node_modules/@types/parse-json": { "version": "4.0.0", @@ -7227,7 +7331,8 @@ }, "node_modules/@vivaxy/png": { "version": "1.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@vivaxy/png/-/png-1.3.0.tgz", + "integrity": "sha512-DkJnWnd451Y6VuuNXVnUD8V7Mg3ZeQ7F77YwH2sB8tyi4KrUEfaDvMyqlCSpSLlTmtsXlT8BOaegjMRg/VTRdQ==", "dependencies": { "pako": "^1.0.10" } @@ -7393,19 +7498,20 @@ } }, "node_modules/@webviz/subsurface-viewer": { - "version": "1.1.1", - "license": "MPL-2.0", - "dependencies": { - "@deck.gl-community/editable-layers": "^9.0.3", - "@deck.gl/aggregation-layers": "^9.0.33", - "@deck.gl/core": "^9.0.33", - "@deck.gl/extensions": "^9.0.33", - "@deck.gl/geo-layers": "^9.0.33", - "@deck.gl/json": "^9.0.33", - "@deck.gl/layers": "^9.0.33", - "@deck.gl/mesh-layers": "^9.0.33", - "@deck.gl/react": "^9.0.33", - "@emerson-eps/color-tables": "^0.4.71", + "version": "1.8.7", + "resolved": "https://registry.npmjs.org/@webviz/subsurface-viewer/-/subsurface-viewer-1.8.7.tgz", + "integrity": "sha512-hk+6suFS814zdnOUVWDbvcH4jJihHG3Gk2bDpE3zPVIn4sdkHyYXXWXJaYZQwsQyRSAZzd1Mf/MPiiAndB6MvA==", + "dependencies": { + "@deck.gl-community/editable-layers": "9.0.3", + "@deck.gl/aggregation-layers": "9.0.40", + "@deck.gl/core": "9.0.40", + "@deck.gl/extensions": "9.0.40", + "@deck.gl/geo-layers": "9.0.40", + "@deck.gl/json": "9.0.40", + "@deck.gl/layers": "9.0.40", + "@deck.gl/mesh-layers": "9.0.40", + "@deck.gl/react": "9.0.40", + "@emerson-eps/color-tables": "^0.4.85", "@equinor/eds-core-react": "^0.36.0", "@equinor/eds-icons": "^0.21.0", "@turf/simplify": "^7.1.0", @@ -7421,7 +7527,7 @@ "math.gl": "^4.0.1", "mathjs": "^13.2.0", "merge-refs": "^1.2.2", - "workerpool": "^9.1.3" + "workerpool": "^9.2.0" }, "peerDependencies": { "@mui/material": "^5.11", @@ -7442,7 +7548,8 @@ }, "node_modules/@webviz/subsurface-viewer/node_modules/@equinor/eds-core-react": { "version": "0.36.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@equinor/eds-core-react/-/eds-core-react-0.36.1.tgz", + "integrity": "sha512-cFpmsT4+EEFDhGE1DLNDT9Scr6SNBF4xnIfAgkMZcK6wmmZZT30lV2zdGgFC1JN9FfyvlisQukgpurynuBoJTw==", "dependencies": { "@babel/runtime": "^7.24.0", "@equinor/eds-icons": "^0.21.0", @@ -7464,7 +7571,8 @@ }, "node_modules/@webviz/subsurface-viewer/node_modules/@equinor/eds-utils": { "version": "0.8.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@equinor/eds-utils/-/eds-utils-0.8.4.tgz", + "integrity": "sha512-njvqXd3Hzfy5vkEqnx+uEBAu00vnG/5R+gDgWCReVDjjUoHdQNcrqfjBLsGF2UungtO0LbYV8YuBP+9l4V7ywQ==", "dependencies": { "@babel/runtime": "^7.23.8", "@equinor/eds-tokens": "0.9.2" @@ -7481,7 +7589,8 @@ }, "node_modules/@webviz/subsurface-viewer/node_modules/@tanstack/react-virtual": { "version": "3.1.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.1.3.tgz", + "integrity": "sha512-YCzcbF/Ws/uZ0q3Z6fagH+JVhx4JLvbSflgldMgLsuvB8aXjZLLb3HvrEVxY480F9wFlBiXlvQxOyXb5ENPrNA==", "dependencies": { "@tanstack/virtual-core": "3.1.3" }, @@ -7496,7 +7605,8 @@ }, "node_modules/@webviz/subsurface-viewer/node_modules/@tanstack/virtual-core": { "version": "3.1.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.1.3.tgz", + "integrity": "sha512-Y5B4EYyv1j9V8LzeAoOVeTg0LI7Fo5InYKgAjkY1Pu9GjtUwX/EKxNcU7ng3sKr99WEf+bPTcktAeybyMOYo+g==", "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" @@ -7504,14 +7614,16 @@ }, "node_modules/@webviz/subsurface-viewer/node_modules/d3-format": { "version": "3.1.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", "engines": { "node": ">=12" } }, "node_modules/@webviz/subsurface-viewer/node_modules/downshift": { "version": "8.3.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/downshift/-/downshift-8.3.3.tgz", + "integrity": "sha512-f9znQFYF/3AWBkFiEc4H05Vdh41XFgJ80IatLBKIFoA3p86mAXc/iM9/XJ24loF9djtABD5NBEYL7b1b7xh2pw==", "dependencies": { "@babel/runtime": "^7.22.15", "compute-scroll-into-view": "^3.0.3", @@ -7975,6 +8087,8 @@ }, "node_modules/base64-js": { "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "funding": [ { "type": "github", @@ -7989,7 +8103,6 @@ "url": "https://feross.org/support" } ], - "license": "MIT", "optional": true }, "node_modules/binary-extensions": { @@ -8046,7 +8159,8 @@ }, "node_modules/brotli": { "version": "1.3.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz", + "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==", "optional": true, "dependencies": { "base64-js": "^1.1.2" @@ -8086,7 +8200,8 @@ }, "node_modules/buf-compare": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/buf-compare/-/buf-compare-1.0.1.tgz", + "integrity": "sha512-Bvx4xH00qweepGc43xFvMs5BKASXTbHaHm6+kDYIK9p/4iFwjATQkmPKHQSgJZzKbAymhztRbXUf1Nqhzl73/Q==", "engines": { "node": ">=0.10.0" } @@ -8276,7 +8391,8 @@ }, "node_modules/charenc": { "version": "0.0.2", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", "engines": { "node": "*" } @@ -8459,8 +8575,9 @@ "license": "MIT" }, "node_modules/complex.js": { - "version": "2.3.0", - "license": "MIT", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/complex.js/-/complex.js-2.4.2.tgz", + "integrity": "sha512-qtx7HRhPGSCBtGiST4/WGHuW+zeaND/6Ld+db6PbrulIB1i2Ev/2UPiqcmpQNPSyfBKraC0EOvOKCB5dGZKt3g==", "engines": { "node": "*" }, @@ -8521,7 +8638,8 @@ }, "node_modules/core-assert": { "version": "0.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/core-assert/-/core-assert-0.2.1.tgz", + "integrity": "sha512-IG97qShIP+nrJCXMCgkNZgH7jZQ4n8RpPyPeXX++T6avR/KhLhgLiHKoEn5Rc1KjfycSfA9DMa6m+4C4eguHhw==", "dependencies": { "buf-compare": "^1.0.0", "is-error": "^2.2.0" @@ -8578,7 +8696,8 @@ }, "node_modules/crypt": { "version": "0.0.2", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", "engines": { "node": "*" } @@ -8725,7 +8844,8 @@ }, "node_modules/cubic-hermite-spline": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/cubic-hermite-spline/-/cubic-hermite-spline-1.0.1.tgz", + "integrity": "sha512-OlfZfJqnCi44aYNg3YMn0IqYcvlUGv3SzRqNbm19cnZNTaMiWjFeA5l6rF/WLnmh1VBZs/kYc2QwAkD1t2Zhdg==" }, "node_modules/culori": { "version": "3.2.0", @@ -8936,7 +9056,8 @@ }, "node_modules/d3-geo": { "version": "1.7.1", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.7.1.tgz", + "integrity": "sha512-O4AempWAr+P5qbk2bC2FuN/sDW4z+dN2wDf9QV3bxQt4M5HfOEeXLgJ/UKQW0+o1Dj8BE+L5kiDbdWUMjsmQpw==", "dependencies": { "d3-array": "1" } @@ -8974,11 +9095,13 @@ }, "node_modules/d3-geo/node_modules/d3-array": { "version": "1.2.4", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz", + "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==" }, "node_modules/d3-hexbin": { "version": "0.2.2", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/d3-hexbin/-/d3-hexbin-0.2.2.tgz", + "integrity": "sha512-KS3fUT2ReD4RlGCjvCEm1RgMtp2NFZumdMu4DBzQK8AZv3fXRM6Xm8I4fSU07UXvH4xxg03NwWKWdvxfS/yc4w==" }, "node_modules/d3-hierarchy": { "version": "3.1.2", @@ -9269,7 +9392,8 @@ }, "node_modules/deep-strict-equal": { "version": "0.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/deep-strict-equal/-/deep-strict-equal-0.2.0.tgz", + "integrity": "sha512-3daSWyvZ/zwJvuMGlzG1O+Ow0YSadGfb3jsh9xoCutv2tWyB9dA4YvR9L9/fSdDZa2dByYQe+TqapSGUrjnkoA==", "dependencies": { "core-assert": "^0.2.0" }, @@ -9511,7 +9635,8 @@ }, "node_modules/draco3d": { "version": "1.5.7", - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/draco3d/-/draco3d-1.5.7.tgz", + "integrity": "sha512-m6WCKt/erDXcw+70IJXnG7M3awwQPAsZvJGX5zY7beBqpELw6RDGkYVU0W43AFxye4pDZ5i2Lbyc/NNGqwjUVQ==" }, "node_modules/draw-svg-path": { "version": "1.0.0", @@ -9903,7 +10028,8 @@ }, "node_modules/escape-latex": { "version": "1.2.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/escape-latex/-/escape-latex-1.2.0.tgz", + "integrity": "sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw==" }, "node_modules/escape-string-regexp": { "version": "4.0.0", @@ -10667,20 +10793,17 @@ "license": "MIT" }, "node_modules/fast-xml-parser": { - "version": "4.5.0", + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.3.tgz", + "integrity": "sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/NaturalIntelligence" - }, - { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" } ], - "license": "MIT", "dependencies": { - "strnum": "^1.0.5" + "strnum": "^1.1.1" }, "bin": { "fxparser": "src/cli/cli.js" @@ -10696,7 +10819,8 @@ }, "node_modules/fflate": { "version": "0.7.4", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.7.4.tgz", + "integrity": "sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==" }, "node_modules/figures": { "version": "5.0.0", @@ -10876,7 +11000,8 @@ }, "node_modules/fraction.js": { "version": "4.3.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", "engines": { "node": "*" }, @@ -11028,7 +11153,8 @@ }, "node_modules/geojson-rbush": { "version": "3.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/geojson-rbush/-/geojson-rbush-3.2.0.tgz", + "integrity": "sha512-oVltQTXolxvsz1sZnutlSuLDEcQAKYC/uXt9zDzJJ6bu0W+baTI8LZBaTup5afzibEH4N3jlq2p+a152wlBJ7w==", "dependencies": { "@turf/bbox": "*", "@turf/helpers": "6.x", @@ -11039,7 +11165,8 @@ }, "node_modules/geojson-rbush/node_modules/@types/geojson": { "version": "7946.0.8", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.8.tgz", + "integrity": "sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==" }, "node_modules/geojson-vt": { "version": "3.2.1", @@ -11554,7 +11681,8 @@ }, "node_modules/h3-js": { "version": "4.1.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/h3-js/-/h3-js-4.1.0.tgz", + "integrity": "sha512-LQhmMl1dRQQjMXPzJc7MpZ/CqPOWWuAvVEoVJM9n/s7vHypj+c3Pd5rLQCkAsOgAoAYKbNCsYFE++LF7MvSfCQ==", "engines": { "node": ">=4", "npm": ">=3", @@ -11749,7 +11877,8 @@ }, "node_modules/image-size": { "version": "0.7.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.7.5.tgz", + "integrity": "sha512-Hiyv+mXHfFEP7LzUL/llg9RwFxxY+o9N3JVLIeG5E7iFIFAalxvRU9UZthBdYDEVnzHMgjnKJPPpay5BWf1g9g==", "bin": { "image-size": "bin/image-size.js" }, @@ -11759,7 +11888,8 @@ }, "node_modules/immediate": { "version": "3.0.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" }, "node_modules/immutable": { "version": "4.3.1", @@ -11940,7 +12070,8 @@ }, "node_modules/is-buffer": { "version": "1.1.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "node_modules/is-bun-module": { "version": "1.3.0", @@ -12023,7 +12154,8 @@ }, "node_modules/is-error": { "version": "2.2.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-error/-/is-error-2.2.2.tgz", + "integrity": "sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg==" }, "node_modules/is-extglob": { "version": "2.1.1", @@ -12591,7 +12723,8 @@ }, "node_modules/jsep": { "version": "0.3.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jsep/-/jsep-0.3.5.tgz", + "integrity": "sha512-AoRLBDc6JNnKjNcmonituEABS5bcfqDhQAWWXNTFrqu6nVXBpBAGfcoTGZMFlIrh9FjmE1CQyX9CTNwZrXMMDA==", "engines": { "node": ">= 6.0.0" } @@ -12662,7 +12795,8 @@ }, "node_modules/jszip": { "version": "3.10.1", - "license": "(MIT OR GPL-3.0-or-later)", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", "dependencies": { "lie": "~3.3.0", "pako": "~1.0.2", @@ -12704,8 +12838,9 @@ } }, "node_modules/ktx-parse": { - "version": "0.0.4", - "license": "MIT" + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ktx-parse/-/ktx-parse-0.7.1.tgz", + "integrity": "sha512-FeA3g56ksdFNwjXJJsc1CCc7co+AJYDp6ipIp878zZ2bU8kWROatLYf39TQEd4/XRSUvBXovQ8gaVKWPXsCLEQ==" }, "node_modules/levn": { "version": "0.4.1", @@ -12721,7 +12856,8 @@ }, "node_modules/lie": { "version": "3.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", "dependencies": { "immediate": "~3.0.5" } @@ -13145,11 +13281,13 @@ }, "node_modules/lodash.throttle": { "version": "4.1.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" }, "node_modules/long": { "version": "3.2.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", + "integrity": "sha512-ZYvPPOMqUwPoDsbJaR10iQJYnMuZhRTvHYl62ErLIEX7RgFlziSBUUvrt3OVfc47QlHHpzPZYP17g3Fv7oeJkg==", "engines": { "node": ">=0.6" } @@ -13182,12 +13320,14 @@ }, "node_modules/lz4js": { "version": "0.2.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/lz4js/-/lz4js-0.2.0.tgz", + "integrity": "sha512-gY2Ia9Lm7Ep8qMiuGRhvUq0Q7qUereeldZPP1PMEJxPtEWHJLqw9pgX68oHajBH0nzJK4MaZEA/YNV3jT8u8Bg==", "optional": true }, "node_modules/lzo-wasm": { "version": "0.0.4", - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/lzo-wasm/-/lzo-wasm-0.0.4.tgz", + "integrity": "sha512-VKlnoJRFrB8SdJhlVKvW5vI1gGwcZ+mvChEXcSX6r2xDNc/Q2FD9esfBmGCuPZdrJ1feO+YcVFd2PTk0c137Gw==" }, "node_modules/magic-string": { "version": "0.30.17", @@ -13401,17 +13541,19 @@ }, "node_modules/math.gl": { "version": "4.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/math.gl/-/math.gl-4.1.0.tgz", + "integrity": "sha512-FtvCJuuAlvn4358e2SkepTv2gnV7VTvu0y/hwkkjS/urDk+nY9x/4Tsn19LmaJl1wqKaqn+QFZhbnjAsuMOkWA==", "dependencies": { "@math.gl/core": "4.1.0" } }, "node_modules/mathjs": { - "version": "13.2.0", - "license": "Apache-2.0", + "version": "13.2.3", + "resolved": "https://registry.npmjs.org/mathjs/-/mathjs-13.2.3.tgz", + "integrity": "sha512-I67Op0JU7gGykFK64bJexkSAmX498x0oybxfVXn1rroEMZTmfxppORhnk8mEUnPrbTfabDKCqvm18vJKMk2UJQ==", "dependencies": { - "@babel/runtime": "^7.25.6", - "complex.js": "^2.1.1", + "@babel/runtime": "^7.25.7", + "complex.js": "^2.2.5", "decimal.js": "^10.4.3", "escape-latex": "^1.2.0", "fraction.js": "^4.3.7", @@ -13429,7 +13571,8 @@ }, "node_modules/md5": { "version": "2.3.0", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", "dependencies": { "charenc": "0.0.2", "crypt": "0.0.2", @@ -13438,7 +13581,8 @@ }, "node_modules/merge-refs": { "version": "1.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/merge-refs/-/merge-refs-1.3.0.tgz", + "integrity": "sha512-nqXPXbso+1dcKDpPCXvwZyJILz+vSLqGGOnDrYHQYE+B8n9JTCekVLC65AfCpR4ggVyA/45Y0iR9LDyS2iI+zA==", "funding": { "url": "https://github.com/wojtekmaj/merge-refs?sponsor=1" }, @@ -14051,7 +14195,8 @@ }, "node_modules/pako": { "version": "1.0.11", - "license": "(MIT AND Zlib)" + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" }, "node_modules/parent-module": { "version": "1.0.1", @@ -14536,7 +14681,8 @@ }, "node_modules/polygon-clipping": { "version": "0.15.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/polygon-clipping/-/polygon-clipping-0.15.7.tgz", + "integrity": "sha512-nhfdr83ECBg6xtqOAJab1tbksbBAOMUltN60bU+llHVOL0e5Onm1WpAXXWXVB39L8AJFssoIhEVuy/S90MmotA==", "dependencies": { "robust-predicates": "^3.0.2", "splaytree": "^3.1.0" @@ -14824,7 +14970,8 @@ }, "node_modules/rbush": { "version": "3.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz", + "integrity": "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==", "dependencies": { "quickselect": "^2.0.0" } @@ -15431,7 +15578,8 @@ }, "node_modules/seedrandom": { "version": "3.0.5", - "license": "MIT" + "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz", + "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==" }, "node_modules/semver": { "version": "6.3.1", @@ -15539,7 +15687,8 @@ }, "node_modules/setimmediate": { "version": "1.0.5", - "license": "MIT" + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" }, "node_modules/shallow-copy": { "version": "0.0.1", @@ -15669,7 +15818,8 @@ }, "node_modules/snappyjs": { "version": "0.6.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/snappyjs/-/snappyjs-0.6.1.tgz", + "integrity": "sha512-YIK6I2lsH072UE0aOFxxY1dPDCS43I5ktqHpeAsuLNYWkE5pGxRGWfDM4/vSUfNzXjC1Ivzt3qx31PCLmc9yqg==" }, "node_modules/source-map": { "version": "0.5.7", @@ -15706,11 +15856,13 @@ }, "node_modules/splaytree": { "version": "3.1.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/splaytree/-/splaytree-3.1.2.tgz", + "integrity": "sha512-4OM2BJgC5UzrhVnnJA4BkHKGtjXNzzUfpQjCO8I05xYPsfS/VuQDwjCGGMi8rYQilHEV4j8NBqTFbls/PZEE7A==" }, "node_modules/sprintf-js": { "version": "1.0.3", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, "node_modules/stable-hash": { "version": "0.0.4", @@ -16008,8 +16160,15 @@ } }, "node_modules/strnum": { - "version": "1.0.5", - "license": "MIT" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz", + "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ] }, "node_modules/strongly-connected-components": { "version": "1.0.1", @@ -16328,7 +16487,8 @@ }, "node_modules/texture-compressor": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/texture-compressor/-/texture-compressor-1.0.2.tgz", + "integrity": "sha512-dStVgoaQ11mA5htJ+RzZ51ZxIZqNOgWKAIvtjLrW1AliQQLCmrDqNzQZ8Jh91YealQ95DXt4MEduLzJmbs6lig==", "dependencies": { "argparse": "^1.0.10", "image-size": "^0.7.4" @@ -16339,7 +16499,8 @@ }, "node_modules/texture-compressor/node_modules/argparse": { "version": "1.0.10", - "license": "MIT", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dependencies": { "sprintf-js": "~1.0.2" } @@ -16355,7 +16516,8 @@ }, "node_modules/tiny-emitter": { "version": "2.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" }, "node_modules/tiny-invariant": { "version": "1.3.3", @@ -16587,7 +16749,8 @@ }, "node_modules/turf-jsts": { "version": "1.2.3", - "license": "(EDL-1.0 OR EPL-1.0)" + "resolved": "https://registry.npmjs.org/turf-jsts/-/turf-jsts-1.2.3.tgz", + "integrity": "sha512-Ja03QIJlPuHt4IQ2FfGex4F4JAr8m3jpaHbFbQrgwr7s7L6U8ocrHiF3J1+wf9jzhGKxvDeaCAnGDot8OjGFyA==" }, "node_modules/type": { "version": "2.7.3", @@ -16682,7 +16845,8 @@ }, "node_modules/typed-function": { "version": "4.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/typed-function/-/typed-function-4.2.1.tgz", + "integrity": "sha512-EGjWssW7Tsk4DGfE+5yluuljS1OGYWiI1J6e8puZz9nTMM51Oug8CD5Zo4gWMsOhq5BI+1bF+rWTm4Vbj3ivRA==", "engines": { "node": ">= 18" } @@ -16859,14 +17023,17 @@ }, "node_modules/viewport-mercator-project": { "version": "7.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/viewport-mercator-project/-/viewport-mercator-project-7.0.4.tgz", + "integrity": "sha512-0jzpL6pIMocCKWg1C3mqi/N4UPgZC3FzwghEm1H+XsUo8hNZAyJc3QR7YqC816ibOR8aWT5pCsV+gCu8/BMJgg==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", "dependencies": { "@math.gl/web-mercator": "^3.5.5" } }, "node_modules/viewport-mercator-project/node_modules/@math.gl/web-mercator": { "version": "3.6.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@math.gl/web-mercator/-/web-mercator-3.6.3.tgz", + "integrity": "sha512-UVrkSOs02YLehKaehrxhAejYMurehIHPfFQvPFZmdJHglHOU4V2cCUApTVEwOksvCp161ypEqVp+9H6mGhTTcw==", "dependencies": { "@babel/runtime": "^7.12.0", "gl-matrix": "^3.4.0" @@ -17470,7 +17637,8 @@ }, "node_modules/workerpool": { "version": "9.2.0", - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-9.2.0.tgz", + "integrity": "sha512-PKZqBOCo6CYkVOwAxWxQaSF2Fvb5Iv2fCeTP7buyWI2GiynWr46NcXSgK/idoV6e60dgCBfgYc+Un3HMvmqP8w==" }, "node_modules/world-calendars": { "version": "1.0.3", @@ -17614,7 +17782,8 @@ }, "node_modules/zstd-codec": { "version": "0.1.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/zstd-codec/-/zstd-codec-0.1.5.tgz", + "integrity": "sha512-v3fyjpK8S/dpY/X5WxqTK3IoCnp/ZOLxn144GZVlNUjtwAchzrVo03h+oMATFhCIiJ5KTr4V3vDQQYz4RU684g==", "optional": true } } diff --git a/frontend/package.json b/frontend/package.json index e91442eeb..eb121e6f1 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -30,7 +30,7 @@ "@tanstack/react-query-devtools": "^5.63", "@types/geojson": "^7946.0.14", "@webviz/group-tree-plot": "^1.4.0", - "@webviz/subsurface-viewer": "^1.1.1", + "@webviz/subsurface-viewer": "^1.8.7", "@webviz/well-completions-plot": "^1.5.11", "@webviz/well-log-viewer": "^2.1.0", "animate.css": "^4.1.1", From 84f162139ee5302a1bc80d537aa6baf365f89289 Mon Sep 17 00:00:00 2001 From: Anders Rantala Hunderi Date: Thu, 20 Mar 2025 11:42:49 +0100 Subject: [PATCH 3/5] Made resolveClassNames util handle nullish values. Added class name prop to PendingWrapper --- .../src/lib/components/PendingWrapper/pendingWrapper.tsx | 3 ++- frontend/src/lib/utils/resolveClassNames.ts | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/frontend/src/lib/components/PendingWrapper/pendingWrapper.tsx b/frontend/src/lib/components/PendingWrapper/pendingWrapper.tsx index 2eef294c1..caff8ccd3 100644 --- a/frontend/src/lib/components/PendingWrapper/pendingWrapper.tsx +++ b/frontend/src/lib/components/PendingWrapper/pendingWrapper.tsx @@ -6,6 +6,7 @@ import { resolveClassNames } from "@lib/utils/resolveClassNames"; // Base state wrapper props export type PendingWrapperProps = { isPending: boolean; + className?: string; errorMessage?: string; children: React.ReactNode; }; @@ -13,7 +14,7 @@ export type PendingWrapperProps = { export const PendingWrapper: React.FC = (props) => { return (
| string)[]): string { +export function resolveClassNames( + ...classNamesOrLists: (Record | string | null | undefined)[] +): string { const classNames = classNamesOrLists.reduce((acc, curr) => { + // Filter away undefined, null, and empty strings + if (!curr) return acc; + if (typeof curr === "string") { acc.push(curr); } else { From c3824c870a736aa299d92ea2c7a1c8f3c0116745 Mon Sep 17 00:00:00 2001 From: Anders Rantala Hunderi Date: Thu, 20 Mar 2025 12:55:39 +0100 Subject: [PATCH 4/5] Added compact variant prop to ReadoutBox --- .../modules/_shared/components/ReadoutBox.tsx | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/frontend/src/modules/_shared/components/ReadoutBox.tsx b/frontend/src/modules/_shared/components/ReadoutBox.tsx index 551f925f2..68edfc5ce 100644 --- a/frontend/src/modules/_shared/components/ReadoutBox.tsx +++ b/frontend/src/modules/_shared/components/ReadoutBox.tsx @@ -1,6 +1,7 @@ import React from "react"; import { useStableProp } from "@lib/hooks/useStableProp"; +import { resolveClassNames } from "@lib/utils/resolveClassNames"; import { convertRemToPixels } from "@lib/utils/screenUnitConversions"; import _ from "lodash"; @@ -33,6 +34,7 @@ export type ReadoutBoxProps = { flipDisabled?: boolean; /** The distance between the box and the edges of the parent container. Give a single number for equal distance on all sides */ edgeDistanceRem?: number | PartialEdgeDistance; + compact?: boolean; }; export function ReadoutBox(props: ReadoutBoxProps): React.ReactNode { @@ -93,8 +95,17 @@ export function ReadoutBox(props: ReadoutBoxProps): React.ReactNode { return (
{visibleReadoutItems.map((item, idx) => ( @@ -115,9 +126,9 @@ export function ReadoutBox(props: ReadoutBoxProps): React.ReactNode { ); } -function InfoLabel(props: { item: ReadoutItem; noLabelColor?: boolean }): React.ReactNode { +function InfoLabel(props: { item: ReadoutItem; noLabelColor?: boolean; compact?: boolean }): React.ReactNode { return ( -
+
{!props.noLabelColor && (
+ <>
{props.adornment}
{props.name}:
-
{makeFormattedInfoValue(props.value)}
+
{makeFormattedInfoValue(props.value)}
{props.unit}
-
+ ); } From 2beff1a2a49087a13c1125e011c488dcf7a31425 Mon Sep 17 00:00:00 2001 From: Anders Rantala Hunderi Date: Thu, 20 Mar 2025 12:58:41 +0100 Subject: [PATCH 5/5] Implemented multipicking on 2D viewer module --- .../view/components/LayersWrapper.tsx | 60 +++------- .../view/components/ReadoutBoxWrapper.tsx | 112 +++++++----------- .../components/SubsurfaceViewerWrapper.tsx | 105 +++++++++++++--- .../view/components/ViewPortLabel.tsx | 21 ++++ 4 files changed, 166 insertions(+), 132 deletions(-) create mode 100644 frontend/src/modules/2DViewer/view/components/ViewPortLabel.tsx diff --git a/frontend/src/modules/2DViewer/view/components/LayersWrapper.tsx b/frontend/src/modules/2DViewer/view/components/LayersWrapper.tsx index 49b4fb1f0..4bc40fe48 100644 --- a/frontend/src/modules/2DViewer/view/components/LayersWrapper.tsx +++ b/frontend/src/modules/2DViewer/view/components/LayersWrapper.tsx @@ -1,10 +1,8 @@ import React from "react"; -import { View as DeckGlView } from "@deck.gl/core"; import type { ViewContext } from "@framework/ModuleContext"; import { useViewStatusWriter } from "@framework/StatusWriter"; import { PendingWrapper } from "@lib/components/PendingWrapper"; -import { useElementSize } from "@lib/hooks/useElementSize"; import type { Rect2D } from "@lib/utils/geometry"; import { outerRectContainsInnerRect } from "@lib/utils/geometry"; import type { Interfaces } from "@modules/2DViewer/interfaces"; @@ -12,12 +10,11 @@ import { PreferredViewLayout } from "@modules/2DViewer/types"; import type { LayerManager } from "@modules/_shared/LayerFramework/framework/LayerManager/LayerManager"; import { LayerManagerTopic } from "@modules/_shared/LayerFramework/framework/LayerManager/LayerManager"; import type { BoundingBox } from "@modules/_shared/LayerFramework/interfaces"; -import { ColorLegendsContainer } from "@modules/_shared/components/ColorLegendsContainer"; import type { ColorScaleWithId } from "@modules/_shared/components/ColorLegendsContainer/colorLegendsContainer"; import { usePublishSubscribeTopicValue } from "@modules/_shared/utils/PublishSubscribeDelegate"; -import type { BoundingBox2D, ViewportType } from "@webviz/subsurface-viewer"; -import type { ViewsType } from "@webviz/subsurface-viewer/dist/SubsurfaceViewer"; +import type { BoundingBox2D } from "@webviz/subsurface-viewer"; +import type { ViewPortTypeExt, ViewsTypeExt } from "./SubsurfaceViewerWrapper"; import { SubsurfaceViewerWrapper } from "./SubsurfaceViewerWrapper"; import { PlaceholderLayer } from "../customDeckGlLayers/PlaceholderLayer"; @@ -33,18 +30,15 @@ export type LayersWrapperProps = { export function LayersWrapper(props: LayersWrapperProps): React.ReactNode { const [prevBoundingBox, setPrevBoundingBox] = React.useState(null); - const mainDivRef = React.useRef(null); - const mainDivSize = useElementSize(mainDivRef); const statusWriter = useViewStatusWriter(props.viewContext); usePublishSubscribeTopicValue(props.layerManager, LayerManagerTopic.LAYER_DATA_REVISION); - const viewports: ViewportType[] = []; + const viewports: ViewPortTypeExt[] = []; const viewerLayers: DeckGlLayerWithPosition[] = []; - const viewportAnnotations: React.ReactNode[] = []; - const globalColorScales: ColorScaleWithId[] = []; + const colorScales: ColorScaleWithId[] = []; - const views: ViewsType = { + const views: ViewsTypeExt = { layout: [1, 1], viewports: viewports, showLabel: false, @@ -67,38 +61,23 @@ export function LayersWrapper(props: LayersWrapperProps): React.ReactNode { views.layout = [numCols, numRows]; viewerLayers.push(...viewsAndLayers.layers); - globalColorScales.push(...viewsAndLayers.colorScales); + colorScales.push(...viewsAndLayers.colorScales); + const globalLayerIds = viewsAndLayers.layers.map((layer) => layer.layer.id); + const globalColorScaleIds = viewsAndLayers.colorScales.map((c) => c.id); for (const view of viewsAndLayers.views) { viewports.push({ id: view.id, name: view.name, + color: view.color, isSync: true, layerIds: [...globalLayerIds, ...view.layers.map((layer) => layer.layer.id), "placeholder"], + colorScaleIds: [...globalColorScaleIds, ...view.colorScales.map((scale) => scale.id)], }); - viewerLayers.push(...view.layers); - viewportAnnotations.push( - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - /* @ts-expect-error */ - - -
-
-
-
{view.name}
-
-
- , - ); + viewerLayers.push(...view.layers); + colorScales.push(...view.colorScales); } if (viewsAndLayers.boundingBox !== null) { @@ -141,17 +120,8 @@ export function LayersWrapper(props: LayersWrapperProps): React.ReactNode { layers.push(new PlaceholderLayer({ id: "placeholder" })); return ( -
- 0}> -
- -
-
-
+ 0}> + + ); } diff --git a/frontend/src/modules/2DViewer/view/components/ReadoutBoxWrapper.tsx b/frontend/src/modules/2DViewer/view/components/ReadoutBoxWrapper.tsx index cb04e19a1..ce9f0220c 100644 --- a/frontend/src/modules/2DViewer/view/components/ReadoutBoxWrapper.tsx +++ b/frontend/src/modules/2DViewer/view/components/ReadoutBoxWrapper.tsx @@ -2,117 +2,87 @@ import React from "react"; import type { ReadoutItem } from "@modules/_shared/components/ReadoutBox"; import { ReadoutBox } from "@modules/_shared/components/ReadoutBox"; -import type { ExtendedLayerProps, LayerPickInfo } from "@webviz/subsurface-viewer"; +import type { PickingInfoPerView } from "@webviz/subsurface-viewer/dist/hooks/useMultiViewPicking"; import { isEqual } from "lodash"; // Needs extra distance for the left side; this avoids overlapping with legend elements -const READOUT_EDGE_DISTANCE_REM = { left: 6 }; +const READOUT_EDGE_DISTANCE_REM = { left: 6, right: 2 }; -function makePositionReadout(layerPickInfo: LayerPickInfo): ReadoutItem | null { - if (layerPickInfo.coordinate === undefined || layerPickInfo.coordinate.length < 2) { +function makePositionReadout(coordinates: number[]): ReadoutItem | null { + if (coordinates === undefined || coordinates.length < 2) { return null; } return { label: "Position", info: [ - { - name: "x", - value: layerPickInfo.coordinate[0], - unit: "m", - }, - { - name: "y", - value: layerPickInfo.coordinate[1], - unit: "m", - }, + { name: "x", value: coordinates[0], unit: "m" }, + { name: "y", value: coordinates[1], unit: "m" }, ], }; } +// Infering the record type from PickingInfoPerView since it's not exported anywhere +export type ViewportPickingInfo = PickingInfoPerView extends Record ? V : never; + export type ReadoutBoxWrapperProps = { - layerPickInfo: LayerPickInfo[]; + viewportPickInfo: ViewportPickingInfo; maxNumItems?: number; visible?: boolean; + compact?: boolean; }; export function ReadoutBoxWrapper(props: ReadoutBoxWrapperProps): React.ReactNode { const [infoData, setInfoData] = React.useState([]); - const [prevLayerPickInfo, setPrevLayerPickInfo] = React.useState([]); + const [prevViewportPickInfo, setPrevViewportPickInfo] = React.useState(null); + + if (!props.visible) { + return null; + } - if (!isEqual(props.layerPickInfo, prevLayerPickInfo)) { - setPrevLayerPickInfo(props.layerPickInfo); + if (!isEqual(props.viewportPickInfo, prevViewportPickInfo)) { + setPrevViewportPickInfo(props.viewportPickInfo); const newReadoutItems: ReadoutItem[] = []; - if (props.layerPickInfo.length === 0) { + const coordinates = props.viewportPickInfo.coordinates; + const layerInfoPicks = props.viewportPickInfo.layerPickingInfo; + + if (!coordinates || coordinates.length < 2) { setInfoData([]); return; } - const positionReadout = makePositionReadout(props.layerPickInfo[0]); + const positionReadout = makePositionReadout(coordinates); if (!positionReadout) { return; } newReadoutItems.push(positionReadout); - for (const layerPickInfo of props.layerPickInfo) { - const layerName = (layerPickInfo.layer?.props as unknown as ExtendedLayerProps)?.name; + for (const layerPickInfo of layerInfoPicks) { + const layerName = layerPickInfo.layerName ?? "Unknown layer"; const layerProps = layerPickInfo.properties; - // pick info can have 2 types of properties that can be displayed on the info card - // 1. defined as propertyValue, used for general layer info (now using for positional data) - // 2. Another defined as array of property object described by type PropertyDataType - - const layerReadout = newReadoutItems.find((item) => item.label === layerName); - - // collecting card data for 1st type - const zValue = (layerPickInfo as LayerPickInfo).propertyValue; - if (zValue !== undefined) { - if (layerReadout) { - layerReadout.info.push({ - name: "Property value", - value: zValue, - }); - } else { - newReadoutItems.push({ - label: layerName ?? "Unknown layer", - info: [ - { - name: "Property value", - value: zValue, - }, - ], - }); - } + let layerReadout = newReadoutItems.find((item) => item.label === layerName); + if (!layerReadout) { + layerReadout = { label: layerName, info: [] }; + newReadoutItems.push(layerReadout); } - // collecting card data for 2nd type - if (!layerProps || layerProps.length === 0) { - continue; - } - if (layerReadout) { - layerProps?.forEach((prop) => { - const property = layerReadout.info?.find((item) => item.name === prop.name); - if (property) { - property.value = prop.value; - } else { - layerReadout.info.push(prop); - } - }); - } else { - newReadoutItems.push({ - label: layerName ?? "Unknown layer", - info: layerProps, - }); - } + layerReadout.info = layerProps.map((p) => ({ + name: p.name, + value: p.value, + })); } setInfoData(newReadoutItems); } - if (!props.visible) { - return null; - } - - return ; + return ( + + ); } diff --git a/frontend/src/modules/2DViewer/view/components/SubsurfaceViewerWrapper.tsx b/frontend/src/modules/2DViewer/view/components/SubsurfaceViewerWrapper.tsx index e48d0cfbb..2c56c9fca 100644 --- a/frontend/src/modules/2DViewer/view/components/SubsurfaceViewerWrapper.tsx +++ b/frontend/src/modules/2DViewer/view/components/SubsurfaceViewerWrapper.tsx @@ -1,32 +1,80 @@ import React from "react"; import type { Layer as DeckGlLayer } from "@deck.gl/core"; +import { View as DeckGlView } from "@deck.gl/core"; +import { useElementSize } from "@lib/hooks/useElementSize"; +import { ColorLegendsContainer } from "@modules/_shared/components/ColorLegendsContainer"; +import type { ColorScaleWithId } from "@modules/_shared/components/ColorLegendsContainer/colorLegendsContainer"; import { SubsurfaceViewerWithCameraState } from "@modules/_shared/components/SubsurfaceViewerWithCameraState"; -import type { BoundingBox2D, LayerPickInfo, MapMouseEvent, ViewStateType, ViewsType } from "@webviz/subsurface-viewer"; +import type { BoundingBox2D, MapMouseEvent, ViewStateType, ViewportType, ViewsType } from "@webviz/subsurface-viewer"; +import { useMultiViewCursorTracking } from "@webviz/subsurface-viewer/dist/hooks/useMultiViewCursorTracking"; +import type { UseMultiViewPickingProps } from "@webviz/subsurface-viewer/dist/hooks/useMultiViewPicking"; +import { useMultiViewPicking } from "@webviz/subsurface-viewer/dist/hooks/useMultiViewPicking"; import { ReadoutBoxWrapper } from "./ReadoutBoxWrapper"; import { Toolbar } from "./Toolbar"; +import { ViewPortLabel } from "./ViewPortLabel"; export type SubsurfaceViewerWrapperProps = { - views: ViewsType; - viewportAnnotations: React.ReactNode[]; + views: ViewsTypeExt; layers: DeckGlLayer[]; + colorScales: ColorScaleWithId[]; + bounds?: BoundingBox2D; }; +export type ViewPortTypeExt = ViewportType & { + color: string | null; + colorScaleIds: string[]; +}; + +export interface ViewsTypeExt extends ViewsType { + viewports: ViewPortTypeExt[]; +} + +// Type is not exported from subsurface-components +type SubsurfaceDeckRef = UseMultiViewPickingProps["deckGlRef"]; + export function SubsurfaceViewerWrapper(props: SubsurfaceViewerWrapperProps): React.ReactNode { const id = React.useId(); + const mainDivRef = React.useRef(null); + const mainDivSize = useElementSize(mainDivRef); + const deckGlRef = React.useRef(null) as SubsurfaceDeckRef; const [cameraPositionSetByAction, setCameraPositionSetByAction] = React.useState(null); const [triggerHomeCounter, setTriggerHomeCounter] = React.useState(0); - const [layerPickingInfo, setLayerPickingInfo] = React.useState([]); + const [hideReadout, setHideReadout] = React.useState(false); + + const colorScalesLookup = Object.fromEntries(props.colorScales.map((scale) => [scale.id, scale])); + const [numCols] = props.views.layout; + + const viewports = props.views?.viewports ?? []; + const layers = props.layers ?? []; + + const { pickingInfoPerView, activeViewportId, getPickingInfo } = useMultiViewPicking({ + deckGlRef, + pickDepth: 3, + multiPicking: true, + }); + + const { viewports: adjustedViewports, layers: adjustedLayers } = useMultiViewCursorTracking({ + activeViewportId, + viewports, + layers, + worldCoordinates: pickingInfoPerView[activeViewportId]?.coordinates ?? null, + crosshairProps: { + // ! We hide the crosshair by opacity since toggling "visible" causes a full asset load/unload + color: [255, 255, 255, hideReadout ? 0 : 255], + sizePx: 32, + }, + }); function handleFitInViewClick() { setTriggerHomeCounter((prev) => prev + 1); } function handleMouseHover(event: MapMouseEvent): void { - setLayerPickingInfo(event.infos); + getPickingInfo(event); } function handleMouseEvent(event: MapMouseEvent): void { @@ -35,18 +83,27 @@ export function SubsurfaceViewerWrapper(props: SubsurfaceViewerWrapperProps): Re } } + // Make hover hide when you leave the module + const handleMainDivLeave = React.useCallback(() => setHideReadout(true), []); + const handleMainDivEnter = React.useCallback(() => setHideReadout(false), []); + return ( - <> +
- setCameraPositionSetByAction(null)} onMouseEvent={handleMouseEvent} - layers={props.layers} + views={{ ...props.views, viewports: adjustedViewports }} + layers={adjustedLayers} scale={{ visible: true, incrementValue: 100, @@ -56,21 +113,37 @@ export function SubsurfaceViewerWrapper(props: SubsurfaceViewerWrapperProps): Re top: 10, }, }} - coords={{ - visible: false, - multiPicking: true, - pickDepth: 2, - }} + // Hide the built in readout box + // ! If multipicking is false, double-click re-centering stops working + coords={{ visible: false, multiPicking: true, pickDepth: 2 }} triggerHome={triggerHomeCounter} pickingRadius={5} > - {props.viewportAnnotations} + {props.views.viewports.map((viewport) => ( + // @ts-expect-error -- This class is marked as abstract, but seems to just work as is + // ? Should we do a proper implementation of the class?? + + + + colorScalesLookup[id])} + height={((mainDivSize.height / 3) * 2) / numCols - 20} + position="left" + /> + + 1} + viewportPickInfo={pickingInfoPerView[viewport.id]} + visible={!hideReadout && !!pickingInfoPerView[viewport.id]} + /> + + ))} {props.views.viewports.length === 0 && (
Please add views and layers in the settings panel.
)} - +
); } diff --git a/frontend/src/modules/2DViewer/view/components/ViewPortLabel.tsx b/frontend/src/modules/2DViewer/view/components/ViewPortLabel.tsx new file mode 100644 index 000000000..0c7300783 --- /dev/null +++ b/frontend/src/modules/2DViewer/view/components/ViewPortLabel.tsx @@ -0,0 +1,21 @@ +import type React from "react"; + +import type { ViewPortTypeExt } from "./SubsurfaceViewerWrapper"; + +export type ViewPortLabelProps = { + viewPort: ViewPortTypeExt; +}; + +export function ViewPortLabel(props: ViewPortLabelProps): React.ReactNode { + return ( +
+
+
+
{props.viewPort.name}
+
+
+ ); +}