@gisatcz/deckgl-geolib 2.6.0-dev.2 → 2.6.0-dev.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.min.js +1 -1
- package/dist/cjs/index.min.js.map +1 -1
- package/dist/cjs/react/index.js +39 -0
- package/dist/cjs/react/index.js.map +1 -0
- package/dist/cjs/react/index.min.js +2 -0
- package/dist/cjs/react/index.min.js.map +1 -0
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.min.js +1 -1
- package/dist/esm/index.min.js.map +1 -1
- package/dist/esm/react/index.js +37 -0
- package/dist/esm/react/index.js.map +1 -0
- package/dist/esm/react/index.min.js +2 -0
- package/dist/esm/react/index.min.js.map +1 -0
- package/dist/esm/types/hooks/index.d.ts +1 -0
- package/dist/esm/types/hooks/useTerrainZRange.d.ts +30 -0
- package/dist/esm/types/layers/CogTerrainLayer.d.ts +5 -0
- package/dist/esm/types/react/index.d.ts +1 -0
- package/package.json +13 -2
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* React hook for syncing terrain elevation bounds to overlay TileLayer for 3D frustum culling.
|
|
5
|
+
*
|
|
6
|
+
* Manages the zRange state needed to prevent foreground tile clipping when viewport is tilted in 3D.
|
|
7
|
+
*
|
|
8
|
+
* @returns Object with zRange state and onZRangeUpdate callback
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* const { zRange, onZRangeUpdate } = useTerrainZRange();
|
|
13
|
+
*
|
|
14
|
+
* const layers = useMemo(() => [
|
|
15
|
+
* new TileLayer({
|
|
16
|
+
* id: 'osm',
|
|
17
|
+
* zRange: zRange, // Pass elevation bounds to overlay
|
|
18
|
+
* // ... other props
|
|
19
|
+
* }),
|
|
20
|
+
* new CogTerrainLayer({
|
|
21
|
+
* id: 'terrain',
|
|
22
|
+
* onZRangeUpdate: onZRangeUpdate, // Sync elevation bounds from terrain
|
|
23
|
+
* // ... other props
|
|
24
|
+
* }),
|
|
25
|
+
* ], [zRange]);
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
function useTerrainZRange() {
|
|
29
|
+
const [zRange, setZRange] = useState(null);
|
|
30
|
+
return {
|
|
31
|
+
zRange,
|
|
32
|
+
onZRangeUpdate: setZRange,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export { useTerrainZRange };
|
|
37
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/hooks/useTerrainZRange.ts"],"sourcesContent":["import { useState } from 'react';\nimport type { ZRange } from '../layers/CogTerrainLayer';\n\n/**\n * React hook for syncing terrain elevation bounds to overlay TileLayer for 3D frustum culling.\n *\n * Manages the zRange state needed to prevent foreground tile clipping when viewport is tilted in 3D.\n *\n * @returns Object with zRange state and onZRangeUpdate callback\n *\n * @example\n * ```typescript\n * const { zRange, onZRangeUpdate } = useTerrainZRange();\n *\n * const layers = useMemo(() => [\n * new TileLayer({\n * id: 'osm',\n * zRange: zRange, // Pass elevation bounds to overlay\n * // ... other props\n * }),\n * new CogTerrainLayer({\n * id: 'terrain',\n * onZRangeUpdate: onZRangeUpdate, // Sync elevation bounds from terrain\n * // ... other props\n * }),\n * ], [zRange]);\n * ```\n */\nexport function useTerrainZRange() {\n const [zRange, setZRange] = useState<ZRange | null>(null);\n\n return {\n zRange,\n onZRangeUpdate: setZRange,\n };\n}\n"],"names":[],"mappings":";;AAGA;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;SACa,gBAAgB,GAAA;IAC9B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC;IAEzD,OAAO;QACL,MAAM;AACN,QAAA,cAAc,EAAE,SAAS;KAC1B;AACH;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.min.js","sources":["../../../src/hooks/useTerrainZRange.ts"],"sourcesContent":["import { useState } from 'react';\nimport type { ZRange } from '../layers/CogTerrainLayer';\n\n/**\n * React hook for syncing terrain elevation bounds to overlay TileLayer for 3D frustum culling.\n *\n * Manages the zRange state needed to prevent foreground tile clipping when viewport is tilted in 3D.\n *\n * @returns Object with zRange state and onZRangeUpdate callback\n *\n * @example\n * ```typescript\n * const { zRange, onZRangeUpdate } = useTerrainZRange();\n *\n * const layers = useMemo(() => [\n * new TileLayer({\n * id: 'osm',\n * zRange: zRange, // Pass elevation bounds to overlay\n * // ... other props\n * }),\n * new CogTerrainLayer({\n * id: 'terrain',\n * onZRangeUpdate: onZRangeUpdate, // Sync elevation bounds from terrain\n * // ... other props\n * }),\n * ], [zRange]);\n * ```\n */\nexport function useTerrainZRange() {\n const [zRange, setZRange] = useState<ZRange | null>(null);\n\n return {\n zRange,\n onZRangeUpdate: setZRange,\n };\n}\n"],"names":["useTerrainZRange","zRange","setZRange","useState","onZRangeUpdate"],"mappings":"0CA4BgBA,IACd,MAAOC,EAAQC,GAAaC,EAAwB,MAEpD,MAAO,CACLF,SACAG,eAAgBF,EAEpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useTerrainZRange } from './useTerrainZRange';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ZRange } from '../layers/CogTerrainLayer';
|
|
2
|
+
/**
|
|
3
|
+
* React hook for syncing terrain elevation bounds to overlay TileLayer for 3D frustum culling.
|
|
4
|
+
*
|
|
5
|
+
* Manages the zRange state needed to prevent foreground tile clipping when viewport is tilted in 3D.
|
|
6
|
+
*
|
|
7
|
+
* @returns Object with zRange state and onZRangeUpdate callback
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* const { zRange, onZRangeUpdate } = useTerrainZRange();
|
|
12
|
+
*
|
|
13
|
+
* const layers = useMemo(() => [
|
|
14
|
+
* new TileLayer({
|
|
15
|
+
* id: 'osm',
|
|
16
|
+
* zRange: zRange, // Pass elevation bounds to overlay
|
|
17
|
+
* // ... other props
|
|
18
|
+
* }),
|
|
19
|
+
* new CogTerrainLayer({
|
|
20
|
+
* id: 'terrain',
|
|
21
|
+
* onZRangeUpdate: onZRangeUpdate, // Sync elevation bounds from terrain
|
|
22
|
+
* // ... other props
|
|
23
|
+
* }),
|
|
24
|
+
* ], [zRange]);
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare function useTerrainZRange(): {
|
|
28
|
+
zRange: ZRange | null;
|
|
29
|
+
onZRangeUpdate: import("react").Dispatch<import("react").SetStateAction<ZRange | null>>;
|
|
30
|
+
};
|
|
@@ -61,6 +61,11 @@ type _CogTerrainLayerProps = {
|
|
|
61
61
|
* Useful for showing a neutral grey terrain during mode transitions.
|
|
62
62
|
*/
|
|
63
63
|
disableTexture?: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Callback fired when the terrain zRange is updated.
|
|
66
|
+
* Used to sync overlay TileLayer zRange for proper 3D frustum culling.
|
|
67
|
+
*/
|
|
68
|
+
onZRangeUpdate?: (zRange: ZRange | null) => void;
|
|
64
69
|
/**
|
|
65
70
|
* @deprecated Use `loadOptions.terrain.workerUrl` instead
|
|
66
71
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useTerrainZRange } from '../hooks/index';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gisatcz/deckgl-geolib",
|
|
3
|
-
"version": "2.6.0-dev.
|
|
3
|
+
"version": "2.6.0-dev.4",
|
|
4
4
|
"description": "Deck.gl extension for rendering Cloud-Optimized GeoTIFF (COG) data",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"deck.gl",
|
|
@@ -30,6 +30,11 @@
|
|
|
30
30
|
"types": "./dist/esm/types/index.d.ts",
|
|
31
31
|
"import": "./dist/esm/index.js",
|
|
32
32
|
"require": "./dist/cjs/index.js"
|
|
33
|
+
},
|
|
34
|
+
"./react": {
|
|
35
|
+
"types": "./dist/esm/types/react/index.d.ts",
|
|
36
|
+
"import": "./dist/esm/react/index.js",
|
|
37
|
+
"require": "./dist/cjs/react/index.js"
|
|
33
38
|
}
|
|
34
39
|
},
|
|
35
40
|
"sideEffects": false,
|
|
@@ -64,7 +69,13 @@
|
|
|
64
69
|
"@loaders.gl/schema": ">=4.0.0",
|
|
65
70
|
"@luma.gl/core": ">=9.0.0",
|
|
66
71
|
"@luma.gl/engine": ">=9.0.0",
|
|
67
|
-
"@luma.gl/shadertools": ">=9.0.0"
|
|
72
|
+
"@luma.gl/shadertools": ">=9.0.0",
|
|
73
|
+
"react": ">=16.8.0"
|
|
74
|
+
},
|
|
75
|
+
"peerDependenciesMeta": {
|
|
76
|
+
"react": {
|
|
77
|
+
"optional": true
|
|
78
|
+
}
|
|
68
79
|
},
|
|
69
80
|
"devDependencies": {
|
|
70
81
|
"@deck.gl/core": "^9.3.2",
|