@deck.gl/extensions 8.6.2 → 8.7.0-alpha.2

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.
Files changed (33) hide show
  1. package/dist/dist.dev.js +108 -108
  2. package/dist/es5/brushing/brushing.js +49 -80
  3. package/dist/es5/brushing/brushing.js.map +1 -1
  4. package/dist/es5/brushing/shader-module.js +15 -16
  5. package/dist/es5/brushing/shader-module.js.map +1 -1
  6. package/dist/es5/clip/clip.js +35 -62
  7. package/dist/es5/clip/clip.js.map +1 -1
  8. package/dist/es5/data-filter/aggregator.js +14 -19
  9. package/dist/es5/data-filter/aggregator.js.map +1 -1
  10. package/dist/es5/data-filter/data-filter.js +148 -172
  11. package/dist/es5/data-filter/data-filter.js.map +1 -1
  12. package/dist/es5/data-filter/shader-module.js +37 -58
  13. package/dist/es5/data-filter/shader-module.js.map +1 -1
  14. package/dist/es5/fill-style/fill-style.js +158 -244
  15. package/dist/es5/fill-style/fill-style.js.map +1 -1
  16. package/dist/es5/fill-style/shaders.glsl.js +19 -18
  17. package/dist/es5/fill-style/shaders.glsl.js.map +1 -1
  18. package/dist/es5/fp64/fp64.js +12 -36
  19. package/dist/es5/fp64/fp64.js.map +1 -1
  20. package/dist/es5/fp64/project64.js +20 -18
  21. package/dist/es5/fp64/project64.js.map +1 -1
  22. package/dist/es5/index.js +7 -7
  23. package/dist/es5/path-style/path-style.js +89 -121
  24. package/dist/es5/path-style/path-style.js.map +1 -1
  25. package/dist/es5/path-style/shaders.glsl.js +2 -2
  26. package/dist/es5/path-style/shaders.glsl.js.map +1 -1
  27. package/dist/esm/clip/clip.js.map +1 -1
  28. package/dist/esm/data-filter/aggregator.js.map +1 -1
  29. package/dist/esm/fill-style/fill-style.js.map +1 -1
  30. package/dist.min.js +1 -1
  31. package/package.json +2 -2
  32. package/src/clip/clip.js +1 -1
  33. package/src/data-filter/aggregator.js +107 -107
@@ -4,41 +4,31 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.shaderModule64 = exports.shaderModule = void 0;
7
- var vs = "\nuniform DATAFILTER_TYPE filter_min;\nuniform DATAFILTER_TYPE filter_softMin;\nuniform DATAFILTER_TYPE filter_softMax;\nuniform DATAFILTER_TYPE filter_max;\nuniform bool filter_useSoftMargin;\nuniform bool filter_enabled;\nuniform bool filter_transformSize;\n\n#ifdef NON_INSTANCED_MODEL\n #define DATAFILTER_ATTRIB filterValues\n #define DATAFILTER_ATTRIB_64LOW filterValues64Low\n#else\n #define DATAFILTER_ATTRIB instanceFilterValues\n #define DATAFILTER_ATTRIB_64LOW instanceFilterValues64Low\n#endif\n\nattribute DATAFILTER_TYPE DATAFILTER_ATTRIB;\n#ifdef DATAFILTER_DOUBLE\n attribute DATAFILTER_TYPE DATAFILTER_ATTRIB_64LOW;\n\n uniform DATAFILTER_TYPE filter_min64High;\n uniform DATAFILTER_TYPE filter_max64High;\n#endif\n\nvarying float dataFilter_value;\n\nfloat dataFilter_reduceValue(float value) {\n return value;\n}\nfloat dataFilter_reduceValue(vec2 value) {\n return min(value.x, value.y);\n}\nfloat dataFilter_reduceValue(vec3 value) {\n return min(min(value.x, value.y), value.z);\n}\nfloat dataFilter_reduceValue(vec4 value) {\n return min(min(value.x, value.y), min(value.z, value.w));\n}\nvoid dataFilter_setValue(DATAFILTER_TYPE valueFromMin, DATAFILTER_TYPE valueFromMax) {\n if (filter_enabled) {\n if (filter_useSoftMargin) {\n dataFilter_value = dataFilter_reduceValue(\n smoothstep(filter_min, filter_softMin, valueFromMin) *\n (1.0 - smoothstep(filter_softMax, filter_max, valueFromMax))\n );\n } else {\n dataFilter_value = dataFilter_reduceValue(\n step(filter_min, valueFromMin) * step(valueFromMax, filter_max)\n );\n }\n } else {\n dataFilter_value = 1.0;\n }\n}\n";
8
- var fs = "\nuniform bool filter_transformColor;\nvarying float dataFilter_value;\n";
7
+ const vs = "\nuniform DATAFILTER_TYPE filter_min;\nuniform DATAFILTER_TYPE filter_softMin;\nuniform DATAFILTER_TYPE filter_softMax;\nuniform DATAFILTER_TYPE filter_max;\nuniform bool filter_useSoftMargin;\nuniform bool filter_enabled;\nuniform bool filter_transformSize;\n\n#ifdef NON_INSTANCED_MODEL\n #define DATAFILTER_ATTRIB filterValues\n #define DATAFILTER_ATTRIB_64LOW filterValues64Low\n#else\n #define DATAFILTER_ATTRIB instanceFilterValues\n #define DATAFILTER_ATTRIB_64LOW instanceFilterValues64Low\n#endif\n\nattribute DATAFILTER_TYPE DATAFILTER_ATTRIB;\n#ifdef DATAFILTER_DOUBLE\n attribute DATAFILTER_TYPE DATAFILTER_ATTRIB_64LOW;\n\n uniform DATAFILTER_TYPE filter_min64High;\n uniform DATAFILTER_TYPE filter_max64High;\n#endif\n\nvarying float dataFilter_value;\n\nfloat dataFilter_reduceValue(float value) {\n return value;\n}\nfloat dataFilter_reduceValue(vec2 value) {\n return min(value.x, value.y);\n}\nfloat dataFilter_reduceValue(vec3 value) {\n return min(min(value.x, value.y), value.z);\n}\nfloat dataFilter_reduceValue(vec4 value) {\n return min(min(value.x, value.y), min(value.z, value.w));\n}\nvoid dataFilter_setValue(DATAFILTER_TYPE valueFromMin, DATAFILTER_TYPE valueFromMax) {\n if (filter_enabled) {\n if (filter_useSoftMargin) {\n dataFilter_value = dataFilter_reduceValue(\n smoothstep(filter_min, filter_softMin, valueFromMin) *\n (1.0 - smoothstep(filter_softMax, filter_max, valueFromMax))\n );\n } else {\n dataFilter_value = dataFilter_reduceValue(\n step(filter_min, valueFromMin) * step(valueFromMax, filter_max)\n );\n }\n } else {\n dataFilter_value = 1.0;\n }\n}\n";
8
+ const fs = "\nuniform bool filter_transformColor;\nvarying float dataFilter_value;\n";
9
9
 
