diff --git a/packages/deck-gl/package.json b/packages/deck-gl/package.json index ce35f162..19ddb7a1 100644 --- a/packages/deck-gl/package.json +++ b/packages/deck-gl/package.json @@ -8,14 +8,17 @@ "test": "echo \"Error: no test specified\" && exit 1" }, "dependencies": { - "@deck.gl/aggregation-layers": "^9.1.14", - "@deck.gl/core": "^9.1.14", - "@deck.gl/mapbox": "^9.1.14", + "@deck.gl/aggregation-layers": "^9.2.6", + "@deck.gl/core": "^9.2.6", + "@deck.gl/geo-layers": "^9.2.6", + "@deck.gl/mapbox": "^9.2.6", + "@deck.gl/mesh-layers": "^9.2.6", "@mapcomponents/react-maplibre": "workspace:*", "@mui/icons-material": "^7.3.2", "@mui/material": "^7.3.2", "@storybook/react": "^9.1.4", - "maplibre-gl": "^5.16.0" + "maplibre-gl": "^5.16.0", + "uuid": "^11.1.0" }, "devDependencies": { "@types/geojson": "^7946.0.16" diff --git a/packages/deck-gl/public/assets/3D/WhereGroupLogo.glb b/packages/deck-gl/public/assets/3D/WhereGroupLogo.glb new file mode 100644 index 00000000..c449f3c5 Binary files /dev/null and b/packages/deck-gl/public/assets/3D/WhereGroupLogo.glb differ diff --git a/packages/deck-gl/public/assets/tiles/points/r.pnts b/packages/deck-gl/public/assets/tiles/points/r.pnts new file mode 100644 index 00000000..4be8a06d Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r0.pnts b/packages/deck-gl/public/assets/tiles/points/r0.pnts new file mode 100644 index 00000000..7d9ebcca Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r0.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r00.pnts b/packages/deck-gl/public/assets/tiles/points/r00.pnts new file mode 100644 index 00000000..c4669d9b Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r00.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r01.pnts b/packages/deck-gl/public/assets/tiles/points/r01.pnts new file mode 100644 index 00000000..88897aa8 Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r01.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r02.pnts b/packages/deck-gl/public/assets/tiles/points/r02.pnts new file mode 100644 index 00000000..5f0b8393 Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r02.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r03.pnts b/packages/deck-gl/public/assets/tiles/points/r03.pnts new file mode 100644 index 00000000..18cdf0e8 Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r03.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r04.pnts b/packages/deck-gl/public/assets/tiles/points/r04.pnts new file mode 100644 index 00000000..2f8118c7 Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r04.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r05.pnts b/packages/deck-gl/public/assets/tiles/points/r05.pnts new file mode 100644 index 00000000..b7339ee5 Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r05.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r06.pnts b/packages/deck-gl/public/assets/tiles/points/r06.pnts new file mode 100644 index 00000000..4a25feac Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r06.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r07.pnts b/packages/deck-gl/public/assets/tiles/points/r07.pnts new file mode 100644 index 00000000..fd6b232e Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r07.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r2.pnts b/packages/deck-gl/public/assets/tiles/points/r2.pnts new file mode 100644 index 00000000..61d8c8ae Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r2.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r20.pnts b/packages/deck-gl/public/assets/tiles/points/r20.pnts new file mode 100644 index 00000000..ed589b39 Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r20.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r21.pnts b/packages/deck-gl/public/assets/tiles/points/r21.pnts new file mode 100644 index 00000000..c0d865bd Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r21.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r22.pnts b/packages/deck-gl/public/assets/tiles/points/r22.pnts new file mode 100644 index 00000000..4f248fc9 Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r22.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r23.pnts b/packages/deck-gl/public/assets/tiles/points/r23.pnts new file mode 100644 index 00000000..ba57c0ce Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r23.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r24.pnts b/packages/deck-gl/public/assets/tiles/points/r24.pnts new file mode 100644 index 00000000..78c6f9b3 Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r24.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r25.pnts b/packages/deck-gl/public/assets/tiles/points/r25.pnts new file mode 100644 index 00000000..df89dbb9 Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r25.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r26.pnts b/packages/deck-gl/public/assets/tiles/points/r26.pnts new file mode 100644 index 00000000..03028b09 Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r26.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r27.pnts b/packages/deck-gl/public/assets/tiles/points/r27.pnts new file mode 100644 index 00000000..c2324d35 Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r27.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r3.pnts b/packages/deck-gl/public/assets/tiles/points/r3.pnts new file mode 100644 index 00000000..19a72fc6 Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r3.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r4.pnts b/packages/deck-gl/public/assets/tiles/points/r4.pnts new file mode 100644 index 00000000..3dba56fe Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r4.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r40.pnts b/packages/deck-gl/public/assets/tiles/points/r40.pnts new file mode 100644 index 00000000..f1db62c4 Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r40.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r41.pnts b/packages/deck-gl/public/assets/tiles/points/r41.pnts new file mode 100644 index 00000000..d37a3f07 Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r41.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r42.pnts b/packages/deck-gl/public/assets/tiles/points/r42.pnts new file mode 100644 index 00000000..c576e9c0 Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r42.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r43.pnts b/packages/deck-gl/public/assets/tiles/points/r43.pnts new file mode 100644 index 00000000..7438bb75 Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r43.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r44.pnts b/packages/deck-gl/public/assets/tiles/points/r44.pnts new file mode 100644 index 00000000..7ddea806 Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r44.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r45.pnts b/packages/deck-gl/public/assets/tiles/points/r45.pnts new file mode 100644 index 00000000..e43efca4 Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r45.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r46.pnts b/packages/deck-gl/public/assets/tiles/points/r46.pnts new file mode 100644 index 00000000..44811508 Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r46.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r47.pnts b/packages/deck-gl/public/assets/tiles/points/r47.pnts new file mode 100644 index 00000000..e7987beb Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r47.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r6.pnts b/packages/deck-gl/public/assets/tiles/points/r6.pnts new file mode 100644 index 00000000..0b7973ce Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r6.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r60.pnts b/packages/deck-gl/public/assets/tiles/points/r60.pnts new file mode 100644 index 00000000..158c63a8 Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r60.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r61.pnts b/packages/deck-gl/public/assets/tiles/points/r61.pnts new file mode 100644 index 00000000..1ea97611 Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r61.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r63.pnts b/packages/deck-gl/public/assets/tiles/points/r63.pnts new file mode 100644 index 00000000..8b124fd3 Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r63.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r64.pnts b/packages/deck-gl/public/assets/tiles/points/r64.pnts new file mode 100644 index 00000000..96cbb566 Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r64.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/points/r65.pnts b/packages/deck-gl/public/assets/tiles/points/r65.pnts new file mode 100644 index 00000000..6cc0b64b Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/points/r65.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/preview.pnts b/packages/deck-gl/public/assets/tiles/preview.pnts new file mode 100644 index 00000000..06dd7ac4 Binary files /dev/null and b/packages/deck-gl/public/assets/tiles/preview.pnts differ diff --git a/packages/deck-gl/public/assets/tiles/tileset.json b/packages/deck-gl/public/assets/tiles/tileset.json new file mode 100644 index 00000000..1cb2a8f4 --- /dev/null +++ b/packages/deck-gl/public/assets/tiles/tileset.json @@ -0,0 +1,460 @@ +{ + "root": { + "boundingVolume": { + "box": [ + 7.08837433194276e-11, -1.0849765530451805e-11, 0.0, 2.1660589315706034, 0.0, 0.0, 0.0, + 2.496811700064363, 0.0, 0.0, 0.0, 1.8121010037139058 + ] + }, + "geometricError": 7.5391219668910425, + "refine": "REPLACE", + "transform": [ + 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 4236628.677646827, + 583558.5177497872, 4716055.786378884, 1.0 + ], + "children": [ + { + "boundingVolume": { + "box": [ + 2.2450108528137207, 1.870360553264618, 0.7135822474956512, 2.249756932258606, 0.0, 0.0, + 0.0, 1.858299195766449, 0.0, 0.0, 0.0, 0.7300386726856232 + ] + }, + "geometricError": 0.24063239850378887, + "refine": "REPLACE", + "transform": [ + -0.13793646990391142, 0.9903284999809532, 0.014932929917537986, 0.0, -0.7400013696298064, + -0.11306774680614906, 0.6630336775595874, 0.0, 0.6583095800734313, 0.0804061363184137, + 0.7484406122237668, 0.0, 1.2239802135154605, -2.0691971683409065, -1.8077105600386858, 1.0 + ], + "children": [ + { + "boundingVolume": { + "box": [ + 1.1232349276542664, 1.0431104004383087, 0.6967905759811401, 1.1279810070991516, 0.0, + 0.0, 0.0, 0.8219834864139557, 0.0, 0.0, 0.0, 0.6742674112319946 + ] + }, + "geometricError": 0.12031619925189443, + "refine": "ADD", + "children": [ + { + "boundingVolume": { + "box": [ + 0.7326741814613342, 0.6975642442703247, 0.3973909020423889, 0.392952024936676, + 0.0, 0.0, 0.0, 0.2348412275314331, 0.0, 0.0, 0.0, 0.3092222213745117 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r00.pnts" } + }, + { + "boundingVolume": { + "box": [ + 1.0004587173461914, 0.7575281858444214, 0.9685447812080383, 0.1248067319393158, + 0.0, 0.0, 0.0, 0.17315629124641418, 0.0, 0.0, 0.0, 0.2604460120201111 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r01.pnts" } + }, + { + "boundingVolume": { + "box": [ + 0.5604310035705566, 1.3988256454467773, 0.376658171415329, 0.5651770830154419, + 0.0, 0.0, 0.0, 0.46619170904159546, 0.0, 0.0, 0.0, 0.32289281487464905 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r02.pnts" } + }, + { + "boundingVolume": { + "box": [ + 0.6606923937797546, 1.3988182544708252, 1.0713670253753662, 0.46480482816696167, + 0.0, 0.0, 0.0, 0.4661717712879181, 0.0, 0.0, 0.0, 0.29833704233169556 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r03.pnts" } + }, + { + "boundingVolume": { + "box": [ + 1.6884149312973022, 0.5791147351264954, 0.37058937549591064, 0.5627516508102417, + 0.0, 0.0, 0.0, 0.3532513380050659, 0.0, 0.0, 0.0, 0.33682507276535034 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r04.pnts" } + }, + { + "boundingVolume": { + "box": [ + 1.5319273471832275, 0.7473264932632446, 0.9682750701904297, 0.40592092275619507, + 0.0, 0.0, 0.0, 0.1851842701435089, 0.0, 0.0, 0.0, 0.2606566846370697 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r05.pnts" } + }, + { + "boundingVolume": { + "box": [ + 1.6884897947311401, 1.3987574577331543, 0.37236836552619934, 0.5627261400222778, + 0.0, 0.0, 0.0, 0.4661939740180969, 0.0, 0.0, 0.0, 0.3304767310619354 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r06.pnts" } + }, + { + "boundingVolume": { + "box": [ + 1.6883270740509033, 1.3989298343658447, 1.0713305473327637, 0.5626779198646545, + 0.0, 0.0, 0.0, 0.4661640524864197, 0.0, 0.0, 0.0, 0.2937571704387665 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r07.pnts" } + } + ], + "content": { "uri": "points/r0.pnts" } + }, + { + "boundingVolume": { + "box": [ + 1.1969048082828522, 2.7968981862068176, 0.7098342627286911, 1.0543581545352936, 0.0, + 0.0, 0.0, 0.9317615628242493, 0.0, 0.0, 0.0, 0.7051142901182175 + ] + }, + "geometricError": 0.12031619925189443, + "refine": "ADD", + "children": [ + { + "boundingVolume": { + "box": [ + 0.6590888500213623, 2.3314104080200195, 0.38634803891181946, 0.466438889503479, + 0.0, 0.0, 0.0, 0.46606820821762085, 0.0, 0.0, 0.0, 0.3195240795612335 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r20.pnts" } + }, + { + "boundingVolume": { + "box": [ + 0.6503592729568481, 2.331402540206909, 1.0623252391815186, 0.4752395451068878, + 0.0, 0.0, 0.0, 0.46613025665283203, 0.0, 0.0, 0.0, 0.35262331366539 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r21.pnts" } + }, + { + "boundingVolume": { + "box": [ + 0.6364241242408752, 3.1835198402404785, 0.370440810918808, 0.48903971910476685, + 0.0, 0.0, 0.0, 0.3857994079589844, 0.0, 0.0, 0.0, 0.3367609679698944 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r22.pnts" } + }, + { + "boundingVolume": { + "box": [ + 0.6626215577125549, 3.0380873680114746, 1.0581612586975098, 0.46293601393699646, + 0.0, 0.0, 0.0, 0.24029004573822021, 0.0, 0.0, 0.0, 0.3505549132823944 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r23.pnts" } + }, + { + "boundingVolume": { + "box": [ + 1.6884944438934326, 2.3316407203674316, 0.09562954306602478, 0.5627685189247131, + 0.0, 0.0, 0.0, 0.46587836742401123, 0.0, 0.0, 0.0, 0.09074161946773529 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r24.pnts" } + }, + { + "boundingVolume": { + "box": [ + 1.6883786916732788, 2.331381320953369, 1.086396336555481, 0.5627001523971558, + 0.0, 0.0, 0.0, 0.4660683870315552, 0.0, 0.0, 0.0, 0.272603303194046 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r25.pnts" } + }, + { + "boundingVolume": { + "box": [ + 1.6885024309158325, 3.263172149658203, 0.36613643169403076, 0.5627063512802124, + 0.0, 0.0, 0.0, 0.46548759937286377, 0.0, 0.0, 0.0, 0.34138333797454834 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r26.pnts" } + }, + { + "boundingVolume": { + "box": [ + 1.6880261898040771, 3.2210941314697266, 0.9599211812019348, 0.56235271692276, + 0.0, 0.0, 0.0, 0.42336761951446533, 0.0, 0.0, 0.0, 0.252341091632843 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r27.pnts" } + } + ], + "content": { "uri": "points/r2.pnts" } + }, + { + "boundingVolume": { + "box": [ + 0.8620010018348694, 2.7029762268066406, 1.4294078350067139, 0.07094019651412964, + 0.0, 0.0, 0.0, 0.08764171600341797, 0.0, 0.0, 0.0, 0.014213085174560547 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r3.pnts" } + }, + { + "boundingVolume": { + "box": [ + 3.304537773132324, 0.9385813623666763, 0.6891828030347824, 1.0532411336898804, 0.0, + 0.0, 0.0, 0.9265200048685074, 0.0, 0.0, 0.0, 0.7056392282247543 + ] + }, + "geometricError": 0.12031619925189443, + "refine": "ADD", + "children": [ + { + "boundingVolume": { + "box": [ + 2.8141021728515625, 0.4746535122394562, 0.354105144739151, 0.5626012086868286, + 0.0, 0.0, 0.0, 0.45784321427345276, 0.0, 0.0, 0.0, 0.35336586833000183 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r40.pnts" } + }, + { + "boundingVolume": { + "box": [ + 2.915133237838745, 0.5647898316383362, 0.9226189255714417, 0.4609503746032715, + 0.0, 0.0, 0.0, 0.3677363097667694, 0.0, 0.0, 0.0, 0.21505242586135864 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r41.pnts" } + }, + { + "boundingVolume": { + "box": [ + 2.814178943634033, 1.398891568183899, 0.33122938871383667, 0.5627145767211914, + 0.0, 0.0, 0.0, 0.4661969244480133, 0.0, 0.0, 0.0, 0.3375523090362549 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r42.pnts" } + }, + { + "boundingVolume": { + "box": [ + 2.814178943634033, 1.399066686630249, 1.0575685501098633, 0.5627272129058838, + 0.0, 0.0, 0.0, 0.4660346806049347, 0.0, 0.0, 0.0, 0.33725348114967346 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r43.pnts" } + }, + { + "boundingVolume": { + "box": [ + 3.747763156890869, 0.5661583542823792, 0.0773334950208664, 0.37081992626190186, + 0.0, 0.0, 0.0, 0.366230845451355, 0.0, 0.0, 0.0, 0.02890622429549694 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r44.pnts" } + }, + { + "boundingVolume": { + "box": [ + 3.7100775241851807, 0.7707281112670898, 0.8023180961608887, 0.3329813480377197, + 0.0, 0.0, 0.0, 0.16172349452972412, 0.0, 0.0, 0.0, 0.03208738565444946 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r45.pnts" } + }, + { + "boundingVolume": { + "box": [ + 3.867363929748535, 1.3989229202270508, 0.2539786994457245, 0.49041497707366943, + 0.0, 0.0, 0.0, 0.4661133587360382, 0.0, 0.0, 0.0, 0.2704351246356964 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r46.pnts" } + }, + { + "boundingVolume": { + "box": [ + 3.8421125411987305, 1.3987548351287842, 1.0738475322723389, 0.4651988744735718, + 0.0, 0.0, 0.0, 0.4660906195640564, 0.0, 0.0, 0.0, 0.31838130950927734 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r47.pnts" } + } + ], + "content": { "uri": "points/r4.pnts" } + }, + { + "boundingVolume": { + "box": [ + 3.3730270862579346, 2.609271764755249, 0.7001622021198273, 1.121740698814392, 0.0, + 0.0, 0.0, 0.7441596984863281, 0.0, 0.0, 0.0, 0.6690016686916351 + ] + }, + "geometricError": 0.12031619925189443, + "refine": "ADD", + "children": [ + { + "boundingVolume": { + "box": [ + 2.814326286315918, 2.331434726715088, 0.3693091571331024, 0.5625115633010864, + 0.0, 0.0, 0.0, 0.4661487340927124, 0.0, 0.0, 0.0, 0.3381486237049103 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r60.pnts" } + }, + { + "boundingVolume": { + "box": [ + 2.814249277114868, 2.3314290046691895, 1.0387760400772095, 0.5626590251922607, + 0.0, 0.0, 0.0, 0.46619606018066406, 0.0, 0.0, 0.0, 0.33038783073425293 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r61.pnts" } + }, + { + "boundingVolume": { + "box": [ + 2.8139495849609375, 3.0731990337371826, 0.10282731801271439, 0.5624197721481323, + 0.0, 0.0, 0.0, 0.2754652500152588, 0.0, 0.0, 0.0, 0.06150231510400772 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r62.pnts" } + }, + { + "boundingVolume": { + "box": [ + 2.815488338470459, 2.874725103378296, 0.9668313264846802, 0.5612854957580566, + 0.0, 0.0, 0.0, 0.07704520225524902, 0.0, 0.0, 0.0, 0.22118401527404785 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r63.pnts" } + }, + { + "boundingVolume": { + "box": [ + 3.935901165008545, 2.331380844116211, 0.37227338552474976, 0.5588666200637817, + 0.0, 0.0, 0.0, 0.46626877784729004, 0.0, 0.0, 0.0, 0.33483803272247314 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r64.pnts" } + }, + { + "boundingVolume": { + "box": [ + 3.8688666820526123, 2.331388235092163, 0.9365708827972412, 0.4918854236602783, + 0.0, 0.0, 0.0, 0.4662376046180725, 0.0, 0.0, 0.0, 0.22875595092773438 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r65.pnts" } + }, + { + "boundingVolume": { + "box": [ + 3.7129833698272705, 2.947214365005493, 0.40005528926849365, 0.33587002754211426, + 0.0, 0.0, 0.0, 0.14945483207702637, 0.0, 0.0, 0.0, 0.2962592840194702 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r66.pnts" } + }, + { + "boundingVolume": { + "box": [ + 3.541743755340576, 2.873154640197754, 0.9420145750045776, 0.16480529308319092, + 0.0, 0.0, 0.0, 0.07548391819000244, 0.0, 0.0, 0.0, 0.23410186171531677 + ] + }, + "geometricError": 0.0, + "refine": "ADD", + "content": { "uri": "points/r67.pnts" } + } + ], + "content": { "uri": "points/r6.pnts" } + } + ], + "content": { "uri": "points/r.pnts" } + } + ], + "content": { "uri": "preview.pnts" } + }, + "asset": { + "version": "1.0", + "extras": { + "created_date": "2026-01-13T13:01:28.833434", + "generator": { "name": "py3dtiles", "version": "12.0.0" } + } + }, + "geometricError": 7.5391219668910425 +} diff --git a/packages/deck-gl/public/assets/wg_locations.json b/packages/deck-gl/public/assets/wg_locations.json new file mode 100644 index 00000000..11d316d4 --- /dev/null +++ b/packages/deck-gl/public/assets/wg_locations.json @@ -0,0 +1,53 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "id": "1", + "type": "Feature", + "properties": { + "Standort": "Bonn", + "Mitarbeitende": 26 + }, + "geometry": { + "coordinates": [7.085121767634178, 50.738628929850876], + "type": "Point" + } + }, + { + "id": "2", + "type": "Feature", + "properties": { + "Standort": "Freiburg", + "Mitarbeitende": 10 + }, + "geometry": { + "coordinates": [7.842759788570362, 47.98905444717667], + "type": "Point" + } + }, + { + "id": "3", + "type": "Feature", + "properties": { + "Standort": "Berlin", + "Mitarbeitende": 13 + }, + "geometry": { + "coordinates": [13.330420447460796, 52.492768290796676], + "type": "Point" + } + }, + { + "id": "4", + "type": "Feature", + "properties": { + "Standort": "Hamburg", + "Mitarbeitende": 3 + }, + "geometry": { + "coordinates": [10.041789021808029, 53.5511363175323], + "type": "Point" + } + } + ] +} diff --git a/packages/deck-gl/src/components/Ml3DTileLayer/Ml3DTileLayer.stories.tsx b/packages/deck-gl/src/components/Ml3DTileLayer/Ml3DTileLayer.stories.tsx new file mode 100644 index 00000000..915d5b9e --- /dev/null +++ b/packages/deck-gl/src/components/Ml3DTileLayer/Ml3DTileLayer.stories.tsx @@ -0,0 +1,43 @@ +import mapContextDecorator from '../../decorators/MapContextDecorator'; +import Ml3DTileLayer from './Ml3DTileLayer'; + +const storyoptions = { + title: 'MapComponents/Ml3DTileLayer', + component: Ml3DTileLayer, + argTypes: {}, + decorators: mapContextDecorator, +}; +export default storyoptions; + +const Template = (context: any) => { + return ; +}; + +export const PointCloudExample: { [key: string]: any } = Template.bind({}); +PointCloudExample.parameters = { + mapOptions: { + center: [7.842650747974176, 47.98896351950512], + pitch: 43.5, + zoom: 22, + bearing: -8.151137833252392, + }, +}; +PointCloudExample.args = { + mapId: 'map_1', + id: 'PointCould', + data: 'assets/tiles/tileset.json', + pointSize: 2, +}; +export const HamburgExample: { [key: string]: any } = Template.bind({}); +HamburgExample.parameters = { + mapOptions: { + center: [9.993682, 53.551086], + pitch: 58, + zoom: 14.788260082345504, + bearing: 0, + }, +}; +HamburgExample.args = { + mapId: 'map_1', + data: 'https://3dtiles.wheregroup.com/tileset.json', +}; diff --git a/packages/deck-gl/src/components/Ml3DTileLayer/Ml3DTileLayer.tsx b/packages/deck-gl/src/components/Ml3DTileLayer/Ml3DTileLayer.tsx new file mode 100644 index 00000000..e62c0a16 --- /dev/null +++ b/packages/deck-gl/src/components/Ml3DTileLayer/Ml3DTileLayer.tsx @@ -0,0 +1,57 @@ +import { useEffect, useMemo } from 'react'; +import { useMap } from '@mapcomponents/react-maplibre'; +import { Tile3DLayer, Tile3DLayerProps } from '@deck.gl/geo-layers'; +import useDeckGl from '../../hooks/useDeckGl'; + +export interface Ml3DTileLayerProps extends Tile3DLayerProps { + /** + * Id of the target MapLibre instance in mapContext + */ + mapId?: string; + /** + * Id of an existing layer in the mapLibre instance to help specify the layer order + * This layer will be visually beneath the layer with the "beforeId" id. + */ + beforeId?: string; +} + +const Ml3DTileLayer = (props: Ml3DTileLayerProps) => { + const { mapId, ...Ml3DTileProps } = props; + const mapHook = useMap({ mapId: mapId }); + const deckGlHook = useDeckGl(); + + const tile3dLayer = useMemo(() => { + if (!Ml3DTileProps.data) return null; + else + return new Tile3DLayer({ + ...Ml3DTileProps, + }); + }, [ + Ml3DTileProps.data, + Ml3DTileProps.id, + Ml3DTileProps.pickable, + Ml3DTileProps.onTileLoad, + Ml3DTileProps.onTileUnload, + Ml3DTileProps.loadOptions, + Ml3DTileProps.loaders, + Ml3DTileProps.visible, + Ml3DTileProps.opacity, + Ml3DTileProps.pointSize, + Ml3DTileProps.beforeId, + ]); + + useEffect(() => { + if (!mapHook.map || !tile3dLayer) return; + + deckGlHook.addLayer(tile3dLayer); + + return () => { + // eslint-disable-next-line @typescript-eslint/no-unused-expressions + tile3dLayer && deckGlHook.removeLayer(tile3dLayer); + }; + }, [mapHook.map, tile3dLayer]); + + return <>; +}; + +export default Ml3DTileLayer; diff --git a/packages/deck-gl/src/components/MlHexagonMap/MlHexagonMap.cy.tsx b/packages/deck-gl/src/components/MlHexagonLayer/MlHexagonLayer.cy.tsx similarity index 72% rename from packages/deck-gl/src/components/MlHexagonMap/MlHexagonMap.cy.tsx rename to packages/deck-gl/src/components/MlHexagonLayer/MlHexagonLayer.cy.tsx index 4271af4c..227f3907 100644 --- a/packages/deck-gl/src/components/MlHexagonMap/MlHexagonMap.cy.tsx +++ b/packages/deck-gl/src/components/MlHexagonLayer/MlHexagonLayer.cy.tsx @@ -1,12 +1,12 @@ +// MlHexagonLayer.cy.tsx import { composeStories } from '@storybook/react'; -import * as stories from './MlHexagonMap.stories'; +import * as stories from './MlHexagonLayer.stories'; -const { NoiseMap }: any = composeStories(stories); +const { DefaultSettings }: any = composeStories(stories); describe('MlHexagonMap Test', () => { it('Should display Maplibre map with MlHexagonMap', () => { - // see: https://on.cypress.io/mounting-react - cy.mount(); + cy.mount(); cy.window() .should((win) => expect((win as any)._map).to.exist) .then((win) => { diff --git a/packages/deck-gl/src/components/MlHexagonMap/MlHexagonMap.meta_.json b/packages/deck-gl/src/components/MlHexagonLayer/MlHexagonLayer.meta_.json similarity index 100% rename from packages/deck-gl/src/components/MlHexagonMap/MlHexagonMap.meta_.json rename to packages/deck-gl/src/components/MlHexagonLayer/MlHexagonLayer.meta_.json diff --git a/packages/deck-gl/src/components/MlHexagonLayer/MlHexagonLayer.stories.tsx b/packages/deck-gl/src/components/MlHexagonLayer/MlHexagonLayer.stories.tsx new file mode 100644 index 00000000..64c42a8b --- /dev/null +++ b/packages/deck-gl/src/components/MlHexagonLayer/MlHexagonLayer.stories.tsx @@ -0,0 +1,129 @@ +import mapContextDecorator from '../../decorators/MapContextDecorator'; +import MlHexagonLayer from './MlHexagonLayer'; +import { useEffect, useState } from 'react'; +import { useMap } from '@mapcomponents/react-maplibre'; +import { HexagonLayer } from '@deck.gl/aggregation-layers'; + +const storyoptions = { + title: 'MapComponents/MlHexagonMap', + component: MlHexagonLayer, + argTypes: {}, + decorators: mapContextDecorator, +}; +export default storyoptions; + +const Template = (context: any) => { + const [noiseData, setNoiseData] = useState<{ type: string; features: any[] }>({ + type: '', + features: [], + }); + const mapHook = useMap({ mapId: 'map_1' }); + + useEffect(() => { + let cancelled = false; + const load = async () => { + try { + const res = await fetch('/assets/3D/laerm_points.json', { + headers: { + 'Content-Type': 'application/json', + Accept: 'application/json', + }, + }); + if (!res.ok) throw new Error(`HTTP ${res.status}`); + const json = await res.json(); + const features = Array.isArray(json?.features) ? json.features : []; + if (!cancelled) { + setNoiseData({ type: json?.type ?? 'FeatureCollection', features }); + } + } catch (e) { + console.error(e); + if (!cancelled) { + setNoiseData({ type: '', features: [] }); + } + } + }; + load(); + return () => { + cancelled = true; + }; + }, []); + + mapHook.map?.setPitch(60); + mapHook.map?.setZoom(13.5); + + return ( + <> + d.geometry.coordinates} + {...context} + /> + + ); +}; + +export const DefaultSettings: { [key: string]: any } = Template.bind({}); +DefaultSettings.parameters = {}; +DefaultSettings.args = { + mapId: 'map_1', + type: HexagonLayer, + layerOpacity: 0.8, + elevationRange: [30, 75], + elevationScale: 1, + extruded: true, + coverage: 0.9, + autoHighlight: false, + material: { ambient: 0.6, diffuse: 0.5, shininess: 10 }, + radius: 16, + transitions: { elevationScale: 1500 }, + _filterData: null, + colorRange: [ + [1, 152, 189, 125], + [73, 227, 206, 150], + [216, 254, 181, 175], + [254, 237, 177, 200], + [254, 173, 84, 225], + [209, 55, 78, 255], + ], +}; +export const CustomColorAndHeightProfile: { [key: string]: any } = Template.bind({}); +CustomColorAndHeightProfile.parameters = {}; +CustomColorAndHeightProfile.args = { + mapId: 'map_1', + type: HexagonLayer, + layerOpacity: 0.8, + specularColor: [51, 51, 51], + elevationRange: [30, 75], + elevationScale: 1, + extruded: true, + coverage: 0.9, + autoHighlight: false, + material: { ambient: 0.8, diffuse: 0.5, shininess: 10 }, + radius: 16, + transitions: { elevationScale: 1500 }, + _filterData: null, + colorRange: [ + [1, 152, 189, Math.round(80 * 0.8)], + [73, 227, 206, Math.round(90 * 0.8)], + [216, 254, 181, Math.round(100 * 0.8)], + [254, 237, 177, Math.round(110 * 0.8)], + [254, 173, 84, Math.round(120 * 0.8)], + [209, 55, 78, Math.round(150 * 0.8)], + ], + getColorValue: (points: any[]) => { + const elVal = points.reduce((acc, point) => { + const src = point?.properties ? point.properties : point?.source?.properties; + if (!src?.dba && acc === -Infinity) return acc; + return acc < src.dba ? src.dba : acc; + }, -Infinity); + return Number.isFinite(elVal) ? Math.round(elVal) : 0; + }, + getElevationValue: (points: any[]) => { + const elVal = points.reduce((acc, point) => { + const src = point?.properties ? point.properties : point?.source?.properties; + if (!src?.dba && acc === -Infinity) return acc; + return acc < src.dba ? src.dba : acc; + }, -Infinity); + return Number.isFinite(elVal) ? Math.round(elVal) : 0; + }, +}; diff --git a/packages/deck-gl/src/components/MlHexagonLayer/MlHexagonLayer.tsx b/packages/deck-gl/src/components/MlHexagonLayer/MlHexagonLayer.tsx new file mode 100644 index 00000000..74cc0f03 --- /dev/null +++ b/packages/deck-gl/src/components/MlHexagonLayer/MlHexagonLayer.tsx @@ -0,0 +1,90 @@ +import { useEffect, useMemo } from 'react'; +import { HexagonLayer, HexagonLayerProps } from '@deck.gl/aggregation-layers'; +import { useMap } from '@mapcomponents/react-maplibre'; +import useDeckGl from '../../hooks/useDeckGl'; + +export interface MlHexagonMapProps extends HexagonLayerProps { + /** + * Id of the target MapLibre instance in mapContext + */ + mapId?: string; + /** + * Id of an existing layer in the mapLibre instance to help specify the layer order + * This layer will be visually beneath the layer with the "beforeId" id. + */ + beforeId?: string; +} + +const defaultProps = { + type: HexagonLayer, + layerOpacity: 0.8, + elevationRange: [30, 75], + elevationScale: 1, + extruded: true, + coverage: 0.9, + autoHighlight: false, + material: { ambient: 0.6, diffuse: 0.5, shininess: 10 }, + radius: 16, + transitions: { elevationScale: 1500 }, + _filterData: null, + colorRange: [ + [1, 152, 189, 125], + [73, 227, 206, 150], + [216, 254, 181, 175], + [254, 237, 177, 200], + [254, 173, 84, 225], + [209, 55, 78, 255], + ], +}; + +const MlHexagonLayer = (props: MlHexagonMapProps) => { + const deckGlHook = useDeckGl(); + + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-expect-error + props = { + ...defaultProps, + ...props, + }; + + const { mapId, ...HexagonLayerProps } = props; + + const mapHook = useMap({ + mapId: mapId, + waitForLayer: HexagonLayerProps.beforeId, + }); + + // create deck.gl HexagonLayer once when its props change + const hexagonLayer = useMemo(() => { + if (!HexagonLayerProps.data) return null; + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + return new HexagonLayer({ + ...HexagonLayerProps, + } as unknown as HexagonLayerProps); + }, [ + HexagonLayerProps.beforeId, + HexagonLayerProps.data, + HexagonLayerProps.elevationScale, + HexagonLayerProps.extruded, + HexagonLayerProps.coverage, + HexagonLayerProps.autoHighlight, + HexagonLayerProps.material, + HexagonLayerProps.radius, + HexagonLayerProps.transitions, + ]); + + // add/remove the memoized layer + useEffect(() => { + if (!mapHook.map || !hexagonLayer) return; + deckGlHook.addLayer(hexagonLayer); + + return () => { + deckGlHook.removeLayer(hexagonLayer); + }; + }, [mapHook.map, hexagonLayer]); + + return <>; +}; + +export default MlHexagonLayer; diff --git a/packages/deck-gl/src/components/MlHexagonMap/MlHexagonMap.stories.tsx b/packages/deck-gl/src/components/MlHexagonMap/MlHexagonMap.stories.tsx deleted file mode 100644 index ee57499b..00000000 --- a/packages/deck-gl/src/components/MlHexagonMap/MlHexagonMap.stories.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import mapContextDecorator from '../../decorators/MapContextDecorator'; -import MlHexagonMap from './MlHexagonMap'; -import { DeckGlContextProvider } from '../../contexts/DeckGlContext'; - -const storyoptions = { - title: 'MapComponents/MlHexagonMap', - component: MlHexagonMap, - argTypes: {}, - decorators: mapContextDecorator, -}; -export default storyoptions; - -interface TemplateProps { - mapId: string; -} - -const Template = (props: TemplateProps) => ( - - - -); - -// eslint-disable-next-line -export const NoiseMap: { [key: string]: any } = Template.bind({}); -NoiseMap.parameters = {}; -NoiseMap.args = { - mapId: 'map_1', -}; diff --git a/packages/deck-gl/src/components/MlHexagonMap/MlHexagonMap.tsx b/packages/deck-gl/src/components/MlHexagonMap/MlHexagonMap.tsx deleted file mode 100644 index c6c7a483..00000000 --- a/packages/deck-gl/src/components/MlHexagonMap/MlHexagonMap.tsx +++ /dev/null @@ -1,141 +0,0 @@ -import { useEffect, useMemo, useRef, useState } from 'react'; -import useDeckGl from '../../hooks/useDeckGl'; -import { HexagonLayer, HexagonLayerProps } from '@deck.gl/aggregation-layers'; -import { useMap } from '@mapcomponents/react-maplibre'; - -export interface MlHexagonMapProps { - /** - * Id of the target MapLibre instance in mapContext - */ - mapId?: string; - /** - * Id of an existing layer in the mapLibre instance to help specify the layer order - * This layer will be visually beneath the layer with the "insertBeforeLayer" id. - */ - insertBeforeLayer?: string; -} - -const MlHexagonMap = (props: MlHexagonMapProps) => { - const DATA_URL = 'assets/3D/laerm_points.json'; - const deckGlHook = useDeckGl(); - const [noiseData, setNoiseData] = useState({ - type: '', - features: [], - }); - const getJsonData = () => { - fetch(DATA_URL, { - headers: { - 'Content-Type': 'application/json', - Accept: 'application/json', - }, - }) - .then(function (response) { - return response.json(); - }) - .then(function (json) { - setNoiseData(json); - }); - }; - useEffect(() => { - getJsonData(); - }, []); - - const layerOpacity = 0.8; - const specularColor: [number, number, number] = [51, 51, 51]; - const getColorRange: (layerOpacity: number) => [number, number, number, number][] = ( - layerOpacity: number - ) => [ - [1, 152, 189, Math.round(80 * layerOpacity)], - [73, 227, 206, Math.round(90 * layerOpacity)], - [216, 254, 181, Math.round(100 * layerOpacity)], - [254, 237, 177, Math.round(110 * layerOpacity)], - [254, 173, 84, Math.round(120 * layerOpacity)], - [209, 55, 78, Math.round(150 * layerOpacity)], - ]; - const elevationRange: [number, number] = [30, 75]; - - const deckGlLayerProps = useMemo(() => { - return { - id: 'deckgl-layer', - - data: noiseData ? noiseData.features : [], - type: HexagonLayer, - colorRange: getColorRange(layerOpacity), - coverage: 0.9, - elevationRange: elevationRange, - elevationScale: 10, - extruded: true, - autoHighlight: true, - // eslint-disable-next-line - getPosition: (d: any) => { - return d.geometry.coordinates; - }, - pickable: true, - radius: 16, - upperPercentile: 100, - material: { - ambient: 0.8, - diffuse: 0.5, - shininess: 20, - specularColor: specularColor, - }, - transitions: { - elevationScale: 1500, - }, - // eslint-disable-next-line - getColorValue: (points: any[]) => { - const elVal = points.reduce((acc, point) => { - if (!point?.properties && point.source.properties) - return acc < point.source.properties.dba ? point.source.properties.dba : acc; - return acc < point.properties.dba ? point.properties.dba : acc; - }, -Infinity); - return Math.round(elVal); - }, - // eslint-disable-next-line - getElevationValue: (points: any): number => { - // eslint-disable-next-line - const elVal = points.reduce((acc: any, point: any) => { - if (!point.properties && point.source.properties) - return acc < point.source.properties.dba ? point.source.properties.dba : acc; - return acc < point.properties.dba ? point.properties.dba : acc; - }, -Infinity); - return Math.round(elVal); - }, - _filterData: null, - }; - }, [noiseData.features]); - - const mapHook = useMap({ - mapId: props.mapId, - waitForLayer: props.insertBeforeLayer, - }); - const initializedRef = useRef(false); - - // add deckGl Layer - useEffect(() => { - if ( - !mapHook.map || - noiseData.features.length <= 0 || - (initializedRef.current && noiseData.features.length >= 0) - ) - return; - initializedRef.current = true; - - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - const hexagonLayer = new HexagonLayer({ - ...deckGlLayerProps, - } as unknown as HexagonLayerProps); - deckGlHook.addLayer(hexagonLayer); - - return () => { - // eslint-disable-next-line @typescript-eslint/no-unused-expressions - hexagonLayer && deckGlHook.removeLayer(hexagonLayer); - initializedRef.current = false; - }; - }, [mapHook.map, props.mapId, deckGlLayerProps]); - - return <>; -}; - -export default MlHexagonMap; diff --git a/packages/deck-gl/src/components/MlSceneGraphLayer/MlScenegraphLayer.stories.tsx b/packages/deck-gl/src/components/MlSceneGraphLayer/MlScenegraphLayer.stories.tsx new file mode 100644 index 00000000..48b8d89f --- /dev/null +++ b/packages/deck-gl/src/components/MlSceneGraphLayer/MlScenegraphLayer.stories.tsx @@ -0,0 +1,118 @@ +import mapContextDecorator from '../../decorators/MapContextDecorator'; +import MlScenegraphLayer from './MlScenegraphLayer'; + +type BartStation = { + name: string; + coordinates: [longitude: number, latitude: number]; +}; + +const wgLocations = [ + { + id: '1', + type: 'Feature', + properties: { + Standort: 'Bonn', + Mitarbeitende: 26, + }, + geometry: { + coordinates: [7.085121767634178, 50.738628929850876], + type: 'Point', + }, + }, + { + id: '2', + type: 'Feature', + properties: { + Standort: 'Freiburg', + Mitarbeitende: 10, + }, + geometry: { + coordinates: [7.842759788570362, 47.98905444717667], + type: 'Point', + }, + }, + { + id: '3', + type: 'Feature', + properties: { + Standort: 'Berlin', + Mitarbeitende: 13, + }, + geometry: { + coordinates: [13.330420447460796, 52.492768290796676], + type: 'Point', + }, + }, + { + id: '4', + type: 'Feature', + properties: { + Standort: 'Hamburg', + Mitarbeitende: 3, + }, + geometry: { + coordinates: [10.041789021808029, 53.5511363175323], + type: 'Point', + }, + }, +]; + +const storyoptions = { + title: 'MapComponents/MlScenegraphLayer', + component: MlScenegraphLayer, + argTypes: {}, + decorators: mapContextDecorator, +}; +export default storyoptions; + +const Template = (context: any) => { + return ; +}; + +export const DeckglExample: { [key: string]: any } = Template.bind({}); +DeckglExample.parameters = { + mapOptions: { + zoom: 10, + center: [-122.2, 37.773972], + pitch: 60, + }, +}; +DeckglExample.args = { + mapId: 'map_1', + id: 'ScenegraphLayer', + data: 'https://raw.githubusercontent.com/visgl/deck.gl-data/master/website/bart-stations.json', + getPosition: (d: BartStation) => d.coordinates, + getOrientation: () => [0, Math.random() * 180, 90], + scenegraph: + 'https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/BoxAnimated/glTF-Binary/BoxAnimated.glb', + sizeScale: 500, + _animations: { + '*': { speed: 5 }, + }, + _lighting: 'pbr', + pickable: true, +}; + +export const WhereGroupLocationExample: { [key: string]: any } = Template.bind({}); +WhereGroupLocationExample.parameters = { + mapOptions: { + center: [10.4, 50], + pitch: 56, + zoom: 6, + }, +}; +WhereGroupLocationExample.args = { + mapId: 'map_1', + id: 'ScenegraphLayer', + data: wgLocations, + getPosition: (d: any) => d.geometry.coordinates, + getOrientation: () => [0, 0, 90], + getColor: () => [255, 255, 255], + scenegraph: '/assets/3D/WhereGroupLogo.glb', + sizeScale: 100, + _animations: { + '*': { speed: 5 }, + }, + _lighting: 'pbr', + pickable: true, +}; diff --git a/packages/deck-gl/src/components/MlSceneGraphLayer/MlScenegraphLayer.tsx b/packages/deck-gl/src/components/MlSceneGraphLayer/MlScenegraphLayer.tsx new file mode 100644 index 00000000..0eb0e848 --- /dev/null +++ b/packages/deck-gl/src/components/MlSceneGraphLayer/MlScenegraphLayer.tsx @@ -0,0 +1,47 @@ +import { ScenegraphLayer, ScenegraphLayerProps } from '@deck.gl/mesh-layers'; +import { useEffect, useMemo } from 'react'; +import { useMap } from '@mapcomponents/react-maplibre'; +import useDeckGl from '../../hooks/useDeckGl'; + +export interface MlScenegraphLayerProps extends ScenegraphLayerProps { + /** + * Id of the target MapLibre instance in mapContext + */ + mapId?: string; + /** + * Id of an existing layer in the mapLibre instance to help specify the layer order + * This layer will be visually beneath the layer with the "beforeId" id. + */ + beforeId?: string; +} + +const MlScenegraphLayer = (props: MlScenegraphLayerProps) => { + const { mapId, ...ScenegraphLayerProps } = props; + + const mapHook = useMap({ + mapId: mapId, + waitForLayer: ScenegraphLayerProps.beforeId, + }); + const deckGlHook = useDeckGl(); + const scenegraphLayer = useMemo( + () => + new ScenegraphLayer({ + ...ScenegraphLayerProps, + }), + [ScenegraphLayerProps] + ); + + useEffect(() => { + if (!mapHook.map || !scenegraphLayer) return; + + deckGlHook.addLayer(scenegraphLayer); + + return () => { + // eslint-disable-next-line @typescript-eslint/no-unused-expressions + scenegraphLayer && deckGlHook.removeLayer(scenegraphLayer); + }; + }, [mapHook.map, scenegraphLayer]); + return <>; +}; + +export default MlScenegraphLayer; diff --git a/packages/deck-gl/src/contexts/DeckGlContext.tsx b/packages/deck-gl/src/contexts/DeckGlContext.tsx index 07579337..fac9e897 100644 --- a/packages/deck-gl/src/contexts/DeckGlContext.tsx +++ b/packages/deck-gl/src/contexts/DeckGlContext.tsx @@ -1,11 +1,13 @@ import React, { ReactNode, useEffect, useRef, useState } from 'react'; import { useMap } from '@mapcomponents/react-maplibre'; -import { Layer } from '@deck.gl/core'; +import { Effect, Layer } from '@deck.gl/core'; import { MapboxOverlay } from '@deck.gl/mapbox'; export interface DeckGlContextType { deckGlLayerArray: Layer[]; setDeckGlLayerArray: React.Dispatch>; + deckGlEffectArray: Effect[]; + setDeckGlEffectArray: React.Dispatch>; } interface DeckGlContextProviderProps { @@ -21,12 +23,14 @@ const DeckGlContextProvider = ({ mapId, children }: DeckGlContextProviderProps) const overlayRef = useRef(undefined); const [deckGlLayerArray, setDeckGlLayerArray] = useState([]); + const [deckGlEffectArray, setDeckGlEffectArray] = useState([]); useEffect(() => { if (!mapHook.map) return; overlayRef.current = new MapboxOverlay({ id: overlayId, + interleaved: true, }); // eslint-disable-next-line @typescript-eslint/ban-ts-comment @@ -44,12 +48,15 @@ const DeckGlContextProvider = ({ mapId, children }: DeckGlContextProviderProps) if (!overlayRef.current) return; overlayRef.current.setProps({ layers: [...deckGlLayerArray], + effects: [...deckGlEffectArray], }); - }, [deckGlLayerArray]); + }, [deckGlLayerArray, deckGlEffectArray]); const value = { deckGlLayerArray, setDeckGlLayerArray, + deckGlEffectArray, + setDeckGlEffectArray, }; return {children}; }; diff --git a/packages/deck-gl/src/decorators/MapContextDecorator.tsx b/packages/deck-gl/src/decorators/MapContextDecorator.tsx index c2d5973e..cf4d7d60 100644 --- a/packages/deck-gl/src/decorators/MapContextDecorator.tsx +++ b/packages/deck-gl/src/decorators/MapContextDecorator.tsx @@ -1,16 +1,16 @@ import { useMemo } from 'react'; import { + getTheme, MapComponentsProvider, MapLibreMap, MlNavigationTools, - getTheme, } from '@mapcomponents/react-maplibre'; import './style.css'; import { ThemeProvider as MUIThemeProvider } from '@mui/material/styles'; +import { DeckGlContextProvider } from '../contexts/DeckGlContext'; const decorators = [ - // eslint-disable-next-line (Story: any, context: any) => { const theme = useMemo(() => getTheme(context?.globals?.theme), [context?.globals?.theme]); @@ -18,20 +18,25 @@ const decorators = [
- + + + - +
diff --git a/packages/deck-gl/src/hooks/useDeckGl.tsx b/packages/deck-gl/src/hooks/useDeckGl.tsx index 05b19573..e08cf302 100644 --- a/packages/deck-gl/src/hooks/useDeckGl.tsx +++ b/packages/deck-gl/src/hooks/useDeckGl.tsx @@ -1,24 +1,27 @@ import DeckGlContext from '../contexts/DeckGlContext'; import { useContext } from 'react'; -import { Layer } from '@deck.gl/core'; +import { Effect, Layer } from '@deck.gl/core'; function useDeckGl() { const deckGlContext = useContext(DeckGlContext); - const layerArray = deckGlContext.deckGlLayerArray; + function addEffect(effect: Effect) { + deckGlContext.setDeckGlEffectArray((prevState) => [...prevState, effect]); + } + function removeEffect(effect: Effect) { + deckGlContext.setDeckGlEffectArray((prevState) => prevState.filter((e) => e !== effect)); + } function addLayer(layer: Layer) { - const newDeckGLLayerArray = [...layerArray]; - newDeckGLLayerArray.push(layer); - deckGlContext.setDeckGlLayerArray(newDeckGLLayerArray); + deckGlContext.setDeckGlLayerArray((prevState) => [...prevState, layer]); } function removeLayer(layer: Layer) { - const newDeckGLLayerArray = layerArray.filter((l) => l !== layer); - deckGlContext.setDeckGlLayerArray(newDeckGLLayerArray); + deckGlContext.setDeckGlLayerArray((prevState) => prevState.filter((l) => l !== layer)); } return { + addEffect, + removeEffect, addLayer, removeLayer, - layerArray, }; } export default useDeckGl; diff --git a/packages/deck-gl/src/index.ts b/packages/deck-gl/src/index.ts index eaed9ecb..950d70f4 100644 --- a/packages/deck-gl/src/index.ts +++ b/packages/deck-gl/src/index.ts @@ -1,3 +1,5 @@ export { default as DeckGlContext, DeckGlContextProvider } from './contexts/DeckGlContext'; export { default as useDeckGl } from './hooks/useDeckGl'; -export { default as MlHexagonLayer } from './components/MlHexagonMap/MlHexagonMap'; +export { default as MlHexagonLayer } from './components/MlHexagonLayer/MlHexagonLayer'; +export { default as Ml3DTileLayer } from './components/Ml3DTileLayer/Ml3DTileLayer'; +export { default as MlSceneGraphLayer } from './components/MlSceneGraphLayer/MlScenegraphLayer'; diff --git a/packages/deck-gl/vite.config.ts b/packages/deck-gl/vite.config.ts index f309f419..76990d14 100644 --- a/packages/deck-gl/vite.config.ts +++ b/packages/deck-gl/vite.config.ts @@ -35,7 +35,7 @@ export default defineConfig(() => ({ fileName: 'index', // Change this to the formats you want to support. // Don't forget to update your package.json as well. - formats: ['es' as const], + formats: ['es' as const, 'cjs' as const], }, rollupOptions: { // External packages that should not be bundled into your library. diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1b8f99b3..41491110 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -217,19 +217,62 @@ importers: version: 2.8.4 packages/deck-gl: + dependencies: + '@deck.gl/aggregation-layers': + specifier: ^9.2.6 + version: 9.2.6(@deck.gl/core@9.2.6)(@deck.gl/layers@9.1.14(@deck.gl/core@9.2.6)(@loaders.gl/core@4.3.4)(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6))))(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6))) + '@deck.gl/core': + specifier: ^9.2.6 + version: 9.2.6 + '@deck.gl/geo-layers': + specifier: ^9.2.6 + version: 9.2.6(@deck.gl/core@9.2.6)(@deck.gl/extensions@9.2.6(@deck.gl/core@9.2.6)(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6))))(@deck.gl/layers@9.1.14(@deck.gl/core@9.2.6)(@loaders.gl/core@4.3.4)(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6))))(@deck.gl/mesh-layers@9.2.6(@deck.gl/core@9.2.6)(@loaders.gl/core@4.3.4)(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)))(@luma.gl/gltf@9.2.6(@luma.gl/constants@9.2.6)(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)))(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)))(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)))(@loaders.gl/core@4.3.4)(@luma.gl/constants@9.2.6)(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6))) + '@deck.gl/mapbox': + specifier: ^9.2.6 + version: 9.2.6(@deck.gl/core@9.2.6)(@luma.gl/constants@9.2.6)(@luma.gl/core@9.2.6)(@math.gl/web-mercator@4.1.0) + '@deck.gl/mesh-layers': + specifier: ^9.2.6 + version: 9.2.6(@deck.gl/core@9.2.6)(@loaders.gl/core@4.3.4)(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)))(@luma.gl/gltf@9.2.6(@luma.gl/constants@9.2.6)(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)))(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)))(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)) + '@mapcomponents/react-maplibre': + specifier: workspace:* + version: link:../react-maplibre + '@mui/icons-material': + specifier: ^7.3.2 + version: 7.3.2(@mui/material@7.3.2(@emotion/react@11.14.0(@types/react@19.1.12)(react@19.1.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.12)(react@19.1.0))(@types/react@19.1.12)(react@19.1.0))(@types/react@19.1.12)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@types/react@19.1.12)(react@19.1.0) + '@mui/material': + specifier: ^7.3.2 + version: 7.3.2(@emotion/react@11.14.0(@types/react@19.1.12)(react@19.1.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.12)(react@19.1.0))(@types/react@19.1.12)(react@19.1.0))(@types/react@19.1.12)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@storybook/react': + specifier: ^9.1.4 + version: 9.1.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.6.2)(vite@7.1.4(@types/node@24.3.1)(jiti@2.4.2)(terser@5.44.0)(yaml@2.8.1)))(typescript@5.9.2) + maplibre-gl: + specifier: ^5.16.0 + version: 5.16.0 + uuid: + specifier: ^11.1.0 + version: 11.1.0 + devDependencies: + '@types/geojson': + specifier: ^7946.0.16 + version: 7946.0.16 + + packages/deck-gl/dist: dependencies: '@deck.gl/aggregation-layers': specifier: ^9.1.14 - version: 9.1.14(@deck.gl/core@9.1.14)(@deck.gl/layers@9.1.14(@deck.gl/core@9.1.14)(@loaders.gl/core@4.3.4)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.1.9(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.1.9(@luma.gl/core@9.1.9))))(@luma.gl/core@9.1.9)(@luma.gl/engine@9.1.9(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.1.9(@luma.gl/core@9.1.9))) + version: 9.1.14(@deck.gl/core@9.1.14)(@deck.gl/layers@9.1.14(@deck.gl/core@9.1.14)(@loaders.gl/core@4.3.4)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9))))(@luma.gl/core@9.1.9)(@luma.gl/engine@9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9))) '@deck.gl/core': specifier: ^9.1.14 version: 9.1.14 + '@deck.gl/geo-layers': + specifier: ^9.1.4 + version: 9.2.6(@deck.gl/core@9.1.14)(@deck.gl/extensions@9.2.6(@deck.gl/core@9.1.14)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9))))(@deck.gl/layers@9.1.14(@deck.gl/core@9.1.14)(@loaders.gl/core@4.3.4)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9))))(@deck.gl/mesh-layers@9.2.6(@deck.gl/core@9.1.14)(@loaders.gl/core@4.3.4)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)))(@luma.gl/gltf@9.2.6(@luma.gl/constants@9.2.6)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)))(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)))(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)))(@loaders.gl/core@4.3.4)(@luma.gl/constants@9.2.6)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9))) '@deck.gl/mapbox': specifier: ^9.1.14 version: 9.1.14(@deck.gl/core@9.1.14)(@luma.gl/core@9.1.9) '@mapcomponents/react-maplibre': specifier: workspace:* - version: link:../react-maplibre + version: link:../../react-maplibre '@mui/icons-material': specifier: ^7.3.2 version: 7.3.2(@mui/material@7.3.2(@emotion/react@11.14.0(@types/react@19.1.12)(react@19.1.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.12)(react@19.1.0))(@types/react@19.1.12)(react@19.1.0))(@types/react@19.1.12)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@types/react@19.1.12)(react@19.1.0) @@ -240,8 +283,11 @@ importers: specifier: ^9.1.4 version: 9.1.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.1.1(@testing-library/dom@10.4.1)(prettier@3.6.2)(vite@7.1.4(@types/node@24.3.1)(jiti@2.4.2)(terser@5.44.0)(yaml@2.8.1)))(typescript@5.9.2) maplibre-gl: - specifier: ^5.16.0 + specifier: ^5.7.0 version: 5.16.0 + uuid: + specifier: ^11.1.0 + version: 11.1.0 devDependencies: '@types/geojson': specifier: ^7946.0.16 @@ -292,6 +338,51 @@ importers: specifier: ^0.5.0 version: 0.5.0 + packages/ra-geospatial/dist: + dependencies: + '@emotion/react': + specifier: ^11.14.0 + version: 11.14.0(@types/react@19.1.12)(react@19.1.0) + '@emotion/styled': + specifier: ^11.14.1 + version: 11.14.1(@emotion/react@11.14.0(@types/react@19.1.12)(react@19.1.0))(@types/react@19.1.12)(react@19.1.0) + '@mapcomponents/react-maplibre': + specifier: workspace:^ + version: link:../../react-maplibre + '@mui/icons-material': + specifier: ^7.3.2 + version: 7.3.2(@mui/material@7.3.2(@emotion/react@11.14.0(@types/react@19.1.12)(react@19.1.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.12)(react@19.1.0))(@types/react@19.1.12)(react@19.1.0))(@types/react@19.1.12)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@types/react@19.1.12)(react@19.1.0) + '@mui/material': + specifier: ^7.3.2 + version: 7.3.2(@emotion/react@11.14.0(@types/react@19.1.12)(react@19.1.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.12)(react@19.1.0))(@types/react@19.1.12)(react@19.1.0))(@types/react@19.1.12)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@turf/helpers': + specifier: ^7.2.0 + version: 7.2.0 + '@turf/turf': + specifier: ^7.2.0 + version: 7.2.0 + '@types/geojson': + specifier: ^7946.0.16 + version: 7946.0.16 + lodash: + specifier: ^4.17.21 + version: 4.17.21 + maplibre-gl: + specifier: ^5.7.0 + version: 5.16.0 + ra-data-fakerest: + specifier: ^5.11.0 + version: 5.11.0(ra-core@5.11.0(react-dom@19.1.0(react@19.1.0))(react-hook-form@7.62.0(react@19.1.0))(react-router-dom@7.8.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-router@7.8.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)) + react-admin: + specifier: ^5.11.0 + version: 5.11.0(@mui/system@7.3.2(@emotion/react@11.14.0(@types/react@19.1.12)(react@19.1.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.12)(react@19.1.0))(@types/react@19.1.12)(react@19.1.0))(@types/react@19.1.12)(react@19.1.0))(@mui/utils@7.3.2(@types/react@19.1.12)(react@19.1.0))(@types/react@19.1.12)(csstype@3.1.3)(react-dom@19.1.0(react@19.1.0))(react-is@19.1.1)(react@19.1.0) + react-router-dom: + specifier: ^7.8.2 + version: 7.8.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + wellknown: + specifier: ^0.5.0 + version: 0.5.0 + packages/react-maplibre: dependencies: '@dnd-kit/core': @@ -647,7 +738,7 @@ importers: specifier: ^3.0.2 version: 3.0.2 maplibre-gl: - specifier: ^5.16.0 + specifier: ^5.7.0 version: 5.16.0 osm2geojson-lite: specifier: ^1.1.2 @@ -847,31 +938,6 @@ importers: specifier: ^0.182.0 version: 0.182.0 - packages/three/dist: - dependencies: - '@mapcomponents/react-maplibre': - specifier: 1.7.5 - version: 1.7.5(@types/react@19.1.12)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mui/material': - specifier: ^7.3.2 - version: 7.3.2(@emotion/react@11.14.0(@types/react@19.1.12)(react@19.1.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.12)(react@19.1.0))(@types/react@19.1.12)(react@19.1.0))(@types/react@19.1.12)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - maplibre-gl: - specifier: ^5.16.0 - version: 5.16.0 - react: - specifier: ^19.1.0 - version: 19.1.0 - react-dom: - specifier: ^19.1.0 - version: 19.1.0(react@19.1.0) - three: - specifier: ^0.182.0 - version: 0.182.0 - devDependencies: - '@types/three': - specifier: ^0.182.0 - version: 0.182.0 - packages: '@adobe/css-tools@4.4.4': @@ -1677,9 +1743,38 @@ packages: '@luma.gl/core': ~9.1.9 '@luma.gl/engine': ~9.1.9 + '@deck.gl/aggregation-layers@9.2.6': + resolution: {integrity: sha512-T42ZwB63KI4+0pe2HBwMQS7qnqyv3LlqAQfRSHBlFZMzBq72SxIgk9BzhrT16uBHxFFjjMh6K5g28/UfDOXQEg==} + peerDependencies: + '@deck.gl/core': ~9.2.0 + '@deck.gl/layers': ~9.2.0 + '@luma.gl/core': ~9.2.6 + '@luma.gl/engine': ~9.2.6 + '@deck.gl/core@9.1.14': resolution: {integrity: sha512-tXakSSvi5g+EvxSsnnjoRO8z3XxHxISTRzzIqcs3AZuWHnDptK28y9iD0Da21ILop1IYLaWE1QTUe6IAdp/Wag==} + '@deck.gl/core@9.2.6': + resolution: {integrity: sha512-bBFfwfythPPpXS/OKUMvziQ8td84mRGMnYZfqdUvfUVltzjFtQCBQUJTzgo3LubvOzSnzo8GTWskxHaZzkqdKQ==} + + '@deck.gl/extensions@9.2.6': + resolution: {integrity: sha512-HNuzo76mD6Ykc/xMEyCMH+to6/Xi+7ehG3VYToSm+R3196Ki5p58pyRHzvq9CrBDvFd3SLMe9QqRm2GTg3wn/w==} + peerDependencies: + '@deck.gl/core': ~9.2.0 + '@luma.gl/core': ~9.2.6 + '@luma.gl/engine': ~9.2.6 + + '@deck.gl/geo-layers@9.2.6': + resolution: {integrity: sha512-Js42GcAlzH5vHWHdg/eKSmFvx1TWlhW+d6p8Y+67/iHpcCXmx/CBmpsr1ZsQ8XYc+GY8NDAmkHe5KECDJsJiDg==} + peerDependencies: + '@deck.gl/core': ~9.2.0 + '@deck.gl/extensions': ~9.2.0 + '@deck.gl/layers': ~9.2.0 + '@deck.gl/mesh-layers': ~9.2.0 + '@loaders.gl/core': ^4.2.0 + '@luma.gl/core': ~9.2.6 + '@luma.gl/engine': ~9.2.6 + '@deck.gl/layers@9.1.14': resolution: {integrity: sha512-cCClyZxznzXLPJnH2er7ZJAnXYuEHH/0hcDoc5Lp3SNByx3ASNrZcizIBOCxO7132LHFN4cSeyz0JVP8p56TDg==} peerDependencies: @@ -1694,6 +1789,23 @@ packages: '@deck.gl/core': ^9.1.0 '@luma.gl/core': ~9.1.9 + '@deck.gl/mapbox@9.2.6': + resolution: {integrity: sha512-gyqCHZwiZS8LOYY6LILQQp5YCCf++VFk/wRoGskZvhb/kdEPX2Onv8iV8pXe0h9UyMLO6Mj0wl3HlJWg2ILkrg==} + peerDependencies: + '@deck.gl/core': ~9.2.0 + '@luma.gl/constants': ~9.2.6 + '@luma.gl/core': ~9.2.6 + '@math.gl/web-mercator': ^4.1.0 + + '@deck.gl/mesh-layers@9.2.6': + resolution: {integrity: sha512-/KjhjoQJRb9lUcDE6pZlHvcto9H5iBCJtUb1/uCb8fahzEAcZBDubAn4RUWjfRyOSmzJfQHrWdNAjflNkL87Yg==} + peerDependencies: + '@deck.gl/core': ~9.2.0 + '@luma.gl/core': ~9.2.6 + '@luma.gl/engine': ~9.2.6 + '@luma.gl/gltf': ~9.2.6 + '@luma.gl/shadertools': ~9.2.6 + '@dimforge/rapier3d-compat@0.12.0': resolution: {integrity: sha512-uekIGetywIgopfD97oDL5PfeezkFpNhwlzlaEYNOA0N6ghdsOvh/HYjSMek5Q2O1PYvRSDFcqFVJl4r4ZBwOow==} @@ -2552,9 +2664,39 @@ packages: '@leichtgewicht/ip-codec@2.0.5': resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} + '@loaders.gl/3d-tiles@4.3.4': + resolution: {integrity: sha512-JQ3y3p/KlZP7lfobwON5t7H9WinXEYTvuo3SRQM8TBKhM+koEYZhvI2GwzoXx54MbBbY+s3fm1dq5UAAmaTsZw==} + peerDependencies: + '@loaders.gl/core': ^4.3.0 + + '@loaders.gl/compression@4.3.4': + resolution: {integrity: sha512-+o+5JqL9Sx8UCwdc2MTtjQiUHYQGJALHbYY/3CT+b9g/Emzwzez2Ggk9U9waRfdHiBCzEgRBivpWZEOAtkimXQ==} + peerDependencies: + '@loaders.gl/core': ^4.3.0 + '@loaders.gl/core@4.3.4': resolution: {integrity: sha512-cG0C5fMZ1jyW6WCsf4LoHGvaIAJCEVA/ioqKoYRwoSfXkOf+17KupK1OUQyUCw5XoRn+oWA1FulJQOYlXnb9Gw==} + '@loaders.gl/crypto@4.3.4': + resolution: {integrity: sha512-3VS5FgB44nLOlAB9Q82VOQnT1IltwfRa1miE0mpHCe1prYu1M/dMnEyynusbrsp+eDs3EKbxpguIS9HUsFu5dQ==} + peerDependencies: + '@loaders.gl/core': ^4.3.0 + + '@loaders.gl/draco@4.3.4': + resolution: {integrity: sha512-4Lx0rKmYENGspvcgV5XDpFD9o+NamXoazSSl9Oa3pjVVjo+HJuzCgrxTQYD/3JvRrolW/QRehZeWD/L/cEC6mw==} + peerDependencies: + '@loaders.gl/core': ^4.3.0 + + '@loaders.gl/gis@4.3.4': + resolution: {integrity: sha512-8xub38lSWW7+ZXWuUcggk7agRHJUy6RdipLNKZ90eE0ZzLNGDstGD1qiBwkvqH0AkG+uz4B7Kkiptyl7w2Oa6g==} + peerDependencies: + '@loaders.gl/core': ^4.3.0 + + '@loaders.gl/gltf@4.3.4': + resolution: {integrity: sha512-EiUTiLGMfukLd9W98wMpKmw+hVRhQ0dJ37wdlXK98XPeGGB+zTQxCcQY+/BaMhsSpYt/OOJleHhTfwNr8RgzRg==} + peerDependencies: + '@loaders.gl/core': ^4.3.0 + '@loaders.gl/images@4.3.4': resolution: {integrity: sha512-qgc33BaNsqN9cWa/xvcGvQ50wGDONgQQdzHCKDDKhV2w/uptZoR5iofJfuG8UUV2vUMMd82Uk9zbopRx2rS4Ag==} peerDependencies: @@ -2565,38 +2707,108 @@ packages: peerDependencies: '@loaders.gl/core': ^4.3.0 + '@loaders.gl/math@4.3.4': + resolution: {integrity: sha512-UJrlHys1fp9EUO4UMnqTCqvKvUjJVCbYZ2qAKD7tdGzHJYT8w/nsP7f/ZOYFc//JlfC3nq+5ogvmdpq2pyu3TA==} + peerDependencies: + '@loaders.gl/core': ^4.3.0 + + '@loaders.gl/mvt@4.3.4': + resolution: {integrity: sha512-9DrJX8RQf14htNtxsPIYvTso5dUce9WaJCWCIY/79KYE80Be6dhcEYMknxBS4w3+PAuImaAe66S5xo9B7Erm5A==} + peerDependencies: + '@loaders.gl/core': ^4.3.0 + '@loaders.gl/schema@4.3.4': resolution: {integrity: sha512-1YTYoatgzr/6JTxqBLwDiD3AVGwQZheYiQwAimWdRBVB0JAzych7s1yBuE0CVEzj4JDPKOzVAz8KnU1TiBvJGw==} peerDependencies: '@loaders.gl/core': ^4.3.0 + '@loaders.gl/terrain@4.3.4': + resolution: {integrity: sha512-JszbRJGnxL5Fh82uA2U8HgjlsIpzYoCNNjy3cFsgCaxi4/dvjz3BkLlBilR7JlbX8Ka+zlb4GAbDDChiXLMJ/g==} + peerDependencies: + '@loaders.gl/core': ^4.3.0 + + '@loaders.gl/textures@4.3.4': + resolution: {integrity: sha512-arWIDjlE7JaDS6v9by7juLfxPGGnjT9JjleaXx3wq/PTp+psLOpGUywHXm38BNECos3MFEQK3/GFShWI+/dWPw==} + peerDependencies: + '@loaders.gl/core': ^4.3.0 + + '@loaders.gl/tiles@4.3.4': + resolution: {integrity: sha512-oC0zJfyvGox6Ag9ABF8fxOkx9yEFVyzTa9ryHXl2BqLiQoR1v3p+0tIJcEbh5cnzHfoTZzUis1TEAZluPRsHBQ==} + peerDependencies: + '@loaders.gl/core': ^4.3.0 + + '@loaders.gl/wms@4.3.4': + resolution: {integrity: sha512-yXF0wuYzJUdzAJQrhLIua6DnjOiBJusaY1j8gpvuH1VYs3mzvWlIRuZKeUd9mduQZKK88H2IzHZbj2RGOauq4w==} + peerDependencies: + '@loaders.gl/core': ^4.3.0 + '@loaders.gl/worker-utils@4.3.4': resolution: {integrity: sha512-EbsszrASgT85GH3B7jkx7YXfQyIYo/rlobwMx6V3ewETapPUwdSAInv+89flnk5n2eu2Lpdeh+2zS6PvqbL2RA==} peerDependencies: '@loaders.gl/core': ^4.3.0 + '@loaders.gl/xml@4.3.4': + resolution: {integrity: sha512-p+y/KskajsvyM3a01BwUgjons/j/dUhniqd5y1p6keLOuwoHlY/TfTKd+XluqfyP14vFrdAHCZTnFCWLblN10w==} + peerDependencies: + '@loaders.gl/core': ^4.3.0 + + '@loaders.gl/zip@4.3.4': + resolution: {integrity: sha512-bHY4XdKYJm3vl9087GMoxnUqSURwTxPPh6DlAGOmz6X9Mp3JyWuA2gk3tQ1UIuInfjXKph3WAUfGe6XRIs1sfw==} + peerDependencies: + '@loaders.gl/core': ^4.3.0 + '@luma.gl/constants@9.1.9': resolution: {integrity: sha512-yc9fml04OeTTcwK+7gmDMxoLQ67j4ZiAFXjmYvPomYyBVzS0NZxTDuwcCBmnxjLOiroOZW8FRRrVc/yOiFug2w==} + '@luma.gl/constants@9.2.6': + resolution: {integrity: sha512-rvFFrJuSm5JIWbDHFuR4Q2s4eudO3Ggsv0TsGKn9eqvO7bBiPm/ANugHredvh3KviEyYuMZZxtfJvBdr3kzldg==} + '@luma.gl/core@9.1.9': resolution: {integrity: sha512-1i9N7+I/UbFjx3axSMlc3/NufA+C2iBv/7mw51gRE/ypQPgvFmY/QqXBVZRe+nthF+OhlUMhO19TBndzYFTWhA==} + '@luma.gl/core@9.2.6': + resolution: {integrity: sha512-d8KcH8ZZcjDAodSN/G2nueA9YE2X8kMz7Q0OxDGpCww6to1MZXM3Ydate/Jqsb5DDKVgUF6yD6RL8P5jOki9Yw==} + '@luma.gl/engine@9.1.9': resolution: {integrity: sha512-n1GLK1sUMFkWxdb+aZYn6ZBFltFEMi7X+6ZPxn2pBsNT6oeF4AyvH5AyqhOpvHvUnCLDt3Zsf1UIfx3MI//YSw==} peerDependencies: '@luma.gl/core': ^9.1.0 '@luma.gl/shadertools': ^9.1.0 + '@luma.gl/engine@9.2.6': + resolution: {integrity: sha512-1AEDs2AUqOWh7Wl4onOhXmQF+Rz1zNdPXF+Kxm4aWl92RQ42Sh2CmTvRt2BJku83VQ91KFIEm/v3qd3Urzf+Uw==} + peerDependencies: + '@luma.gl/core': ~9.2.0 + '@luma.gl/shadertools': ~9.2.0 + + '@luma.gl/gltf@9.2.6': + resolution: {integrity: sha512-is3YkiGsWqWTmwldMz6PRaIUleufQfUKYjJTKpsF5RS1OnN+xdAO0mJq5qJTtOQpppWAU0VrmDFEVZ6R3qvm0A==} + peerDependencies: + '@luma.gl/constants': ~9.2.0 + '@luma.gl/core': ~9.2.0 + '@luma.gl/engine': ~9.2.0 + '@luma.gl/shadertools': ~9.2.0 + '@luma.gl/shadertools@9.1.9': resolution: {integrity: sha512-Uqp2xfgIEunRMLXTeCJ4uEMlWcUGcYMZGJ8GAOrAeDzn4bMKVRKmZDC71vkuTctnaodM3UdrI9W6s1sJlrXsxw==} peerDependencies: '@luma.gl/core': ^9.1.0 + '@luma.gl/shadertools@9.2.6': + resolution: {integrity: sha512-4+uUbynqPUra9d/z1nQChyHmhLgmKfSMjS7kOwLB6exSnhKnpHL3+Hu9fv55qyaX50nGH3oHawhGtJ6RRvu65w==} + peerDependencies: + '@luma.gl/core': ~9.2.0 + '@luma.gl/webgl@9.1.9': resolution: {integrity: sha512-jecHjhNSWkXH0v62rM6G5fIIkOmsrND27099iKgdutFvHIvd4QS4UzGWEEa9AEPlP0rTLqXkA6y6YL7f42ZkVg==} peerDependencies: '@luma.gl/core': ^9.1.0 + '@luma.gl/webgl@9.2.6': + resolution: {integrity: sha512-NGBTdxJMk7j8Ygr1zuTyAvr1Tw+EpupMIQo7RelFjEsZXg6pujFqiDMM+rgxex8voCeuhWBJc7Rs+MoSqd46UQ==} + peerDependencies: + '@luma.gl/core': ~9.2.0 + '@mapbox/extent@0.4.0': resolution: {integrity: sha512-MSoKw3qPceGuupn04sdaJrFeLKvcSETVLZCGS8JA9x6zXQL3FWiKaIXYIZEDXd5jpXpWlRxinCZIN49yRy0C9A==} @@ -2631,6 +2843,9 @@ packages: '@mapbox/mapbox-gl-sync-move@0.3.1': resolution: {integrity: sha512-Y3PMyj0m/TBJa9OkQnO2TiVDu8sFUPmLF7q/THUHrD/g42qrURpMJJ4kufq4sR60YFMwZdCGBshrbgK5v2xXWw==} + '@mapbox/martini@0.2.0': + resolution: {integrity: sha512-7hFhtkb0KTLEls+TRw/rWayq5EeHtTaErgm/NskVoXmtgAQu/9D299aeyj6mzAR/6XUnYRp2lU+4IcrYRFjVsQ==} + '@mapbox/point-geometry@0.1.0': resolution: {integrity: sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==} @@ -2648,6 +2863,9 @@ packages: '@mapbox/unitbezier@0.0.1': resolution: {integrity: sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==} + '@mapbox/vector-tile@1.3.1': + resolution: {integrity: sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==} + '@mapbox/vector-tile@2.0.4': resolution: {integrity: sha512-AkOLcbgGTdXScosBWwmmD7cDlvOjkg/DetGva26pIRiZPdeJYjYKarIlb4uxVzi6bwHO6EWH82eZ5Nuv4T5DUg==} @@ -2655,12 +2873,6 @@ packages: resolution: {integrity: sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==} engines: {node: '>=6.0.0'} - '@mapcomponents/react-maplibre@1.7.5': - resolution: {integrity: sha512-1x4QqNDUA8NSzj4ofS67luk0+Yw2BfhVKKBvNcwQZOPyCsWlbgKnDujthvcuo8LhsgAfoBZWEZYqYVf4w/kN/w==} - peerDependencies: - react: ^19.1.0 - react-dom: ^19.1.0 - '@maplibre/maplibre-gl-style-spec@24.4.1': resolution: {integrity: sha512-UKhA4qv1h30XT768ccSv5NjNCX+dgfoq2qlLVmKejspPcSQTYD4SrVucgqegmYcKcmwf06wcNAa/kRd0NHWbUg==} hasBin: true @@ -2674,6 +2886,12 @@ packages: '@math.gl/core@4.1.0': resolution: {integrity: sha512-FrdHBCVG3QdrworwrUSzXIaK+/9OCRLscxI2OUy6sLOHyHgBMyfnEGs99/m3KNvs+95BsnQLWklVfpKfQzfwKA==} + '@math.gl/culling@4.1.0': + resolution: {integrity: sha512-jFmjFEACnP9kVl8qhZxFNhCyd47qPfSVmSvvjR0/dIL6R9oD5zhR1ub2gN16eKDO/UM7JF9OHKU3EBIfeR7gtg==} + + '@math.gl/geospatial@4.1.0': + resolution: {integrity: sha512-BzsUhpVvnmleyYF6qdqJIip6FtIzJmnWuPTGhlBuPzh7VBHLonCFSPtQpbkRuoyAlbSyaGXcVt6p6lm9eK2vtg==} + '@math.gl/polygon@4.1.0': resolution: {integrity: sha512-YA/9PzaCRHbIP5/0E9uTYrqe+jsYTQoqoDWhf6/b0Ixz8bPZBaGDEafLg3z7ffBomZLacUty9U3TlPjqMtzPjA==} @@ -4303,6 +4521,9 @@ packages: '@turf/bezier-spline@7.2.0': resolution: {integrity: sha512-7BPkc3ufYB9KLvcaTpTsnpXzh9DZoENxCS0Ms9XUwuRXw45TpevwUpOsa3atO76iKQ5puHntqFO4zs8IUxBaaA==} + '@turf/boolean-clockwise@5.1.5': + resolution: {integrity: sha512-FqbmEEOJ4rU4/2t7FKx0HUWmjFEVqR+NJrFP7ymGSjja2SQ7Q91nnBihGuT+yuHHl6ElMjQ3ttsB/eTmyCycxA==} + '@turf/boolean-clockwise@7.2.0': resolution: {integrity: sha512-0fJeFSARxy6ealGBM4Gmgpa1o8msQF87p2Dx5V6uSqzT8VPDegX1NSWl4b7QgXczYa9qv7IAABttdWP0K7Q7eQ==} @@ -4369,6 +4590,9 @@ packages: '@turf/clean-coords@7.2.0': resolution: {integrity: sha512-+5+J1+D7wW7O/RDXn46IfCHuX1gIV1pIAQNSA7lcDbr3HQITZj334C4mOGZLEcGbsiXtlHWZiBtm785Vg8i+QQ==} + '@turf/clone@5.1.5': + resolution: {integrity: sha512-//pITsQ8xUdcQ9pVb4JqXiSqG4dos5Q9N4sYFoWghX21tfOV2dhc5TGqYOhnHrQS7RiKQL1vQ48kIK34gQ5oRg==} + '@turf/clone@7.2.0': resolution: {integrity: sha512-JlGUT+/5qoU5jqZmf6NMFIoLDY3O7jKd53Up+zbpJ2vzUp6QdwdNzwrsCeONhynWM13F0MVtPXH4AtdkrgFk4g==} @@ -4429,6 +4653,9 @@ packages: '@turf/great-circle@7.2.0': resolution: {integrity: sha512-n30OiADyOKHhor0aXNgYfXQYXO3UtsOKmhQsY1D89/Oh1nCIXG/1ZPlLL9ZoaRXXBTUBjh99a+K8029NQbGDhw==} + '@turf/helpers@5.1.5': + resolution: {integrity: sha512-/lF+JR+qNDHZ8bF9d+Cp58nxtZWJ3sqFe6n3u3Vpj+/0cqkjk4nXKYBSY0azm+GIYB5mWKxUXvuP/m0ZnKj1bw==} + '@turf/helpers@7.2.0': resolution: {integrity: sha512-cXo7bKNZoa7aC7ydLmUR02oB3IgDe7MxiPuRz3cCtYQHn+BJ6h1tihmamYDWWUlPHgSNF0i3ATc4WmDECZafKw==} @@ -4441,6 +4668,9 @@ packages: '@turf/intersect@7.2.0': resolution: {integrity: sha512-81GMzKS9pKqLPa61qSlFxLFeAC8XbwyCQ9Qv4z6o5skWk1qmMUbEHeMqaGUTEzk+q2XyhZ0sju1FV4iLevQ/aw==} + '@turf/invariant@5.2.0': + resolution: {integrity: sha512-28RCBGvCYsajVkw2EydpzLdcYyhSA77LovuOvgCJplJWaNVyJYH6BOR3HR9w50MEkPqb/Vc/jdo6I6ermlRtQA==} + '@turf/invariant@7.2.0': resolution: {integrity: sha512-kV4u8e7Gkpq+kPbAKNC21CmyrXzlbBgFjO1PhrHPgEdNqXqDawoZ3i6ivE3ULJj2rSesCjduUaC/wyvH/sNr2Q==} @@ -4492,6 +4722,9 @@ packages: '@turf/mask@7.2.0': resolution: {integrity: sha512-ulJ6dQqXC0wrjIoqFViXuMUdIPX5Q6GPViZ3kGfeVijvlLM7kTFBsZiPQwALSr5nTQg4Ppf3FD0Jmg8IErPrgA==} + '@turf/meta@5.2.0': + resolution: {integrity: sha512-ZjQ3Ii62X9FjnK4hhdsbT+64AYRpaI8XMBMcyftEOGSmPMUVnkbvuv3C9geuElAXfQU7Zk1oWGOcrGOD9zr78Q==} + '@turf/meta@7.2.0': resolution: {integrity: sha512-igzTdHsQc8TV1RhPuOLVo74Px/hyPrVgVOTgjWQZzt3J9BVseCdpfY/0cJBdlSRI4S/yTmmHl7gAqjhpYH5Yaw==} @@ -4555,6 +4788,9 @@ packages: '@turf/rectangle-grid@7.2.0': resolution: {integrity: sha512-f0o5ifvy0Ml/nHDJzMNcuSk4h11aa3BfvQNnYQhLpuTQu03j/ICZNlzKTLxwjcUqvxADUifty7Z9CX5W6zky4A==} + '@turf/rewind@5.1.5': + resolution: {integrity: sha512-Gdem7JXNu+G4hMllQHXRFRihJl3+pNl7qY+l4qhQFxq+hiU1cQoVFnyoleIqWKIrdK/i2YubaSwc3SCM7N5mMw==} + '@turf/rewind@7.2.0': resolution: {integrity: sha512-SZpRAZiZsE22+HVz6pEID+ST25vOdpAMGk5NO1JeqzhpMALIkIGnkG+xnun2CfYHz7wv8/Z0ADiAvei9rkcQYA==} @@ -4657,6 +4893,9 @@ packages: '@types/bonjour@3.5.13': resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} + '@types/brotli@1.3.4': + resolution: {integrity: sha512-cKYjgaS2DMdCKF7R0F5cgx1nfBYObN2ihIuPGQ4/dlIY6RpV7OWNwe9L8V4tTVKL2eZqOkNM9FM/rgTvLf4oXw==} + '@types/chai@5.2.2': resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==} @@ -4669,6 +4908,9 @@ packages: '@types/connect@3.4.38': resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + '@types/crypto-js@4.2.2': + resolution: {integrity: sha512-sDOLlVbHhXpAUAL0YHDUUwDZf3iN4Bwi4W6a0W0b+QcAezUbRtH4FVb+9J4h+XFPW7l/gQ9F8qC7P+Ec4k8QVQ==} + '@types/d3-array@3.2.1': resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==} @@ -4878,6 +5120,9 @@ packages: '@types/offscreencanvas@2019.7.3': resolution: {integrity: sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==} + '@types/pako@1.0.7': + resolution: {integrity: sha512-YBtzT2ztNF6R/9+UXj2wTGFnC9NklAnASt3sC0h2m1bbH7G6FyBIkt4AN8ThZpNfxUo1b2iMVO0UawiJymEt8A==} + '@types/pako@2.0.4': resolution: {integrity: sha512-VWDCbrLeVXJM9fihYodcLiIv0ku+AlOa/TQ1SvYOaBuyrSKgEcro95LJyIsJ4vSo6BXIxOKxiJAat04CmST9Fw==} @@ -5366,6 +5611,9 @@ packages: resolution: {integrity: sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ==} hasBin: true + a5-js@0.5.0: + resolution: {integrity: sha512-VAw19sWdYadhdovb0ViOIi1SdKx6H6LwcGMRFKwMfgL5gcmL/1fKJHfgsNgNaJ7xC/eEyjs6VK+VVd4N0a+peg==} + abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} deprecated: Use your platform's native atob() and btoa() methods instead @@ -5885,6 +6133,9 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} + brotli@1.3.3: + resolution: {integrity: sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==} + browser-process-hrtime@1.0.0: resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} @@ -5908,6 +6159,10 @@ packages: engines: {node: '>= 0.4.0'} hasBin: true + buf-compare@1.0.1: + resolution: {integrity: sha512-Bvx4xH00qweepGc43xFvMs5BKASXTbHaHm6+kDYIK9p/4iFwjATQkmPKHQSgJZzKbAymhztRbXUf1Nqhzl73/Q==} + engines: {node: '>=0.10.0'} + buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} @@ -6033,6 +6288,9 @@ packages: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} + charenc@0.0.2: + resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} + cheap-ruler@4.0.0: resolution: {integrity: sha512-0BJa8f4t141BYKQyn9NSQt1PguFQXMXwZiA5shfoaBYHAb2fFk2RAX+tiWMoQU+Agtzt3mdt0JtuyshAXqZ+Vw==} @@ -6276,6 +6534,10 @@ packages: resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} engines: {node: '>=0.10.0'} + core-assert@0.2.1: + resolution: {integrity: sha512-IG97qShIP+nrJCXMCgkNZgH7jZQ4n8RpPyPeXX++T6avR/KhLhgLiHKoEn5Rc1KjfycSfA9DMa6m+4C4eguHhw==} + engines: {node: '>=0.10.0'} + core-js-compat@3.45.1: resolution: {integrity: sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==} @@ -6333,6 +6595,9 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} + crypt@0.0.2: + resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} + css-color-keywords@1.0.0: resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==} engines: {node: '>=4'} @@ -6669,6 +6934,10 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + deep-strict-equal@0.2.0: + resolution: {integrity: sha512-3daSWyvZ/zwJvuMGlzG1O+Ow0YSadGfb3jsh9xoCutv2tWyB9dA4YvR9L9/fSdDZa2dByYQe+TqapSGUrjnkoA==} + engines: {node: '>=0.10.0'} + deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} @@ -6855,6 +7124,9 @@ packages: resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} engines: {node: '>=12'} + draco3d@1.5.7: + resolution: {integrity: sha512-m6WCKt/erDXcw+70IJXnG7M3awwQPAsZvJGX5zY7beBqpELw6RDGkYVU0W43AFxye4pDZ5i2Lbyc/NNGqwjUVQ==} + dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -7325,6 +7597,10 @@ packages: fast-uri@3.1.0: resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} + fast-xml-parser@4.5.3: + resolution: {integrity: sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==} + hasBin: true + fastq@1.19.1: resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} @@ -7351,6 +7627,9 @@ packages: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} + fflate@0.7.4: + resolution: {integrity: sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==} + fflate@0.8.2: resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} @@ -7740,6 +8019,10 @@ packages: resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} engines: {node: '>=10'} + h3-js@4.4.0: + resolution: {integrity: sha512-DvJh07MhGgY2KcC4OeZc8SSyA+ZXpdvoh6uCzGpoKvWtZxJB+g6VXXC1+eWYkaMIsLz7J/ErhOalHCpcs1KYog==} + engines: {node: '>=4', npm: '>=3', yarn: '>=1.3.0'} + handle-thing@2.0.1: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} @@ -8012,6 +8295,14 @@ packages: resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} + image-size@0.7.5: + resolution: {integrity: sha512-Hiyv+mXHfFEP7LzUL/llg9RwFxxY+o9N3JVLIeG5E7iFIFAalxvRU9UZthBdYDEVnzHMgjnKJPPpay5BWf1g9g==} + engines: {node: '>=6.9.0'} + hasBin: true + + immediate@3.0.6: + resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} + immer@10.1.3: resolution: {integrity: sha512-tmjF/k8QDKydUlm3mZU+tjM6zeq9/fFpPqH9SzWmBnVVKsPBg/V66qsMwb3/Bo90cgUN+ghdVBess+hPsxUyRw==} @@ -8157,6 +8448,9 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} hasBin: true + is-error@2.2.2: + resolution: {integrity: sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg==} + is-extendable@0.1.1: resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} engines: {node: '>=0.10.0'} @@ -8749,6 +9043,9 @@ packages: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} + jszip@3.10.1: + resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==} + kdbush@4.0.2: resolution: {integrity: sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==} @@ -8761,6 +9058,7 @@ packages: keygrip@1.1.0: resolution: {integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==} engines: {node: '>= 0.6'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -8799,6 +9097,9 @@ packages: kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + ktx-parse@0.7.1: + resolution: {integrity: sha512-FeA3g56ksdFNwjXJJsc1CCc7co+AJYDp6ipIp878zZ2bU8kWROatLYf39TQEd4/XRSUvBXovQ8gaVKWPXsCLEQ==} + language-subtag-registry@0.3.23: resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} @@ -8829,6 +9130,9 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} + lie@3.3.0: + resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} + lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -8970,6 +9274,13 @@ packages: long-timeout@0.1.1: resolution: {integrity: sha512-BFRuQUqc7x2NWxfJBCyUrN8iYUYznzL9JROmRz1gZ6KlOIgmoD+njPVbb+VNn2nGMKggMsK79iUNErillsrx7w==} + long@3.2.0: + resolution: {integrity: sha512-ZYvPPOMqUwPoDsbJaR10iQJYnMuZhRTvHYl62ErLIEX7RgFlziSBUUvrt3OVfc47QlHHpzPZYP17g3Fv7oeJkg==} + engines: {node: '>=0.6'} + + long@5.3.2: + resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==} + loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -9006,6 +9317,12 @@ packages: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true + lz4js@0.2.0: + resolution: {integrity: sha512-gY2Ia9Lm7Ep8qMiuGRhvUq0Q7qUereeldZPP1PMEJxPtEWHJLqw9pgX68oHajBH0nzJK4MaZEA/YNV3jT8u8Bg==} + + lzo-wasm@0.0.4: + resolution: {integrity: sha512-VKlnoJRFrB8SdJhlVKvW5vI1gGwcZ+mvChEXcSX6r2xDNc/Q2FD9esfBmGCuPZdrJ1feO+YcVFd2PTk0c137Gw==} + magic-string@0.30.18: resolution: {integrity: sha512-yi8swmWbO17qHhwIBNeeZxTceJMeBvWJaId6dyvTSOwTipqeHhMhOrz6513r1sOKnpvQ7zkhlG8tPrpilwTxHQ==} @@ -9058,6 +9375,9 @@ packages: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} + md5@2.3.0: + resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==} + mdn-data@2.0.14: resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} @@ -9523,6 +9843,7 @@ packages: osm2geojson-lite@1.1.2: resolution: {integrity: sha512-6s1uW548fdyLTJ4Cp/hQTKvdgCl/E8nUvBMEzUXnAJPHAFHoIhwMqZ3KGdph2A1g48rsCeA6gVnkPruWGiwupw==} hasBin: true + bundledDependencies: [] ospath@1.2.2: resolution: {integrity: sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==} @@ -9588,6 +9909,9 @@ packages: package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + pako@1.0.11: + resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + pako@2.1.0: resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==} @@ -9693,6 +10017,10 @@ packages: resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==} engines: {node: '>= 14.16'} + pbf@3.3.0: + resolution: {integrity: sha512-XDF38WCH3z5OV/OVa8GKUNtLAyneuzbCisx7QUCF8Q6Nutx0WnJrQe5O+kOtBlLfRNUws98Y58Lblp+NJG5T4Q==} + hasBin: true + pbf@4.0.1: resolution: {integrity: sha512-SuLdBvS42z33m8ejRbInMapQe8n0D3vN/Xd5fmWM3tufNgRQFBpaW2YVJxQZV4iPNqb0vEFvssMEo5w9c6BTIA==} hasBin: true @@ -10550,6 +10878,9 @@ packages: resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} engines: {node: '>=0.10.0'} + setimmediate@1.0.5: + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + setprototypeof@1.1.0: resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} @@ -10662,6 +10993,9 @@ packages: resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} engines: {node: '>=0.10.0'} + snappyjs@0.6.1: + resolution: {integrity: sha512-YIK6I2lsH072UE0aOFxxY1dPDCS43I5ktqHpeAsuLNYWkE5pGxRGWfDM4/vSUfNzXjC1Ivzt3qx31PCLmc9yqg==} + sockjs@0.3.24: resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} @@ -10934,6 +11268,9 @@ packages: strip-literal@3.0.0: resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} + strnum@1.1.2: + resolution: {integrity: sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==} + strong-log-transformer@2.1.0: resolution: {integrity: sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==} engines: {node: '>=4'} @@ -11075,6 +11412,10 @@ packages: text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + texture-compressor@1.0.2: + resolution: {integrity: sha512-dStVgoaQ11mA5htJ+RzZ51ZxIZqNOgWKAIvtjLrW1AliQQLCmrDqNzQZ8Jh91YealQ95DXt4MEduLzJmbs6lig==} + hasBin: true + thingies@2.5.0: resolution: {integrity: sha512-s+2Bwztg6PhWUD7XMfeYm5qliDdSiZm7M7n8KjTkIsm3l/2lgVRc2/Gx/v+ZX8lT4FMA+i8aQvhcWylldc+ZNw==} engines: {node: '>=10.18'} @@ -12002,6 +12343,9 @@ packages: resolution: {integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==} engines: {node: '>=12.20'} + zstd-codec@0.1.5: + resolution: {integrity: sha512-v3fyjpK8S/dpY/X5WxqTK3IoCnp/ZOLxn144GZVlNUjtwAchzrVo03h+oMATFhCIiJ5KTr4V3vDQQYz4RU684g==} + snapshots: '@adobe/css-tools@4.4.4': {} @@ -13014,18 +13358,30 @@ snapshots: '@daybrush/utils@1.13.0': {} - '@deck.gl/aggregation-layers@9.1.14(@deck.gl/core@9.1.14)(@deck.gl/layers@9.1.14(@deck.gl/core@9.1.14)(@loaders.gl/core@4.3.4)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.1.9(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.1.9(@luma.gl/core@9.1.9))))(@luma.gl/core@9.1.9)(@luma.gl/engine@9.1.9(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.1.9(@luma.gl/core@9.1.9)))': + '@deck.gl/aggregation-layers@9.1.14(@deck.gl/core@9.1.14)(@deck.gl/layers@9.1.14(@deck.gl/core@9.1.14)(@loaders.gl/core@4.3.4)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9))))(@luma.gl/core@9.1.9)(@luma.gl/engine@9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)))': dependencies: '@deck.gl/core': 9.1.14 - '@deck.gl/layers': 9.1.14(@deck.gl/core@9.1.14)(@loaders.gl/core@4.3.4)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.1.9(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.1.9(@luma.gl/core@9.1.9))) + '@deck.gl/layers': 9.1.14(@deck.gl/core@9.1.14)(@loaders.gl/core@4.3.4)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9))) '@luma.gl/constants': 9.1.9 '@luma.gl/core': 9.1.9 - '@luma.gl/engine': 9.1.9(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.1.9(@luma.gl/core@9.1.9)) + '@luma.gl/engine': 9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)) '@luma.gl/shadertools': 9.1.9(@luma.gl/core@9.1.9) '@math.gl/core': 4.1.0 '@math.gl/web-mercator': 4.1.0 d3-hexbin: 0.2.2 + '@deck.gl/aggregation-layers@9.2.6(@deck.gl/core@9.2.6)(@deck.gl/layers@9.1.14(@deck.gl/core@9.2.6)(@loaders.gl/core@4.3.4)(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6))))(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)))': + dependencies: + '@deck.gl/core': 9.2.6 + '@deck.gl/layers': 9.1.14(@deck.gl/core@9.2.6)(@loaders.gl/core@4.3.4)(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6))) + '@luma.gl/constants': 9.2.6 + '@luma.gl/core': 9.2.6 + '@luma.gl/engine': 9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)) + '@luma.gl/shadertools': 9.2.6(@luma.gl/core@9.2.6) + '@math.gl/core': 4.1.0 + '@math.gl/web-mercator': 4.1.0 + d3-hexbin: 0.2.2 + '@deck.gl/core@9.1.14': dependencies: '@loaders.gl/core': 4.3.4 @@ -13046,15 +13402,126 @@ snapshots: gl-matrix: 3.4.4 mjolnir.js: 3.0.0 - '@deck.gl/layers@9.1.14(@deck.gl/core@9.1.14)(@loaders.gl/core@4.3.4)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.1.9(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.1.9(@luma.gl/core@9.1.9)))': + '@deck.gl/core@9.2.6': + dependencies: + '@loaders.gl/core': 4.3.4 + '@loaders.gl/images': 4.3.4(@loaders.gl/core@4.3.4) + '@luma.gl/constants': 9.2.6 + '@luma.gl/core': 9.2.6 + '@luma.gl/engine': 9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)) + '@luma.gl/shadertools': 9.2.6(@luma.gl/core@9.2.6) + '@luma.gl/webgl': 9.2.6(@luma.gl/core@9.2.6) + '@math.gl/core': 4.1.0 + '@math.gl/sun': 4.1.0 + '@math.gl/types': 4.1.0 + '@math.gl/web-mercator': 4.1.0 + '@probe.gl/env': 4.1.0 + '@probe.gl/log': 4.1.0 + '@probe.gl/stats': 4.1.0 + '@types/offscreencanvas': 2019.7.3 + gl-matrix: 3.4.4 + mjolnir.js: 3.0.0 + + '@deck.gl/extensions@9.2.6(@deck.gl/core@9.1.14)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)))': + dependencies: + '@deck.gl/core': 9.1.14 + '@luma.gl/constants': 9.2.6 + '@luma.gl/core': 9.1.9 + '@luma.gl/engine': 9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)) + '@luma.gl/shadertools': 9.2.6(@luma.gl/core@9.1.9) + '@math.gl/core': 4.1.0 + + '@deck.gl/extensions@9.2.6(@deck.gl/core@9.2.6)(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)))': + dependencies: + '@deck.gl/core': 9.2.6 + '@luma.gl/constants': 9.2.6 + '@luma.gl/core': 9.2.6 + '@luma.gl/engine': 9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)) + '@luma.gl/shadertools': 9.2.6(@luma.gl/core@9.2.6) + '@math.gl/core': 4.1.0 + + '@deck.gl/geo-layers@9.2.6(@deck.gl/core@9.1.14)(@deck.gl/extensions@9.2.6(@deck.gl/core@9.1.14)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9))))(@deck.gl/layers@9.1.14(@deck.gl/core@9.1.14)(@loaders.gl/core@4.3.4)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9))))(@deck.gl/mesh-layers@9.2.6(@deck.gl/core@9.1.14)(@loaders.gl/core@4.3.4)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)))(@luma.gl/gltf@9.2.6(@luma.gl/constants@9.2.6)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)))(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)))(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)))(@loaders.gl/core@4.3.4)(@luma.gl/constants@9.2.6)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)))': + dependencies: + '@deck.gl/core': 9.1.14 + '@deck.gl/extensions': 9.2.6(@deck.gl/core@9.1.14)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9))) + '@deck.gl/layers': 9.1.14(@deck.gl/core@9.1.14)(@loaders.gl/core@4.3.4)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9))) + '@deck.gl/mesh-layers': 9.2.6(@deck.gl/core@9.1.14)(@loaders.gl/core@4.3.4)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)))(@luma.gl/gltf@9.2.6(@luma.gl/constants@9.2.6)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)))(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)))(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)) + '@loaders.gl/3d-tiles': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/core': 4.3.4 + '@loaders.gl/gis': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/loader-utils': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/mvt': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/schema': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/terrain': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/tiles': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/wms': 4.3.4(@loaders.gl/core@4.3.4) + '@luma.gl/core': 9.1.9 + '@luma.gl/engine': 9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)) + '@luma.gl/gltf': 9.2.6(@luma.gl/constants@9.2.6)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)))(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)) + '@luma.gl/shadertools': 9.2.6(@luma.gl/core@9.1.9) + '@math.gl/core': 4.1.0 + '@math.gl/culling': 4.1.0 + '@math.gl/web-mercator': 4.1.0 + '@types/geojson': 7946.0.16 + a5-js: 0.5.0 + h3-js: 4.4.0 + long: 3.2.0 + transitivePeerDependencies: + - '@luma.gl/constants' + + '@deck.gl/geo-layers@9.2.6(@deck.gl/core@9.2.6)(@deck.gl/extensions@9.2.6(@deck.gl/core@9.2.6)(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6))))(@deck.gl/layers@9.1.14(@deck.gl/core@9.2.6)(@loaders.gl/core@4.3.4)(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6))))(@deck.gl/mesh-layers@9.2.6(@deck.gl/core@9.2.6)(@loaders.gl/core@4.3.4)(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)))(@luma.gl/gltf@9.2.6(@luma.gl/constants@9.2.6)(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)))(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)))(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)))(@loaders.gl/core@4.3.4)(@luma.gl/constants@9.2.6)(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)))': + dependencies: + '@deck.gl/core': 9.2.6 + '@deck.gl/extensions': 9.2.6(@deck.gl/core@9.2.6)(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6))) + '@deck.gl/layers': 9.1.14(@deck.gl/core@9.2.6)(@loaders.gl/core@4.3.4)(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6))) + '@deck.gl/mesh-layers': 9.2.6(@deck.gl/core@9.2.6)(@loaders.gl/core@4.3.4)(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)))(@luma.gl/gltf@9.2.6(@luma.gl/constants@9.2.6)(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)))(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)))(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)) + '@loaders.gl/3d-tiles': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/core': 4.3.4 + '@loaders.gl/gis': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/loader-utils': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/mvt': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/schema': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/terrain': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/tiles': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/wms': 4.3.4(@loaders.gl/core@4.3.4) + '@luma.gl/core': 9.2.6 + '@luma.gl/engine': 9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)) + '@luma.gl/gltf': 9.2.6(@luma.gl/constants@9.2.6)(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)))(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)) + '@luma.gl/shadertools': 9.2.6(@luma.gl/core@9.2.6) + '@math.gl/core': 4.1.0 + '@math.gl/culling': 4.1.0 + '@math.gl/web-mercator': 4.1.0 + '@types/geojson': 7946.0.16 + a5-js: 0.5.0 + h3-js: 4.4.0 + long: 3.2.0 + transitivePeerDependencies: + - '@luma.gl/constants' + + '@deck.gl/layers@9.1.14(@deck.gl/core@9.1.14)(@loaders.gl/core@4.3.4)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)))': dependencies: '@deck.gl/core': 9.1.14 '@loaders.gl/core': 4.3.4 '@loaders.gl/images': 4.3.4(@loaders.gl/core@4.3.4) '@loaders.gl/schema': 4.3.4(@loaders.gl/core@4.3.4) - '@luma.gl/core': 9.1.9 - '@luma.gl/engine': 9.1.9(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.1.9(@luma.gl/core@9.1.9)) - '@luma.gl/shadertools': 9.1.9(@luma.gl/core@9.1.9) + '@luma.gl/core': 9.1.9 + '@luma.gl/engine': 9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)) + '@luma.gl/shadertools': 9.1.9(@luma.gl/core@9.1.9) + '@mapbox/tiny-sdf': 2.0.7 + '@math.gl/core': 4.1.0 + '@math.gl/polygon': 4.1.0 + '@math.gl/web-mercator': 4.1.0 + earcut: 2.2.4 + + '@deck.gl/layers@9.1.14(@deck.gl/core@9.2.6)(@loaders.gl/core@4.3.4)(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)))': + dependencies: + '@deck.gl/core': 9.2.6 + '@loaders.gl/core': 4.3.4 + '@loaders.gl/images': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/schema': 4.3.4(@loaders.gl/core@4.3.4) + '@luma.gl/core': 9.2.6 + '@luma.gl/engine': 9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)) + '@luma.gl/shadertools': 9.1.9(@luma.gl/core@9.2.6) '@mapbox/tiny-sdf': 2.0.7 '@math.gl/core': 4.1.0 '@math.gl/polygon': 4.1.0 @@ -13068,6 +13535,37 @@ snapshots: '@luma.gl/core': 9.1.9 '@math.gl/web-mercator': 4.1.0 + '@deck.gl/mapbox@9.2.6(@deck.gl/core@9.2.6)(@luma.gl/constants@9.2.6)(@luma.gl/core@9.2.6)(@math.gl/web-mercator@4.1.0)': + dependencies: + '@deck.gl/core': 9.2.6 + '@luma.gl/constants': 9.2.6 + '@luma.gl/core': 9.2.6 + '@math.gl/web-mercator': 4.1.0 + + '@deck.gl/mesh-layers@9.2.6(@deck.gl/core@9.1.14)(@loaders.gl/core@4.3.4)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)))(@luma.gl/gltf@9.2.6(@luma.gl/constants@9.2.6)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)))(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)))(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9))': + dependencies: + '@deck.gl/core': 9.1.14 + '@loaders.gl/gltf': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/schema': 4.3.4(@loaders.gl/core@4.3.4) + '@luma.gl/core': 9.1.9 + '@luma.gl/engine': 9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)) + '@luma.gl/gltf': 9.2.6(@luma.gl/constants@9.2.6)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)))(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)) + '@luma.gl/shadertools': 9.2.6(@luma.gl/core@9.1.9) + transitivePeerDependencies: + - '@loaders.gl/core' + + '@deck.gl/mesh-layers@9.2.6(@deck.gl/core@9.2.6)(@loaders.gl/core@4.3.4)(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)))(@luma.gl/gltf@9.2.6(@luma.gl/constants@9.2.6)(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)))(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)))(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6))': + dependencies: + '@deck.gl/core': 9.2.6 + '@loaders.gl/gltf': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/schema': 4.3.4(@loaders.gl/core@4.3.4) + '@luma.gl/core': 9.2.6 + '@luma.gl/engine': 9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)) + '@luma.gl/gltf': 9.2.6(@luma.gl/constants@9.2.6)(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)))(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)) + '@luma.gl/shadertools': 9.2.6(@luma.gl/core@9.2.6) + transitivePeerDependencies: + - '@loaders.gl/core' + '@dimforge/rapier3d-compat@0.12.0': {} '@discoveryjs/json-ext@0.5.7': {} @@ -13915,6 +14413,40 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} + '@loaders.gl/3d-tiles@4.3.4(@loaders.gl/core@4.3.4)': + dependencies: + '@loaders.gl/compression': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/core': 4.3.4 + '@loaders.gl/crypto': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/draco': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/gltf': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/images': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/loader-utils': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/math': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/tiles': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/zip': 4.3.4(@loaders.gl/core@4.3.4) + '@math.gl/core': 4.1.0 + '@math.gl/culling': 4.1.0 + '@math.gl/geospatial': 4.1.0 + '@probe.gl/log': 4.1.0 + long: 5.3.2 + + '@loaders.gl/compression@4.3.4(@loaders.gl/core@4.3.4)': + dependencies: + '@loaders.gl/core': 4.3.4 + '@loaders.gl/loader-utils': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/worker-utils': 4.3.4(@loaders.gl/core@4.3.4) + '@types/brotli': 1.3.4 + '@types/pako': 1.0.7 + fflate: 0.7.4 + lzo-wasm: 0.0.4 + pako: 1.0.11 + snappyjs: 0.6.1 + optionalDependencies: + brotli: 1.3.3 + lz4js: 0.2.0 + zstd-codec: 0.1.5 + '@loaders.gl/core@4.3.4': dependencies: '@loaders.gl/loader-utils': 4.3.4(@loaders.gl/core@4.3.4) @@ -13922,6 +14454,40 @@ snapshots: '@loaders.gl/worker-utils': 4.3.4(@loaders.gl/core@4.3.4) '@probe.gl/log': 4.1.0 + '@loaders.gl/crypto@4.3.4(@loaders.gl/core@4.3.4)': + dependencies: + '@loaders.gl/core': 4.3.4 + '@loaders.gl/loader-utils': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/worker-utils': 4.3.4(@loaders.gl/core@4.3.4) + '@types/crypto-js': 4.2.2 + + '@loaders.gl/draco@4.3.4(@loaders.gl/core@4.3.4)': + dependencies: + '@loaders.gl/core': 4.3.4 + '@loaders.gl/loader-utils': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/schema': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/worker-utils': 4.3.4(@loaders.gl/core@4.3.4) + draco3d: 1.5.7 + + '@loaders.gl/gis@4.3.4(@loaders.gl/core@4.3.4)': + dependencies: + '@loaders.gl/core': 4.3.4 + '@loaders.gl/loader-utils': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/schema': 4.3.4(@loaders.gl/core@4.3.4) + '@mapbox/vector-tile': 1.3.1 + '@math.gl/polygon': 4.1.0 + pbf: 3.3.0 + + '@loaders.gl/gltf@4.3.4(@loaders.gl/core@4.3.4)': + dependencies: + '@loaders.gl/core': 4.3.4 + '@loaders.gl/draco': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/images': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/loader-utils': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/schema': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/textures': 4.3.4(@loaders.gl/core@4.3.4) + '@math.gl/core': 4.1.0 + '@loaders.gl/images@4.3.4(@loaders.gl/core@4.3.4)': dependencies: '@loaders.gl/core': 4.3.4 @@ -13935,17 +14501,93 @@ snapshots: '@probe.gl/log': 4.1.0 '@probe.gl/stats': 4.1.0 + '@loaders.gl/math@4.3.4(@loaders.gl/core@4.3.4)': + dependencies: + '@loaders.gl/core': 4.3.4 + '@loaders.gl/images': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/loader-utils': 4.3.4(@loaders.gl/core@4.3.4) + '@math.gl/core': 4.1.0 + + '@loaders.gl/mvt@4.3.4(@loaders.gl/core@4.3.4)': + dependencies: + '@loaders.gl/core': 4.3.4 + '@loaders.gl/gis': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/images': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/loader-utils': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/schema': 4.3.4(@loaders.gl/core@4.3.4) + '@math.gl/polygon': 4.1.0 + '@probe.gl/stats': 4.1.0 + pbf: 3.3.0 + '@loaders.gl/schema@4.3.4(@loaders.gl/core@4.3.4)': dependencies: '@loaders.gl/core': 4.3.4 '@types/geojson': 7946.0.16 + '@loaders.gl/terrain@4.3.4(@loaders.gl/core@4.3.4)': + dependencies: + '@loaders.gl/core': 4.3.4 + '@loaders.gl/images': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/loader-utils': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/schema': 4.3.4(@loaders.gl/core@4.3.4) + '@mapbox/martini': 0.2.0 + + '@loaders.gl/textures@4.3.4(@loaders.gl/core@4.3.4)': + dependencies: + '@loaders.gl/core': 4.3.4 + '@loaders.gl/images': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/loader-utils': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/schema': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/worker-utils': 4.3.4(@loaders.gl/core@4.3.4) + '@math.gl/types': 4.1.0 + ktx-parse: 0.7.1 + texture-compressor: 1.0.2 + + '@loaders.gl/tiles@4.3.4(@loaders.gl/core@4.3.4)': + dependencies: + '@loaders.gl/core': 4.3.4 + '@loaders.gl/loader-utils': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/math': 4.3.4(@loaders.gl/core@4.3.4) + '@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.1.0 + + '@loaders.gl/wms@4.3.4(@loaders.gl/core@4.3.4)': + dependencies: + '@loaders.gl/core': 4.3.4 + '@loaders.gl/images': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/loader-utils': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/schema': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/xml': 4.3.4(@loaders.gl/core@4.3.4) + '@turf/rewind': 5.1.5 + deep-strict-equal: 0.2.0 + '@loaders.gl/worker-utils@4.3.4(@loaders.gl/core@4.3.4)': dependencies: '@loaders.gl/core': 4.3.4 + '@loaders.gl/xml@4.3.4(@loaders.gl/core@4.3.4)': + dependencies: + '@loaders.gl/core': 4.3.4 + '@loaders.gl/loader-utils': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/schema': 4.3.4(@loaders.gl/core@4.3.4) + fast-xml-parser: 4.5.3 + + '@loaders.gl/zip@4.3.4(@loaders.gl/core@4.3.4)': + dependencies: + '@loaders.gl/compression': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/core': 4.3.4 + '@loaders.gl/crypto': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/loader-utils': 4.3.4(@loaders.gl/core@4.3.4) + jszip: 3.10.1 + md5: 2.3.0 + '@luma.gl/constants@9.1.9': {} + '@luma.gl/constants@9.2.6': {} + '@luma.gl/core@9.1.9': dependencies: '@math.gl/types': 4.1.0 @@ -13954,6 +14596,14 @@ snapshots: '@probe.gl/stats': 4.1.0 '@types/offscreencanvas': 2019.7.3 + '@luma.gl/core@9.2.6': + dependencies: + '@math.gl/types': 4.1.0 + '@probe.gl/env': 4.1.0 + '@probe.gl/log': 4.1.0 + '@probe.gl/stats': 4.1.0 + '@types/offscreencanvas': 2019.7.3 + '@luma.gl/engine@9.1.9(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.1.9(@luma.gl/core@9.1.9))': dependencies: '@luma.gl/core': 9.1.9 @@ -13963,6 +14613,46 @@ snapshots: '@probe.gl/log': 4.1.0 '@probe.gl/stats': 4.1.0 + '@luma.gl/engine@9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9))': + dependencies: + '@luma.gl/core': 9.1.9 + '@luma.gl/shadertools': 9.2.6(@luma.gl/core@9.1.9) + '@math.gl/core': 4.1.0 + '@math.gl/types': 4.1.0 + '@probe.gl/log': 4.1.0 + '@probe.gl/stats': 4.1.0 + + '@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6))': + dependencies: + '@luma.gl/core': 9.2.6 + '@luma.gl/shadertools': 9.2.6(@luma.gl/core@9.2.6) + '@math.gl/core': 4.1.0 + '@math.gl/types': 4.1.0 + '@probe.gl/log': 4.1.0 + '@probe.gl/stats': 4.1.0 + + '@luma.gl/gltf@9.2.6(@luma.gl/constants@9.2.6)(@luma.gl/core@9.1.9)(@luma.gl/engine@9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)))(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9))': + dependencies: + '@loaders.gl/core': 4.3.4 + '@loaders.gl/gltf': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/textures': 4.3.4(@loaders.gl/core@4.3.4) + '@luma.gl/constants': 9.2.6 + '@luma.gl/core': 9.1.9 + '@luma.gl/engine': 9.2.6(@luma.gl/core@9.1.9)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)) + '@luma.gl/shadertools': 9.2.6(@luma.gl/core@9.1.9) + '@math.gl/core': 4.1.0 + + '@luma.gl/gltf@9.2.6(@luma.gl/constants@9.2.6)(@luma.gl/core@9.2.6)(@luma.gl/engine@9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)))(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6))': + dependencies: + '@loaders.gl/core': 4.3.4 + '@loaders.gl/gltf': 4.3.4(@loaders.gl/core@4.3.4) + '@loaders.gl/textures': 4.3.4(@loaders.gl/core@4.3.4) + '@luma.gl/constants': 9.2.6 + '@luma.gl/core': 9.2.6 + '@luma.gl/engine': 9.2.6(@luma.gl/core@9.2.6)(@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)) + '@luma.gl/shadertools': 9.2.6(@luma.gl/core@9.2.6) + '@math.gl/core': 4.1.0 + '@luma.gl/shadertools@9.1.9(@luma.gl/core@9.1.9)': dependencies: '@luma.gl/core': 9.1.9 @@ -13970,6 +14660,27 @@ snapshots: '@math.gl/types': 4.1.0 wgsl_reflect: 1.2.3 + '@luma.gl/shadertools@9.1.9(@luma.gl/core@9.2.6)': + dependencies: + '@luma.gl/core': 9.2.6 + '@math.gl/core': 4.1.0 + '@math.gl/types': 4.1.0 + wgsl_reflect: 1.2.3 + + '@luma.gl/shadertools@9.2.6(@luma.gl/core@9.1.9)': + dependencies: + '@luma.gl/core': 9.1.9 + '@math.gl/core': 4.1.0 + '@math.gl/types': 4.1.0 + wgsl_reflect: 1.2.3 + + '@luma.gl/shadertools@9.2.6(@luma.gl/core@9.2.6)': + dependencies: + '@luma.gl/core': 9.2.6 + '@math.gl/core': 4.1.0 + '@math.gl/types': 4.1.0 + wgsl_reflect: 1.2.3 + '@luma.gl/webgl@9.1.9(@luma.gl/core@9.1.9)': dependencies: '@luma.gl/constants': 9.1.9 @@ -13977,6 +14688,13 @@ snapshots: '@math.gl/types': 4.1.0 '@probe.gl/env': 4.1.0 + '@luma.gl/webgl@9.2.6(@luma.gl/core@9.2.6)': + dependencies: + '@luma.gl/constants': 9.2.6 + '@luma.gl/core': 9.2.6 + '@math.gl/types': 4.1.0 + '@probe.gl/env': 4.1.0 + '@mapbox/extent@0.4.0': {} '@mapbox/geojson-area@0.2.2': @@ -14018,6 +14736,8 @@ snapshots: '@mapbox/mapbox-gl-sync-move@0.3.1': {} + '@mapbox/martini@0.2.0': {} + '@mapbox/point-geometry@0.1.0': {} '@mapbox/point-geometry@1.1.0': {} @@ -14028,6 +14748,10 @@ snapshots: '@mapbox/unitbezier@0.0.1': {} + '@mapbox/vector-tile@1.3.1': + dependencies: + '@mapbox/point-geometry': 0.1.0 + '@mapbox/vector-tile@2.0.4': dependencies: '@mapbox/point-geometry': 1.1.0 @@ -14036,55 +14760,6 @@ snapshots: '@mapbox/whoots-js@3.1.0': {} - '@mapcomponents/react-maplibre@1.7.5(@types/react@19.1.12)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': - dependencies: - '@dnd-kit/core': 6.3.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@dnd-kit/modifiers': 9.0.0(@dnd-kit/core@6.3.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) - '@dnd-kit/sortable': 10.0.0(@dnd-kit/core@6.3.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0) - '@dnd-kit/utilities': 3.2.2(react@19.1.0) - '@emotion/css': 11.13.5 - '@emotion/react': 11.14.0(@types/react@19.1.12)(react@19.1.0) - '@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.1.12)(react@19.1.0))(@types/react@19.1.12)(react@19.1.0) - '@mapbox/mapbox-gl-draw': 1.4.3 - '@mapbox/mapbox-gl-sync-move': 0.3.1 - '@mui/icons-material': 7.3.2(@mui/material@7.3.2(@emotion/react@11.14.0(@types/react@19.1.12)(react@19.1.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.12)(react@19.1.0))(@types/react@19.1.12)(react@19.1.0))(@types/react@19.1.12)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@types/react@19.1.12)(react@19.1.0) - '@mui/material': 7.3.2(@emotion/react@11.14.0(@types/react@19.1.12)(react@19.1.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.12)(react@19.1.0))(@types/react@19.1.12)(react@19.1.0))(@types/react@19.1.12)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mui/system': 7.3.2(@emotion/react@11.14.0(@types/react@19.1.12)(react@19.1.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.1.12)(react@19.1.0))(@types/react@19.1.12)(react@19.1.0))(@types/react@19.1.12)(react@19.1.0) - '@reduxjs/toolkit': 2.9.0(react-redux@9.2.0(@types/react@19.1.12)(react@19.1.0)(redux@5.0.1))(react@19.1.0) - '@testing-library/dom': 10.4.1 - '@testing-library/jest-dom': 6.8.0 - '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1) - '@tmcw/togeojson': 7.1.2 - '@turf/helpers': 7.2.0 - '@turf/turf': 7.2.0 - '@types/d3': 7.4.3 - '@types/geojson': 7946.0.16 - '@types/react-color': 3.0.13(@types/react@19.1.12) - '@types/topojson-client': 3.1.5 - '@types/topojson-specification': 1.0.5 - '@xmldom/xmldom': 0.9.8 - camelcase: 8.0.0 - csv2geojson: 5.1.2 - d3: 7.9.0 - jspdf: 3.0.2 - maplibre-gl: 5.16.0 - osm2geojson-lite: 1.1.2 - pako: 2.1.0 - react: 19.1.0 - react-color: 2.19.3(react@19.1.0) - react-dom: 19.1.0(react@19.1.0) - react-moveable: 0.56.0 - react-redux: 9.2.0(@types/react@19.1.12)(react@19.1.0)(redux@5.0.1) - redux: 5.0.1 - redux-thunk: 3.1.0(redux@5.0.1) - topojson-client: 3.1.0 - uuid: 11.1.0 - wms-capabilities: 0.6.0 - transitivePeerDependencies: - - '@mui/material-pigment-css' - - '@types/react' - - supports-color - '@maplibre/maplibre-gl-style-spec@24.4.1': dependencies: '@mapbox/jsonlint-lines-primitives': 2.0.2 @@ -14113,6 +14788,16 @@ snapshots: dependencies: '@math.gl/types': 4.1.0 + '@math.gl/culling@4.1.0': + dependencies: + '@math.gl/core': 4.1.0 + '@math.gl/types': 4.1.0 + + '@math.gl/geospatial@4.1.0': + dependencies: + '@math.gl/core': 4.1.0 + '@math.gl/types': 4.1.0 + '@math.gl/polygon@4.1.0': dependencies: '@math.gl/core': 4.1.0 @@ -16373,6 +17058,11 @@ snapshots: '@types/geojson': 7946.0.16 tslib: 2.8.1 + '@turf/boolean-clockwise@5.1.5': + dependencies: + '@turf/helpers': 5.1.5 + '@turf/invariant': 5.2.0 + '@turf/boolean-clockwise@7.2.0': dependencies: '@turf/helpers': 7.2.0 @@ -16570,6 +17260,10 @@ snapshots: '@types/geojson': 7946.0.16 tslib: 2.8.1 + '@turf/clone@5.1.5': + dependencies: + '@turf/helpers': 5.1.5 + '@turf/clone@7.2.0': dependencies: '@turf/helpers': 7.2.0 @@ -16734,6 +17428,8 @@ snapshots: '@turf/invariant': 7.2.0 '@types/geojson': 7946.0.16 + '@turf/helpers@5.1.5': {} + '@turf/helpers@7.2.0': dependencies: '@types/geojson': 7946.0.16 @@ -16771,6 +17467,10 @@ snapshots: polyclip-ts: 0.16.8 tslib: 2.8.1 + '@turf/invariant@5.2.0': + dependencies: + '@turf/helpers': 5.1.5 + '@turf/invariant@7.2.0': dependencies: '@turf/helpers': 7.2.0 @@ -16915,6 +17615,10 @@ snapshots: polyclip-ts: 0.16.8 tslib: 2.8.1 + '@turf/meta@5.2.0': + dependencies: + '@turf/helpers': 5.1.5 + '@turf/meta@7.2.0': dependencies: '@turf/helpers': 7.2.0 @@ -17107,6 +17811,14 @@ snapshots: '@types/geojson': 7946.0.16 tslib: 2.8.1 + '@turf/rewind@5.1.5': + dependencies: + '@turf/boolean-clockwise': 5.1.5 + '@turf/clone': 5.1.5 + '@turf/helpers': 5.1.5 + '@turf/invariant': 5.2.0 + '@turf/meta': 5.2.0 + '@turf/rewind@7.2.0': dependencies: '@turf/boolean-clockwise': 7.2.0 @@ -17468,6 +18180,10 @@ snapshots: dependencies: '@types/node': 24.3.1 + '@types/brotli@1.3.4': + dependencies: + '@types/node': 24.3.1 + '@types/chai@5.2.2': dependencies: '@types/deep-eql': 4.0.2 @@ -17485,6 +18201,8 @@ snapshots: dependencies: '@types/node': 24.3.1 + '@types/crypto-js@4.2.2': {} + '@types/d3-array@3.2.1': {} '@types/d3-axis@3.0.6': @@ -17726,6 +18444,8 @@ snapshots: '@types/offscreencanvas@2019.7.3': {} + '@types/pako@1.0.7': {} + '@types/pako@2.0.4': {} '@types/parse-json@4.0.2': {} @@ -18416,6 +19136,10 @@ snapshots: dependencies: argparse: 2.0.1 + a5-js@0.5.0: + dependencies: + gl-matrix: 3.4.4 + abab@2.0.6: {} accepts@1.3.8: @@ -19032,6 +19756,11 @@ snapshots: dependencies: fill-range: 7.1.1 + brotli@1.3.3: + dependencies: + base64-js: 1.5.1 + optional: true + browser-process-hrtime@1.0.0: {} browser-stdout@1.3.1: {} @@ -19053,6 +19782,8 @@ snapshots: btoa@1.2.1: {} + buf-compare@1.0.1: {} + buffer-crc32@0.2.13: {} buffer-from@1.1.2: {} @@ -19193,6 +19924,8 @@ snapshots: char-regex@1.0.2: {} + charenc@0.0.2: {} + cheap-ruler@4.0.0: {} check-error@2.1.1: {} @@ -19423,6 +20156,11 @@ snapshots: copy-descriptor@0.1.1: {} + core-assert@0.2.1: + dependencies: + buf-compare: 1.0.1 + is-error: 2.2.2 + core-js-compat@3.45.1: dependencies: browserslist: 4.25.4 @@ -19489,6 +20227,8 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + crypt@0.0.2: {} + css-color-keywords@1.0.0: {} css-line-break@2.1.0: @@ -19885,6 +20625,10 @@ snapshots: deep-is@0.1.4: {} + deep-strict-equal@0.2.0: + dependencies: + core-assert: 0.2.1 + deepmerge@4.3.1: {} default-browser-id@5.0.0: {} @@ -20059,6 +20803,8 @@ snapshots: dotenv@16.4.7: {} + draco3d@1.5.7: {} + dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 @@ -20824,6 +21570,10 @@ snapshots: fast-uri@3.1.0: {} + fast-xml-parser@4.5.3: + dependencies: + strnum: 1.1.2 + fastq@1.19.1: dependencies: reusify: 1.1.0 @@ -20853,6 +21603,8 @@ snapshots: node-domexception: 1.0.0 web-streams-polyfill: 3.3.3 + fflate@0.7.4: {} + fflate@0.8.2: {} figures@3.2.0: @@ -21294,6 +22046,8 @@ snapshots: dependencies: duplexer: 0.1.2 + h3-js@4.4.0: {} + handle-thing@2.0.1: {} handlebars@4.7.8: @@ -21625,6 +22379,10 @@ snapshots: ignore@7.0.5: {} + image-size@0.7.5: {} + + immediate@3.0.6: {} + immer@10.1.3: {} immer@9.0.21: {} @@ -21756,6 +22514,8 @@ snapshots: is-docker@3.0.0: {} + is-error@2.2.2: {} + is-extendable@0.1.1: {} is-extendable@1.0.1: @@ -22654,6 +23414,13 @@ snapshots: object.assign: 4.1.7 object.values: 1.2.1 + jszip@3.10.1: + dependencies: + lie: 3.3.0 + pako: 1.0.11 + readable-stream: 2.3.8 + setimmediate: 1.0.5 + kdbush@4.0.2: {} keycode@2.2.1: {} @@ -22743,6 +23510,8 @@ snapshots: kolorist@1.8.0: {} + ktx-parse@0.7.1: {} + language-subtag-registry@0.3.23: {} language-tags@1.0.9: @@ -22770,6 +23539,10 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + lie@3.3.0: + dependencies: + immediate: 3.0.6 + lines-and-columns@1.2.4: {} lines-and-columns@2.0.3: {} @@ -22915,6 +23688,10 @@ snapshots: long-timeout@0.1.1: {} + long@3.2.0: {} + + long@5.3.2: {} + loose-envify@1.4.0: dependencies: js-tokens: 4.0.0 @@ -22943,6 +23720,11 @@ snapshots: lz-string@1.5.0: {} + lz4js@0.2.0: + optional: true + + lzo-wasm@0.0.4: {} + magic-string@0.30.18: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -23037,6 +23819,12 @@ snapshots: math-intrinsics@1.1.0: {} + md5@2.3.0: + dependencies: + charenc: 0.0.2 + crypt: 0.0.2 + is-buffer: 1.1.6 + mdn-data@2.0.14: {} mdn-data@2.0.28: {} @@ -23848,6 +24636,8 @@ snapshots: package-json-from-dist@1.0.1: {} + pako@1.0.11: {} + pako@2.1.0: {} param-case@3.0.4: @@ -23937,6 +24727,11 @@ snapshots: pathval@2.0.1: {} + pbf@3.3.0: + dependencies: + ieee754: 1.2.1 + resolve-protobuf-schema: 2.1.0 + pbf@4.0.1: dependencies: resolve-protobuf-schema: 2.1.0 @@ -24988,6 +25783,8 @@ snapshots: is-plain-object: 2.0.4 split-string: 3.1.0 + setimmediate@1.0.5: {} + setprototypeof@1.1.0: {} setprototypeof@1.2.0: {} @@ -25112,6 +25909,8 @@ snapshots: transitivePeerDependencies: - supports-color + snappyjs@0.6.1: {} + sockjs@0.3.24: dependencies: faye-websocket: 0.11.4 @@ -25435,6 +26234,8 @@ snapshots: dependencies: js-tokens: 9.0.1 + strnum@1.1.2: {} + strong-log-transformer@2.1.0: dependencies: duplexer: 0.1.2 @@ -25616,6 +26417,11 @@ snapshots: text-table@0.2.0: {} + texture-compressor@1.0.2: + dependencies: + argparse: 1.0.10 + image-size: 0.7.5 + thingies@2.5.0(tslib@2.8.1): dependencies: tslib: 2.8.1 @@ -26606,3 +27412,6 @@ snapshots: yocto-queue@0.1.0: {} yocto-queue@1.2.1: {} + + zstd-codec@0.1.5: + optional: true