@kepler.gl/deckgl-layers 3.3.0-alpha.0 → 3.3.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.
@@ -13,6 +13,7 @@ var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
13
13
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
15
  var _aggregationLayers = require("@deck.gl/aggregation-layers");
16
+ var _aggregationUtils = require("../layer-utils/aggregation-utils");
16
17
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
17
18
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18
19
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
@@ -37,7 +38,11 @@ function getHexbinCentroid(id, radius) {
37
38
  *
38
39
  * We override getPickingInfo to add `cellOutline` — an array of [lng, lat] coordinates
39
40
  * computed in common space so the outline aligns with rendered cells at all latitudes.
41
+ *
42
+ * We also override _onAggregationUpdate to send per-bin aggregated values through
43
+ * onSetColorDomain so the legend can compute proper quantile/custom breaks.
40
44
  */
45
+ // @ts-expect-error -- overriding private _onAggregationUpdate to enrich the onSetColorDomain callback
41
46
  var ScaleEnhancedHexagonLayer = exports["default"] = /*#__PURE__*/function (_HexagonLayer) {
42
47
  function ScaleEnhancedHexagonLayer() {
43
48
  (0, _classCallCheck2["default"])(this, ScaleEnhancedHexagonLayer);
@@ -45,23 +50,39 @@ var ScaleEnhancedHexagonLayer = exports["default"] = /*#__PURE__*/function (_Hex
45
50
  }
46
51
  (0, _inherits2["default"])(ScaleEnhancedHexagonLayer, _HexagonLayer);
47
52
  return (0, _createClass2["default"])(ScaleEnhancedHexagonLayer, [{
53
+ key: "_onAggregationUpdate",
54
+ value:
55
+ // HACK: deck.gl 9's _onAggregationUpdate is private and its onSetColorDomain
56
+ // callback only provides [min, max]. That is sufficient for quantize/linear
57
+ // scales but d3.scaleQuantile needs the *full sorted array* of bin values to
58
+ // compute correct break points — without it the legend labels are wrong
59
+ function _onAggregationUpdate(_ref) {
60
+ var channel = _ref.channel;
61
+ (0, _aggregationUtils.enrichedAggregationUpdate)(this, _aggregationLayers.HexagonLayer, channel);
62
+ }
63
+ }, {
64
+ key: "renderLayers",
65
+ value: function renderLayers() {
66
+ return (0, _aggregationUtils.enrichedRenderLayers)(this, _aggregationLayers.HexagonLayer);
67
+ }
68
+ }, {
48
69
  key: "getPickingInfo",
49
70
  value: function getPickingInfo(params) {
50
71
  var info = _superPropGet(ScaleEnhancedHexagonLayer, "getPickingInfo", this, 3)([params]);
51
72
  if (info.object) {
52
73
  var _this$props$coverage, _hexOriginCommon$, _hexOriginCommon$2;
53
- var _ref = this.state,
54
- radiusCommon = _ref.radiusCommon,
55
- hexOriginCommon = _ref.hexOriginCommon,
56
- aggregatorViewport = _ref.aggregatorViewport;
74
+ var _ref2 = this.state,
75
+ radiusCommon = _ref2.radiusCommon,
76
+ hexOriginCommon = _ref2.hexOriginCommon,
77
+ aggregatorViewport = _ref2.aggregatorViewport;
57
78
  var coverage = (_this$props$coverage = this.props.coverage) !== null && _this$props$coverage !== void 0 ? _this$props$coverage : 1;
58
79
  if (!radiusCommon || !aggregatorViewport) {
59
80
  console.error('ScaleEnhancedHexagonLayer: expected internal state properties ' + '(radiusCommon, aggregatorViewport) are missing. ' + 'Hover outline will not be shown. This may indicate a deck.gl version change.');
60
81
  return info;
61
82
  }
62
- var _ref2 = info.object,
63
- col = _ref2.col,
64
- row = _ref2.row;
83
+ var _ref3 = info.object,
84
+ col = _ref3.col,
85
+ row = _ref3.row;
65
86
  if (typeof col !== 'number' || typeof row !== 'number') return info;
66
87
  var centroid = getHexbinCentroid([col, row], radiusCommon);
67
88
  var ox = (_hexOriginCommon$ = hexOriginCommon === null || hexOriginCommon === void 0 ? void 0 : hexOriginCommon[0]) !== null && _hexOriginCommon$ !== void 0 ? _hexOriginCommon$ : 0;
@@ -84,4 +105,4 @@ var ScaleEnhancedHexagonLayer = exports["default"] = /*#__PURE__*/function (_Hex
84
105
  gpuAggregation: false
85
106
  }));
86
107
  ScaleEnhancedHexagonLayer.layerName = 'ScaleEnhancedHexagonLayer';
87
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYWdncmVnYXRpb25MYXllcnMiLCJyZXF1aXJlIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsImNhbGwiLCJfc3VwZXJQcm9wR2V0IiwicCIsIl9nZXQyIiwiVEhJUkRfUEkiLCJNYXRoIiwiUEkiLCJIZXhiaW5WZXJ0aWNlcyIsIkFycmF5IiwiZnJvbSIsIl8iLCJpIiwiYW5nbGUiLCJzaW4iLCJjb3MiLCJnZXRIZXhiaW5DZW50cm9pZCIsImlkIiwicmFkaXVzIiwiRElTVF9YIiwiRElTVF9ZIiwiU2NhbGVFbmhhbmNlZEhleGFnb25MYXllciIsImV4cG9ydHMiLCJfSGV4YWdvbkxheWVyIiwiX2NsYXNzQ2FsbENoZWNrMiIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwidmFsdWUiLCJnZXRQaWNraW5nSW5mbyIsInBhcmFtcyIsImluZm8iLCJvYmplY3QiLCJfdGhpcyRwcm9wcyRjb3ZlcmFnZSIsIl9oZXhPcmlnaW5Db21tb24kIiwiX2hleE9yaWdpbkNvbW1vbiQyIiwiX3JlZiIsInN0YXRlIiwicmFkaXVzQ29tbW9uIiwiaGV4T3JpZ2luQ29tbW9uIiwiYWdncmVnYXRvclZpZXdwb3J0IiwiY292ZXJhZ2UiLCJwcm9wcyIsImNvbnNvbGUiLCJlcnJvciIsIl9yZWYyIiwiY29sIiwicm93IiwiY2VudHJvaWQiLCJveCIsIm95Iiwib3V0bGluZSIsInZ4IiwidnkiLCJ1bnByb2plY3RGbGF0IiwiY2VsbE91dGxpbmUiLCJIZXhhZ29uTGF5ZXIiLCJkZWZhdWx0UHJvcHMiLCJncHVBZ2dyZWdhdGlvbiIsImxheWVyTmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZXhhZ29uLWxheWVyL2VuaGFuY2VkLWhleGFnb24tbGF5ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtIZXhhZ29uTGF5ZXIsIEhleGFnb25MYXllclBpY2tpbmdJbmZvfSBmcm9tICdAZGVjay5nbC9hZ2dyZWdhdGlvbi1sYXllcnMnO1xuaW1wb3J0IHtHZXRQaWNraW5nSW5mb1BhcmFtcywgUGlja2luZ0luZm8sIFZpZXdwb3J0fSBmcm9tICdAZGVjay5nbC9jb3JlJztcblxuY29uc3QgVEhJUkRfUEkgPSBNYXRoLlBJIC8gMztcbmNvbnN0IEhleGJpblZlcnRpY2VzID0gQXJyYXkuZnJvbSh7bGVuZ3RoOiA2fSwgKF8sIGkpID0+IHtcbiAgY29uc3QgYW5nbGUgPSBpICogVEhJUkRfUEk7XG4gIHJldHVybiBbTWF0aC5zaW4oYW5nbGUpLCAtTWF0aC5jb3MoYW5nbGUpXTtcbn0pO1xuXG5mdW5jdGlvbiBnZXRIZXhiaW5DZW50cm9pZChpZDogW251bWJlciwgbnVtYmVyXSwgcmFkaXVzOiBudW1iZXIpOiBbbnVtYmVyLCBudW1iZXJdIHtcbiAgY29uc3QgRElTVF9YID0gMiAqIE1hdGguc2luKFRISVJEX1BJKTtcbiAgY29uc3QgRElTVF9ZID0gMS41O1xuICByZXR1cm4gWyhpZFswXSArIChpZFsxXSAmIDEpIC8gMikgKiByYWRpdXMgKiBESVNUX1gsIGlkWzFdICogcmFkaXVzICogRElTVF9ZXTtcbn1cblxuaW50ZXJmYWNlIEhleEludGVybmFsU3RhdGUge1xuICByYWRpdXNDb21tb24/OiBudW1iZXI7XG4gIGhleE9yaWdpbkNvbW1vbj86IFtudW1iZXIsIG51bWJlcl07XG4gIGFnZ3JlZ2F0b3JWaWV3cG9ydD86IFZpZXdwb3J0ICYge3VucHJvamVjdEZsYXQoeHk6IG51bWJlcltdKTogbnVtYmVyW119O1xufVxuXG5pbnRlcmZhY2UgSGV4UGlja2luZ09iamVjdCB7XG4gIGNvbDogbnVtYmVyO1xuICByb3c6IG51bWJlcjtcbiAgY2VsbE91dGxpbmU/OiBudW1iZXJbXVtdO1xuICBba2V5OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG4vKipcbiAqIEluIGRlY2suZ2wgOSwgSGV4YWdvbkxheWVyIG5hdGl2ZWx5IHN1cHBvcnRzIENQVSBhZ2dyZWdhdGlvbiB2aWEgZ3B1QWdncmVnYXRpb246IGZhbHNlLFxuICogY3VzdG9tIGdldENvbG9yVmFsdWUvZ2V0RWxldmF0aW9uVmFsdWUgYWNjZXNzb3JzLCBwZXJjZW50aWxlIGZpbHRlcmluZywgYW5kIHNjYWxlIHR5cGVzLlxuICpcbiAqIFdlIG92ZXJyaWRlIGdldFBpY2tpbmdJbmZvIHRvIGFkZCBgY2VsbE91dGxpbmVgIOKAlCBhbiBhcnJheSBvZiBbbG5nLCBsYXRdIGNvb3JkaW5hdGVzXG4gKiBjb21wdXRlZCBpbiBjb21tb24gc3BhY2Ugc28gdGhlIG91dGxpbmUgYWxpZ25zIHdpdGggcmVuZGVyZWQgY2VsbHMgYXQgYWxsIGxhdGl0dWRlcy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2NhbGVFbmhhbmNlZEhleGFnb25MYXllciBleHRlbmRzIEhleGFnb25MYXllcjxhbnk+IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICAuLi5IZXhhZ29uTGF5ZXIuZGVmYXVsdFByb3BzLFxuICAgIGdwdUFnZ3JlZ2F0aW9uOiBmYWxzZVxuICB9O1xuXG4gIGdldFBpY2tpbmdJbmZvKHBhcmFtczogR2V0UGlja2luZ0luZm9QYXJhbXMpOiBQaWNraW5nSW5mbyB7XG4gICAgY29uc3QgaW5mbyA9IHN1cGVyLmdldFBpY2tpbmdJbmZvKHBhcmFtcykgYXMgSGV4YWdvbkxheWVyUGlja2luZ0luZm88UmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuICAgIGlmIChpbmZvLm9iamVjdCkge1xuICAgICAgY29uc3Qge3JhZGl1c0NvbW1vbiwgaGV4T3JpZ2luQ29tbW9uLCBhZ2dyZWdhdG9yVmlld3BvcnR9ID0gdGhpc1xuICAgICAgICAuc3RhdGUgYXMgdW5rbm93biBhcyBIZXhJbnRlcm5hbFN0YXRlO1xuICAgICAgY29uc3QgY292ZXJhZ2UgPSB0aGlzLnByb3BzLmNvdmVyYWdlID8/IDE7XG4gICAgICBpZiAoIXJhZGl1c0NvbW1vbiB8fCAhYWdncmVnYXRvclZpZXdwb3J0KSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgJ1NjYWxlRW5oYW5jZWRIZXhhZ29uTGF5ZXI6IGV4cGVjdGVkIGludGVybmFsIHN0YXRlIHByb3BlcnRpZXMgJyArXG4gICAgICAgICAgICAnKHJhZGl1c0NvbW1vbiwgYWdncmVnYXRvclZpZXdwb3J0KSBhcmUgbWlzc2luZy4gJyArXG4gICAgICAgICAgICAnSG92ZXIgb3V0bGluZSB3aWxsIG5vdCBiZSBzaG93bi4gVGhpcyBtYXkgaW5kaWNhdGUgYSBkZWNrLmdsIHZlcnNpb24gY2hhbmdlLidcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIGluZm87XG4gICAgICB9XG4gICAgICBjb25zdCB7Y29sLCByb3d9ID0gaW5mby5vYmplY3QgYXMgSGV4UGlja2luZ09iamVjdDtcbiAgICAgIGlmICh0eXBlb2YgY29sICE9PSAnbnVtYmVyJyB8fCB0eXBlb2Ygcm93ICE9PSAnbnVtYmVyJykgcmV0dXJuIGluZm87XG4gICAgICBjb25zdCBjZW50cm9pZCA9IGdldEhleGJpbkNlbnRyb2lkKFtjb2wsIHJvd10sIHJhZGl1c0NvbW1vbik7XG4gICAgICBjb25zdCBveCA9IGhleE9yaWdpbkNvbW1vbj8uWzBdID8/IDA7XG4gICAgICBjb25zdCBveSA9IGhleE9yaWdpbkNvbW1vbj8uWzFdID8/IDA7XG4gICAgICBjb25zdCByID0gcmFkaXVzQ29tbW9uICogY292ZXJhZ2U7XG5cbiAgICAgIGNvbnN0IG91dGxpbmU6IG51bWJlcltdW10gPSBbXTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNjsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHZ4ID0gY2VudHJvaWRbMF0gKyByICogSGV4YmluVmVydGljZXNbaV1bMF0gKyBveDtcbiAgICAgICAgY29uc3QgdnkgPSBjZW50cm9pZFsxXSArIHIgKiBIZXhiaW5WZXJ0aWNlc1tpXVsxXSArIG95O1xuICAgICAgICBvdXRsaW5lLnB1c2goYWdncmVnYXRvclZpZXdwb3J0LnVucHJvamVjdEZsYXQoW3Z4LCB2eV0pKTtcbiAgICAgIH1cbiAgICAgIG91dGxpbmUucHVzaChvdXRsaW5lWzBdKTtcbiAgICAgIChpbmZvLm9iamVjdCBhcyBIZXhQaWNraW5nT2JqZWN0KS5jZWxsT3V0bGluZSA9IG91dGxpbmU7XG4gICAgfVxuICAgIHJldHVybiBpbmZvO1xuICB9XG59XG5cblNjYWxlRW5oYW5jZWRIZXhhZ29uTGF5ZXIubGF5ZXJOYW1lID0gJ1NjYWxlRW5oYW5jZWRIZXhhZ29uTGF5ZXInO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLGtCQUFBLEdBQUFDLE9BQUE7QUFBa0YsU0FBQUMsUUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFKLENBQUEsT0FBQUcsTUFBQSxDQUFBRSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFILE1BQUEsQ0FBQUUscUJBQUEsQ0FBQUwsQ0FBQSxHQUFBQyxDQUFBLEtBQUFLLENBQUEsR0FBQUEsQ0FBQSxDQUFBQyxNQUFBLFdBQUFO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
108
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYWdncmVnYXRpb25MYXllcnMiLCJyZXF1aXJlIiwiX2FnZ3JlZ2F0aW9uVXRpbHMiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwiY2FsbCIsIl9zdXBlclByb3BHZXQiLCJwIiwiX2dldDIiLCJUSElSRF9QSSIsIk1hdGgiLCJQSSIsIkhleGJpblZlcnRpY2VzIiwiQXJyYXkiLCJmcm9tIiwiXyIsImkiLCJhbmdsZSIsInNpbiIsImNvcyIsImdldEhleGJpbkNlbnRyb2lkIiwiaWQiLCJyYWRpdXMiLCJESVNUX1giLCJESVNUX1kiLCJTY2FsZUVuaGFuY2VkSGV4YWdvbkxheWVyIiwiZXhwb3J0cyIsIl9IZXhhZ29uTGF5ZXIiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJrZXkiLCJ2YWx1ZSIsIl9vbkFnZ3JlZ2F0aW9uVXBkYXRlIiwiX3JlZiIsImNoYW5uZWwiLCJlbnJpY2hlZEFnZ3JlZ2F0aW9uVXBkYXRlIiwiSGV4YWdvbkxheWVyIiwicmVuZGVyTGF5ZXJzIiwiZW5yaWNoZWRSZW5kZXJMYXllcnMiLCJnZXRQaWNraW5nSW5mbyIsInBhcmFtcyIsImluZm8iLCJvYmplY3QiLCJfdGhpcyRwcm9wcyRjb3ZlcmFnZSIsIl9oZXhPcmlnaW5Db21tb24kIiwiX2hleE9yaWdpbkNvbW1vbiQyIiwiX3JlZjIiLCJzdGF0ZSIsInJhZGl1c0NvbW1vbiIsImhleE9yaWdpbkNvbW1vbiIsImFnZ3JlZ2F0b3JWaWV3cG9ydCIsImNvdmVyYWdlIiwicHJvcHMiLCJjb25zb2xlIiwiZXJyb3IiLCJfcmVmMyIsImNvbCIsInJvdyIsImNlbnRyb2lkIiwib3giLCJveSIsIm91dGxpbmUiLCJ2eCIsInZ5IiwidW5wcm9qZWN0RmxhdCIsImNlbGxPdXRsaW5lIiwiZGVmYXVsdFByb3BzIiwiZ3B1QWdncmVnYXRpb24iLCJsYXllck5hbWUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaGV4YWdvbi1sYXllci9lbmhhbmNlZC1oZXhhZ29uLWxheWVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7SGV4YWdvbkxheWVyLCBIZXhhZ29uTGF5ZXJQaWNraW5nSW5mb30gZnJvbSAnQGRlY2suZ2wvYWdncmVnYXRpb24tbGF5ZXJzJztcbmltcG9ydCB7R2V0UGlja2luZ0luZm9QYXJhbXMsIFBpY2tpbmdJbmZvLCBWaWV3cG9ydH0gZnJvbSAnQGRlY2suZ2wvY29yZSc7XG5pbXBvcnQge2VucmljaGVkQWdncmVnYXRpb25VcGRhdGUsIGVucmljaGVkUmVuZGVyTGF5ZXJzfSBmcm9tICcuLi9sYXllci11dGlscy9hZ2dyZWdhdGlvbi11dGlscyc7XG5cbmNvbnN0IFRISVJEX1BJID0gTWF0aC5QSSAvIDM7XG5jb25zdCBIZXhiaW5WZXJ0aWNlcyA9IEFycmF5LmZyb20oe2xlbmd0aDogNn0sIChfLCBpKSA9PiB7XG4gIGNvbnN0IGFuZ2xlID0gaSAqIFRISVJEX1BJO1xuICByZXR1cm4gW01hdGguc2luKGFuZ2xlKSwgLU1hdGguY29zKGFuZ2xlKV07XG59KTtcblxuZnVuY3Rpb24gZ2V0SGV4YmluQ2VudHJvaWQoaWQ6IFtudW1iZXIsIG51bWJlcl0sIHJhZGl1czogbnVtYmVyKTogW251bWJlciwgbnVtYmVyXSB7XG4gIGNvbnN0IERJU1RfWCA9IDIgKiBNYXRoLnNpbihUSElSRF9QSSk7XG4gIGNvbnN0IERJU1RfWSA9IDEuNTtcbiAgcmV0dXJuIFsoaWRbMF0gKyAoaWRbMV0gJiAxKSAvIDIpICogcmFkaXVzICogRElTVF9YLCBpZFsxXSAqIHJhZGl1cyAqIERJU1RfWV07XG59XG5cbmludGVyZmFjZSBIZXhJbnRlcm5hbFN0YXRlIHtcbiAgcmFkaXVzQ29tbW9uPzogbnVtYmVyO1xuICBoZXhPcmlnaW5Db21tb24/OiBbbnVtYmVyLCBudW1iZXJdO1xuICBhZ2dyZWdhdG9yVmlld3BvcnQ/OiBWaWV3cG9ydCAmIHt1bnByb2plY3RGbGF0KHh5OiBudW1iZXJbXSk6IG51bWJlcltdfTtcbn1cblxuaW50ZXJmYWNlIEhleFBpY2tpbmdPYmplY3Qge1xuICBjb2w6IG51bWJlcjtcbiAgcm93OiBudW1iZXI7XG4gIGNlbGxPdXRsaW5lPzogbnVtYmVyW11bXTtcbiAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBJbiBkZWNrLmdsIDksIEhleGFnb25MYXllciBuYXRpdmVseSBzdXBwb3J0cyBDUFUgYWdncmVnYXRpb24gdmlhIGdwdUFnZ3JlZ2F0aW9uOiBmYWxzZSxcbiAqIGN1c3RvbSBnZXRDb2xvclZhbHVlL2dldEVsZXZhdGlvblZhbHVlIGFjY2Vzc29ycywgcGVyY2VudGlsZSBmaWx0ZXJpbmcsIGFuZCBzY2FsZSB0eXBlcy5cbiAqXG4gKiBXZSBvdmVycmlkZSBnZXRQaWNraW5nSW5mbyB0byBhZGQgYGNlbGxPdXRsaW5lYCDigJQgYW4gYXJyYXkgb2YgW2xuZywgbGF0XSBjb29yZGluYXRlc1xuICogY29tcHV0ZWQgaW4gY29tbW9uIHNwYWNlIHNvIHRoZSBvdXRsaW5lIGFsaWducyB3aXRoIHJlbmRlcmVkIGNlbGxzIGF0IGFsbCBsYXRpdHVkZXMuXG4gKlxuICogV2UgYWxzbyBvdmVycmlkZSBfb25BZ2dyZWdhdGlvblVwZGF0ZSB0byBzZW5kIHBlci1iaW4gYWdncmVnYXRlZCB2YWx1ZXMgdGhyb3VnaFxuICogb25TZXRDb2xvckRvbWFpbiBzbyB0aGUgbGVnZW5kIGNhbiBjb21wdXRlIHByb3BlciBxdWFudGlsZS9jdXN0b20gYnJlYWtzLlxuICovXG4vLyBAdHMtZXhwZWN0LWVycm9yIC0tIG92ZXJyaWRpbmcgcHJpdmF0ZSBfb25BZ2dyZWdhdGlvblVwZGF0ZSB0byBlbnJpY2ggdGhlIG9uU2V0Q29sb3JEb21haW4gY2FsbGJhY2tcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNjYWxlRW5oYW5jZWRIZXhhZ29uTGF5ZXIgZXh0ZW5kcyBIZXhhZ29uTGF5ZXI8YW55PiB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgLi4uSGV4YWdvbkxheWVyLmRlZmF1bHRQcm9wcyxcbiAgICBncHVBZ2dyZWdhdGlvbjogZmFsc2VcbiAgfTtcblxuICAvLyBIQUNLOiBkZWNrLmdsIDkncyBfb25BZ2dyZWdhdGlvblVwZGF0ZSBpcyBwcml2YXRlIGFuZCBpdHMgb25TZXRDb2xvckRvbWFpblxuICAvLyBjYWxsYmFjayBvbmx5IHByb3ZpZGVzIFttaW4sIG1heF0uICBUaGF0IGlzIHN1ZmZpY2llbnQgZm9yIHF1YW50aXplL2xpbmVhclxuICAvLyBzY2FsZXMgYnV0IGQzLnNjYWxlUXVhbnRpbGUgbmVlZHMgdGhlICpmdWxsIHNvcnRlZCBhcnJheSogb2YgYmluIHZhbHVlcyB0b1xuICAvLyBjb21wdXRlIGNvcnJlY3QgYnJlYWsgcG9pbnRzIOKAlCB3aXRob3V0IGl0IHRoZSBsZWdlbmQgbGFiZWxzIGFyZSB3cm9uZ1xuICBfb25BZ2dyZWdhdGlvblVwZGF0ZSh7Y2hhbm5lbH06IHtjaGFubmVsOiBudW1iZXJ9KSB7XG4gICAgZW5yaWNoZWRBZ2dyZWdhdGlvblVwZGF0ZSh0aGlzLCBIZXhhZ29uTGF5ZXIsIGNoYW5uZWwpO1xuICB9XG5cbiAgcmVuZGVyTGF5ZXJzKCkge1xuICAgIHJldHVybiBlbnJpY2hlZFJlbmRlckxheWVycyh0aGlzLCBIZXhhZ29uTGF5ZXIpO1xuICB9XG5cbiAgZ2V0UGlja2luZ0luZm8ocGFyYW1zOiBHZXRQaWNraW5nSW5mb1BhcmFtcyk6IFBpY2tpbmdJbmZvIHtcbiAgICBjb25zdCBpbmZvID0gc3VwZXIuZ2V0UGlja2luZ0luZm8ocGFyYW1zKSBhcyBIZXhhZ29uTGF5ZXJQaWNraW5nSW5mbzxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj47XG4gICAgaWYgKGluZm8ub2JqZWN0KSB7XG4gICAgICBjb25zdCB7cmFkaXVzQ29tbW9uLCBoZXhPcmlnaW5Db21tb24sIGFnZ3JlZ2F0b3JWaWV3cG9ydH0gPSB0aGlzXG4gICAgICAgIC5zdGF0ZSBhcyB1bmtub3duIGFzIEhleEludGVybmFsU3RhdGU7XG4gICAgICBjb25zdCBjb3ZlcmFnZSA9IHRoaXMucHJvcHMuY292ZXJhZ2UgPz8gMTtcbiAgICAgIGlmICghcmFkaXVzQ29tbW9uIHx8ICFhZ2dyZWdhdG9yVmlld3BvcnQpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAnU2NhbGVFbmhhbmNlZEhleGFnb25MYXllcjogZXhwZWN0ZWQgaW50ZXJuYWwgc3RhdGUgcHJvcGVydGllcyAnICtcbiAgICAgICAgICAgICcocmFkaXVzQ29tbW9uLCBhZ2dyZWdhdG9yVmlld3BvcnQpIGFyZSBtaXNzaW5nLiAnICtcbiAgICAgICAgICAgICdIb3ZlciBvdXRsaW5lIHdpbGwgbm90IGJlIHNob3duLiBUaGlzIG1heSBpbmRpY2F0ZSBhIGRlY2suZ2wgdmVyc2lvbiBjaGFuZ2UuJ1xuICAgICAgICApO1xuICAgICAgICByZXR1cm4gaW5mbztcbiAgICAgIH1cbiAgICAgIGNvbnN0IHtjb2wsIHJvd30gPSBpbmZvLm9iamVjdCBhcyBIZXhQaWNraW5nT2JqZWN0O1xuICAgICAgaWYgKHR5cGVvZiBjb2wgIT09ICdudW1iZXInIHx8IHR5cGVvZiByb3cgIT09ICdudW1iZXInKSByZXR1cm4gaW5mbztcbiAgICAgIGNvbnN0IGNlbnRyb2lkID0gZ2V0SGV4YmluQ2VudHJvaWQoW2NvbCwgcm93XSwgcmFkaXVzQ29tbW9uKTtcbiAgICAgIGNvbnN0IG94ID0gaGV4T3JpZ2luQ29tbW9uPy5bMF0gPz8gMDtcbiAgICAgIGNvbnN0IG95ID0gaGV4T3JpZ2luQ29tbW9uPy5bMV0gPz8gMDtcbiAgICAgIGNvbnN0IHIgPSByYWRpdXNDb21tb24gKiBjb3ZlcmFnZTtcblxuICAgICAgY29uc3Qgb3V0bGluZTogbnVtYmVyW11bXSA9IFtdO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA2OyBpKyspIHtcbiAgICAgICAgY29uc3QgdnggPSBjZW50cm9pZFswXSArIHIgKiBIZXhiaW5WZXJ0aWNlc1tpXVswXSArIG94O1xuICAgICAgICBjb25zdCB2eSA9IGNlbnRyb2lkWzFdICsgciAqIEhleGJpblZlcnRpY2VzW2ldWzFdICsgb3k7XG4gICAgICAgIG91dGxpbmUucHVzaChhZ2dyZWdhdG9yVmlld3BvcnQudW5wcm9qZWN0RmxhdChbdngsIHZ5XSkpO1xuICAgICAgfVxuICAgICAgb3V0bGluZS5wdXNoKG91dGxpbmVbMF0pO1xuICAgICAgKGluZm8ub2JqZWN0IGFzIEhleFBpY2tpbmdPYmplY3QpLmNlbGxPdXRsaW5lID0gb3V0bGluZTtcbiAgICB9XG4gICAgcmV0dXJuIGluZm87XG4gIH1cbn1cblxuU2NhbGVFbmhhbmNlZEhleGFnb25MYXllci5sYXllck5hbWUgPSAnU2NhbGVFbmhhbmNlZEhleGFnb25MYXllcic7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsa0JBQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLGlCQUFBLEdBQUFELE9BQUE7QUFBaUcsU0FBQUUsUUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEs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
package/dist/index.d.ts CHANGED
@@ -11,5 +11,6 @@ export { default as RasterMeshLayer } from './raster/raster-mesh-layer/raster-me
11
11
  export * as RasterWebGL from './raster/webgl';
12
12
  export { default as WMSLayer } from './wms/wms-layer';
13
13
  export * from './layer-utils/shader-utils';
14
+ export * from './layer-utils/aggregation-utils';
14
15
  export * from './3d-building-layer/types';
15
16
  export * from './3d-building-layer/3d-building-utils';
package/dist/index.js CHANGED
@@ -111,6 +111,18 @@ Object.keys(_shaderUtils).forEach(function (key) {
111
111
  }
112
112
  });
113
113
  });
114
+ var _aggregationUtils = require("./layer-utils/aggregation-utils");
115
+ Object.keys(_aggregationUtils).forEach(function (key) {
116
+ if (key === "default" || key === "__esModule") return;
117
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
118
+ if (key in exports && exports[key] === _aggregationUtils[key]) return;
119
+ Object.defineProperty(exports, key, {
120
+ enumerable: true,
121
+ get: function get() {
122
+ return _aggregationUtils[key];
123
+ }
124
+ });
125
+ });
114
126
  var _types = require("./3d-building-layer/types");
115
127
  Object.keys(_types).forEach(function (key) {
116
128
  if (key === "default" || key === "__esModule") return;
@@ -137,4 +149,4 @@ Object.keys(_dBuildingUtils).forEach(function (key) {
137
149
  });
138
150
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
139
151
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
140
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZEJ1aWxkaW5nTGF5ZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9jbHVzdGVyTGF5ZXIiLCJfZW5oYW5jZWRDb2x1bW5MYXllciIsIl9lbmhhbmNlZENwdUdyaWRMYXllciIsIl9lbmhhbmNlZEhleGFnb25MYXllciIsIl9saW5lTGF5ZXIiLCJfc3ZnSWNvbkxheWVyIiwiX2ZpbHRlckFycm93TGF5ZXIiLCJfcmFzdGVyTGF5ZXIiLCJfcmFzdGVyTWVzaExheWVyIiwiX1Jhc3RlcldlYkdMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJleHBvcnRzIiwiUmFzdGVyV2ViR0wiLCJfd21zTGF5ZXIiLCJfc2hhZGVyVXRpbHMiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIl9leHBvcnROYW1lcyIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsIl90eXBlcyIsIl9kQnVpbGRpbmdVdGlscyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsIm4iLCJfX3Byb3RvX18iLCJhIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImkiLCJzZXQiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuZXhwb3J0IHtkZWZhdWx0IGFzIFRocmVlREJ1aWxkaW5nTGF5ZXJ9IGZyb20gJy4vM2QtYnVpbGRpbmctbGF5ZXIvM2QtYnVpbGRpbmctbGF5ZXInO1xuXG5leHBvcnQge2RlZmF1bHQgYXMgRGVja0dMQ2x1c3RlckxheWVyfSBmcm9tICcuL2NsdXN0ZXItbGF5ZXIvY2x1c3Rlci1sYXllcic7XG5cbmV4cG9ydCB7ZGVmYXVsdCBhcyBFbmhhbmNlZENvbHVtbkxheWVyfSBmcm9tICcuL2NvbHVtbi1sYXllci9lbmhhbmNlZC1jb2x1bW4tbGF5ZXInO1xuXG5leHBvcnQge2RlZmF1bHQgYXMgRW5oYW5jZWRHcmlkTGF5ZXJ9IGZyb20gJy4vZ3JpZC1sYXllci9lbmhhbmNlZC1jcHUtZ3JpZC1sYXllcic7XG5cbmV4cG9ydCB7ZGVmYXVsdCBhcyBFbmhhbmNlZEhleGFnb25MYXllcn0gZnJvbSAnLi9oZXhhZ29uLWxheWVyL2VuaGFuY2VkLWhleGFnb24tbGF5ZXInO1xuZXhwb3J0IHtkZWZhdWx0IGFzIEVuaGFuY2VkTGluZUxheWVyfSBmcm9tICcuL2xpbmUtbGF5ZXIvbGluZS1sYXllcic7XG5leHBvcnQge2RlZmF1bHQgYXMgU3ZnSWNvbkxheWVyfSBmcm9tICcuL3N2Zy1pY29uLWxheWVyL3N2Zy1pY29uLWxheWVyJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBGaWx0ZXJBcnJvd0V4dGVuc2lvbn0gZnJvbSAnLi9kZWNrZ2wtZXh0ZW5zaW9ucy9maWx0ZXItYXJyb3ctbGF5ZXInO1xuXG5leHBvcnQge2RlZmF1bHQgYXMgUmFzdGVyTGF5ZXJ9IGZyb20gJy4vcmFzdGVyL3Jhc3Rlci1sYXllci9yYXN0ZXItbGF5ZXInO1xuZXhwb3J0IHtkZWZhdWx0IGFzIFJhc3Rlck1lc2hMYXllcn0gZnJvbSAnLi9yYXN0ZXIvcmFzdGVyLW1lc2gtbGF5ZXIvcmFzdGVyLW1lc2gtbGF5ZXInO1xuZXhwb3J0ICogYXMgUmFzdGVyV2ViR0wgZnJvbSAnLi9yYXN0ZXIvd2ViZ2wnO1xuXG5leHBvcnQge2RlZmF1bHQgYXMgV01TTGF5ZXJ9IGZyb20gJy4vd21zL3dtcy1sYXllcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGF5ZXItdXRpbHMvc2hhZGVyLXV0aWxzJztcblxuZXhwb3J0ICogZnJvbSAnLi8zZC1idWlsZGluZy1sYXllci90eXBlcyc7XG5leHBvcnQgKiBm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
152
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZEJ1aWxkaW5nTGF5ZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9jbHVzdGVyTGF5ZXIiLCJfZW5oYW5jZWRDb2x1bW5MYXllciIsIl9lbmhhbmNlZENwdUdyaWRMYXllciIsIl9lbmhhbmNlZEhleGFnb25MYXllciIsIl9saW5lTGF5ZXIiLCJfc3ZnSWNvbkxheWVyIiwiX2ZpbHRlckFycm93TGF5ZXIiLCJfcmFzdGVyTGF5ZXIiLCJfcmFzdGVyTWVzaExheWVyIiwiX1Jhc3RlcldlYkdMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJleHBvcnRzIiwiUmFzdGVyV2ViR0wiLCJfd21zTGF5ZXIiLCJfc2hhZGVyVXRpbHMiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIl9leHBvcnROYW1lcyIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsIl9hZ2dyZWdhdGlvblV0aWxzIiwiX3R5cGVzIiwiX2RCdWlsZGluZ1V0aWxzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwibiIsIl9fcHJvdG9fXyIsImEiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaSIsInNldCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5leHBvcnQge2RlZmF1bHQgYXMgVGhyZWVEQnVpbGRpbmdMYXllcn0gZnJvbSAnLi8zZC1idWlsZGluZy1sYXllci8zZC1idWlsZGluZy1sYXllcic7XG5cbmV4cG9ydCB7ZGVmYXVsdCBhcyBEZWNrR0xDbHVzdGVyTGF5ZXJ9IGZyb20gJy4vY2x1c3Rlci1sYXllci9jbHVzdGVyLWxheWVyJztcblxuZXhwb3J0IHtkZWZhdWx0IGFzIEVuaGFuY2VkQ29sdW1uTGF5ZXJ9IGZyb20gJy4vY29sdW1uLWxheWVyL2VuaGFuY2VkLWNvbHVtbi1sYXllcic7XG5cbmV4cG9ydCB7ZGVmYXVsdCBhcyBFbmhhbmNlZEdyaWRMYXllcn0gZnJvbSAnLi9ncmlkLWxheWVyL2VuaGFuY2VkLWNwdS1ncmlkLWxheWVyJztcblxuZXhwb3J0IHtkZWZhdWx0IGFzIEVuaGFuY2VkSGV4YWdvbkxheWVyfSBmcm9tICcuL2hleGFnb24tbGF5ZXIvZW5oYW5jZWQtaGV4YWdvbi1sYXllcic7XG5leHBvcnQge2RlZmF1bHQgYXMgRW5oYW5jZWRMaW5lTGF5ZXJ9IGZyb20gJy4vbGluZS1sYXllci9saW5lLWxheWVyJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBTdmdJY29uTGF5ZXJ9IGZyb20gJy4vc3ZnLWljb24tbGF5ZXIvc3ZnLWljb24tbGF5ZXInO1xuZXhwb3J0IHtkZWZhdWx0IGFzIEZpbHRlckFycm93RXh0ZW5zaW9ufSBmcm9tICcuL2RlY2tnbC1leHRlbnNpb25zL2ZpbHRlci1hcnJvdy1sYXllcic7XG5cbmV4cG9ydCB7ZGVmYXVsdCBhcyBSYXN0ZXJMYXllcn0gZnJvbSAnLi9yYXN0ZXIvcmFzdGVyLWxheWVyL3Jhc3Rlci1sYXllcic7XG5leHBvcnQge2RlZmF1bHQgYXMgUmFzdGVyTWVzaExheWVyfSBmcm9tICcuL3Jhc3Rlci9yYXN0ZXItbWVzaC1sYXllci9yYXN0ZXItbWVzaC1sYXllcic7XG5leHBvcnQgKiBhcyBSYXN0ZXJXZWJHTCBmcm9tICcuL3Jhc3Rlci93ZWJnbCc7XG5cbmV4cG9ydCB7ZGVmYXVsdCBhcyBXTVNMYXllcn0gZnJvbSAnLi93bXMvd21zLWxheWVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9sYXllci11dGlscy9zaGFkZXItdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXllci11dGlscy9hZ2dyZWdhdGlvbi11dGlscyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vM2QtYnVpbGRpbmctbGF5ZXIvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi8zZC1idWlsZGluZy1sYXllci8zZC1idWlsZGluZy11dGlscyc7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxlQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxhQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRSxvQkFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUcscUJBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFJLHFCQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxVQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTSxhQUFBLEdBQUFQLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTyxpQkFBQSxHQUFBUixzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQVEsWUFBQSxHQUFBVCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVMsZ0JBQUEsR0FBQVYsc0JBQUEsQ0FBQUMsT0FBQTtBQUF3RixJQUFBVSxZQUFBLEdBQUFDLHVCQUFBLENBQUFYLE9BQUE7QUFBQVksT0FBQSxDQUFBQyxXQUFBLEdBQUFILFlBQUE7QUFHeEYsSUFBQUksU0FBQSxHQUFBZixzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQWUsWUFBQSxHQUFBZixPQUFBO0FBQUFnQixNQUFBLENBQUFDLElBQUEsQ0FBQUYsWUFBQSxFQUFBRyxPQUFBLFdBQUFDLEdBQUE7RUFBQSxJQUFBQSxHQUFBLGtCQUFBQSxHQUFBO0VBQUEsSUFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBQyxZQUFBLEVBQUFKLEdBQUE7RUFBQSxJQUFBQSxHQUFBLElBQUFQLE9BQUEsSUFBQUEsT0FBQSxDQUFBTyxHQUFBLE1BQUFKLFlBQUEsQ0FBQUksR0FBQTtFQUFBSCxNQUFBLENBQUFRLGNBQUEsQ0FBQVosT0FBQSxFQUFBTyxHQUFBO0lBQUFNLFVBQUE7SUFBQUMsR0FBQSxXQUFBQSxJQUFBO01BQUEsT0FBQVgsWUFBQSxDQUFBSSxHQUFBO0lBQUE7RUFBQTtBQUFBO0FBQ0EsSUFBQVEsaUJBQUEsR0FBQTNCLE9BQUE7QUFBQWdCLE1BQUEsQ0FBQUMsSUFBQSxDQUFBVSxpQkFBQSxFQUFBVCxPQUFBLFdBQUFDLEdBQUE7RUFBQSxJQUFBQSxHQUFBLGtCQUFBQSxHQUFBO0VBQUEsSUFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBQyxZQUFBLEVBQUFKLEdBQUE7RUFBQSxJQUFBQSxHQUFBLElBQUFQLE9BQUEsSUFBQUEsT0FBQSxDQUFBTyxHQUFBLE1BQUFRLGlCQUFBLENBQUFSLEdBQUE7RUFBQUgsTUFBQSxDQUFBUSxjQUFBLENBQUFaLE9BQUEsRUFBQU8sR0FBQTtJQUFBTSxVQUFBO0lBQUFDLEdBQUEsV0FBQUEsSUFBQTtNQUFBLE9BQUFDLGlCQUFBLENBQUFSLEdBQUE7SUFBQTtFQUFBO0FBQUE7QUFFQSxJQUFBUyxNQUFBLEdBQUE1QixPQUFBO0FBQUFnQixNQUFBLENBQUFDLElBQUEsQ0FBQVcsTUFBQSxFQUFBVixPQUFBLFdBQUFDLEdBQUE7RUFBQSxJQUFBQSxHQUFBLGtCQUFBQSxHQUFBO0VBQUEsSUFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBQyxZQUFBLEVBQUFKLEdBQUE7RUFBQSxJQUFBQSxHQUFBLElBQUFQLE9BQUEsSUFBQUEsT0FBQSxDQUFBTyxHQUFBLE1BQUFTLE1BQUEsQ0FBQVQsR0FBQTtFQUFBSCxNQUFBLENBQUFRLGNBQUEsQ0FBQVosT0FBQSxFQUFBTyxHQUFBO0lBQUFNLFVBQUE7SUFBQUMsR0FBQSxXQUFBQSxJQUFBO01BQUEsT0FBQUUsTUFBQSxDQUFBVCxHQUFBO0lBQUE7RUFBQTtBQUFBO0FBQ0EsSUFBQVUsZUFBQSxHQUFBN0IsT0FBQTtBQUFBZ0IsTUFBQSxDQUFBQyxJQUFBLENBQUFZLGVBQUEsRUFBQVgsT0FBQSxXQUFBQyxHQUFBO0VBQUEsSUFBQUEsR0FBQSxrQkFBQUEsR0FBQTtFQUFBLElBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQUMsWUFBQSxFQUFBSixHQUFBO0VBQUEsSUFBQUEsR0FBQSxJQUFBUCxPQUFBLElBQUFBLE9BQUEsQ0FBQU8sR0FBQSxNQUFBVSxlQUFBLENBQUFWLEdBQUE7RUFBQUgsTUFBQSxDQUFBUSxjQUFBLENBQUFaLE9BQUEsRUFBQU8sR0FBQTtJQUFBTSxVQUFBO0lBQUFDLEdBQUEsV0FBQUEsSUFBQTtNQUFBLE9BQUFHLGVBQUEsQ0FBQVYsR0FBQTtJQUFBO0VBQUE7QUFBQTtBQUFzRCxTQUFBVyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQXBCLHdCQUFBb0IsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBUixHQUFBLENBQUFLLENBQUEsT0FBQU8sQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQXhCLE1BQUEsQ0FBQVEsY0FBQSxJQUFBUixNQUFBLENBQUF5Qix3QkFBQSxXQUFBQyxDQUFBLElBQUFYLENBQUEsb0JBQUFXLENBQUEsT0FBQXJCLGNBQUEsQ0FBQUMsSUFBQSxDQUFBUyxDQUFBLEVBQUFXLENBQUEsU0FBQUMsQ0FBQSxHQUFBSCxDQUFBLEdBQUF4QixNQUFBLENBQUF5Qix3QkFBQSxDQUFBVixDQUFBLEVBQUFXLENBQUEsVUFBQUMsQ0FBQSxLQUFBQSxDQUFBLENBQUFqQixHQUFBLElBQUFpQixDQUFBLENBQUFDLEdBQUEsSUFBQTVCLE1BQUEsQ0FBQVEsY0FBQSxDQUFBYyxDQUFBLEVBQUFJLENBQUEsRUFBQUMsQ0FBQSxJQUFBTCxDQUFBLENBQUFJLENBQUEsSUFBQVgsQ0FBQSxDQUFBVyxDQUFBLFlBQUFKLENBQUEsY0FBQVAsQ0FBQSxFQUFBRyxDQUFBLElBQUFBLENBQUEsQ0FBQVUsR0FBQSxDQUFBYixDQUFBLEVBQUFPLENBQUEsR0FBQUEsQ0FBQSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,44 @@
1
+ import type { AggregatedBin, ColorMap } from '@kepler.gl/types';
2
+ /**
3
+ * Build a Record<index, AggregatedBin> from the raw Float32Array of per-bin
4
+ * aggregated values returned by deck.gl 9's CPUAggregator/WebGLAggregator.
5
+ * The resulting map is compatible with the format kepler.gl expects for
6
+ * histogram rendering and color-scale selector.
7
+ */
8
+ export declare function buildAggregatedBinMap(binValues: ArrayLike<number>, binCount: number, aggregator?: any): Record<number, AggregatedBin>;
9
+ /**
10
+ * Classify raw per-bin aggregated values into break indices according to
11
+ * a custom colorMap, and patch the deck.gl internal `state.colors` so the
12
+ * GPU shader renders the correct color for each bin.
13
+ *
14
+ * Custom breaks define thresholds [t0, t1, …, t_{N-2}] for N colors:
15
+ * color 0: value < t0
16
+ * color i: t_{i-1} <= value < t_i
17
+ * color N-1: value >= t_{N-2}
18
+ *
19
+ * We replace the values in `state.colors.attribute` / `state.colors.input`
20
+ * with integer break indices [0 … N-1]. Combined with `colorScaleType: 'quantize'`
21
+ * and `colorDomain: [0, N-1]`, the shader's linear interpolation maps each index
22
+ * to the correct color texture pixel.
23
+ *
24
+ * `rawValues` must be the original aggregated values (not previously classified).
25
+ */
26
+ export declare function classifyBinsByCustomBreaks(stateColors: any, binCount: number, colorMap: ColorMap, rawValues: Float32Array): void;
27
+ /**
28
+ * Enriched _onAggregationUpdate implementation shared by ScaleEnhancedHexagonLayer
29
+ * and ScaleEnhancedGridLayer.
30
+ *
31
+ * @param layer The enhanced layer instance (`this`)
32
+ * @param ParentClass The deck.gl parent class (HexagonLayer or GridLayer)
33
+ * @param channel The aggregation channel index passed by deck.gl
34
+ */
35
+ export declare function enrichedAggregationUpdate(layer: any, ParentClass: any, channel: number): void;
36
+ /**
37
+ * Shared renderLayers() wrapper that re-classifies bins when custom colorMap
38
+ * changes between renders without triggering a full re-aggregation.
39
+ *
40
+ * @param layer The enhanced layer instance (`this`)
41
+ * @param ParentClass The deck.gl parent class (HexagonLayer or GridLayer)
42
+ * @returns The sublayers returned by the parent's renderLayers()
43
+ */
44
+ export declare function enrichedRenderLayers(layer: any, ParentClass: any): any;
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.buildAggregatedBinMap = buildAggregatedBinMap;
7
+ exports.classifyBinsByCustomBreaks = classifyBinsByCustomBreaks;
8
+ exports.enrichedAggregationUpdate = enrichedAggregationUpdate;
9
+ exports.enrichedRenderLayers = enrichedRenderLayers;
10
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
11
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
12
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
13
+ // SPDX-License-Identifier: MIT
14
+ // Copyright contributors to the kepler.gl project
15
+
16
+ /**
17
+ * Build a Record<index, AggregatedBin> from the raw Float32Array of per-bin
18
+ * aggregated values returned by deck.gl 9's CPUAggregator/WebGLAggregator.
19
+ * The resulting map is compatible with the format kepler.gl expects for
20
+ * histogram rendering and color-scale selector.
21
+ */
22
+ function buildAggregatedBinMap(binValues, binCount, aggregator) {
23
+ var bins = {};
24
+ for (var i = 0; i < binCount; i++) {
25
+ var _aggregator$getBin$co, _aggregator$getBin;
26
+ var val = binValues[i];
27
+ var count = (_aggregator$getBin$co = aggregator === null || aggregator === void 0 || (_aggregator$getBin = aggregator.getBin) === null || _aggregator$getBin === void 0 || (_aggregator$getBin = _aggregator$getBin.call(aggregator, i)) === null || _aggregator$getBin === void 0 ? void 0 : _aggregator$getBin.count) !== null && _aggregator$getBin$co !== void 0 ? _aggregator$getBin$co : 0;
28
+ bins[i] = {
29
+ i: i,
30
+ value: val,
31
+ counts: count
32
+ };
33
+ }
34
+ return bins;
35
+ }
36
+
37
+ /**
38
+ * Classify raw per-bin aggregated values into break indices according to
39
+ * a custom colorMap, and patch the deck.gl internal `state.colors` so the
40
+ * GPU shader renders the correct color for each bin.
41
+ *
42
+ * Custom breaks define thresholds [t0, t1, …, t_{N-2}] for N colors:
43
+ * color 0: value < t0
44
+ * color i: t_{i-1} <= value < t_i
45
+ * color N-1: value >= t_{N-2}
46
+ *
47
+ * We replace the values in `state.colors.attribute` / `state.colors.input`
48
+ * with integer break indices [0 … N-1]. Combined with `colorScaleType: 'quantize'`
49
+ * and `colorDomain: [0, N-1]`, the shader's linear interpolation maps each index
50
+ * to the correct color texture pixel.
51
+ *
52
+ * `rawValues` must be the original aggregated values (not previously classified).
53
+ */
54
+ function classifyBinsByCustomBreaks(stateColors, binCount, colorMap, rawValues) {
55
+ if (!rawValues || binCount === 0) return;
56
+ var thresholds = [];
57
+ var _iterator = _createForOfIteratorHelper(colorMap),
58
+ _step;
59
+ try {
60
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
61
+ var entry = _step.value;
62
+ if (typeof entry[0] === 'number' && Number.isFinite(entry[0])) {
63
+ thresholds.push(entry[0]);
64
+ }
65
+ }
66
+ } catch (err) {
67
+ _iterator.e(err);
68
+ } finally {
69
+ _iterator.f();
70
+ }
71
+ thresholds.sort(function (a, b) {
72
+ return a - b;
73
+ });
74
+ var numColors = colorMap.length;
75
+ var classified = new Float32Array(rawValues.length);
76
+ for (var i = 0; i < binCount; i++) {
77
+ var v = rawValues[i];
78
+ if (!Number.isFinite(v)) {
79
+ classified[i] = NaN;
80
+ continue;
81
+ }
82
+ var idx = numColors - 1;
83
+ for (var t = 0; t < thresholds.length; t++) {
84
+ if (v < thresholds[t]) {
85
+ idx = t;
86
+ break;
87
+ }
88
+ }
89
+ classified[i] = idx;
90
+ }
91
+ for (var _i = binCount; _i < classified.length; _i++) {
92
+ classified[_i] = NaN;
93
+ }
94
+ var classifiedAttr = {
95
+ value: classified,
96
+ type: 'float32',
97
+ size: 1
98
+ };
99
+ stateColors.input = classifiedAttr;
100
+ stateColors.attribute = classifiedAttr;
101
+ }
102
+
103
+ // ---------------------------------------------------------------------------
104
+ // Shared _onAggregationUpdate / renderLayers logic for ScaleEnhanced* layers
105
+ // ---------------------------------------------------------------------------
106
+ //
107
+ // deck.gl 9's _onAggregationUpdate is private and its onSetColorDomain
108
+ // callback only provides [min, max]. That is sufficient for quantize/linear
109
+ // scales but d3.scaleQuantile needs the *full sorted array* of bin values to
110
+ // compute correct break points — without it the legend labels are wrong
111
+ // (see https://github.com/keplergl/kepler.gl/issues/3381).
112
+ //
113
+ // deck.gl does not expose a public hook for post-aggregation data, and props
114
+ // are Object.freeze()'d so we cannot suppress the parent's callback. Instead
115
+ // we let the parent fire its [min, max] call, then immediately fire a second
116
+ // enriched call with per-bin values (aggregatedBins) and, for quantile scale,
117
+ // the full sorted domain. The second call overwrites the first downstream in
118
+ // _onLayerSetDomain.
119
+ //
120
+ // This can be removed once deck.gl exposes a richer post-aggregation callback
121
+ // or makes _onAggregationUpdate / AttributeWithScale part of the public API.
122
+
123
+ /**
124
+ * Enriched _onAggregationUpdate implementation shared by ScaleEnhancedHexagonLayer
125
+ * and ScaleEnhancedGridLayer.
126
+ *
127
+ * @param layer The enhanced layer instance (`this`)
128
+ * @param ParentClass The deck.gl parent class (HexagonLayer or GridLayer)
129
+ * @param channel The aggregation channel index passed by deck.gl
130
+ */
131
+ function enrichedAggregationUpdate(layer, ParentClass, channel) {
132
+ var _props$onSetColorDoma;
133
+ ParentClass.prototype._onAggregationUpdate.call(layer, {
134
+ channel: channel
135
+ });
136
+ if (channel !== 0) return;
137
+ var props = layer.getCurrentLayer().props;
138
+ var aggregator = layer.state.aggregator;
139
+ var result = aggregator.getResult(0);
140
+ var binValues = result === null || result === void 0 ? void 0 : result.value;
141
+ if (!binValues || aggregator.binCount <= 0) return;
142
+ layer.setState({
143
+ rawColorBinValues: Float32Array.from(binValues.subarray(0, aggregator.binCount))
144
+ });
145
+ var domain = aggregator.getResultDomain(0);
146
+ var aggregatedBins = buildAggregatedBinMap(binValues, aggregator.binCount, aggregator);
147
+ if (props.colorMap) {
148
+ classifyBinsByCustomBreaks(layer.state.colors, aggregator.binCount, props.colorMap, binValues);
149
+ }
150
+ var enrichedDomain = domain;
151
+ if (props.colorScaleType === 'quantile') {
152
+ enrichedDomain = Array.from(binValues).slice(0, aggregator.binCount).filter(Number.isFinite).sort(function (a, b) {
153
+ return a - b;
154
+ });
155
+ }
156
+ (_props$onSetColorDoma = props.onSetColorDomain) === null || _props$onSetColorDoma === void 0 || _props$onSetColorDoma.call(props, {
157
+ domain: enrichedDomain,
158
+ aggregatedBins: aggregatedBins
159
+ });
160
+ }
161
+
162
+ /**
163
+ * Shared renderLayers() wrapper that re-classifies bins when custom colorMap
164
+ * changes between renders without triggering a full re-aggregation.
165
+ *
166
+ * @param layer The enhanced layer instance (`this`)
167
+ * @param ParentClass The deck.gl parent class (HexagonLayer or GridLayer)
168
+ * @returns The sublayers returned by the parent's renderLayers()
169
+ */
170
+ function enrichedRenderLayers(layer, ParentClass) {
171
+ var props = layer.getCurrentLayer().props;
172
+ var _layer$state = layer.state,
173
+ colors = _layer$state.colors,
174
+ rawColorBinValues = _layer$state.rawColorBinValues,
175
+ aggregator = _layer$state.aggregator;
176
+ if (props.colorMap && colors && rawColorBinValues && (aggregator === null || aggregator === void 0 ? void 0 : aggregator.binCount) > 0) {
177
+ classifyBinsByCustomBreaks(colors, aggregator.binCount, props.colorMap, rawColorBinValues);
178
+ }
179
+ return ParentClass.prototype.renderLayers.call(layer);
180
+ }
181
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJidWlsZEFnZ3JlZ2F0ZWRCaW5NYXAiLCJiaW5WYWx1ZXMiLCJiaW5Db3VudCIsImFnZ3JlZ2F0b3IiLCJiaW5zIiwiaSIsIl9hZ2dyZWdhdG9yJGdldEJpbiRjbyIsIl9hZ2dyZWdhdG9yJGdldEJpbiIsInZhbCIsImNvdW50IiwiZ2V0QmluIiwiY2FsbCIsInZhbHVlIiwiY291bnRzIiwiY2xhc3NpZnlCaW5zQnlDdXN0b21CcmVha3MiLCJzdGF0ZUNvbG9ycyIsImNvbG9yTWFwIiwicmF3VmFsdWVzIiwidGhyZXNob2xkcyIsIl9pdGVyYXRvciIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX3N0ZXAiLCJzIiwibiIsImRvbmUiLCJlbnRyeSIsIk51bWJlciIsImlzRmluaXRlIiwicHVzaCIsImVyciIsImUiLCJmIiwic29ydCIsImEiLCJiIiwibnVtQ29sb3JzIiwibGVuZ3RoIiwiY2xhc3NpZmllZCIsIkZsb2F0MzJBcnJheSIsInYiLCJOYU4iLCJpZHgiLCJ0IiwiY2xhc3NpZmllZEF0dHIiLCJ0eXBlIiwic2l6ZSIsImlucHV0IiwiYXR0cmlidXRlIiwiZW5yaWNoZWRBZ2dyZWdhdGlvblVwZGF0ZSIsImxheWVyIiwiUGFyZW50Q2xhc3MiLCJjaGFubmVsIiwiX3Byb3BzJG9uU2V0Q29sb3JEb21hIiwicHJvdG90eXBlIiwiX29uQWdncmVnYXRpb25VcGRhdGUiLCJwcm9wcyIsImdldEN1cnJlbnRMYXllciIsInN0YXRlIiwicmVzdWx0IiwiZ2V0UmVzdWx0Iiwic2V0U3RhdGUiLCJyYXdDb2xvckJpblZhbHVlcyIsImZyb20iLCJzdWJhcnJheSIsImRvbWFpbiIsImdldFJlc3VsdERvbWFpbiIsImFnZ3JlZ2F0ZWRCaW5zIiwiY29sb3JzIiwiZW5yaWNoZWREb21haW4iLCJjb2xvclNjYWxlVHlwZSIsIkFycmF5Iiwic2xpY2UiLCJmaWx0ZXIiLCJvblNldENvbG9yRG9tYWluIiwiZW5yaWNoZWRSZW5kZXJMYXllcnMiLCJfbGF5ZXIkc3RhdGUiLCJyZW5kZXJMYXllcnMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbGF5ZXItdXRpbHMvYWdncmVnYXRpb24tdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHR5cGUge0FnZ3JlZ2F0ZWRCaW4sIENvbG9yTWFwfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuLyoqXG4gKiBCdWlsZCBhIFJlY29yZDxpbmRleCwgQWdncmVnYXRlZEJpbj4gZnJvbSB0aGUgcmF3IEZsb2F0MzJBcnJheSBvZiBwZXItYmluXG4gKiBhZ2dyZWdhdGVkIHZhbHVlcyByZXR1cm5lZCBieSBkZWNrLmdsIDkncyBDUFVBZ2dyZWdhdG9yL1dlYkdMQWdncmVnYXRvci5cbiAqIFRoZSByZXN1bHRpbmcgbWFwIGlzIGNvbXBhdGlibGUgd2l0aCB0aGUgZm9ybWF0IGtlcGxlci5nbCBleHBlY3RzIGZvclxuICogaGlzdG9ncmFtIHJlbmRlcmluZyBhbmQgY29sb3Itc2NhbGUgc2VsZWN0b3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEFnZ3JlZ2F0ZWRCaW5NYXAoXG4gIGJpblZhbHVlczogQXJyYXlMaWtlPG51bWJlcj4sXG4gIGJpbkNvdW50OiBudW1iZXIsXG4gIGFnZ3JlZ2F0b3I/OiBhbnlcbik6IFJlY29yZDxudW1iZXIsIEFnZ3JlZ2F0ZWRCaW4+IHtcbiAgY29uc3QgYmluczogUmVjb3JkPG51bWJlciwgQWdncmVnYXRlZEJpbj4gPSB7fTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBiaW5Db3VudDsgaSsrKSB7XG4gICAgY29uc3QgdmFsID0gYmluVmFsdWVzW2ldO1xuICAgIGNvbnN0IGNvdW50ID0gYWdncmVnYXRvcj8uZ2V0QmluPy4oaSk/LmNvdW50ID8/IDA7XG4gICAgYmluc1tpXSA9IHtpLCB2YWx1ZTogdmFsLCBjb3VudHM6IGNvdW50fTtcbiAgfVxuICByZXR1cm4gYmlucztcbn1cblxuLyoqXG4gKiBDbGFzc2lmeSByYXcgcGVyLWJpbiBhZ2dyZWdhdGVkIHZhbHVlcyBpbnRvIGJyZWFrIGluZGljZXMgYWNjb3JkaW5nIHRvXG4gKiBhIGN1c3RvbSBjb2xvck1hcCwgYW5kIHBhdGNoIHRoZSBkZWNrLmdsIGludGVybmFsIGBzdGF0ZS5jb2xvcnNgIHNvIHRoZVxuICogR1BVIHNoYWRlciByZW5kZXJzIHRoZSBjb3JyZWN0IGNvbG9yIGZvciBlYWNoIGJpbi5cbiAqXG4gKiBDdXN0b20gYnJlYWtzIGRlZmluZSB0aHJlc2hvbGRzIFt0MCwgdDEsIOKApiwgdF97Ti0yfV0gZm9yIE4gY29sb3JzOlxuICogICBjb2xvciAwOiB2YWx1ZSA8IHQwXG4gKiAgIGNvbG9yIGk6IHRfe2ktMX0gPD0gdmFsdWUgPCB0X2lcbiAqICAgY29sb3IgTi0xOiB2YWx1ZSA+PSB0X3tOLTJ9XG4gKlxuICogV2UgcmVwbGFjZSB0aGUgdmFsdWVzIGluIGBzdGF0ZS5jb2xvcnMuYXR0cmlidXRlYCAvIGBzdGF0ZS5jb2xvcnMuaW5wdXRgXG4gKiB3aXRoIGludGVnZXIgYnJlYWsgaW5kaWNlcyBbMCDigKYgTi0xXS4gIENvbWJpbmVkIHdpdGggYGNvbG9yU2NhbGVUeXBlOiAncXVhbnRpemUnYFxuICogYW5kIGBjb2xvckRvbWFpbjogWzAsIE4tMV1gLCB0aGUgc2hhZGVyJ3MgbGluZWFyIGludGVycG9sYXRpb24gbWFwcyBlYWNoIGluZGV4XG4gKiB0byB0aGUgY29ycmVjdCBjb2xvciB0ZXh0dXJlIHBpeGVsLlxuICpcbiAqIGByYXdWYWx1ZXNgIG11c3QgYmUgdGhlIG9yaWdpbmFsIGFnZ3JlZ2F0ZWQgdmFsdWVzIChub3QgcHJldmlvdXNseSBjbGFzc2lmaWVkKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsYXNzaWZ5Qmluc0J5Q3VzdG9tQnJlYWtzKFxuICBzdGF0ZUNvbG9yczogYW55LFxuICBiaW5Db3VudDogbnVtYmVyLFxuICBjb2xvck1hcDogQ29sb3JNYXAsXG4gIHJhd1ZhbHVlczogRmxvYXQzMkFycmF5XG4pOiB2b2lkIHtcbiAgaWYgKCFyYXdWYWx1ZXMgfHwgYmluQ291bnQgPT09IDApIHJldHVybjtcblxuICBjb25zdCB0aHJlc2hvbGRzOiBudW1iZXJbXSA9IFtdO1xuICBmb3IgKGNvbnN0IGVudHJ5IG9mIGNvbG9yTWFwKSB7XG4gICAgaWYgKHR5cGVvZiBlbnRyeVswXSA9PT0gJ251bWJlcicgJiYgTnVtYmVyLmlzRmluaXRlKGVudHJ5WzBdKSkge1xuICAgICAgdGhyZXNob2xkcy5wdXNoKGVudHJ5WzBdKTtcbiAgICB9XG4gIH1cbiAgdGhyZXNob2xkcy5zb3J0KChhLCBiKSA9PiBhIC0gYik7XG5cbiAgY29uc3QgbnVtQ29sb3JzID0gY29sb3JNYXAubGVuZ3RoO1xuICBjb25zdCBjbGFzc2lmaWVkID0gbmV3IEZsb2F0MzJBcnJheShyYXdWYWx1ZXMubGVuZ3RoKTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBiaW5Db3VudDsgaSsrKSB7XG4gICAgY29uc3QgdiA9IHJhd1ZhbHVlc1tpXTtcbiAgICBpZiAoIU51bWJlci5pc0Zpbml0ZSh2KSkge1xuICAgICAgY2xhc3NpZmllZFtpXSA9IE5hTjtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBsZXQgaWR4ID0gbnVtQ29sb3JzIC0gMTtcbiAgICBmb3IgKGxldCB0ID0gMDsgdCA8IHRocmVzaG9sZHMubGVuZ3RoOyB0KyspIHtcbiAgICAgIGlmICh2IDwgdGhyZXNob2xkc1t0XSkge1xuICAgICAgICBpZHggPSB0O1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgY2xhc3NpZmllZFtpXSA9IGlkeDtcbiAgfVxuICBmb3IgKGxldCBpID0gYmluQ291bnQ7IGkgPCBjbGFzc2lmaWVkLmxlbmd0aDsgaSsrKSB7XG4gICAgY2xhc3NpZmllZFtpXSA9IE5hTjtcbiAgfVxuXG4gIGNvbnN0IGNsYXNzaWZpZWRBdHRyID0ge3ZhbHVlOiBjbGFzc2lmaWVkLCB0eXBlOiAnZmxvYXQzMicsIHNpemU6IDF9O1xuICBzdGF0ZUNvbG9ycy5pbnB1dCA9IGNsYXNzaWZpZWRBdHRyO1xuICBzdGF0ZUNvbG9ycy5hdHRyaWJ1dGUgPSBjbGFzc2lmaWVkQXR0cjtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTaGFyZWQgX29uQWdncmVnYXRpb25VcGRhdGUgLyByZW5kZXJMYXllcnMgbG9naWMgZm9yIFNjYWxlRW5oYW5jZWQqIGxheWVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gZGVjay5nbCA5J3MgX29uQWdncmVnYXRpb25VcGRhdGUgaXMgcHJpdmF0ZSBhbmQgaXRzIG9uU2V0Q29sb3JEb21haW5cbi8vIGNhbGxiYWNrIG9ubHkgcHJvdmlkZXMgW21pbiwgbWF4XS4gIFRoYXQgaXMgc3VmZmljaWVudCBmb3IgcXVhbnRpemUvbGluZWFyXG4vLyBzY2FsZXMgYnV0IGQzLnNjYWxlUXVhbnRpbGUgbmVlZHMgdGhlICpmdWxsIHNvcnRlZCBhcnJheSogb2YgYmluIHZhbHVlcyB0b1xuLy8gY29tcHV0ZSBjb3JyZWN0IGJyZWFrIHBvaW50cyDigJQgd2l0aG91dCBpdCB0aGUgbGVnZW5kIGxhYmVscyBhcmUgd3Jvbmdcbi8vIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL2tlcGxlcmdsL2tlcGxlci5nbC9pc3N1ZXMvMzM4MSkuXG4vL1xuLy8gZGVjay5nbCBkb2VzIG5vdCBleHBvc2UgYSBwdWJsaWMgaG9vayBmb3IgcG9zdC1hZ2dyZWdhdGlvbiBkYXRhLCBhbmQgcHJvcHNcbi8vIGFyZSBPYmplY3QuZnJlZXplKCknZCBzbyB3ZSBjYW5ub3Qgc3VwcHJlc3MgdGhlIHBhcmVudCdzIGNhbGxiYWNrLiAgSW5zdGVhZFxuLy8gd2UgbGV0IHRoZSBwYXJlbnQgZmlyZSBpdHMgW21pbiwgbWF4XSBjYWxsLCB0aGVuIGltbWVkaWF0ZWx5IGZpcmUgYSBzZWNvbmRcbi8vIGVucmljaGVkIGNhbGwgd2l0aCBwZXItYmluIHZhbHVlcyAoYWdncmVnYXRlZEJpbnMpIGFuZCwgZm9yIHF1YW50aWxlIHNjYWxlLFxuLy8gdGhlIGZ1bGwgc29ydGVkIGRvbWFpbi4gIFRoZSBzZWNvbmQgY2FsbCBvdmVyd3JpdGVzIHRoZSBmaXJzdCBkb3duc3RyZWFtIGluXG4vLyBfb25MYXllclNldERvbWFpbi5cbi8vXG4vLyBUaGlzIGNhbiBiZSByZW1vdmVkIG9uY2UgZGVjay5nbCBleHBvc2VzIGEgcmljaGVyIHBvc3QtYWdncmVnYXRpb24gY2FsbGJhY2tcbi8vIG9yIG1ha2VzIF9vbkFnZ3JlZ2F0aW9uVXBkYXRlIC8gQXR0cmlidXRlV2l0aFNjYWxlIHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkuXG5cbi8qKlxuICogRW5yaWNoZWQgX29uQWdncmVnYXRpb25VcGRhdGUgaW1wbGVtZW50YXRpb24gc2hhcmVkIGJ5IFNjYWxlRW5oYW5jZWRIZXhhZ29uTGF5ZXJcbiAqIGFuZCBTY2FsZUVuaGFuY2VkR3JpZExheWVyLlxuICpcbiAqIEBwYXJhbSBsYXllciAgICAgICBUaGUgZW5oYW5jZWQgbGF5ZXIgaW5zdGFuY2UgKGB0aGlzYClcbiAqIEBwYXJhbSBQYXJlbnRDbGFzcyBUaGUgZGVjay5nbCBwYXJlbnQgY2xhc3MgKEhleGFnb25MYXllciBvciBHcmlkTGF5ZXIpXG4gKiBAcGFyYW0gY2hhbm5lbCAgICAgVGhlIGFnZ3JlZ2F0aW9uIGNoYW5uZWwgaW5kZXggcGFzc2VkIGJ5IGRlY2suZ2xcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVucmljaGVkQWdncmVnYXRpb25VcGRhdGUobGF5ZXI6IGFueSwgUGFyZW50Q2xhc3M6IGFueSwgY2hhbm5lbDogbnVtYmVyKTogdm9pZCB7XG4gIChQYXJlbnRDbGFzcy5wcm90b3R5cGUgYXMgYW55KS5fb25BZ2dyZWdhdGlvblVwZGF0ZS5jYWxsKGxheWVyLCB7Y2hhbm5lbH0pO1xuXG4gIGlmIChjaGFubmVsICE9PSAwKSByZXR1cm47XG5cbiAgY29uc3QgcHJvcHMgPSBsYXllci5nZXRDdXJyZW50TGF5ZXIoKS5wcm9wcztcbiAgY29uc3Qge2FnZ3JlZ2F0b3J9ID0gbGF5ZXIuc3RhdGU7XG4gIGNvbnN0IHJlc3VsdCA9IGFnZ3JlZ2F0b3IuZ2V0UmVzdWx0KDApO1xuICBjb25zdCBiaW5WYWx1ZXMgPSByZXN1bHQ/LnZhbHVlIGFzIEZsb2F0MzJBcnJheSB8IHVuZGVmaW5lZDtcbiAgaWYgKCFiaW5WYWx1ZXMgfHwgYWdncmVnYXRvci5iaW5Db3VudCA8PSAwKSByZXR1cm47XG5cbiAgbGF5ZXIuc2V0U3RhdGUoe1xuICAgIHJhd0NvbG9yQmluVmFsdWVzOiBGbG9hdDMyQXJyYXkuZnJvbShiaW5WYWx1ZXMuc3ViYXJyYXkoMCwgYWdncmVnYXRvci5iaW5Db3VudCkpXG4gIH0pO1xuXG4gIGNvbnN0IGRvbWFpbiA9IGFnZ3JlZ2F0b3IuZ2V0UmVzdWx0RG9tYWluKDApO1xuICBjb25zdCBhZ2dyZWdhdGVkQmlucyA9IGJ1aWxkQWdncmVnYXRlZEJpbk1hcChiaW5WYWx1ZXMsIGFnZ3JlZ2F0b3IuYmluQ291bnQsIGFnZ3JlZ2F0b3IpO1xuXG4gIGlmIChwcm9wcy5jb2xvck1hcCkge1xuICAgIGNsYXNzaWZ5Qmluc0J5Q3VzdG9tQnJlYWtzKGxheWVyLnN0YXRlLmNvbG9ycywgYWdncmVnYXRvci5iaW5Db3VudCwgcHJvcHMuY29sb3JNYXAsIGJpblZhbHVlcyk7XG4gIH1cblxuICBsZXQgZW5yaWNoZWREb21haW4gPSBkb21haW47XG4gIGlmIChwcm9wcy5jb2xvclNjYWxlVHlwZSA9PT0gJ3F1YW50aWxlJykge1xuICAgIGVucmljaGVkRG9tYWluID0gQXJyYXkuZnJvbShiaW5WYWx1ZXMpXG4gICAgICAuc2xpY2UoMCwgYWdncmVnYXRvci5iaW5Db3VudClcbiAgICAgIC5maWx0ZXIoTnVtYmVyLmlzRmluaXRlKVxuICAgICAgLnNvcnQoKGE6IG51bWJlciwgYjogbnVtYmVyKSA9PiBhIC0gYik7XG4gIH1cbiAgcHJvcHMub25TZXRDb2xvckRvbWFpbj8uKHtkb21haW46IGVucmljaGVkRG9tYWluLCBhZ2dyZWdhdGVkQmluc30pO1xufVxuXG4vKipcbiAqIFNoYXJlZCByZW5kZXJMYXllcnMoKSB3cmFwcGVyIHRoYXQgcmUtY2xhc3NpZmllcyBiaW5zIHdoZW4gY3VzdG9tIGNvbG9yTWFwXG4gKiBjaGFuZ2VzIGJldHdlZW4gcmVuZGVycyB3aXRob3V0IHRyaWdnZXJpbmcgYSBmdWxsIHJlLWFnZ3JlZ2F0aW9uLlxuICpcbiAqIEBwYXJhbSBsYXllciAgICAgICBUaGUgZW5oYW5jZWQgbGF5ZXIgaW5zdGFuY2UgKGB0aGlzYClcbiAqIEBwYXJhbSBQYXJlbnRDbGFzcyBUaGUgZGVjay5nbCBwYXJlbnQgY2xhc3MgKEhleGFnb25MYXllciBvciBHcmlkTGF5ZXIpXG4gKiBAcmV0dXJucyBUaGUgc3VibGF5ZXJzIHJldHVybmVkIGJ5IHRoZSBwYXJlbnQncyByZW5kZXJMYXllcnMoKVxuICovXG5leHBvcnQgZnVuY3Rpb24gZW5yaWNoZWRSZW5kZXJMYXllcnMobGF5ZXI6IGFueSwgUGFyZW50Q2xhc3M6IGFueSk6IGFueSB7XG4gIGNvbnN0IHByb3BzID0gbGF5ZXIuZ2V0Q3VycmVudExheWVyKCkucHJvcHM7XG4gIGNvbnN0IHtjb2xvcnMsIHJhd0NvbG9yQmluVmFsdWVzLCBhZ2dyZWdhdG9yfSA9IGxheWVyLnN0YXRlO1xuICBpZiAocHJvcHMuY29sb3JNYXAgJiYgY29sb3JzICYmIHJhd0NvbG9yQmluVmFsdWVzICYmIGFnZ3JlZ2F0b3I/LmJpbkNvdW50ID4gMCkge1xuICAgIGNsYXNzaWZ5Qmluc0J5Q3VzdG9tQnJlYWtzKGNvbG9ycywgYWdncmVnYXRvci5iaW5Db3VudCwgcHJvcHMuY29sb3JNYXAsIHJhd0NvbG9yQmluVmFsdWVzKTtcbiAgfVxuICByZXR1cm4gKFBhcmVudENsYXNzLnByb3Rv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
@@ -1 +1,2 @@
1
1
  export declare function editShader(vs: string, type: string, originalText: string, testToReplace: string): string;
2
+ export declare function insertBefore(vs: string, type: string, insertBeforeText: string, textToInsert: string): string;
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.editShader = editShader;
7
+ exports.insertBefore = insertBefore;
7
8
  var _window = require("global/window");
8
9
  // SPDX-License-Identifier: MIT
9
10
  // Copyright contributors to the kepler.gl project
@@ -26,4 +27,12 @@ function editShader(vs, type, originalText, testToReplace) {
26
27
  }
27
28
  return vs.replace(originalText, testToReplace);
28
29
  }
29
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd2luZG93IiwicmVxdWlyZSIsImVkaXRTaGFkZXIiLCJ2cyIsInR5cGUiLCJvcmlnaW5hbFRleHQiLCJ0ZXN0VG9SZXBsYWNlIiwiaW5jbHVkZXMiLCJDb25zb2xlIiwiZXJyb3IiLCJjb25jYXQiLCJyZXBsYWNlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xheWVyLXV0aWxzL3NoYWRlci11dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQge2NvbnNvbGUgYXMgQ29uc29sZX0gZnJvbSAnZ2xvYmFsL3dpbmRvdyc7XG5cbi8qXG4gKiBBbWVuZG1lbnQgdG8gZGVmYXVsdCBsYXllciB2ZXJ0ZXggc2hhZGVyXG4gKiBAcGFyYW0ge3N0cmluZ30gdnNcbiAqIEBwYXJhbSB7c3RyaW5nfSB0eXBlXG4gKiBAcGFyYW0ge3N0cmluZ30gb3JpZ2luYWxUZXh0XG4gKiBAcGFyYW0ge3N0cmluZ30gdGVzdFRvUmVwbGFjZVxuICogQHJldHVybiB7c3RyaW5nfSBvdXRwdXQgc2hhZGVyXG4gKlxuICovXG5leHBvcnQgZnVuY3Rpb24gZWRpdFNoYWRlcih2czogc3RyaW5nLCB0eXBlOiBzdHJpbmcsIG9yaWdpbmFsVGV4dDogc3RyaW5nLCB0ZXN0VG9SZXBsYWNlOiBzdHJpbmcpIHtcbiAgaWYgKCF2cy5pbmNsdWRlcyhvcmlnaW5hbFRleHQpKSB7XG4gICAgLy8gSGVyZSB3ZSBjYWxsIENvbnNvbGUuZXJyb3Igd2hlbiB3ZSBmYWlsIHRvIGVkaXQgZGVjay5nbCBzaGFkZXJcbiAgICAvLyBUaGlzIHNob3VsZCBiZSBjYXVnaHQgYnkgbGF5ZXIgdGVzdFxuICAgIENvbnNvbGUuZXJyb3IoYENhbm5vdCBlZGl0ICR7dHlwZX0gbGF5ZXIgc2hhZGVyYCk7XG4gICAgcmV0dXJuIHZzO1xuICB9XG5cbiAgcmV0dXJuIHZzLnJlcGxhY2Uob3JpZ2luYWxUZXh0LCB0ZXN0VG9SZXBsYWNlKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBR0EsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBSEE7QUFDQTs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxTQUFTQyxVQUFVQSxDQUFDQyxFQUFVLEVBQUVDLElBQVksRUFBRUMsWUFBb0IsRUFBRUMsYUFBcUIsRUFBRTtFQUNoRyxJQUFJLENBQUNILEVBQUUsQ0FBQ0ksUUFBUSxDQUFDRixZQUFZLENBQUMsRUFBRTtJQUM5QjtJQUNBO0lBQ0FHLGVBQU8sQ0FBQ0MsS0FBSyxnQkFBQUMsTUFBQSxDQUFnQk4sSUFBSSxrQkFBZSxDQUFDO0lBQ2pELE9BQU9ELEVBQUU7RUFDWDtFQUVBLE9BQU9BLEVBQUUsQ0FBQ1EsT0FBTyxDQUFDTixZQUFZLEVBQUVDLGFBQWEsQ0FBQztBQUNoRCIsImlnbm9yZUxpc3QiOltdfQ==
30
+ function insertBefore(vs, type, insertBeforeText, textToInsert) {
31
+ var at = vs.indexOf(insertBeforeText);
32
+ if (at < 0) {
33
+ _window.console.error("Cannot edit ".concat(type, " layer shader"));
34
+ return vs;
35
+ }
36
+ return vs.slice(0, at) + textToInsert + vs.slice(at);
37
+ }
38
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd2luZG93IiwicmVxdWlyZSIsImVkaXRTaGFkZXIiLCJ2cyIsInR5cGUiLCJvcmlnaW5hbFRleHQiLCJ0ZXN0VG9SZXBsYWNlIiwiaW5jbHVkZXMiLCJDb25zb2xlIiwiZXJyb3IiLCJjb25jYXQiLCJyZXBsYWNlIiwiaW5zZXJ0QmVmb3JlIiwiaW5zZXJ0QmVmb3JlVGV4dCIsInRleHRUb0luc2VydCIsImF0IiwiaW5kZXhPZiIsInNsaWNlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xheWVyLXV0aWxzL3NoYWRlci11dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQge2NvbnNvbGUgYXMgQ29uc29sZX0gZnJvbSAnZ2xvYmFsL3dpbmRvdyc7XG5cbi8qXG4gKiBBbWVuZG1lbnQgdG8gZGVmYXVsdCBsYXllciB2ZXJ0ZXggc2hhZGVyXG4gKiBAcGFyYW0ge3N0cmluZ30gdnNcbiAqIEBwYXJhbSB7c3RyaW5nfSB0eXBlXG4gKiBAcGFyYW0ge3N0cmluZ30gb3JpZ2luYWxUZXh0XG4gKiBAcGFyYW0ge3N0cmluZ30gdGVzdFRvUmVwbGFjZVxuICogQHJldHVybiB7c3RyaW5nfSBvdXRwdXQgc2hhZGVyXG4gKlxuICovXG5leHBvcnQgZnVuY3Rpb24gZWRpdFNoYWRlcih2czogc3RyaW5nLCB0eXBlOiBzdHJpbmcsIG9yaWdpbmFsVGV4dDogc3RyaW5nLCB0ZXN0VG9SZXBsYWNlOiBzdHJpbmcpIHtcbiAgaWYgKCF2cy5pbmNsdWRlcyhvcmlnaW5hbFRleHQpKSB7XG4gICAgLy8gSGVyZSB3ZSBjYWxsIENvbnNvbGUuZXJyb3Igd2hlbiB3ZSBmYWlsIHRvIGVkaXQgZGVjay5nbCBzaGFkZXJcbiAgICAvLyBUaGlzIHNob3VsZCBiZSBjYXVnaHQgYnkgbGF5ZXIgdGVzdFxuICAgIENvbnNvbGUuZXJyb3IoYENhbm5vdCBlZGl0ICR7dHlwZX0gbGF5ZXIgc2hhZGVyYCk7XG4gICAgcmV0dXJuIHZzO1xuICB9XG5cbiAgcmV0dXJuIHZzLnJlcGxhY2Uob3JpZ2luYWxUZXh0LCB0ZXN0VG9SZXBsYWNlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluc2VydEJlZm9yZShcbiAgdnM6IHN0cmluZyxcbiAgdHlwZTogc3RyaW5nLFxuICBpbnNlcnRCZWZvcmVUZXh0OiBzdHJpbmcsXG4gIHRleHRUb0luc2VydDogc3RyaW5nXG4pIHtcbiAgY29uc3QgYXQgPSB2cy5pbmRleE9mKGluc2VydEJlZm9yZVRleHQpO1xuICBpZiAoYXQgPCAwKSB7XG4gICAgQ29uc29sZS5lcnJvcihgQ2Fubm90IGVkaXQgJHt0eXBlfSBsYXllciBzaGFkZXJgKTtcbiAgICByZXR1cm4gdnM7XG4gIH1cblxuICByZXR1cm4gdnMuc2xpY2UoMCwgYXQpICsgdGV4dFRvSW5zZXJ0ICsgdnMuc2xpY2UoYXQpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0EsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBSEE7QUFDQTs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxTQUFTQyxVQUFVQSxDQUFDQyxFQUFVLEVBQUVDLElBQVksRUFBRUMsWUFBb0IsRUFBRUMsYUFBcUIsRUFBRTtFQUNoRyxJQUFJLENBQUNILEVBQUUsQ0FBQ0ksUUFBUSxDQUFDRixZQUFZLENBQUMsRUFBRTtJQUM5QjtJQUNBO0lBQ0FHLGVBQU8sQ0FBQ0MsS0FBSyxnQkFBQUMsTUFBQSxDQUFnQk4sSUFBSSxrQkFBZSxDQUFDO0lBQ2pELE9BQU9ELEVBQUU7RUFDWDtFQUVBLE9BQU9BLEVBQUUsQ0FBQ1EsT0FBTyxDQUFDTixZQUFZLEVBQUVDLGFBQWEsQ0FBQztBQUNoRDtBQUVPLFNBQVNNLFlBQVlBLENBQzFCVCxFQUFVLEVBQ1ZDLElBQVksRUFDWlMsZ0JBQXdCLEVBQ3hCQyxZQUFvQixFQUNwQjtFQUNBLElBQU1DLEVBQUUsR0FBR1osRUFBRSxDQUFDYSxPQUFPLENBQUNILGdCQUFnQixDQUFDO0VBQ3ZDLElBQUlFLEVBQUUsR0FBRyxDQUFDLEVBQUU7SUFDVlAsZUFBTyxDQUFDQyxLQUFLLGdCQUFBQyxNQUFBLENBQWdCTixJQUFJLGtCQUFlLENBQUM7SUFDakQsT0FBT0QsRUFBRTtFQUNYO0VBRUEsT0FBT0EsRUFBRSxDQUFDYyxLQUFLLENBQUMsQ0FBQyxFQUFFRixFQUFFLENBQUMsR0FBR0QsWUFBWSxHQUFHWCxFQUFFLENBQUNjLEtBQUssQ0FBQ0YsRUFBRSxDQUFDO0FBQ3REIiwiaWdub3JlTGlzdCI6W119
@@ -9,41 +9,42 @@ var _webgl = require("@luma.gl/webgl");
9
9
  // Copyright contributors to the kepler.gl project
10
10
 
11
11
  /**
12
- * Patch luma.gl 9's WEBGLRenderPipeline to tolerate mixed-sampler-type
12
+ * Patch luma.gl 9's pipeline validation to tolerate mixed-sampler-type
13
13
  * validation errors in _getLinkStatus().
14
14
  *
15
15
  * WebGL2's validateProgram checks that sampler uniforms of different types
16
16
  * (sampler2D, usampler2D, isampler2D) are not assigned to the same texture
17
- * unit. Before any draw call the default texture unit for all samplers is 0,
18
- * so programs that mix sampler types (e.g. raster band data as usampler2D +
19
- * colormap as sampler2D) always fail validation even though the program linked
20
- * successfully and will work correctly once texture units are assigned at draw
21
- * time.
17
+ * unit. Programs that mix sampler types (e.g. raster band data as usampler2D +
18
+ * shadow maps as sampler2D) may fail validation even though they linked
19
+ * successfully and work correctly once texture units are assigned at draw time.
22
20
  *
23
- * luma.gl calls validateProgram inside _getLinkStatus() immediately after
24
- * linkProgram, before any texture units can be assigned. This patch keeps the
25
- * full validateProgram call but ignores only the known false-positive about
26
- * mixed sampler types. All other validation errors are still reported.
21
+ * In luma.gl ≥9.3 the _getLinkStatus method moved from WEBGLRenderPipeline to
22
+ * WEBGLSharedRenderPipeline and now calls _initializeSamplerUniforms() before
23
+ * validateProgram, which fixes most false positives. However, some WebGL
24
+ * drivers still report errors even with unique units, so we keep suppressing
25
+ * the known false-positive about mixed sampler types. We patch _getLinkStatus
26
+ * on whichever pipeline class owns it.
27
27
  */
28
28
 
29
- // @ts-ignore WEBGLRenderPipeline resolution depends on moduleResolution setting
29
+ // @ts-ignore resolution depends on moduleResolution setting
30
30
 
31
31
  var MIXED_SAMPLER_RE = /different type[s]? use the same sampler location/i;
32
32
  var _patched = false;
33
- function patchPipelineValidation() {
34
- var _WEBGLRenderPipeline$;
35
- if (_patched) return;
36
- _patched = true;
37
- if (!(_webgl.WEBGLRenderPipeline !== null && _webgl.WEBGLRenderPipeline !== void 0 && (_WEBGLRenderPipeline$ = _webgl.WEBGLRenderPipeline.prototype) !== null && _WEBGLRenderPipeline$ !== void 0 && _WEBGLRenderPipeline$._getLinkStatus)) {
38
- return;
39
- }
40
- _webgl.WEBGLRenderPipeline.prototype._getLinkStatus = function () {
33
+ function createPatchedLinkStatus(_original) {
34
+ return function _patchedGetLinkStatus() {
41
35
  var gl = this.device.gl;
42
36
  var linked = gl.getProgramParameter(this.handle, 0x8b82 /* LINK_STATUS */);
43
37
  if (!linked) {
44
38
  this.linkStatus = 'error';
45
39
  return 'link-error';
46
40
  }
41
+
42
+ // luma.gl ≥9.3 assigns unique texture units to samplers before
43
+ // validation via _initializeSamplerUniforms. Call it here so that
44
+ // the sampler-to-unit mapping is populated through our patched path.
45
+ if (typeof this._initializeSamplerUniforms === 'function') {
46
+ this._initializeSamplerUniforms();
47
+ }
47
48
  gl.validateProgram(this.handle);
48
49
  var validated = gl.getProgramParameter(this.handle, 0x8b83 /* VALIDATE_STATUS */);
49
50
  if (!validated) {
@@ -57,4 +58,44 @@ function patchPipelineValidation() {
57
58
  return 'success';
58
59
  };
59
60
  }
60
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd2ViZ2wiLCJyZXF1aXJlIiwiTUlYRURfU0FNUExFUl9SRSIsIl9wYXRjaGVkIiwicGF0Y2hQaXBlbGluZVZhbGlkYXRpb24iLCJfV0VCR0xSZW5kZXJQaXBlbGluZSQiLCJXRUJHTFJlbmRlclBpcGVsaW5lIiwicHJvdG90eXBlIiwiX2dldExpbmtTdGF0dXMiLCJnbCIsImRldmljZSIsImxpbmtlZCIsImdldFByb2dyYW1QYXJhbWV0ZXIiLCJoYW5kbGUiLCJsaW5rU3RhdHVzIiwidmFsaWRhdGVQcm9ncmFtIiwidmFsaWRhdGVkIiwiaW5mb0xvZyIsImdldFByb2dyYW1JbmZvTG9nIiwidGVzdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yYXN0ZXIvcGlwZWxpbmUtdmFsaWRhdGlvbi1wYXRjaC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG4vKipcbiAqIFBhdGNoIGx1bWEuZ2wgOSdzIFdFQkdMUmVuZGVyUGlwZWxpbmUgdG8gdG9sZXJhdGUgbWl4ZWQtc2FtcGxlci10eXBlXG4gKiB2YWxpZGF0aW9uIGVycm9ycyBpbiBfZ2V0TGlua1N0YXR1cygpLlxuICpcbiAqIFdlYkdMMidzIHZhbGlkYXRlUHJvZ3JhbSBjaGVja3MgdGhhdCBzYW1wbGVyIHVuaWZvcm1zIG9mIGRpZmZlcmVudCB0eXBlc1xuICogKHNhbXBsZXIyRCwgdXNhbXBsZXIyRCwgaXNhbXBsZXIyRCkgYXJlIG5vdCBhc3NpZ25lZCB0byB0aGUgc2FtZSB0ZXh0dXJlXG4gKiB1bml0LiBCZWZvcmUgYW55IGRyYXcgY2FsbCB0aGUgZGVmYXVsdCB0ZXh0dXJlIHVuaXQgZm9yIGFsbCBzYW1wbGVycyBpcyAwLFxuICogc28gcHJvZ3JhbXMgdGhhdCBtaXggc2FtcGxlciB0eXBlcyAoZS5nLiByYXN0ZXIgYmFuZCBkYXRhIGFzIHVzYW1wbGVyMkQgK1xuICogY29sb3JtYXAgYXMgc2FtcGxlcjJEKSBhbHdheXMgZmFpbCB2YWxpZGF0aW9uIGV2ZW4gdGhvdWdoIHRoZSBwcm9ncmFtIGxpbmtlZFxuICogc3VjY2Vzc2Z1bGx5IGFuZCB3aWxsIHdvcmsgY29ycmVjdGx5IG9uY2UgdGV4dHVyZSB1bml0cyBhcmUgYXNzaWduZWQgYXQgZHJhd1xuICogdGltZS5cbiAqXG4gKiBsdW1hLmdsIGNhbGxzIHZhbGlkYXRlUHJvZ3JhbSBpbnNpZGUgX2dldExpbmtTdGF0dXMoKSBpbW1lZGlhdGVseSBhZnRlclxuICogbGlua1Byb2dyYW0sIGJlZm9yZSBhbnkgdGV4dHVyZSB1bml0cyBjYW4gYmUgYXNzaWduZWQuIFRoaXMgcGF0Y2gga2VlcHMgdGhlXG4gKiBmdWxsIHZhbGlkYXRlUHJvZ3JhbSBjYWxsIGJ1dCBpZ25vcmVzIG9ubHkgdGhlIGtub3duIGZhbHNlLXBvc2l0aXZlIGFib3V0XG4gKiBtaXhlZCBzYW1wbGVyIHR5cGVzLiBBbGwgb3RoZXIgdmFsaWRhdGlvbiBlcnJvcnMgYXJlIHN0aWxsIHJlcG9ydGVkLlxuICovXG5cbi8vIEB0cy1pZ25vcmUgV0VCR0xSZW5kZXJQaXBlbGluZSByZXNvbHV0aW9uIGRlcGVuZHMgb24gbW9kdWxlUmVzb2x1dGlvbiBzZXR0aW5nXG5pbXBvcnQge1dFQkdMUmVuZGVyUGlwZWxpbmV9IGZyb20gJ0BsdW1hLmdsL3dlYmdsJztcblxuY29uc3QgTUlYRURfU0FNUExFUl9SRSA9IC9kaWZmZXJlbnQgdHlwZVtzXT8gdXNlIHRoZSBzYW1lIHNhbXBsZXIgbG9jYXRpb24vaTtcblxubGV0IF9wYXRjaGVkID0gZmFsc2U7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXRjaFBpcGVsaW5lVmFsaWRhdGlvbigpOiB2b2lkIHtcbiAgaWYgKF9wYXRjaGVkKSByZXR1cm47XG4gIF9wYXRjaGVkID0gdHJ1ZTtcblxuICBpZiAoIVdFQkdMUmVuZGVyUGlwZWxpbmU/LnByb3RvdHlwZT8uX2dldExpbmtTdGF0dXMpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBXRUJHTFJlbmRlclBpcGVsaW5lLnByb3RvdHlwZS5fZ2V0TGlua1N0YXR1cyA9IGZ1bmN0aW9uIChcbiAgICB0aGlzOiBXRUJHTFJlbmRlclBpcGVsaW5lICYge2xpbmtTdGF0dXM6IHN0cmluZ31cbiAgKSB7XG4gICAgY29uc3Qge2dsfSA9IHRoaXMuZGV2aWNlO1xuICAgIGNvbnN0IGxpbmtlZCA9IGdsLmdldFByb2dyYW1QYXJhbWV0ZXIodGhpcy5oYW5kbGUsIDB4OGI4MiAvKiBMSU5LX1NUQVRVUyAqLyk7XG4gICAgaWYgKCFsaW5rZWQpIHtcbiAgICAgIHRoaXMubGlua1N0YXR1cyA9ICdlcnJvcic7XG4gICAgICByZXR1cm4gJ2xpbmstZXJyb3InO1xuICAgIH1cblxuICAgIGdsLnZhbGlkYXRlUHJvZ3JhbSh0aGlzLmhhbmRsZSk7XG4gICAgY29uc3QgdmFsaWRhdGVkID0gZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcih0aGlzLmhhbmRsZSwgMHg4YjgzIC8qIFZBTElEQVRFX1NUQVRVUyAqLyk7XG4gICAgaWYgKCF2YWxpZGF0ZWQpIHtcbiAgICAgIGNvbnN0IGluZm9Mb2cgPSBnbC5nZXRQcm9ncmFtSW5mb0xvZyh0aGlzLmhhbmRsZSkgfHwgJyc7XG4gICAgICBpZiAoIU1JWEVEX1NBTVBMRVJfUkUudGVzdChpbmZvTG9nKSkge1xuICAgICAgICB0aGlzLmxpbmtTdGF0dXMgPSAnZXJyb3InO1xuICAgICAgICByZXR1cm4gJ3ZhbGlkYXRpb24tZXJyb3InO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMubGlua1N0YXR1cyA9ICdzdWNjZXNzJztcbiAgICByZXR1cm4gJ3N1Y2Nlc3MnO1xuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFzQkEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBdEJBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFHQSxJQUFNQyxnQkFBZ0IsR0FBRyxtREFBbUQ7QUFFNUUsSUFBSUMsUUFBUSxHQUFHLEtBQUs7QUFFYixTQUFTQyx1QkFBdUJBLENBQUEsRUFBUztFQUFBLElBQUFDLHFCQUFBO0VBQzlDLElBQUlGLFFBQVEsRUFBRTtFQUNkQSxRQUFRLEdBQUcsSUFBSTtFQUVmLElBQUksRUFBQ0csMEJBQW1CLGFBQW5CQSwwQkFBbUIsZ0JBQUFELHFCQUFBLEdBQW5CQywwQkFBbUIsQ0FBRUMsU0FBUyxjQUFBRixxQkFBQSxlQUE5QkEscUJBQUEsQ0FBZ0NHLGNBQWMsR0FBRTtJQUNuRDtFQUNGO0VBRUFGLDBCQUFtQixDQUFDQyxTQUFTLENBQUNDLGNBQWMsR0FBRyxZQUU3QztJQUNBLElBQU9DLEVBQUUsR0FBSSxJQUFJLENBQUNDLE1BQU0sQ0FBakJELEVBQUU7SUFDVCxJQUFNRSxNQUFNLEdBQUdGLEVBQUUsQ0FBQ0csbUJBQW1CLENBQUMsSUFBSSxDQUFDQyxNQUFNLEVBQUUsTUFBTSxDQUFDLGlCQUFpQixDQUFDO0lBQzVFLElBQUksQ0FBQ0YsTUFBTSxFQUFFO01BQ1gsSUFBSSxDQUFDRyxVQUFVLEdBQUcsT0FBTztNQUN6QixPQUFPLFlBQVk7SUFDckI7SUFFQUwsRUFBRSxDQUFDTSxlQUFlLENBQUMsSUFBSSxDQUFDRixNQUFNLENBQUM7SUFDL0IsSUFBTUcsU0FBUyxHQUFHUCxFQUFFLENBQUNHLG1CQUFtQixDQUFDLElBQUksQ0FBQ0MsTUFBTSxFQUFFLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQztJQUNuRixJQUFJLENBQUNHLFNBQVMsRUFBRTtNQUNkLElBQU1DLE9BQU8sR0FBR1IsRUFBRSxDQUFDUyxpQkFBaUIsQ0FBQyxJQUFJLENBQUNMLE1BQU0sQ0FBQyxJQUFJLEVBQUU7TUFDdkQsSUFBSSxDQUFDWCxnQkFBZ0IsQ0FBQ2lCLElBQUksQ0FBQ0YsT0FBTyxDQUFDLEVBQUU7UUFDbkMsSUFBSSxDQUFDSCxVQUFVLEdBQUcsT0FBTztRQUN6QixPQUFPLGtCQUFrQjtNQUMzQjtJQUNGO0lBRUEsSUFBSSxDQUFDQSxVQUFVLEdBQUcsU0FBUztJQUMzQixPQUFPLFNBQVM7RUFDbEIsQ0FBQztBQUNIIiwiaWdub3JlTGlzdCI6W119
61
+ function patchPipelineValidation() {
62
+ if (_patched) return;
63
+ _patched = true;
64
+
65
+ // Strategy 1: luma.gl <9.3 — _getLinkStatus on WEBGLRenderPipeline
66
+ if (_webgl.WEBGLRenderPipeline !== null && _webgl.WEBGLRenderPipeline !== void 0 && _webgl.WEBGLRenderPipeline.prototype && typeof _webgl.WEBGLRenderPipeline.prototype._getLinkStatus === 'function') {
67
+ var original = _webgl.WEBGLRenderPipeline.prototype._getLinkStatus;
68
+ _webgl.WEBGLRenderPipeline.prototype._getLinkStatus = createPatchedLinkStatus(original);
69
+ return;
70
+ }
71
+
72
+ // Strategy 2: luma.gl ≥9.3 — _getLinkStatus moved to WEBGLSharedRenderPipeline.
73
+ // That class is not publicly exported, so we hook the factory on WebGLDevice
74
+ // that creates shared pipelines. The first invocation discovers the class,
75
+ // patches its prototype, then re-validates the instance.
76
+ var deviceProto = _webgl.WebGLDevice === null || _webgl.WebGLDevice === void 0 ? void 0 : _webgl.WebGLDevice.prototype;
77
+ var origFactory = deviceProto === null || deviceProto === void 0 ? void 0 : deviceProto._createSharedRenderPipelineWebGL;
78
+ if (typeof origFactory !== 'function') return;
79
+ deviceProto._createSharedRenderPipelineWebGL = function () {
80
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
81
+ args[_key] = arguments[_key];
82
+ }
83
+ var instance = origFactory.apply(this, args);
84
+ var SharedCtor = Object.getPrototypeOf(instance).constructor;
85
+ if (SharedCtor && SharedCtor !== _webgl.WEBGLRenderPipeline && typeof SharedCtor.prototype._getLinkStatus === 'function') {
86
+ var _original2 = SharedCtor.prototype._getLinkStatus;
87
+ SharedCtor.prototype._getLinkStatus = createPatchedLinkStatus(_original2);
88
+
89
+ // Re-validate this first instance since its _getLinkStatus already ran
90
+ // with the unpatched version during construction.
91
+ if (instance.linkStatus !== 'success') {
92
+ instance._getLinkStatus();
93
+ }
94
+ }
95
+
96
+ // Restore original factory — future instances will use the patched prototype
97
+ deviceProto._createSharedRenderPipelineWebGL = origFactory;
98
+ return instance;
99
+ };
100
+ }
101
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd2ViZ2wiLCJyZXF1aXJlIiwiTUlYRURfU0FNUExFUl9SRSIsIl9wYXRjaGVkIiwiY3JlYXRlUGF0Y2hlZExpbmtTdGF0dXMiLCJfb3JpZ2luYWwiLCJfcGF0Y2hlZEdldExpbmtTdGF0dXMiLCJnbCIsImRldmljZSIsImxpbmtlZCIsImdldFByb2dyYW1QYXJhbWV0ZXIiLCJoYW5kbGUiLCJsaW5rU3RhdHVzIiwiX2luaXRpYWxpemVTYW1wbGVyVW5pZm9ybXMiLCJ2YWxpZGF0ZVByb2dyYW0iLCJ2YWxpZGF0ZWQiLCJpbmZvTG9nIiwiZ2V0UHJvZ3JhbUluZm9Mb2ciLCJ0ZXN0IiwicGF0Y2hQaXBlbGluZVZhbGlkYXRpb24iLCJXRUJHTFJlbmRlclBpcGVsaW5lIiwicHJvdG90eXBlIiwiX2dldExpbmtTdGF0dXMiLCJvcmlnaW5hbCIsImRldmljZVByb3RvIiwiV2ViR0xEZXZpY2UiLCJvcmlnRmFjdG9yeSIsIl9jcmVhdGVTaGFyZWRSZW5kZXJQaXBlbGluZVdlYkdMIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJpbnN0YW5jZSIsImFwcGx5IiwiU2hhcmVkQ3RvciIsIk9iamVjdCIsImdldFByb3RvdHlwZU9mIiwiY29uc3RydWN0b3IiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvcmFzdGVyL3BpcGVsaW5lLXZhbGlkYXRpb24tcGF0Y2gudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuLyoqXG4gKiBQYXRjaCBsdW1hLmdsIDkncyBwaXBlbGluZSB2YWxpZGF0aW9uIHRvIHRvbGVyYXRlIG1peGVkLXNhbXBsZXItdHlwZVxuICogdmFsaWRhdGlvbiBlcnJvcnMgaW4gX2dldExpbmtTdGF0dXMoKS5cbiAqXG4gKiBXZWJHTDIncyB2YWxpZGF0ZVByb2dyYW0gY2hlY2tzIHRoYXQgc2FtcGxlciB1bmlmb3JtcyBvZiBkaWZmZXJlbnQgdHlwZXNcbiAqIChzYW1wbGVyMkQsIHVzYW1wbGVyMkQsIGlzYW1wbGVyMkQpIGFyZSBub3QgYXNzaWduZWQgdG8gdGhlIHNhbWUgdGV4dHVyZVxuICogdW5pdC4gUHJvZ3JhbXMgdGhhdCBtaXggc2FtcGxlciB0eXBlcyAoZS5nLiByYXN0ZXIgYmFuZCBkYXRhIGFzIHVzYW1wbGVyMkQgK1xuICogc2hhZG93IG1hcHMgYXMgc2FtcGxlcjJEKSBtYXkgZmFpbCB2YWxpZGF0aW9uIGV2ZW4gdGhvdWdoIHRoZXkgbGlua2VkXG4gKiBzdWNjZXNzZnVsbHkgYW5kIHdvcmsgY29ycmVjdGx5IG9uY2UgdGV4dHVyZSB1bml0cyBhcmUgYXNzaWduZWQgYXQgZHJhdyB0aW1lLlxuICpcbiAqIEluIGx1bWEuZ2wg4omlOS4zIHRoZSBfZ2V0TGlua1N0YXR1cyBtZXRob2QgbW92ZWQgZnJvbSBXRUJHTFJlbmRlclBpcGVsaW5lIHRvXG4gKiBXRUJHTFNoYXJlZFJlbmRlclBpcGVsaW5lIGFuZCBub3cgY2FsbHMgX2luaXRpYWxpemVTYW1wbGVyVW5pZm9ybXMoKSBiZWZvcmVcbiAqIHZhbGlkYXRlUHJvZ3JhbSwgd2hpY2ggZml4ZXMgbW9zdCBmYWxzZSBwb3NpdGl2ZXMuIEhvd2V2ZXIsIHNvbWUgV2ViR0xcbiAqIGRyaXZlcnMgc3RpbGwgcmVwb3J0IGVycm9ycyBldmVuIHdpdGggdW5pcXVlIHVuaXRzLCBzbyB3ZSBrZWVwIHN1cHByZXNzaW5nXG4gKiB0aGUga25vd24gZmFsc2UtcG9zaXRpdmUgYWJvdXQgbWl4ZWQgc2FtcGxlciB0eXBlcy4gV2UgcGF0Y2ggX2dldExpbmtTdGF0dXNcbiAqIG9uIHdoaWNoZXZlciBwaXBlbGluZSBjbGFzcyBvd25zIGl0LlxuICovXG5cbi8vIEB0cy1pZ25vcmUgcmVzb2x1dGlvbiBkZXBlbmRzIG9uIG1vZHVsZVJlc29sdXRpb24gc2V0dGluZ1xuaW1wb3J0IHtXRUJHTFJlbmRlclBpcGVsaW5lLCBXZWJHTERldmljZX0gZnJvbSAnQGx1bWEuZ2wvd2ViZ2wnO1xuXG5jb25zdCBNSVhFRF9TQU1QTEVSX1JFID0gL2RpZmZlcmVudCB0eXBlW3NdPyB1c2UgdGhlIHNhbWUgc2FtcGxlciBsb2NhdGlvbi9pO1xuXG5sZXQgX3BhdGNoZWQgPSBmYWxzZTtcblxuZnVuY3Rpb24gY3JlYXRlUGF0Y2hlZExpbmtTdGF0dXMoX29yaWdpbmFsOiAoLi4uYXJnczogdW5rbm93bltdKSA9PiB1bmtub3duKSB7XG4gIHJldHVybiBmdW5jdGlvbiBfcGF0Y2hlZEdldExpbmtTdGF0dXModGhpczogYW55KSB7XG4gICAgY29uc3Qge2dsfSA9IHRoaXMuZGV2aWNlO1xuICAgIGNvbnN0IGxpbmtlZCA9IGdsLmdldFByb2dyYW1QYXJhbWV0ZXIodGhpcy5oYW5kbGUsIDB4OGI4MiAvKiBMSU5LX1NUQVRVUyAqLyk7XG4gICAgaWYgKCFsaW5rZWQpIHtcbiAgICAgIHRoaXMubGlua1N0YXR1cyA9ICdlcnJvcic7XG4gICAgICByZXR1cm4gJ2xpbmstZXJyb3InO1xuICAgIH1cblxuICAgIC8vIGx1bWEuZ2wg4omlOS4zIGFzc2lnbnMgdW5pcXVlIHRleHR1cmUgdW5pdHMgdG8gc2FtcGxlcnMgYmVmb3JlXG4gICAgLy8gdmFsaWRhdGlvbiB2aWEgX2luaXRpYWxpemVTYW1wbGVyVW5pZm9ybXMuIENhbGwgaXQgaGVyZSBzbyB0aGF0XG4gICAgLy8gdGhlIHNhbXBsZXItdG8tdW5pdCBtYXBwaW5nIGlzIHBvcHVsYXRlZCB0aHJvdWdoIG91ciBwYXRjaGVkIHBhdGguXG4gICAgaWYgKHR5cGVvZiB0aGlzLl9pbml0aWFsaXplU2FtcGxlclVuaWZvcm1zID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aGlzLl9pbml0aWFsaXplU2FtcGxlclVuaWZvcm1zKCk7XG4gICAgfVxuXG4gICAgZ2wudmFsaWRhdGVQcm9ncmFtKHRoaXMuaGFuZGxlKTtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBnbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHRoaXMuaGFuZGxlLCAweDhiODMgLyogVkFMSURBVEVfU1RBVFVTICovKTtcbiAgICBpZiAoIXZhbGlkYXRlZCkge1xuICAgICAgY29uc3QgaW5mb0xvZyA9IGdsLmdldFByb2dyYW1JbmZvTG9nKHRoaXMuaGFuZGxlKSB8fCAnJztcbiAgICAgIGlmICghTUlYRURfU0FNUExFUl9SRS50ZXN0KGluZm9Mb2cpKSB7XG4gICAgICAgIHRoaXMubGlua1N0YXR1cyA9ICdlcnJvcic7XG4gICAgICAgIHJldHVybiAndmFsaWRhdGlvbi1lcnJvcic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5saW5rU3RhdHVzID0gJ3N1Y2Nlc3MnO1xuICAgIHJldHVybiAnc3VjY2Vzcyc7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXRjaFBpcGVsaW5lVmFsaWRhdGlvbigpOiB2b2lkIHtcbiAgaWYgKF9wYXRjaGVkKSByZXR1cm47XG4gIF9wYXRjaGVkID0gdHJ1ZTtcblxuICAvLyBTdHJhdGVneSAxOiBsdW1hLmdsIDw5LjMg4oCUIF9nZXRMaW5rU3RhdHVzIG9uIFdFQkdMUmVuZGVyUGlwZWxpbmVcbiAgaWYgKFxuICAgIFdFQkdMUmVuZGVyUGlwZWxpbmU/LnByb3RvdHlwZSAmJlxuICAgIHR5cGVvZiAoV0VCR0xSZW5kZXJQaXBlbGluZS5wcm90b3R5cGUgYXMgYW55KS5fZ2V0TGlua1N0YXR1cyA9PT0gJ2Z1bmN0aW9uJ1xuICApIHtcbiAgICBjb25zdCBvcmlnaW5hbCA9IChXRUJHTFJlbmRlclBpcGVsaW5lLnByb3RvdHlwZSBhcyBhbnkpLl9nZXRMaW5rU3RhdHVzO1xuICAgIChXRUJHTFJlbmRlclBpcGVsaW5lLnByb3RvdHlwZSBhcyBhbnkpLl9nZXRMaW5rU3RhdHVzID0gY3JlYXRlUGF0Y2hlZExpbmtTdGF0dXMob3JpZ2luYWwpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIFN0cmF0ZWd5IDI6IGx1bWEuZ2wg4omlOS4zIOKAlCBfZ2V0TGlua1N0YXR1cyBtb3ZlZCB0byBXRUJHTFNoYXJlZFJlbmRlclBpcGVsaW5lLlxuICAvLyBUaGF0IGNsYXNzIGlzIG5vdCBwdWJsaWNseSBleHBvcnRlZCwgc28gd2UgaG9vayB0aGUgZmFjdG9yeSBvbiBXZWJHTERldmljZVxuICAvLyB0aGF0IGNyZWF0ZXMgc2hhcmVkIHBpcGVsaW5lcy4gVGhlIGZpcnN0IGludm9jYXRpb24gZGlzY292ZXJzIHRoZSBjbGFzcyxcbiAgLy8gcGF0Y2hlcyBpdHMgcHJvdG90eXBlLCB0aGVuIHJlLXZhbGlkYXRlcyB0aGUgaW5zdGFuY2UuXG4gIGNvbnN0IGRldmljZVByb3RvID0gV2ViR0xEZXZpY2U/LnByb3RvdHlwZSBhcyBhbnk7XG4gIGNvbnN0IG9yaWdGYWN0b3J5ID0gZGV2aWNlUHJvdG8/Ll9jcmVhdGVTaGFyZWRSZW5kZXJQaXBlbGluZVdlYkdMO1xuICBpZiAodHlwZW9mIG9yaWdGYWN0b3J5ICE9PSAnZnVuY3Rpb24nKSByZXR1cm47XG5cbiAgZGV2aWNlUHJvdG8uX2NyZWF0ZVNoYXJlZFJlbmRlclBpcGVsaW5lV2ViR0wgPSBmdW5jdGlvbiAodGhpczogYW55LCAuLi5hcmdzOiBhbnlbXSkge1xuICAgIGNvbnN0IGluc3RhbmNlID0gb3JpZ0ZhY3RvcnkuYXBwbHkodGhpcywgYXJncyk7XG4gICAgY29uc3QgU2hhcmVkQ3RvciA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihpbnN0YW5jZSkuY29uc3RydWN0b3I7XG5cbiAgICBpZiAoXG4gICAgICBTaGFyZWRDdG9yICYmXG4gICAgICBTaGFyZWRDdG9yICE9PSBXRUJHTFJlbmRlclBpcGVsaW5lICYmXG4gICAgICB0eXBlb2YgU2hhcmVkQ3Rvci5wcm90b3R5cGUuX2dldExpbmtTdGF0dXMgPT09ICdmdW5jdGlvbidcbiAgICApIHtcbiAgICAgIGNvbnN0IG9yaWdpbmFsID0gU2hhcmVkQ3Rvci5wcm90b3R5cGUuX2dldExpbmtTdGF0dXM7XG4gICAgICBTaGFyZWRDdG9yLnByb3RvdHlwZS5fZ2V0TGlua1N0YXR1cyA9IGNyZWF0ZVBhdGNoZWRMaW5rU3RhdHVzKG9yaWdpbmFsKTtcblxuICAgICAgLy8gUmUtdmFsaWRhdGUgdGhpcyBmaXJzdCBpbnN0YW5jZSBzaW5jZSBpdHMgX2dldExpbmtTdGF0dXMgYWxyZWFkeSByYW5cbiAgICAgIC8vIHdpdGggdGhlIHVucGF0Y2hlZCB2ZXJzaW9uIGR1cmluZyBjb25zdHJ1Y3Rpb24uXG4gICAgICBpZiAoaW5zdGFuY2UubGlua1N0YXR1cyAhPT0gJ3N1Y2Nlc3MnKSB7XG4gICAgICAgIGluc3RhbmNlLl9nZXRMaW5rU3RhdHVzKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzdG9yZSBvcmlnaW5hbCBmYWN0b3J5IOKAlCBmdXR1cmUgaW5zdGFuY2VzIHdpbGwgdXNlIHRoZSBwYXRjaGVkIHByb3RvdHlwZVxuICAgIGRldmljZVByb3RvLl9jcmVhdGVTaGFyZWRSZW5kZXJQaXBlbGluZVdlYkdMID0gb3JpZ0ZhY3Rvcnk7XG4gICAgcmV0dXJuIGluc3RhbmNlO1xuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFzQkEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBdEJBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFHQSxJQUFNQyxnQkFBZ0IsR0FBRyxtREFBbUQ7QUFFNUUsSUFBSUMsUUFBUSxHQUFHLEtBQUs7QUFFcEIsU0FBU0MsdUJBQXVCQSxDQUFDQyxTQUEwQyxFQUFFO0VBQzNFLE9BQU8sU0FBU0MscUJBQXFCQSxDQUFBLEVBQVk7SUFDL0MsSUFBT0MsRUFBRSxHQUFJLElBQUksQ0FBQ0MsTUFBTSxDQUFqQkQsRUFBRTtJQUNULElBQU1FLE1BQU0sR0FBR0YsRUFBRSxDQUFDRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUNDLE1BQU0sRUFBRSxNQUFNLENBQUMsaUJBQWlCLENBQUM7SUFDNUUsSUFBSSxDQUFDRixNQUFNLEVBQUU7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