deck.gl 9.2.0-alpha.3 → 9.2.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/dist.dev.js +255 -178
  2. package/dist.min.js +232 -232
  3. package/package.json +17 -17
package/dist/dist.dev.js CHANGED
@@ -1907,7 +1907,7 @@ or create a device with the 'debug: true' prop.`;
1907
1907
  VERSION = (
1908
1908
  // Version detection using build plugin
1909
1909
  // @ts-expect-error no-undef
1910
- true ? "9.2.0-alpha.5" : "running from source"
1910
+ true ? "9.2.0" : "running from source"
1911
1911
  );
1912
1912
  spector;
1913
1913
  preregisteredAdapters = /* @__PURE__ */ new Map();
@@ -2253,6 +2253,13 @@ or create a device with the 'debug: true' prop.`;
2253
2253
  destroy() {
2254
2254
  this.destroyed = true;
2255
2255
  }
2256
+ setProps(props) {
2257
+ if ("useDevicePixels" in props) {
2258
+ this.props.useDevicePixels = props.useDevicePixels || false;
2259
+ this._updateDrawingBufferSize();
2260
+ }
2261
+ return this;
2262
+ }
2256
2263
  // SIZE METHODS
2257
2264
  /**
2258
2265
  * Returns the size covered by the canvas in CSS pixels
@@ -2370,6 +2377,10 @@ or create a device with the 'debug: true' prop.`;
2370
2377
  const [maxDevicePixelWidth, maxDevicePixelHeight] = this.getMaxDrawingBufferSize();
2371
2378
  this.devicePixelWidth = Math.max(1, Math.min(devicePixelWidth, maxDevicePixelWidth));
2372
2379
  this.devicePixelHeight = Math.max(1, Math.min(devicePixelHeight, maxDevicePixelHeight));
2380
+ this._updateDrawingBufferSize();
2381
+ this.device.props.onResize(this, { oldPixelSize });
2382
+ }
2383
+ _updateDrawingBufferSize() {
2373
2384
  if (this.props.autoResize) {
2374
2385
  if (typeof this.props.useDevicePixels === "number") {
2375
2386
  const dpr = this.props.useDevicePixels;
@@ -2384,7 +2395,6 @@ or create a device with the 'debug: true' prop.`;
2384
2395
  this._initializedResolvers.resolve();
2385
2396
  this.isInitialized = true;
2386
2397
  this.updatePosition();
2387
- this.device.props.onResize(this, { oldPixelSize });
2388
2398
  }
2389
2399
  /** Monitor DPR changes */
