@deck.gl/extensions 9.0.8 → 9.0.9

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.
@@ -1 +1 @@
1
- {"version":3,"file":"shader-module.d.ts","sourceRoot":"","sources":["../../src/data-filter/shader-module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAC,wBAAwB,EAAC,mCAAgC;AAMtE,MAAM,MAAM,OAAO,GAAG;IAEpB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACvD;;OAEG;IACH,qBAAqB,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEtC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAErD;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAG5B;;OAEG;IACH,iBAAiB,CAAC,EAAE,cAAc,GAAG,sBAAsB,CAAC;IAC5D;;OAEG;IACH,uBAAuB,CAAC,EAAE,mBAAmB,GAAG,2BAA2B,CAAC;IAC5E;;OAEG;IACH,mBAAmB,CAAC,EAAE,sBAAsB,GAAG,8BAA8B,CAAC;CAC/E,CAAC;AAwGF,KAAK,wBAAwB,GAAG;IAC9B,UAAU,EAAE,GAAG,EAAE,CAAC;CACnB,GAAG,wBAAwB,CAAC;AA0G7B,eAAO,MAAM,YAAY,EAAE,YAAY,CAAC,wBAAwB,CAM/D,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,YAAY,CAAC,wBAAwB,CAMjE,CAAC"}
1
+ {"version":3,"file":"shader-module.d.ts","sourceRoot":"","sources":["../../src/data-filter/shader-module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAC,wBAAwB,EAAC,mCAAgC;AAMtE,MAAM,MAAM,OAAO,GAAG;IAEpB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACvD;;OAEG;IACH,qBAAqB,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEtC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAErD;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAG5B;;OAEG;IACH,iBAAiB,CAAC,EAAE,cAAc,GAAG,sBAAsB,CAAC;IAC5D;;OAEG;IACH,uBAAuB,CAAC,EAAE,mBAAmB,GAAG,2BAA2B,CAAC;IAC5E;;OAEG;IACH,mBAAmB,CAAC,EAAE,sBAAsB,GAAG,8BAA8B,CAAC;CAC/E,CAAC;AAiHF,KAAK,wBAAwB,GAAG;IAC9B,UAAU,EAAE,GAAG,EAAE,CAAC;CACnB,GAAG,wBAAwB,CAAC;AA0G7B,eAAO,MAAM,YAAY,EAAE,YAAY,CAAC,wBAAwB,CAM/D,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,YAAY,CAAC,wBAAwB,CAMjE,CAAC"}
@@ -44,13 +44,20 @@ return min(min(value.x, value.y), value.z);
44
44
  float dataFilter_reduceValue(vec4 value) {
45
45
  return min(min(value.x, value.y), min(value.z, value.w));
46
46
  }
47
- #ifdef DATAFILTER_ATTRIB
47
+ #ifdef DATAFILTER_TYPE
48
48
  void dataFilter_setValue(DATAFILTER_TYPE valueFromMin, DATAFILTER_TYPE valueFromMax) {
49
49
  if (filter_useSoftMargin) {
50
- dataFilter_value = dataFilter_reduceValue(
51
- smoothstep(filter_min, filter_softMin, valueFromMin) *
52
- (1.0 - smoothstep(filter_softMax, filter_max, valueFromMax))
50
+ DATAFILTER_TYPE leftInRange = mix(
51
+ smoothstep(filter_min, filter_softMin, valueFromMin),
52
+ step(filter_min, valueFromMin),
53
+ step(filter_softMin, filter_min)
54
+ );
55
+ DATAFILTER_TYPE rightInRange = mix(
56
+ 1.0 - smoothstep(filter_softMax, filter_max, valueFromMax),
57
+ step(valueFromMax, filter_max),
58
+ step(filter_max, filter_softMax)
53
59
  );
60
+ dataFilter_value = dataFilter_reduceValue(leftInRange * rightInRange);
54
61
  } else {
55
62
  dataFilter_value = dataFilter_reduceValue(
56
63
  step(filter_min, valueFromMin) * step(valueFromMax, filter_max)
package/dist/dist.dev.js CHANGED
@@ -300,13 +300,22 @@ float dataFilter_reduceValue(vec4 value) {
300
300
  return min(min(value.x, value.y), min(value.z, value.w));
301
301
  }
302
302
 
303
- #ifdef DATAFILTER_ATTRIB
303
+ #ifdef DATAFILTER_TYPE
304
304
  void dataFilter_setValue(DATAFILTER_TYPE valueFromMin, DATAFILTER_TYPE valueFromMax) {
305
305
  if (filter_useSoftMargin) {
306
- dataFilter_value = dataFilter_reduceValue(
307
- smoothstep(filter_min, filter_softMin, valueFromMin) *
308
- (1.0 - smoothstep(filter_softMax, filter_max, valueFromMax))
306
+ // smoothstep results are undefined if edge0 ≥ edge1
307
+ // Fallback to ignore filterSoftRange if it is truncated by filterRange
308
+ DATAFILTER_TYPE leftInRange = mix(
309
+ smoothstep(filter_min, filter_softMin, valueFromMin),
310
+ step(filter_min, valueFromMin),
311
+ step(filter_softMin, filter_min)
312
+ );
313
+ DATAFILTER_TYPE rightInRange = mix(
314
+ 1.0 - smoothstep(filter_softMax, filter_max, valueFromMax),
315
+ step(valueFromMax, filter_max),
316
+ step(filter_max, filter_softMax)
309
317
  );
318
+ dataFilter_value = dataFilter_reduceValue(leftInRange * rightInRange);
310
319
  } else {
311
320
  dataFilter_value = dataFilter_reduceValue(
312
321
  step(filter_min, valueFromMin) * step(valueFromMax, filter_max)
package/dist/index.cjs CHANGED
@@ -237,13 +237,20 @@ return min(min(value.x, value.y), value.z);
237
237
  float dataFilter_reduceValue(vec4 value) {
238
238
  return min(min(value.x, value.y), min(value.z, value.w));
239
239
  }
240
- #ifdef DATAFILTER_ATTRIB
240
+ #ifdef DATAFILTER_TYPE
241
241
  void dataFilter_setValue(DATAFILTER_TYPE valueFromMin, DATAFILTER_TYPE valueFromMax) {
242
242
  if (filter_useSoftMargin) {
243
- dataFilter_value = dataFilter_reduceValue(
244
- smoothstep(filter_min, filter_softMin, valueFromMin) *
245
- (1.0 - smoothstep(filter_softMax, filter_max, valueFromMax))
243
+ DATAFILTER_TYPE leftInRange = mix(
244
+ smoothstep(filter_min, filter_softMin, valueFromMin),
245
+ step(filter_min, valueFromMin),
246
+ step(filter_softMin, filter_min)
247
+ );
248
+ DATAFILTER_TYPE rightInRange = mix(
249
+ 1.0 - smoothstep(filter_softMax, filter_max, valueFromMax),
250
+ step(valueFromMax, filter_max),
251
+ step(filter_max, filter_softMax)
246
252
  );
253
+ dataFilter_value = dataFilter_reduceValue(leftInRange * rightInRange);
247
254
  } else {
248
255
  dataFilter_value = dataFilter_reduceValue(
249
256
  step(filter_min, valueFromMin) * step(valueFromMax, filter_max)