@deck.gl/extensions 9.1.0-beta.1 → 9.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.
Files changed (90) hide show
  1. package/dist/brushing/brushing-extension.js +1 -0
  2. package/dist/brushing/brushing-extension.js.map +1 -0
  3. package/dist/brushing/shader-module.js +1 -0
  4. package/dist/brushing/shader-module.js.map +1 -0
  5. package/dist/clip/clip-extension.js +1 -0
  6. package/dist/clip/clip-extension.js.map +1 -0
  7. package/dist/collision-filter/collision-filter-effect.js +1 -0
  8. package/dist/collision-filter/collision-filter-effect.js.map +1 -0
  9. package/dist/collision-filter/collision-filter-extension.js +1 -0
  10. package/dist/collision-filter/collision-filter-extension.js.map +1 -0
  11. package/dist/collision-filter/collision-filter-pass.d.ts +2 -2
  12. package/dist/collision-filter/collision-filter-pass.d.ts.map +1 -1
  13. package/dist/collision-filter/collision-filter-pass.js +7 -1
  14. package/dist/collision-filter/collision-filter-pass.js.map +1 -0
  15. package/dist/collision-filter/shader-module.js +1 -0
  16. package/dist/collision-filter/shader-module.js.map +1 -0
  17. package/dist/data-filter/aggregator.d.ts.map +1 -1
  18. package/dist/data-filter/aggregator.js +2 -0
  19. package/dist/data-filter/aggregator.js.map +1 -0
  20. package/dist/data-filter/data-filter-extension.d.ts.map +1 -1
  21. package/dist/data-filter/data-filter-extension.js +9 -1
  22. package/dist/data-filter/data-filter-extension.js.map +1 -0
  23. package/dist/data-filter/shader-module.d.ts +1 -1
  24. package/dist/data-filter/shader-module.d.ts.map +1 -1
  25. package/dist/data-filter/shader-module.js +14 -13
  26. package/dist/data-filter/shader-module.js.map +1 -0
  27. package/dist/dist.dev.js +31 -18
  28. package/dist/fill-style/fill-style-extension.js +1 -0
  29. package/dist/fill-style/fill-style-extension.js.map +1 -0
  30. package/dist/fill-style/shader-module.js +1 -0
  31. package/dist/fill-style/shader-module.js.map +1 -0
  32. package/dist/fp64/fp64-extension.js +1 -0
  33. package/dist/fp64/fp64-extension.js.map +1 -0
  34. package/dist/fp64/project64.glsl.js +1 -0
  35. package/dist/fp64/project64.glsl.js.map +1 -0
  36. package/dist/fp64/project64.js +1 -0
  37. package/dist/fp64/project64.js.map +1 -0
  38. package/dist/index.cjs +31 -18
  39. package/dist/index.cjs.map +3 -3
  40. package/dist/index.js +1 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/mask/mask-effect.js +1 -0
  43. package/dist/mask/mask-effect.js.map +1 -0
  44. package/dist/mask/mask-extension.js +1 -0
  45. package/dist/mask/mask-extension.js.map +1 -0
  46. package/dist/mask/mask-pass.d.ts +2 -43
  47. package/dist/mask/mask-pass.d.ts.map +1 -1
  48. package/dist/mask/mask-pass.js +2 -1
  49. package/dist/mask/mask-pass.js.map +1 -0
  50. package/dist/mask/shader-module.js +1 -0
  51. package/dist/mask/shader-module.js.map +1 -0
  52. package/dist/path-style/path-style-extension.js +1 -0
  53. package/dist/path-style/path-style-extension.js.map +1 -0
  54. package/dist/path-style/shaders.glsl.js +1 -0
  55. package/dist/path-style/shaders.glsl.js.map +1 -0
  56. package/dist/terrain/height-map-builder.js +1 -0
  57. package/dist/terrain/height-map-builder.js.map +1 -0
  58. package/dist/terrain/shader-module.d.ts.map +1 -1
  59. package/dist/terrain/shader-module.js +1 -0
  60. package/dist/terrain/shader-module.js.map +1 -0
  61. package/dist/terrain/terrain-cover.js +1 -0
  62. package/dist/terrain/terrain-cover.js.map +1 -0
  63. package/dist/terrain/terrain-effect.js +1 -0
  64. package/dist/terrain/terrain-effect.js.map +1 -0
  65. package/dist/terrain/terrain-extension.js +1 -0
  66. package/dist/terrain/terrain-extension.js.map +1 -0
  67. package/dist/terrain/terrain-pass.d.ts +2 -42
  68. package/dist/terrain/terrain-pass.d.ts.map +1 -1
  69. package/dist/terrain/terrain-pass.js +2 -1
  70. package/dist/terrain/terrain-pass.js.map +1 -0
  71. package/dist/terrain/terrain-picking-pass.d.ts +2 -1
  72. package/dist/terrain/terrain-picking-pass.d.ts.map +1 -1
  73. package/dist/terrain/terrain-picking-pass.js +2 -1
  74. package/dist/terrain/terrain-picking-pass.js.map +1 -0
  75. package/dist/terrain/utils.js +1 -0
  76. package/dist/terrain/utils.js.map +1 -0
  77. package/dist/utils/debug.js +1 -0
  78. package/dist/utils/debug.js.map +1 -0
  79. package/dist/utils/projection-utils.js +1 -0
  80. package/dist/utils/projection-utils.js.map +1 -0
  81. package/dist.min.js +60 -60
  82. package/package.json +7 -7
  83. package/src/collision-filter/collision-filter-pass.ts +8 -3
  84. package/src/data-filter/aggregator.ts +1 -0
  85. package/src/data-filter/data-filter-extension.ts +8 -1
  86. package/src/data-filter/shader-module.ts +14 -14
  87. package/src/mask/mask-pass.ts +13 -3
  88. package/src/terrain/shader-module.ts +1 -1
  89. package/src/terrain/terrain-pass.ts +7 -3
  90. package/src/terrain/terrain-picking-pass.ts +3 -2