10
- var getUniforms = function getUniforms(opts) {
10
+ const getUniforms = opts => {
11
11
  if (!opts || !opts.extensions) {
12
12
  return {};
13
13
  }
14
14
 
15
- var _opts$filterRange = opts.filterRange,
16
- filterRange = _opts$filterRange === void 0 ? [-1, 1] : _opts$filterRange,
17
- _opts$filterEnabled = opts.filterEnabled,
18
- filterEnabled = _opts$filterEnabled === void 0 ? true : _opts$filterEnabled,
19
- _opts$filterTransform = opts.filterTransformSize,
20
- filterTransformSize = _opts$filterTransform === void 0 ? true : _opts$filterTransform,
21
- _opts$filterTransform2 = opts.filterTransformColor,
22
- filterTransformColor = _opts$filterTransform2 === void 0 ? true : _opts$filterTransform2;
23
- var filterSoftRange = opts.filterSoftRange || filterRange;
24
- var uniforms = Number.isFinite(filterRange[0]) ? {
15
+ const {
16
+ filterRange = [-1, 1],
17
+ filterEnabled = true,
18
+ filterTransformSize = true,
19
+ filterTransformColor = true
20
+ } = opts;
21
+ const filterSoftRange = opts.filterSoftRange || filterRange;
22
+ const uniforms = Number.isFinite(filterRange[0]) ? {
25
23
  filter_min: filterRange[0],
26
24
  filter_softMin: filterSoftRange[0],
27
25
  filter_softMax: filterSoftRange[1],
28
26
  filter_max: filterRange[1]
29
27
  } : {
30
- filter_min: filterRange.map(function (r) {
31
- return r[0];
32
- }),
33
- filter_softMin: filterSoftRange.map(function (r) {
34
- return r[0];
35
- }),
36
- filter_softMax: filterSoftRange.map(function (r) {
37
- return r[1];
38
- }),
39
- filter_max: filterRange.map(function (r) {
40
- return r[1];
41
- })
28
+ filter_min: filterRange.map(r => r[0]),
29
+ filter_softMin: filterSoftRange.map(r => r[0]),
30
+ filter_softMax: filterSoftRange.map(r => r[1]),
31
+ filter_max: filterRange.map(r => r[1])
42
32
  };
43
33
  uniforms.filter_enabled = filterEnabled;
44
34
  uniforms.filter_useSoftMargin = Boolean(opts.filterSoftRange);
@@ -47,65 +37,54 @@ var getUniforms = function getUniforms(opts) {
47
37
  return uniforms;
48
38
  };
49
39
 
50
- var getUniforms64 = function getUniforms64(opts) {
40
+ const getUniforms64 = opts => {
51
41
  if (!opts || !opts.extensions) {
52
42
  return {};
53
43
  }
54
44
 
55
- var uniforms = getUniforms(opts);
45
+ const uniforms = getUniforms(opts);
56
46
 
57
47
  if (Number.isFinite(uniforms.filter_min)) {
58
- var min64High = Math.fround(uniforms.filter_min);
48
+ const min64High = Math.fround(uniforms.filter_min);
59
49
  uniforms.filter_min -= min64High;
60
50
  uniforms.filter_softMin -= min64High;
61
51
  uniforms.filter_min64High = min64High;
62
- var max64High = Math.fround(uniforms.filter_max);
52
+ const max64High = Math.fround(uniforms.filter_max);
63
53
  uniforms.filter_max -= max64High;
64
54
  uniforms.filter_softMax -= max64High;
65
55
  uniforms.filter_max64High = max64High;
66
56
  } else {
67
- var _min64High = uniforms.filter_min.map(Math.fround);
68
-
69
- uniforms.filter_min = uniforms.filter_min.map(function (x, i) {
70
- return x - _min64High[i];
71
- });
72
- uniforms.filter_softMin = uniforms.filter_softMin.map(function (x, i) {
73
- return x - _min64High[i];
74
- });
75
- uniforms.filter_min64High = _min64High;
76
-
77
- var _max64High = uniforms.filter_max.map(Math.fround);
78
-
79
- uniforms.filter_max = uniforms.filter_max.map(function (x, i) {
80
- return x - _max64High[i];
81
- });
82
- uniforms.filter_softMax = uniforms.filter_softMax.map(function (x, i) {
83
- return x - _max64High[i];
84
- });
85
- uniforms.filter_max64High = _max64High;
57
+ const min64High = uniforms.filter_min.map(Math.fround);
58
+ uniforms.filter_min = uniforms.filter_min.map((x, i) => x - min64High[i]);
59
+ uniforms.filter_softMin = uniforms.filter_softMin.map((x, i) => x - min64High[i]);
60
+ uniforms.filter_min64High = min64High;
61
+ const max64High = uniforms.filter_max.map(Math.fround);
62
+ uniforms.filter_max = uniforms.filter_max.map((x, i) => x - max64High[i]);
63
+ uniforms.filter_softMax = uniforms.filter_softMax.map((x, i) => x - max64High[i]);
64
+ uniforms.filter_max64High = max64High;
86
65
  }
87
66
 
88
67
  return uniforms;
89
68
  };
90
69
 
91
- var inject = {
70
+ const inject = {
92
71
  'vs:#main-start': "\n #ifdef DATAFILTER_DOUBLE\n dataFilter_setValue(\n DATAFILTER_ATTRIB - filter_min64High + DATAFILTER_ATTRIB_64LOW,\n DATAFILTER_ATTRIB - filter_max64High + DATAFILTER_ATTRIB_64LOW\n );\n #else\n dataFilter_setValue(DATAFILTER_ATTRIB, DATAFILTER_ATTRIB);\n #endif\n ",
93
72
  'vs:DECKGL_FILTER_SIZE': "\n if (filter_transformSize) {\n size = size * dataFilter_value;\n }\n ",
94
73
  'fs:DECKGL_FILTER_COLOR': "\n if (dataFilter_value == 0.0) discard;\n if (filter_transformColor) {\n color.a *= dataFilter_value;\n }\n "
95
74
  };
96
- var shaderModule = {
75
+ const shaderModule = {
97
76
  name: 'data-filter',
98
- vs: vs,
99
- fs: fs,
100
- inject: inject,
101
- getUniforms: getUniforms
77
+ vs,
78
+ fs,
79
+ inject,
80
+ getUniforms
102
81
  };
103
82
  exports.shaderModule = shaderModule;
104
- var shaderModule64 = {
83
+ const shaderModule64 = {
105
84
  name: 'data-filter-fp64',
106
- vs: vs,
107
- fs: fs,
108
- inject: inject,
85
+ vs,
86
+ fs,
87
+ inject,
109
88
  getUniforms: getUniforms64
110
89
  };
111
90
  exports.shaderModule64 = shaderModule64;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/data-filter/shader-module.js"],"names":["vs","fs","getUniforms","opts","extensions","filterRange","filterEnabled","filterTransformSize","filterTransformColor","filterSoftRange","uniforms","Number","isFinite","filter_min","filter_softMin","filter_softMax","filter_max","map","r","filter_enabled","filter_useSoftMargin","Boolean","filter_transformSize","filter_transformColor","getUniforms64","min64High","Math","fround","filter_min64High","max64High","filter_max64High","x","i","inject","shaderModule","name","shaderModule64"],"mappings":"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","sourcesContent":["/*\n * data filter shader module\n */\nconst vs = `\nuniform DATAFILTER_TYPE filter_min;\nuniform DATAFILTER_TYPE filter_softMin;\nuniform DATAFILTER_TYPE filter_softMax;\nuniform DATAFILTER_TYPE filter_max;\nuniform bool filter_useSoftMargin;\nuniform bool filter_enabled;\nuniform bool filter_transformSize;\n\n#ifdef NON_INSTANCED_MODEL\n #define DATAFILTER_ATTRIB filterValues\n #define DATAFILTER_ATTRIB_64LOW filterValues64Low\n#else\n #define DATAFILTER_ATTRIB instanceFilterValues\n #define DATAFILTER_ATTRIB_64LOW instanceFilterValues64Low\n#endif\n\nattribute DATAFILTER_TYPE DATAFILTER_ATTRIB;\n#ifdef DATAFILTER_DOUBLE\n attribute DATAFILTER_TYPE DATAFILTER_ATTRIB_64LOW;\n\n uniform DATAFILTER_TYPE filter_min64High;\n uniform DATAFILTER_TYPE filter_max64High;\n#endif\n\nvarying float dataFilter_value;\n\nfloat dataFilter_reduceValue(float value) {\n return value;\n}\nfloat dataFilter_reduceValue(vec2 value) {\n return min(value.x, value.y);\n}\nfloat dataFilter_reduceValue(vec3 value) {\n return min(min(value.x, value.y), value.z);\n}\nfloat dataFilter_reduceValue(vec4 value) {\n return min(min(value.x, value.y), min(value.z, value.w));\n}\nvoid dataFilter_setValue(DATAFILTER_TYPE valueFromMin, DATAFILTER_TYPE valueFromMax) {\n if (filter_enabled) {\n if (filter_useSoftMargin) {\n dataFilter_value = dataFilter_reduceValue(\n smoothstep(filter_min, filter_softMin, valueFromMin) *\n (1.0 - smoothstep(filter_softMax, filter_max, valueFromMax))\n );\n } else {\n dataFilter_value = dataFilter_reduceValue(\n step(filter_min, valueFromMin) * step(valueFromMax, filter_max)\n );\n }\n } else {\n dataFilter_value = 1.0;\n }\n}\n`;\n\nconst fs = `\nuniform bool filter_transformColor;\nvarying float dataFilter_value;\n`;\n\nconst getUniforms = opts => {\n if (!opts || !opts.extensions) {\n return {};\n }\n const {\n filterRange = [-1, 1],\n filterEnabled = true,\n filterTransformSize = true,\n filterTransformColor = true\n } = opts;\n const filterSoftRange = opts.filterSoftRange || filterRange;\n\n const uniforms = Number.isFinite(filterRange[0])\n ? {\n filter_min: filterRange[0],\n filter_softMin: filterSoftRange[0],\n filter_softMax: filterSoftRange[1],\n filter_max: filterRange[1]\n }\n : {\n filter_min: filterRange.map(r => r[0]),\n filter_softMin: filterSoftRange.map(r => r[0]),\n filter_softMax: filterSoftRange.map(r => r[1]),\n filter_max: filterRange.map(r => r[1])\n };\n uniforms.filter_enabled = filterEnabled;\n uniforms.filter_useSoftMargin = Boolean(opts.filterSoftRange);\n uniforms.filter_transformSize = filterEnabled && filterTransformSize;\n uniforms.filter_transformColor = filterEnabled && filterTransformColor;\n\n return uniforms;\n};\n\nconst getUniforms64 = opts => {\n if (!opts || !opts.extensions) {\n return {};\n }\n const uniforms = getUniforms(opts);\n if (Number.isFinite(uniforms.filter_min)) {\n const min64High = Math.fround(uniforms.filter_min);\n uniforms.filter_min -= min64High;\n uniforms.filter_softMin -= min64High;\n uniforms.filter_min64High = min64High;\n\n const max64High = Math.fround(uniforms.filter_max);\n uniforms.filter_max -= max64High;\n uniforms.filter_softMax -= max64High;\n uniforms.filter_max64High = max64High;\n } else {\n const min64High = uniforms.filter_min.map(Math.fround);\n uniforms.filter_min = uniforms.filter_min.map((x, i) => x - min64High[i]);\n uniforms.filter_softMin = uniforms.filter_softMin.map((x, i) => x - min64High[i]);\n uniforms.filter_min64High = min64High;\n\n const max64High = uniforms.filter_max.map(Math.fround);\n uniforms.filter_max = uniforms.filter_max.map((x, i) => x - max64High[i]);\n uniforms.filter_softMax = uniforms.filter_softMax.map((x, i) => x - max64High[i]);\n uniforms.filter_max64High = max64High;\n }\n return uniforms;\n};\n\nconst inject = {\n 'vs:#main-start': `\n #ifdef DATAFILTER_DOUBLE\n dataFilter_setValue(\n DATAFILTER_ATTRIB - filter_min64High + DATAFILTER_ATTRIB_64LOW,\n DATAFILTER_ATTRIB - filter_max64High + DATAFILTER_ATTRIB_64LOW\n );\n #else\n dataFilter_setValue(DATAFILTER_ATTRIB, DATAFILTER_ATTRIB);\n #endif\n `,\n\n 'vs:DECKGL_FILTER_SIZE': `\n if (filter_transformSize) {\n size = size * dataFilter_value;\n }\n `,\n\n 'fs:DECKGL_FILTER_COLOR': `\n if (dataFilter_value == 0.0) discard;\n if (filter_transformColor) {\n color.a *= dataFilter_value;\n }\n `\n};\n\nexport const shaderModule = {\n name: 'data-filter',\n vs,\n fs,\n inject,\n getUniforms\n};\n\nexport const shaderModule64 = {\n name: 'data-filter-fp64',\n vs,\n fs,\n inject,\n getUniforms: getUniforms64\n};\n"],"file":"shader-module.js"}
1
+ {"version":3,"sources":["../../../src/data-filter/shader-module.js"],"names":["vs","fs","getUniforms","opts","extensions","filterRange","filterEnabled","filterTransformSize","filterTransformColor","filterSoftRange","uniforms","Number","isFinite","filter_min","filter_softMin","filter_softMax","filter_max","map","r","filter_enabled","filter_useSoftMargin","Boolean","filter_transformSize","filter_transformColor","getUniforms64","min64High","Math","fround","filter_min64High","max64High","filter_max64High","x","i","inject","shaderModule","name","shaderModule64"],"mappings":"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","sourcesContent":["/*\n * data filter shader module\n */\nconst vs = `\nuniform DATAFILTER_TYPE filter_min;\nuniform DATAFILTER_TYPE filter_softMin;\nuniform DATAFILTER_TYPE filter_softMax;\nuniform DATAFILTER_TYPE filter_max;\nuniform bool filter_useSoftMargin;\nuniform bool filter_enabled;\nuniform bool filter_transformSize;\n\n#ifdef NON_INSTANCED_MODEL\n #define DATAFILTER_ATTRIB filterValues\n #define DATAFILTER_ATTRIB_64LOW filterValues64Low\n#else\n #define DATAFILTER_ATTRIB instanceFilterValues\n #define DATAFILTER_ATTRIB_64LOW instanceFilterValues64Low\n#endif\n\nattribute DATAFILTER_TYPE DATAFILTER_ATTRIB;\n#ifdef DATAFILTER_DOUBLE\n attribute DATAFILTER_TYPE DATAFILTER_ATTRIB_64LOW;\n\n uniform DATAFILTER_TYPE filter_min64High;\n uniform DATAFILTER_TYPE filter_max64High;\n#endif\n\nvarying float dataFilter_value;\n\nfloat dataFilter_reduceValue(float value) {\n return value;\n}\nfloat dataFilter_reduceValue(vec2 value) {\n return min(value.x, value.y);\n}\nfloat dataFilter_reduceValue(vec3 value) {\n return min(min(value.x, value.y), value.z);\n}\nfloat dataFilter_reduceValue(vec4 value) {\n return min(min(value.x, value.y), min(value.z, value.w));\n}\nvoid dataFilter_setValue(DATAFILTER_TYPE valueFromMin, DATAFILTER_TYPE valueFromMax) {\n if (filter_enabled) {\n if (filter_useSoftMargin) {\n dataFilter_value = dataFilter_reduceValue(\n smoothstep(filter_min, filter_softMin, valueFromMin) *\n (1.0 - smoothstep(filter_softMax, filter_max, valueFromMax))\n );\n } else {\n dataFilter_value = dataFilter_reduceValue(\n step(filter_min, valueFromMin) * step(valueFromMax, filter_max)\n );\n }\n } else {\n dataFilter_value = 1.0;\n }\n}\n`;\n\nconst fs = `\nuniform bool filter_transformColor;\nvarying float dataFilter_value;\n`;\n\nconst getUniforms = opts => {\n if (!opts || !opts.extensions) {\n return {};\n }\n const {\n filterRange = [-1, 1],\n filterEnabled = true,\n filterTransformSize = true,\n filterTransformColor = true\n } = opts;\n const filterSoftRange = opts.filterSoftRange || filterRange;\n\n const uniforms = Number.isFinite(filterRange[0])\n ? {\n filter_min: filterRange[0],\n filter_softMin: filterSoftRange[0],\n filter_softMax: filterSoftRange[1],\n filter_max: filterRange[1]\n }\n : {\n filter_min: filterRange.map(r => r[0]),\n filter_softMin: filterSoftRange.map(r => r[0]),\n filter_softMax: filterSoftRange.map(r => r[1]),\n filter_max: filterRange.map(r => r[1])\n };\n uniforms.filter_enabled = filterEnabled;\n uniforms.filter_useSoftMargin = Boolean(opts.filterSoftRange);\n uniforms.filter_transformSize = filterEnabled && filterTransformSize;\n uniforms.filter_transformColor = filterEnabled && filterTransformColor;\n\n return uniforms;\n};\n\nconst getUniforms64 = opts => {\n if (!opts || !opts.extensions) {\n return {};\n }\n const uniforms = getUniforms(opts);\n if (Number.isFinite(uniforms.filter_min)) {\n const min64High = Math.fround(uniforms.filter_min);\n uniforms.filter_min -= min64High;\n uniforms.filter_softMin -= min64High;\n uniforms.filter_min64High = min64High;\n\n const max64High = Math.fround(uniforms.filter_max);\n uniforms.filter_max -= max64High;\n uniforms.filter_softMax -= max64High;\n uniforms.filter_max64High = max64High;\n } else {\n const min64High = uniforms.filter_min.map(Math.fround);\n uniforms.filter_min = uniforms.filter_min.map((x, i) => x - min64High[i]);\n uniforms.filter_softMin = uniforms.filter_softMin.map((x, i) => x - min64High[i]);\n uniforms.filter_min64High = min64High;\n\n const max64High = uniforms.filter_max.map(Math.fround);\n uniforms.filter_max = uniforms.filter_max.map((x, i) => x - max64High[i]);\n uniforms.filter_softMax = uniforms.filter_softMax.map((x, i) => x - max64High[i]);\n uniforms.filter_max64High = max64High;\n }\n return uniforms;\n};\n\nconst inject = {\n 'vs:#main-start': `\n #ifdef DATAFILTER_DOUBLE\n dataFilter_setValue(\n DATAFILTER_ATTRIB - filter_min64High + DATAFILTER_ATTRIB_64LOW,\n DATAFILTER_ATTRIB - filter_max64High + DATAFILTER_ATTRIB_64LOW\n );\n #else\n dataFilter_setValue(DATAFILTER_ATTRIB, DATAFILTER_ATTRIB);\n #endif\n `,\n\n 'vs:DECKGL_FILTER_SIZE': `\n if (filter_transformSize) {\n size = size * dataFilter_value;\n }\n `,\n\n 'fs:DECKGL_FILTER_COLOR': `\n if (dataFilter_value == 0.0) discard;\n if (filter_transformColor) {\n color.a *= dataFilter_value;\n }\n `\n};\n\nexport const shaderModule = {\n name: 'data-filter',\n vs,\n fs,\n inject,\n getUniforms\n};\n\nexport const shaderModule64 = {\n name: 'data-filter-fp64',\n vs,\n fs,\n inject,\n getUniforms: getUniforms64\n};\n"],"file":"shader-module.js"}
@@ -1,50 +1,24 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.default = void 0;
9
7
 
10
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
24
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
8
  var _core = require("@deck.gl/core");
27
9
 
28
10
  var _core2 = require("@luma.gl/core");
29
11
 
30
12
  var _shaders = require("./shaders.glsl");
31
13
 
32
- var _DEFAULT_TEXTURE_PARA;
33
-
34
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
35
-
36
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
37
-
38
- var defaultProps = {
14
+ const defaultProps = {
39
15
  fillPatternEnabled: true,
40
16
  fillPatternAtlas: null,
41
17
  fillPatternMapping: null,
42
18
  fillPatternMask: true,
43
19
  getFillPattern: {
44
20
  type: 'accessor',
45
- value: function value(d) {
46
- return d.pattern;
47
- }
21
+ value: d => d.pattern
48
22
  },
49
23
  getFillPatternScale: {
50
24
  type: 'accessor',
@@ -55,254 +29,194 @@ var defaultProps = {
55
29
  value: [0, 0]
56
30
  }
57
31
  };
58
- var DEFAULT_TEXTURE_PARAMETERS = (_DEFAULT_TEXTURE_PARA = {}, (0, _defineProperty2.default)(_DEFAULT_TEXTURE_PARA, 10241, 9729), (0, _defineProperty2.default)(_DEFAULT_TEXTURE_PARA, 10240, 9729), (0, _defineProperty2.default)(_DEFAULT_TEXTURE_PARA, 10242, 33071), (0, _defineProperty2.default)(_DEFAULT_TEXTURE_PARA, 10243, 33071), _DEFAULT_TEXTURE_PARA);
59
-
60
- var FillStyleExtension = function (_LayerExtension) {
61
- (0, _inherits2.default)(FillStyleExtension, _LayerExtension);
62
-
63
- var _super = _createSuper(FillStyleExtension);
64
-
65
- function FillStyleExtension() {
66
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
67
- _ref$pattern = _ref.pattern,
68
- pattern = _ref$pattern === void 0 ? false : _ref$pattern;
32
+ const DEFAULT_TEXTURE_PARAMETERS = {
33
+ [10241]: 9729,
34
+ [10240]: 9729,
35
+ [10242]: 33071,
36
+ [10243]: 33071
37
+ };
69
38
 
70
- (0, _classCallCheck2.default)(this, FillStyleExtension);
71
- return _super.call(this, {
72
- pattern: pattern
39
+ class FillStyleExtension extends _core.LayerExtension {
40
+ constructor({
41
+ pattern = false
42
+ } = {}) {
43
+ super({
44
+ pattern
73
45
  });
74
46
  }
75
47
 
76
- (0, _createClass2.default)(FillStyleExtension, [{
77
- key: "isEnabled",
78
- value: function isEnabled(layer) {
79
- return layer.getAttributeManager() && !layer.state.pathTesselator;
80
- }
81
- }, {
82
- key: "getShaders",
83
- value: function getShaders(extension) {
84
- if (!extension.isEnabled(this)) {
85
- return null;
86
- }
48
+ isEnabled(layer) {
49
+ return layer.getAttributeManager() && !layer.state.pathTesselator;
50
+ }
87
51
 
88
- return {
89
- modules: [extension.opts.pattern && _shaders.patternShaders].filter(Boolean)
90
- };
52
+ getShaders(extension) {
53
+ if (!extension.isEnabled(this)) {
54
+ return null;
91
55
  }
92
- }, {
93
- key: "initializeState",
94
- value: function initializeState(context, extension) {
95
- if (!extension.isEnabled(this)) {
96
- return;
97
- }
98
56
 
99
- var attributeManager = this.getAttributeManager();
57
+ return {
58
+ modules: [extension.opts.pattern && _shaders.patternShaders].filter(Boolean)
59
+ };
60
+ }
61
+
62
+ initializeState(context, extension) {
63
+ if (!extension.isEnabled(this)) {
64
+ return;
65
+ }
100
66
 
101
- if (extension.opts.pattern) {
102
- attributeManager.add({
103
- fillPatternFrames: {
104
- size: 4,
105
- accessor: 'getFillPattern',
106
- transform: extension.getPatternFrame.bind(this),
107
- shaderAttributes: {
108
- fillPatternFrames: {
109
- divisor: 0
110
- },
111
- instanceFillPatternFrames: {
112
- divisor: 1
113
- }
67
+ const attributeManager = this.getAttributeManager();
68
+
69
+ if (extension.opts.pattern) {
70
+ attributeManager.add({
71
+ fillPatternFrames: {
72
+ size: 4,
73
+ accessor: 'getFillPattern',
74
+ transform: extension.getPatternFrame.bind(this),
75
+ shaderAttributes: {
76
+ fillPatternFrames: {
77
+ divisor: 0
78
+ },
79
+ instanceFillPatternFrames: {
80
+ divisor: 1
114
81
  }
115
- },
116
- fillPatternScales: {
117
- size: 1,
118
- accessor: 'getFillPatternScale',
119
- defaultValue: 1,
120
- shaderAttributes: {
121
- fillPatternScales: {
122
- divisor: 0
123
- },
124
- instanceFillPatternScales: {
125
- divisor: 1
126
- }
82
+ }
83
+ },
84
+ fillPatternScales: {
85
+ size: 1,
86
+ accessor: 'getFillPatternScale',
87
+ defaultValue: 1,
88
+ shaderAttributes: {
89
+ fillPatternScales: {
90
+ divisor: 0
91
+ },
92
+ instanceFillPatternScales: {
93
+ divisor: 1
127
94
  }
128
- },
129
- fillPatternOffsets: {
130
- size: 2,
131
- accessor: 'getFillPatternOffset',
132
- shaderAttributes: {
133
- fillPatternOffsets: {
134
- divisor: 0
135
- },
136
- instanceFillPatternOffsets: {
137
- divisor: 1
138
- }
95
+ }
96
+ },
97
+ fillPatternOffsets: {
98
+ size: 2,
99
+ accessor: 'getFillPatternOffset',
100
+ shaderAttributes: {
101
+ fillPatternOffsets: {
102
+ divisor: 0
103
+ },
104
+ instanceFillPatternOffsets: {
105
+ divisor: 1
139
106
  }
140
107
  }
141
- });
142
- }
143
-
144
- this.setState({
145
- emptyTexture: new _core2.Texture2D(this.context.gl, {
146
- data: new Uint8Array(4),
147
- width: 1,
148
- height: 1
149
- })
108
+ }
150
109
  });
151
110
  }
152
- }, {
153
- key: "updateState",
154
- value: function updateState(_ref2, extension) {
155
- var props = _ref2.props,
156
- oldProps = _ref2.oldProps;
157
111
 
158
- if (!extension.isEnabled(this)) {
159
- return;
160
- }
161
-
162
- if (props.fillPatternAtlas && props.fillPatternAtlas !== oldProps.fillPatternAtlas) {
163
- extension.loadPatternAtlas.call(this, props);
164
- }
112
+ this.setState({
113
+ emptyTexture: new _core2.Texture2D(this.context.gl, {
114
+ data: new Uint8Array(4),
115
+ width: 1,
116
+ height: 1
117
+ })
118
+ });
119
+ }
165
120
 
166
- if (props.fillPatternMapping && props.fillPatternMapping !== oldProps.fillPatternMapping) {
167
- extension.loadPatternMapping.call(this, props);
168
- }
121
+ updateState({
122
+ props,
123
+ oldProps
124
+ }, extension) {
125
+ if (!extension.isEnabled(this)) {
126
+ return;
169
127
  }
170
- }, {
171
- key: "draw",
172
- value: function draw(params, extension) {
173
- if (!extension.isEnabled(this)) {
174
- return;
175
- }
176
128
 
177
- var patternTexture = this.state.patternTexture;
178
- this.setModuleParameters({
179
- fillPatternTexture: patternTexture || this.state.emptyTexture
180
- });
181
- }
182
- }, {
183
- key: "finalizeState",
184
- value: function finalizeState() {
185
- var _this$state = this.state,
186
- patternTexture = _this$state.patternTexture,
187
- emptyTexture = _this$state.emptyTexture;
188
- patternTexture === null || patternTexture === void 0 ? void 0 : patternTexture.delete();
189
- emptyTexture === null || emptyTexture === void 0 ? void 0 : emptyTexture.delete();
129
+ if (props.fillPatternAtlas && props.fillPatternAtlas !== oldProps.fillPatternAtlas) {
130
+ extension.loadPatternAtlas.call(this, props);
190
131
  }
191
- }, {
192
- key: "loadPatternAtlas",
193
- value: function () {
194
- var _loadPatternAtlas = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(_ref3) {
195
- var _this$state$patternTe;
196
-
197
- var fillPatternAtlas, fetch, image, patternTexture;
198
- return _regenerator.default.wrap(function _callee$(_context) {
199
- while (1) {
200
- switch (_context.prev = _context.next) {
201
- case 0:
202
- fillPatternAtlas = _ref3.fillPatternAtlas, fetch = _ref3.fetch;
203
- (_this$state$patternTe = this.state.patternTexture) === null || _this$state$patternTe === void 0 ? void 0 : _this$state$patternTe.delete();
204
- this.setState({
205
- patternTexture: null
206
- });
207
- image = fillPatternAtlas;
208
-
209
- if (!(typeof image === 'string')) {
210
- _context.next = 8;
211
- break;
212
- }
213
132
 
214
- _context.next = 7;
215
- return fetch(image, {
216
- propName: 'fillPatternAtlas',
217
- layer: this
218
- });
133
+ if (props.fillPatternMapping && props.fillPatternMapping !== oldProps.fillPatternMapping) {
134
+ extension.loadPatternMapping.call(this, props);
135
+ }
136
+ }
219
137
 
220
- case 7:
221
- image = _context.sent;
138
+ draw(params, extension) {
139
+ if (!extension.isEnabled(this)) {
140
+ return;
141
+ }
222
142
 
223
- case 8:
224
- patternTexture = image instanceof _core2.Texture2D ? image : new _core2.Texture2D(this.context.gl, {
225
- data: image,
226
- parameters: DEFAULT_TEXTURE_PARAMETERS
227
- });
228
- this.setState({
229
- patternTexture: patternTexture
230
- });
143
+ const {
144
+ patternTexture
145
+ } = this.state;
146
+ this.setModuleParameters({
147
+ fillPatternTexture: patternTexture || this.state.emptyTexture
148
+ });
149
+ }
231
150
 
232
- case 10:
233
- case "end":
234
- return _context.stop();
235
- }
236
- }
237
- }, _callee, this);
238
- }));
151
+ finalizeState() {
152
+ const {
153
+ patternTexture,
154
+ emptyTexture
155
+ } = this.state;
156
+ patternTexture === null || patternTexture === void 0 ? void 0 : patternTexture.delete();
157
+ emptyTexture === null || emptyTexture === void 0 ? void 0 : emptyTexture.delete();
158
+ }
239
159
 
240
- function loadPatternAtlas(_x) {
241
- return _loadPatternAtlas.apply(this, arguments);
242
- }
160
+ async loadPatternAtlas({
161
+ fillPatternAtlas,
162
+ fetch
163
+ }) {
164
+ var _this$state$patternTe;
243
165
 
244
- return loadPatternAtlas;
245
- }()
246
- }, {
247
- key: "loadPatternMapping",
248
- value: function () {
249
- var _loadPatternMapping = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(_ref4) {
250
- var fillPatternMapping, fetch, patternMapping;
251
- return _regenerator.default.wrap(function _callee2$(_context2) {
252
- while (1) {
253
- switch (_context2.prev = _context2.next) {
254
- case 0:
255
- fillPatternMapping = _ref4.fillPatternMapping, fetch = _ref4.fetch;
256
- this.setState({
257
- patternMapping: null
258
- });
259
- patternMapping = fillPatternMapping;
166
+ (_this$state$patternTe = this.state.patternTexture) === null || _this$state$patternTe === void 0 ? void 0 : _this$state$patternTe.delete();
167
+ this.setState({
168
+ patternTexture: null
169
+ });
170
+ let image = fillPatternAtlas;
260
171
 
261
- if (!(typeof patternMapping === 'string')) {
262
- _context2.next = 7;
263
- break;
264
- }
172
+ if (typeof image === 'string') {
173
+ image = await fetch(image, {
174
+ propName: 'fillPatternAtlas',
175
+ layer: this
176
+ });
177
+ }
265
178
 
266
- _context2.next = 6;
267
- return fetch(patternMapping, {
268
- propName: 'fillPatternMapping',
269
- layer: this
270
- });
179
+ const patternTexture = image instanceof _core2.Texture2D ? image : new _core2.Texture2D(this.context.gl, {
180
+ data: image,
181
+ parameters: DEFAULT_TEXTURE_PARAMETERS
182
+ });
183
+ this.setState({
184
+ patternTexture
185
+ });
186
+ }
271
187
 
272
- case 6:
273
- patternMapping = _context2.sent;
188
+ async loadPatternMapping({
189
+ fillPatternMapping,
190
+ fetch
191
+ }) {
192
+ this.setState({
193
+ patternMapping: null
194
+ });
195
+ let patternMapping = fillPatternMapping;
274
196
 
275
- case 7:
276
- this.setState({
277
- patternMapping: patternMapping
278
- });
279
- this.getAttributeManager().invalidate('getFillPattern');
280
- this.setNeedsUpdate();
197
+ if (typeof patternMapping === 'string') {
198
+ patternMapping = await fetch(patternMapping, {
199
+ propName: 'fillPatternMapping',
200
+ layer: this
201
+ });
202
+ }
281
203
 
282
- case 10:
283
- case "end":
284
- return _context2.stop();
285
- }
286
- }
287
- }, _callee2, this);
288
- }));
204
+ this.setState({
205
+ patternMapping
206
+ });
207
+ this.getAttributeManager().invalidate('getFillPattern');
208
+ this.setNeedsUpdate();
209
+ }
289
210
 
290
- function loadPatternMapping(_x2) {
291
- return _loadPatternMapping.apply(this, arguments);
292
- }
211
+ getPatternFrame(name) {
212
+ const {
213
+ patternMapping
214
+ } = this.state;
215
+ const def = patternMapping && patternMapping[name];
216
+ return def ? [def.x, def.y, def.width, def.height] : [0, 0, 0, 0];
217
+ }
293
218
 
294
- return loadPatternMapping;
295
- }()
296
- }, {
297
- key: "getPatternFrame",
298
- value: function getPatternFrame(name) {
299
- var patternMapping = this.state.patternMapping;
300
- var def = patternMapping && patternMapping[name];
301
- return def ? [def.x, def.y, def.width, def.height] : [0, 0, 0, 0];
302
- }
303
- }]);
304
- return FillStyleExtension;
305
- }(_core.LayerExtension);
219
+ }
306
220
 
307
221
  exports.default = FillStyleExtension;
308
222
  FillStyleExtension.extensionName = 'FillStyleExtension';