@deck.gl/extensions 8.9.20 → 8.9.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/dist.dev.js CHANGED
@@ -1640,7 +1640,7 @@ float round(float x) {
1640
1640
  offset = solidLength / 2.0;
1641
1641
  }
1642
1642
 
1643
- float unitOffset = mod(clamp(vPathPosition.y, 0.0, vPathLength) + offset, unitLength);
1643
+ float unitOffset = mod(vPathPosition.y + offset, unitLength);
1644
1644
 
1645
1645
  if (gapLength > 0.0 && unitOffset > solidLength) {
1646
1646
  if (capType <= 0.5) {
@@ -1673,10 +1673,12 @@ attribute float instanceOffsets;
1673
1673
  float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;
1674
1674
  size *= offsetWidth;
1675
1675
  `,
1676
- "vCornerOffset = offsetVec;": `
1676
+ "vs:#main-end": `
1677
1677
  float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;
1678
- vec2 offsetCenter = -instanceOffsets * (isCap ? perp : miterVec * miterSize) * 2.0;
1679
- vCornerOffset = vCornerOffset * offsetWidth - offsetCenter;
1678
+ float offsetDir = sign(instanceOffsets);
1679
+ vPathPosition.x = (vPathPosition.x + offsetDir) * offsetWidth - offsetDir;
1680
+ vPathPosition.y *= offsetWidth;
1681
+ vPathLength *= offsetWidth;
1680
1682
  `,
1681
1683
  "fs:#main-start": `
1682
1684
  float isInside;
@@ -9,7 +9,7 @@ var dashShaders = {
9
9
  'vs:#decl': "\nattribute vec2 instanceDashArrays;\nattribute float instanceDashOffsets;\nvarying vec2 vDashArray;\nvarying float vDashOffset;\n",
10
10
  'vs:#main-end': "\nvDashArray = instanceDashArrays;\nvDashOffset = instanceDashOffsets / width.x;\n",
11
11
  'fs:#decl': "\nuniform float dashAlignMode;\nuniform float capType;\nuniform bool dashGapPickable;\nvarying vec2 vDashArray;\nvarying float vDashOffset;\n\nfloat round(float x) {\n return floor(x + 0.5);\n}\n",
12
- 'fs:#main-start': "\n float solidLength = vDashArray.x;\n float gapLength = vDashArray.y;\n float unitLength = solidLength + gapLength;\n\n float offset;\n\n if (unitLength > 0.0) {\n if (dashAlignMode == 0.0) {\n offset = vDashOffset;\n } else {\n unitLength = vPathLength / round(vPathLength / unitLength);\n offset = solidLength / 2.0;\n }\n\n float unitOffset = mod(clamp(vPathPosition.y, 0.0, vPathLength) + offset, unitLength);\n\n if (gapLength > 0.0 && unitOffset > solidLength) {\n if (capType <= 0.5) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n } else {\n float distToEnd = length(vec2(\n min(unitOffset - solidLength, unitLength - unitOffset),\n vPathPosition.x\n ));\n if (distToEnd > 1.0) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n }\n }\n }\n }\n"
12
+ 'fs:#main-start': "\n float solidLength = vDashArray.x;\n float gapLength = vDashArray.y;\n float unitLength = solidLength + gapLength;\n\n float offset;\n\n if (unitLength > 0.0) {\n if (dashAlignMode == 0.0) {\n offset = vDashOffset;\n } else {\n unitLength = vPathLength / round(vPathLength / unitLength);\n offset = solidLength / 2.0;\n }\n\n float unitOffset = mod(vPathPosition.y + offset, unitLength);\n\n if (gapLength > 0.0 && unitOffset > solidLength) {\n if (capType <= 0.5) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n } else {\n float distToEnd = length(vec2(\n min(unitOffset - solidLength, unitLength - unitOffset),\n vPathPosition.x\n ));\n if (distToEnd > 1.0) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n }\n }\n }\n }\n"
13
13
  }
14
14
  };
15
15
  exports.dashShaders = dashShaders;
@@ -17,7 +17,7 @@ var offsetShaders = {
17
17
  inject: {
18
18
  'vs:#decl': "\nattribute float instanceOffsets;\n",
19
19
  'vs:DECKGL_FILTER_SIZE': "\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n size *= offsetWidth;\n",
20
- 'vCornerOffset = offsetVec;': "\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n vec2 offsetCenter = -instanceOffsets * (isCap ? perp : miterVec * miterSize) * 2.0;\n vCornerOffset = vCornerOffset * offsetWidth - offsetCenter;\n",
20
+ 'vs:#main-end': "\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n float offsetDir = sign(instanceOffsets);\n vPathPosition.x = (vPathPosition.x + offsetDir) * offsetWidth - offsetDir;\n vPathPosition.y *= offsetWidth;\n vPathLength *= offsetWidth;\n",
21
21
  'fs:#main-start': "\n float isInside;\n isInside = step(-1.0, vPathPosition.x) * step(vPathPosition.x, 1.0);\n if (isInside == 0.0) {\n discard;\n }\n"
22
22
  }
23
23
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/path-style/shaders.glsl.ts"],"names":["dashShaders","inject","offsetShaders"],"mappings":";;;;;;AAAO,IAAMA,WAAW,GAAG;AACzBC,EAAAA,MAAM,EAAE;AACN,oJADM;AAQN,wGARM;AAaN,sNAbM;AAiCN;AAjCM;AADiB,CAApB;;AA0EA,IAAMC,aAAa,GAAG;AAC3BD,EAAAA,MAAM,EAAE;AACN,sDADM;AAIN,kHAJM;AAQN,qPARM;AAaN;AAbM;AADmB,CAAtB","sourcesContent":["export const dashShaders = {\n inject: {\n 'vs:#decl': `\nattribute vec2 instanceDashArrays;\nattribute float instanceDashOffsets;\nvarying vec2 vDashArray;\nvarying float vDashOffset;\n`,\n\n 'vs:#main-end': `\nvDashArray = instanceDashArrays;\nvDashOffset = instanceDashOffsets / width.x;\n`,\n\n 'fs:#decl': `\nuniform float dashAlignMode;\nuniform float capType;\nuniform bool dashGapPickable;\nvarying vec2 vDashArray;\nvarying float vDashOffset;\n\nfloat round(float x) {\n return floor(x + 0.5);\n}\n`,\n\n // if given position is in the gap part of the dashed line\n // dashArray.x: solid stroke length, relative to width\n // dashArray.y: gap length, relative to width\n // alignMode:\n // 0 - no adjustment\n // o---- ---- ---- ---- o---- -o---- ---- o\n // 1 - stretch to fit, draw half dash at each end for nicer joints\n // o-- ---- ---- ---- --o-- --o-- ---- --o\n 'fs:#main-start': `\n float solidLength = vDashArray.x;\n float gapLength = vDashArray.y;\n float unitLength = solidLength + gapLength;\n\n float offset;\n\n if (unitLength > 0.0) {\n if (dashAlignMode == 0.0) {\n offset = vDashOffset;\n } else {\n unitLength = vPathLength / round(vPathLength / unitLength);\n offset = solidLength / 2.0;\n }\n\n float unitOffset = mod(clamp(vPathPosition.y, 0.0, vPathLength) + offset, unitLength);\n\n if (gapLength > 0.0 && unitOffset > solidLength) {\n if (capType <= 0.5) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n } else {\n // caps are rounded, test the distance to solid ends\n float distToEnd = length(vec2(\n min(unitOffset - solidLength, unitLength - unitOffset),\n vPathPosition.x\n ));\n if (distToEnd > 1.0) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n }\n }\n }\n }\n`\n }\n};\n\nexport const offsetShaders = {\n inject: {\n 'vs:#decl': `\nattribute float instanceOffsets;\n`,\n 'vs:DECKGL_FILTER_SIZE': `\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n size *= offsetWidth;\n`,\n 'vCornerOffset = offsetVec;': `\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n vec2 offsetCenter = -instanceOffsets * (isCap ? perp : miterVec * miterSize) * 2.0;\n vCornerOffset = vCornerOffset * offsetWidth - offsetCenter;\n`,\n 'fs:#main-start': `\n float isInside;\n isInside = step(-1.0, vPathPosition.x) * step(vPathPosition.x, 1.0);\n if (isInside == 0.0) {\n discard;\n }\n`\n }\n};\n"],"file":"shaders.glsl.js"}
1
+ {"version":3,"sources":["../../../src/path-style/shaders.glsl.ts"],"names":["dashShaders","inject","offsetShaders"],"mappings":";;;;;;AAAO,IAAMA,WAAW,GAAG;AACzBC,EAAAA,MAAM,EAAE;AACN,oJADM;AAQN,wGARM;AAaN,sNAbM;AAiCN;AAjCM;AADiB,CAApB;;AA0EA,IAAMC,aAAa,GAAG;AAC3BD,EAAAA,MAAM,EAAE;AACN,sDADM;AAIN,kHAJM;AAQN,6QARM;AAeN;AAfM;AADmB,CAAtB","sourcesContent":["export const dashShaders = {\n inject: {\n 'vs:#decl': `\nattribute vec2 instanceDashArrays;\nattribute float instanceDashOffsets;\nvarying vec2 vDashArray;\nvarying float vDashOffset;\n`,\n\n 'vs:#main-end': `\nvDashArray = instanceDashArrays;\nvDashOffset = instanceDashOffsets / width.x;\n`,\n\n 'fs:#decl': `\nuniform float dashAlignMode;\nuniform float capType;\nuniform bool dashGapPickable;\nvarying vec2 vDashArray;\nvarying float vDashOffset;\n\nfloat round(float x) {\n return floor(x + 0.5);\n}\n`,\n\n // if given position is in the gap part of the dashed line\n // dashArray.x: solid stroke length, relative to width\n // dashArray.y: gap length, relative to width\n // alignMode:\n // 0 - no adjustment\n // o---- ---- ---- ---- o---- -o---- ---- o\n // 1 - stretch to fit, draw half dash at each end for nicer joints\n // o-- ---- ---- ---- --o-- --o-- ---- --o\n 'fs:#main-start': `\n float solidLength = vDashArray.x;\n float gapLength = vDashArray.y;\n float unitLength = solidLength + gapLength;\n\n float offset;\n\n if (unitLength > 0.0) {\n if (dashAlignMode == 0.0) {\n offset = vDashOffset;\n } else {\n unitLength = vPathLength / round(vPathLength / unitLength);\n offset = solidLength / 2.0;\n }\n\n float unitOffset = mod(vPathPosition.y + offset, unitLength);\n\n if (gapLength > 0.0 && unitOffset > solidLength) {\n if (capType <= 0.5) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n } else {\n // caps are rounded, test the distance to solid ends\n float distToEnd = length(vec2(\n min(unitOffset - solidLength, unitLength - unitOffset),\n vPathPosition.x\n ));\n if (distToEnd > 1.0) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n }\n }\n }\n }\n`\n }\n};\n\nexport const offsetShaders = {\n inject: {\n 'vs:#decl': `\nattribute float instanceOffsets;\n`,\n 'vs:DECKGL_FILTER_SIZE': `\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n size *= offsetWidth;\n`,\n 'vs:#main-end': `\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n float offsetDir = sign(instanceOffsets);\n vPathPosition.x = (vPathPosition.x + offsetDir) * offsetWidth - offsetDir;\n vPathPosition.y *= offsetWidth;\n vPathLength *= offsetWidth;\n`,\n 'fs:#main-start': `\n float isInside;\n isInside = step(-1.0, vPathPosition.x) * step(vPathPosition.x, 1.0);\n if (isInside == 0.0) {\n discard;\n }\n`\n }\n};\n"],"file":"shaders.glsl.js"}
@@ -3,14 +3,14 @@ export const dashShaders = {
3
3
  'vs:#decl': "\nattribute vec2 instanceDashArrays;\nattribute float instanceDashOffsets;\nvarying vec2 vDashArray;\nvarying float vDashOffset;\n",
4
4
  'vs:#main-end': "\nvDashArray = instanceDashArrays;\nvDashOffset = instanceDashOffsets / width.x;\n",
5
5
  'fs:#decl': "\nuniform float dashAlignMode;\nuniform float capType;\nuniform bool dashGapPickable;\nvarying vec2 vDashArray;\nvarying float vDashOffset;\n\nfloat round(float x) {\n return floor(x + 0.5);\n}\n",
6
- 'fs:#main-start': "\n float solidLength = vDashArray.x;\n float gapLength = vDashArray.y;\n float unitLength = solidLength + gapLength;\n\n float offset;\n\n if (unitLength > 0.0) {\n if (dashAlignMode == 0.0) {\n offset = vDashOffset;\n } else {\n unitLength = vPathLength / round(vPathLength / unitLength);\n offset = solidLength / 2.0;\n }\n\n float unitOffset = mod(clamp(vPathPosition.y, 0.0, vPathLength) + offset, unitLength);\n\n if (gapLength > 0.0 && unitOffset > solidLength) {\n if (capType <= 0.5) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n } else {\n float distToEnd = length(vec2(\n min(unitOffset - solidLength, unitLength - unitOffset),\n vPathPosition.x\n ));\n if (distToEnd > 1.0) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n }\n }\n }\n }\n"
6
+ 'fs:#main-start': "\n float solidLength = vDashArray.x;\n float gapLength = vDashArray.y;\n float unitLength = solidLength + gapLength;\n\n float offset;\n\n if (unitLength > 0.0) {\n if (dashAlignMode == 0.0) {\n offset = vDashOffset;\n } else {\n unitLength = vPathLength / round(vPathLength / unitLength);\n offset = solidLength / 2.0;\n }\n\n float unitOffset = mod(vPathPosition.y + offset, unitLength);\n\n if (gapLength > 0.0 && unitOffset > solidLength) {\n if (capType <= 0.5) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n } else {\n float distToEnd = length(vec2(\n min(unitOffset - solidLength, unitLength - unitOffset),\n vPathPosition.x\n ));\n if (distToEnd > 1.0) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n }\n }\n }\n }\n"
7
7
  }
8
8
  };
9
9
  export const offsetShaders = {
10
10
  inject: {
11
11
  'vs:#decl': "\nattribute float instanceOffsets;\n",
12
12
  'vs:DECKGL_FILTER_SIZE': "\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n size *= offsetWidth;\n",
13
- 'vCornerOffset = offsetVec;': "\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n vec2 offsetCenter = -instanceOffsets * (isCap ? perp : miterVec * miterSize) * 2.0;\n vCornerOffset = vCornerOffset * offsetWidth - offsetCenter;\n",
13
+ 'vs:#main-end': "\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n float offsetDir = sign(instanceOffsets);\n vPathPosition.x = (vPathPosition.x + offsetDir) * offsetWidth - offsetDir;\n vPathPosition.y *= offsetWidth;\n vPathLength *= offsetWidth;\n",
14
14
  'fs:#main-start': "\n float isInside;\n isInside = step(-1.0, vPathPosition.x) * step(vPathPosition.x, 1.0);\n if (isInside == 0.0) {\n discard;\n }\n"
15
15
  }
16
16
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/path-style/shaders.glsl.ts"],"names":["dashShaders","inject","offsetShaders"],"mappings":"AAAA,OAAO,MAAMA,WAAW,GAAG;AACzBC,EAAAA,MAAM,EAAE;AACN,oJADM;AAQN,wGARM;AAaN,sNAbM;AAiCN;AAjCM;AADiB,CAApB;AA0EP,OAAO,MAAMC,aAAa,GAAG;AAC3BD,EAAAA,MAAM,EAAE;AACN,sDADM;AAIN,kHAJM;AAQN,qPARM;AAaN;AAbM;AADmB,CAAtB","sourcesContent":["export const dashShaders = {\n inject: {\n 'vs:#decl': `\nattribute vec2 instanceDashArrays;\nattribute float instanceDashOffsets;\nvarying vec2 vDashArray;\nvarying float vDashOffset;\n`,\n\n 'vs:#main-end': `\nvDashArray = instanceDashArrays;\nvDashOffset = instanceDashOffsets / width.x;\n`,\n\n 'fs:#decl': `\nuniform float dashAlignMode;\nuniform float capType;\nuniform bool dashGapPickable;\nvarying vec2 vDashArray;\nvarying float vDashOffset;\n\nfloat round(float x) {\n return floor(x + 0.5);\n}\n`,\n\n // if given position is in the gap part of the dashed line\n // dashArray.x: solid stroke length, relative to width\n // dashArray.y: gap length, relative to width\n // alignMode:\n // 0 - no adjustment\n // o---- ---- ---- ---- o---- -o---- ---- o\n // 1 - stretch to fit, draw half dash at each end for nicer joints\n // o-- ---- ---- ---- --o-- --o-- ---- --o\n 'fs:#main-start': `\n float solidLength = vDashArray.x;\n float gapLength = vDashArray.y;\n float unitLength = solidLength + gapLength;\n\n float offset;\n\n if (unitLength > 0.0) {\n if (dashAlignMode == 0.0) {\n offset = vDashOffset;\n } else {\n unitLength = vPathLength / round(vPathLength / unitLength);\n offset = solidLength / 2.0;\n }\n\n float unitOffset = mod(clamp(vPathPosition.y, 0.0, vPathLength) + offset, unitLength);\n\n if (gapLength > 0.0 && unitOffset > solidLength) {\n if (capType <= 0.5) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n } else {\n // caps are rounded, test the distance to solid ends\n float distToEnd = length(vec2(\n min(unitOffset - solidLength, unitLength - unitOffset),\n vPathPosition.x\n ));\n if (distToEnd > 1.0) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n }\n }\n }\n }\n`\n }\n};\n\nexport const offsetShaders = {\n inject: {\n 'vs:#decl': `\nattribute float instanceOffsets;\n`,\n 'vs:DECKGL_FILTER_SIZE': `\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n size *= offsetWidth;\n`,\n 'vCornerOffset = offsetVec;': `\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n vec2 offsetCenter = -instanceOffsets * (isCap ? perp : miterVec * miterSize) * 2.0;\n vCornerOffset = vCornerOffset * offsetWidth - offsetCenter;\n`,\n 'fs:#main-start': `\n float isInside;\n isInside = step(-1.0, vPathPosition.x) * step(vPathPosition.x, 1.0);\n if (isInside == 0.0) {\n discard;\n }\n`\n }\n};\n"],"file":"shaders.glsl.js"}
1
+ {"version":3,"sources":["../../../src/path-style/shaders.glsl.ts"],"names":["dashShaders","inject","offsetShaders"],"mappings":"AAAA,OAAO,MAAMA,WAAW,GAAG;AACzBC,EAAAA,MAAM,EAAE;AACN,oJADM;AAQN,wGARM;AAaN,sNAbM;AAiCN;AAjCM;AADiB,CAApB;AA0EP,OAAO,MAAMC,aAAa,GAAG;AAC3BD,EAAAA,MAAM,EAAE;AACN,sDADM;AAIN,kHAJM;AAQN,6QARM;AAeN;AAfM;AADmB,CAAtB","sourcesContent":["export const dashShaders = {\n inject: {\n 'vs:#decl': `\nattribute vec2 instanceDashArrays;\nattribute float instanceDashOffsets;\nvarying vec2 vDashArray;\nvarying float vDashOffset;\n`,\n\n 'vs:#main-end': `\nvDashArray = instanceDashArrays;\nvDashOffset = instanceDashOffsets / width.x;\n`,\n\n 'fs:#decl': `\nuniform float dashAlignMode;\nuniform float capType;\nuniform bool dashGapPickable;\nvarying vec2 vDashArray;\nvarying float vDashOffset;\n\nfloat round(float x) {\n return floor(x + 0.5);\n}\n`,\n\n // if given position is in the gap part of the dashed line\n // dashArray.x: solid stroke length, relative to width\n // dashArray.y: gap length, relative to width\n // alignMode:\n // 0 - no adjustment\n // o---- ---- ---- ---- o---- -o---- ---- o\n // 1 - stretch to fit, draw half dash at each end for nicer joints\n // o-- ---- ---- ---- --o-- --o-- ---- --o\n 'fs:#main-start': `\n float solidLength = vDashArray.x;\n float gapLength = vDashArray.y;\n float unitLength = solidLength + gapLength;\n\n float offset;\n\n if (unitLength > 0.0) {\n if (dashAlignMode == 0.0) {\n offset = vDashOffset;\n } else {\n unitLength = vPathLength / round(vPathLength / unitLength);\n offset = solidLength / 2.0;\n }\n\n float unitOffset = mod(vPathPosition.y + offset, unitLength);\n\n if (gapLength > 0.0 && unitOffset > solidLength) {\n if (capType <= 0.5) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n } else {\n // caps are rounded, test the distance to solid ends\n float distToEnd = length(vec2(\n min(unitOffset - solidLength, unitLength - unitOffset),\n vPathPosition.x\n ));\n if (distToEnd > 1.0) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n }\n }\n }\n }\n`\n }\n};\n\nexport const offsetShaders = {\n inject: {\n 'vs:#decl': `\nattribute float instanceOffsets;\n`,\n 'vs:DECKGL_FILTER_SIZE': `\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n size *= offsetWidth;\n`,\n 'vs:#main-end': `\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n float offsetDir = sign(instanceOffsets);\n vPathPosition.x = (vPathPosition.x + offsetDir) * offsetWidth - offsetDir;\n vPathPosition.y *= offsetWidth;\n vPathLength *= offsetWidth;\n`,\n 'fs:#main-start': `\n float isInside;\n isInside = step(-1.0, vPathPosition.x) * step(vPathPosition.x, 1.0);\n if (isInside == 0.0) {\n discard;\n }\n`\n }\n};\n"],"file":"shaders.glsl.js"}
package/dist.min.js CHANGED
@@ -4,7 +4,7 @@
4
4
  else if (typeof define === 'function' && define.amd) define([], factory);
5
5
  else if (typeof exports === 'object') exports['deck'] = factory();
6
6
  else root['deck'] = factory();})(globalThis, function () {
7
- "use strict";var __exports__=(()=>{var Ti=Object.create;var oe=Object.defineProperty;var wi=Object.getOwnPropertyDescriptor;var Mi=Object.getOwnPropertyNames;var Ai=Object.getPrototypeOf,Ri=Object.prototype.hasOwnProperty;var O=(t,r)=>()=>(r||t((r={exports:{}}).exports,r),r.exports),Si=(t,r)=>{for(var e in r)oe(t,e,{get:r[e],enumerable:!0})},ie=(t,r,e,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of Mi(r))!Ri.call(t,i)&&i!==e&&oe(t,i,{get:()=>r[i],enumerable:!(n=wi(r,i))||n.enumerable});return t},j=(t,r,e)=>(ie(t,r,"default"),e&&ie(e,r,"default")),u=(t,r,e)=>(e=t!=null?Ti(Ai(t)):{},ie(r||!t||!t.__esModule?oe(e,"default",{value:t,enumerable:!0}):e,t)),Fi=t=>ie(oe({},"__esModule",{value:!0}),t);var y=O((Ma,ht)=>{ht.exports=globalThis.deck});var x=O((Ra,gt)=>{function ki(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}gt.exports=ki});var b=O((Sa,xt)=>{function Pt(t,r){for(var e=0;e<r.length;e++){var n=r[e];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function Ci(t,r,e){return r&&Pt(t.prototype,r),e&&Pt(t,e),t}xt.exports=Ci});var bt=O((Fa,Ne)=>{function Le(t,r){return Ne.exports=Le=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Le(t,r)}Ne.exports=Le});var w=O((ka,Ot)=>{var Ii=bt();function Li(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),r&&Ii(t,r)}Ot.exports=Li});var Et=O((Ca,se)=>{function ae(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?se.exports=ae=function(e){return typeof e}:se.exports=ae=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ae(t)}se.exports=ae});var fe=O((Ia,Tt)=>{function Ni(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}Tt.exports=Ni});var M=O((La,wt)=>{var Bi=Et(),Di=fe();function ji(t,r){return r&&(Bi(r)==="object"||typeof r=="function")?r:Di(t)}wt.exports=ji});var T=O((Na,De)=>{function Be(t){return De.exports=Be=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},Be(t)}De.exports=Be});var P=O((Ba,Mt)=>{function Vi(t,r,e){return r in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}Mt.exports=Vi});var R=O((Ua,Gt)=>{Gt.exports=globalThis.luma});var ir=O((Wa,nr)=>{function ro(t){if(Array.isArray(t))return t}nr.exports=ro});var ar=O((Ha,or)=>{function no(t,r){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]"){var e=[],n=!0,i=!1,o=void 0;try{for(var a=t[Symbol.iterator](),f;!(n=(f=a.next()).done)&&(e.push(f.value),!(r&&e.length===r));n=!0);}catch(s){i=!0,o=s}finally{try{!n&&a.return!=null&&a.return()}finally{if(i)throw o}}return e}}or.exports=no});var fr=O((Ka,sr)=>{function io(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}sr.exports=io});var qe=O((Ya,lr)=>{var oo=ir(),ao=ar(),so=fr();function fo(t,r){return oo(t)||ao(t,r)||so()}lr.exports=fo});var Jr=O((Zs,Xr)=>{var Go=T();function Wo(t,r){for(;!Object.prototype.hasOwnProperty.call(t,r)&&(t=Go(t),t!==null););return t}Xr.exports=Wo});var rt=O((Xs,be)=>{var Ho=Jr();function xe(t,r,e){return typeof Reflect<"u"&&Reflect.get?be.exports=xe=Reflect.get:be.exports=xe=function(i,o,a){var f=Ho(i,o);if(f){var s=Object.getOwnPropertyDescriptor(f,o);return s.get?s.get.call(a):s.value}},xe(t,r,e||t)}be.exports=xe});var re={};Si(re,{BrushingExtension:()=>le,ClipExtension:()=>Pe,CollisionFilterExtension:()=>we,DataFilterExtension:()=>ve,FillStyleExtension:()=>ge,Fp64Extension:()=>$e,MaskExtension:()=>Me,PathStyleExtension:()=>he,_TerrainExtension:()=>Ce,project64:()=>me});var C={},yt=u(y());j(C,u(y()));if(!yt.Layer)throw new Error("@deck.gl/core is not found");j(re,C);var St=u(x()),Ft=u(b()),kt=u(w()),Ct=u(M()),je=u(T()),Ve=u(P()),It=u(y());var At=u(y()),zi=`
7
+ "use strict";var __exports__=(()=>{var vr=Object.create;var re=Object.defineProperty;var _r=Object.getOwnPropertyDescriptor;var dr=Object.getOwnPropertyNames;var mr=Object.getPrototypeOf,hr=Object.prototype.hasOwnProperty;var je=(t,r)=>()=>(r||t((r={exports:{}}).exports,r),r.exports),yr=(t,r)=>{for(var e in r)re(t,e,{get:r[e],enumerable:!0})},te=(t,r,e,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of dr(r))!hr.call(t,i)&&i!==e&&re(t,i,{get:()=>r[i],enumerable:!(n=_r(r,i))||n.enumerable});return t},k=(t,r,e)=>(te(t,r,"default"),e&&te(e,r,"default")),h=(t,r,e)=>(e=t!=null?vr(mr(t)):{},te(r||!t||!t.__esModule?re(e,"default",{value:t,enumerable:!0}):e,t)),gr=t=>te(re({},"__esModule",{value:!0}),t);var E=je((Zn,Ve)=>{Ve.exports=globalThis.deck});var A=je((xi,et)=>{et.exports=globalThis.luma});var Q={};yr(Q,{BrushingExtension:()=>ne,ClipExtension:()=>ve,CollisionFilterExtension:()=>me,DataFilterExtension:()=>ae,FillStyleExtension:()=>pe,Fp64Extension:()=>ke,MaskExtension:()=>he,PathStyleExtension:()=>ce,_TerrainExtension:()=>be,project64:()=>ue});var M={},ze=h(E());k(M,h(E()));if(!ze.Layer)throw new Error("@deck.gl/core is not found");k(Q,M);function y(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}function Ue(t,r){for(var e=0;e<r.length;e++){var n=r[e];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function g(t,r,e){return r&&Ue(t.prototype,r),e&&Ue(t,e),t}function W(t,r){return W=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},W(t,r)}function x(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),r&&W(t,r)}function N(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?N=function(e){return typeof e}:N=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},N(t)}function C(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function b(t,r){if(r&&(N(r)==="object"||typeof r=="function"))return r;if(r!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return C(t)}function d(t){return d=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},d(t)}function u(t,r,e){return r in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}var We=h(E());var qe=h(E()),Pr=`
8
8
  uniform bool brushing_enabled;
9
9
  uniform int brushing_target;
10
10
  uniform vec2 brushing_mousePos;
@@ -36,10 +36,10 @@
36
36
  void brushing_setVisible(bool visible) {
37
37
  brushing_isVisible = float(visible);
38
38
  }
39
- `,Ui=`
39
+ `,xr=`
40
40
  uniform bool brushing_enabled;
41
41
  varying float brushing_isVisible;
42
- `,qi={source:0,target:1,custom:2,source_target:3},Gi={"vs:DECKGL_FILTER_GL_POSITION":`
42
+ `,br={source:0,target:1,custom:2,source_target:3},Or={"vs:DECKGL_FILTER_GL_POSITION":`
43
43
  vec2 brushingTarget;
44
44
  vec2 brushingSource;
45
45
  if (brushing_target == 3) {
@@ -67,7 +67,7 @@
67
67
  if (brushing_enabled && brushing_isVisible < 0.5) {
68
68
  discard;
69
69
  }
70
- `},Rt={name:"brushing",dependencies:[At.project],vs:zi,fs:Ui,inject:Gi,getUniforms:function(r){if(!r||!("viewport"in r))return{};var e=r.brushingEnabled,n=e===void 0?!0:e,i=r.brushingRadius,o=i===void 0?1e4:i,a=r.brushingTarget,f=a===void 0?"source":a,s=r.mousePosition,l=r.viewport;return{brushing_enabled:Boolean(n&&s&&l.containsPixel(s)),brushing_radius:o,brushing_target:qi[f]||0,brushing_mousePos:s?l.unproject([s.x-l.x,s.y-l.y]):[0,0]}}};function Wi(t){var r=Hi();return function(){var n=(0,je.default)(t),i;if(r){var o=(0,je.default)(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return(0,Ct.default)(this,i)}}function Hi(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Ki={getBrushingTarget:{type:"accessor",value:[0,0]},brushingTarget:"source",brushingEnabled:!0,brushingRadius:1e4},le=function(t){(0,kt.default)(e,t);var r=Wi(e);function e(){return(0,St.default)(this,e),r.apply(this,arguments)}return(0,Ft.default)(e,[{key:"getShaders",value:function(){return{modules:[Rt]}}},{key:"initializeState",value:function(i,o){var a=this,f=this.getAttributeManager();f&&f.add({brushingTargets:{size:2,accessor:"getBrushingTarget",shaderAttributes:{brushingTargets:{divisor:0},instanceBrushingTargets:{divisor:1}}}}),this.state.onMouseMove=function(){var s;(s=a.getCurrentLayer())===null||s===void 0||s.setNeedsRedraw()},i.deck&&i.deck.eventManager.on({pointermove:this.state.onMouseMove,pointerleave:this.state.onMouseMove})}},{key:"finalizeState",value:function(i,o){i.deck&&i.deck.eventManager.off({pointermove:this.state.onMouseMove,pointerleave:this.state.onMouseMove})}}]),e}(It.LayerExtension);(0,Ve.default)(le,"defaultProps",Ki);(0,Ve.default)(le,"extensionName","BrushingExtension");var Jt=u(x()),Qt=u(b()),er=u(w()),tr=u(M()),Ue=u(T()),ce=u(P()),rr=u(y());var Bt=u(P());function Lt(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function Nt(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?Lt(Object(e),!0).forEach(function(n){(0,Bt.default)(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Lt(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}var Dt=`
70
+ `},Ge={name:"brushing",dependencies:[qe.project],vs:Pr,fs:xr,inject:Or,getUniforms:function(r){if(!r||!("viewport"in r))return{};var e=r.brushingEnabled,n=e===void 0?!0:e,i=r.brushingRadius,o=i===void 0?1e4:i,a=r.brushingTarget,f=a===void 0?"source":a,s=r.mousePosition,l=r.viewport;return{brushing_enabled:Boolean(n&&s&&l.containsPixel(s)),brushing_radius:o,brushing_target:br[f]||0,brushing_mousePos:s?l.unproject([s.x-l.x,s.y-l.y]):[0,0]}}};function Er(t){var r=Tr();return function(){var n=d(t),i;if(r){var o=d(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return b(this,i)}}function Tr(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var wr={getBrushingTarget:{type:"accessor",value:[0,0]},brushingTarget:"source",brushingEnabled:!0,brushingRadius:1e4},ne=function(t){x(e,t);var r=Er(e);function e(){return y(this,e),r.apply(this,arguments)}return g(e,[{key:"getShaders",value:function(){return{modules:[Ge]}}},{key:"initializeState",value:function(i,o){var a=this,f=this.getAttributeManager();f&&f.add({brushingTargets:{size:2,accessor:"getBrushingTarget",shaderAttributes:{brushingTargets:{divisor:0},instanceBrushingTargets:{divisor:1}}}}),this.state.onMouseMove=function(){var s;(s=a.getCurrentLayer())===null||s===void 0||s.setNeedsRedraw()},i.deck&&i.deck.eventManager.on({pointermove:this.state.onMouseMove,pointerleave:this.state.onMouseMove})}},{key:"finalizeState",value:function(i,o){i.deck&&i.deck.eventManager.off({pointermove:this.state.onMouseMove,pointerleave:this.state.onMouseMove})}}]),e}(We.LayerExtension);u(ne,"defaultProps",wr);u(ne,"extensionName","BrushingExtension");var ft=h(E());function He(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function Ke(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?He(Object(e),!0).forEach(function(n){u(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):He(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}var Ye=`
71
71
  uniform DATAFILTER_TYPE filter_min;
72
72
  uniform DATAFILTER_TYPE filter_softMin;
73
73
  uniform DATAFILTER_TYPE filter_softMax;
@@ -122,10 +122,10 @@ void dataFilter_setValue(DATAFILTER_TYPE valueFromMin, DATAFILTER_TYPE valueFrom
122
122
  dataFilter_value = 1.0;
123
123
  }
124
124
  }
125
- `,jt=`
125
+ `,$e=`
126
126
  uniform bool filter_transformColor;
127
127
  varying float dataFilter_value;
128
- `;function Vt(t){if(!t||!("extensions"in t))return{};var r=t.filterRange,e=r===void 0?[-1,1]:r,n=t.filterEnabled,i=n===void 0?!0:n,o=t.filterTransformSize,a=o===void 0?!0:o,f=t.filterTransformColor,s=f===void 0?!0:f,l=t.filterSoftRange||e;return Nt(Nt({},Number.isFinite(e[0])?{filter_min:e[0],filter_softMin:l[0],filter_softMax:l[1],filter_max:e[1]}:{filter_min:e.map(function(c){return c[0]}),filter_softMin:l.map(function(c){return c[0]}),filter_softMax:l.map(function(c){return c[1]}),filter_max:e.map(function(c){return c[1]})}),{},{filter_enabled:i,filter_useSoftMargin:Boolean(t.filterSoftRange),filter_transformSize:i&&a,filter_transformColor:i&&s})}function Yi(t){if(!t||!("extensions"in t))return{};var r=Vt(t);if(Number.isFinite(r.filter_min)){var e=Math.fround(r.filter_min);r.filter_min-=e,r.filter_softMin-=e,r.filter_min64High=e;var n=Math.fround(r.filter_max);r.filter_max-=n,r.filter_softMax-=n,r.filter_max64High=n}else{var i=r.filter_min.map(Math.fround);r.filter_min=r.filter_min.map(function(a,f){return a-i[f]}),r.filter_softMin=r.filter_softMin.map(function(a,f){return a-i[f]}),r.filter_min64High=i;var o=r.filter_max.map(Math.fround);r.filter_max=r.filter_max.map(function(a,f){return a-o[f]}),r.filter_softMax=r.filter_softMax.map(function(a,f){return a-o[f]}),r.filter_max64High=o}return r}var zt={"vs:#main-start":`
128
+ `;function Ze(t){if(!t||!("extensions"in t))return{};var r=t.filterRange,e=r===void 0?[-1,1]:r,n=t.filterEnabled,i=n===void 0?!0:n,o=t.filterTransformSize,a=o===void 0?!0:o,f=t.filterTransformColor,s=f===void 0?!0:f,l=t.filterSoftRange||e;return Ke(Ke({},Number.isFinite(e[0])?{filter_min:e[0],filter_softMin:l[0],filter_softMax:l[1],filter_max:e[1]}:{filter_min:e.map(function(c){return c[0]}),filter_softMin:l.map(function(c){return c[0]}),filter_softMax:l.map(function(c){return c[1]}),filter_max:e.map(function(c){return c[1]})}),{},{filter_enabled:i,filter_useSoftMargin:Boolean(t.filterSoftRange),filter_transformSize:i&&a,filter_transformColor:i&&s})}function Ar(t){if(!t||!("extensions"in t))return{};var r=Ze(t);if(Number.isFinite(r.filter_min)){var e=Math.fround(r.filter_min);r.filter_min-=e,r.filter_softMin-=e,r.filter_min64High=e;var n=Math.fround(r.filter_max);r.filter_max-=n,r.filter_softMax-=n,r.filter_max64High=n}else{var i=r.filter_min.map(Math.fround);r.filter_min=r.filter_min.map(function(a,f){return a-i[f]}),r.filter_softMin=r.filter_softMin.map(function(a,f){return a-i[f]}),r.filter_min64High=i;var o=r.filter_max.map(Math.fround);r.filter_max=r.filter_max.map(function(a,f){return a-o[f]}),r.filter_softMax=r.filter_softMax.map(function(a,f){return a-o[f]}),r.filter_max64High=o}return r}var Xe={"vs:#main-start":`
129
129
  #ifdef DATAFILTER_DOUBLE
130
130
  dataFilter_setValue(
131
131
  DATAFILTER_ATTRIB - filter_min64High + DATAFILTER_ATTRIB_64LOW,
@@ -147,7 +147,7 @@ varying float dataFilter_value;
147
147
  if (filter_transformColor) {
148
148
  color.a *= dataFilter_value;
149
149
  }
150
- `},Ut={name:"data-filter",vs:Dt,fs:jt,inject:zt,getUniforms:Vt},qt={name:"data-filter-fp64",vs:Dt,fs:jt,inject:zt,getUniforms:Yi};var ze=u(P()),L=u(R());function Wt(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function $i(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?Wt(Object(e),!0).forEach(function(n){(0,ze.default)(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Wt(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}var Zi=`#define SHADER_NAME data-filter-vertex-shader
150
+ `},Je={name:"data-filter",vs:Ye,fs:$e,inject:Xe,getUniforms:Ze},Qe={name:"data-filter-fp64",vs:Ye,fs:$e,inject:Xe,getUniforms:Ar};var S=h(A());function tt(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function Mr(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?tt(Object(e),!0).forEach(function(n){u(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):tt(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}var Rr=`#define SHADER_NAME data-filter-vertex-shader
151
151
 
152
152
  #ifdef FLOAT_TARGET
153
153
  attribute float filterIndices;
@@ -177,7 +177,7 @@ void main() {
177
177
  #endif
178
178
  gl_PointSize = 1.0;
179
179
  }
180
- `,Xi=`#define SHADER_NAME data-filter-fragment-shader
180
+ `,Sr=`#define SHADER_NAME data-filter-fragment-shader
181
181
  precision highp float;
182
182
 
183
183
  varying vec4 vColor;
@@ -188,7 +188,8 @@ void main() {
188
188
  }
189
189
  gl_FragColor = vColor;
190
190
  }
191
- `;function Ht(t){return Boolean(t.getExtension("EXT_float_blend")&&(t.getExtension("EXT_color_buffer_float")||t.getExtension("WEBGL_color_buffer_float")))}function Kt(t,r){return r?new L.Framebuffer(t,{width:1,height:1,attachments:(0,ze.default)({},36064,new L.Texture2D(t,{format:(0,L.isWebGL2)(t)?34836:6408,type:5126,mipmaps:!1}))}):new L.Framebuffer(t,{width:256,height:64,depth:!1})}function Yt(t,r,e){return r.defines.NON_INSTANCED_MODEL=1,e&&(r.defines.FLOAT_TARGET=1),new L.Model(t,$i({id:"data-filter-aggregation-model",vertexCount:1,isInstanced:!1,drawMode:0,vs:Zi,fs:Xi},r))}var $t={blend:!0,blendFunc:[1,1,1,1],blendEquation:[32774,32774],depthTest:!1};var pe=u(R());function Zt(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function ue(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?Zt(Object(e),!0).forEach(function(n){(0,ce.default)(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Zt(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function Qi(t){var r=eo();return function(){var n=(0,Ue.default)(t),i;if(r){var o=(0,Ue.default)(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return(0,tr.default)(this,i)}}function eo(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var to={getFilterValue:{type:"accessor",value:0},onFilteredItemsChange:{type:"function",value:null,optional:!0},filterEnabled:!0,filterRange:[-1,1],filterSoftRange:null,filterTransformSize:!0,filterTransformColor:!0},Xt={1:"float",2:"vec2",3:"vec3",4:"vec4"},ve=function(t){(0,er.default)(e,t);var r=Qi(e);function e(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.filterSize,o=i===void 0?1:i,a=n.fp64,f=a===void 0?!1:a,s=n.countItems,l=s===void 0?!1:s;if((0,Jt.default)(this,e),!Xt[o])throw new Error("filterSize out of range");return r.call(this,{filterSize:o,fp64:f,countItems:l})}return(0,Qt.default)(e,[{key:"getShaders",value:function(i){var o=i.opts,a=o.filterSize,f=o.fp64;return{modules:[f?qt:Ut],defines:{DATAFILTER_TYPE:Xt[a],DATAFILTER_DOUBLE:Boolean(f)}}}},{key:"initializeState",value:function(i,o){var a=this.getAttributeManager();a&&a.add({filterValues:{size:o.opts.filterSize,type:o.opts.fp64?5130:5126,accessor:"getFilterValue",shaderAttributes:{filterValues:{divisor:0},instanceFilterValues:{divisor:1}}}});var f=this.context.gl;if(a&&o.opts.countItems){var s=Ht(f);a.add({filterIndices:{size:s?1:2,vertexOffset:1,type:5121,normalized:!0,accessor:function(v,_){var m=_.index,d=v&&v.__source?v.__source.index:m;return s?(d+1)%255:[(d+1)%255,Math.floor(d/255)%255]},shaderAttributes:{filterPrevIndices:{vertexOffset:0},filterIndices:{vertexOffset:1}}}});var l=Kt(f,s),c=Yt(f,o.getShaders.call(this,o),s);this.setState({filterFBO:l,filterModel:c})}}},{key:"updateState",value:function(i){var o=i.props,a=i.oldProps;if(this.state.filterModel){var f=this.getAttributeManager(),s=f.attributes.filterValues.needsUpdate()||o.filterEnabled!==a.filterEnabled||o.filterRange!==a.filterRange||o.filterSoftRange!==a.filterSoftRange;s&&this.setState({filterNeedsUpdate:s})}}},{key:"draw",value:function(i,o){var a=this.state,f=a.filterFBO,s=a.filterModel,l=a.filterNeedsUpdate,c=this.props.onFilteredItemsChange;if(l&&c&&s){var p=this.getAttributeManager(),v=p.attributes,_=v.filterValues,m=v.filterIndices;s.setVertexCount(this.getNumInstances());var d=this.context.gl;(0,pe.clear)(d,{framebuffer:f,color:[0,0,0,0]}),s.updateModuleSettings(i.moduleParameters).setAttributes(ue(ue({},_.getShaderAttributes()),m&&m.getShaderAttributes())).draw({framebuffer:f,parameters:ue(ue({},$t),{},{viewport:[0,0,f.width,f.height]})});for(var h=(0,pe.readPixelsToArray)(f),g=0,A=0;A<h.length;A++)g+=h[A];c({id:this.id,count:g}),this.state.filterNeedsUpdate=!1}}},{key:"finalizeState",value:function(){var i=this.state,o=i.filterFBO,a=i.filterModel;o&&(o.color.delete(),o.delete(),a.delete())}}]),e}(rr.LayerExtension);(0,ce.default)(ve,"defaultProps",to);(0,ce.default)(ve,"extensionName","DataFilterExtension");var dr=u(x()),mr=u(b()),hr=u(w()),yr=u(M()),Ye=u(T()),gr=u(P()),J=u(y());function _e(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=Math.fround(t),i=t-n;return r[e]=n,r[e+1]=i,r}function Ge(t){return t-Math.fround(t)}function We(t){for(var r=new Float32Array(32),e=0;e<4;++e)for(var n=0;n<4;++n){var i=e*4+n;_e(t[n*4+e],r,i*2)}return r}var ur=`uniform float ONE;
191
+ `;function rt(t){return Boolean(t.getExtension("EXT_float_blend")&&(t.getExtension("EXT_color_buffer_float")||t.getExtension("WEBGL_color_buffer_float")))}function nt(t,r){return r?new S.Framebuffer(t,{width:1,height:1,attachments:u({},36064,new S.Texture2D(t,{format:(0,S.isWebGL2)(t)?34836:6408,type:5126,mipmaps:!1}))}):new S.Framebuffer(t,{width:256,height:64,depth:!1})}function it(t,r,e){return r.defines.NON_INSTANCED_MODEL=1,e&&(r.defines.FLOAT_TARGET=1),new S.Model(t,Mr({id:"data-filter-aggregation-model",vertexCount:1,isInstanced:!1,drawMode:0,vs:Rr,fs:Sr},r))}var ot={blend:!0,blendFunc:[1,1,1,1],blendEquation:[32774,32774],depthTest:!1};var oe=h(A());function at(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function ie(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?at(Object(e),!0).forEach(function(n){u(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):at(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function kr(t){var r=Cr();return function(){var n=d(t),i;if(r){var o=d(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return b(this,i)}}function Cr(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Ir={getFilterValue:{type:"accessor",value:0},onFilteredItemsChange:{type:"function",value:null,optional:!0},filterEnabled:!0,filterRange:[-1,1],filterSoftRange:null,filterTransformSize:!0,filterTransformColor:!0},st={1:"float",2:"vec2",3:"vec3",4:"vec4"},ae=function(t){x(e,t);var r=kr(e);function e(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.filterSize,o=i===void 0?1:i,a=n.fp64,f=a===void 0?!1:a,s=n.countItems,l=s===void 0?!1:s;if(y(this,e),!st[o])throw new Error("filterSize out of range");return r.call(this,{filterSize:o,fp64:f,countItems:l})}return g(e,[{key:"getShaders",value:function(i){var o=i.opts,a=o.filterSize,f=o.fp64;return{modules:[f?Qe:Je],defines:{DATAFILTER_TYPE:st[a],DATAFILTER_DOUBLE:Boolean(f)}}}},{key:"initializeState",value:function(i,o){var a=this.getAttributeManager();a&&a.add({filterValues:{size:o.opts.filterSize,type:o.opts.fp64?5130:5126,accessor:"getFilterValue",shaderAttributes:{filterValues:{divisor:0},instanceFilterValues:{divisor:1}}}});var f=this.context.gl;if(a&&o.opts.countItems){var s=rt(f);a.add({filterIndices:{size:s?1:2,vertexOffset:1,type:5121,normalized:!0,accessor:function(v,_){var P=_.index,m=v&&v.__source?v.__source.index:P;return s?(m+1)%255:[(m+1)%255,Math.floor(m/255)%255]},shaderAttributes:{filterPrevIndices:{vertexOffset:0},filterIndices:{vertexOffset:1}}}});var l=nt(f,s),c=it(f,o.getShaders.call(this,o),s);this.setState({filterFBO:l,filterModel:c})}}},{key:"updateState",value:function(i){var o=i.props,a=i.oldProps;if(this.state.filterModel){var f=this.getAttributeManager(),s=f.attributes.filterValues.needsUpdate()||o.filterEnabled!==a.filterEnabled||o.filterRange!==a.filterRange||o.filterSoftRange!==a.filterSoftRange;s&&this.setState({filterNeedsUpdate:s})}}},{key:"draw",value:function(i,o){var a=this.state,f=a.filterFBO,s=a.filterModel,l=a.filterNeedsUpdate,c=this.props.onFilteredItemsChange;if(l&&c&&s){var p=this.getAttributeManager(),v=p.attributes,_=v.filterValues,P=v.filterIndices;s.setVertexCount(this.getNumInstances());var m=this.context.gl;(0,oe.clear)(m,{framebuffer:f,color:[0,0,0,0]}),s.updateModuleSettings(i.moduleParameters).setAttributes(ie(ie({},_.getShaderAttributes()),P&&P.getShaderAttributes())).draw({framebuffer:f,parameters:ie(ie({},ot),{},{viewport:[0,0,f.width,f.height]})});for(var O=(0,oe.readPixelsToArray)(f),T=0,w=0;w<O.length;w++)T+=O[w];c({id:this.id,count:T}),this.state.filterNeedsUpdate=!1}}},{key:"finalizeState",value:function(){var i=this.state,o=i.filterFBO,a=i.filterModel;o&&(o.color.delete(),o.delete(),a.delete())}}]),e}(ft.LayerExtension);u(ae,"defaultProps",Ir);u(ae,"extensionName","DataFilterExtension");var $=h(E());function Ee(t){if(Array.isArray(t))return t}function Te(t,r){var e=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(e!=null){var n=[],i=!0,o=!1,a,f;try{for(e=e.call(t);!(i=(a=e.next()).done)&&(n.push(a.value),!(r&&n.length===r));i=!0);}catch(s){o=!0,f=s}finally{try{!i&&e.return!=null&&e.return()}finally{if(o)throw f}}return n}}function se(t,r){(r==null||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}function we(t,r){if(t){if(typeof t=="string")return se(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);if(e==="Object"&&t.constructor&&(e=t.constructor.name),e==="Map"||e==="Set")return Array.from(t);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return se(t,r)}}function Ae(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
192
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function H(t,r){return Ee(t)||Te(t,r)||we(t,r)||Ae()}function fe(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=Math.fround(t),i=t-n;return r[e]=n,r[e+1]=i,r}function Me(t){return t-Math.fround(t)}function Re(t){for(var r=new Float32Array(32),e=0;e<4;++e)for(var n=0;n<4;++n){var i=e*4+n;fe(t[n*4+e],r,i*2)}return r}var lt=`uniform float ONE;
192
193
  vec2 split(float a) {
193
194
  const float SPLIT = 4097.0;
194
195
  float t = a * SPLIT;
@@ -329,7 +330,7 @@ vec2 sqrt_fp64(vec2 a) {
329
330
  return sum_fp64(vec2(yn, 0.0), prod);
330
331
  #endif
331
332
  }
332
- `;var cr=`const vec2 E_FP64 = vec2(2.7182817459106445e+00, 8.254840366817007e-08);
333
+ `;var ut=`const vec2 E_FP64 = vec2(2.7182817459106445e+00, 8.254840366817007e-08);
333
334
  const vec2 LOG2_FP64 = vec2(0.6931471824645996e+00, -1.9046542121259336e-09);
334
335
  const vec2 PI_FP64 = vec2(3.1415927410125732, -8.742278012618954e-8);
335
336
  const vec2 TWO_PI_FP64 = vec2(6.2831854820251465, -1.7484556025237907e-7);
@@ -957,7 +958,7 @@ void mat4_vec4_mul_fp64(vec2 b[16], vec2 a[4], out vec2 out_val[4]) {
957
958
  vec4_dot_fp64(a, tmp, out_val[i]);
958
959
  }
959
960
  }
960
- `;var lo={ONE:1};function uo(){return lo}var pr={name:"fp64-arithmetic",vs:ur,fs:null,getUniforms:uo,fp64ify:_e,fp64LowPart:Ge,fp64ifyMatrix4:We},Z={name:"fp64",vs:cr,fs:null,dependencies:[pr],fp64ify:_e,fp64LowPart:Ge,fp64ifyMatrix4:We};var os=1/Math.PI*180,as=1/180*Math.PI,X={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0};function He(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function U(t,r,e){var n=X.EPSILON;e&&(X.EPSILON=e);try{if(t===r)return!0;if(He(t)&&He(r)){if(t.length!==r.length)return!1;for(var i=0;i<t.length;++i)if(!U(t[i],r[i]))return!1;return!0}return t&&t.equals?t.equals(r):r&&r.equals?r.equals(t):typeof t=="number"&&typeof r=="number"?Math.abs(t-r)<=X.EPSILON*Math.max(1,Math.abs(t),Math.abs(r)):!1}finally{X.EPSILON=n}}var Ke=typeof Float32Array<"u"?Float32Array:Array;var fs=Math.PI/180;Math.hypot||(Math.hypot=function(){for(var t=0,r=arguments.length;r--;)t+=arguments[r]*arguments[r];return Math.sqrt(t)});function po(){var t=new Ke(3);return Ke!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function vo(t,r){var e=r[0]-t[0],n=r[1]-t[1],i=r[2]-t[2];return Math.hypot(e,n,i)}var vr=vo;var cs=function(){var t=po();return function(r,e,n,i,o,a){var f,s;for(e||(e=3),n||(n=0),i?s=Math.min(i*e+n,r.length):s=r.length,f=n;f<s;f+=e)t[0]=r[f],t[1]=r[f+1],t[2]=r[f+2],o(t,t,a),r[f]=t[0],r[f+1]=t[1],r[f+2]=t[2];return r}}();var de=u(y());var _r=`
961
+ `;var Lr={ONE:1};function Nr(){return Lr}var ct={name:"fp64-arithmetic",vs:lt,fs:null,getUniforms:Nr,fp64ify:fe,fp64LowPart:Me,fp64ifyMatrix4:Re},K={name:"fp64",vs:ut,fs:null,dependencies:[ct],fp64ify:fe,fp64LowPart:Me,fp64ifyMatrix4:Re};var Zi=1/Math.PI*180,Xi=1/180*Math.PI,Y={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0};function Se(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function B(t,r,e){var n=Y.EPSILON;e&&(Y.EPSILON=e);try{if(t===r)return!0;if(Se(t)&&Se(r)){if(t.length!==r.length)return!1;for(var i=0;i<t.length;++i)if(!B(t[i],r[i]))return!1;return!0}return t&&t.equals?t.equals(r):r&&r.equals?r.equals(t):typeof t=="number"&&typeof r=="number"?Math.abs(t-r)<=Y.EPSILON*Math.max(1,Math.abs(t),Math.abs(r)):!1}finally{Y.EPSILON=n}}var Fe=typeof Float32Array<"u"?Float32Array:Array;var Qi=Math.PI/180;Math.hypot||(Math.hypot=function(){for(var t=0,r=arguments.length;r--;)t+=arguments[r]*arguments[r];return Math.sqrt(t)});function Dr(){var t=new Fe(3);return Fe!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function jr(t,r){var e=r[0]-t[0],n=r[1]-t[1],i=r[2]-t[2];return Math.hypot(e,n,i)}var pt=jr;var ro=function(){var t=Dr();return function(r,e,n,i,o,a){var f,s;for(e||(e=3),n||(n=0),i?s=Math.min(i*e+n,r.length):s=r.length,f=n;f<s;f+=e)t[0]=r[f],t[1]=r[f+1],t[2]=r[f+2],o(t,t,a),r[f]=t[0],r[f+1]=t[1],r[f+2]=t[2];return r}}();var le=h(E());var vt=`
961
962
  const vec2 WORLD_SCALE_FP64 = vec2(81.4873275756836, 0.0000032873668232014097);
962
963
 
963
964
  uniform vec2 project_uViewProjectionMatrixFP64[16];
@@ -1031,7 +1032,7 @@ vec4 project_position_to_clipspace(
1031
1032
  position, position64xyLow, offset, commonPosition
1032
1033
  );
1033
1034
  }
1034
- `;var _o=Z.fp64ify,mo=Z.fp64ifyMatrix4,me={name:"project64",dependencies:[de.project,Z],vs:_r,getUniforms:yo},ho=(0,de._memoize)(go);function yo(t){if(t&&"viewport"in t){var r=t.viewport,e=r.viewProjectionMatrix,n=r.scale;return ho({viewProjectionMatrix:e,scale:n})}return{}}function go(t){var r=t.viewProjectionMatrix,e=t.scale,n=mo(r),i=_o(e);return{project_uViewProjectionMatrixFP64:n,project64_uViewProjectionMatrix:n,project64_uScale:i}}function Po(t){var r=xo();return function(){var n=(0,Ye.default)(t),i;if(r){var o=(0,Ye.default)(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return(0,yr.default)(this,i)}}function xo(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var $e=function(t){(0,hr.default)(e,t);var r=Po(e);function e(){return(0,dr.default)(this,e),r.apply(this,arguments)}return(0,mr.default)(e,[{key:"getShaders",value:function(){var i=this.props.coordinateSystem;if(i!==J.COORDINATE_SYSTEM.LNGLAT&&i!==J.COORDINATE_SYSTEM.DEFAULT)throw new Error("fp64: coordinateSystem must be LNGLAT");return{modules:[me]}}}]),e}(J.LayerExtension);(0,gr.default)($e,"extensionName","Fp64Extension");var br=u(x()),Or=u(b()),Er=u(w()),Tr=u(M()),Ze=u(T()),Xe=u(P()),Q=u(y());var Pr={inject:{"vs:#decl":`
1035
+ `;var Vr=K.fp64ify,zr=K.fp64ifyMatrix4,ue={name:"project64",dependencies:[le.project,K],vs:vt,getUniforms:qr},Ur=(0,le._memoize)(Gr);function qr(t){if(t&&"viewport"in t){var r=t.viewport,e=r.viewProjectionMatrix,n=r.scale;return Ur({viewProjectionMatrix:e,scale:n})}return{}}function Gr(t){var r=t.viewProjectionMatrix,e=t.scale,n=zr(r),i=Vr(e);return{project_uViewProjectionMatrixFP64:n,project64_uViewProjectionMatrix:n,project64_uScale:i}}function Wr(t){var r=Hr();return function(){var n=d(t),i;if(r){var o=d(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return b(this,i)}}function Hr(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var ke=function(t){x(e,t);var r=Wr(e);function e(){return y(this,e),r.apply(this,arguments)}return g(e,[{key:"getShaders",value:function(){var i=this.props.coordinateSystem;if(i!==$.COORDINATE_SYSTEM.LNGLAT&&i!==$.COORDINATE_SYSTEM.DEFAULT)throw new Error("fp64: coordinateSystem must be LNGLAT");return{modules:[ue]}}}]),e}($.LayerExtension);u(ke,"extensionName","Fp64Extension");var Z=h(E());var _t={inject:{"vs:#decl":`
1035
1036
  attribute vec2 instanceDashArrays;
1036
1037
  attribute float instanceDashOffsets;
1037
1038
  varying vec2 vDashArray;
@@ -1064,7 +1065,7 @@ float round(float x) {
1064
1065
  offset = solidLength / 2.0;
1065
1066
  }
1066
1067
 
1067
- float unitOffset = mod(clamp(vPathPosition.y, 0.0, vPathLength) + offset, unitLength);
1068
+ float unitOffset = mod(vPathPosition.y + offset, unitLength);
1068
1069
 
1069
1070
  if (gapLength > 0.0 && unitOffset > solidLength) {
1070
1071
  if (capType <= 0.5) {
@@ -1084,22 +1085,24 @@ float round(float x) {
1084
1085
  }
1085
1086
  }
1086
1087
  }
1087
- `}},xr={inject:{"vs:#decl":`
1088
+ `}},dt={inject:{"vs:#decl":`
1088
1089
  attribute float instanceOffsets;
1089
1090
  `,"vs:DECKGL_FILTER_SIZE":`
1090
1091
  float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;
1091
1092
  size *= offsetWidth;
1092
- `,"vCornerOffset = offsetVec;":`
1093
+ `,"vs:#main-end":`
1093
1094
  float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;
1094
- vec2 offsetCenter = -instanceOffsets * (isCap ? perp : miterVec * miterSize) * 2.0;
1095
- vCornerOffset = vCornerOffset * offsetWidth - offsetCenter;
1095
+ float offsetDir = sign(instanceOffsets);
1096
+ vPathPosition.x = (vPathPosition.x + offsetDir) * offsetWidth - offsetDir;
1097
+ vPathPosition.y *= offsetWidth;
1098
+ vPathLength *= offsetWidth;
1096
1099
  `,"fs:#main-start":`
1097
1100
  float isInside;
1098
1101
  isInside = step(-1.0, vPathPosition.x) * step(vPathPosition.x, 1.0);
1099
1102
  if (isInside == 0.0) {
1100
1103
  discard;
1101
1104
  }
1102
- `}};function bo(t){var r=Oo();return function(){var n=(0,Ze.default)(t),i;if(r){var o=(0,Ze.default)(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return(0,Tr.default)(this,i)}}function Oo(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Eo={getDashArray:{type:"accessor",value:[0,0]},getOffset:{type:"accessor",value:0},dashJustified:!1,dashGapPickable:!1},he=function(t){(0,Er.default)(e,t);var r=bo(e);function e(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.dash,o=i===void 0?!1:i,a=n.offset,f=a===void 0?!1:a,s=n.highPrecisionDash,l=s===void 0?!1:s;return(0,br.default)(this,e),r.call(this,{dash:o||l,offset:f,highPrecisionDash:l})}return(0,Or.default)(e,[{key:"isEnabled",value:function(i){return"pathTesselator"in i.state}},{key:"getShaders",value:function(i){if(!i.isEnabled(this))return null;var o={};return i.opts.dash&&(o=(0,Q._mergeShaders)(o,Pr)),i.opts.offset&&(o=(0,Q._mergeShaders)(o,xr)),o}},{key:"initializeState",value:function(i,o){var a=this.getAttributeManager();!a||!o.isEnabled(this)||(o.opts.dash&&a.addInstanced({instanceDashArrays:{size:2,accessor:"getDashArray"}}),o.opts.highPrecisionDash&&a.addInstanced({instanceDashOffsets:{size:1,accessor:"getPath",transform:o.getDashOffsets.bind(this)}}),o.opts.offset&&a.addInstanced({instanceOffsets:{size:1,accessor:"getOffset"}}))}},{key:"updateState",value:function(i,o){if(o.isEnabled(this)){var a={};o.opts.dash&&(a.dashAlignMode=this.props.dashJustified?1:0,a.dashGapPickable=Boolean(this.props.dashGapPickable)),this.state.model.setUniforms(a)}}},{key:"getDashOffsets",value:function(i){for(var o=[0],a=this.props.positionFormat==="XY"?2:3,f=Array.isArray(i[0]),s=f?i.length:i.length/a,l,c,p=0;p<s-1;p++)l=f?i[p]:i.slice(p*a,p*a+a),l=this.projectPosition(l),p>0&&(o[p]=o[p-1]+vr(c,l)),c=l;return o}}]),e}(Q.LayerExtension);(0,Xe.default)(he,"defaultProps",Eo);(0,Xe.default)(he,"extensionName","PathStyleExtension");var Mr=u(x()),Ar=u(b()),Rr=u(w()),Sr=u(M()),Je=u(T()),ye=u(P()),Fr=u(y()),kr=u(R());var ee=u(y()),To=`
1105
+ `}};function Kr(t){var r=Yr();return function(){var n=d(t),i;if(r){var o=d(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return b(this,i)}}function Yr(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var $r={getDashArray:{type:"accessor",value:[0,0]},getOffset:{type:"accessor",value:0},dashJustified:!1,dashGapPickable:!1},ce=function(t){x(e,t);var r=Kr(e);function e(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.dash,o=i===void 0?!1:i,a=n.offset,f=a===void 0?!1:a,s=n.highPrecisionDash,l=s===void 0?!1:s;return y(this,e),r.call(this,{dash:o||l,offset:f,highPrecisionDash:l})}return g(e,[{key:"isEnabled",value:function(i){return"pathTesselator"in i.state}},{key:"getShaders",value:function(i){if(!i.isEnabled(this))return null;var o={};return i.opts.dash&&(o=(0,Z._mergeShaders)(o,_t)),i.opts.offset&&(o=(0,Z._mergeShaders)(o,dt)),o}},{key:"initializeState",value:function(i,o){var a=this.getAttributeManager();!a||!o.isEnabled(this)||(o.opts.dash&&a.addInstanced({instanceDashArrays:{size:2,accessor:"getDashArray"}}),o.opts.highPrecisionDash&&a.addInstanced({instanceDashOffsets:{size:1,accessor:"getPath",transform:o.getDashOffsets.bind(this)}}),o.opts.offset&&a.addInstanced({instanceOffsets:{size:1,accessor:"getOffset"}}))}},{key:"updateState",value:function(i,o){if(o.isEnabled(this)){var a={};o.opts.dash&&(a.dashAlignMode=this.props.dashJustified?1:0,a.dashGapPickable=Boolean(this.props.dashGapPickable)),this.state.model.setUniforms(a)}}},{key:"getDashOffsets",value:function(i){for(var o=[0],a=this.props.positionFormat==="XY"?2:3,f=Array.isArray(i[0]),s=f?i.length:i.length/a,l,c,p=0;p<s-1;p++)l=f?i[p]:i.slice(p*a,p*a+a),l=this.projectPosition(l),p>0&&(o[p]=o[p-1]+pt(c,l)),c=l;return o}}]),e}(Z.LayerExtension);u(ce,"defaultProps",$r);u(ce,"extensionName","PathStyleExtension");var ht=h(E()),yt=h(A());var X=h(E()),Zr=`
1103
1106
  #ifdef NON_INSTANCED_MODEL
1104
1107
  #define FILL_PATTERN_FRAME_ATTRIB fillPatternFrames
1105
1108
  #define FILL_PATTERN_SCALE_ATTRIB fillPatternScales
@@ -1120,7 +1123,7 @@ uniform vec2 fill_patternTextureSize;
1120
1123
  varying vec2 fill_uv;
1121
1124
  varying vec4 fill_patternBounds;
1122
1125
  varying vec4 fill_patternPlacement;
1123
- `,wo=`
1126
+ `,Xr=`
1124
1127
  uniform bool fill_patternEnabled;
1125
1128
  uniform bool fill_patternMask;
1126
1129
  uniform sampler2D fill_patternTexture;
@@ -1132,7 +1135,7 @@ varying vec4 fill_patternPlacement;
1132
1135
  varying vec2 fill_uv;
1133
1136
 
1134
1137
  const float FILL_UV_SCALE = 512.0 / 40000000.0;
1135
- `,Mo={"vs:DECKGL_FILTER_GL_POSITION":`
1138
+ `,Jr={"vs:DECKGL_FILTER_GL_POSITION":`
1136
1139
  fill_uv = geometry.position.xy;
1137
1140
  `,"vs:DECKGL_FILTER_COLOR":`
1138
1141
  if (fill_patternEnabled) {
@@ -1154,13 +1157,13 @@ const float FILL_UV_SCALE = 512.0 / 40000000.0;
1154
1157
  color.rgb = patternColor.rgb;
1155
1158
  }
1156
1159
  }
1157
- `};function Ao(t,r){if(!t)return{};if("fillPatternTexture"in t){var e=t.fillPatternTexture;return{fill_patternTexture:e,fill_patternTextureSize:[e.width,e.height]}}if("viewport"in t){var n=t.fillPatternMask,i=n===void 0?!0:n,o=t.fillPatternEnabled,a=o===void 0?!0:o,f=r,s=f.project_uCommonOrigin,l=[(0,ee.fp64LowPart)(s[0]),(0,ee.fp64LowPart)(s[1])];return{fill_uvCoordinateOrigin:s.slice(0,2),fill_uvCoordinateOrigin64Low:l,fill_patternMask:i,fill_patternEnabled:a}}return{}}var wr={name:"fill-pattern",vs:To,fs:wo,inject:Mo,dependencies:[ee.project],getUniforms:Ao};function Ro(t){var r=So();return function(){var n=(0,Je.default)(t),i;if(r){var o=(0,Je.default)(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return(0,Sr.default)(this,i)}}function So(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Fo={fillPatternEnabled:!0,fillPatternAtlas:{type:"image",value:null,async:!0,parameters:(0,ye.default)({},10241,9729)},fillPatternMapping:{type:"object",value:{},async:!0},fillPatternMask:!0,getFillPattern:{type:"accessor",value:function(r){return r.pattern}},getFillPatternScale:{type:"accessor",value:1},getFillPatternOffset:{type:"accessor",value:[0,0]}},ge=function(t){(0,Rr.default)(e,t);var r=Ro(e);function e(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.pattern,o=i===void 0?!1:i;return(0,Mr.default)(this,e),r.call(this,{pattern:o})}return(0,Ar.default)(e,[{key:"isEnabled",value:function(i){return i.getAttributeManager()!==null&&!("pathTesselator"in i.state)}},{key:"getShaders",value:function(i){return i.isEnabled(this)?{modules:[i.opts.pattern&&wr].filter(Boolean)}:null}},{key:"initializeState",value:function(i,o){if(o.isEnabled(this)){var a=this.getAttributeManager();o.opts.pattern&&a.add({fillPatternFrames:{size:4,accessor:"getFillPattern",transform:o.getPatternFrame.bind(this),shaderAttributes:{fillPatternFrames:{divisor:0},instanceFillPatternFrames:{divisor:1}}},fillPatternScales:{size:1,accessor:"getFillPatternScale",defaultValue:1,shaderAttributes:{fillPatternScales:{divisor:0},instanceFillPatternScales:{divisor:1}}},fillPatternOffsets:{size:2,accessor:"getFillPatternOffset",shaderAttributes:{fillPatternOffsets:{divisor:0},instanceFillPatternOffsets:{divisor:1}}}}),this.setState({emptyTexture:new kr.Texture2D(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}}},{key:"updateState",value:function(i,o){var a=i.props,f=i.oldProps;o.isEnabled(this)&&a.fillPatternMapping&&a.fillPatternMapping!==f.fillPatternMapping&&this.getAttributeManager().invalidate("getFillPattern")}},{key:"draw",value:function(i,o){if(o.isEnabled(this)){var a=this.props.fillPatternAtlas;this.setModuleParameters({fillPatternTexture:a||this.state.emptyTexture})}}},{key:"finalizeState",value:function(){var i=this.state.emptyTexture;i?.delete()}},{key:"getPatternFrame",value:function(i){var o=this.getCurrentLayer().props.fillPatternMapping,a=o&&o[i];return a?[a.x,a.y,a.width,a.height]:[0,0,0,0]}}]),e}(Fr.LayerExtension);(0,ye.default)(ge,"defaultProps",Fo);(0,ye.default)(ge,"extensionName","FillStyleExtension");var Cr=u(x()),Ir=u(b()),Lr=u(w()),Nr=u(M()),Qe=u(T()),et=u(P()),Br=u(y());function ko(t){var r=Co();return function(){var n=(0,Qe.default)(t),i;if(r){var o=(0,Qe.default)(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return(0,Nr.default)(this,i)}}function Co(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Io={clipBounds:[0,0,1,1],clipByInstance:void 0},Dr=`
1160
+ `};function Qr(t,r){if(!t)return{};if("fillPatternTexture"in t){var e=t.fillPatternTexture;return{fill_patternTexture:e,fill_patternTextureSize:[e.width,e.height]}}if("viewport"in t){var n=t.fillPatternMask,i=n===void 0?!0:n,o=t.fillPatternEnabled,a=o===void 0?!0:o,f=r,s=f.project_uCommonOrigin,l=[(0,X.fp64LowPart)(s[0]),(0,X.fp64LowPart)(s[1])];return{fill_uvCoordinateOrigin:s.slice(0,2),fill_uvCoordinateOrigin64Low:l,fill_patternMask:i,fill_patternEnabled:a}}return{}}var mt={name:"fill-pattern",vs:Zr,fs:Xr,inject:Jr,dependencies:[X.project],getUniforms:Qr};function en(t){var r=tn();return function(){var n=d(t),i;if(r){var o=d(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return b(this,i)}}function tn(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var rn={fillPatternEnabled:!0,fillPatternAtlas:{type:"image",value:null,async:!0,parameters:u({},10241,9729)},fillPatternMapping:{type:"object",value:{},async:!0},fillPatternMask:!0,getFillPattern:{type:"accessor",value:function(r){return r.pattern}},getFillPatternScale:{type:"accessor",value:1},getFillPatternOffset:{type:"accessor",value:[0,0]}},pe=function(t){x(e,t);var r=en(e);function e(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.pattern,o=i===void 0?!1:i;return y(this,e),r.call(this,{pattern:o})}return g(e,[{key:"isEnabled",value:function(i){return i.getAttributeManager()!==null&&!("pathTesselator"in i.state)}},{key:"getShaders",value:function(i){return i.isEnabled(this)?{modules:[i.opts.pattern&&mt].filter(Boolean)}:null}},{key:"initializeState",value:function(i,o){if(o.isEnabled(this)){var a=this.getAttributeManager();o.opts.pattern&&a.add({fillPatternFrames:{size:4,accessor:"getFillPattern",transform:o.getPatternFrame.bind(this),shaderAttributes:{fillPatternFrames:{divisor:0},instanceFillPatternFrames:{divisor:1}}},fillPatternScales:{size:1,accessor:"getFillPatternScale",defaultValue:1,shaderAttributes:{fillPatternScales:{divisor:0},instanceFillPatternScales:{divisor:1}}},fillPatternOffsets:{size:2,accessor:"getFillPatternOffset",shaderAttributes:{fillPatternOffsets:{divisor:0},instanceFillPatternOffsets:{divisor:1}}}}),this.setState({emptyTexture:new yt.Texture2D(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}}},{key:"updateState",value:function(i,o){var a=i.props,f=i.oldProps;o.isEnabled(this)&&a.fillPatternMapping&&a.fillPatternMapping!==f.fillPatternMapping&&this.getAttributeManager().invalidate("getFillPattern")}},{key:"draw",value:function(i,o){if(o.isEnabled(this)){var a=this.props.fillPatternAtlas;this.setModuleParameters({fillPatternTexture:a||this.state.emptyTexture})}}},{key:"finalizeState",value:function(){var i=this.state.emptyTexture;i?.delete()}},{key:"getPatternFrame",value:function(i){var o=this.getCurrentLayer().props.fillPatternMapping,a=o&&o[i];return a?[a.x,a.y,a.width,a.height]:[0,0,0,0]}}]),e}(ht.LayerExtension);u(pe,"defaultProps",rn);u(pe,"extensionName","FillStyleExtension");var gt=h(E());function nn(t){var r=on();return function(){var n=d(t),i;if(r){var o=d(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return b(this,i)}}function on(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var an={clipBounds:[0,0,1,1],clipByInstance:void 0},Pt=`
1158
1161
  uniform vec4 clip_bounds;
1159
1162
 
1160
1163
  bool clip_isInBounds(vec2 position) {
1161
1164
  return position.x >= clip_bounds[0] && position.y >= clip_bounds[1] && position.x < clip_bounds[2] && position.y < clip_bounds[3];
1162
1165
  }
1163
- `,Lo={name:"clip-vs",vs:Dr},No={"vs:#decl":`
1166
+ `,sn={name:"clip-vs",vs:Pt},fn={"vs:#decl":`
1164
1167
  varying float clip_isVisible;
1165
1168
  `,"vs:DECKGL_FILTER_GL_POSITION":`
1166
1169
  clip_isVisible = float(clip_isInBounds(geometry.worldPosition.xy));
@@ -1168,7 +1171,7 @@ varying float clip_isVisible;
1168
1171
  varying float clip_isVisible;
1169
1172
  `,"fs:DECKGL_FILTER_COLOR":`
1170
1173
  if (clip_isVisible < 0.5) discard;
1171
- `},Bo={name:"clip-fs",fs:Dr},Do={"vs:#decl":`
1174
+ `},ln={name:"clip-fs",fs:Pt},un={"vs:#decl":`
1172
1175
  varying vec2 clip_commonPosition;
1173
1176
  `,"vs:DECKGL_FILTER_GL_POSITION":`
1174
1177
  clip_commonPosition = geometry.position.xy;
@@ -1176,7 +1179,7 @@ varying vec2 clip_commonPosition;
1176
1179
  varying vec2 clip_commonPosition;
1177
1180
  `,"fs:DECKGL_FILTER_COLOR":`
1178
1181
  if (!clip_isInBounds(clip_commonPosition)) discard;
1179
- `},Pe=function(t){(0,Lr.default)(e,t);var r=ko(e);function e(){return(0,Cr.default)(this,e),r.apply(this,arguments)}return(0,Ir.default)(e,[{key:"getShaders",value:function(){var i="instancePositions"in this.getAttributeManager().attributes;return this.props.clipByInstance!==void 0&&(i=Boolean(this.props.clipByInstance)),this.state.clipByInstance=i,i?{modules:[Lo],inject:No}:{modules:[Bo],inject:Do}}},{key:"draw",value:function(i){var o=i.uniforms,a=this.props.clipBounds;if(this.state.clipByInstance)o.clip_bounds=a;else{var f=this.projectPosition([a[0],a[1],0]),s=this.projectPosition([a[2],a[3],0]);o.clip_bounds=[Math.min(f[0],s[0]),Math.min(f[1],s[1]),Math.max(f[0],s[0]),Math.max(f[1],s[1])]}}}]),e}(Br.LayerExtension);(0,et.default)(Pe,"defaultProps",Io);(0,et.default)(Pe,"extensionName","ClipExtension");var Pn=u(x()),xn=u(b()),bn=u(w()),On=u(M()),at=u(T()),st=u(P()),En=u(y());var jr=u(y()),jo=`
1182
+ `},ve=function(t){x(e,t);var r=nn(e);function e(){return y(this,e),r.apply(this,arguments)}return g(e,[{key:"getShaders",value:function(){var i="instancePositions"in this.getAttributeManager().attributes;return this.props.clipByInstance!==void 0&&(i=Boolean(this.props.clipByInstance)),this.state.clipByInstance=i,i?{modules:[sn],inject:fn}:{modules:[ln],inject:un}}},{key:"draw",value:function(i){var o=i.uniforms,a=this.props.clipBounds;if(this.state.clipByInstance)o.clip_bounds=a;else{var f=this.projectPosition([a[0],a[1],0]),s=this.projectPosition([a[2],a[3],0]);o.clip_bounds=[Math.min(f[0],s[0]),Math.min(f[1],s[1]),Math.max(f[0],s[0]),Math.max(f[1],s[1])]}}}]),e}(gt.LayerExtension);u(ve,"defaultProps",an);u(ve,"extensionName","ClipExtension");var Dt=h(E());var xt=h(E()),cn=`
1180
1183
  #ifdef NON_INSTANCED_MODEL
1181
1184
  attribute float collisionPriorities;
1182
1185
  #else
@@ -1225,7 +1228,7 @@ float collision_isVisible(vec2 texCoords, vec3 pickingColor) {
1225
1228
  float W = 2.0 * floatN + 1.0;
1226
1229
  return pow(accumulator / (W * W), 2.2);
1227
1230
  }
1228
- `,Vo={"vs:#decl":`
1231
+ `,pn={"vs:#decl":`
1229
1232
  float collision_fade = 1.0;
1230
1233
  `,"vs:DECKGL_FILTER_GL_POSITION":`
1231
1234
  if (collision_sort) {
@@ -1248,16 +1251,16 @@ float collision_isVisible(vec2 texCoords, vec3 pickingColor) {
1248
1251
  }
1249
1252
  `,"vs:DECKGL_FILTER_COLOR":`
1250
1253
  color.a *= collision_fade;
1251
- `},zo=function(r,e){if(!r||!("dummyCollisionMap"in r))return{};var n=r.collisionFBO,i=r.drawToCollisionMap,o=r.dummyCollisionMap;return{collision_sort:Boolean(i),collision_texture:!i&&n?n:o}},Vr={name:"collision",dependencies:[jr.project],vs:jo,inject:Vo,getUniforms:zo};var mn=u(x()),hn=u(b()),E=u(P()),B=u(R());var yn=u(y());var qr=u(P()),Gr=u(x()),Wr=u(b()),Hr=u(w()),Kr=u(M()),tt=u(T()),Yr=u(R()),$r=u(y());function zr(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function Ur(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?zr(Object(e),!0).forEach(function(n){(0,qr.default)(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):zr(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function Uo(t){var r=qo();return function(){var n=(0,tt.default)(t),i;if(r){var o=(0,tt.default)(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return(0,Kr.default)(this,i)}}function qo(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Zr=function(t){(0,Hr.default)(e,t);var r=Uo(e);function e(){return(0,Gr.default)(this,e),r.apply(this,arguments)}return(0,Wr.default)(e,[{key:"renderCollisionMap",value:function(i,o){var a=this,f=this.gl,s=1;return(0,Yr.withParameters)(f,{scissorTest:!0,scissor:[s,s,i.width-2*s,i.height-2*s],clearColor:[0,0,0,0],blend:!1,depthTest:!0,depthRange:[0,1]},function(){return a.render(Ur(Ur({},o),{},{target:i,pass:"collision"}))})}},{key:"getModuleParameters",value:function(){return{drawToCollisionMap:!0,pickingActive:1,pickingAttribute:!1,lightSources:{}}}}]),e}($r._LayersPass);var pn=u(x()),vn=u(b()),F=u(P()),it=u(y()),_n=u(R());var tn=u(x()),rn=u(b()),nt=u(fe()),nn=u(rt()),on=u(w()),an=u(M()),Oe=u(T()),N=u(P()),q=u(R()),sn=u(y());function Qr(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function en(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?Qr(Object(e),!0).forEach(function(n){(0,N.default)(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Qr(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function Ko(t){var r=Yo();return function(){var n=(0,Oe.default)(t),i;if(r){var o=(0,Oe.default)(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return(0,an.default)(this,i)}}function Yo(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var fn=function(t){(0,on.default)(e,t);var r=Ko(e);function e(n,i){var o,a;(0,tn.default)(this,e),a=r.call(this,n,i),(0,N.default)((0,nt.default)(a),"maskMap",void 0),(0,N.default)((0,nt.default)(a),"fbo",void 0);var f=i.mapSize,s=f===void 0?2048:f;return a.maskMap=new q.Texture2D(n,{width:s,height:s,parameters:(o={},(0,N.default)(o,10241,9729),(0,N.default)(o,10240,9729),(0,N.default)(o,10242,33071),(0,N.default)(o,10243,33071),o)}),a.fbo=new q.Framebuffer(n,{id:"maskmap",width:s,height:s,attachments:(0,N.default)({},36064,a.maskMap)}),a}return(0,rn.default)(e,[{key:"render",value:function(i){var o=this,a=this.gl,f=[!1,!1,!1,!1];return f[i.channel]=!0,(0,q.withParameters)(a,{clearColor:[255,255,255,255],blend:!0,blendFunc:[0,1],blendEquation:32778,colorMask:f,depthTest:!1},function(){return(0,nn.default)((0,Oe.default)(e.prototype),"render",o).call(o,en(en({},i),{},{target:o.fbo,pass:"mask"}))})}},{key:"shouldDrawLayer",value:function(i){return i.props.operation.includes("mask")}},{key:"delete",value:function(){this.fbo.delete(),this.maskMap.delete()}}]),e}(sn._LayersPass);var un=u(qe()),Ee=u(y());function $o(t,r){var e=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=Zo(t))||r&&t&&typeof t.length=="number"){e&&(t=e);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1252
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,f;return{s:function(){e=e.call(t)},n:function(){var l=e.next();return o=l.done,l},e:function(l){a=!0,f=l},f:function(){try{!o&&e.return!=null&&e.return()}finally{if(a)throw f}}}}function Zo(t,r){if(t){if(typeof t=="string")return ln(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);if(e==="Object"&&t.constructor&&(e=t.constructor.name),e==="Map"||e==="Set")return Array.from(t);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return ln(t,r)}}function ln(t,r){(r==null||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}function G(t,r){var e=[1/0,1/0,-1/0,-1/0],n=$o(t),i;try{for(n.s();!(i=n.n()).done;){var o=i.value,a=o.getBounds();if(a){var f=o.projectPosition(a[0],{viewport:r,autoOffset:!1}),s=o.projectPosition(a[1],{viewport:r,autoOffset:!1});e[0]=Math.min(e[0],f[0]),e[1]=Math.min(e[1],f[1]),e[2]=Math.max(e[2],s[0]),e[3]=Math.max(e[3],s[1])}}}catch(l){n.e(l)}finally{n.f()}return Number.isFinite(e[0])?e:null}var Xo=2048;function W(t){var r=t.bounds,e=t.viewport,n=t.border,i=n===void 0?0:n,o=e.isGeospatial;if(r[2]<=r[0]||r[3]<=r[1])return null;var a=e.unprojectPosition([(r[0]+r[2])/2,(r[1]+r[3])/2,0]),f=t.width,s=t.height,l=t.zoom;if(l===void 0){f=f-i*2,s=s-i*2;var c=Math.min(f/(r[2]-r[0]),s/(r[3]-r[1]));l=Math.min(Math.log2(c),20)}else if(!f||!s){var p=Math.pow(2,l);f=Math.round(Math.abs(r[2]-r[0])*p),s=Math.round(Math.abs(r[3]-r[1])*p);var v=Xo-i*2;if(f>v||s>v){var _=v/Math.max(f,s);f=Math.round(f*_),s=Math.round(s*_),l+=Math.log2(_)}}return o?new Ee.WebMercatorViewport({id:e.id,x:i,y:i,width:f,height:s,longitude:a[0],latitude:a[1],zoom:l,orthographic:!0}):new Ee.OrthographicViewport({id:e.id,x:i,y:i,width:f,height:s,target:a,zoom:l,flipY:!1})}function Jo(t,r){var e;if(r&&r.length===2){var n=(0,un.default)(r,2),i=n[0],o=n[1],a=t.getBounds({z:i}),f=t.getBounds({z:o});e=[Math.min(a[0],f[0]),Math.min(a[1],f[1]),Math.max(a[2],f[2]),Math.max(a[3],f[3])]}else e=t.getBounds();var s=t.projectPosition(e.slice(0,2)),l=t.projectPosition(e.slice(2,4));return[s[0],s[1],l[0],l[1]]}function H(t,r,e){if(!t)return[0,0,1,1];var n=Jo(r,e),i=Qo(n);return t[2]-t[0]<=i[2]-i[0]&&t[3]-t[1]<=i[3]-i[1]?t:[Math.max(t[0],i[0]),Math.max(t[1],i[1]),Math.min(t[2],i[2]),Math.min(t[3],i[3])]}function Qo(t){var r=t[2]-t[0],e=t[3]-t[1],n=(t[0]+t[2])/2,i=(t[1]+t[3])/2;return[n-r,i-e,n+r,i+e]}function ea(t,r){var e=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=ta(t))||r&&t&&typeof t.length=="number"){e&&(t=e);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1253
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,f;return{s:function(){e=e.call(t)},n:function(){var l=e.next();return o=l.done,l},e:function(l){a=!0,f=l},f:function(){try{!o&&e.return!=null&&e.return()}finally{if(a)throw f}}}}function ta(t,r){if(t){if(typeof t=="string")return cn(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);if(e==="Object"&&t.constructor&&(e=t.constructor.name),e==="Map"||e==="Set")return Array.from(t);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return cn(t,r)}}function cn(t,r){(r==null||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}var Te=function(){function t(){(0,pn.default)(this,t),(0,F.default)(this,"id","mask-effect"),(0,F.default)(this,"props",null),(0,F.default)(this,"useInPicking",!0),(0,F.default)(this,"order",0),(0,F.default)(this,"dummyMaskMap",void 0),(0,F.default)(this,"channels",[]),(0,F.default)(this,"masks",null),(0,F.default)(this,"maskPass",void 0),(0,F.default)(this,"maskMap",void 0),(0,F.default)(this,"lastViewport",void 0)}return(0,vn.default)(t,[{key:"preRender",value:function(e,n){var i=n.layers,o=n.layerFilter,a=n.viewports,f=n.onViewportActive,s=n.views,l=n.isPicking,c=!1;if(this.dummyMaskMap||(this.dummyMaskMap=new _n.Texture2D(e,{width:1,height:1})),l)return{didRender:c};var p=i.filter(function(g){return g.props.visible&&g.props.operation.includes("mask")});if(p.length===0)return this.masks=null,this.channels.length=0,{didRender:c};this.masks={},this.maskPass||(this.maskPass=new fn(e,{id:"default-mask"}),this.maskMap=this.maskPass.maskMap);var v=this._sortMaskChannels(p),_=a[0],m=!this.lastViewport||!this.lastViewport.equals(_);if(_.resolution!==void 0)return it.log.warn("MaskExtension is not supported in GlobeView")(),{didRender:c};for(var d in v){var h=this._renderChannel(v[d],{layerFilter:o,onViewportActive:f,views:s,viewport:_,viewportChanged:m});c||(c=h)}return{didRender:c}}},{key:"_renderChannel",value:function(e,n){var i=n.layerFilter,o=n.onViewportActive,a=n.views,f=n.viewport,s=n.viewportChanged,l=!1,c=this.channels[e.index];if(!c)return l;var p=e===c||e.layers.length!==c.layers.length||e.layers.some(function(h,g){return h!==c.layers[g]||h.props.transitions})||e.layerBounds.some(function(h,g){return h!==c.layerBounds[g]});if(e.bounds=c.bounds,e.maskBounds=c.maskBounds,this.channels[e.index]=e,p||s){this.lastViewport=f;var v=G(e.layers,f);if(e.bounds=v&&H(v,f),p||!U(e.bounds,c.bounds)){var _=this.maskPass,m=this.maskMap,d=v&&W({bounds:e.bounds,viewport:f,width:m.width,height:m.height,border:1});e.maskBounds=d?d.getBounds():[0,0,1,1],_.render({pass:"mask",channel:e.index,layers:e.layers,layerFilter:i,viewports:d?[d]:[],onViewportActive:o,views:a,moduleParameters:{devicePixelRatio:1}}),l=!0}}return this.masks[e.id]={index:e.index,bounds:e.maskBounds,coordinateOrigin:e.coordinateOrigin,coordinateSystem:e.coordinateSystem},l}},{key:"_sortMaskChannels",value:function(e){var n=this,i={},o=0,a=ea(e),f;try{var s=function(){var d=f.value,h=d.root.id,g=i[h];if(!g){if(++o>4)return it.log.warn("Too many mask layers. The max supported is 4")(),"continue";g={id:h,index:n.channels.findIndex(function(A){return A?.id===h}),layers:[],layerBounds:[],coordinateOrigin:d.root.props.coordinateOrigin,coordinateSystem:d.root.props.coordinateSystem},i[h]=g}g.layers.push(d),g.layerBounds.push(d.getBounds())};for(a.s();!(f=a.n()).done;)var l=s()}catch(m){a.e(m)}finally{a.f()}for(var c=0;c<4;c++){var p=this.channels[c];(!p||!(p.id in i))&&(this.channels[c]=null)}for(var v in i){var _=i[v];_.index<0&&(_.index=this.channels.findIndex(function(m){return!m}),this.channels[_.index]=_)}return i}},{key:"getModuleParameters",value:function(){return{maskMap:this.masks?this.maskMap:this.dummyMaskMap,maskChannels:this.masks}}},{key:"cleanup",value:function(){this.dummyMaskMap&&(this.dummyMaskMap.delete(),this.dummyMaskMap=void 0),this.maskPass&&(this.maskPass.delete(),this.maskPass=void 0,this.maskMap=void 0),this.lastViewport=void 0,this.masks=null,this.channels.length=0}}]),t}();function ra(t,r){var e=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=na(t))||r&&t&&typeof t.length=="number"){e&&(t=e);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1254
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,f;return{s:function(){e=e.call(t)},n:function(){var l=e.next();return o=l.done,l},e:function(l){a=!0,f=l},f:function(){try{!o&&e.return!=null&&e.return()}finally{if(a)throw f}}}}function na(t,r){if(t){if(typeof t=="string")return dn(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);if(e==="Object"&&t.constructor&&(e=t.constructor.name),e==="Map"||e==="Set")return Array.from(t);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return dn(t,r)}}function dn(t,r){(r==null||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}var ot=2,gn=function(){function t(){(0,mn.default)(this,t),(0,E.default)(this,"id","collision-filter-effect"),(0,E.default)(this,"props",null),(0,E.default)(this,"useInPicking",!0),(0,E.default)(this,"order",1),(0,E.default)(this,"channels",{}),(0,E.default)(this,"collisionFilterPass",void 0),(0,E.default)(this,"collisionFBOs",{}),(0,E.default)(this,"dummyCollisionMap",void 0),(0,E.default)(this,"lastViewport",void 0)}return(0,hn.default)(t,[{key:"preRender",value:function(e,n){var i,o=n.effects,a=n.layers,f=n.layerFilter,s=n.viewports,l=n.onViewportActive,c=n.views,p=n.isPicking,v=n.preRenderStats,_=v===void 0?{}:v;if(this.dummyCollisionMap||(this.dummyCollisionMap=new B.Texture2D(e,{width:1,height:1})),!p){var m=a.filter(function(Ie){var mt=Ie.props,Oi=mt.visible,Ei=mt.collisionEnabled;return Oi&&Ei});if(m.length===0){this.channels={};return}this.collisionFilterPass||(this.collisionFilterPass=new Zr(e,{id:"default-collision-filter"}));var d=o?.filter(function(Ie){return Ie.constructor===Te}),h=(i=_["mask-effect"])===null||i===void 0?void 0:i.didRender,g=this._groupByCollisionGroup(e,m),A=s[0],ne=!this.lastViewport||!this.lastViewport.equals(A)||h;for(var $ in g){var xi=this.collisionFBOs[$],bi=g[$];xi.resize({width:e.canvas.width/ot,height:e.canvas.height/ot}),this._render(bi,{effects:d,layerFilter:f,onViewportActive:l,views:c,viewport:A,viewportChanged:ne})}}}},{key:"_render",value:function(e,n){var i=n.effects,o=n.layerFilter,a=n.onViewportActive,f=n.views,s=n.viewport,l=n.viewportChanged,c=e.collisionGroup,p=this.channels[c];if(p){var v=l||e===p||!(0,yn._deepEqual)(p.layers,e.layers,1)||e.layerBounds.some(function(m,d){return!U(m,p.layerBounds[d])})||e.allLayersLoaded!==p.allLayersLoaded||e.layers.some(function(m){return m.props.transitions});if(this.channels[c]=e,v){this.lastViewport=s;var _=this.collisionFBOs[c];this.collisionFilterPass.renderCollisionMap(_,{pass:"collision-filter",isPicking:!0,layers:e.layers,effects:i,layerFilter:o,viewports:s?[s]:[],onViewportActive:a,views:f,moduleParameters:{dummyCollisionMap:this.dummyCollisionMap,devicePixelRatio:(0,B.cssToDeviceRatio)(_.gl)/ot}})}}}},{key:"_groupByCollisionGroup",value:function(e,n){var i={},o=ra(n),a;try{for(o.s();!(a=o.n()).done;){var f=a.value,s=f.props.collisionGroup,l=i[s];l||(l={collisionGroup:s,layers:[],layerBounds:[],allLayersLoaded:!0},i[s]=l),l.layers.push(f),l.layerBounds.push(f.getBounds()),f.isLoaded||(l.allLayersLoaded=!1)}}catch(h){o.e(h)}finally{o.f()}for(var c=0,p=Object.keys(i);c<p.length;c++){var v=p[c];this.collisionFBOs[v]||this.createFBO(e,v),this.channels[v]||(this.channels[v]=i[v])}for(var _=0,m=Object.keys(this.collisionFBOs);_<m.length;_++){var d=m[_];i[d]||this.destroyFBO(d)}return i}},{key:"getModuleParameters",value:function(e){var n=e.props.collisionGroup,i=this.collisionFBOs,o=this.dummyCollisionMap;return{collisionFBO:i[n],dummyCollisionMap:o}}},{key:"cleanup",value:function(){this.dummyCollisionMap&&(this.dummyCollisionMap.delete(),this.dummyCollisionMap=void 0),this.channels={};for(var e=0,n=Object.keys(this.collisionFBOs);e<n.length;e++){var i=n[e];this.destroyFBO(i)}this.collisionFBOs={},this.lastViewport=void 0}},{key:"createFBO",value:function(e,n){var i,o,a=e.canvas,f=a.width,s=a.height,l=new B.Texture2D(e,{width:f,height:s,parameters:(i={},(0,E.default)(i,10241,9728),(0,E.default)(i,10240,9728),(0,E.default)(i,10242,33071),(0,E.default)(i,10243,33071),i)}),c=new B.Renderbuffer(e,{format:33189,width:f,height:s});this.collisionFBOs[n]=new B.Framebuffer(e,{id:"Collision-".concat(n),width:f,height:s,attachments:(o={},(0,E.default)(o,36064,l),(0,E.default)(o,36096,c),o)})}},{key:"destroyFBO",value:function(e){for(var n=this.collisionFBOs[e],i=0,o=Object.values(n.attachments);i<o.length;i++){var a=o[i];a.delete()}n.delete(),delete this.collisionFBOs[e]}}]),t}();function ia(t){var r=oa();return function(){var n=(0,at.default)(t),i;if(r){var o=(0,at.default)(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return(0,On.default)(this,i)}}function oa(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var aa={getCollisionPriority:{type:"accessor",value:0},collisionEnabled:!0,collisionGroup:{type:"string",value:"default"},collisionTestProps:{}},we=function(t){(0,bn.default)(e,t);var r=ia(e);function e(){return(0,Pn.default)(this,e),r.apply(this,arguments)}return(0,xn.default)(e,[{key:"getShaders",value:function(){return{modules:[Vr]}}},{key:"draw",value:function(i){var o=i.uniforms,a=i.context,f=i.moduleParameters,s=this.props.collisionEnabled,l=f.collisionFBO,c=f.drawToCollisionMap,p=s&&Boolean(l);o.collision_enabled=p,c&&(this.props=this.clone(this.props.collisionTestProps).props)}},{key:"initializeState",value:function(i,o){var a;if(this.getAttributeManager()!==null){(a=this.context.deck)===null||a===void 0||a._addDefaultEffect(new gn);var f=this.getAttributeManager();f.add({collisionPriorities:{size:1,accessor:"getCollisionPriority",shaderAttributes:{collisionPriorities:{divisor:0},instanceCollisionPriorities:{divisor:1}}}})}}},{key:"getNeedsPickingBuffer",value:function(){return this.props.collisionEnabled}}]),e}(En.LayerExtension);(0,st.default)(we,"defaultProps",aa);(0,st.default)(we,"extensionName","CollisionFilterExtension");var Mn=u(x()),An=u(b()),Rn=u(w()),Sn=u(M()),ft=u(T()),lt=u(P()),V=u(y());var Tn=u(y()),sa=`
1254
+ `},vn=function(r,e){if(!r||!("dummyCollisionMap"in r))return{};var n=r.collisionFBO,i=r.drawToCollisionMap,o=r.dummyCollisionMap;return{collision_sort:Boolean(i),collision_texture:!i&&n?n:o}},bt={name:"collision",dependencies:[xt.project],vs:cn,inject:pn,getUniforms:vn};var F=h(A());var Nt=h(E());var Tt=h(A()),wt=h(E());function Ot(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function Et(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?Ot(Object(e),!0).forEach(function(n){u(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Ot(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function _n(t){var r=dn();return function(){var n=d(t),i;if(r){var o=d(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return b(this,i)}}function dn(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var At=function(t){x(e,t);var r=_n(e);function e(){return y(this,e),r.apply(this,arguments)}return g(e,[{key:"renderCollisionMap",value:function(i,o){var a=this,f=this.gl,s=1;return(0,Tt.withParameters)(f,{scissorTest:!0,scissor:[s,s,i.width-2*s,i.height-2*s],clearColor:[0,0,0,0],blend:!1,depthTest:!0,depthRange:[0,1]},function(){return a.render(Et(Et({},o),{},{target:i,pass:"collision"}))})}},{key:"getModuleParameters",value:function(){return{drawToCollisionMap:!0,pickingActive:1,pickingAttribute:!1,lightSources:{}}}}]),e}(wt._LayersPass);var Ie=h(E()),It=h(A());function Ce(t,r){for(;!Object.prototype.hasOwnProperty.call(t,r)&&(t=d(t),t!==null););return t}function I(t,r,e){return typeof Reflect<"u"&&Reflect.get?I=Reflect.get:I=function(i,o,a){var f=Ce(i,o);if(f){var s=Object.getOwnPropertyDescriptor(f,o);return s.get?s.get.call(a):s.value}},I(t,r,e||t)}var D=h(A()),St=h(E());function Mt(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function Rt(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?Mt(Object(e),!0).forEach(function(n){u(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Mt(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function mn(t){var r=hn();return function(){var n=d(t),i;if(r){var o=d(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return b(this,i)}}function hn(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Ft=function(t){x(e,t);var r=mn(e);function e(n,i){var o,a;y(this,e),a=r.call(this,n,i),u(C(a),"maskMap",void 0),u(C(a),"fbo",void 0);var f=i.mapSize,s=f===void 0?2048:f;return a.maskMap=new D.Texture2D(n,{width:s,height:s,parameters:(o={},u(o,10241,9729),u(o,10240,9729),u(o,10242,33071),u(o,10243,33071),o)}),a.fbo=new D.Framebuffer(n,{id:"maskmap",width:s,height:s,attachments:u({},36064,a.maskMap)}),a}return g(e,[{key:"render",value:function(i){var o=this,a=this.gl,f=[!1,!1,!1,!1];return f[i.channel]=!0,(0,D.withParameters)(a,{clearColor:[255,255,255,255],blend:!0,blendFunc:[0,1],blendEquation:32778,colorMask:f,depthTest:!1},function(){return I(d(e.prototype),"render",o).call(o,Rt(Rt({},i),{},{target:o.fbo,pass:"mask"}))})}},{key:"shouldDrawLayer",value:function(i){return i.props.operation.includes("mask")}},{key:"delete",value:function(){this.fbo.delete(),this.maskMap.delete()}}]),e}(St._LayersPass);var _e=h(E());function yn(t,r){var e=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=gn(t))||r&&t&&typeof t.length=="number"){e&&(t=e);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1255
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,f;return{s:function(){e=e.call(t)},n:function(){var l=e.next();return o=l.done,l},e:function(l){a=!0,f=l},f:function(){try{!o&&e.return!=null&&e.return()}finally{if(a)throw f}}}}function gn(t,r){if(t){if(typeof t=="string")return kt(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);if(e==="Object"&&t.constructor&&(e=t.constructor.name),e==="Map"||e==="Set")return Array.from(t);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return kt(t,r)}}function kt(t,r){(r==null||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}function j(t,r){var e=[1/0,1/0,-1/0,-1/0],n=yn(t),i;try{for(n.s();!(i=n.n()).done;){var o=i.value,a=o.getBounds();if(a){var f=o.projectPosition(a[0],{viewport:r,autoOffset:!1}),s=o.projectPosition(a[1],{viewport:r,autoOffset:!1});e[0]=Math.min(e[0],f[0]),e[1]=Math.min(e[1],f[1]),e[2]=Math.max(e[2],s[0]),e[3]=Math.max(e[3],s[1])}}}catch(l){n.e(l)}finally{n.f()}return Number.isFinite(e[0])?e:null}var Pn=2048;function V(t){var r=t.bounds,e=t.viewport,n=t.border,i=n===void 0?0:n,o=e.isGeospatial;if(r[2]<=r[0]||r[3]<=r[1])return null;var a=e.unprojectPosition([(r[0]+r[2])/2,(r[1]+r[3])/2,0]),f=t.width,s=t.height,l=t.zoom;if(l===void 0){f=f-i*2,s=s-i*2;var c=Math.min(f/(r[2]-r[0]),s/(r[3]-r[1]));l=Math.min(Math.log2(c),20)}else if(!f||!s){var p=Math.pow(2,l);f=Math.round(Math.abs(r[2]-r[0])*p),s=Math.round(Math.abs(r[3]-r[1])*p);var v=Pn-i*2;if(f>v||s>v){var _=v/Math.max(f,s);f=Math.round(f*_),s=Math.round(s*_),l+=Math.log2(_)}}return o?new _e.WebMercatorViewport({id:e.id,x:i,y:i,width:f,height:s,longitude:a[0],latitude:a[1],zoom:l,orthographic:!0}):new _e.OrthographicViewport({id:e.id,x:i,y:i,width:f,height:s,target:a,zoom:l,flipY:!1})}function xn(t,r){var e;if(r&&r.length===2){var n=H(r,2),i=n[0],o=n[1],a=t.getBounds({z:i}),f=t.getBounds({z:o});e=[Math.min(a[0],f[0]),Math.min(a[1],f[1]),Math.max(a[2],f[2]),Math.max(a[3],f[3])]}else e=t.getBounds();var s=t.projectPosition(e.slice(0,2)),l=t.projectPosition(e.slice(2,4));return[s[0],s[1],l[0],l[1]]}function z(t,r,e){if(!t)return[0,0,1,1];var n=xn(r,e),i=bn(n);return t[2]-t[0]<=i[2]-i[0]&&t[3]-t[1]<=i[3]-i[1]?t:[Math.max(t[0],i[0]),Math.max(t[1],i[1]),Math.min(t[2],i[2]),Math.min(t[3],i[3])]}function bn(t){var r=t[2]-t[0],e=t[3]-t[1],n=(t[0]+t[2])/2,i=(t[1]+t[3])/2;return[n-r,i-e,n+r,i+e]}function On(t,r){var e=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=En(t))||r&&t&&typeof t.length=="number"){e&&(t=e);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1256
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,f;return{s:function(){e=e.call(t)},n:function(){var l=e.next();return o=l.done,l},e:function(l){a=!0,f=l},f:function(){try{!o&&e.return!=null&&e.return()}finally{if(a)throw f}}}}function En(t,r){if(t){if(typeof t=="string")return Ct(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);if(e==="Object"&&t.constructor&&(e=t.constructor.name),e==="Map"||e==="Set")return Array.from(t);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return Ct(t,r)}}function Ct(t,r){(r==null||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}var de=function(){function t(){y(this,t),u(this,"id","mask-effect"),u(this,"props",null),u(this,"useInPicking",!0),u(this,"order",0),u(this,"dummyMaskMap",void 0),u(this,"channels",[]),u(this,"masks",null),u(this,"maskPass",void 0),u(this,"maskMap",void 0),u(this,"lastViewport",void 0)}return g(t,[{key:"preRender",value:function(e,n){var i=n.layers,o=n.layerFilter,a=n.viewports,f=n.onViewportActive,s=n.views,l=n.isPicking,c=!1;if(this.dummyMaskMap||(this.dummyMaskMap=new It.Texture2D(e,{width:1,height:1})),l)return{didRender:c};var p=i.filter(function(T){return T.props.visible&&T.props.operation.includes("mask")});if(p.length===0)return this.masks=null,this.channels.length=0,{didRender:c};this.masks={},this.maskPass||(this.maskPass=new Ft(e,{id:"default-mask"}),this.maskMap=this.maskPass.maskMap);var v=this._sortMaskChannels(p),_=a[0],P=!this.lastViewport||!this.lastViewport.equals(_);if(_.resolution!==void 0)return Ie.log.warn("MaskExtension is not supported in GlobeView")(),{didRender:c};for(var m in v){var O=this._renderChannel(v[m],{layerFilter:o,onViewportActive:f,views:s,viewport:_,viewportChanged:P});c||(c=O)}return{didRender:c}}},{key:"_renderChannel",value:function(e,n){var i=n.layerFilter,o=n.onViewportActive,a=n.views,f=n.viewport,s=n.viewportChanged,l=!1,c=this.channels[e.index];if(!c)return l;var p=e===c||e.layers.length!==c.layers.length||e.layers.some(function(O,T){return O!==c.layers[T]||O.props.transitions})||e.layerBounds.some(function(O,T){return O!==c.layerBounds[T]});if(e.bounds=c.bounds,e.maskBounds=c.maskBounds,this.channels[e.index]=e,p||s){this.lastViewport=f;var v=j(e.layers,f);if(e.bounds=v&&z(v,f),p||!B(e.bounds,c.bounds)){var _=this.maskPass,P=this.maskMap,m=v&&V({bounds:e.bounds,viewport:f,width:P.width,height:P.height,border:1});e.maskBounds=m?m.getBounds():[0,0,1,1],_.render({pass:"mask",channel:e.index,layers:e.layers,layerFilter:i,viewports:m?[m]:[],onViewportActive:o,views:a,moduleParameters:{devicePixelRatio:1}}),l=!0}}return this.masks[e.id]={index:e.index,bounds:e.maskBounds,coordinateOrigin:e.coordinateOrigin,coordinateSystem:e.coordinateSystem},l}},{key:"_sortMaskChannels",value:function(e){var n=this,i={},o=0,a=On(e),f;try{var s=function(){var m=f.value,O=m.root.id,T=i[O];if(!T){if(++o>4)return Ie.log.warn("Too many mask layers. The max supported is 4")(),"continue";T={id:O,index:n.channels.findIndex(function(w){return w?.id===O}),layers:[],layerBounds:[],coordinateOrigin:m.root.props.coordinateOrigin,coordinateSystem:m.root.props.coordinateSystem},i[O]=T}T.layers.push(m),T.layerBounds.push(m.getBounds())};for(a.s();!(f=a.n()).done;)var l=s()}catch(P){a.e(P)}finally{a.f()}for(var c=0;c<4;c++){var p=this.channels[c];(!p||!(p.id in i))&&(this.channels[c]=null)}for(var v in i){var _=i[v];_.index<0&&(_.index=this.channels.findIndex(function(P){return!P}),this.channels[_.index]=_)}return i}},{key:"getModuleParameters",value:function(){return{maskMap:this.masks?this.maskMap:this.dummyMaskMap,maskChannels:this.masks}}},{key:"cleanup",value:function(){this.dummyMaskMap&&(this.dummyMaskMap.delete(),this.dummyMaskMap=void 0),this.maskPass&&(this.maskPass.delete(),this.maskPass=void 0,this.maskMap=void 0),this.lastViewport=void 0,this.masks=null,this.channels.length=0}}]),t}();function Tn(t,r){var e=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=wn(t))||r&&t&&typeof t.length=="number"){e&&(t=e);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1257
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,f;return{s:function(){e=e.call(t)},n:function(){var l=e.next();return o=l.done,l},e:function(l){a=!0,f=l},f:function(){try{!o&&e.return!=null&&e.return()}finally{if(a)throw f}}}}function wn(t,r){if(t){if(typeof t=="string")return Lt(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);if(e==="Object"&&t.constructor&&(e=t.constructor.name),e==="Map"||e==="Set")return Array.from(t);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return Lt(t,r)}}function Lt(t,r){(r==null||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}var Le=2,Bt=function(){function t(){y(this,t),u(this,"id","collision-filter-effect"),u(this,"props",null),u(this,"useInPicking",!0),u(this,"order",1),u(this,"channels",{}),u(this,"collisionFilterPass",void 0),u(this,"collisionFBOs",{}),u(this,"dummyCollisionMap",void 0),u(this,"lastViewport",void 0)}return g(t,[{key:"preRender",value:function(e,n){var i,o=n.effects,a=n.layers,f=n.layerFilter,s=n.viewports,l=n.onViewportActive,c=n.views,p=n.isPicking,v=n.preRenderStats,_=v===void 0?{}:v;if(this.dummyCollisionMap||(this.dummyCollisionMap=new F.Texture2D(e,{width:1,height:1})),!p){var P=a.filter(function(Oe){var De=Oe.props,cr=De.visible,pr=De.collisionEnabled;return cr&&pr});if(P.length===0){this.channels={};return}this.collisionFilterPass||(this.collisionFilterPass=new At(e,{id:"default-collision-filter"}));var m=o?.filter(function(Oe){return Oe.constructor===de}),O=(i=_["mask-effect"])===null||i===void 0?void 0:i.didRender,T=this._groupByCollisionGroup(e,P),w=s[0],ee=!this.lastViewport||!this.lastViewport.equals(w)||O;for(var G in T){var lr=this.collisionFBOs[G],ur=T[G];lr.resize({width:e.canvas.width/Le,height:e.canvas.height/Le}),this._render(ur,{effects:m,layerFilter:f,onViewportActive:l,views:c,viewport:w,viewportChanged:ee})}}}},{key:"_render",value:function(e,n){var i=n.effects,o=n.layerFilter,a=n.onViewportActive,f=n.views,s=n.viewport,l=n.viewportChanged,c=e.collisionGroup,p=this.channels[c];if(p){var v=l||e===p||!(0,Nt._deepEqual)(p.layers,e.layers,1)||e.layerBounds.some(function(P,m){return!B(P,p.layerBounds[m])})||e.allLayersLoaded!==p.allLayersLoaded||e.layers.some(function(P){return P.props.transitions});if(this.channels[c]=e,v){this.lastViewport=s;var _=this.collisionFBOs[c];this.collisionFilterPass.renderCollisionMap(_,{pass:"collision-filter",isPicking:!0,layers:e.layers,effects:i,layerFilter:o,viewports:s?[s]:[],onViewportActive:a,views:f,moduleParameters:{dummyCollisionMap:this.dummyCollisionMap,devicePixelRatio:(0,F.cssToDeviceRatio)(_.gl)/Le}})}}}},{key:"_groupByCollisionGroup",value:function(e,n){var i={},o=Tn(n),a;try{for(o.s();!(a=o.n()).done;){var f=a.value,s=f.props.collisionGroup,l=i[s];l||(l={collisionGroup:s,layers:[],layerBounds:[],allLayersLoaded:!0},i[s]=l),l.layers.push(f),l.layerBounds.push(f.getBounds()),f.isLoaded||(l.allLayersLoaded=!1)}}catch(O){o.e(O)}finally{o.f()}for(var c=0,p=Object.keys(i);c<p.length;c++){var v=p[c];this.collisionFBOs[v]||this.createFBO(e,v),this.channels[v]||(this.channels[v]=i[v])}for(var _=0,P=Object.keys(this.collisionFBOs);_<P.length;_++){var m=P[_];i[m]||this.destroyFBO(m)}return i}},{key:"getModuleParameters",value:function(e){var n=e.props.collisionGroup,i=this.collisionFBOs,o=this.dummyCollisionMap;return{collisionFBO:i[n],dummyCollisionMap:o}}},{key:"cleanup",value:function(){this.dummyCollisionMap&&(this.dummyCollisionMap.delete(),this.dummyCollisionMap=void 0),this.channels={};for(var e=0,n=Object.keys(this.collisionFBOs);e<n.length;e++){var i=n[e];this.destroyFBO(i)}this.collisionFBOs={},this.lastViewport=void 0}},{key:"createFBO",value:function(e,n){var i,o,a=e.canvas,f=a.width,s=a.height,l=new F.Texture2D(e,{width:f,height:s,parameters:(i={},u(i,10241,9728),u(i,10240,9728),u(i,10242,33071),u(i,10243,33071),i)}),c=new F.Renderbuffer(e,{format:33189,width:f,height:s});this.collisionFBOs[n]=new F.Framebuffer(e,{id:"Collision-".concat(n),width:f,height:s,attachments:(o={},u(o,36064,l),u(o,36096,c),o)})}},{key:"destroyFBO",value:function(e){for(var n=this.collisionFBOs[e],i=0,o=Object.values(n.attachments);i<o.length;i++){var a=o[i];a.delete()}n.delete(),delete this.collisionFBOs[e]}}]),t}();function An(t){var r=Mn();return function(){var n=d(t),i;if(r){var o=d(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return b(this,i)}}function Mn(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Rn={getCollisionPriority:{type:"accessor",value:0},collisionEnabled:!0,collisionGroup:{type:"string",value:"default"},collisionTestProps:{}},me=function(t){x(e,t);var r=An(e);function e(){return y(this,e),r.apply(this,arguments)}return g(e,[{key:"getShaders",value:function(){return{modules:[bt]}}},{key:"draw",value:function(i){var o=i.uniforms,a=i.context,f=i.moduleParameters,s=this.props.collisionEnabled,l=f.collisionFBO,c=f.drawToCollisionMap,p=s&&Boolean(l);o.collision_enabled=p,c&&(this.props=this.clone(this.props.collisionTestProps).props)}},{key:"initializeState",value:function(i,o){var a;if(this.getAttributeManager()!==null){(a=this.context.deck)===null||a===void 0||a._addDefaultEffect(new Bt);var f=this.getAttributeManager();f.add({collisionPriorities:{size:1,accessor:"getCollisionPriority",shaderAttributes:{collisionPriorities:{divisor:0},instanceCollisionPriorities:{divisor:1}}}})}}},{key:"getNeedsPickingBuffer",value:function(){return this.props.collisionEnabled}}]),e}(Dt.LayerExtension);u(me,"defaultProps",Rn);u(me,"extensionName","CollisionFilterExtension");var L=h(E());var jt=h(E()),Sn=`
1255
1258
  uniform vec4 mask_bounds;
1256
1259
  uniform bool mask_maskByInstance;
1257
1260
  vec2 mask_getCoords(vec4 position) {
1258
1261
  return (position.xy - mask_bounds.xy) / (mask_bounds.zw - mask_bounds.xy);
1259
1262
  }
1260
- `,fa=`
1263
+ `,Fn=`
1261
1264
  uniform sampler2D mask_texture;
1262
1265
  uniform int mask_channel;
1263
1266
  uniform bool mask_enabled;
@@ -1284,7 +1287,7 @@ bool mask_isInBounds(vec2 texCoords) {
1284
1287
  return maskValue < 0.5;
1285
1288
  }
1286
1289
  }
1287
- `,la={"vs:#decl":`
1290
+ `,kn={"vs:#decl":`
1288
1291
  varying vec2 mask_texCoords;
1289
1292
  `,"vs:#main-end":`
1290
1293
  vec4 mask_common_position;
@@ -1306,13 +1309,13 @@ varying vec2 mask_texCoords;
1306
1309
 
1307
1310
  if (!mask) discard;
1308
1311
  }
1309
- `},ua=function(r){return r&&"maskMap"in r?{mask_texture:r.maskMap}:{}},wn={name:"mask",dependencies:[Tn.project],vs:sa,fs:fa,inject:la,getUniforms:ua};function ca(t){var r=pa();return function(){var n=(0,ft.default)(t),i;if(r){var o=(0,ft.default)(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return(0,Sn.default)(this,i)}}function pa(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var va={maskId:"",maskByInstance:void 0,maskInverted:!1},Me=function(t){(0,Rn.default)(e,t);var r=ca(e);function e(){return(0,Mn.default)(this,e),r.apply(this,arguments)}return(0,An.default)(e,[{key:"initializeState",value:function(){var i;(i=this.context.deck)===null||i===void 0||i._addDefaultEffect(new Te)}},{key:"getShaders",value:function(){var i="instancePositions"in this.getAttributeManager().attributes;return this.props.maskByInstance!==void 0&&(i=Boolean(this.props.maskByInstance)),this.state.maskByInstance=i,{modules:[wn]}}},{key:"draw",value:function(i){var o=i.uniforms,a=i.context,f=i.moduleParameters;o.mask_maskByInstance=this.state.maskByInstance;var s=this.props,l=s.maskId,c=s.maskInverted,p=f.maskChannels,v=a.viewport;if(p&&p[l]){var _=p[l],m=_.index,d=_.bounds,h=_.coordinateOrigin,g=p[l].coordinateSystem;o.mask_enabled=!0,o.mask_channel=m,o.mask_inverted=c,g===V.COORDINATE_SYSTEM.DEFAULT&&(g=v.isGeospatial?V.COORDINATE_SYSTEM.LNGLAT:V.COORDINATE_SYSTEM.CARTESIAN);var A={modelMatrix:null,fromCoordinateOrigin:h,fromCoordinateSystem:g},ne=this.projectPosition([d[0],d[1],0],A),$=this.projectPosition([d[2],d[3],0],A);o.mask_bounds=[ne[0],ne[1],$[0],$[1]]}else l&&V.log.warn("Could not find a mask layer with id: ".concat(l))(),o.mask_enabled=!1}}]),e}(V.LayerExtension);(0,lt.default)(Me,"defaultProps",va);(0,lt.default)(Me,"extensionName","MaskExtension");var mi=u(x()),hi=u(b()),yi=u(w()),gi=u(M()),_t=u(T()),dt=u(P()),Pi=u(y());var ci=u(qe()),pi=u(x()),vi=u(b()),S=u(P()),ke=u(R()),_i=u(y());var kn=u(y()),I={NONE:0,WRITE_HEIGHT_MAP:1,USE_HEIGHT_MAP:2,USE_COVER:3,USE_COVER_ONLY:4,SKIP:5},Fn=Object.keys(I).map(function(t){return"const float TERRAIN_MODE_".concat(t," = ").concat(I[t],".0;")}).join(`
1310
- `),Ae={name:"terrain",dependencies:[kn.project],inject:{"vs:#decl":`
1312
+ `},Cn=function(r){return r&&"maskMap"in r?{mask_texture:r.maskMap}:{}},Vt={name:"mask",dependencies:[jt.project],vs:Sn,fs:Fn,inject:kn,getUniforms:Cn};function In(t){var r=Ln();return function(){var n=d(t),i;if(r){var o=d(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return b(this,i)}}function Ln(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Nn={maskId:"",maskByInstance:void 0,maskInverted:!1},he=function(t){x(e,t);var r=In(e);function e(){return y(this,e),r.apply(this,arguments)}return g(e,[{key:"initializeState",value:function(){var i;(i=this.context.deck)===null||i===void 0||i._addDefaultEffect(new de)}},{key:"getShaders",value:function(){var i="instancePositions"in this.getAttributeManager().attributes;return this.props.maskByInstance!==void 0&&(i=Boolean(this.props.maskByInstance)),this.state.maskByInstance=i,{modules:[Vt]}}},{key:"draw",value:function(i){var o=i.uniforms,a=i.context,f=i.moduleParameters;o.mask_maskByInstance=this.state.maskByInstance;var s=this.props,l=s.maskId,c=s.maskInverted,p=f.maskChannels,v=a.viewport;if(p&&p[l]){var _=p[l],P=_.index,m=_.bounds,O=_.coordinateOrigin,T=p[l].coordinateSystem;o.mask_enabled=!0,o.mask_channel=P,o.mask_inverted=c,T===L.COORDINATE_SYSTEM.DEFAULT&&(T=v.isGeospatial?L.COORDINATE_SYSTEM.LNGLAT:L.COORDINATE_SYSTEM.CARTESIAN);var w={modelMatrix:null,fromCoordinateOrigin:O,fromCoordinateSystem:T},ee=this.projectPosition([m[0],m[1],0],w),G=this.projectPosition([m[2],m[3],0],w);o.mask_bounds=[ee[0],ee[1],G[0],G[1]]}else l&&L.log.warn("Could not find a mask layer with id: ".concat(l))(),o.mask_enabled=!1}}]),e}(L.LayerExtension);u(he,"defaultProps",Nn);u(he,"extensionName","MaskExtension");var fr=h(E());var xe=h(A()),ar=h(E());var Ut=h(E()),R={NONE:0,WRITE_HEIGHT_MAP:1,USE_HEIGHT_MAP:2,USE_COVER:3,USE_COVER_ONLY:4,SKIP:5},zt=Object.keys(R).map(function(t){return"const float TERRAIN_MODE_".concat(t," = ").concat(R[t],".0;")}).join(`
1313
+ `),ye={name:"terrain",dependencies:[Ut.project],inject:{"vs:#decl":`
1311
1314
  uniform float terrain_mode;
1312
1315
  uniform sampler2D terrain_map;
1313
1316
  uniform vec4 terrain_bounds;
1314
1317
  varying vec3 commonPos;
1315
- `.concat(Fn,`
1318
+ `.concat(zt,`
1316
1319
  `),"vs:#main-start":`
1317
1320
  if (terrain_mode == TERRAIN_MODE_SKIP) {
1318
1321
  gl_Position = vec4(0.0);
@@ -1341,7 +1344,7 @@ uniform float terrain_mode;
1341
1344
  uniform sampler2D terrain_map;
1342
1345
  uniform vec4 terrain_bounds;
1343
1346
  varying vec3 commonPos;
1344
- `.concat(Fn,`
1347
+ `.concat(zt,`
1345
1348
  `),"fs:#main-start":`
1346
1349
  if (terrain_mode == TERRAIN_MODE_WRITE_HEIGHT_MAP) {
1347
1350
  gl_FragColor = vec4(commonPos.z, 0.0, 0.0, 1.0);
@@ -1359,8 +1362,8 @@ if ((terrain_mode == TERRAIN_MODE_USE_COVER) || (terrain_mode == TERRAIN_MODE_US
1359
1362
  }
1360
1363
  return;
1361
1364
  }
1362
- `},getUniforms:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;if("dummyHeightMap"in r){var n=r.drawToTerrainHeightMap,i=r.heightMap,o=r.heightMapBounds,a=r.dummyHeightMap,f=r.terrainCover,s=r.useTerrainHeightMap,l=r.terrainSkipRender,c=e.project_uCommonOrigin,p=l?I.SKIP:I.NONE,v=a,_=null;if(n)p=I.WRITE_HEIGHT_MAP,_=o;else if(s&&i)p=I.USE_HEIGHT_MAP,v=i,_=o;else if(f){var m=r.pickingActive;v=m?f.getPickingFramebuffer():f.getRenderFramebuffer(),m&&(p=I.SKIP),v?(p=p===I.SKIP?I.USE_COVER_ONLY:I.USE_COVER,_=f.bounds):v=a}return{terrain_mode:p,terrain_map:v,terrain_bounds:_?[_[0]-c[0],_[1]-c[1],_[2]-_[0],_[3]-_[1]]:[0,0,0,0]}}return null}};var Nn=u(x()),Bn=u(b()),k=u(P());var z=u(P()),K=u(R());function Cn(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function In(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?Cn(Object(e),!0).forEach(function(n){(0,z.default)(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Cn(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function te(t,r){var e;return new K.Framebuffer(t,{id:r.id,attachments:(0,z.default)({},36064,new K.Texture2D(t,In(In({},r.float&&{format:(0,K.isWebGL2)(t)?34836:6408,type:5126}),{},{mipmaps:!1,parameters:(e={},(0,z.default)(e,10241,9729),(0,z.default)(e,10240,9729),(0,z.default)(e,10242,33071),(0,z.default)(e,10243,33071),e)})))})}function _a(t,r){var e=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=da(t))||r&&t&&typeof t.length=="number"){e&&(t=e);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1363
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,f;return{s:function(){e=e.call(t)},n:function(){var l=e.next();return o=l.done,l},e:function(l){a=!0,f=l},f:function(){try{!o&&e.return!=null&&e.return()}finally{if(a)throw f}}}}function da(t,r){if(t){if(typeof t=="string")return Ln(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);if(e==="Object"&&t.constructor&&(e=t.constructor.name),e==="Map"||e==="Set")return Array.from(t);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return Ln(t,r)}}function Ln(t,r){(r==null||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}var Dn=function(){function t(r){(0,Nn.default)(this,t),(0,k.default)(this,"isDirty",!0),(0,k.default)(this,"targetLayer",void 0),(0,k.default)(this,"renderViewport",null),(0,k.default)(this,"bounds",null),(0,k.default)(this,"fbo",void 0),(0,k.default)(this,"pickingFbo",void 0),(0,k.default)(this,"layers",[]),(0,k.default)(this,"tile",void 0),(0,k.default)(this,"targetBounds",null),(0,k.default)(this,"targetBoundsCommon",null),this.targetLayer=r,this.tile=jn(r)}return(0,Bn.default)(t,[{key:"id",get:function(){return this.targetLayer.id}},{key:"isActive",get:function(){return Boolean(this.targetLayer.getCurrentLayer())}},{key:"shouldUpdate",value:function(e){var n=e.targetLayer,i=e.viewport,o=e.layers,a=e.layerNeedsRedraw;n&&(this.targetLayer=n);var f=i?this._updateViewport(i):!1,s=o?this._updateLayers(o):!1;if(a){var l=_a(this.layers),c;try{for(l.s();!(c=l.n()).done;){var p=c.value;if(a[p]){s=!0;break}}}catch(v){l.e(v)}finally{l.f()}}return s||f}},{key:"_updateLayers",value:function(e){var n=!1;if(e=this.tile?ma(this.tile,e):e,e.length!==this.layers.length)n=!0;else for(var i=0;i<e.length;i++){var o=e[i].id;if(o!==this.layers[i]){n=!0;break}}return n&&(this.layers=e.map(function(a){return a.id})),n}},{key:"_updateViewport",value:function(e){var n=this.targetLayer,i=!1;if(this.tile&&"boundingBox"in this.tile){if(!this.targetBounds){i=!0,this.targetBounds=this.tile.boundingBox;var o=e.projectPosition(this.targetBounds[0]),a=e.projectPosition(this.targetBounds[1]);this.targetBoundsCommon=[o[0],o[1],a[0],a[1]]}}else this.targetBounds!==n.getBounds()&&(i=!0,this.targetBounds=n.getBounds(),this.targetBoundsCommon=G([n],e));if(!this.targetBoundsCommon)return!1;var f=Math.ceil(e.zoom+.5);if(this.tile)this.bounds=this.targetBoundsCommon;else{var s,l=(s=this.renderViewport)===null||s===void 0?void 0:s.zoom;i=i||f!==l;var c=H(this.targetBoundsCommon,e),p=this.bounds;i=i||!p||c.some(function(v,_){return v!==p[_]}),this.bounds=c}return i&&(this.renderViewport=W({bounds:this.bounds,zoom:f,viewport:e})),i}},{key:"getRenderFramebuffer",value:function(){return!this.renderViewport||this.layers.length===0?null:(this.fbo||(this.fbo=te(this.targetLayer.context.gl,{id:this.id})),this.fbo)}},{key:"getPickingFramebuffer",value:function(){return!this.renderViewport||this.layers.length===0&&!this.targetLayer.props.pickable?null:(this.pickingFbo||(this.pickingFbo=te(this.targetLayer.context.gl,{id:"".concat(this.id,"-picking")})),this.pickingFbo)}},{key:"filterLayers",value:function(e){var n=this;return e.filter(function(i){var o=i.id;return n.layers.includes(o)})}},{key:"delete",value:function(){var e=this.fbo,n=this.pickingFbo;e&&(e.texture.delete(),e.delete()),n&&(n.texture.delete(),n.delete())}}]),t}();function ma(t,r){return r.filter(function(e){var n=jn(e);return n?ha(t.boundingBox,n.boundingBox):!0})}function jn(t){for(;t;){var r=t.props.tile;if(r)return r;t=t.parent}return null}function ha(t,r){return t&&r?t[0][0]<r[1][0]&&r[0][0]<t[1][0]&&t[0][1]<r[1][1]&&r[0][1]<t[1][1]:!1}var zn=u(P()),Un=u(x()),qn=u(b()),Gn=u(w()),Wn=u(M()),ut=u(T()),ct=u(R()),Hn=u(y());function Vn(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function Re(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?Vn(Object(e),!0).forEach(function(n){(0,zn.default)(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Vn(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function ya(t){var r=ga();return function(){var n=(0,ut.default)(t),i;if(r){var o=(0,ut.default)(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return(0,Wn.default)(this,i)}}function ga(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Kn=function(t){(0,Gn.default)(e,t);var r=ya(e);function e(){return(0,Un.default)(this,e),r.apply(this,arguments)}return(0,qn.default)(e,[{key:"getRenderableLayers",value:function(i,o){for(var a=o.layers,f=[],s=this._getDrawLayerParams(i,o,!0),l=0;l<a.length;l++){var c=a[l];!c.isComposite&&s[l].shouldDrawLayer&&f.push(c)}return f}},{key:"renderHeightMap",value:function(i,o){var a=this,f=i.getRenderFramebuffer(),s=i.renderViewport;!f||!s||(f.resize(s),(0,ct.withParameters)(this.gl,{clearColor:[0,0,0,0],blend:!0,blendFunc:[1,1],blendEquation:32776,depthTest:!1},function(){return a.render(Re(Re({},o),{},{target:f,pass:"terrain-height-map",layers:o.layers,viewports:[s],effects:[]}))}))}},{key:"renderTerrainCover",value:function(i,o){var a=this,f=i.getRenderFramebuffer(),s=i.renderViewport;if(!(!f||!s)){var l=i.filterLayers(o.layers);f.resize(s),(0,ct.withParameters)(this.gl,{depthTest:!1},function(){return a.render(Re(Re({},o),{},{target:f,pass:"terrain-cover-".concat(i.id),layers:l,effects:[],viewports:[s]}))})}}}]),e}(Hn._LayersPass);var Zn=u(x()),Xn=u(b()),Jn=u(fe()),Qn=u(rt()),ei=u(w()),ti=u(M()),Se=u(T()),pt=u(P()),ri=u(y()),ni=u(R());function Yn(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function $n(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?Yn(Object(e),!0).forEach(function(n){(0,pt.default)(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Yn(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function Pa(t){var r=xa();return function(){var n=(0,Se.default)(t),i;if(r){var o=(0,Se.default)(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return(0,ti.default)(this,i)}}function xa(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var ii=function(t){(0,ei.default)(e,t);var r=Pa(e);function e(){var n;(0,Zn.default)(this,e);for(var i=arguments.length,o=new Array(i),a=0;a<i;a++)o[a]=arguments[a];return n=r.call.apply(r,[this].concat(o)),(0,pt.default)((0,Jn.default)(n),"drawParameters",{}),n}return(0,Xn.default)(e,[{key:"getRenderableLayers",value:function(i,o){var a=o.layers,f=[];this.drawParameters={},this._resetColorEncoder(o.pickZ);for(var s=this._getDrawLayerParams(i,o),l=0;l<a.length;l++){var c=a[l];!c.isComposite&&s[l].shouldDrawLayer&&(f.push(c),this.drawParameters[c.id]=s[l].layerParameters)}return f}},{key:"renderTerrainCover",value:function(i,o){var a=this,f=i.getPickingFramebuffer(),s=i.renderViewport;if(!(!f||!s)){var l=i.filterLayers(o.layers),c=i.targetLayer;c.props.pickable&&l.unshift(c),f.resize(s),(0,ni.withParameters)(this.gl,{depthTest:!1},function(){return a.render($n($n({},o),{},{pickingFBO:f,pass:"terrain-cover-picking-".concat(i.id),layers:l,effects:[],viewports:[s],cullRect:void 0,deviceRect:s,pickZ:!1}))})}}},{key:"getLayerParameters",value:function(i,o,a){if(this.drawParameters[i.id])return this.drawParameters[i.id];var f=(0,Qn.default)((0,Se.default)(e.prototype),"getLayerParameters",this).call(this,i,o,a);return f.blend=!0,f}}]),e}(ri._PickLayersPass);var ai=u(x()),si=u(b()),D=u(P()),fi=u(R());var oi=2048,vt=function(){function t(r){(0,ai.default)(this,t),(0,D.default)(this,"renderViewport",null),(0,D.default)(this,"bounds",null),(0,D.default)(this,"fbo",void 0),(0,D.default)(this,"gl",void 0),(0,D.default)(this,"layers",[]),(0,D.default)(this,"layersBounds",[]),(0,D.default)(this,"layersBoundsCommon",null),(0,D.default)(this,"lastViewport",null),this.gl=r}return(0,si.default)(t,[{key:"getRenderFramebuffer",value:function(){return this.renderViewport?(this.fbo||(this.fbo=te(this.gl,{id:"height-map",float:!0})),this.fbo):null}},{key:"shouldUpdate",value:function(e){var n=this,i=e.layers,o=e.viewport,a=i.length!==this.layers.length||i.some(function(v,_){return v!==n.layers[_]||v.props.transitions||v.getBounds()!==n.layersBounds[_]});a&&(this.layers=i,this.layersBounds=i.map(function(v){return v.getBounds()}),this.layersBoundsCommon=G(i,o));var f=!this.lastViewport||!o.equals(this.lastViewport);if(!this.layersBoundsCommon)this.renderViewport=null;else if(a||f){var s=H(this.layersBoundsCommon,o);if(s[2]<=s[0]||s[3]<=s[1])return this.renderViewport=null,!1;this.bounds=s,this.lastViewport=o;var l=o.scale,c=(s[2]-s[0])*l,p=(s[3]-s[1])*l;return this.renderViewport=c>0||p>0?W({bounds:[o.center[0]-1,o.center[1]-1,o.center[0]+1,o.center[1]+1],zoom:o.zoom,width:Math.min(c,oi),height:Math.min(p,oi),viewport:o}):null,!0}return!1}},{key:"delete",value:function(){this.fbo&&(this.fbo.color.delete(),this.fbo.delete())}}],[{key:"isSupported",value:function(e){return fi.Framebuffer.isSupported(e,{colorBufferFloat:!0})}}]),t}();function li(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function Fe(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?li(Object(e),!0).forEach(function(n){(0,S.default)(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):li(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function Y(t,r){var e=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=ba(t))||r&&t&&typeof t.length=="number"){e&&(t=e);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1364
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,f;return{s:function(){e=e.call(t)},n:function(){var l=e.next();return o=l.done,l},e:function(l){a=!0,f=l},f:function(){try{!o&&e.return!=null&&e.return()}finally{if(a)throw f}}}}function ba(t,r){if(t){if(typeof t=="string")return ui(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);if(e==="Object"&&t.constructor&&(e=t.constructor.name),e==="Map"||e==="Set")return Array.from(t);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return ui(t,r)}}function ui(t,r){(r==null||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}var di=function(){function t(){(0,pi.default)(this,t),(0,S.default)(this,"id","terrain-effect"),(0,S.default)(this,"props",null),(0,S.default)(this,"useInPicking",!0),(0,S.default)(this,"isPicking",!1),(0,S.default)(this,"isDrapingEnabled",!1),(0,S.default)(this,"dummyHeightMap",void 0),(0,S.default)(this,"heightMap",void 0),(0,S.default)(this,"terrainPass",void 0),(0,S.default)(this,"terrainPickingPass",void 0),(0,S.default)(this,"terrainCovers",new Map)}return(0,vi.default)(t,[{key:"initialize",value:function(e){this.dummyHeightMap=new ke.Texture2D(e,{width:1,height:1,data:new Uint8Array([0,0,0,0])}),this.terrainPass=new Kn(e,{id:"terrain"}),this.terrainPickingPass=new ii(e,{id:"terrain-picking"}),vt.isSupported(e)?this.heightMap=new vt(e):_i.log.warn("Terrain offset mode is not supported by this browser")(),ke.ProgramManager.getDefaultProgramManager(e).addDefaultModule(Ae)}},{key:"preRender",value:function(e,n){if(!this.dummyHeightMap){this.initialize(e);var i=Y(n.layers),o;try{for(i.s();!(o=i.n()).done;){var a=o.value;a.props.operation.includes("terrain")&&a.setChangeFlags({extensionsChanged:!0})}}catch(d){i.e(d)}finally{i.f()}}if(n.pickZ){this.isDrapingEnabled=!1;return}var f=n.viewports,s=n.isPicking,l=s===void 0?!1:s;this.isPicking=l,this.isDrapingEnabled=!0;var c=f[0],p=(l?this.terrainPickingPass:this.terrainPass).getRenderableLayers(c,n),v=p.filter(function(d){return d.props.operation.includes("terrain")});if(v.length!==0){if(!l){var _=p.filter(function(d){return d.state.terrainDrawMode==="offset"});_.length>0&&this._updateHeightMap(v,c,n)}var m=p.filter(function(d){return d.state.terrainDrawMode==="drape"});this._updateTerrainCovers(v,m,c,n)}}},{key:"getModuleParameters",value:function(e){var n,i,o=e.state.terrainDrawMode;return{heightMap:(n=this.heightMap)===null||n===void 0?void 0:n.getRenderFramebuffer(),heightMapBounds:(i=this.heightMap)===null||i===void 0?void 0:i.bounds,dummyHeightMap:this.dummyHeightMap,terrainCover:this.isDrapingEnabled?this.terrainCovers.get(e.id):null,useTerrainHeightMap:o==="offset",terrainSkipRender:o==="drape"||!e.props.operation.includes("draw")}}},{key:"cleanup",value:function(){this.dummyHeightMap&&(this.dummyHeightMap.delete(),this.dummyHeightMap=void 0),this.heightMap&&(this.heightMap.delete(),this.heightMap=void 0);var e=Y(this.terrainCovers.values()),n;try{for(e.s();!(n=e.n()).done;){var i=n.value;i.delete()}}catch(o){e.e(o)}finally{e.f()}this.terrainCovers.clear()}},{key:"_updateHeightMap",value:function(e,n,i){if(this.heightMap){var o=this.heightMap.shouldUpdate({layers:e,viewport:n});o&&this.terrainPass.renderHeightMap(this.heightMap,Fe(Fe({},i),{},{layers:e,moduleParameters:{heightMapBounds:this.heightMap.bounds,dummyHeightMap:this.dummyHeightMap,devicePixelRatio:1,drawToTerrainHeightMap:!0}}))}}},{key:"_updateTerrainCovers",value:function(e,n,i,o){var a={},f=Y(n),s;try{for(f.s();!(s=f.n()).done;){var l=s.value;l.state.terrainCoverNeedsRedraw&&(a[l.id]=!0,l.state.terrainCoverNeedsRedraw=!1)}}catch(h){f.e(h)}finally{f.f()}var c=Y(this.terrainCovers.values()),p;try{for(c.s();!(p=c.n()).done;){var v=p.value;v.isDirty=v.isDirty||v.shouldUpdate({layerNeedsRedraw:a})}}catch(h){c.e(h)}finally{c.f()}var _=Y(e),m;try{for(_.s();!(m=_.n()).done;){var d=m.value;this._updateTerrainCover(d,n,i,o)}}catch(h){_.e(h)}finally{_.f()}this.isPicking||this._pruneTerrainCovers()}},{key:"_updateTerrainCover",value:function(e,n,i,o){var a=this.isPicking?this.terrainPickingPass:this.terrainPass,f=this.terrainCovers.get(e.id);f||(f=new Dn(e),this.terrainCovers.set(e.id,f));try{var s=f.shouldUpdate({targetLayer:e,viewport:i,layers:n});(this.isPicking||f.isDirty||s)&&(a.renderTerrainCover(f,Fe(Fe({},o),{},{layers:n,moduleParameters:{dummyHeightMap:this.dummyHeightMap,terrainSkipRender:!1,devicePixelRatio:1}})),f.isDirty=!1)}catch(l){e.raiseError(l,"Error rendering terrain cover ".concat(f.id))}}},{key:"_pruneTerrainCovers",value:function(){var e=[],n=Y(this.terrainCovers),i;try{for(n.s();!(i=n.n()).done;){var o=(0,ci.default)(i.value,2),a=o[0],f=o[1];f.isActive||e.push(a)}}catch(p){n.e(p)}finally{n.f()}for(var s=0,l=e;s<l.length;s++){var c=l[s];this.terrainCovers.delete(c)}}}]),t}();function Oa(t){var r=Ea();return function(){var n=(0,_t.default)(t),i;if(r){var o=(0,_t.default)(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return(0,gi.default)(this,i)}}function Ea(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Ta={terrainDrawMode:void 0},Ce=function(t){(0,yi.default)(e,t);var r=Oa(e);function e(){return(0,mi.default)(this,e),r.apply(this,arguments)}return(0,hi.default)(e,[{key:"getShaders",value:function(){return{modules:[Ae]}}},{key:"initializeState",value:function(){var i;(i=this.context.deck)===null||i===void 0||i._addDefaultEffect(new di)}},{key:"updateState",value:function(i){var o=i.props,a=i.oldProps;if(!(this.state.terrainDrawMode&&o.terrainDrawMode===a.terrainDrawMode&&o.extruded===a.extruded)){var f=o.terrainDrawMode;if(!f){var s,l=this.props.extruded,c=(s=this.getAttributeManager())===null||s===void 0?void 0:s.attributes,p=c&&"instancePositions"in c;f=l||p?"offset":"drape"}this.setState({terrainDrawMode:f})}}},{key:"onNeedsRedraw",value:function(){var i=this.state;i.terrainDrawMode==="drape"&&(i.terrainCoverNeedsRedraw=!0)}}]),e}(Pi.LayerExtension);(0,dt.default)(Ce,"defaultProps",Ta);(0,dt.default)(Ce,"extensionName","TerrainExtension");return Fi(re);})();
1365
+ `},getUniforms:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;if("dummyHeightMap"in r){var n=r.drawToTerrainHeightMap,i=r.heightMap,o=r.heightMapBounds,a=r.dummyHeightMap,f=r.terrainCover,s=r.useTerrainHeightMap,l=r.terrainSkipRender,c=e.project_uCommonOrigin,p=l?R.SKIP:R.NONE,v=a,_=null;if(n)p=R.WRITE_HEIGHT_MAP,_=o;else if(s&&i)p=R.USE_HEIGHT_MAP,v=i,_=o;else if(f){var P=r.pickingActive;v=P?f.getPickingFramebuffer():f.getRenderFramebuffer(),P&&(p=R.SKIP),v?(p=p===R.SKIP?R.USE_COVER_ONLY:R.USE_COVER,_=f.bounds):v=a}return{terrain_mode:p,terrain_map:v,terrain_bounds:_?[_[0]-c[0],_[1]-c[1],_[2]-_[0],_[3]-_[1]]:[0,0,0,0]}}return null}};var U=h(A());function qt(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function Gt(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?qt(Object(e),!0).forEach(function(n){u(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):qt(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function J(t,r){var e;return new U.Framebuffer(t,{id:r.id,attachments:u({},36064,new U.Texture2D(t,Gt(Gt({},r.float&&{format:(0,U.isWebGL2)(t)?34836:6408,type:5126}),{},{mipmaps:!1,parameters:(e={},u(e,10241,9729),u(e,10240,9729),u(e,10242,33071),u(e,10243,33071),e)})))})}function Bn(t,r){var e=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=Dn(t))||r&&t&&typeof t.length=="number"){e&&(t=e);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1366
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,f;return{s:function(){e=e.call(t)},n:function(){var l=e.next();return o=l.done,l},e:function(l){a=!0,f=l},f:function(){try{!o&&e.return!=null&&e.return()}finally{if(a)throw f}}}}function Dn(t,r){if(t){if(typeof t=="string")return Wt(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);if(e==="Object"&&t.constructor&&(e=t.constructor.name),e==="Map"||e==="Set")return Array.from(t);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return Wt(t,r)}}function Wt(t,r){(r==null||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}var Ht=function(){function t(r){y(this,t),u(this,"isDirty",!0),u(this,"targetLayer",void 0),u(this,"renderViewport",null),u(this,"bounds",null),u(this,"fbo",void 0),u(this,"pickingFbo",void 0),u(this,"layers",[]),u(this,"tile",void 0),u(this,"targetBounds",null),u(this,"targetBoundsCommon",null),this.targetLayer=r,this.tile=Kt(r)}return g(t,[{key:"id",get:function(){return this.targetLayer.id}},{key:"isActive",get:function(){return Boolean(this.targetLayer.getCurrentLayer())}},{key:"shouldUpdate",value:function(e){var n=e.targetLayer,i=e.viewport,o=e.layers,a=e.layerNeedsRedraw;n&&(this.targetLayer=n);var f=i?this._updateViewport(i):!1,s=o?this._updateLayers(o):!1;if(a){var l=Bn(this.layers),c;try{for(l.s();!(c=l.n()).done;){var p=c.value;if(a[p]){s=!0;break}}}catch(v){l.e(v)}finally{l.f()}}return s||f}},{key:"_updateLayers",value:function(e){var n=!1;if(e=this.tile?jn(this.tile,e):e,e.length!==this.layers.length)n=!0;else for(var i=0;i<e.length;i++){var o=e[i].id;if(o!==this.layers[i]){n=!0;break}}return n&&(this.layers=e.map(function(a){return a.id})),n}},{key:"_updateViewport",value:function(e){var n=this.targetLayer,i=!1;if(this.tile&&"boundingBox"in this.tile){if(!this.targetBounds){i=!0,this.targetBounds=this.tile.boundingBox;var o=e.projectPosition(this.targetBounds[0]),a=e.projectPosition(this.targetBounds[1]);this.targetBoundsCommon=[o[0],o[1],a[0],a[1]]}}else this.targetBounds!==n.getBounds()&&(i=!0,this.targetBounds=n.getBounds(),this.targetBoundsCommon=j([n],e));if(!this.targetBoundsCommon)return!1;var f=Math.ceil(e.zoom+.5);if(this.tile)this.bounds=this.targetBoundsCommon;else{var s,l=(s=this.renderViewport)===null||s===void 0?void 0:s.zoom;i=i||f!==l;var c=z(this.targetBoundsCommon,e),p=this.bounds;i=i||!p||c.some(function(v,_){return v!==p[_]}),this.bounds=c}return i&&(this.renderViewport=V({bounds:this.bounds,zoom:f,viewport:e})),i}},{key:"getRenderFramebuffer",value:function(){return!this.renderViewport||this.layers.length===0?null:(this.fbo||(this.fbo=J(this.targetLayer.context.gl,{id:this.id})),this.fbo)}},{key:"getPickingFramebuffer",value:function(){return!this.renderViewport||this.layers.length===0&&!this.targetLayer.props.pickable?null:(this.pickingFbo||(this.pickingFbo=J(this.targetLayer.context.gl,{id:"".concat(this.id,"-picking")})),this.pickingFbo)}},{key:"filterLayers",value:function(e){var n=this;return e.filter(function(i){var o=i.id;return n.layers.includes(o)})}},{key:"delete",value:function(){var e=this.fbo,n=this.pickingFbo;e&&(e.texture.delete(),e.delete()),n&&(n.texture.delete(),n.delete())}}]),t}();function jn(t,r){return r.filter(function(e){var n=Kt(e);return n?Vn(t.boundingBox,n.boundingBox):!0})}function Kt(t){for(;t;){var r=t.props.tile;if(r)return r;t=t.parent}return null}function Vn(t,r){return t&&r?t[0][0]<r[1][0]&&r[0][0]<t[1][0]&&t[0][1]<r[1][1]&&r[0][1]<t[1][1]:!1}var Ne=h(A()),$t=h(E());function Yt(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function ge(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?Yt(Object(e),!0).forEach(function(n){u(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Yt(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function zn(t){var r=Un();return function(){var n=d(t),i;if(r){var o=d(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return b(this,i)}}function Un(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Zt=function(t){x(e,t);var r=zn(e);function e(){return y(this,e),r.apply(this,arguments)}return g(e,[{key:"getRenderableLayers",value:function(i,o){for(var a=o.layers,f=[],s=this._getDrawLayerParams(i,o,!0),l=0;l<a.length;l++){var c=a[l];!c.isComposite&&s[l].shouldDrawLayer&&f.push(c)}return f}},{key:"renderHeightMap",value:function(i,o){var a=this,f=i.getRenderFramebuffer(),s=i.renderViewport;!f||!s||(f.resize(s),(0,Ne.withParameters)(this.gl,{clearColor:[0,0,0,0],blend:!0,blendFunc:[1,1],blendEquation:32776,depthTest:!1},function(){return a.render(ge(ge({},o),{},{target:f,pass:"terrain-height-map",layers:o.layers,viewports:[s],effects:[]}))}))}},{key:"renderTerrainCover",value:function(i,o){var a=this,f=i.getRenderFramebuffer(),s=i.renderViewport;if(!(!f||!s)){var l=i.filterLayers(o.layers);f.resize(s),(0,Ne.withParameters)(this.gl,{depthTest:!1},function(){return a.render(ge(ge({},o),{},{target:f,pass:"terrain-cover-".concat(i.id),layers:l,effects:[],viewports:[s]}))})}}}]),e}($t._LayersPass);var Qt=h(E()),er=h(A());function Xt(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function Jt(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?Xt(Object(e),!0).forEach(function(n){u(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Xt(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function qn(t){var r=Gn();return function(){var n=d(t),i;if(r){var o=d(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return b(this,i)}}function Gn(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var tr=function(t){x(e,t);var r=qn(e);function e(){var n;y(this,e);for(var i=arguments.length,o=new Array(i),a=0;a<i;a++)o[a]=arguments[a];return n=r.call.apply(r,[this].concat(o)),u(C(n),"drawParameters",{}),n}return g(e,[{key:"getRenderableLayers",value:function(i,o){var a=o.layers,f=[];this.drawParameters={},this._resetColorEncoder(o.pickZ);for(var s=this._getDrawLayerParams(i,o),l=0;l<a.length;l++){var c=a[l];!c.isComposite&&s[l].shouldDrawLayer&&(f.push(c),this.drawParameters[c.id]=s[l].layerParameters)}return f}},{key:"renderTerrainCover",value:function(i,o){var a=this,f=i.getPickingFramebuffer(),s=i.renderViewport;if(!(!f||!s)){var l=i.filterLayers(o.layers),c=i.targetLayer;c.props.pickable&&l.unshift(c),f.resize(s),(0,er.withParameters)(this.gl,{depthTest:!1},function(){return a.render(Jt(Jt({},o),{},{pickingFBO:f,pass:"terrain-cover-picking-".concat(i.id),layers:l,effects:[],viewports:[s],cullRect:void 0,deviceRect:s,pickZ:!1}))})}}},{key:"getLayerParameters",value:function(i,o,a){if(this.drawParameters[i.id])return this.drawParameters[i.id];var f=I(d(e.prototype),"getLayerParameters",this).call(this,i,o,a);return f.blend=!0,f}}]),e}(Qt._PickLayersPass);var nr=h(A());var rr=2048,Be=function(){function t(r){y(this,t),u(this,"renderViewport",null),u(this,"bounds",null),u(this,"fbo",void 0),u(this,"gl",void 0),u(this,"layers",[]),u(this,"layersBounds",[]),u(this,"layersBoundsCommon",null),u(this,"lastViewport",null),this.gl=r}return g(t,[{key:"getRenderFramebuffer",value:function(){return this.renderViewport?(this.fbo||(this.fbo=J(this.gl,{id:"height-map",float:!0})),this.fbo):null}},{key:"shouldUpdate",value:function(e){var n=this,i=e.layers,o=e.viewport,a=i.length!==this.layers.length||i.some(function(v,_){return v!==n.layers[_]||v.props.transitions||v.getBounds()!==n.layersBounds[_]});a&&(this.layers=i,this.layersBounds=i.map(function(v){return v.getBounds()}),this.layersBoundsCommon=j(i,o));var f=!this.lastViewport||!o.equals(this.lastViewport);if(!this.layersBoundsCommon)this.renderViewport=null;else if(a||f){var s=z(this.layersBoundsCommon,o);if(s[2]<=s[0]||s[3]<=s[1])return this.renderViewport=null,!1;this.bounds=s,this.lastViewport=o;var l=o.scale,c=(s[2]-s[0])*l,p=(s[3]-s[1])*l;return this.renderViewport=c>0||p>0?V({bounds:[o.center[0]-1,o.center[1]-1,o.center[0]+1,o.center[1]+1],zoom:o.zoom,width:Math.min(c,rr),height:Math.min(p,rr),viewport:o}):null,!0}return!1}},{key:"delete",value:function(){this.fbo&&(this.fbo.color.delete(),this.fbo.delete())}}],[{key:"isSupported",value:function(e){return nr.Framebuffer.isSupported(e,{colorBufferFloat:!0})}}]),t}();function ir(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function Pe(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?ir(Object(e),!0).forEach(function(n){u(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):ir(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function q(t,r){var e=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=Wn(t))||r&&t&&typeof t.length=="number"){e&&(t=e);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1367
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,f;return{s:function(){e=e.call(t)},n:function(){var l=e.next();return o=l.done,l},e:function(l){a=!0,f=l},f:function(){try{!o&&e.return!=null&&e.return()}finally{if(a)throw f}}}}function Wn(t,r){if(t){if(typeof t=="string")return or(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);if(e==="Object"&&t.constructor&&(e=t.constructor.name),e==="Map"||e==="Set")return Array.from(t);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return or(t,r)}}function or(t,r){(r==null||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}var sr=function(){function t(){y(this,t),u(this,"id","terrain-effect"),u(this,"props",null),u(this,"useInPicking",!0),u(this,"isPicking",!1),u(this,"isDrapingEnabled",!1),u(this,"dummyHeightMap",void 0),u(this,"heightMap",void 0),u(this,"terrainPass",void 0),u(this,"terrainPickingPass",void 0),u(this,"terrainCovers",new Map)}return g(t,[{key:"initialize",value:function(e){this.dummyHeightMap=new xe.Texture2D(e,{width:1,height:1,data:new Uint8Array([0,0,0,0])}),this.terrainPass=new Zt(e,{id:"terrain"}),this.terrainPickingPass=new tr(e,{id:"terrain-picking"}),Be.isSupported(e)?this.heightMap=new Be(e):ar.log.warn("Terrain offset mode is not supported by this browser")(),xe.ProgramManager.getDefaultProgramManager(e).addDefaultModule(ye)}},{key:"preRender",value:function(e,n){if(!this.dummyHeightMap){this.initialize(e);var i=q(n.layers),o;try{for(i.s();!(o=i.n()).done;){var a=o.value;a.props.operation.includes("terrain")&&a.setChangeFlags({extensionsChanged:!0})}}catch(m){i.e(m)}finally{i.f()}}if(n.pickZ){this.isDrapingEnabled=!1;return}var f=n.viewports,s=n.isPicking,l=s===void 0?!1:s;this.isPicking=l,this.isDrapingEnabled=!0;var c=f[0],p=(l?this.terrainPickingPass:this.terrainPass).getRenderableLayers(c,n),v=p.filter(function(m){return m.props.operation.includes("terrain")});if(v.length!==0){if(!l){var _=p.filter(function(m){return m.state.terrainDrawMode==="offset"});_.length>0&&this._updateHeightMap(v,c,n)}var P=p.filter(function(m){return m.state.terrainDrawMode==="drape"});this._updateTerrainCovers(v,P,c,n)}}},{key:"getModuleParameters",value:function(e){var n,i,o=e.state.terrainDrawMode;return{heightMap:(n=this.heightMap)===null||n===void 0?void 0:n.getRenderFramebuffer(),heightMapBounds:(i=this.heightMap)===null||i===void 0?void 0:i.bounds,dummyHeightMap:this.dummyHeightMap,terrainCover:this.isDrapingEnabled?this.terrainCovers.get(e.id):null,useTerrainHeightMap:o==="offset",terrainSkipRender:o==="drape"||!e.props.operation.includes("draw")}}},{key:"cleanup",value:function(){this.dummyHeightMap&&(this.dummyHeightMap.delete(),this.dummyHeightMap=void 0),this.heightMap&&(this.heightMap.delete(),this.heightMap=void 0);var e=q(this.terrainCovers.values()),n;try{for(e.s();!(n=e.n()).done;){var i=n.value;i.delete()}}catch(o){e.e(o)}finally{e.f()}this.terrainCovers.clear()}},{key:"_updateHeightMap",value:function(e,n,i){if(this.heightMap){var o=this.heightMap.shouldUpdate({layers:e,viewport:n});o&&this.terrainPass.renderHeightMap(this.heightMap,Pe(Pe({},i),{},{layers:e,moduleParameters:{heightMapBounds:this.heightMap.bounds,dummyHeightMap:this.dummyHeightMap,devicePixelRatio:1,drawToTerrainHeightMap:!0}}))}}},{key:"_updateTerrainCovers",value:function(e,n,i,o){var a={},f=q(n),s;try{for(f.s();!(s=f.n()).done;){var l=s.value;l.state.terrainCoverNeedsRedraw&&(a[l.id]=!0,l.state.terrainCoverNeedsRedraw=!1)}}catch(O){f.e(O)}finally{f.f()}var c=q(this.terrainCovers.values()),p;try{for(c.s();!(p=c.n()).done;){var v=p.value;v.isDirty=v.isDirty||v.shouldUpdate({layerNeedsRedraw:a})}}catch(O){c.e(O)}finally{c.f()}var _=q(e),P;try{for(_.s();!(P=_.n()).done;){var m=P.value;this._updateTerrainCover(m,n,i,o)}}catch(O){_.e(O)}finally{_.f()}this.isPicking||this._pruneTerrainCovers()}},{key:"_updateTerrainCover",value:function(e,n,i,o){var a=this.isPicking?this.terrainPickingPass:this.terrainPass,f=this.terrainCovers.get(e.id);f||(f=new Ht(e),this.terrainCovers.set(e.id,f));try{var s=f.shouldUpdate({targetLayer:e,viewport:i,layers:n});(this.isPicking||f.isDirty||s)&&(a.renderTerrainCover(f,Pe(Pe({},o),{},{layers:n,moduleParameters:{dummyHeightMap:this.dummyHeightMap,terrainSkipRender:!1,devicePixelRatio:1}})),f.isDirty=!1)}catch(l){e.raiseError(l,"Error rendering terrain cover ".concat(f.id))}}},{key:"_pruneTerrainCovers",value:function(){var e=[],n=q(this.terrainCovers),i;try{for(n.s();!(i=n.n()).done;){var o=H(i.value,2),a=o[0],f=o[1];f.isActive||e.push(a)}}catch(p){n.e(p)}finally{n.f()}for(var s=0,l=e;s<l.length;s++){var c=l[s];this.terrainCovers.delete(c)}}}]),t}();function Hn(t){var r=Kn();return function(){var n=d(t),i;if(r){var o=d(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return b(this,i)}}function Kn(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Yn={terrainDrawMode:void 0},be=function(t){x(e,t);var r=Hn(e);function e(){return y(this,e),r.apply(this,arguments)}return g(e,[{key:"getShaders",value:function(){return{modules:[ye]}}},{key:"initializeState",value:function(){var i;(i=this.context.deck)===null||i===void 0||i._addDefaultEffect(new sr)}},{key:"updateState",value:function(i){var o=i.props,a=i.oldProps;if(!(this.state.terrainDrawMode&&o.terrainDrawMode===a.terrainDrawMode&&o.extruded===a.extruded)){var f=o.terrainDrawMode;if(!f){var s,l=this.props.extruded,c=(s=this.getAttributeManager())===null||s===void 0?void 0:s.attributes,p=c&&"instancePositions"in c;f=l||p?"offset":"drape"}this.setState({terrainDrawMode:f})}}},{key:"onNeedsRedraw",value:function(){var i=this.state;i.terrainDrawMode==="drape"&&(i.terrainCoverNeedsRedraw=!0)}}]),e}(fr.LayerExtension);u(be,"defaultProps",Yn);u(be,"extensionName","TerrainExtension");return gr(Q);})();
1365
1368
  return __exports__;
1366
1369
  });
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@deck.gl/extensions",
3
3
  "description": "Plug-and-play functionalities for deck.gl layers",
4
4
  "license": "MIT",
5
- "version": "8.9.20",
5
+ "version": "8.9.21",
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
@@ -30,6 +30,7 @@
30
30
  "prepublishOnly": "npm run build-bundle && npm run build-bundle -- --env=dev"
31
31
  },
32
32
  "dependencies": {
33
+ "@babel/runtime": "^7.0.0",
33
34
  "@luma.gl/shadertools": "^8.5.20"
34
35
  },
35
36
  "peerDependencies": {
@@ -40,5 +41,5 @@
40
41
  "@math.gl/web-mercator": "^3.6.2",
41
42
  "gl-matrix": "^3.0.0"
42
43
  },
43
- "gitHead": "c809dbafe63f1c4f30b9d6074461e6ce56ad48c2"
44
+ "gitHead": "d5dca2e143dd9cf4e204a4473d67de14e4e7f2ee"
44
45
  }
@@ -47,7 +47,7 @@ float round(float x) {
47
47
  offset = solidLength / 2.0;
48
48
  }
49
49
 
50
- float unitOffset = mod(clamp(vPathPosition.y, 0.0, vPathLength) + offset, unitLength);
50
+ float unitOffset = mod(vPathPosition.y + offset, unitLength);
51
51
 
52
52
  if (gapLength > 0.0 && unitOffset > solidLength) {
53
53
  if (capType <= 0.5) {
@@ -81,10 +81,12 @@ attribute float instanceOffsets;
81
81
  float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;
82
82
  size *= offsetWidth;
83
83
  `,
84
- 'vCornerOffset = offsetVec;': `
84
+ 'vs:#main-end': `
85
85
  float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;
86
- vec2 offsetCenter = -instanceOffsets * (isCap ? perp : miterVec * miterSize) * 2.0;
87
- vCornerOffset = vCornerOffset * offsetWidth - offsetCenter;
86
+ float offsetDir = sign(instanceOffsets);
87
+ vPathPosition.x = (vPathPosition.x + offsetDir) * offsetWidth - offsetDir;
88
+ vPathPosition.y *= offsetWidth;
89
+ vPathLength *= offsetWidth;
88
90
  `,
89
91
  'fs:#main-start': `
90
92
  float isInside;
@@ -10,7 +10,7 @@ export declare const offsetShaders: {
10
10
  inject: {
11
11
  'vs:#decl': string;
12
12
  'vs:DECKGL_FILTER_SIZE': string;
13
- 'vCornerOffset = offsetVec;': string;
13
+ 'vs:#main-end': string;
14
14
  'fs:#main-start': string;
15
15
  };
16
16
  };
@@ -1 +1 @@
1
- {"version":3,"file":"shaders.glsl.d.ts","sourceRoot":"","sources":["../../src/path-style/shaders.glsl.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;CAwEvB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;CAsBzB,CAAC"}
1
+ {"version":3,"file":"shaders.glsl.d.ts","sourceRoot":"","sources":["../../src/path-style/shaders.glsl.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;CAwEvB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;CAwBzB,CAAC"}