2390
2400
  _observeDevicePixelRatio() {
@@ -26703,20 +26713,20 @@ void main() {
26703
26713
  return a6[0] * b4[0] + a6[1] * b4[1] + a6[2] * b4[2] + a6[3] * b4[3];
26704
26714
  }
26705
26715
  function cross3(out, u6, v5, w5) {
26706
- const A4 = v5[0] * w5[1] - v5[1] * w5[0];
26707
- const B4 = v5[0] * w5[2] - v5[2] * w5[0];
26708
- const C4 = v5[0] * w5[3] - v5[3] * w5[0];
26709
- const D3 = v5[1] * w5[2] - v5[2] * w5[1];
26710
- const E2 = v5[1] * w5[3] - v5[3] * w5[1];
26711
- const F3 = v5[2] * w5[3] - v5[3] * w5[2];
26712
- const G2 = u6[0];
26716
+ const A5 = v5[0] * w5[1] - v5[1] * w5[0];
26717
+ const B5 = v5[0] * w5[2] - v5[2] * w5[0];
26718
+ const C5 = v5[0] * w5[3] - v5[3] * w5[0];
26719
+ const D4 = v5[1] * w5[2] - v5[2] * w5[1];
26720
+ const E3 = v5[1] * w5[3] - v5[3] * w5[1];
26721
+ const F4 = v5[2] * w5[3] - v5[3] * w5[2];
26722
+ const G3 = u6[0];
26713
26723
  const H2 = u6[1];
26714
26724
  const I3 = u6[2];
26715
26725
  const J2 = u6[3];
26716
- out[0] = H2 * F3 - I3 * E2 + J2 * D3;
26717
- out[1] = -(G2 * F3) + I3 * C4 - J2 * B4;
26718
- out[2] = G2 * E2 - H2 * C4 + J2 * A4;
26719
- out[3] = -(G2 * D3) + H2 * B4 - I3 * A4;
26726
+ out[0] = H2 * F4 - I3 * E3 + J2 * D4;
26727
+ out[1] = -(G3 * F4) + I3 * C5 - J2 * B5;
26728
+ out[2] = G3 * E3 - H2 * C5 + J2 * A5;
26729
+ out[3] = -(G3 * D4) + H2 * B5 - I3 * A5;
26720
26730
  return out;
26721
26731
  }
26722
26732
  function lerp4(out, a6, b4, t5) {
@@ -35714,9 +35724,9 @@ ${fragment}
35714
35724
  }
35715
35725
  function getEclipticLongitude(meanAnomaly) {
35716
35726
  const M3 = meanAnomaly;
35717
- const C4 = DEGREES_TO_RADIANS5 * (1.9148 * Math.sin(M3) + 0.02 * Math.sin(2 * M3) + 3e-4 * Math.sin(3 * M3));
35727
+ const C5 = DEGREES_TO_RADIANS5 * (1.9148 * Math.sin(M3) + 0.02 * Math.sin(2 * M3) + 3e-4 * Math.sin(3 * M3));
35718
35728
  const P3 = DEGREES_TO_RADIANS5 * 102.9372;
35719
- return M3 + C4 + P3 + Math.PI;
35729
+ return M3 + C5 + P3 + Math.PI;
35720
35730
  }
35721
35731
  function getSunCoords(dates) {
35722
35732
  const M3 = getSolarMeanAnomaly(dates);
@@ -47962,17 +47972,17 @@ void main(void) {
47962
47972
  const lambda = lng * DEGREES_TO_RADIANS6;
47963
47973
  const phi = lat * DEGREES_TO_RADIANS6;
47964
47974
  const cosPhi = Math.cos(phi);
47965
- const D3 = (Z2 / EARTH_RADIUS + 1) * GLOBE_RADIUS;
47966
- return [Math.sin(lambda) * cosPhi * D3, -Math.cos(lambda) * cosPhi * D3, Math.sin(phi) * D3];
47975
+ const D4 = (Z2 / EARTH_RADIUS + 1) * GLOBE_RADIUS;
47976
+ return [Math.sin(lambda) * cosPhi * D4, -Math.cos(lambda) * cosPhi * D4, Math.sin(phi) * D4];
47967
47977
  }
47968
47978
  unprojectPosition(xyz) {
47969
47979
  const [x4, y5, z4] = xyz;
47970
- const D3 = vec3_exports.len(xyz);
47971
- const phi = Math.asin(z4 / D3);
47980
+ const D4 = vec3_exports.len(xyz);
47981
+ const phi = Math.asin(z4 / D4);
47972
47982
  const lambda = Math.atan2(x4, -y5);
47973
47983
  const lng = lambda * RADIANS_TO_DEGREES3;
47974
47984
  const lat = phi * RADIANS_TO_DEGREES3;
47975
- const Z2 = (D3 / GLOBE_RADIUS - 1) * EARTH_RADIUS;
47985
+ const Z2 = (D4 / GLOBE_RADIUS - 1) * EARTH_RADIUS;
47976
47986
  return [lng, lat, Z2];
47977
47987
  }
47978
47988
  projectFlat(xyz) {
@@ -56806,12 +56816,12 @@ void main(void) {
56806
56816
  function frob2(a22) {
56807
56817
  return Math.hypot(a22[0], a22[1], a22[2], a22[3]);
56808
56818
  }
56809
- function LDU(L22, D3, U2, a22) {
56819
+ function LDU(L22, D22, U2, a22) {
56810
56820
  L22[2] = a22[2] / a22[0];
56811
56821
  U2[0] = a22[0];
56812
56822
  U2[1] = a22[1];
56813
56823
  U2[3] = a22[3] - L22[2] * U2[1];
56814
- return [L22, D3, U2];
56824
+ return [L22, D22, U2];
56815
56825
  }
56816
56826
  function add7(out, a22, b22) {
56817
56827
  out[0] = a22[0] + b22[0];
@@ -58005,7 +58015,6 @@ void main(void) {
58005
58015
  var PentagonShape = class _PentagonShape {
58006
58016
  constructor(vertices) {
58007
58017
  this.vertices = vertices;
58008
- this.id = { i: 0, j: 0, k: 0, resolution: 1 };
58009
58018
  if (!this.isWindingCorrect()) {
58010
58019
  this.vertices.reverse();
58011
58020
  }
@@ -58076,36 +58085,36 @@ void main(void) {
58076
58085
  return newPentagon;
58077
58086
  }
58078
58087
  getCenter() {
58079
- return this.vertices.reduce(
58080
- (sum2, v22) => [sum2[0] + v22[0] / 5, sum2[1] + v22[1] / 5],
58081
- [0, 0]
58082
- );
58088
+ const n4 = this.vertices.length;
58089
+ const sum2 = this.vertices.reduce((sum22, v22) => [sum22[0] + v22[0] / n4, sum22[1] + v22[1] / n4], [0, 0]);
58090
+ return sum2;
58083
58091
  }
58084
58092
  /**
58085
58093
  * Tests if a point is inside the pentagon by checking if it's on the correct side of all edges.
58086
58094
  * Assumes consistent winding order (counter-clockwise).
58087
58095
  * @param point The point to test
58088
- * @returns -1 if point is inside, otherwise a value proportional to the distance from the point to the edge
58096
+ * @returns 1 if point is inside, otherwise a negative value proportional to the distance from the point to the edge
58089
58097
  */
58090
58098
  containsPoint(point) {
58091
58099
  if (!this.isWindingCorrect()) {
58092
58100
  throw new Error("Pentagon is not counter-clockwise");
58093
58101
  }
58094
58102
  const N3 = this.vertices.length;
58103
+ let dMax = 1;
58095
58104
  for (let i7 = 0; i7 < N3; i7++) {
58096
58105
  const v1 = this.vertices[i7];
58097
58106
  const v22 = this.vertices[(i7 + 1) % N3];
58098
- const dx = v22[0] - v1[0];
58099
- const dy = v22[1] - v1[1];
58107
+ const dx = v1[0] - v22[0];
58108
+ const dy = v1[1] - v22[1];
58100
58109
  const px = point[0] - v1[0];
58101
58110
  const py = point[1] - v1[1];
58102
58111
  const crossProduct = dx * py - dy * px;
58103
- if (crossProduct > 0) {
58112
+ if (crossProduct < 0) {
58104
58113
  const pLength = Math.sqrt(px * px + py * py);
58105
- return crossProduct / pLength;
58114
+ dMax = Math.min(dMax, crossProduct / pLength);
58106
58115
  }
58107
58116
  }
58108
- return -1;
58117
+ return dMax;
58109
58118
  }
58110
58119
  /**
58111
58120
  * Splits each edge of the pentagon into the specified number of segments
@@ -58179,16 +58188,16 @@ void main(void) {
58179
58188
  * @param C Array of coefficients
58180
58189
  * @returns Transformed angle in radians
58181
58190
  */
58182
- applyCoefficients(phi, C4) {
58191
+ applyCoefficients(phi, C22) {
58183
58192
  const sinPhi = Math.sin(phi);
58184
58193
  const cosPhi = Math.cos(phi);
58185
58194
  const X2 = 2 * (cosPhi - sinPhi) * (cosPhi + sinPhi);
58186
58195
  let u0, u1;
58187
- u0 = X2 * C4[5] + C4[4];
58188
- u1 = X2 * u0 + C4[3];
58189
- u0 = X2 * u1 - u0 + C4[2];
58190
- u1 = X2 * u0 - u1 + C4[1];
58191
- u0 = X2 * u1 - u0 + C4[0];
58196
+ u0 = X2 * C22[5] + C22[4];
58197
+ u1 = X2 * u0 + C22[3];
58198
+ u0 = X2 * u1 - u0 + C22[2];
58199
+ u1 = X2 * u0 - u1 + C22[1];
58200
+ u0 = X2 * u1 - u0 + C22[0];
58192
58201
  return phi + 2 * sinPhi * cosPhi * u0;
58193
58202
  }
58194
58203
  /**
@@ -58270,12 +58279,6 @@ void main(void) {
58270
58279
  const latitude = radToDeg(geodeticLat);
58271
58280
  return [longitude, latitude];
58272
58281
  }
58273
- function quatFromSpherical(axis) {
58274
- const cartesian = toCartesian(axis);
58275
- const Q2 = quat_exports.create();
58276
- quat_exports.rotationTo(Q2, [0, 0, 1], cartesian);
58277
- return Q2;
58278
- }
58279
58282
  function normalizeLongitudes(contour) {
58280
58283
  const points = contour.map((lonLat) => toCartesian(fromLonLat(lonLat)));
58281
58284
  const center2 = vec3_exports2.create();
@@ -58298,6 +58301,53 @@ void main(void) {
58298
58301
  });
58299
58302
  }
58300
58303
  common_exports2.setMatrixArrayType(Float64Array);
58304
+ var SQRT5 = Math.sqrt(5);
58305
+ var INV_SQRT5 = Math.sqrt(0.2);
58306
+ var sinAlpha = Math.sqrt((1 - INV_SQRT5) / 2);
58307
+ var cosAlpha = Math.sqrt((1 + INV_SQRT5) / 2);
58308
+ var A2 = 0.5;
58309
+ var B2 = Math.sqrt((2.5 - SQRT5) / 10);
58310
+ var C2 = Math.sqrt((2.5 + SQRT5) / 10);
58311
+ var D2 = Math.sqrt((1 + INV_SQRT5) / 8);
58312
+ var E2 = Math.sqrt((1 - INV_SQRT5) / 8);
58313
+ var F2 = Math.sqrt((3 - SQRT5) / 8);
58314
+ var G2 = Math.sqrt((3 + SQRT5) / 8);
58315
+ var faceCenters = [
58316
+ [0, 0],
58317
+ // Doesn't actually matter as rotation is 0
58318
+ // First ring: five vertices, CCW, multiplied by sinAlpha
58319
+ [sinAlpha, 0],
58320
+ // [cos0, sin0]
58321
+ [B2, A2],
58322
+ // [cos72, sin72]
58323
+ [-D2, F2],
58324
+ // [-cos36, sin36]
58325
+ [-D2, -F2],
58326
+ // [-cos36, -sin36]
58327
+ [B2, -A2],
58328
+ // [cos72, -sin72]
58329
+ // Second ring: the same five vertices but negated (180deg rotation), multiplied by cosAlpha
58330
+ [-cosAlpha, 0],
58331
+ // [-cos0, -sin0]
58332
+ [-E2, -G2],
58333
+ // [-cos72, -sin72]
58334
+ [C2, -A2],
58335
+ // [cos36, -sin36]
58336
+ [C2, A2],
58337
+ // [cos36, sin36]
58338
+ [-E2, G2],
58339
+ // [-cos72, sin72]
58340
+ [0, 0]
58341
+ ];
58342
+ var axes = faceCenters.map(([x4, y5]) => [-y5, x4]);
58343
+ var quaternions = axes.map((axis, i7) => {
58344
+ if (i7 === 0)
58345
+ return [0, 0, 0, 1];
58346
+ if (i7 === 11)
58347
+ return [0, -1, 0, 0];
58348
+ return [...axis, 0, i7 < 6 ? cosAlpha : sinAlpha];
58349
+ });
58350
+ common_exports2.setMatrixArrayType(Float64Array);
58301
58351
  var clockwiseFan = ["vu", "uw", "vw", "vw", "vw"];
58302
58352
  var clockwiseStep = ["wu", "uw", "vw", "vu", "uw"];
58303
58353
  var counterStep = ["wu", "uv", "wv", "wu", "uw"];
@@ -58332,24 +58382,27 @@ void main(void) {
58332
58382
  var ORIGIN_ORDER = [0, 1, 2, 4, 3, 5, 7, 8, 6, 11, 10, 9];
58333
58383
  var origins = [];
58334
58384
  function generateOrigins() {
58335
- addOrigin([0, 0], 0);
58385
+ addOrigin([0, 0], 0, quaternions[0]);
58336
58386
  for (let i7 = 0; i7 < 5; i7++) {
58337
58387
  const alpha = i7 * TWO_PI_OVER_5;
58338
58388
  const alpha2 = alpha + PI_OVER_5;
58339
- addOrigin([alpha, interhedralAngle], PI_OVER_5);
58340
- addOrigin([alpha2, Math.PI - interhedralAngle], PI_OVER_5);
58389
+ addOrigin([alpha, interhedralAngle], PI_OVER_5, quaternions[i7 + 1]);
58390
+ addOrigin([alpha2, Math.PI - interhedralAngle], PI_OVER_5, quaternions[(i7 + 3) % 5 + 6]);
58341
58391
  }
58342
- addOrigin([0, Math.PI], 0);
58392
+ addOrigin([0, Math.PI], 0, quaternions[11]);
58343
58393
  }
58344
58394
  var originId = 0;
58345
- function addOrigin(axis, angle32) {
58395
+ function addOrigin(axis, angle32, quaternion) {
58346
58396
  if (originId > 11) {
58347
58397
  throw new Error(`Too many origins: ${originId}`);
58348
58398
  }
58399
+ const inverseQuat = quat_exports.create();
58400
+ quat_exports.conjugate(inverseQuat, quaternion);
58349
58401
  const origin = {
58350
58402
  id: originId,
58351
58403
  axis,
58352
- quat: quatFromSpherical(axis),
58404
+ quat: quaternion,
58405
+ inverseQuat,
58353
58406
  angle: angle32,
58354
58407
  orientation: QUINTANT_ORIENTATIONS[originId],
58355
58408
  firstQuintant: QUINTANT_FIRST[originId]
@@ -58390,39 +58443,39 @@ void main(void) {
58390
58443
  var crossCD = vec3_exports2.create();
58391
58444
  var scaledA = vec3_exports2.create();
58392
58445
  var scaledB = vec3_exports2.create();
58393
- function vectorDifference(A4, B4) {
58394
- vec3_exports2.lerp(midpointAB, A4, B4, 0.5);
58446
+ function vectorDifference(A22, B22) {
58447
+ vec3_exports2.lerp(midpointAB, A22, B22, 0.5);
58395
58448
  vec3_exports2.normalize(midpointAB, midpointAB);
58396
- vec3_exports2.cross(midpointAB, A4, midpointAB);
58397
- const D3 = vec3_exports2.length(midpointAB);
58398
- if (D3 < 1e-8) {
58399
- const AB = vec3_exports2.subtract(vec3_exports2.create(), A4, B4);
58449
+ vec3_exports2.cross(midpointAB, A22, midpointAB);
58450
+ const D22 = vec3_exports2.length(midpointAB);
58451
+ if (D22 < 1e-8) {
58452
+ const AB = vec3_exports2.subtract(vec3_exports2.create(), A22, B22);
58400
58453
  const halfDistance = 0.5 * vec3_exports2.length(AB);
58401
58454
  return halfDistance;
58402
58455
  }
58403
- return D3;
58456
+ return D22;
58404
58457
  }
58405
- function tripleProduct(A4, B4, C4) {
58406
- vec3_exports2.cross(crossCD, B4, C4);
58407
- return vec3_exports2.dot(A4, crossCD);
58458
+ function tripleProduct(A22, B22, C22) {
58459
+ vec3_exports2.cross(crossCD, B22, C22);
58460
+ return vec3_exports2.dot(A22, crossCD);
58408
58461
  }
58409
- function quadrupleProduct(out, A4, B4, C4, D3) {
58410
- vec3_exports2.cross(crossCD, C4, D3);
58411
- const tripleProductACD = vec3_exports2.dot(A4, crossCD);
58412
- const tripleProductBCD = vec3_exports2.dot(B4, crossCD);
58413
- vec3_exports2.scale(scaledA, A4, tripleProductBCD);
58414
- vec3_exports2.scale(scaledB, B4, tripleProductACD);
58462
+ function quadrupleProduct(out, A22, B22, C22, D22) {
58463
+ vec3_exports2.cross(crossCD, C22, D22);
58464
+ const tripleProductACD = vec3_exports2.dot(A22, crossCD);
58465
+ const tripleProductBCD = vec3_exports2.dot(B22, crossCD);
58466
+ vec3_exports2.scale(scaledA, A22, tripleProductBCD);
58467
+ vec3_exports2.scale(scaledB, B22, tripleProductACD);
58415
58468
  return vec3_exports2.sub(out, scaledB, scaledA);
58416
58469
  }
58417
- function slerp22(out, A4, B4, t5) {
58418
- const gamma = vec3_exports2.angle(A4, B4);
58470
+ function slerp22(out, A22, B22, t5) {
58471
+ const gamma = vec3_exports2.angle(A22, B22);
58419
58472
  if (gamma < 1e-12) {
58420
- return vec3_exports2.lerp(out, A4, B4, t5);
58473
+ return vec3_exports2.lerp(out, A22, B22, t5);
58421
58474
  }
58422
58475
  const weightA = Math.sin((1 - t5) * gamma) / Math.sin(gamma);
58423
58476
  const weightB = Math.sin(t5 * gamma) / Math.sin(gamma);
58424
- const scaledA2 = vec3_exports2.scale(vec3_exports2.create(), A4, weightA);
58425
- const scaledB2 = vec3_exports2.scale(vec3_exports2.create(), B4, weightB);
58477
+ const scaledA2 = vec3_exports2.scale(vec3_exports2.create(), A22, weightA);
58478
+ const scaledB2 = vec3_exports2.scale(vec3_exports2.create(), B22, weightB);
58426
58479
  return vec3_exports2.add(out, scaledA2, scaledB2);
58427
58480
  }
58428
58481
  common_exports2.setMatrixArrayType(Float64Array);
@@ -58589,19 +58642,19 @@ void main(void) {
58589
58642
  * @returns The face coordinates
58590
58643
  */
58591
58644
  forward(v22, sphericalTriangle, faceTriangle) {
58592
- const [A4, B4, C4] = sphericalTriangle;
58593
- const triangleShape = new SphericalTriangleShape([A4, B4, C4]);
58594
- const Z2 = vec3_exports2.subtract(vec3_exports2.create(), v22, A4);
58645
+ const [A22, B22, C22] = sphericalTriangle;
58646
+ const triangleShape = new SphericalTriangleShape([A22, B22, C22]);
58647
+ const Z2 = vec3_exports2.subtract(vec3_exports2.create(), v22, A22);
58595
58648
  vec3_exports2.normalize(Z2, Z2);
58596
- const p5 = quadrupleProduct(vec3_exports2.create(), A4, Z2, B4, C4);
58649
+ const p5 = quadrupleProduct(vec3_exports2.create(), A22, Z2, B22, C22);
58597
58650
  vec3_exports2.normalize(p5, p5);
58598
- const h5 = vectorDifference(A4, v22) / vectorDifference(A4, p5);
58651
+ const h5 = vectorDifference(A22, v22) / vectorDifference(A22, p5);
58599
58652
  const Area_ABC = triangleShape.getArea();
58600
58653
  const scaledArea = h5 / Area_ABC;
58601
58654
  const b22 = [
58602
58655
  1 - h5,
58603
- scaledArea * new SphericalTriangleShape([A4, p5, C4]).getArea(),
58604
- scaledArea * new SphericalTriangleShape([A4, B4, p5]).getArea()
58656
+ scaledArea * new SphericalTriangleShape([A22, p5, C22]).getArea(),
58657
+ scaledArea * new SphericalTriangleShape([A22, B22, p5]).getArea()
58605
58658
  ];
58606
58659
  return barycentricToFace(b22, faceTriangle);
58607
58660
  }
@@ -58613,18 +58666,18 @@ void main(void) {
58613
58666
  * @returns The spherical coordinates
58614
58667
  */
58615
58668
  inverse(facePoint, faceTriangle, sphericalTriangle) {
58616
- const [A4, B4, C4] = sphericalTriangle;
58617
- const triangleShape = new SphericalTriangleShape([A4, B4, C4]);
58669
+ const [A22, B22, C22] = sphericalTriangle;
58670
+ const triangleShape = new SphericalTriangleShape([A22, B22, C22]);
58618
58671
  const b22 = faceToBarycentric(facePoint, faceTriangle);
58619
58672
  const threshold2 = 1 - 1e-14;
58620
58673
  if (b22[0] > threshold2)
58621
- return A4;
58674
+ return A22;
58622
58675
  if (b22[1] > threshold2)
58623
- return B4;
58676
+ return B22;
58624
58677
  if (b22[2] > threshold2)
58625
- return C4;
58678
+ return C22;
58626
58679
  const c1 = vec3_exports2.create();
58627
- vec3_exports2.cross(c1, B4, C4);
58680
+ vec3_exports2.cross(c1, B22, C22);
58628
58681
  const Area_ABC = triangleShape.getArea();
58629
58682
  const h5 = 1 - b22[0];
58630
58683
  const R2 = b22[2] / h5;
@@ -58632,18 +58685,18 @@ void main(void) {
58632
58685
  const S3 = Math.sin(alpha);
58633
58686
  const halfC = Math.sin(alpha / 2);
58634
58687
  const CC = 2 * halfC * halfC;
58635
- const c01 = vec3_exports2.dot(A4, B4);
58636
- const c12 = vec3_exports2.dot(B4, C4);
58637
- const c20 = vec3_exports2.dot(C4, A4);
58688
+ const c01 = vec3_exports2.dot(A22, B22);
58689
+ const c12 = vec3_exports2.dot(B22, C22);
58690
+ const c20 = vec3_exports2.dot(C22, A22);
58638
58691
  const s12 = vec3_exports2.length(c1);
58639
- const V22 = vec3_exports2.dot(A4, c1);
58692
+ const V22 = vec3_exports2.dot(A22, c1);
58640
58693
  const f6 = S3 * V22 + CC * (c01 * c12 - c20);
58641
58694
  const g3 = CC * s12 * (1 + c01);
58642
58695
  const q3 = 2 / Math.acos(c12) * Math.atan2(g3, f6);
58643
- const P3 = slerp22(vec3_exports2.create(), B4, C4, q3);
58644
- const K2 = vectorDifference(A4, P3);
58696
+ const P3 = slerp22(vec3_exports2.create(), B22, C22, q3);
58697
+ const K2 = vectorDifference(A22, P3);
58645
58698
  const t5 = this.safeAcos(h5 * K2) / this.safeAcos(K2);
58646
- const out = slerp22([0, 0, 0], A4, P3, t5);
58699
+ const out = slerp22([0, 0, 0], A22, P3, t5);
58647
58700
  return out;
58648
58701
  }
58649
58702
  /**
@@ -58715,10 +58768,10 @@ void main(void) {
58715
58768
  return;
58716
58769
  const parentK = digits[i7] || 0;
58717
58770
  const childK = digits[i7 - 1];
58718
- const F3 = flips[0] + flips[1];
58771
+ const F22 = flips[0] + flips[1];
58719
58772
  let needsShift = true;
58720
58773
  let first = true;
58721
- if (invertJ !== (F3 === 0)) {
58774
+ if (invertJ !== (F22 === 0)) {
58722
58775
  needsShift = parentK === 1 || parentK === 2;
58723
58776
  first = parentK === 1;
58724
58777
  } else {
@@ -58800,11 +58853,11 @@ void main(void) {
58800
58853
  pentagon.rotate180();
58801
58854
  }
58802
58855
  const { k: k4 } = anchor;
58803
- const F3 = anchor.flips[0] + anchor.flips[1];
58856
+ const F22 = anchor.flips[0] + anchor.flips[1];
58804
58857
  if (
58805
58858
  // Orient last two pentagons when both or neither flips are YES
58806
- (F3 === -2 || F3 === 2) && k4 > 1 || // Orient first & last pentagons when only one of flips is YES
58807
- F3 === 0 && (k4 === 0 || k4 === 3)
58859
+ (F22 === -2 || F22 === 2) && k4 > 1 || // Orient first & last pentagons when only one of flips is YES
58860
+ F22 === 0 && (k4 === 0 || k4 === 3)
58808
58861
  ) {
58809
58862
  pentagon.reflectY();
58810
58863
  }
@@ -58911,16 +58964,15 @@ void main(void) {
58911
58964
  forward(spherical, originId2) {
58912
58965
  const origin = origins[originId2];
58913
58966
  const unprojected = toCartesian(spherical);
58914
- const inverseQuat = quat_exports.create();
58915
- quat_exports.invert(inverseQuat, origin.quat);
58916
58967
  const out = vec3_exports2.create();
58917
- vec3_exports2.transformQuat(out, unprojected, inverseQuat);
58968
+ vec3_exports2.transformQuat(out, unprojected, origin.inverseQuat);
58918
58969
  const projectedSpherical = toSpherical(out);
58919
58970
  const polar = this.gnomonic.forward(projectedSpherical);
58920
58971
  polar[1] = polar[1] - origin.angle;
58921
58972
  const faceTriangleIndex = this.getFaceTriangleIndex(polar);
58922
- let faceTriangle = this.getFaceTriangle(faceTriangleIndex);
58923
- let sphericalTriangle = this.getSphericalTriangle(faceTriangleIndex, originId2, false);
58973
+ const reflect = this.shouldReflect(polar);
58974
+ let faceTriangle = this.getFaceTriangle(faceTriangleIndex, reflect, false);
58975
+ let sphericalTriangle = this.getSphericalTriangle(faceTriangleIndex, originId2, reflect);
58924
58976
  return this.polyhedral.forward(unprojected, sphericalTriangle, faceTriangle);
58925
58977
  }
58926
58978
  /**
@@ -58932,14 +58984,26 @@ void main(void) {
58932
58984
  inverse(face, originId2) {
58933
58985
  const polar = toPolar(face);
58934
58986
  const faceTriangleIndex = this.getFaceTriangleIndex(polar);
58935
- const [rho, gamma] = polar;
58936
- const D3 = toFace([rho, this.normalizeGamma(gamma)])[0];
58937
- const reflect = D3 > distanceToEdge;
58987
+ const reflect = this.shouldReflect(polar);
58938
58988
  const faceTriangle = this.getFaceTriangle(faceTriangleIndex, reflect, false);
58939
- let sphericalTriangle = this.getSphericalTriangle(faceTriangleIndex, originId2, reflect);
58989
+ const sphericalTriangle = this.getSphericalTriangle(faceTriangleIndex, originId2, reflect);
58940
58990
  const unprojected = this.polyhedral.inverse(face, faceTriangle, sphericalTriangle);
58941
58991
  return toSpherical(unprojected);
58942
58992
  }
58993
+ /**
58994
+ * Detects when point is beyond the edge of the dodecahedron face
58995
+ * In the standard case (reflect = false), the face and spherical triangle can be
58996
+ * used directly.
58997
+ * In the reflected case (reflect = true), the point is beyond the edge of the dodecahedron face,
58998
+ * and so the face triangle is squashed to unproject correctly onto the neighboring dodecahedron face.
58999
+ * @param polar Polar coordinates
59000
+ * @returns True if point is beyond the edge of the dodecahedron face
59001
+ */
59002
+ shouldReflect(polar) {
59003
+ const [rho, gamma] = polar;
59004
+ const D22 = toFace([rho, this.normalizeGamma(gamma)])[0];
59005
+ return D22 > distanceToEdge;
59006
+ }
58943
59007
  /**
58944
59008
  * Given a polar coordinate, returns the index of the face triangle it belongs to
58945
59009
  * @param polar Polar coordinates
@@ -58974,12 +59038,12 @@ void main(void) {
58974
59038
  return even ? [vCenter, vEdgeMidpoint, vCorner1] : [vCenter, vCorner2, vEdgeMidpoint];
58975
59039
  }
58976
59040
  _getReflectedFaceTriangle(faceTriangleIndex, squashed = false) {
58977
- let [A4, B4, C4] = this._getFaceTriangle(faceTriangleIndex).map((face) => vec2_exports2.clone(face));
59041
+ let [A22, B22, C22] = this._getFaceTriangle(faceTriangleIndex).map((face) => vec2_exports2.clone(face));
58978
59042
  const even = faceTriangleIndex % 2 === 0;
58979
- vec2_exports2.negate(A4, A4);
58980
- const midpoint = even ? B4 : C4;
58981
- vec2_exports2.scaleAndAdd(A4, A4, midpoint, squashed ? 1 + 1 / Math.cos(interhedralAngle) : 2);
58982
- return [A4, C4, B4];
59043
+ vec2_exports2.negate(A22, A22);
59044
+ const midpoint = even ? B22 : C22;
59045
+ vec2_exports2.scaleAndAdd(A22, A22, midpoint, squashed ? 1 + 1 / Math.cos(interhedralAngle) : 2);
59046
+ return [A22, C22, B22];
58983
59047
  }
58984
59048
  /**
58985
59049
  * Gets the spherical triangle for a given face triangle index and origin
@@ -59097,7 +59161,7 @@ void main(void) {
59097
59161
  normalizedBoundary.reverse();
59098
59162
  return normalizedBoundary;
59099
59163
  }
59100
- function hexToBigInt(hex) {
59164
+ function hexToU64(hex) {
59101
59165
  return BigInt(`0x${hex}`);
59102
59166
  }
59103
59167
  var AUTHALIC_RADIUS = 63710072e-1;
@@ -59166,7 +59230,7 @@ void main(void) {
59166
59230
  getPolygon: (x4, objectInfo) => {
59167
59231
  const pentagon = getPentagon(x4, objectInfo);
59168
59232
  const boundary = cellToBoundary(
59169
- typeof pentagon === "string" ? hexToBigInt(pentagon) : pentagon,
59233
+ typeof pentagon === "string" ? hexToU64(pentagon) : pentagon,
59170
59234
  { closedRing: true, segments: "auto" }
59171
59235
  );
59172
59236
  return flattenPolygon(boundary);
@@ -61944,7 +62008,7 @@ void main(void) {
61944
62008
  return this._frameNumber;
61945
62009
  }
61946
62010
  // eslint-disable-next-line complexity
61947
- isTileVisible(tile, cullRect) {
62011
+ isTileVisible(tile, cullRect, modelMatrix2) {
61948
62012
  if (!tile.isVisible) {
61949
62013
  return false;
61950
62014
  }
@@ -61954,12 +62018,19 @@ void main(void) {
61954
62018
  z: this._zRange,
61955
62019
  cullRect
61956
62020
  });
61957
- const { bbox } = tile;
62021
+ let { bbox } = tile;
61958
62022
  for (const [minX, minY, maxX, maxY] of boundsArr) {
61959
62023
  let overlaps;
61960
62024
  if ("west" in bbox) {
61961
62025
  overlaps = bbox.west < maxX && bbox.east > minX && bbox.south < maxY && bbox.north > minY;
61962
62026
  } else {
62027
+ if (modelMatrix2 && !Matrix4.IDENTITY.equals(modelMatrix2)) {
62028
+ const [left, top, right, bottom] = transformBox(
62029
+ [bbox.left, bbox.top, bbox.right, bbox.bottom],
62030
+ modelMatrix2
62031
+ );
62032
+ bbox = { left, top, right, bottom };
62033
+ }
61963
62034
  const y0 = Math.min(bbox.top, bbox.bottom);
61964
62035
  const y1 = Math.max(bbox.top, bbox.bottom);
61965
62036
  overlaps = bbox.left < maxX && bbox.right > minX && y0 < maxY && y1 > minY;
@@ -62389,7 +62460,12 @@ void main(void) {
62389
62460
  }
62390
62461
  filterSubLayer({ layer, cullRect }) {
62391
62462
  const { tile } = layer.props;
62392
- return this.state.tileset.isTileVisible(tile, cullRect);
62463
+ const { modelMatrix: modelMatrix2 } = this.props;
62464
+ return this.state.tileset.isTileVisible(
62465
+ tile,
62466
+ cullRect,
62467
+ modelMatrix2 ? new Matrix4(modelMatrix2) : null
62468
+ );
62393
62469
  }
62394
62470
  };
62395
62471
  TileLayer.defaultProps = defaultProps24;
@@ -89182,16 +89258,16 @@ void main(void) {
89182
89258
  const region = getS2Region(s2cell);
89183
89259
  const W3 = region.west;
89184
89260
  const S3 = region.south;
89185
- const E2 = region.east;
89261
+ const E3 = region.east;
89186
89262
  const N3 = region.north;
89187
89263
  const points = [];
89188
89264
  points.push(new Vector37(W3, N3, min7));
89189
- points.push(new Vector37(E2, N3, min7));
89190
- points.push(new Vector37(E2, S3, min7));
89265
+ points.push(new Vector37(E3, N3, min7));
89266
+ points.push(new Vector37(E3, S3, min7));
89191
89267
  points.push(new Vector37(W3, S3, min7));
89192
89268
  points.push(new Vector37(W3, N3, max7));
89193
- points.push(new Vector37(E2, N3, max7));
89194
- points.push(new Vector37(E2, S3, max7));
89269
+ points.push(new Vector37(E3, N3, max7));
89270
+ points.push(new Vector37(E3, S3, max7));
89195
89271
  points.push(new Vector37(W3, S3, max7));
89196
89272
  return points;
89197
89273
  }
@@ -100947,6 +101023,10 @@ void main() {
100947
101023
  if (changeFlags.dataChanged || changeFlags.boundsChanged) {
100948
101024
  clearTimeout(this.state.updateTimer);
100949
101025
  this.setState({ isWeightMapDirty: true });
101026
+ if (changeFlags.dataChanged) {
101027
+ const weightsTransformShaders = this.getShaders({ vs: weights_vs_glsl_default, fs: weights_fs_glsl_default });
101028
+ this._createWeightsTransform(weightsTransformShaders);
101029
+ }
100950
101030
  } else if (changeFlags.viewportZoomChanged) {
100951
101031
  this._debouncedUpdateWeightmap();
100952
101032
  }
@@ -101204,17 +101284,13 @@ void main() {
101204
101284
  const { colorRange } = opts.props;
101205
101285
  let { colorTexture } = this.state;
101206
101286
  const colors = colorRangeToFlatArray(colorRange, false, Uint8Array);
101207
- if (colorTexture && colorTexture?.width === colorRange.length) {
101208
- colorTexture.setTexture2DData({ data: colors });
101209
- } else {
101210
- colorTexture?.destroy();
101211
- colorTexture = this.context.device.createTexture({
101212
- ...TEXTURE_PROPS,
101213
- data: colors,
101214
- width: colorRange.length,
101215
- height: 1
101216
- });
101217
- }
101287
+ colorTexture?.destroy();
101288
+ colorTexture = this.context.device.createTexture({
101289
+ ...TEXTURE_PROPS,
101290
+ data: colors,
101291
+ width: colorRange.length,
101292
+ height: 1
101293
+ });
101218
101294
  this.setState({ colorTexture });
101219
101295
  }
101220
101296
  _updateWeightmap() {
@@ -102383,7 +102459,7 @@ void main() {
102383
102459
  return u6.__e;
102384
102460
  return "function" == typeof n4.type ? x3(n4) : null;
102385
102461
  }
102386
- function C2(n4) {
102462
+ function C3(n4) {
102387
102463
  var l5, u6;
102388
102464
  if (null != (n4 = n4.__) && null != n4.__c) {
102389
102465
  for (n4.__e = n4.__c.base = null, l5 = 0; l5 < n4.__k.length; l5++)
@@ -102391,7 +102467,7 @@ void main() {
102391
102467
  n4.__e = n4.__c.base = u6.__e;
102392
102468
  break;
102393
102469
  }
102394
- return C2(n4);
102470
+ return C3(n4);
102395
102471
  }
102396
102472
  }
102397
102473
  function M2(n4) {
@@ -102400,7 +102476,7 @@ void main() {
102400
102476
  function P2() {
102401
102477
  var n4, u6, t5, o5, r5, e6, c5, s5;
102402
102478
  for (i4.sort(f3); n4 = i4.shift(); )
102403
- n4.__d && (u6 = i4.length, o5 = void 0, e6 = (r5 = (t5 = n4).__v).__e, c5 = [], s5 = [], t5.__P && ((o5 = d3({}, r5)).__v = r5.__v + 1, l3.vnode && l3.vnode(o5), O2(t5.__P, o5, r5, t5.__n, t5.__P.namespaceURI, 32 & r5.__u ? [e6] : null, c5, null == e6 ? x3(r5) : e6, !!(32 & r5.__u), s5), o5.__v = r5.__v, o5.__.__k[o5.__i] = o5, j2(c5, o5, s5), o5.__e != e6 && C2(o5)), i4.length > u6 && i4.sort(f3));
102479
+ n4.__d && (u6 = i4.length, o5 = void 0, e6 = (r5 = (t5 = n4).__v).__e, c5 = [], s5 = [], t5.__P && ((o5 = d3({}, r5)).__v = r5.__v + 1, l3.vnode && l3.vnode(o5), O2(t5.__P, o5, r5, t5.__n, t5.__P.namespaceURI, 32 & r5.__u ? [e6] : null, c5, null == e6 ? x3(r5) : e6, !!(32 & r5.__u), s5), o5.__v = r5.__v, o5.__.__k[o5.__i] = o5, j2(c5, o5, s5), o5.__e != e6 && C3(o5)), i4.length > u6 && i4.sort(f3));
102404
102480
  P2.__r = 0;
102405
102481
  }
102406
102482
  function S2(n4, l5, u6, t5, i7, o5, r5, f6, e6, c5, s5) {
@@ -102452,7 +102528,7 @@ void main() {
102452
102528
  function T2(n4, l5, u6) {
102453
102529
  "-" === l5[0] ? n4.setProperty(l5, null == u6 ? "" : u6) : n4[l5] = null == u6 ? "" : "number" != typeof u6 || v3.test(l5) ? u6 : u6 + "px";
102454
102530
  }
102455
- function A2(n4, l5, u6, t5, i7) {
102531
+ function A3(n4, l5, u6, t5, i7) {
102456
102532
  var o5;
102457
102533
  n:
102458
102534
  if ("style" === l5)
@@ -102480,7 +102556,7 @@ void main() {
102480
102556
  "function" == typeof u6 || (null == u6 || false === u6 && "-" !== l5[4] ? n4.removeAttribute(l5) : n4.setAttribute(l5, "popover" == l5 && 1 == u6 ? "" : u6));
102481
102557
  }
102482
102558
  }
102483
- function F2(n4) {
102559
+ function F3(n4) {
102484
102560
  return function(u6) {
102485
102561
  if (this.l) {
102486
102562
  var t5 = this.l[u6.type + n4];
@@ -102493,14 +102569,14 @@ void main() {
102493
102569
  };
102494
102570
  }
102495
102571
  function O2(n4, u6, t5, i7, o5, r5, f6, e6, c5, s5) {
102496
- var a6, h5, p5, v5, w5, _3, g3, m3, x4, C4, M3, P3, $3, I3, H2, L4, T4 = u6.type;
102572
+ var a6, h5, p5, v5, w5, _3, g3, m3, x4, C5, M3, P3, $3, I3, H2, L4, T4 = u6.type;
102497
102573
  if (void 0 !== u6.constructor)
102498
102574
  return null;
102499
102575
  128 & t5.__u && (c5 = !!(32 & t5.__u), r5 = [e6 = u6.__e = t5.__e]), (a6 = l3.__b) && a6(u6);
102500
102576
  n:
102501
102577
  if ("function" == typeof T4)
102502
102578
  try {
102503
- if (m3 = u6.props, x4 = "prototype" in T4 && T4.prototype.render, C4 = (a6 = T4.contextType) && i7[a6.__c], M3 = a6 ? C4 ? C4.props.value : a6.__ : i7, t5.__c ? g3 = (h5 = u6.__c = t5.__c).__ = h5.__E : (x4 ? u6.__c = h5 = new T4(m3, M3) : (u6.__c = h5 = new b3(m3, M3), h5.constructor = T4, h5.render = q2), C4 && C4.sub(h5), h5.props = m3, h5.state || (h5.state = {}), h5.context = M3, h5.__n = i7, p5 = h5.__d = true, h5.__h = [], h5._sb = []), x4 && null == h5.__s && (h5.__s = h5.state), x4 && null != T4.getDerivedStateFromProps && (h5.__s == h5.state && (h5.__s = d3({}, h5.__s)), d3(h5.__s, T4.getDerivedStateFromProps(m3, h5.__s))), v5 = h5.props, w5 = h5.state, h5.__v = u6, p5)
102579
+ if (m3 = u6.props, x4 = "prototype" in T4 && T4.prototype.render, C5 = (a6 = T4.contextType) && i7[a6.__c], M3 = a6 ? C5 ? C5.props.value : a6.__ : i7, t5.__c ? g3 = (h5 = u6.__c = t5.__c).__ = h5.__E : (x4 ? u6.__c = h5 = new T4(m3, M3) : (u6.__c = h5 = new b3(m3, M3), h5.constructor = T4, h5.render = q2), C5 && C5.sub(h5), h5.props = m3, h5.state || (h5.state = {}), h5.context = M3, h5.__n = i7, p5 = h5.__d = true, h5.__h = [], h5._sb = []), x4 && null == h5.__s && (h5.__s = h5.state), x4 && null != T4.getDerivedStateFromProps && (h5.__s == h5.state && (h5.__s = d3({}, h5.__s)), d3(h5.__s, T4.getDerivedStateFromProps(m3, h5.__s))), v5 = h5.props, w5 = h5.state, h5.__v = u6, p5)
102504
102580
  x4 && null == T4.getDerivedStateFromProps && null != h5.componentWillMount && h5.componentWillMount(), x4 && null != h5.componentDidMount && h5.__h.push(h5.componentDidMount);
102505
102581
  else {
102506
102582
  if (x4 && null == T4.getDerivedStateFromProps && m3 !== v5 && null != h5.componentWillReceiveProps && h5.componentWillReceiveProps(m3, M3), !h5.__e && (null != h5.shouldComponentUpdate && false === h5.shouldComponentUpdate(m3, h5.__s, M3) || u6.__v === t5.__v)) {
@@ -102579,16 +102655,16 @@ void main() {
102579
102655
  else if ("key" !== s5 && !(s5 in k4)) {
102580
102656
  if ("value" == s5 && "defaultValue" in k4 || "checked" == s5 && "defaultChecked" in k4)
102581
102657
  continue;
102582
- A2(l5, s5, null, d5, o5);
102658
+ A3(l5, s5, null, d5, o5);
102583
102659
  }
102584
102660
  for (s5 in k4)
102585
- d5 = k4[s5], "children" == s5 ? v5 = d5 : "dangerouslySetInnerHTML" == s5 ? a6 = d5 : "value" == s5 ? _3 = d5 : "checked" == s5 ? g3 = d5 : "key" === s5 || e6 && "function" != typeof d5 || m3[s5] === d5 || A2(l5, s5, d5, m3[s5], o5);
102661
+ d5 = k4[s5], "children" == s5 ? v5 = d5 : "dangerouslySetInnerHTML" == s5 ? a6 = d5 : "value" == s5 ? _3 = d5 : "checked" == s5 ? g3 = d5 : "key" === s5 || e6 && "function" != typeof d5 || m3[s5] === d5 || A3(l5, s5, d5, m3[s5], o5);
102586
102662
  if (a6)
102587
102663
  e6 || p5 && (a6.__html === p5.__html || a6.__html === l5.innerHTML) || (l5.innerHTML = a6.__html), u6.__k = [];
102588
102664
  else if (p5 && (l5.innerHTML = ""), S2(l5, y3(v5) ? v5 : [v5], u6, t5, i7, "foreignObject" === b4 ? "http://www.w3.org/1999/xhtml" : o5, r5, f6, r5 ? r5[0] : t5.__k && x3(t5, 0), e6, c5), null != r5)
102589
102665
  for (s5 = r5.length; s5--; )
102590
102666
  null != r5[s5] && w3(r5[s5]);
102591
- e6 || (s5 = "value", void 0 !== _3 && (_3 !== l5[s5] || "progress" === b4 && !_3 || "option" === b4 && _3 !== m3[s5]) && A2(l5, s5, _3, m3[s5], o5), s5 = "checked", void 0 !== g3 && g3 !== l5[s5] && A2(l5, s5, g3, m3[s5], o5));
102667
+ e6 || (s5 = "value", void 0 !== _3 && (_3 !== l5[s5] || "progress" === b4 && !_3 || "option" === b4 && _3 !== m3[s5]) && A3(l5, s5, _3, m3[s5], o5), s5 = "checked", void 0 !== g3 && g3 !== l5[s5] && A3(l5, s5, g3, m3[s5], o5));
102592
102668
  }
102593
102669
  return l5;
102594
102670
  }
@@ -102622,7 +102698,7 @@ void main() {
102622
102698
  function q2(n4, l5, u6) {
102623
102699
  return this.constructor(n4, u6);
102624
102700
  }
102625
- function B2(u6, t5, i7) {
102701
+ function B3(u6, t5, i7) {
102626
102702
  var o5, r5, f6, e6;
102627
102703
  l3.__ && l3.__(u6, t5), r5 = (o5 = "function" == typeof i7) ? null : i7 && i7.__k || t5.__k, f6 = [], e6 = [], O2(t5, u6 = (!o5 && i7 || t5).__k = _2(k2, null, [u6]), r5 || h2, h2, t5.namespaceURI, !o5 && i7 ? [i7] : r5 ? null : t5.firstChild ? n3.call(t5.childNodes) : null, f6, !o5 && i7 ? i7 : r5 ? r5.__e : t5.firstChild, o5, e6), j2(f6, u6, e6);
102628
102704
  }
@@ -102645,7 +102721,7 @@ void main() {
102645
102721
  this.__v && (this.__e = true, n4 && this.__h.push(n4), M2(this));
102646
102722
  }, b3.prototype.render = k2, i4 = [], r3 = "function" == typeof Promise ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, f3 = function(n4, l5) {
102647
102723
  return n4.__v.__b - l5.__v.__b;
102648
- }, P2.__r = 0, e4 = 0, c3 = F2(false), s3 = F2(true), a4 = 0;
102724
+ }, P2.__r = 0, e4 = 0, c3 = F3(false), s3 = F3(true), a4 = 0;
102649
102725
 
102650
102726
  // ../../node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js
102651
102727
  var f4 = 0;
@@ -102719,7 +102795,7 @@ void main() {
102719
102795
  }
102720
102796
  )
102721
102797
  ] });
102722
- B2(ui, rootElement);
102798
+ B3(ui, rootElement);
102723
102799
  }
102724
102800
  onViewportChange(viewport) {
102725
102801
  this.viewports[viewport.id] = viewport;
@@ -102791,7 +102867,7 @@ void main() {
102791
102867
  super.setProps(props);
102792
102868
  }
102793
102869
  onRenderHTML(rootElement) {
102794
- B2(
102870
+ B3(
102795
102871
  /* @__PURE__ */ u4(
102796
102872
  IconButton,
102797
102873
  {
@@ -102876,7 +102952,7 @@ void main() {
102876
102952
  ] }) })
102877
102953
  }
102878
102954
  ) });
102879
- B2(ui, rootElement);
102955
+ B3(ui, rootElement);
102880
102956
  }
102881
102957
  onViewportChange(viewport) {
102882
102958
  if (!viewport.equals(this.viewports[viewport.id])) {
@@ -102997,7 +103073,7 @@ void main() {
102997
103073
  ]
102998
103074
  }
102999
103075
  ) });
103000
- B2(ui, rootElement);
103076
+ B3(ui, rootElement);
103001
103077
  }
103002
103078
  onViewportChange(viewport) {
103003
103079
  this.updateHTML();
@@ -103095,7 +103171,7 @@ void main() {
103095
103171
  const lineOffsetX = 50;
103096
103172
  const svgWidth = lineOffsetX + this.scaleWidth;
103097
103173
  const tickHeight = 10;
103098
- B2(
103174
+ B3(
103099
103175
  /* @__PURE__ */ u4(
103100
103176
  "svg",
103101
103177
  {
@@ -103236,11 +103312,11 @@ void main() {
103236
103312
  return n4 >= u6.__.length && u6.__.push({}), u6.__[n4];
103237
103313
  }
103238
103314
  function h3(n4) {
103239
- return o4 = 1, p4(D2, n4);
103315
+ return o4 = 1, p4(D3, n4);
103240
103316
  }
103241
103317
  function p4(n4, u6, i7) {
103242
103318
  var o5 = d4(t4++, 2);
103243
- if (o5.t = n4, !o5.__c && (o5.__ = [i7 ? i7(u6) : D2(void 0, u6), function(n5) {
103319
+ if (o5.t = n4, !o5.__c && (o5.__ = [i7 ? i7(u6) : D3(void 0, u6), function(n5) {
103244
103320
  var t5 = o5.__N ? o5.__N[0] : o5.__[0], r5 = o5.t(t5, n5);
103245
103321
  t5 !== r5 && (o5.__N = [r5, o5.__[1]], o5.__c.setState({}));
103246
103322
  }], o5.__c = r4, !r4.u)) {
@@ -103276,22 +103352,22 @@ void main() {
103276
103352
  }
103277
103353
  function y4(n4, u6) {
103278
103354
  var i7 = d4(t4++, 3);
103279
- !c4.__s && C3(i7.__H, u6) && (i7.__ = n4, i7.i = u6, r4.__H.__h.push(i7));
103355
+ !c4.__s && C4(i7.__H, u6) && (i7.__ = n4, i7.i = u6, r4.__H.__h.push(i7));
103280
103356
  }
103281
- function A3(n4) {
103357
+ function A4(n4) {
103282
103358
  return o4 = 5, T3(function() {
103283
103359
  return { current: n4 };
103284
103360
  }, []);
103285
103361
  }
103286
103362
  function T3(n4, r5) {
103287
103363
  var u6 = d4(t4++, 7);
103288
- return C3(u6.__H, r5) && (u6.__ = n4(), u6.__H = r5, u6.__h = n4), u6.__;
103364
+ return C4(u6.__H, r5) && (u6.__ = n4(), u6.__H = r5, u6.__h = n4), u6.__;
103289
103365
  }
103290
103366
  function j3() {
103291
103367
  for (var n4; n4 = f5.shift(); )
103292
103368
  if (n4.__P && n4.__H)
103293
103369
  try {
103294
- n4.__H.__h.forEach(z3), n4.__H.__h.forEach(B3), n4.__H.__h = [];
103370
+ n4.__H.__h.forEach(z3), n4.__H.__h.forEach(B4), n4.__H.__h = [];
103295
103371
  } catch (t5) {
103296
103372
  n4.__H.__h = [], c4.__e(t5, n4.__v);
103297
103373
  }
@@ -103305,7 +103381,7 @@ void main() {
103305
103381
  var i7 = (r4 = n4.__c).__H;
103306
103382
  i7 && (u5 === r4 ? (i7.__h = [], r4.__h = [], i7.__.forEach(function(n5) {
103307
103383
  n5.__N && (n5.__ = n5.__N), n5.i = n5.__N = void 0;
103308
- })) : (i7.__h.forEach(z3), i7.__h.forEach(B3), i7.__h = [], t4 = 0)), u5 = r4;
103384
+ })) : (i7.__h.forEach(z3), i7.__h.forEach(B4), i7.__h = [], t4 = 0)), u5 = r4;
103309
103385
  }, c4.diffed = function(n4) {
103310
103386
  v4 && v4(n4);
103311
103387
  var t5 = n4.__c;
@@ -103316,7 +103392,7 @@ void main() {
103316
103392
  t5.some(function(n5) {
103317
103393
  try {
103318
103394
  n5.__h.forEach(z3), n5.__h = n5.__h.filter(function(n6) {
103319
- return !n6.__ || B3(n6);
103395
+ return !n6.__ || B4(n6);
103320
103396
  });
103321
103397
  } catch (r5) {
103322
103398
  t5.some(function(n6) {
@@ -103346,23 +103422,23 @@ void main() {
103346
103422
  var t5 = r4, u6 = n4.__c;
103347
103423
  "function" == typeof u6 && (n4.__c = void 0, u6()), r4 = t5;
103348
103424
  }
103349
- function B3(n4) {
103425
+ function B4(n4) {
103350
103426
  var t5 = r4;
103351
103427
  n4.__c = n4.__(), r4 = t5;
103352
103428
  }
103353
- function C3(n4, t5) {
103429
+ function C4(n4, t5) {
103354
103430
  return !n4 || n4.length !== t5.length || t5.some(function(t6, r5) {
103355
103431
  return t6 !== n4[r5];
103356
103432
  });
103357
103433
  }
103358
- function D2(n4, t5) {
103434
+ function D3(n4, t5) {
103359
103435
  return "function" == typeof t5 ? t5(n4) : t5;
103360
103436
  }
103361
103437
 
103362
103438
  // ../widgets/src/lib/components/dropdown-menu.tsx
103363
103439
  var DropdownMenu = (props) => {
103364
103440
  const [isOpen, setIsOpen] = h3(false);
103365
- const dropdownRef = A3(null);
103441
+ const dropdownRef = A4(null);
103366
103442
  const toggleDropdown = () => setIsOpen(!isOpen);
103367
103443
  const handleClickOutside = (event) => {
103368
103444
  if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
@@ -103687,7 +103763,7 @@ void main() {
103687
103763
  }
103688
103764
  onRenderHTML(rootElement) {
103689
103765
  const menuItems = this.props._geolocation ? [CURRENT_LOCATION2, ...this.geocodeHistory.addressHistory] : [...this.geocodeHistory.addressHistory];
103690
- B2(
103766
+ B3(
103691
103767
  /* @__PURE__ */ u4(
103692
103768
  "div",
103693
103769
  {
@@ -103757,10 +103833,10 @@ void main() {
103757
103833
  var GeocoderWidget = _GeocoderWidget;
103758
103834
  GeocoderWidget.defaultProps = {
103759
103835
  ...Widget.defaultProps,
103760
- id: "geolocate",
103836
+ id: "geocoder",
103761
103837
  viewId: void 0,
103762
103838
  placement: "top-left",
103763
- label: "Geolocate",
103839
+ label: "Geocoder",
103764
103840
  transitionDuration: 200,
103765
103841
  geocoder: "coordinates",
103766
103842
  customGeocoder: CoordinatesGeocoder,
@@ -103803,7 +103879,7 @@ void main() {
103803
103879
  document.removeEventListener("fullscreenchange", this.onFullscreenChange.bind(this));
103804
103880
  }
103805
103881
  onRenderHTML(rootElement) {
103806
- B2(
103882
+ B3(
103807
103883
  /* @__PURE__ */ u4(
103808
103884
  IconButton,
103809
103885
  {
@@ -103880,7 +103956,7 @@ void main() {
103880
103956
  super.setProps(props);
103881
103957
  }
103882
103958
  onRenderHTML(rootElement) {
103883
- B2(
103959
+ B3(
103884
103960
  /* @__PURE__ */ u4(
103885
103961
  IconButton,
103886
103962
  {
@@ -103940,7 +104016,7 @@ void main() {
103940
104016
  super.setProps(props);
103941
104017
  }
103942
104018
  onRenderHTML(rootElement) {
103943
- B2(
104019
+ B3(
103944
104020
  // TODO(ibgreen) - this should not be a button, but styling is so nested that it is easier to reuse this component.
103945
104021
  this.loading && /* @__PURE__ */ u4(
103946
104022
  IconButton,
@@ -104106,7 +104182,7 @@ ${fps}`;
104106
104182
  }
104107
104183
  onRenderHTML(rootElement) {
104108
104184
  const { lightModeLabel, darkModeLabel } = this.props;
104109
- B2(
104185
+ B3(
104110
104186
  /* @__PURE__ */ u4(
104111
104187
  IconButton,
104112
104188
  {
@@ -104237,7 +104313,7 @@ ${fps}`;
104237
104313
  ),
104238
104314
  /* @__PURE__ */ u4("div", { className: "popup-arrow", style: { position: "absolute", width: "0px", height: "0px" } })
104239
104315
  ] }) : null;
104240
- B2(ui, rootElement);
104316
+ B3(ui, rootElement);
104241
104317
  requestAnimationFrame(() => {
104242
104318
  if (!this.props.visible || !rootElement.firstChild || !this.viewport)
104243
104319
  return;
@@ -104379,7 +104455,7 @@ ${fps}`;
104379
104455
  });
104380
104456
  });
104381
104457
  }
104382
- B2(
104458
+ B3(
104383
104459
  /* @__PURE__ */ u4("div", { className: "deck-widget-stats-container", style: { cursor: "default" }, children: [
104384
104460
  /* @__PURE__ */ u4(
104385
104461
  "div",
@@ -104514,7 +104590,7 @@ ${fps}`;
104514
104590
  style: { pointerEvents: "auto" }
104515
104591
  }
104516
104592
  ) : null;
104517
- B2(ui, rootElement);
104593
+ B3(ui, rootElement);
104518
104594
  }
104519
104595
  handleContextMenu(srcEvent) {
104520
104596
  if (srcEvent && (srcEvent.button === MOUSE_BUTTON_RIGHT || srcEvent.which === MOUSE_WHICH_RIGHT)) {
@@ -104542,6 +104618,7 @@ ${fps}`;
104542
104618
  var ContextMenuWidget = _ContextMenuWidget;
104543
104619
  ContextMenuWidget.defaultProps = {
104544
104620
  ...Widget.defaultProps,
104621
+ id: "context",
104545
104622
  viewId: null,
104546
104623
  visible: false,
104547
104624
  position: { x: 0, y: 0 },
@@ -104568,7 +104645,7 @@ ${fps}`;
104568
104645
  rootElement.style.width = "100%";
104569
104646
  rootElement.style.height = "100%";
104570
104647
  rootElement.style.margin = "0px";
104571
- B2(
104648
+ B3(
104572
104649
  /* @__PURE__ */ u4(
104573
104650
  Splitter,
104574
104651
  {
@@ -104606,8 +104683,8 @@ ${fps}`;
104606
104683
  onDragEnd
104607
104684
  }) {
104608
104685
  const [split, setSplit] = h3(initialSplit);
104609
- const dragging = A3(false);
104610
- const containerRef = A3(null);
104686
+ const dragging = A4(false);
104687
+ const containerRef = A4(null);
104611
104688
  const handleDragStart = (event) => {
104612
104689
  dragging.current = true;
104613
104690
  onDragStart?.();
@@ -104726,7 +104803,7 @@ ${fps}`;
104726
104803
  this.stop();
104727
104804
  }
104728
104805
  onRenderHTML(rootElement) {
104729
- B2(
104806
+ B3(
104730
104807
  /* @__PURE__ */ u4("div", { style: { display: "flex", alignItems: "center", pointerEvents: "auto" }, children: [
104731
104808
  /* @__PURE__ */ u4(
104732
104809
  "button",
@@ -104801,7 +104878,7 @@ ${fps}`;
104801
104878
  };
104802
104879
  function IconMenu(props) {
104803
104880
  const [menuOpen, setMenuOpen] = h3(false);
104804
- const containerRef = A3(null);
104881
+ const containerRef = A4(null);
104805
104882
  const handleClickOutside = (event) => {
104806
104883
  if (containerRef.current && !containerRef.current.contains(event.target)) {
104807
104884
  setMenuOpen(false);
@@ -104856,7 +104933,7 @@ ${fps}`;
104856
104933
  this.placement = props.placement ?? this.placement;
104857
104934
  }
104858
104935
  onRenderHTML(rootElement) {
104859
- B2(
104936
+ B3(
104860
104937
  /* @__PURE__ */ u4(
104861
104938
  IconMenu,
104862
104939
  {
@@ -104873,7 +104950,7 @@ ${fps}`;
104873
104950
  var ViewSelectorWidget = _ViewSelectorWidget;
104874
104951
  ViewSelectorWidget.defaultProps = {
104875
104952
  ...Widget.defaultProps,
104876
- id: "view-selector-widget",
104953
+ id: "view-selector",
104877
104954
  placement: "top-left",
104878
104955
  label: "Split View",
104879
104956
  initialViewMode: "single",