@deck.gl/aggregation-layers 9.0.0-alpha.6 → 9.0.0-alpha.7
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/dist.dev.js +2859 -2634
- package/dist/es5/heatmap-layer/heatmap-layer.js +7 -8
- package/dist/es5/heatmap-layer/heatmap-layer.js.map +1 -1
- package/dist/es5/heatmap-layer/max-fs.glsl.js +1 -1
- package/dist/es5/heatmap-layer/max-vs.glsl.js +1 -1
- package/dist/es5/heatmap-layer/triangle-layer-fragment.glsl.js +1 -1
- package/dist/es5/heatmap-layer/triangle-layer-vertex.glsl.js +1 -1
- package/dist/es5/heatmap-layer/weights-fs.glsl.js +1 -1
- package/dist/es5/heatmap-layer/weights-vs.glsl.js +1 -1
- package/dist/es5/screen-grid-layer/screen-grid-cell-layer.js +4 -4
- package/dist/es5/screen-grid-layer/screen-grid-cell-layer.js.map +1 -1
- package/dist/es5/screen-grid-layer/screen-grid-layer-fragment.glsl.js +1 -1
- package/dist/es5/screen-grid-layer/screen-grid-layer-vertex.glsl.js +1 -1
- package/dist/es5/screen-grid-layer/screen-grid-layer.js +1 -3
- package/dist/es5/screen-grid-layer/screen-grid-layer.js.map +1 -1
- package/dist/es5/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.js +1 -1
- package/dist/es5/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.js +1 -1
- package/dist/es5/utils/gpu-grid-aggregation/gpu-grid-aggregator.js +1 -1
- package/dist/es5/utils/gpu-grid-aggregation/gpu-grid-aggregator.js.map +1 -1
- package/dist/es5/utils/gpu-grid-aggregation/transform-mean-vs.glsl.js +1 -1
- package/dist/esm/heatmap-layer/heatmap-layer.js +8 -11
- package/dist/esm/heatmap-layer/heatmap-layer.js.map +1 -1
- package/dist/esm/heatmap-layer/max-fs.glsl.js +5 -3
- package/dist/esm/heatmap-layer/max-fs.glsl.js.map +1 -1
- package/dist/esm/heatmap-layer/max-vs.glsl.js +3 -2
- package/dist/esm/heatmap-layer/max-vs.glsl.js.map +1 -1
- package/dist/esm/heatmap-layer/triangle-layer-fragment.glsl.js +9 -6
- package/dist/esm/heatmap-layer/triangle-layer-fragment.glsl.js.map +1 -1
- package/dist/esm/heatmap-layer/triangle-layer-vertex.glsl.js +7 -6
- package/dist/esm/heatmap-layer/triangle-layer-vertex.glsl.js.map +1 -1
- package/dist/esm/heatmap-layer/weights-fs.glsl.js +5 -3
- package/dist/esm/heatmap-layer/weights-fs.glsl.js.map +1 -1
- package/dist/esm/heatmap-layer/weights-vs.glsl.js +5 -4
- package/dist/esm/heatmap-layer/weights-vs.glsl.js.map +1 -1
- package/dist/esm/screen-grid-layer/screen-grid-cell-layer.js +4 -4
- package/dist/esm/screen-grid-layer/screen-grid-cell-layer.js.map +1 -1
- package/dist/esm/screen-grid-layer/screen-grid-layer-fragment.glsl.js +7 -4
- package/dist/esm/screen-grid-layer/screen-grid-layer-fragment.glsl.js.map +1 -1
- package/dist/esm/screen-grid-layer/screen-grid-layer-vertex.glsl.js +8 -7
- package/dist/esm/screen-grid-layer/screen-grid-layer-vertex.glsl.js.map +1 -1
- package/dist/esm/screen-grid-layer/screen-grid-layer.js +1 -3
- package/dist/esm/screen-grid-layer/screen-grid-layer.js.map +1 -1
- package/dist/esm/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.js +6 -3
- package/dist/esm/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.js.map +1 -1
- package/dist/esm/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.js +5 -4
- package/dist/esm/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.js.map +1 -1
- package/dist/esm/utils/gpu-grid-aggregation/gpu-grid-aggregator.js +2 -2
- package/dist/esm/utils/gpu-grid-aggregation/gpu-grid-aggregator.js.map +1 -1
- package/dist/esm/utils/gpu-grid-aggregation/transform-mean-vs.glsl.js +3 -2
- package/dist/esm/utils/gpu-grid-aggregation/transform-mean-vs.glsl.js.map +1 -1
- package/dist.min.js +152 -122
- package/package.json +7 -7
- package/src/heatmap-layer/heatmap-layer.ts +17 -17
- package/src/heatmap-layer/max-fs.glsl.ts +5 -3
- package/src/heatmap-layer/max-vs.glsl.ts +3 -2
- package/src/heatmap-layer/triangle-layer-fragment.glsl.ts +9 -6
- package/src/heatmap-layer/triangle-layer-vertex.glsl.ts +7 -6
- package/src/heatmap-layer/weights-fs.glsl.ts +5 -3
- package/src/heatmap-layer/weights-vs.glsl.ts +5 -4
- package/src/screen-grid-layer/screen-grid-cell-layer.ts +16 -8
- package/src/screen-grid-layer/screen-grid-layer-fragment.glsl.ts +7 -4
- package/src/screen-grid-layer/screen-grid-layer-vertex.glsl.ts +8 -7
- package/src/screen-grid-layer/screen-grid-layer.ts +1 -1
- package/src/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.ts +6 -3
- package/src/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.ts +5 -4
- package/src/utils/gpu-grid-aggregation/gpu-grid-aggregator.ts +2 -2
- package/src/utils/gpu-grid-aggregation/transform-mean-vs.glsl.ts +3 -2
- package/typed/aggregation-layer.d.ts +1 -1
- package/typed/aggregation-layer.d.ts.map +1 -1
- package/typed/contour-layer/contour-layer.d.ts +2 -2
- package/typed/contour-layer/contour-layer.d.ts.map +1 -1
- package/typed/cpu-grid-layer/cpu-grid-layer.d.ts +2 -2
- package/typed/cpu-grid-layer/cpu-grid-layer.d.ts.map +1 -1
- package/typed/cpu-grid-layer/grid-aggregator.d.ts +1 -1
- package/typed/cpu-grid-layer/grid-aggregator.d.ts.map +1 -1
- package/typed/gpu-grid-layer/gpu-grid-cell-layer.d.ts +1 -1
- package/typed/gpu-grid-layer/gpu-grid-cell-layer.d.ts.map +1 -1
- package/typed/gpu-grid-layer/gpu-grid-layer.d.ts +2 -2
- package/typed/gpu-grid-layer/gpu-grid-layer.d.ts.map +1 -1
- package/typed/grid-aggregation-layer.d.ts +1 -1
- package/typed/grid-aggregation-layer.d.ts.map +1 -1
- package/typed/grid-layer/grid-layer.d.ts +2 -2
- package/typed/grid-layer/grid-layer.d.ts.map +1 -1
- package/typed/heatmap-layer/heatmap-layer.d.ts +8 -9
- package/typed/heatmap-layer/heatmap-layer.d.ts.map +1 -1
- package/typed/heatmap-layer/max-fs.glsl.d.ts +1 -1
- package/typed/heatmap-layer/max-fs.glsl.d.ts.map +1 -1
- package/typed/heatmap-layer/max-vs.glsl.d.ts +1 -1
- package/typed/heatmap-layer/max-vs.glsl.d.ts.map +1 -1
- package/typed/heatmap-layer/triangle-layer-fragment.glsl.d.ts +1 -1
- package/typed/heatmap-layer/triangle-layer-fragment.glsl.d.ts.map +1 -1
- package/typed/heatmap-layer/triangle-layer-vertex.glsl.d.ts +1 -1
- package/typed/heatmap-layer/triangle-layer-vertex.glsl.d.ts.map +1 -1
- package/typed/heatmap-layer/triangle-layer.d.ts +2 -2
- package/typed/heatmap-layer/triangle-layer.d.ts.map +1 -1
- package/typed/heatmap-layer/weights-fs.glsl.d.ts +1 -1
- package/typed/heatmap-layer/weights-fs.glsl.d.ts.map +1 -1
- package/typed/heatmap-layer/weights-vs.glsl.d.ts +1 -1
- package/typed/heatmap-layer/weights-vs.glsl.d.ts.map +1 -1
- package/typed/hexagon-layer/hexagon-layer.d.ts +2 -2
- package/typed/hexagon-layer/hexagon-layer.d.ts.map +1 -1
- package/typed/screen-grid-layer/screen-grid-cell-layer.d.ts +4 -8
- package/typed/screen-grid-layer/screen-grid-cell-layer.d.ts.map +1 -1
- package/typed/screen-grid-layer/screen-grid-layer-fragment.glsl.d.ts +1 -1
- package/typed/screen-grid-layer/screen-grid-layer-fragment.glsl.d.ts.map +1 -1
- package/typed/screen-grid-layer/screen-grid-layer-vertex.glsl.d.ts +1 -1
- package/typed/screen-grid-layer/screen-grid-layer-vertex.glsl.d.ts.map +1 -1
- package/typed/screen-grid-layer/screen-grid-layer.d.ts +2 -2
- package/typed/screen-grid-layer/screen-grid-layer.d.ts.map +1 -1
- package/typed/types.d.ts +1 -1
- package/typed/types.d.ts.map +1 -1
- package/typed/utils/aggregation-operation-utils.d.ts +1 -1
- package/typed/utils/aggregation-operation-utils.d.ts.map +1 -1
- package/typed/utils/bin-sorter.d.ts +1 -1
- package/typed/utils/bin-sorter.d.ts.map +1 -1
- package/typed/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.d.ts +1 -1
- package/typed/utils/gpu-grid-aggregation/aggregate-to-grid-fs.glsl.d.ts.map +1 -1
- package/typed/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.d.ts +1 -1
- package/typed/utils/gpu-grid-aggregation/aggregate-to-grid-vs.glsl.d.ts.map +1 -1
- package/typed/utils/gpu-grid-aggregation/gpu-grid-aggregator.d.ts +1 -1
- package/typed/utils/gpu-grid-aggregation/gpu-grid-aggregator.d.ts.map +1 -1
- package/typed/utils/gpu-grid-aggregation/transform-mean-vs.glsl.d.ts +1 -1
- package/typed/utils/gpu-grid-aggregation/transform-mean-vs.glsl.d.ts.map +1 -1
- package/typed/utils/resource-utils.d.ts +1 -1
- package/typed/utils/resource-utils.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@deck.gl/aggregation-layers",
|
|
3
3
|
"description": "deck.gl layers that aggregate the input data into alternative representations",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "9.0.0-alpha.
|
|
5
|
+
"version": "9.0.0-alpha.7",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
8
8
|
},
|
|
@@ -32,17 +32,17 @@
|
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@babel/runtime": "^7.0.0",
|
|
35
|
-
"@luma.gl/constants": "9.0.0-alpha.
|
|
36
|
-
"@luma.gl/core": "9.0.0-alpha.
|
|
37
|
-
"@luma.gl/shadertools": "9.0.0-alpha.
|
|
35
|
+
"@luma.gl/constants": "9.0.0-alpha.53",
|
|
36
|
+
"@luma.gl/core": "9.0.0-alpha.53",
|
|
37
|
+
"@luma.gl/shadertools": "9.0.0-alpha.53",
|
|
38
38
|
"@math.gl/web-mercator": "^4.0.0",
|
|
39
39
|
"d3-hexbin": "^0.2.1"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
42
42
|
"@deck.gl/core": "^9.0.0-alpha",
|
|
43
43
|
"@deck.gl/layers": "^9.0.0-alpha",
|
|
44
|
-
"@luma.gl/core": "9.0.0-alpha.
|
|
45
|
-
"@luma.gl/engine": "9.0.0-alpha.
|
|
44
|
+
"@luma.gl/core": "9.0.0-alpha.53",
|
|
45
|
+
"@luma.gl/engine": "9.0.0-alpha.53"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "de061268077ab74e163792162efbc07be95d10f5"
|
|
48
48
|
}
|
|
@@ -27,10 +27,10 @@ import {
|
|
|
27
27
|
getTextureCoordinates,
|
|
28
28
|
getTextureParams
|
|
29
29
|
} from './heatmap-layer-utils';
|
|
30
|
-
import {DeviceFeature, Texture, TextureProps, TextureFormat} from '@luma.gl/core';
|
|
30
|
+
import {Buffer, DeviceFeature, Texture, TextureProps, TextureFormat} from '@luma.gl/core';
|
|
31
31
|
import {GL} from '@luma.gl/constants';
|
|
32
|
-
import {
|
|
33
|
-
import {
|
|
32
|
+
import {TextureTransform, TextureTransformProps} from '@luma.gl/engine';
|
|
33
|
+
import {withGLParameters} from '@luma.gl/webgl';
|
|
34
34
|
import {
|
|
35
35
|
Accessor,
|
|
36
36
|
AccessorFunction,
|
|
@@ -199,10 +199,10 @@ export default class HeatmapLayer<
|
|
|
199
199
|
worldBounds?: number[];
|
|
200
200
|
normalizedCommonBounds?: number[];
|
|
201
201
|
updateTimer?: any;
|
|
202
|
-
triPositionBuffer?:
|
|
203
|
-
triTexCoordBuffer?:
|
|
204
|
-
weightsTransform?:
|
|
205
|
-
maxWeightTransform?:
|
|
202
|
+
triPositionBuffer?: Buffer;
|
|
203
|
+
triTexCoordBuffer?: Buffer;
|
|
204
|
+
weightsTransform?: TextureTransform;
|
|
205
|
+
maxWeightTransform?: TextureTransform;
|
|
206
206
|
textureSize: number;
|
|
207
207
|
format: TextureFormat;
|
|
208
208
|
type: GL;
|
|
@@ -424,16 +424,15 @@ export default class HeatmapLayer<
|
|
|
424
424
|
|
|
425
425
|
_createWeightsTransform(shaders = {}) {
|
|
426
426
|
let {weightsTransform} = this.state;
|
|
427
|
-
const {weightsTexture} = this.state;
|
|
428
427
|
weightsTransform?.delete();
|
|
429
428
|
|
|
430
|
-
weightsTransform = new
|
|
429
|
+
weightsTransform = new TextureTransform(this.context.device, {
|
|
431
430
|
id: `${this.id}-weights-transform`,
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
431
|
+
vertexCount: 1,
|
|
432
|
+
targetTexture: this.state.weightsTexture!,
|
|
433
|
+
targetTextureVarying: 'weightsTexture',
|
|
435
434
|
...shaders
|
|
436
|
-
});
|
|
435
|
+
} as TextureTransformProps);
|
|
437
436
|
this.setState({weightsTransform});
|
|
438
437
|
}
|
|
439
438
|
|
|
@@ -445,7 +444,7 @@ export default class HeatmapLayer<
|
|
|
445
444
|
this._createWeightsTransform(weightsTransformShaders);
|
|
446
445
|
|
|
447
446
|
const maxWeightsTransformShaders = this.getShaders('max-weights-transform');
|
|
448
|
-
const maxWeightTransform = new
|
|
447
|
+
const maxWeightTransform = new TextureTransform(this.context.device, {
|
|
449
448
|
id: `${this.id}-max-weights-transform`,
|
|
450
449
|
_sourceTextures: {
|
|
451
450
|
inTexture: weightsTexture
|
|
@@ -484,6 +483,7 @@ export default class HeatmapLayer<
|
|
|
484
483
|
const {maxWeightTransform} = this.state;
|
|
485
484
|
maxWeightTransform!.run({
|
|
486
485
|
parameters: {
|
|
486
|
+
// @ts-expect-error TODO(v9): Resolve errors.
|
|
487
487
|
blend: true,
|
|
488
488
|
depthTest: false,
|
|
489
489
|
blendFunc: [GL.ONE, GL.ONE],
|
|
@@ -550,12 +550,12 @@ export default class HeatmapLayer<
|
|
|
550
550
|
|
|
551
551
|
const {viewport} = this.context;
|
|
552
552
|
|
|
553
|
-
triPositionBuffer!.
|
|
553
|
+
triPositionBuffer!.write(packVertices(viewportCorners, 3));
|
|
554
554
|
|
|
555
555
|
const textureBounds = viewportCorners.map(p =>
|
|
556
556
|
getTextureCoordinates(viewport.projectPosition(p), normalizedCommonBounds!)
|
|
557
557
|
);
|
|
558
|
-
triTexCoordBuffer!.
|
|
558
|
+
triTexCoordBuffer!.write(packVertices(textureBounds, 2));
|
|
559
559
|
}
|
|
560
560
|
|
|
561
561
|
_updateColorTexture(opts) {
|
|
@@ -618,13 +618,13 @@ export default class HeatmapLayer<
|
|
|
618
618
|
weightsTransform.run({
|
|
619
619
|
uniforms,
|
|
620
620
|
parameters: {
|
|
621
|
+
// @ts-expect-error TODO(v9): Resolve errors.
|
|
621
622
|
blend: true,
|
|
622
623
|
depthTest: false,
|
|
623
624
|
blendFunc: [GL.ONE, GL.ONE],
|
|
624
625
|
blendEquation: GL.FUNC_ADD
|
|
625
626
|
},
|
|
626
627
|
clearRenderTarget: true,
|
|
627
|
-
// @ts-expect-error TODO - no longer supported in v9?
|
|
628
628
|
attributes: this.getAttributes(),
|
|
629
629
|
moduleSettings: this.getModuleSettings()
|
|
630
630
|
});
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export default `\
|
|
2
|
-
|
|
2
|
+
#version 300 es
|
|
3
|
+
in vec4 outTexture;
|
|
4
|
+
out vec4 fragColor;
|
|
3
5
|
void main() {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
+
fragColor = outTexture;
|
|
7
|
+
fragColor.g = outTexture.r / max(1.0, outTexture.a);
|
|
6
8
|
}
|
|
7
9
|
`;
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
// THE SOFTWARE.
|
|
20
20
|
|
|
21
21
|
export default `\
|
|
22
|
+
#version 300 es
|
|
22
23
|
#define SHADER_NAME triangle-layer-fragment-shader
|
|
23
24
|
|
|
24
25
|
precision highp float;
|
|
@@ -28,19 +29,21 @@ uniform sampler2D texture;
|
|
|
28
29
|
uniform sampler2D colorTexture;
|
|
29
30
|
uniform float aggregationMode;
|
|
30
31
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
in vec2 vTexCoords;
|
|
33
|
+
in float vIntensityMin;
|
|
34
|
+
in float vIntensityMax;
|
|
35
|
+
|
|
36
|
+
out vec4 fragColor;
|
|
34
37
|
|
|
35
38
|
vec4 getLinearColor(float value) {
|
|
36
39
|
float factor = clamp(value * vIntensityMax, 0., 1.);
|
|
37
|
-
vec4 color =
|
|
40
|
+
vec4 color = texture(colorTexture, vec2(factor, 0.5));
|
|
38
41
|
color.a *= min(value * vIntensityMin, 1.0);
|
|
39
42
|
return color;
|
|
40
43
|
}
|
|
41
44
|
|
|
42
45
|
void main(void) {
|
|
43
|
-
vec4 weights =
|
|
46
|
+
vec4 weights = texture(texture, vTexCoords);
|
|
44
47
|
float weight = weights.r;
|
|
45
48
|
|
|
46
49
|
if (aggregationMode > 0.5) {
|
|
@@ -54,6 +57,6 @@ void main(void) {
|
|
|
54
57
|
|
|
55
58
|
vec4 linearColor = getLinearColor(weight);
|
|
56
59
|
linearColor.a *= opacity;
|
|
57
|
-
|
|
60
|
+
fragColor = linearColor;
|
|
58
61
|
}
|
|
59
62
|
`;
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
// Inspired by screen-grid-layer vertex shader in deck.gl
|
|
22
22
|
|
|
23
23
|
export default `\
|
|
24
|
+
#version 300 es
|
|
24
25
|
#define SHADER_NAME heatp-map-layer-vertex-shader
|
|
25
26
|
|
|
26
27
|
uniform sampler2D maxTexture;
|
|
@@ -29,17 +30,17 @@ uniform vec2 colorDomain;
|
|
|
29
30
|
uniform float threshold;
|
|
30
31
|
uniform float aggregationMode;
|
|
31
32
|
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
in vec3 positions;
|
|
34
|
+
in vec2 texCoords;
|
|
34
35
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
out vec2 vTexCoords;
|
|
37
|
+
out float vIntensityMin;
|
|
38
|
+
out float vIntensityMax;
|
|
38
39
|
|
|
39
40
|
void main(void) {
|
|
40
41
|
gl_Position = project_position_to_clipspace(positions, vec3(0.0), vec3(0.0));
|
|
41
42
|
vTexCoords = texCoords;
|
|
42
|
-
vec4 maxTexture =
|
|
43
|
+
vec4 maxTexture = texture(maxTexture, vec2(0.5));
|
|
43
44
|
float maxValue = aggregationMode < 0.5 ? maxTexture.r : maxTexture.g;
|
|
44
45
|
float minValue = maxValue * threshold;
|
|
45
46
|
if (colorDomain[1] > 0.) {
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export default `\
|
|
2
|
-
|
|
2
|
+
#version 300 es
|
|
3
|
+
in vec4 weightsTexture;
|
|
4
|
+
out vec4 fragColor;
|
|
3
5
|
// Epanechnikov function, keeping for reference
|
|
4
6
|
// float epanechnikovKDE(float u) {
|
|
5
7
|
// return 0.75 * (1.0 - u * u);
|
|
@@ -13,7 +15,7 @@ void main()
|
|
|
13
15
|
if (dist > 0.5) {
|
|
14
16
|
discard;
|
|
15
17
|
}
|
|
16
|
-
|
|
17
|
-
DECKGL_FILTER_COLOR(
|
|
18
|
+
fragColor = weightsTexture * gaussianKDE(2. * dist);
|
|
19
|
+
DECKGL_FILTER_COLOR(fragColor, geometry);
|
|
18
20
|
}
|
|
19
21
|
`;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export default `\
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
#version 300 es
|
|
3
|
+
in vec3 positions;
|
|
4
|
+
in vec3 positions64Low;
|
|
5
|
+
in float weights;
|
|
6
|
+
out vec4 weightsTexture;
|
|
6
7
|
uniform float radiusPixels;
|
|
7
8
|
uniform float textureWidth;
|
|
8
9
|
uniform vec4 commonBounds;
|
|
@@ -20,12 +20,12 @@
|
|
|
20
20
|
|
|
21
21
|
import {Device, Texture} from '@luma.gl/core';
|
|
22
22
|
import {Model, Geometry} from '@luma.gl/engine';
|
|
23
|
-
import {GL} from '@luma.gl/constants';
|
|
24
23
|
import {Layer, LayerProps, log, picking, UpdateParameters, DefaultProps} from '@deck.gl/core';
|
|
25
24
|
import {defaultColorRange, colorRangeToFlatArray} from '../utils/color-utils';
|
|
26
25
|
import vs from './screen-grid-layer-vertex.glsl';
|
|
27
26
|
import fs from './screen-grid-layer-fragment.glsl';
|
|
28
27
|
import type {_ScreenGridLayerProps} from './screen-grid-layer';
|
|
28
|
+
import {ShaderModule} from '@luma.gl/shadertools';
|
|
29
29
|
|
|
30
30
|
const DEFAULT_MINCOLOR = [0, 0, 0, 0];
|
|
31
31
|
const DEFAULT_MAXCOLOR = [0, 255, 0, 255];
|
|
@@ -61,8 +61,9 @@ export default class ScreenGridCellLayer<DataT = any, ExtraPropsT extends {} = {
|
|
|
61
61
|
state!: {
|
|
62
62
|
model?: Model;
|
|
63
63
|
};
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
|
|
65
|
+
getShaders(): {vs: string; fs: string; modules: ShaderModule[]} {
|
|
66
|
+
return {vs, fs, modules: [picking as ShaderModule]};
|
|
66
67
|
}
|
|
67
68
|
|
|
68
69
|
initializeState() {
|
|
@@ -146,14 +147,21 @@ export default class ScreenGridCellLayer<DataT = any, ExtraPropsT extends {} = {
|
|
|
146
147
|
return new Model(this.context.device, {
|
|
147
148
|
...this.getShaders(),
|
|
148
149
|
id: this.props.id,
|
|
150
|
+
bufferLayout: this.getAttributeManager()!.getBufferLayouts(),
|
|
149
151
|
geometry: new Geometry({
|
|
150
|
-
topology: 'triangle-
|
|
152
|
+
topology: 'triangle-list',
|
|
151
153
|
attributes: {
|
|
152
|
-
|
|
154
|
+
// prettier-ignore
|
|
155
|
+
positions: new Float32Array([
|
|
156
|
+
0, 0, 0,
|
|
157
|
+
1, 0, 0,
|
|
158
|
+
1, 1, 0,
|
|
159
|
+
0, 0, 0,
|
|
160
|
+
1, 1, 0,
|
|
161
|
+
0, 1, 0,
|
|
162
|
+
])
|
|
153
163
|
}
|
|
154
|
-
})
|
|
155
|
-
// @ts-expect-error TODO v9 API not as dynamic
|
|
156
|
-
isInstanced: true
|
|
164
|
+
})
|
|
157
165
|
});
|
|
158
166
|
}
|
|
159
167
|
|
|
@@ -20,19 +20,22 @@
|
|
|
20
20
|
|
|
21
21
|
/* fragment shader for the grid-layer */
|
|
22
22
|
export default `\
|
|
23
|
+
#version 300 es
|
|
23
24
|
#define SHADER_NAME screen-grid-layer-fragment-shader
|
|
24
25
|
|
|
25
26
|
precision highp float;
|
|
26
27
|
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
in vec4 vColor;
|
|
29
|
+
in float vSampleCount;
|
|
30
|
+
|
|
31
|
+
out vec4 fragColor;
|
|
29
32
|
|
|
30
33
|
void main(void) {
|
|
31
34
|
if (vSampleCount <= 0.0) {
|
|
32
35
|
discard;
|
|
33
36
|
}
|
|
34
|
-
|
|
37
|
+
fragColor = vColor;
|
|
35
38
|
|
|
36
|
-
DECKGL_FILTER_COLOR(
|
|
39
|
+
DECKGL_FILTER_COLOR(fragColor, geometry);
|
|
37
40
|
}
|
|
38
41
|
`;
|
|
@@ -19,13 +19,14 @@
|
|
|
19
19
|
// THE SOFTWARE.
|
|
20
20
|
|
|
21
21
|
export default `\
|
|
22
|
+
#version 300 es
|
|
22
23
|
#define SHADER_NAME screen-grid-layer-vertex-shader
|
|
23
24
|
#define RANGE_COUNT 6
|
|
24
25
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
in vec3 positions;
|
|
27
|
+
in vec3 instancePositions;
|
|
28
|
+
in vec4 instanceCounts;
|
|
29
|
+
in vec3 instancePickingColors;
|
|
29
30
|
|
|
30
31
|
uniform float opacity;
|
|
31
32
|
uniform vec3 cellScale;
|
|
@@ -36,8 +37,8 @@ uniform vec2 colorDomain;
|
|
|
36
37
|
uniform bool shouldUseMinMax;
|
|
37
38
|
uniform sampler2D maxTexture;
|
|
38
39
|
|
|
39
|
-
|
|
40
|
-
|
|
40
|
+
out vec4 vColor;
|
|
41
|
+
out float vSampleCount;
|
|
41
42
|
|
|
42
43
|
vec4 quantizeScale(vec2 domain, vec4 range[RANGE_COUNT], float value) {
|
|
43
44
|
vec4 outColor = vec4(0., 0., 0., 0.);
|
|
@@ -62,7 +63,7 @@ void main(void) {
|
|
|
62
63
|
vSampleCount = instanceCounts.a;
|
|
63
64
|
|
|
64
65
|
float weight = instanceCounts.r;
|
|
65
|
-
float maxWeight =
|
|
66
|
+
float maxWeight = texture(maxTexture, vec2(0.5)).r;
|
|
66
67
|
|
|
67
68
|
float step = weight / maxWeight;
|
|
68
69
|
vec4 minMaxColor = mix(minColor, maxColor, step) / 255.;
|
|
@@ -265,7 +265,7 @@ export default class ScreenGridLayer<
|
|
|
265
265
|
updateResults({aggregationData, maxData}) {
|
|
266
266
|
const {count} = this.state.weights;
|
|
267
267
|
count.aggregationData = aggregationData;
|
|
268
|
-
count.aggregationBuffer.
|
|
268
|
+
count.aggregationBuffer.write(aggregationData);
|
|
269
269
|
count.maxData = maxData;
|
|
270
270
|
count.maxTexture.setImageData({data: maxData});
|
|
271
271
|
}
|
|
@@ -19,14 +19,17 @@
|
|
|
19
19
|
// THE SOFTWARE.
|
|
20
20
|
|
|
21
21
|
export default `\
|
|
22
|
+
#version 300 es
|
|
22
23
|
#define SHADER_NAME gpu-aggregation-to-grid-fs
|
|
23
24
|
|
|
24
25
|
precision highp float;
|
|
25
26
|
|
|
26
|
-
|
|
27
|
+
in vec3 vWeights;
|
|
28
|
+
|
|
29
|
+
out vec4 fragColor;
|
|
27
30
|
|
|
28
31
|
void main(void) {
|
|
29
|
-
|
|
30
|
-
DECKGL_FILTER_COLOR(
|
|
32
|
+
fragColor = vec4(vWeights, 1.0);
|
|
33
|
+
DECKGL_FILTER_COLOR(fragColor, geometry);
|
|
31
34
|
}
|
|
32
35
|
`;
|
|
@@ -19,18 +19,19 @@
|
|
|
19
19
|
// THE SOFTWARE.
|
|
20
20
|
|
|
21
21
|
export default `\
|
|
22
|
+
#version 300 es
|
|
22
23
|
#define SHADER_NAME gpu-aggregation-to-grid-vs
|
|
23
24
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
in vec3 positions;
|
|
26
|
+
in vec3 positions64Low;
|
|
27
|
+
in vec3 weights;
|
|
27
28
|
uniform vec2 cellSize;
|
|
28
29
|
uniform vec2 gridSize;
|
|
29
30
|
uniform bool projectPoints;
|
|
30
31
|
uniform vec2 translation;
|
|
31
32
|
uniform vec3 scaling;
|
|
32
33
|
|
|
33
|
-
|
|
34
|
+
out vec3 vWeights;
|
|
34
35
|
|
|
35
36
|
vec2 project_to_pixel(vec4 pos) {
|
|
36
37
|
vec4 result;
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
// THE SOFTWARE.
|
|
20
20
|
|
|
21
21
|
import type {Device, DeviceFeature} from '@luma.gl/core';
|
|
22
|
-
import {Model,
|
|
22
|
+
import {Model, TextureTransform} from '@luma.gl/engine';
|
|
23
23
|
import {fp64arithmetic} from '@luma.gl/shadertools';
|
|
24
24
|
import {readPixelsToBuffer, withGLParameters, clear} from '@luma.gl/webgl';
|
|
25
25
|
import {GL} from '@luma.gl/constants';
|
|
@@ -696,7 +696,7 @@ function getAllAggregationModel(device: Device, instanceCount: number): Model {
|
|
|
696
696
|
}
|
|
697
697
|
|
|
698
698
|
function getMeanTransform(device: Device, opts) {
|
|
699
|
-
return new
|
|
699
|
+
return new TextureTransform(device, {
|
|
700
700
|
vs: TRANSFORM_MEAN_VS,
|
|
701
701
|
_targetTextureVarying: 'meanValues',
|
|
702
702
|
...opts
|
|
@@ -19,9 +19,10 @@
|
|
|
19
19
|
// THE SOFTWARE.
|
|
20
20
|
|
|
21
21
|
export default `\
|
|
22
|
+
#version 300 es
|
|
22
23
|
#define SHADER_NAME gpu-aggregation-transform-mean-vs
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
in vec4 aggregationValues;
|
|
25
|
+
out vec4 meanValues;
|
|
25
26
|
|
|
26
27
|
void main()
|
|
27
28
|
{
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CompositeLayer, AttributeManager, LayerDataSource, UpdateParameters, CompositeLayerProps } from '@deck.gl/core';
|
|
2
|
-
export
|
|
2
|
+
export type AggregationLayerProps<DataT> = CompositeLayerProps & {
|
|
3
3
|
data: LayerDataSource<DataT>;
|
|
4
4
|
};
|
|
5
5
|
export default abstract class AggregationLayer<DataT, ExtraPropsT extends {} = {}> extends CompositeLayer<Required<AggregationLayer<DataT>> & ExtraPropsT> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregation-layer.d.ts","sourceRoot":"","sources":["../src/aggregation-layer.ts"],"names":[],"mappings":"AAoBA,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,eAAe,EAEf,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,eAAe,CAAC;AAGvB,
|
|
1
|
+
{"version":3,"file":"aggregation-layer.d.ts","sourceRoot":"","sources":["../src/aggregation-layer.ts"],"names":[],"mappings":"AAoBA,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,eAAe,EAEf,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,eAAe,CAAC;AAGvB,MAAM,MAAM,qBAAqB,CAAC,KAAK,IAAI,mBAAmB,GAAG;IAC/D,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,gBAAgB,CAC5C,KAAK,EACL,WAAW,SAAS,EAAE,GAAG,EAAE,CAC3B,SAAQ,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,GAAG,WAAW,CAAC;IACvE,MAAM,CAAC,SAAS,SAAsB;IAEtC,KAAK,EAAG;QACN,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAClC,UAAU,CAAC,EAAE,GAAG,CAAC;QACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACzC,CAAC;IAEF,0BAA0B,CAAC,UAAU,EAAE,GAAG;IAU1C,WAAW,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC;IAexC,gBAAgB,CAAC,iBAAiB,KAAA;IAMlC,aAAa;;;IAIb,iBAAiB;IAejB,aAAa,CAAC,OAAO,KAAA;IAIrB;;;;;;;QAOI;IACJ,kBAAkB,CAChB,UAAU,KAAA,EACV,MAAM,GAAE;QAAC,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,GAAG,CAAA;KAAM,GACnD,MAAM,GAAG,OAAO;IAyCnB;;;;;QAKI;IACJ,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM;IAYhC,oBAAoB;CAMrB"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Accessor, AccessorFunction, Color, Position, UpdateParameters, DefaultProps, LayersList } from '@deck.gl/core';
|
|
2
2
|
import GridAggregationLayer, { GridAggregationLayerProps } from '../grid-aggregation-layer';
|
|
3
3
|
/** All properties supported by ContourLayer. */
|
|
4
|
-
export
|
|
4
|
+
export type ContourLayerProps<DataT = unknown> = _ContourLayerProps<DataT> & GridAggregationLayerProps<DataT>;
|
|
5
5
|
/** Properties added by ContourLayer. */
|
|
6
|
-
export
|
|
6
|
+
export type _ContourLayerProps<DataT> = {
|
|
7
7
|
/**
|
|
8
8
|
* Size of each cell in meters.
|
|
9
9
|
* @default 1000
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contour-layer.d.ts","sourceRoot":"","sources":["../../src/contour-layer/contour-layer.ts"],"names":[],"mappings":"AAuBA,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,KAAK,EAGL,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACX,MAAM,eAAe,CAAC;AAKvB,OAAO,oBAAoB,EAAE,EAAC,yBAAyB,EAAC,MAAM,2BAA2B,CAAC;AAqC1F,gDAAgD;AAChD,
|
|
1
|
+
{"version":3,"file":"contour-layer.d.ts","sourceRoot":"","sources":["../../src/contour-layer/contour-layer.ts"],"names":[],"mappings":"AAuBA,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,KAAK,EAGL,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACX,MAAM,eAAe,CAAC;AAKvB,OAAO,oBAAoB,EAAE,EAAC,yBAAyB,EAAC,MAAM,2BAA2B,CAAC;AAqC1F,gDAAgD;AAChD,MAAM,MAAM,iBAAiB,CAAC,KAAK,GAAG,OAAO,IAAI,kBAAkB,CAAC,KAAK,CAAC,GACxE,yBAAyB,CAAC,KAAK,CAAC,CAAC;AAEnC,wCAAwC;AACxC,MAAM,MAAM,kBAAkB,CAAC,KAAK,IAAI;IACtC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,WAAW,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;IAE7C;;;OAGG;IACH,QAAQ,EAAE;QACR;;;;WAIG;QACH,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAE7B;;;WAGG;QACH,KAAK,CAAC,EAAE,KAAK,CAAC;QAEd;;;WAGG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;QAErB,sCAAsC;QACtC,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;IAEJ;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAEhD;;;OAGG;IACH,SAAS,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CACrC,CAAC;AAEF,sFAAsF;AACtF,MAAM,CAAC,OAAO,OAAO,YAAY,CAC/B,KAAK,GAAG,GAAG,EACX,WAAW,SAAS,EAAE,GAAG,EAAE,CAC3B,SAAQ,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;IACtF,MAAM,CAAC,SAAS,SAAkB;IAClC,MAAM,CAAC,YAAY,2CAAgB;IAEnC,KAAK,EAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG;QAC7C,WAAW,EAAE;YACX,eAAe,EAAE;gBACf,KAAK,EAAE,MAAM,EAAE,CAAC;gBAChB,GAAG,EAAE,MAAM,EAAE,CAAC;gBACd,OAAO,EAAE,GAAG,CAAC;aACd,EAAE,CAAC;YACJ,eAAe,EAAE;gBACf,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC;gBACrB,OAAO,EAAE,GAAG,CAAC;aACd,EAAE,CAAC;SACL,CAAC;QACF,aAAa,EAAE,GAAG,CAAC;KACpB,CAAC;IAEF,eAAe,IAAI,IAAI;IA2BvB,WAAW,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI;IAgB/C,YAAY,IAAI,UAAU;IA4C1B,sBAAsB,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC;IAyEnD,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,oBAAoB;CAc7B"}
|
|
@@ -4,9 +4,9 @@ import AggregationLayer, { AggregationLayerProps } from '../aggregation-layer';
|
|
|
4
4
|
import { Layer, UpdateParameters, GetPickingInfoParams, PickingInfo } from '@deck.gl/core';
|
|
5
5
|
import { AggregateAccessor } from '../types';
|
|
6
6
|
/** All properties supported by CPUGridLayer. */
|
|
7
|
-
export
|
|
7
|
+
export type CPUGridLayerProps<DataT = unknown> = _CPUGridLayerProps<DataT> & AggregationLayerProps<DataT>;
|
|
8
8
|
/** Properties added by CPUGridLayer. */
|
|
9
|
-
|
|
9
|
+
type _CPUGridLayerProps<DataT> = {
|
|
10
10
|
/**
|
|
11
11
|
* Size of each cell in meters.
|
|
12
12
|
* @default 1000
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cpu-grid-layer.d.ts","sourceRoot":"","sources":["../../src/cpu-grid-layer/cpu-grid-layer.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAC,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAIlG,OAAO,aAAa,MAAM,yBAAyB,CAAC;AACpD,OAAO,gBAAgB,EAAE,EAAC,qBAAqB,EAAC,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAC,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AACzF,OAAO,EAAC,iBAAiB,EAAC,MAAM,UAAU,CAAC;AA4C3C,gDAAgD;AAChD,
|
|
1
|
+
{"version":3,"file":"cpu-grid-layer.d.ts","sourceRoot":"","sources":["../../src/cpu-grid-layer/cpu-grid-layer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid-aggregator.d.ts","sourceRoot":"","sources":["../../src/cpu-grid-layer/grid-aggregator.ts"],"names":[],"mappings":"AAuBA,
|
|
1
|
+
{"version":3,"file":"grid-aggregator.d.ts","sourceRoot":"","sources":["../../src/cpu-grid-layer/grid-aggregator.ts"],"names":[],"mappings":"AAuBA,MAAM,MAAM,QAAQ,GAAG;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,OAAO,EAAE,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,KAAA,EAAE,iBAAiB,KAAA;;;;;;;EASjE"}
|
|
@@ -2,7 +2,7 @@ import { Layer, LayerProps, DefaultProps } from '@deck.gl/core';
|
|
|
2
2
|
import { Model } from '@luma.gl/engine';
|
|
3
3
|
import { Buffer } from '@luma.gl/core';
|
|
4
4
|
import type { _GPUGridLayerProps } from './gpu-grid-layer';
|
|
5
|
-
|
|
5
|
+
type _GPUGridCellLayerProps = _GPUGridLayerProps<any> & {
|
|
6
6
|
cellSize: number;
|
|
7
7
|
offset: number[];
|
|
8
8
|
coverage: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gpu-grid-cell-layer.d.ts","sourceRoot":"","sources":["../../src/gpu-grid-layer/gpu-grid-cell-layer.ts"],"names":[],"mappings":"AAoBA,OAAO,EACL,KAAK,EAKL,UAAU,EACV,YAAY,EACb,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAGrC,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AA8BzD,
|
|
1
|
+
{"version":3,"file":"gpu-grid-cell-layer.d.ts","sourceRoot":"","sources":["../../src/gpu-grid-layer/gpu-grid-cell-layer.ts"],"names":[],"mappings":"AAoBA,OAAO,EACL,KAAK,EAKL,UAAU,EACV,YAAY,EACb,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAGrC,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AA8BzD,KAAK,sBAAsB,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,KAAK,CAAC,sBAAsB,CAAC;IACzE,MAAM,CAAC,SAAS,SAAsB;IACtC,MAAM,CAAC,YAAY;;;;;;;;;;;;oBAAgB;IAEnC,KAAK,EAAG;QACN,KAAK,CAAC,EAAE,KAAK,CAAC;KACf,CAAC;IAEF,UAAU;IAQV,eAAe,IAAI,IAAI;IAiBvB,SAAS,IAAI,KAAK;IASlB,IAAI,CAAC,EAAC,QAAQ,EAAC;;KAAA;IAyCf,kBAAkB,CAAC,iBAAiB,KAAA,EAAE,qBAAqB,KAAA;IAK3D,oBAAoB,CAAC,iBAAiB,KAAA,EAAE,qBAAqB,KAAA;IAK7D,iBAAiB;IAkBjB,OAAO,CAAC,mBAAmB;CAU5B"}
|
|
@@ -3,9 +3,9 @@ import GPUGridCellLayer from './gpu-grid-cell-layer';
|
|
|
3
3
|
import { GridHash } from './../cpu-grid-layer/grid-aggregator';
|
|
4
4
|
import GridAggregationLayer, { GridAggregationLayerProps } from '../grid-aggregation-layer';
|
|
5
5
|
/** All properties supported by GPUGridLayer. */
|
|
6
|
-
export
|
|
6
|
+
export type GPUGridLayerProps<DataT = unknown> = _GPUGridLayerProps<DataT> & GridAggregationLayerProps<DataT>;
|
|
7
7
|
/** Properties added by GPUGridLayer. */
|
|
8
|
-
export
|
|
8
|
+
export type _GPUGridLayerProps<DataT> = {
|
|
9
9
|
/**
|
|
10
10
|
* Size of each cell in meters.
|
|
11
11
|
* @default 1000
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gpu-grid-layer.d.ts","sourceRoot":"","sources":["../../src/gpu-grid-layer/gpu-grid-layer.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,KAAK,EACL,QAAQ,EACR,oBAAoB,EACpB,YAAY,EAEZ,WAAW,EACX,QAAQ,EACR,YAAY,EACb,MAAM,eAAe,CAAC;AAKvB,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAA4B,QAAQ,EAAC,MAAM,qCAAqC,CAAC;AACxF,OAAO,oBAAoB,EAAE,EAAC,yBAAyB,EAAC,MAAM,2BAA2B,CAAC;AAsC1F,gDAAgD;AAChD,
|
|
1
|
+
{"version":3,"file":"gpu-grid-layer.d.ts","sourceRoot":"","sources":["../../src/gpu-grid-layer/gpu-grid-layer.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,KAAK,EACL,QAAQ,EACR,oBAAoB,EACpB,YAAY,EAEZ,WAAW,EACX,QAAQ,EACR,YAAY,EACb,MAAM,eAAe,CAAC;AAKvB,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAA4B,QAAQ,EAAC,MAAM,qCAAqC,CAAC;AACxF,OAAO,oBAAoB,EAAE,EAAC,yBAAyB,EAAC,MAAM,2BAA2B,CAAC;AAsC1F,gDAAgD;AAChD,MAAM,MAAM,iBAAiB,CAAC,KAAK,GAAG,OAAO,IAAI,kBAAkB,CAAC,KAAK,CAAC,GACxE,yBAAyB,CAAC,KAAK,CAAC,CAAC;AAEnC,wCAAwC;AACxC,MAAM,MAAM,kBAAkB,CAAC,KAAK,IAAI;IACtC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAEtC;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC;IAErB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAE1C;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAElC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;IAElD;;;OAGG;IACH,oBAAoB,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;IAEtD;;;OAGG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAEhD;;;OAGG;IACH,cAAc,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEzC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CAC9C,CAAC;AAEF,+FAA+F;AAC/F,MAAM,CAAC,OAAO,OAAO,YAAY,CAC/B,KAAK,GAAG,GAAG,EACX,WAAW,SAAS,EAAE,GAAG,EAAE,CAC3B,SAAQ,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;IACtF,MAAM,CAAC,SAAS,SAAkB;IAClC,MAAM,CAAC,YAAY,2CAAgB;IAEnC,KAAK,EAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG;QAC7C,WAAW,EAAE,OAAO,CAAC;QACrB,QAAQ,CAAC,EAAE,QAAQ,CAAC;KACrB,CAAC;IAEF,eAAe,CAAC,EAAC,MAAM,EAAC,EAAE,YAAY,GAAG,IAAI;IAiD7C,WAAW,CAAC,IAAI,KAAA;IAehB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAkBzC,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ;IAa5C,cAAc,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,EAAE,oBAAoB,GAAG,WAAW;IAqD/D,YAAY;IAsDZ,aAAa,CAAC,OAAO,EAAE,YAAY;IAYnC,sBAAsB,CAAC,IAAI,KAAA;IAoD3B,gBAAgB,CAAC,IAAI,KAAA;CAMtB"}
|
|
@@ -3,7 +3,7 @@ import AggregationLayer, { AggregationLayerProps } from './aggregation-layer';
|
|
|
3
3
|
import GPUGridAggregator from './utils/gpu-grid-aggregation/gpu-grid-aggregator';
|
|
4
4
|
import BinSorter from './utils/bin-sorter';
|
|
5
5
|
import type { Buffer } from '@luma.gl/core';
|
|
6
|
-
export
|
|
6
|
+
export type GridAggregationLayerProps<DataT> = AggregationLayerProps<DataT>;
|
|
7
7
|
export default abstract class GridAggregationLayer<DataT, ExtraPropsT extends {} = {}> extends AggregationLayer<DataT, ExtraPropsT> {
|
|
8
8
|
static layerName: string;
|
|
9
9
|
state: AggregationLayer<DataT>['state'] & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid-aggregation-layer.d.ts","sourceRoot":"","sources":["../src/grid-aggregation-layer.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAC,YAAY,EAAO,gBAAgB,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAC;AAC5E,OAAO,gBAAgB,EAAE,EAAC,qBAAqB,EAAC,MAAM,qBAAqB,CAAC;AAC5E,OAAO,iBAAiB,MAAM,kDAAkD,CAAC;AACjF,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAE3C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAE1C,
|
|
1
|
+
{"version":3,"file":"grid-aggregation-layer.d.ts","sourceRoot":"","sources":["../src/grid-aggregation-layer.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,9 @@ import { CompositeLayer, CompositeLayerProps, Layer, UpdateParameters, DefaultPr
|
|
|
2
2
|
import { GPUGridLayerProps } from '../gpu-grid-layer/gpu-grid-layer';
|
|
3
3
|
import { CPUGridLayerProps } from '../cpu-grid-layer/cpu-grid-layer';
|
|
4
4
|
/** All properties supported by GridLayer. */
|
|
5
|
-
export
|
|
5
|
+
export type GridLayerProps<DataT = unknown> = _GridLayerProps<DataT> & CompositeLayerProps;
|
|
6
6
|
/** Properties added by GridLayer. */
|
|
7
|
-
|
|
7
|
+
type _GridLayerProps<DataT> = CPUGridLayerProps<DataT> & GPUGridLayerProps<DataT> & {
|
|
8
8
|
/**
|
|
9
9
|
* Whether the aggregation should be performed in high-precision 64-bit mode.
|
|
10
10
|
* @default false
|