package/dist/index.cjs CHANGED
@@ -236,7 +236,7 @@ var uniformBlock2 = (
236
236
  #endif
237
237
  #endif
238
238
  #ifdef DATACATEGORY_TYPE
239
- highp ivec4 categoryBitMask;
239
+ highp uvec4 categoryBitMask;
240
240
  #endif
241
241
  } dataFilter;
242
242
  `
@@ -297,26 +297,26 @@ float dataFilter_reduceValue(vec4 value) {
297
297
  #ifdef DATACATEGORY_TYPE
298
298
  void dataFilter_setCategoryValue(DATACATEGORY_TYPE category) {
299
299
  #if DATACATEGORY_CHANNELS == 1 // One 128-bit mask
300
- int dataFilter_masks = dataFilter.categoryBitMask[int(category / 32.0)];
300
+ uint dataFilter_masks = dataFilter.categoryBitMask[category / 32u];
301
301
  #elif DATACATEGORY_CHANNELS == 2 // Two 64-bit masks
302
- ivec2 dataFilter_masks = ivec2(
303
- dataFilter.categoryBitMask[int(category.x / 32.0)],
304
- dataFilter.categoryBitMask[int(category.y / 32.0) + 2]
302
+ uvec2 dataFilter_masks = uvec2(
303
+ dataFilter.categoryBitMask[category.x / 32u],
304
+ dataFilter.categoryBitMask[category.y / 32u + 2u]
305
305
  );
306
306
  #elif DATACATEGORY_CHANNELS == 3 // Three 32-bit masks
307
- ivec3 dataFilter_masks = dataFilter.categoryBitMask.xyz;
307
+ uvec3 dataFilter_masks = dataFilter.categoryBitMask.xyz;
308
308
  #else // Four 32-bit masks
309
- ivec4 dataFilter_masks = dataFilter.categoryBitMask;
309
+ uvec4 dataFilter_masks = dataFilter.categoryBitMask;
310
310
  #endif
311
311
 
312
312
  // Shift mask and extract relevant bits
313
- DATACATEGORY_TYPE dataFilter_bits = DATACATEGORY_TYPE(dataFilter_masks) / pow(DATACATEGORY_TYPE(2.0), mod(category, 32.0));
314
- dataFilter_bits = mod(floor(dataFilter_bits), 2.0);
313
+ DATACATEGORY_TYPE dataFilter_bits = DATACATEGORY_TYPE(dataFilter_masks) >> (category & 31u);
314
+ dataFilter_bits &= 1u;
315
315
 
316
316
  #if DATACATEGORY_CHANNELS == 1
317
- if(dataFilter_bits == 0.0) dataFilter_value = 0.0;
317
+ if(dataFilter_bits == 0u) dataFilter_value = 0.0;
318
318
  #else
319
- if(any(equal(dataFilter_bits, DATACATEGORY_TYPE(0.0)))) dataFilter_value = 0.0;
319
+ if(any(equal(dataFilter_bits, DATACATEGORY_TYPE(0u)))) dataFilter_value = 0.0;
320
320
  #endif
321
321
  }
322
322
  #endif
@@ -340,7 +340,7 @@ function getUniforms(opts) {
340
340
  if (!opts || !("extensions" in opts)) {
341
341
  return {};
342
342
  }
343
- const { filterRange = [-1, 1], filterEnabled = true, filterTransformSize = true, filterTransformColor = true, categoryBitMask = [0, 0, 0, 0] } = opts;
343
+ const { filterRange = [-1, 1], filterEnabled = true, filterTransformSize = true, filterTransformColor = true, categoryBitMask } = opts;
344
344
  const filterSoftRange = opts.filterSoftRange || filterRange;
345
345
  return {
346
346
  ...Number.isFinite(filterRange[0]) ? {
@@ -358,7 +358,7 @@ function getUniforms(opts) {
358
358
  useSoftMargin: Boolean(opts.filterSoftRange),
359
359
  transformSize: filterEnabled && filterTransformSize,
360
360
  transformColor: filterEnabled && filterTransformColor,
361
- categoryBitMask
361
+ ...categoryBitMask && { categoryBitMask }
362
362
  };
363
363
  }
364
364
  function getUniforms64(opts) {
@@ -564,6 +564,7 @@ function getModel(device, bufferLayout, shaderOptions, useFloatTarget) {
564
564
  vertexCount: 1,
565
565
  isInstanced: false,
566
566
  topology: "point-list",
567
+ disableWarnings: true,
567
568
  vs: AGGREGATE_VS,
568
569
  fs: AGGREGATE_FS,
569
570
  bufferLayout,
@@ -599,6 +600,12 @@ var defaultOptions = {
599
600
  fp64: false,
600
601
  countItems: false
601
602
  };
603
+ var CATEGORY_TYPE_FROM_SIZE = {
604
+ 1: "uint",
605
+ 2: "uvec2",
606
+ 3: "uvec3",
607
+ 4: "uvec4"
608
+ };
602
609
  var DATA_TYPE_FROM_SIZE = {
603
610
  1: "float",
604
611
  2: "vec2",
@@ -613,7 +620,7 @@ var DataFilterExtension = class extends import_core3.LayerExtension {
613
620
  const { categorySize, filterSize, fp64: fp642 } = extension.opts;
614
621
  const defines = {};
615
622
  if (categorySize) {
616
- defines.DATACATEGORY_TYPE = DATA_TYPE_FROM_SIZE[categorySize];
623
+ defines.DATACATEGORY_TYPE = CATEGORY_TYPE_FROM_SIZE[categorySize];
617
624
  defines.DATACATEGORY_CHANNELS = categorySize;
618
625
  }
619
626
  if (filterSize) {
@@ -644,6 +651,7 @@ var DataFilterExtension = class extends import_core3.LayerExtension {
644
651
  size: categorySize,
645
652
  stepMode: "dynamic",
646
653
  accessor: "getFilterCategory",
654
+ type: "uint32",
647
655
  transform: categorySize === 1 ? (d) => extension._getCategoryKey.call(this, d, 0) : (d) => d.map((x, i) => extension._getCategoryKey.call(this, x, i))
648
656
  }
649
657
  });
@@ -1614,7 +1622,12 @@ var CollisionFilterPass = class extends import_core12._LayersPass {
1614
1622
  this.render({ ...options, clearColor, scissorRect, target, pass: "collision" });
1615
1623
  }
1616
1624
  getLayerParameters(layer, layerIndex, viewport) {
1617
- return { ...layer.props.parameters, blend: false, depthRange: [0, 1], depthTest: true };
1625
+ return {
1626
+ ...layer.props.parameters,
1627
+ blend: false,
1628
+ depthWriteEnabled: true,
1629
+ depthCompare: "less-equal"
1630
+ };
1618
1631
  }
1619
1632
  getShaderModuleProps() {
1620
1633
  return {
@@ -2030,7 +2043,7 @@ var MaskPass = class extends import_core17._LayersPass {
2030
2043
  return {
2031
2044
  ...layer.props.parameters,
2032
2045
  blend: true,
2033
- depthTest: false,
2046
+ depthCompare: "always",
2034
2047
  ...MASK_BLENDING
2035
2048
  };
2036
2049
  }
@@ -2797,7 +2810,7 @@ var TerrainPass = class extends import_core23._LayersPass {
2797
2810
  return {
2798
2811
  ...layer.props.parameters,
2799
2812
  blend: true,
2800
- depthTest: false,
2813
+ depthCompare: "always",
2801
2814
  ...layer.props.operation.includes("terrain") && TERRAIN_BLENDING
2802
2815
  };
2803
2816
  }
@@ -2866,7 +2879,7 @@ var TerrainPickingPass = class extends import_core24._PickLayersPass {
2866
2879
  parameters2 = super.getLayerParameters(layer, layerIndex, viewport);
2867
2880
  parameters2.blend = true;
2868
2881
  }
2869
- return { ...parameters2, depthTest: false };
2882
+ return { ...parameters2, depthCompare: "always" };
2870
2883
  }
2871
2884
  getShaderModuleProps(layer, effects, otherShaderModuleProps) {
2872
2885
  return {