@developmentseed/deck.gl-raster 0.1.0-beta.6 → 0.1.0
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/gpu-modules/color/cielab.d.ts +12 -0
- package/dist/gpu-modules/color/cielab.d.ts.map +1 -0
- package/dist/gpu-modules/color/cielab.js +57 -0
- package/dist/gpu-modules/color/cielab.js.map +1 -0
- package/dist/gpu-modules/color/cmyk.d.ts +12 -0
- package/dist/gpu-modules/color/cmyk.d.ts.map +1 -0
- package/dist/gpu-modules/color/cmyk.js +26 -0
- package/dist/gpu-modules/color/cmyk.js.map +1 -0
- package/dist/gpu-modules/color/index.d.ts +4 -0
- package/dist/gpu-modules/color/index.d.ts.map +1 -0
- package/dist/gpu-modules/color/index.js +4 -0
- package/dist/gpu-modules/color/index.js.map +1 -0
- package/dist/gpu-modules/color/ycbcr.d.ts +12 -0
- package/dist/gpu-modules/color/ycbcr.d.ts.map +1 -0
- package/dist/gpu-modules/color/ycbcr.js +28 -0
- package/dist/gpu-modules/color/ycbcr.js.map +1 -0
- package/dist/gpu-modules/colormap.d.ts +19 -0
- package/dist/gpu-modules/colormap.d.ts.map +1 -0
- package/dist/gpu-modules/colormap.js +19 -0
- package/dist/gpu-modules/colormap.js.map +1 -0
- package/dist/gpu-modules/create-texture.d.ts +19 -0
- package/dist/gpu-modules/create-texture.d.ts.map +1 -0
- package/dist/gpu-modules/create-texture.js +19 -0
- package/dist/gpu-modules/create-texture.js.map +1 -0
- package/dist/gpu-modules/filter-nodata.d.ts +21 -0
- package/dist/gpu-modules/filter-nodata.d.ts.map +1 -0
- package/dist/gpu-modules/filter-nodata.js +31 -0
- package/dist/gpu-modules/filter-nodata.js.map +1 -0
- package/dist/gpu-modules/index.d.ts +6 -0
- package/dist/gpu-modules/index.d.ts.map +1 -0
- package/dist/gpu-modules/index.js +5 -0
- package/dist/gpu-modules/index.js.map +1 -0
- package/dist/gpu-modules/types.d.ts +7 -0
- package/dist/gpu-modules/types.d.ts.map +1 -0
- package/dist/gpu-modules/types.js +2 -0
- package/dist/gpu-modules/types.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mesh-layer/mesh-layer-fragment.glsl.d.ts +12 -0
- package/dist/mesh-layer/mesh-layer-fragment.glsl.d.ts.map +1 -0
- package/dist/mesh-layer/mesh-layer-fragment.glsl.js +42 -0
- package/dist/mesh-layer/mesh-layer-fragment.glsl.js.map +1 -0
- package/dist/mesh-layer/mesh-layer.d.ts +19 -0
- package/dist/mesh-layer/mesh-layer.d.ts.map +1 -0
- package/dist/mesh-layer/mesh-layer.js +38 -0
- package/dist/mesh-layer/mesh-layer.js.map +1 -0
- package/dist/raster-layer.d.ts +12 -19
- package/dist/raster-layer.d.ts.map +1 -1
- package/dist/raster-layer.js +93 -84
- package/dist/raster-layer.js.map +1 -1
- package/dist/raster-tileset/raster-tile-traversal.d.ts +4 -3
- package/dist/raster-tileset/raster-tile-traversal.d.ts.map +1 -1
- package/dist/raster-tileset/raster-tile-traversal.js +7 -4
- package/dist/raster-tileset/raster-tile-traversal.js.map +1 -1
- package/dist/raster-tileset/raster-tileset-2d.d.ts +2 -2
- package/dist/raster-tileset/raster-tileset-2d.d.ts.map +1 -1
- package/package.json +16 -14
- package/dist/raster-tile-layer.d.ts +0 -1
- package/dist/raster-tile-layer.d.ts.map +0 -1
- package/dist/raster-tile-layer.js +0 -2
- package/dist/raster-tile-layer.js.map +0 -1
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A shader module that injects a unorm texture and uses a sampler2D to assign
|
|
3
|
+
* to a color.
|
|
4
|
+
*/
|
|
5
|
+
export declare const cieLabToRGB: {
|
|
6
|
+
readonly name: "cielab-to-rgb";
|
|
7
|
+
readonly inject: {
|
|
8
|
+
readonly "fs:#decl": "\n const vec3 D65 = vec3(\n 0.95047, // Xn\n 1.00000, // Yn\n 1.08883 // Zn\n );\n\n vec3 cielabToRgb(vec3 labTex) {\n // labTex in [0,1] from RGB8 texture\n float L = labTex.r * 255.0;\n float a = (labTex.g - 0.5) * 255.0;\n float b = (labTex.b - 0.5) * 255.0;\n\n float y = (L + 16.0) / 116.0;\n float x = (a / 500.0) + y;\n float z = y - (b / 200.0);\n\n vec3 xyz;\n vec3 v = vec3(x, y, z);\n vec3 v3 = v * v * v;\n\n xyz = D65 * mix(\n (v - 16.0 / 116.0) / 7.787,\n v3,\n step(0.008856, v3)\n );\n\n vec3 rgb = mat3(\n 3.2406, -1.5372, -0.4986,\n -0.9689, 1.8758, 0.0415,\n 0.0557, -0.2040, 1.0570\n ) * xyz;\n\n // sRGB gamma\n rgb = mix(\n 12.92 * rgb,\n 1.055 * pow(rgb, vec3(1.0 / 2.4)) - 0.055,\n step(0.0031308, rgb)\n );\n\n return clamp(rgb, 0.0, 1.0);\n }\n";
|
|
9
|
+
readonly "fs:DECKGL_FILTER_COLOR": "\n color.rgb = cielabToRgb(color);\n ";
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=cielab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cielab.d.ts","sourceRoot":"","sources":["../../../src/gpu-modules/color/cielab.ts"],"names":[],"mappings":"AA8CA;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;CAQa,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
const shader = /* glsl */ `
|
|
2
|
+
const vec3 D65 = vec3(
|
|
3
|
+
0.95047, // Xn
|
|
4
|
+
1.00000, // Yn
|
|
5
|
+
1.08883 // Zn
|
|
6
|
+
);
|
|
7
|
+
|
|
8
|
+
vec3 cielabToRgb(vec3 labTex) {
|
|
9
|
+
// labTex in [0,1] from RGB8 texture
|
|
10
|
+
float L = labTex.r * 255.0;
|
|
11
|
+
float a = (labTex.g - 0.5) * 255.0;
|
|
12
|
+
float b = (labTex.b - 0.5) * 255.0;
|
|
13
|
+
|
|
14
|
+
float y = (L + 16.0) / 116.0;
|
|
15
|
+
float x = (a / 500.0) + y;
|
|
16
|
+
float z = y - (b / 200.0);
|
|
17
|
+
|
|
18
|
+
vec3 xyz;
|
|
19
|
+
vec3 v = vec3(x, y, z);
|
|
20
|
+
vec3 v3 = v * v * v;
|
|
21
|
+
|
|
22
|
+
xyz = D65 * mix(
|
|
23
|
+
(v - 16.0 / 116.0) / 7.787,
|
|
24
|
+
v3,
|
|
25
|
+
step(0.008856, v3)
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
vec3 rgb = mat3(
|
|
29
|
+
3.2406, -1.5372, -0.4986,
|
|
30
|
+
-0.9689, 1.8758, 0.0415,
|
|
31
|
+
0.0557, -0.2040, 1.0570
|
|
32
|
+
) * xyz;
|
|
33
|
+
|
|
34
|
+
// sRGB gamma
|
|
35
|
+
rgb = mix(
|
|
36
|
+
12.92 * rgb,
|
|
37
|
+
1.055 * pow(rgb, vec3(1.0 / 2.4)) - 0.055,
|
|
38
|
+
step(0.0031308, rgb)
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
return clamp(rgb, 0.0, 1.0);
|
|
42
|
+
}
|
|
43
|
+
`;
|
|
44
|
+
/**
|
|
45
|
+
* A shader module that injects a unorm texture and uses a sampler2D to assign
|
|
46
|
+
* to a color.
|
|
47
|
+
*/
|
|
48
|
+
export const cieLabToRGB = {
|
|
49
|
+
name: "cielab-to-rgb",
|
|
50
|
+
inject: {
|
|
51
|
+
"fs:#decl": shader,
|
|
52
|
+
"fs:DECKGL_FILTER_COLOR": /* glsl */ `
|
|
53
|
+
color.rgb = cielabToRgb(color);
|
|
54
|
+
`,
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=cielab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cielab.js","sourceRoot":"","sources":["../../../src/gpu-modules/color/cielab.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CzB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,eAAe;IACrB,MAAM,EAAE;QACN,UAAU,EAAE,MAAM;QAClB,wBAAwB,EAAE,UAAU,CAAC;;KAEpC;KACF;CACkC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A shader module that injects a unorm texture and uses a sampler2D to assign
|
|
3
|
+
* to a color.
|
|
4
|
+
*/
|
|
5
|
+
export declare const CMYKToRGB: {
|
|
6
|
+
readonly name: "cmyk-to-rgb";
|
|
7
|
+
readonly inject: {
|
|
8
|
+
readonly "fs:#decl": "\n vec3 cmykToRgb(vec4 cmyk) {\n // cmyk in [0.0, 1.0]\n float invK = 1.0 - cmyk.a;\n\n return vec3(\n (1.0 - cmyk.r) * invK,\n (1.0 - cmyk.g) * invK,\n (1.0 - cmyk.b) * invK\n );\n }\n";
|
|
9
|
+
readonly "fs:DECKGL_FILTER_COLOR": "\n color.rgb = cmykToRgb(color);\n ";
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=cmyk.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cmyk.d.ts","sourceRoot":"","sources":["../../../src/gpu-modules/color/cmyk.ts"],"names":[],"mappings":"AAeA;;;GAGG;AACH,eAAO,MAAM,SAAS;;;;;;CAQe,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
const shader = /* glsl */ `
|
|
2
|
+
vec3 cmykToRgb(vec4 cmyk) {
|
|
3
|
+
// cmyk in [0.0, 1.0]
|
|
4
|
+
float invK = 1.0 - cmyk.a;
|
|
5
|
+
|
|
6
|
+
return vec3(
|
|
7
|
+
(1.0 - cmyk.r) * invK,
|
|
8
|
+
(1.0 - cmyk.g) * invK,
|
|
9
|
+
(1.0 - cmyk.b) * invK
|
|
10
|
+
);
|
|
11
|
+
}
|
|
12
|
+
`;
|
|
13
|
+
/**
|
|
14
|
+
* A shader module that injects a unorm texture and uses a sampler2D to assign
|
|
15
|
+
* to a color.
|
|
16
|
+
*/
|
|
17
|
+
export const CMYKToRGB = {
|
|
18
|
+
name: "cmyk-to-rgb",
|
|
19
|
+
inject: {
|
|
20
|
+
"fs:#decl": shader,
|
|
21
|
+
"fs:DECKGL_FILTER_COLOR": /* glsl */ `
|
|
22
|
+
color.rgb = cmykToRgb(color);
|
|
23
|
+
`,
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=cmyk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cmyk.js","sourceRoot":"","sources":["../../../src/gpu-modules/color/cmyk.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAAG,UAAU,CAAC;;;;;;;;;;;CAWzB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE;QACN,UAAU,EAAE,MAAM;QAClB,wBAAwB,EAAE,UAAU,CAAC;;KAEpC;KACF;CACkC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/gpu-modules/color/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/gpu-modules/color/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A shader module that injects a unorm texture and uses a sampler2D to assign
|
|
3
|
+
* to a color.
|
|
4
|
+
*/
|
|
5
|
+
export declare const YCbCrToRGB: {
|
|
6
|
+
readonly name: "ycbcr-to-rgb";
|
|
7
|
+
readonly inject: {
|
|
8
|
+
readonly "fs:#decl": "\n vec3 ycbcrToRgb(vec3 ycbcr) {\n // ycbcr in [0.0, 1.0]\n float y = ycbcr.r;\n float cb = ycbcr.g - 0.5;\n float cr = ycbcr.b - 0.5;\n\n return vec3(\n y + 1.40200 * cr,\n y - 0.34414 * cb - 0.71414 * cr,\n y + 1.77200 * cb\n );\n }\n";
|
|
9
|
+
readonly "fs:DECKGL_FILTER_COLOR": "\n color.rgb = ycbcrToRgb(color.rgb);\n ";
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=ycbcr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ycbcr.d.ts","sourceRoot":"","sources":["../../../src/gpu-modules/color/ycbcr.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,eAAO,MAAM,UAAU;;;;;;CAQc,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
const shader = /* glsl */ `
|
|
2
|
+
vec3 ycbcrToRgb(vec3 ycbcr) {
|
|
3
|
+
// ycbcr in [0.0, 1.0]
|
|
4
|
+
float y = ycbcr.r;
|
|
5
|
+
float cb = ycbcr.g - 0.5;
|
|
6
|
+
float cr = ycbcr.b - 0.5;
|
|
7
|
+
|
|
8
|
+
return vec3(
|
|
9
|
+
y + 1.40200 * cr,
|
|
10
|
+
y - 0.34414 * cb - 0.71414 * cr,
|
|
11
|
+
y + 1.77200 * cb
|
|
12
|
+
);
|
|
13
|
+
}
|
|
14
|
+
`;
|
|
15
|
+
/**
|
|
16
|
+
* A shader module that injects a unorm texture and uses a sampler2D to assign
|
|
17
|
+
* to a color.
|
|
18
|
+
*/
|
|
19
|
+
export const YCbCrToRGB = {
|
|
20
|
+
name: "ycbcr-to-rgb",
|
|
21
|
+
inject: {
|
|
22
|
+
"fs:#decl": shader,
|
|
23
|
+
"fs:DECKGL_FILTER_COLOR": /* glsl */ `
|
|
24
|
+
color.rgb = ycbcrToRgb(color.rgb);
|
|
25
|
+
`,
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=ycbcr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ycbcr.js","sourceRoot":"","sources":["../../../src/gpu-modules/color/ycbcr.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAAG,UAAU,CAAC;;;;;;;;;;;;;CAazB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,cAAc;IACpB,MAAM,EAAE;QACN,UAAU,EAAE,MAAM;QAClB,wBAAwB,EAAE,UAAU,CAAC;;KAEpC;KACF;CACkC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Texture } from "@luma.gl/core";
|
|
2
|
+
export type ColormapProps = {
|
|
3
|
+
colormapTexture: Texture;
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* A shader module that injects a unorm texture and uses a sampler2D to assign
|
|
7
|
+
* to a color.
|
|
8
|
+
*/
|
|
9
|
+
export declare const Colormap: {
|
|
10
|
+
readonly name: "colormap";
|
|
11
|
+
readonly inject: {
|
|
12
|
+
readonly "fs:#decl": "uniform sampler2D colormapTexture;";
|
|
13
|
+
readonly "fs:DECKGL_FILTER_COLOR": "\n color = texture(colormapTexture, vec2(color.r, 0.));\n ";
|
|
14
|
+
};
|
|
15
|
+
readonly getUniforms: (props: Partial<ColormapProps>) => {
|
|
16
|
+
colormapTexture: Texture | undefined;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=colormap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colormap.d.ts","sourceRoot":"","sources":["../../src/gpu-modules/colormap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAI7C,MAAM,MAAM,aAAa,GAAG;IAC1B,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ;;;;;;kCAQE,OAAO,CAAC,aAAa,CAAC;;;CAKG,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A shader module that injects a unorm texture and uses a sampler2D to assign
|
|
3
|
+
* to a color.
|
|
4
|
+
*/
|
|
5
|
+
export const Colormap = {
|
|
6
|
+
name: "colormap",
|
|
7
|
+
inject: {
|
|
8
|
+
"fs:#decl": `uniform sampler2D colormapTexture;`,
|
|
9
|
+
"fs:DECKGL_FILTER_COLOR": /* glsl */ `
|
|
10
|
+
color = texture(colormapTexture, vec2(color.r, 0.));
|
|
11
|
+
`,
|
|
12
|
+
},
|
|
13
|
+
getUniforms: (props) => {
|
|
14
|
+
return {
|
|
15
|
+
colormapTexture: props.colormapTexture,
|
|
16
|
+
};
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=colormap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colormap.js","sourceRoot":"","sources":["../../src/gpu-modules/colormap.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE;QACN,UAAU,EAAE,oCAAoC;QAChD,wBAAwB,EAAE,UAAU,CAAC;;KAEpC;KACF;IACD,WAAW,EAAE,CAAC,KAA6B,EAAE,EAAE;QAC7C,OAAO;YACL,eAAe,EAAE,KAAK,CAAC,eAAe;SACvC,CAAC;IACJ,CAAC;CAC6C,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Texture } from "@luma.gl/core";
|
|
2
|
+
export type CreateTextureProps = {
|
|
3
|
+
textureName: Texture;
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* A shader module that injects a unorm texture and uses a sampler2D to assign
|
|
7
|
+
* to a color.
|
|
8
|
+
*/
|
|
9
|
+
export declare const CreateTexture: {
|
|
10
|
+
readonly name: "create-texture-unorm";
|
|
11
|
+
readonly inject: {
|
|
12
|
+
readonly "fs:#decl": "uniform sampler2D textureName;";
|
|
13
|
+
readonly "fs:DECKGL_FILTER_COLOR": "\n color = texture(textureName, geometry.uv);\n ";
|
|
14
|
+
};
|
|
15
|
+
readonly getUniforms: (props: Partial<CreateTextureProps>) => {
|
|
16
|
+
textureName: Texture | undefined;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=create-texture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-texture.d.ts","sourceRoot":"","sources":["../../src/gpu-modules/create-texture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAI7C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;kCAQH,OAAO,CAAC,kBAAkB,CAAC;;;CAKG,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A shader module that injects a unorm texture and uses a sampler2D to assign
|
|
3
|
+
* to a color.
|
|
4
|
+
*/
|
|
5
|
+
export const CreateTexture = {
|
|
6
|
+
name: "create-texture-unorm",
|
|
7
|
+
inject: {
|
|
8
|
+
"fs:#decl": `uniform sampler2D textureName;`,
|
|
9
|
+
"fs:DECKGL_FILTER_COLOR": /* glsl */ `
|
|
10
|
+
color = texture(textureName, geometry.uv);
|
|
11
|
+
`,
|
|
12
|
+
},
|
|
13
|
+
getUniforms: (props) => {
|
|
14
|
+
return {
|
|
15
|
+
textureName: props.textureName,
|
|
16
|
+
};
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=create-texture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-texture.js","sourceRoot":"","sources":["../../src/gpu-modules/create-texture.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE;QACN,UAAU,EAAE,gCAAgC;QAC5C,wBAAwB,EAAE,UAAU,CAAC;;KAEpC;KACF;IACD,WAAW,EAAE,CAAC,KAAkC,EAAE,EAAE;QAClD,OAAO;YACL,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC;IACJ,CAAC;CACkD,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export type FilterNoDataValProps = {
|
|
2
|
+
value: number;
|
|
3
|
+
};
|
|
4
|
+
/**
|
|
5
|
+
* A shader module that filters out (discards) pixels whose value matches the
|
|
6
|
+
* provided nodata value.
|
|
7
|
+
*/
|
|
8
|
+
export declare const FilterNoDataVal: {
|
|
9
|
+
readonly name: "nodata";
|
|
10
|
+
readonly fs: "uniform nodataUniforms {\n float value;\n} nodata;\n";
|
|
11
|
+
readonly inject: {
|
|
12
|
+
readonly "fs:DECKGL_FILTER_COLOR": "\n if (color.r == nodata.value) {\n discard;\n }\n ";
|
|
13
|
+
};
|
|
14
|
+
readonly uniformTypes: {
|
|
15
|
+
readonly value: "f32";
|
|
16
|
+
};
|
|
17
|
+
readonly getUniforms: (props: Partial<FilterNoDataValProps>) => {
|
|
18
|
+
value: number | undefined;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=filter-nodata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter-nodata.d.ts","sourceRoot":"","sources":["../../src/gpu-modules/filter-nodata.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAWF;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;kCAaL,OAAO,CAAC,oBAAoB,CAAC;;;CAKG,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/** This module name must be consistent */
|
|
2
|
+
const MODULE_NAME = "nodata";
|
|
3
|
+
const uniformBlock = `\
|
|
4
|
+
uniform ${MODULE_NAME}Uniforms {
|
|
5
|
+
float value;
|
|
6
|
+
} ${MODULE_NAME};
|
|
7
|
+
`;
|
|
8
|
+
/**
|
|
9
|
+
* A shader module that filters out (discards) pixels whose value matches the
|
|
10
|
+
* provided nodata value.
|
|
11
|
+
*/
|
|
12
|
+
export const FilterNoDataVal = {
|
|
13
|
+
name: MODULE_NAME,
|
|
14
|
+
fs: uniformBlock,
|
|
15
|
+
inject: {
|
|
16
|
+
"fs:DECKGL_FILTER_COLOR": /* glsl */ `
|
|
17
|
+
if (color.r == nodata.value) {
|
|
18
|
+
discard;
|
|
19
|
+
}
|
|
20
|
+
`,
|
|
21
|
+
},
|
|
22
|
+
uniformTypes: {
|
|
23
|
+
value: "f32",
|
|
24
|
+
},
|
|
25
|
+
getUniforms: (props) => {
|
|
26
|
+
return {
|
|
27
|
+
value: props.value,
|
|
28
|
+
};
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=filter-nodata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter-nodata.js","sourceRoot":"","sources":["../../src/gpu-modules/filter-nodata.ts"],"names":[],"mappings":"AAMA,0CAA0C;AAC1C,MAAM,WAAW,GAAG,QAAQ,CAAC;AAE7B,MAAM,YAAY,GAAG;UACX,WAAW;;IAEjB,WAAW;CACd,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,WAAW;IACjB,EAAE,EAAE,YAAY;IAChB,MAAM,EAAE;QACN,wBAAwB,EAAE,UAAU,CAAC;;;;KAIpC;KACF;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,KAAK;KACb;IACD,WAAW,EAAE,CAAC,KAAoC,EAAE,EAAE;QACpD,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC;IACJ,CAAC;CACoD,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { CMYKToRGB, cieLabToRGB, YCbCrToRGB } from "./color";
|
|
2
|
+
export { Colormap } from "./colormap";
|
|
3
|
+
export { CreateTexture } from "./create-texture";
|
|
4
|
+
export { FilterNoDataVal } from "./filter-nodata";
|
|
5
|
+
export type { RasterModule } from "./types";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gpu-modules/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gpu-modules/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Texture } from "@luma.gl/core";
|
|
2
|
+
import type { ShaderModule } from "@luma.gl/shadertools";
|
|
3
|
+
export type RasterModule<PropsT extends Record<string, number | Texture> = Record<string, number | Texture>> = {
|
|
4
|
+
module: ShaderModule<PropsT>;
|
|
5
|
+
props?: Partial<PropsT>;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/gpu-modules/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,MAAM,YAAY,CACtB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,MAAM,CACtD,MAAM,EACN,MAAM,GAAG,OAAO,CACjB,IACC;IACF,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CACzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/gpu-modules/types.ts"],"names":[],"mappings":""}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export type { RasterModule } from "./gpu-modules/types.js";
|
|
2
2
|
export type { RasterLayerProps } from "./raster-layer.js";
|
|
3
|
+
export { RasterLayer } from "./raster-layer.js";
|
|
3
4
|
export { RasterTileset2D } from "./raster-tileset/index.js";
|
|
4
5
|
export type { TileMatrix, TileMatrixSet, TileMatrixSetBoundingBox, } from "./raster-tileset/types.js";
|
|
5
6
|
export declare const __TEST_EXPORTS: {
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,YAAY,EACV,UAAU,EACV,aAAa,EACb,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AAInC,eAAO,MAAM,cAAc;;;;;;;;;CAA8B,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAO5D,OAAO,EAAE,cAAc,IAAI,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEnG,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,GAAG,oBAAoB,EAAE,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This is a vendored copy of the SimpleMeshLayer's fragment shader:
|
|
3
|
+
* https://github.com/visgl/deck.gl/blob/a15c8cea047993c8a861bf542835c1988f30165c/modules/mesh-layers/src/simple-mesh-layer/simple-mesh-layer-fragment.glsl.ts
|
|
4
|
+
* under the MIT license.
|
|
5
|
+
*
|
|
6
|
+
* We edited this to remove the hard-coded texture uniform because we want to
|
|
7
|
+
* support integer and signed integer textures, not only normalized unsigned
|
|
8
|
+
* textures.
|
|
9
|
+
*/
|
|
10
|
+
declare const _default: "#version 300 es\n#define SHADER_NAME simple-mesh-layer-fs\n\nprecision highp float;\n\nin vec2 vTexCoord;\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n geometry.uv = vTexCoord;\n\n vec3 normal;\n if (simpleMesh.flatShading) {\n\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n } else {\n normal = normals_commonspace;\n }\n\n // We initialize color here before passing into DECKGL_FILTER_COLOR\n vec4 color;\n DECKGL_FILTER_COLOR(color, geometry);\n\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, color.a * layer.opacity);\n}\n";
|
|
11
|
+
export default _default;
|
|
12
|
+
//# sourceMappingURL=mesh-layer-fragment.glsl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mesh-layer-fragment.glsl.d.ts","sourceRoot":"","sources":["../../src/mesh-layer/mesh-layer-fragment.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;;AACH,wBA+BE"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This is a vendored copy of the SimpleMeshLayer's fragment shader:
|
|
3
|
+
* https://github.com/visgl/deck.gl/blob/a15c8cea047993c8a861bf542835c1988f30165c/modules/mesh-layers/src/simple-mesh-layer/simple-mesh-layer-fragment.glsl.ts
|
|
4
|
+
* under the MIT license.
|
|
5
|
+
*
|
|
6
|
+
* We edited this to remove the hard-coded texture uniform because we want to
|
|
7
|
+
* support integer and signed integer textures, not only normalized unsigned
|
|
8
|
+
* textures.
|
|
9
|
+
*/
|
|
10
|
+
export default /* glsl */ `#version 300 es
|
|
11
|
+
#define SHADER_NAME simple-mesh-layer-fs
|
|
12
|
+
|
|
13
|
+
precision highp float;
|
|
14
|
+
|
|
15
|
+
in vec2 vTexCoord;
|
|
16
|
+
in vec3 cameraPosition;
|
|
17
|
+
in vec3 normals_commonspace;
|
|
18
|
+
in vec4 position_commonspace;
|
|
19
|
+
in vec4 vColor;
|
|
20
|
+
|
|
21
|
+
out vec4 fragColor;
|
|
22
|
+
|
|
23
|
+
void main(void) {
|
|
24
|
+
geometry.uv = vTexCoord;
|
|
25
|
+
|
|
26
|
+
vec3 normal;
|
|
27
|
+
if (simpleMesh.flatShading) {
|
|
28
|
+
|
|
29
|
+
normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));
|
|
30
|
+
} else {
|
|
31
|
+
normal = normals_commonspace;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// We initialize color here before passing into DECKGL_FILTER_COLOR
|
|
35
|
+
vec4 color;
|
|
36
|
+
DECKGL_FILTER_COLOR(color, geometry);
|
|
37
|
+
|
|
38
|
+
vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);
|
|
39
|
+
fragColor = vec4(lightColor, color.a * layer.opacity);
|
|
40
|
+
}
|
|
41
|
+
`;
|
|
42
|
+
//# sourceMappingURL=mesh-layer-fragment.glsl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mesh-layer-fragment.glsl.js","sourceRoot":"","sources":["../../src/mesh-layer/mesh-layer-fragment.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,eAAe,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BzB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { SimpleMeshLayerProps } from "@deck.gl/mesh-layers";
|
|
2
|
+
import { SimpleMeshLayer } from "@deck.gl/mesh-layers";
|
|
3
|
+
import type { RasterModule } from "../gpu-modules/types.js";
|
|
4
|
+
export interface MeshTextureLayerProps extends SimpleMeshLayerProps {
|
|
5
|
+
renderPipeline: RasterModule[];
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* A small subclass of the SimpleMeshLayer to allow dynamic shader injections.
|
|
9
|
+
*
|
|
10
|
+
* In the future this may expand to diverge more from the SimpleMeshLayer, such
|
|
11
|
+
* as allowing the texture to be a 2D _array_.
|
|
12
|
+
*/
|
|
13
|
+
export declare class MeshTextureLayer extends SimpleMeshLayer<null, MeshTextureLayerProps> {
|
|
14
|
+
static layerName: string;
|
|
15
|
+
static defaultProps: typeof SimpleMeshLayer.defaultProps;
|
|
16
|
+
getShaders(): any;
|
|
17
|
+
draw(opts: any): void;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=mesh-layer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mesh-layer.d.ts","sourceRoot":"","sources":["../../src/mesh-layer/mesh-layer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IACjE,cAAc,EAAE,YAAY,EAAE,CAAC;CAChC;AAED;;;;;GAKG;AACH,qBAAa,gBAAiB,SAAQ,eAAe,CACnD,IAAI,EACJ,qBAAqB,CACtB;IACC,OAAgB,SAAS,SAAwB;IACjD,OAAgB,YAAY,EAAE,OAAO,eAAe,CAAC,YAAY,CAClC;IAEtB,UAAU;IAiBV,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;CAa/B"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { SimpleMeshLayer } from "@deck.gl/mesh-layers";
|
|
2
|
+
import fs from "./mesh-layer-fragment.glsl.js";
|
|
3
|
+
/**
|
|
4
|
+
* A small subclass of the SimpleMeshLayer to allow dynamic shader injections.
|
|
5
|
+
*
|
|
6
|
+
* In the future this may expand to diverge more from the SimpleMeshLayer, such
|
|
7
|
+
* as allowing the texture to be a 2D _array_.
|
|
8
|
+
*/
|
|
9
|
+
export class MeshTextureLayer extends SimpleMeshLayer {
|
|
10
|
+
static layerName = "mesh-texture-layer";
|
|
11
|
+
static defaultProps = SimpleMeshLayer.defaultProps;
|
|
12
|
+
getShaders() {
|
|
13
|
+
const upstreamShaders = super.getShaders();
|
|
14
|
+
const modules = upstreamShaders.modules;
|
|
15
|
+
for (const m of this.props.renderPipeline) {
|
|
16
|
+
modules.push(m.module);
|
|
17
|
+
}
|
|
18
|
+
return {
|
|
19
|
+
...upstreamShaders,
|
|
20
|
+
// Override upstream's fragment shader with our copy with modified
|
|
21
|
+
// injection points
|
|
22
|
+
fs,
|
|
23
|
+
modules,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
draw(opts) {
|
|
27
|
+
const shaderProps = {};
|
|
28
|
+
for (const m of this.props.renderPipeline) {
|
|
29
|
+
// Props should be keyed by module name
|
|
30
|
+
shaderProps[m.module.name] = m.props || {};
|
|
31
|
+
}
|
|
32
|
+
for (const m of super.getModels()) {
|
|
33
|
+
m.shaderInputs.setProps(shaderProps);
|
|
34
|
+
}
|
|
35
|
+
super.draw(opts);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=mesh-layer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mesh-layer.js","sourceRoot":"","sources":["../../src/mesh-layer/mesh-layer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAM/C;;;;;GAKG;AACH,MAAM,OAAO,gBAAiB,SAAQ,eAGrC;IACC,MAAM,CAAU,SAAS,GAAG,oBAAoB,CAAC;IACjD,MAAM,CAAU,YAAY,GAC1B,eAAe,CAAC,YAAY,CAAC;IAEtB,UAAU;QACjB,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QAE3C,MAAM,OAAO,GAAmB,eAAe,CAAC,OAAO,CAAC;QACxD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;QAED,OAAO;YACL,GAAG,eAAe;YAClB,kEAAkE;YAClE,mBAAmB;YACnB,EAAE;YACF,OAAO;SACR,CAAC;IACJ,CAAC;IAEQ,IAAI,CAAC,IAAS;QACrB,MAAM,WAAW,GAAsD,EAAE,CAAC;QAC1E,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAC1C,uCAAuC;YACvC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7C,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC;YAClC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC"}
|
package/dist/raster-layer.d.ts
CHANGED
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
import type { CompositeLayerProps, Layer, UpdateParameters } from "@deck.gl/core";
|
|
2
2
|
import { CompositeLayer } from "@deck.gl/core";
|
|
3
|
-
import type { SimpleMeshLayerProps } from "@deck.gl/mesh-layers";
|
|
4
3
|
import type { ReprojectionFns } from "@developmentseed/raster-reproject";
|
|
5
4
|
import { RasterReprojector } from "@developmentseed/raster-reproject";
|
|
6
|
-
type
|
|
7
|
-
idx: number;
|
|
8
|
-
geom: number[][];
|
|
9
|
-
};
|
|
5
|
+
import type { RasterModule } from "./gpu-modules/types";
|
|
10
6
|
export interface RasterLayerProps extends CompositeLayerProps {
|
|
11
7
|
/**
|
|
12
8
|
* Width of the input raster image in pixels
|
|
@@ -21,17 +17,14 @@ export interface RasterLayerProps extends CompositeLayerProps {
|
|
|
21
17
|
*/
|
|
22
18
|
reprojectionFns: ReprojectionFns;
|
|
23
19
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* -
|
|
20
|
+
* Render pipeline for visualizing textures.
|
|
21
|
+
*
|
|
22
|
+
* Can be:
|
|
23
|
+
*
|
|
24
|
+
* - ImageData representing RGBA pixel data
|
|
25
|
+
* - Sequence of shader modules to be composed into a shader program
|
|
29
26
|
*/
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Customize the [texture parameters](https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/texParameter).
|
|
33
|
-
*/
|
|
34
|
-
textureParameters?: SimpleMeshLayerProps["textureParameters"];
|
|
27
|
+
renderPipeline: ImageData | RasterModule[];
|
|
35
28
|
/**
|
|
36
29
|
* Maximum reprojection error in pixels for mesh refinement.
|
|
37
30
|
* Lower values create denser meshes with higher accuracy.
|
|
@@ -50,8 +43,8 @@ export interface RasterLayerProps extends CompositeLayerProps {
|
|
|
50
43
|
export declare class RasterLayer extends CompositeLayer<RasterLayerProps> {
|
|
51
44
|
static layerName: string;
|
|
52
45
|
static defaultProps: {
|
|
53
|
-
maxError: number;
|
|
54
46
|
debug: boolean;
|
|
47
|
+
debugOpacity: number;
|
|
55
48
|
};
|
|
56
49
|
state: {
|
|
57
50
|
reprojector?: RasterReprojector;
|
|
@@ -60,13 +53,13 @@ export declare class RasterLayer extends CompositeLayer<RasterLayerProps> {
|
|
|
60
53
|
indices: Uint32Array;
|
|
61
54
|
texCoords: Float32Array;
|
|
62
55
|
};
|
|
63
|
-
debugTriangles?: ParsedTriangle[];
|
|
64
56
|
};
|
|
65
57
|
initializeState(): void;
|
|
66
58
|
updateState(params: UpdateParameters<this>): void;
|
|
67
59
|
_generateMesh(): void;
|
|
68
|
-
|
|
60
|
+
renderDebugLayer(): Layer | null;
|
|
61
|
+
/** Create assembled render pipeline from the renderPipeline prop input. */
|
|
62
|
+
_createRenderPipeline(): RasterModule[];
|
|
69
63
|
renderLayers(): Layer<{}>[] | null;
|
|
70
64
|
}
|
|
71
|
-
export {};
|
|
72
65
|
//# sourceMappingURL=raster-layer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raster-layer.d.ts","sourceRoot":"","sources":["../src/raster-layer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,KAAK,EACL,gBAAgB,EACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"raster-layer.d.ts","sourceRoot":"","sources":["../src/raster-layer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,KAAK,EACL,gBAAgB,EACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAmCxD,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB;IAC3D;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,eAAe,EAAE,eAAe,CAAC;IAEjC;;;;;;;OAOG;IACH,cAAc,EAAE,SAAS,GAAG,YAAY,EAAE,CAAC;IAE3C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAOD;;;;;GAKG;AACH,qBAAa,WAAY,SAAQ,cAAc,CAAC,gBAAgB,CAAC;IAC/D,OAAgB,SAAS,SAAiB;IAC1C,OAAgB,YAAY;;;MAAgB;IAEpC,KAAK,EAAE;QACb,WAAW,CAAC,EAAE,iBAAiB,CAAC;QAChC,IAAI,CAAC,EAAE;YACL,SAAS,EAAE,YAAY,CAAC;YACxB,OAAO,EAAE,WAAW,CAAC;YACrB,SAAS,EAAE,YAAY,CAAC;SACzB,CAAC;KACH,CAAC;IAEO,eAAe,IAAI,IAAI;IAIvB,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC;IAkBnD,aAAa,IAAI,IAAI;IAiCrB,gBAAgB,IAAI,KAAK,GAAG,IAAI;IA6DhC,2EAA2E;IAC3E,qBAAqB,IAAI,YAAY,EAAE;IAqBvC,YAAY;CAmDb"}
|
package/dist/raster-layer.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { CompositeLayer } from "@deck.gl/core";
|
|
2
2
|
import { PolygonLayer } from "@deck.gl/layers";
|
|
3
|
-
import { SimpleMeshLayer } from "@deck.gl/mesh-layers";
|
|
4
3
|
import { RasterReprojector } from "@developmentseed/raster-reproject";
|
|
4
|
+
import { CreateTexture } from "./gpu-modules/create-texture";
|
|
5
|
+
import { MeshTextureLayer } from "./mesh-layer/mesh-layer";
|
|
5
6
|
const DEFAULT_MAX_ERROR = 0.125;
|
|
6
7
|
const DEBUG_COLORS = [
|
|
7
8
|
[252, 73, 163], // pink
|
|
@@ -28,8 +29,8 @@ const DEBUG_COLORS = [
|
|
|
28
29
|
[0, 204, 255], // cyan
|
|
29
30
|
];
|
|
30
31
|
const defaultProps = {
|
|
31
|
-
maxError: DEFAULT_MAX_ERROR,
|
|
32
32
|
debug: false,
|
|
33
|
+
debugOpacity: 0.5,
|
|
33
34
|
};
|
|
34
35
|
/**
|
|
35
36
|
* RasterLayer renders georeferenced raster data with client-side reprojection.
|
|
@@ -55,14 +56,9 @@ export class RasterLayer extends CompositeLayer {
|
|
|
55
56
|
if (needsMeshUpdate) {
|
|
56
57
|
this._generateMesh();
|
|
57
58
|
}
|
|
58
|
-
else if (props.debug && !oldProps.debug) {
|
|
59
|
-
// Even if the mesh wasn't changed, we may need to recreate debug
|
|
60
|
-
// triangles if debug was just enabled
|
|
61
|
-
this._createDebugTriangles();
|
|
62
|
-
}
|
|
63
59
|
}
|
|
64
60
|
_generateMesh() {
|
|
65
|
-
const { width, height, reprojectionFns, maxError = DEFAULT_MAX_ERROR,
|
|
61
|
+
const { width, height, reprojectionFns, maxError = DEFAULT_MAX_ERROR, } = this.props;
|
|
66
62
|
// The mesh is lined up with the upper and left edges of the raster. So if
|
|
67
63
|
// we give the raster the same width and height as the number of pixels in
|
|
68
64
|
// the image, it'll be omitting the last row and column of pixels.
|
|
@@ -73,10 +69,6 @@ export class RasterLayer extends CompositeLayer {
|
|
|
73
69
|
const reprojector = new RasterReprojector(reprojectionFns, width + 1, height + 1);
|
|
74
70
|
reprojector.run(maxError);
|
|
75
71
|
const { indices, positions, texCoords } = reprojectorToMesh(reprojector);
|
|
76
|
-
let debugTriangles = undefined;
|
|
77
|
-
if (debug) {
|
|
78
|
-
debugTriangles = reprojectorToTriangles(reprojector);
|
|
79
|
-
}
|
|
80
72
|
this.setState({
|
|
81
73
|
reprojector,
|
|
82
74
|
mesh: {
|
|
@@ -84,72 +76,110 @@ export class RasterLayer extends CompositeLayer {
|
|
|
84
76
|
indices,
|
|
85
77
|
texCoords,
|
|
86
78
|
},
|
|
87
|
-
debugTriangles,
|
|
88
79
|
});
|
|
89
80
|
}
|
|
90
|
-
|
|
81
|
+
renderDebugLayer() {
|
|
91
82
|
const { reprojector } = this.state;
|
|
83
|
+
const { debugOpacity } = this.props;
|
|
92
84
|
if (!reprojector) {
|
|
93
|
-
return;
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
return new PolygonLayer(this.getSubLayerProps({
|
|
88
|
+
id: "polygon",
|
|
89
|
+
// https://deck.gl/docs/developer-guide/performance#supply-binary-blobs-to-the-data-prop
|
|
90
|
+
// This `data` gets passed into `getPolygon` with the row index.
|
|
91
|
+
data: { reprojector, length: reprojector.triangles.length / 3 },
|
|
92
|
+
getPolygon: (_, { index, data, }) => {
|
|
93
|
+
const triangles = data.reprojector.triangles;
|
|
94
|
+
const positions = reprojector.exactOutputPositions;
|
|
95
|
+
const a = triangles[index * 3];
|
|
96
|
+
const b = triangles[index * 3 + 1];
|
|
97
|
+
const c = triangles[index * 3 + 2];
|
|
98
|
+
return [
|
|
99
|
+
[positions[a * 2], positions[a * 2 + 1]],
|
|
100
|
+
[positions[b * 2], positions[b * 2 + 1]],
|
|
101
|
+
[positions[c * 2], positions[c * 2 + 1]],
|
|
102
|
+
[positions[a * 2], positions[a * 2 + 1]],
|
|
103
|
+
];
|
|
104
|
+
},
|
|
105
|
+
getFillColor: (_, { index, target }) => {
|
|
106
|
+
const color = DEBUG_COLORS[index % DEBUG_COLORS.length];
|
|
107
|
+
target[0] = color[0];
|
|
108
|
+
target[1] = color[1];
|
|
109
|
+
target[2] = color[2];
|
|
110
|
+
target[3] = 255;
|
|
111
|
+
return target;
|
|
112
|
+
},
|
|
113
|
+
getLineColor: [0, 0, 0],
|
|
114
|
+
getLineWidth: 1,
|
|
115
|
+
lineWidthUnits: "pixels",
|
|
116
|
+
opacity: debugOpacity !== undefined && Number.isFinite(debugOpacity)
|
|
117
|
+
? Math.max(0, Math.min(1, debugOpacity))
|
|
118
|
+
: 1,
|
|
119
|
+
pickable: false,
|
|
120
|
+
}));
|
|
121
|
+
}
|
|
122
|
+
/** Create assembled render pipeline from the renderPipeline prop input. */
|
|
123
|
+
_createRenderPipeline() {
|
|
124
|
+
if (this.props.renderPipeline instanceof ImageData) {
|
|
125
|
+
const imageData = this.props.renderPipeline;
|
|
126
|
+
const texture = this.context.device.createTexture({
|
|
127
|
+
format: "rgba8unorm",
|
|
128
|
+
width: imageData.width,
|
|
129
|
+
height: imageData.height,
|
|
130
|
+
data: imageData.data,
|
|
131
|
+
});
|
|
132
|
+
const wrapper = {
|
|
133
|
+
module: CreateTexture,
|
|
134
|
+
props: {
|
|
135
|
+
textureName: texture,
|
|
136
|
+
},
|
|
137
|
+
};
|
|
138
|
+
return [wrapper];
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
return this.props.renderPipeline;
|
|
94
142
|
}
|
|
95
|
-
const debugTriangles = reprojectorToTriangles(reprojector);
|
|
96
|
-
this.setState({
|
|
97
|
-
debugTriangles,
|
|
98
|
-
});
|
|
99
143
|
}
|
|
100
144
|
renderLayers() {
|
|
101
145
|
const { mesh } = this.state;
|
|
102
|
-
const {
|
|
146
|
+
const { debug } = this.props;
|
|
103
147
|
if (!mesh) {
|
|
104
148
|
return null;
|
|
105
149
|
}
|
|
106
150
|
const { indices, positions, texCoords } = mesh;
|
|
107
|
-
const
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
size: 2,
|
|
124
|
-
},
|
|
151
|
+
const meshLayer = new MeshTextureLayer(this.getSubLayerProps({
|
|
152
|
+
id: "raster",
|
|
153
|
+
renderPipeline: this._createRenderPipeline(),
|
|
154
|
+
// Dummy data because we're only rendering _one_ instance of this mesh
|
|
155
|
+
// https://github.com/visgl/deck.gl/blob/93111b667b919148da06ff1918410cf66381904f/modules/geo-layers/src/terrain-layer/terrain-layer.ts#L241
|
|
156
|
+
data: [1],
|
|
157
|
+
mesh: {
|
|
158
|
+
indices: { value: indices, size: 1 },
|
|
159
|
+
attributes: {
|
|
160
|
+
POSITION: {
|
|
161
|
+
value: positions,
|
|
162
|
+
size: 3,
|
|
163
|
+
},
|
|
164
|
+
TEXCOORD_0: {
|
|
165
|
+
value: texCoords,
|
|
166
|
+
size: 2,
|
|
125
167
|
},
|
|
126
168
|
},
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
169
|
+
},
|
|
170
|
+
// We're only rendering a single mesh, without instancing
|
|
171
|
+
// https://github.com/visgl/deck.gl/blob/93111b667b919148da06ff1918410cf66381904f/modules/geo-layers/src/terrain-layer/terrain-layer.ts#L244
|
|
172
|
+
_instanced: false,
|
|
173
|
+
// Dummy accessors for the dummy data
|
|
174
|
+
// We place our mesh at the coordinate origin
|
|
175
|
+
getPosition: [0, 0, 0],
|
|
176
|
+
// We give a white color to turn off color mixing with the texture
|
|
177
|
+
getColor: [255, 255, 255],
|
|
178
|
+
}));
|
|
179
|
+
const layers = [meshLayer];
|
|
137
180
|
if (debug) {
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
if (debugTriangles) {
|
|
141
|
-
const debugLayer = new PolygonLayer(this.getSubLayerProps({
|
|
142
|
-
id: "polygon",
|
|
143
|
-
data: debugTriangles,
|
|
144
|
-
getPolygon: (d) => d.geom,
|
|
145
|
-
getFillColor: (d) => DEBUG_COLORS[d.idx % DEBUG_COLORS.length],
|
|
146
|
-
getLineColor: [0, 0, 0],
|
|
147
|
-
getLineWidth: 0,
|
|
148
|
-
lineWidthMinPixels: 1,
|
|
149
|
-
opacity: debugOpacity !== undefined && Number.isFinite(debugOpacity)
|
|
150
|
-
? Math.max(0, Math.min(1, debugOpacity))
|
|
151
|
-
: 1,
|
|
152
|
-
}));
|
|
181
|
+
const debugLayer = this.renderDebugLayer();
|
|
182
|
+
if (debugLayer) {
|
|
153
183
|
layers.push(debugLayer);
|
|
154
184
|
}
|
|
155
185
|
}
|
|
@@ -174,25 +204,4 @@ function reprojectorToMesh(reprojector) {
|
|
|
174
204
|
texCoords,
|
|
175
205
|
};
|
|
176
206
|
}
|
|
177
|
-
function reprojectorToTriangles(reprojector) {
|
|
178
|
-
const positions = reprojector.exactOutputPositions;
|
|
179
|
-
const triangles = reprojector.triangles;
|
|
180
|
-
const trianglePolygons = [];
|
|
181
|
-
for (let triangleIdx = 0; triangleIdx < triangles.length / 3; ++triangleIdx) {
|
|
182
|
-
const a = triangles[triangleIdx * 3];
|
|
183
|
-
const b = triangles[triangleIdx * 3 + 1];
|
|
184
|
-
const c = triangles[triangleIdx * 3 + 2];
|
|
185
|
-
const coords = [
|
|
186
|
-
[positions[a * 2], positions[a * 2 + 1]],
|
|
187
|
-
[positions[b * 2], positions[b * 2 + 1]],
|
|
188
|
-
[positions[c * 2], positions[c * 2 + 1]],
|
|
189
|
-
[positions[a * 2], positions[a * 2 + 1]],
|
|
190
|
-
];
|
|
191
|
-
trianglePolygons.push({
|
|
192
|
-
idx: triangleIdx,
|
|
193
|
-
geom: coords,
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
return trianglePolygons;
|
|
197
|
-
}
|
|
198
207
|
//# sourceMappingURL=raster-layer.js.map
|
package/dist/raster-layer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raster-layer.js","sourceRoot":"","sources":["../src/raster-layer.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"raster-layer.js","sourceRoot":"","sources":["../src/raster-layer.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,9 +14,10 @@
|
|
|
14
14
|
* The result is a set of tiles at varying zoom levels that efficiently
|
|
15
15
|
* cover the visible area with appropriate detail.
|
|
16
16
|
*/
|
|
17
|
-
import { Viewport } from "@deck.gl/core";
|
|
18
|
-
import {
|
|
19
|
-
import
|
|
17
|
+
import type { Viewport } from "@deck.gl/core";
|
|
18
|
+
import type { OrientedBoundingBox } from "@math.gl/culling";
|
|
19
|
+
import { CullingVolume } from "@math.gl/culling";
|
|
20
|
+
import type { Bounds, TileIndex, TileMatrix, TileMatrixSet, ZRange } from "./types.js";
|
|
20
21
|
/**
|
|
21
22
|
* Raster Tile Node - represents a single tile in the TileMatrixSet structure
|
|
22
23
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raster-tile-traversal.d.ts","sourceRoot":"","sources":["../../src/raster-tileset/raster-tile-traversal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"raster-tile-traversal.d.ts","sourceRoot":"","sources":["../../src/raster-tileset/raster-tile-traversal.ts"],"names":[],"mappings":"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"}
|
|
@@ -200,9 +200,9 @@ export class RasterTileNode {
|
|
|
200
200
|
// “When pitch is low, force selection at maxZ.”
|
|
201
201
|
if (!this.childVisible && this.z >= minZ) {
|
|
202
202
|
const metersPerScreenPixel = getMetersPerPixelAtBoundingVolume(boundingVolume, viewport.zoom);
|
|
203
|
-
console.log("metersPerScreenPixel", metersPerScreenPixel);
|
|
203
|
+
// console.log("metersPerScreenPixel", metersPerScreenPixel);
|
|
204
204
|
const tileMetersPerPixel = this.tileMatrix.scaleDenominator * SCREEN_PIXEL_SIZE;
|
|
205
|
-
console.log("tileMetersPerPixel", tileMetersPerPixel);
|
|
205
|
+
// console.log("tileMetersPerPixel", tileMetersPerPixel);
|
|
206
206
|
// const screenScaleDenominator = metersPerScreenPixel / SCREEN_PIXEL_SIZE;
|
|
207
207
|
// console.log("screenScaleDenominator", screenScaleDenominator);
|
|
208
208
|
// TODO: in the future we could try adding a bias
|
|
@@ -212,7 +212,10 @@ export class RasterTileNode {
|
|
|
212
212
|
// "this.tileMatrix.scaleDenominator",
|
|
213
213
|
// this.tileMatrix.scaleDenominator,
|
|
214
214
|
// );
|
|
215
|
-
console.log(
|
|
215
|
+
// console.log(
|
|
216
|
+
// "tileMetersPerPixel <= metersPerScreenPixel",
|
|
217
|
+
// tileMetersPerPixel <= metersPerScreenPixel,
|
|
218
|
+
// );
|
|
216
219
|
if (tileMetersPerPixel <= metersPerScreenPixel ||
|
|
217
220
|
this.z >= maxZ ||
|
|
218
221
|
(children === null && this.z >= minZ)) {
|
|
@@ -583,7 +586,7 @@ export function getTileIndices(metadata, opts) {
|
|
|
583
586
|
function getMetersPerPixel(latitude, zoom) {
|
|
584
587
|
const earthCircumference = 40075016.686;
|
|
585
588
|
return ((earthCircumference * Math.cos((latitude * Math.PI) / 180)) /
|
|
586
|
-
|
|
589
|
+
2 ** (zoom + 8));
|
|
587
590
|
}
|
|
588
591
|
function getMetersPerPixelAtBoundingVolume(boundingVolume, zoom) {
|
|
589
592
|
const [_lng, lat] = worldToLngLat(boundingVolume.center);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raster-tile-traversal.js","sourceRoot":"","sources":["../../src/raster-tileset/raster-tile-traversal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"raster-tile-traversal.js","sourceRoot":"","sources":["../../src/raster-tileset/raster-tile-traversal.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
* This version properly implements frustum culling and bounding volume calculations
|
|
5
5
|
* following the pattern from deck.gl's OSM tile indexing.
|
|
6
6
|
*/
|
|
7
|
-
import { Viewport } from "@deck.gl/core";
|
|
7
|
+
import type { Viewport } from "@deck.gl/core";
|
|
8
8
|
import { _Tileset2D as Tileset2D } from "@deck.gl/geo-layers";
|
|
9
|
-
import { Matrix4 } from "@math.gl/core";
|
|
9
|
+
import type { Matrix4 } from "@math.gl/core";
|
|
10
10
|
import type { TileIndex, TileMatrixSet, ZRange } from "./types";
|
|
11
11
|
type Tileset2DProps = any;
|
|
12
12
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raster-tileset-2d.d.ts","sourceRoot":"","sources":["../../src/raster-tileset/raster-tileset-2d.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"raster-tileset-2d.d.ts","sourceRoot":"","sources":["../../src/raster-tileset/raster-tileset-2d.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,UAAU,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,KAAK,EAAU,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAIxE,KAAK,cAAc,GAAG,GAAG,CAAC;AAE1B;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,OAAO,CAAC,QAAQ,CAAgB;gBAEpB,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc;IAKzD;;;;;OAKG;IACM,cAAc,CAAC,IAAI,EAAE;QAC5B,QAAQ,EAAE,QAAQ,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B,GAAG,SAAS,EAAE;IAkBN,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;IAInC,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS;IAkB3C,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;IAIrC,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CA6DpE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@developmentseed/deck.gl-raster",
|
|
3
|
-
"version": "0.1.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"description": "Georeferenced image data visualization in deck.gl",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -9,8 +9,13 @@
|
|
|
9
9
|
".": {
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
11
11
|
"default": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./gpu-modules": {
|
|
14
|
+
"types": "./dist/gpu-modules/index.d.ts",
|
|
15
|
+
"default": "./dist/gpu-modules/index.js"
|
|
12
16
|
}
|
|
13
17
|
},
|
|
18
|
+
"sideEffects": false,
|
|
14
19
|
"files": [
|
|
15
20
|
"dist"
|
|
16
21
|
],
|
|
@@ -32,26 +37,26 @@
|
|
|
32
37
|
"url": "git+https://github.com/developmentseed/deck.gl-raster.git"
|
|
33
38
|
},
|
|
34
39
|
"devDependencies": {
|
|
35
|
-
"@
|
|
36
|
-
"@
|
|
37
|
-
"@
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"typescript": "^5.7.2",
|
|
42
|
-
"vitest": "^4.0.15"
|
|
40
|
+
"@luma.gl/core": "9.2.5",
|
|
41
|
+
"@luma.gl/shadertools": "9.2.5",
|
|
42
|
+
"@types/node": "^25.0.3",
|
|
43
|
+
"jsdom": "^27.4.0",
|
|
44
|
+
"typescript": "^5.9.3",
|
|
45
|
+
"vitest": "^4.0.16"
|
|
43
46
|
},
|
|
44
47
|
"peerDependencies": {
|
|
45
48
|
"@deck.gl/core": "^9.2.5",
|
|
46
49
|
"@deck.gl/geo-layers": "^9.2.5",
|
|
47
50
|
"@deck.gl/layers": "^9.2.5",
|
|
48
|
-
"@deck.gl/mesh-layers": "^9.2.5"
|
|
51
|
+
"@deck.gl/mesh-layers": "^9.2.5",
|
|
52
|
+
"@luma.gl/core": "^9.2.5",
|
|
53
|
+
"@luma.gl/shadertools": "^9.2.5"
|
|
49
54
|
},
|
|
50
55
|
"dependencies": {
|
|
51
56
|
"@math.gl/core": "^4.1.0",
|
|
52
57
|
"@math.gl/culling": "^4.1.0",
|
|
53
58
|
"@math.gl/web-mercator": "^4.1.0",
|
|
54
|
-
"@developmentseed/raster-reproject": "^0.1.0
|
|
59
|
+
"@developmentseed/raster-reproject": "^0.1.0"
|
|
55
60
|
},
|
|
56
61
|
"volta": {
|
|
57
62
|
"extends": "../../package.json"
|
|
@@ -60,9 +65,6 @@
|
|
|
60
65
|
"build": "tsc --build tsconfig.build.json",
|
|
61
66
|
"test": "vitest run",
|
|
62
67
|
"test:watch": "vitest",
|
|
63
|
-
"lint": "eslint src --ext .ts,.tsx",
|
|
64
|
-
"format": "prettier --write \"src/**/*.{ts,tsx,json}\"",
|
|
65
|
-
"format:check": "prettier --check \"src/**/*.{ts,tsx,json}\"",
|
|
66
68
|
"typecheck": "tsc --noEmit"
|
|
67
69
|
}
|
|
68
70
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=raster-tile-layer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"raster-tile-layer.d.ts","sourceRoot":"","sources":["../src/raster-tile-layer.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"raster-tile-layer.js","sourceRoot":"","sources":["../src/raster-tile-layer.ts"],"names":[],"mappings":""}
|