world.ts 0.6.13 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -124,12 +124,18 @@ const wt = (e, n) => {
124
124
  const n = e.getContext("webgl2");
125
125
  if (!n)
126
126
  throw new Error("No WebGL2");
127
- const t = Mt(n), { dispose: r } = t;
128
- return { gl: n, programs: t, dispose: r };
127
+ if (n.isContextLost())
128
+ throw new Error("Context lost");
129
+ const t = n.getExtension("WEBGL_lose_context");
130
+ window.addEventListener("keydown", async (s) => {
131
+ s.key === "l" && (t?.loseContext(), await new Promise((i) => setTimeout(i, 1e3)), t?.restoreContext());
132
+ });
133
+ const r = Mt(n), { dispose: o } = r;
134
+ return { gl: n, programs: r, dispose: o };
129
135
  };
130
- var gt = 1e-6, B = typeof Float32Array < "u" ? Float32Array : Array;
136
+ var gt = 1e-6, Z = typeof Float32Array < "u" ? Float32Array : Array;
131
137
  function Ut(e) {
132
- B = e;
138
+ Z = e;
133
139
  }
134
140
  Math.hypot || (Math.hypot = function() {
135
141
  for (var e = 0, n = arguments.length; n--; )
@@ -137,12 +143,12 @@ Math.hypot || (Math.hypot = function() {
137
143
  return Math.sqrt(e);
138
144
  });
139
145
  function At() {
140
- var e = new B(9);
141
- return B != Float32Array && (e[1] = 0, e[2] = 0, e[3] = 0, e[5] = 0, e[6] = 0, e[7] = 0), e[0] = 1, e[4] = 1, e[8] = 1, e;
146
+ var e = new Z(9);
147
+ return Z != Float32Array && (e[1] = 0, e[2] = 0, e[3] = 0, e[5] = 0, e[6] = 0, e[7] = 0), e[0] = 1, e[4] = 1, e[8] = 1, e;
142
148
  }
143
149
  function ve() {
144
- var e = new B(16);
145
- return B != Float32Array && (e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[6] = 0, e[7] = 0, e[8] = 0, e[9] = 0, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0), e[0] = 1, e[5] = 1, e[10] = 1, e[15] = 1, e;
150
+ var e = new Z(16);
151
+ return Z != Float32Array && (e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[6] = 0, e[7] = 0, e[8] = 0, e[9] = 0, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0), e[0] = 1, e[5] = 1, e[10] = 1, e[15] = 1, e;
146
152
  }
147
153
  function Pt(e) {
148
154
  return e[0] = 1, e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[5] = 1, e[6] = 0, e[7] = 0, e[8] = 0, e[9] = 0, e[10] = 1, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e;
@@ -169,11 +175,11 @@ function It(e, n, t, r, o) {
169
175
  }
170
176
  var zt = It;
171
177
  function z() {
172
- var e = new B(3);
173
- return B != Float32Array && (e[0] = 0, e[1] = 0, e[2] = 0), e;
178
+ var e = new Z(3);
179
+ return Z != Float32Array && (e[0] = 0, e[1] = 0, e[2] = 0), e;
174
180
  }
175
181
  function Ke(e) {
176
- var n = new B(3);
182
+ var n = new Z(3);
177
183
  return n[0] = e[0], n[1] = e[1], n[2] = e[2], n;
178
184
  }
179
185
  function Ft(e) {
@@ -181,7 +187,7 @@ function Ft(e) {
181
187
  return Math.hypot(n, t, r);
182
188
  }
183
189
  function qe(e, n, t) {
184
- var r = new B(3);
190
+ var r = new Z(3);
185
191
  return r[0] = e, r[1] = n, r[2] = t, r;
186
192
  }
187
193
  function Ne(e, n) {
@@ -232,11 +238,11 @@ var Fe = Ce, Ot = Ft;
232
238
  };
233
239
  })();
234
240
  function re() {
235
- var e = new B(4);
236
- return B != Float32Array && (e[0] = 0, e[1] = 0, e[2] = 0, e[3] = 0), e;
241
+ var e = new Z(4);
242
+ return Z != Float32Array && (e[0] = 0, e[1] = 0, e[2] = 0, e[3] = 0), e;
237
243
  }
238
244
  function at(e) {
239
- var n = new B(4);
245
+ var n = new Z(4);
240
246
  return n[0] = e[0], n[1] = e[1], n[2] = e[2], n[3] = e[3], n;
241
247
  }
242
248
  function Ct(e, n) {
@@ -245,10 +251,10 @@ function Ct(e, n) {
245
251
  function et(e, n, t, r, o) {
246
252
  return e[0] = n, e[1] = t, e[2] = r, e[3] = o, e;
247
253
  }
248
- function Zt(e, n, t) {
254
+ function Bt(e, n, t) {
249
255
  return e[0] = n[0] + t[0], e[1] = n[1] + t[1], e[2] = n[2] + t[2], e[3] = n[3] + t[3], e;
250
256
  }
251
- function Bt(e, n, t) {
257
+ function Zt(e, n, t) {
252
258
  return e[0] = n[0] - t[0], e[1] = n[1] - t[1], e[2] = n[2] - t[2], e[3] = n[3] - t[3], e;
253
259
  }
254
260
  function Vt(e, n, t) {
@@ -269,7 +275,7 @@ function tt(e, n, t) {
269
275
  var r = n[0], o = n[1], s = n[2], i = n[3];
270
276
  return e[0] = t[0] * r + t[4] * o + t[8] * s + t[12] * i, e[1] = t[1] * r + t[5] * o + t[9] * s + t[13] * i, e[2] = t[2] * r + t[6] * o + t[10] * s + t[14] * i, e[3] = t[3] * r + t[7] * o + t[11] * s + t[15] * i, e;
271
277
  }
272
- var Yt = Bt;
278
+ var Yt = Zt;
273
279
  (function() {
274
280
  var e = re();
275
281
  return function(n, t, r, o, s, i) {
@@ -279,9 +285,9 @@ var Yt = Bt;
279
285
  return n;
280
286
  };
281
287
  })();
282
- function Ze() {
283
- var e = new B(4);
284
- return B != Float32Array && (e[0] = 0, e[1] = 0, e[2] = 0), e[3] = 1, e;
288
+ function Be() {
289
+ var e = new Z(4);
290
+ return Z != Float32Array && (e[0] = 0, e[1] = 0, e[2] = 0), e[3] = 1, e;
285
291
  }
286
292
  function kt(e, n, t) {
287
293
  t = t * 0.5;
@@ -317,7 +323,7 @@ var Qt = at, Jt = jt, ft = Wt;
317
323
  };
318
324
  })();
319
325
  (function() {
320
- var e = Ze(), n = Ze();
326
+ var e = Be(), n = Be();
321
327
  return function(t, r, o, s, i, c) {
322
328
  return be(e, r, i, c), be(n, o, s, c), be(t, e, n, 2 * c * (1 - c)), t;
323
329
  };
@@ -329,11 +335,11 @@ var Qt = at, Jt = jt, ft = Wt;
329
335
  };
330
336
  })();
331
337
  function ce() {
332
- var e = new B(2);
333
- return B != Float32Array && (e[0] = 0, e[1] = 0), e;
338
+ var e = new Z(2);
339
+ return Z != Float32Array && (e[0] = 0, e[1] = 0), e;
334
340
  }
335
341
  function Kt(e) {
336
- var n = new B(2);
342
+ var n = new Z(2);
337
343
  return n[0] = e[0], n[1] = e[1], n;
338
344
  }
339
345
  function qt(e, n) {
@@ -369,19 +375,19 @@ var cn = nn;
369
375
  return n;
370
376
  };
371
377
  })();
372
- const Q = 40075017, Ie = (e) => e / 180 * Math.PI, an = (e) => e * 180 / Math.PI, fn = (e, n, t) => {
378
+ const J = 40075017, Ie = (e) => e / 180 * Math.PI, an = (e) => e * 180 / Math.PI, fn = (e, n, t) => {
373
379
  const r = Math.sqrt(n * n - 4 * e * t);
374
380
  return [(-n - r) / (2 * e), (-n + r) / (2 * e)];
375
- }, un = (e, n, t) => Math.min(Math.max(e, n), t), nt = Math.atan(Math.sinh(Math.PI)), D = ([e = 0, n = 0, t = 0], r = z()) => fe(
381
+ }, un = (e, n, t) => Math.min(Math.max(e, n), t), nt = Math.atan(Math.sinh(Math.PI)), S = ([e = 0, n = 0, t = 0], r = z()) => fe(
376
382
  r,
377
383
  e / 360 + 0.5,
378
384
  -Math.asinh(Math.tan(un(Ie(n), -nt, nt))) / (2 * Math.PI) + 0.5,
379
- t / Q
385
+ t / J
380
386
  ), ee = ([e = 0, n = 0, t = 0], r = z()) => fe(
381
387
  r,
382
388
  (e - 0.5) * 360,
383
389
  an(Math.atan(Math.sinh(-(n - 0.5) * (2 * Math.PI)))),
384
- t * Q
390
+ t * J
385
391
  ), ut = ([e = 0, n = 0, t = 0], r = z()) => {
386
392
  const o = 2 ** -t;
387
393
  return fe(r, e * o, n * o, 0);
@@ -394,14 +400,14 @@ const Q = 40075017, Ie = (e) => e / 180 * Math.PI, an = (e) => e * 180 / Math.PI
394
400
  }, mt = {
395
401
  target: [0, 0, 0],
396
402
  offset: [0, 0],
397
- distance: Q,
403
+ distance: J,
398
404
  orientation: [0, 0, 0],
399
405
  fieldOfView: 45
400
406
  }, ne = (e, n) => {
401
407
  const { target: t, offset: r, distance: o, orientation: s, fieldOfView: i } = {
402
408
  ...mt,
403
409
  ...e
404
- }, [c = 0, a = 0] = n, [u = 0, f = 0] = r, v = Math.tan(Ie(45) / 2) / Math.tan(Ie(i) / 2), h = o / Q * v, T = Math.max(1e3 / Q, h), l = 1e3, y = 1e-3, p = T * l, M = T * y, U = re(), x = ve();
410
+ }, [c = 0, a = 0] = n, [u = 0, f = 0] = r, v = Math.tan(Ie(45) / 2) / Math.tan(Ie(i) / 2), h = o / J * v, T = Math.max(1e3 / J, h), l = 1e3, y = 1e-3, p = T * l, M = T * y, U = re(), x = ve();
405
411
  Pt(x), zt(x, Ie(i), c / a, M, p), bt(x, x, [1, -1, 1]);
406
412
  const m = ve();
407
413
  ct(m, lt(s));
@@ -417,18 +423,18 @@ const Q = 40075017, Ie = (e) => e / 180 * Math.PI, an = (e) => e * 180 / Math.PI
417
423
  }, R = ([O = 0, G = 0, , k = 0], K = ce()) => k < 0 ? K : en(K, (1 + O / k) * c * 0.5, (1 - G / k) * a * 0.5), E = (O, G = z()) => {
418
424
  const [k = 0, K = 0, me = 0, de = 0] = tt(U, O, d);
419
425
  return fe(G, k / de, K / de, me / de);
420
- }, A = ([O = 0, G = 0, k = 0], K = re()) => tt(K, et(K, O, G, k, 1), g), [P = 0, N = 0] = _([u + c / 2, f + a / 2]), [L = 0, I = 0, b = 0] = E([P, N, -1, 1]), [C = 0, F = 0, S = 0] = E([P, N, 1.00001, 1]), [Z = 0] = fn(
421
- (C - L) ** 2 + (F - I) ** 2 + (S - b) ** 2,
422
- 2 * (L * (C - L) + I * (F - I) + b * (S - b)),
426
+ }, A = ([O = 0, G = 0, k = 0], K = re()) => tt(K, et(K, O, G, k, 1), g), [P = 0, N = 0] = _([u + c / 2, f + a / 2]), [L = 0, I = 0, b = 0] = E([P, N, -1, 1]), [C = 0, X = 0, F = 0] = E([P, N, 1.00001, 1]), [B = 0] = fn(
427
+ (C - L) ** 2 + (X - I) ** 2 + (F - b) ** 2,
428
+ 2 * (L * (C - L) + I * (X - I) + b * (F - b)),
423
429
  L ** 2 + I ** 2 + b ** 2 - h ** 2
424
430
  );
425
- if (isNaN(Z))
431
+ if (isNaN(B))
426
432
  throw new Error("Unexpected");
427
433
  const j = [
428
- L + Z * (C - L),
429
- I + Z * (F - I),
430
- b + Z * (S - b)
431
- ], $ = Fe(z(), D(t), j), q = (O, G = z()) => We(G, O, $), Y = (O, G = z()) => Fe(G, O, $);
434
+ L + B * (C - L),
435
+ I + B * (X - I),
436
+ b + B * (F - b)
437
+ ], $ = Fe(z(), S(t), j), q = (O, G = z()) => We(G, O, $), Y = (O, G = z()) => Fe(G, O, $);
432
438
  return {
433
439
  camera: $,
434
440
  screen: n,
@@ -442,7 +448,7 @@ const Q = 40075017, Ie = (e) => e / 180 * Math.PI, an = (e) => e * 180 / Math.PI
442
448
  localToClip: A,
443
449
  localToWorld: q,
444
450
  worldToLocal: Y,
445
- project: (O) => R(A(Y(D(O)))),
451
+ project: (O) => R(A(Y(S(O)))),
446
452
  unproject: (O, { targetZ: G = 0 } = {}) => {
447
453
  const k = _(O), [K = 0, me = 0, , de = 0] = k, Tt = [K, me, -1, de], $e = ee(q(E(k))), He = ee(q(E(Tt))), [, , De = 0] = $e, [, , Qe = 0] = He, yt = De === Qe ? 0 : (G - De) / (Qe - De);
448
454
  return Xt(z(), $e, He, yt);
@@ -463,7 +469,7 @@ const Q = 40075017, Ie = (e) => e / 180 * Math.PI, an = (e) => e * 180 / Math.PI
463
469
  ], { camera: A, fieldScale: P } = ne(u(), [R, E]), { position: N, layer: L } = n.pick([w, _]);
464
470
  if (!L)
465
471
  return;
466
- const I = _e(D(N), A) * Q / P, b = [w - R / 2, _ - E / 2];
472
+ const I = _e(S(N), A) * J / P, b = [w - R / 2, _ - E / 2];
467
473
  i({
468
474
  offset: b,
469
475
  target: N,
@@ -520,7 +526,7 @@ const Q = 40075017, Ie = (e) => e / 180 * Math.PI, an = (e) => e * 180 / Math.PI
520
526
  let { distance: E } = { ...mt, ...u() };
521
527
  E = Math.min(
522
528
  Math.max(E * Math.exp(R * 1e-3), mn),
523
- Q
529
+ J
524
530
  ), i({ distance: E }), U();
525
531
  }, m = (w) => w.preventDefault(), g = (w) => w.preventDefault();
526
532
  return e.addEventListener("mousedown", l), e.addEventListener("mousemove", p), e.addEventListener("touchstart", l, { passive: !1 }), e.addEventListener("touchmove", M, { passive: !1 }), e.addEventListener("gesturestart", m), e.addEventListener("wheel", x, { passive: !0 }), e.addEventListener("contextmenu", g), window.addEventListener("mouseup", y), {
@@ -743,7 +749,7 @@ const vr = (e, n = {}) => {
743
749
  [0, 3, 2]
744
750
  ].flat()
745
751
  );
746
- const a = se(
752
+ const a = oe(
747
753
  () => n.url?.() ?? "",
748
754
  (l) => {
749
755
  const y = Ye({
@@ -773,7 +779,7 @@ const vr = (e, n = {}) => {
773
779
  screen: M,
774
780
  image: r,
775
781
  imageSize: o,
776
- position: te(D(m)),
782
+ position: te(S(m)),
777
783
  color: g,
778
784
  size: d,
779
785
  minSizePixels: w,
@@ -808,11 +814,11 @@ const vr = (e, n = {}) => {
808
814
  position: I,
809
815
  color: b,
810
816
  size: C,
811
- minSizePixels: F,
812
- maxSizePixels: S,
813
- index: Z
817
+ minSizePixels: X,
818
+ maxSizePixels: F,
819
+ index: B
814
820
  }) => {
815
- u.use(), f.use(), v.use(), h.set(R), T.set(E), l.set(A), y.set(P), M.set(L), U.set(I), x.set(b), g.set(C), d.set(F), w.set(S), m.set(Z), e.activeTexture(e.TEXTURE0), p.set(0), N.use(), o.use(), e.drawElements(e.TRIANGLES, 6, e.UNSIGNED_SHORT, 0);
821
+ u.use(), f.use(), v.use(), h.set(R), T.set(E), l.set(A), y.set(P), M.set(L), U.set(I), x.set(b), g.set(C), d.set(X), w.set(F), m.set(B), e.activeTexture(e.TEXTURE0), p.set(0), N.use(), o.use(), e.drawElements(e.TRIANGLES, 6, e.UNSIGNED_SHORT, 0);
816
822
  } };
817
823
  }, i = s(), c = s(!0);
818
824
  return { renderProgram: i, depthProgram: c };
@@ -820,20 +826,19 @@ const vr = (e, n = {}) => {
820
826
  children: e,
821
827
  dispose: () => e.forEach((t) => t.dispose())
822
828
  }), hr = (e) => {
823
- const { keys: n, create: t } = e, r = /* @__PURE__ */ new Map();
829
+ const { keys: n, create: t } = e, r = /* @__PURE__ */ new Map(), o = () => [...r.values()].forEach((i) => i.dispose()), s = oe(n, (i) => {
830
+ [...r.keys()].filter((c) => !i.includes(c)).forEach((c) => {
831
+ r.get(c)?.dispose(), r.delete(c);
832
+ }), i.forEach((c) => {
833
+ const a = r.get(c) ?? t(c);
834
+ r.set(c, a);
835
+ });
836
+ });
824
837
  return {
825
838
  get children() {
826
- return [...r.values()];
827
- },
828
- render: () => {
829
- [...r.keys()].filter((i) => !n().includes(i)).forEach((i) => {
830
- r.get(i)?.dispose(), r.delete(i);
831
- }), n().forEach((i) => {
832
- const c = r.get(i) ?? t(i);
833
- r.set(i, c);
834
- });
839
+ return s(), [...r.values()];
835
840
  },
836
- dispose: () => [...r.values()].forEach((i) => i.dispose())
841
+ dispose: o
837
842
  };
838
843
  }, pr = (e) => ({
839
844
  render: e,
@@ -959,7 +964,7 @@ const _r = (e, n = {}) => {
959
964
  dashSize: A,
960
965
  dashOffset: P
961
966
  });
962
- }, h = se(
967
+ }, h = oe(
963
968
  () => n.points?.() ?? [],
964
969
  (p) => {
965
970
  const M = p.flatMap((g) => {
@@ -974,7 +979,7 @@ const _r = (e, n = {}) => {
974
979
  }
975
980
  }
976
981
  return E;
977
- })([d, ...g, w].map((R) => te(D(R))));
982
+ })([d, ...g, w].map((R) => te(S(R))));
978
983
  }), { indexData: U } = p.reduce(
979
984
  ({ indexData: g, count: d }, w) => {
980
985
  if (w.length === 0)
@@ -1014,7 +1019,7 @@ const _r = (e, n = {}) => {
1014
1019
  ])
1015
1020
  ), m = p.flatMap((g) => {
1016
1021
  const w = g.map(
1017
- (A, P) => _e(D(A), D(g[P - 1] ?? A)) * Q
1022
+ (A, P) => _e(S(A), S(g[P - 1] ?? A)) * J
1018
1023
  ).reduce(
1019
1024
  ({ current: A, result: P }, N) => (A += N, P.push(A), { current: A, result: P }),
1020
1025
  { current: 0, result: [] }
@@ -1030,7 +1035,7 @@ const _r = (e, n = {}) => {
1030
1035
  });
1031
1036
  o.set(M), s.set(U), i.set(x), c.set(m);
1032
1037
  }
1033
- ), T = se(
1038
+ ), T = oe(
1034
1039
  () => n.dashPattern?.(),
1035
1040
  (p) => {
1036
1041
  p = p ?? [[1, 1, 1, 1]], f.use(), t.texImage2D(
@@ -1081,18 +1086,18 @@ const _r = (e, n = {}) => {
1081
1086
  projection: I,
1082
1087
  modelView: b,
1083
1088
  camera: C,
1084
- screen: F,
1085
- count: S,
1086
- color: Z,
1089
+ screen: X,
1090
+ count: F,
1091
+ color: B,
1087
1092
  width: j,
1088
1093
  minWidthPixels: $,
1089
1094
  maxWidthPixels: q,
1090
1095
  index: Y,
1091
- dash: J,
1096
+ dash: H,
1092
1097
  dashSize: ke,
1093
1098
  dashOffset: O
1094
1099
  }) => {
1095
- S !== 0 && (f.use(), T.use(), l.use(), y.use(), p.use(), M.use(), U.set(I), x.set(b), m.set(C), g.set(F), d.set(Z), w.set(j), R.set($), _.set(q), E.set(Y), P.set(ke), N.set(O), e.activeTexture(e.TEXTURE0), A.set(0), J.use(), r.use(), e.drawElements(e.TRIANGLES, S, e.UNSIGNED_SHORT, 0));
1100
+ F !== 0 && (f.use(), T.use(), l.use(), y.use(), p.use(), M.use(), U.set(I), x.set(b), m.set(C), g.set(X), d.set(B), w.set(j), R.set($), _.set(q), E.set(Y), P.set(ke), N.set(O), e.activeTexture(e.TEXTURE0), A.set(0), H.use(), r.use(), e.drawElements(e.TRIANGLES, F, e.UNSIGNED_SHORT, 0));
1096
1101
  } };
1097
1102
  }, c = i(), a = i(!0);
1098
1103
  return { renderProgram: c, depthProgram: a };
@@ -1171,14 +1176,14 @@ const Tr = (e, n = {}) => {
1171
1176
  const w = n.position?.() ?? [0, 0, 0], _ = n.orientation?.() ?? [0, 0, 0, 1], R = n.color?.() ?? [1, 1, 1, 1], E = n.diffuse?.() ?? [0, 0, 0, 0], A = n.size?.() ?? 1, P = n.minSizePixels?.() ?? 0, N = n.maxSizePixels?.() ?? Number.MAX_VALUE;
1172
1177
  if (h(), l(), Te(t, g, n))
1173
1178
  return;
1174
- const L = ([b = 0, C = 0, F = 0, S = 0]) => [-b, C, F, S];
1179
+ const L = ([b = 0, C = 0, X = 0, F = 0]) => [-b, C, X, F];
1175
1180
  (g ? f : u).execute({
1176
1181
  projection: M,
1177
1182
  modelView: U,
1178
1183
  camera: te(x),
1179
1184
  screen: m,
1180
1185
  count: r,
1181
- position: te(D(w)),
1186
+ position: te(S(w)),
1182
1187
  orientation: ct(ve(), L(_)),
1183
1188
  color: R,
1184
1189
  diffuse: E,
@@ -1188,7 +1193,7 @@ const Tr = (e, n = {}) => {
1188
1193
  index: d,
1189
1194
  texture: o
1190
1195
  });
1191
- }, h = se(
1196
+ }, h = oe(
1192
1197
  () => n.mesh?.(),
1193
1198
  (M) => {
1194
1199
  const {
@@ -1203,7 +1208,7 @@ const Tr = (e, n = {}) => {
1203
1208
  g.length === 0 ? U.flatMap(() => [0, 0]) : g.flatMap((d) => [...d])
1204
1209
  ), r = x.length * 3;
1205
1210
  }
1206
- ), T = "data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==", l = se(
1211
+ ), T = "data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==", l = oe(
1207
1212
  () => n.textureUrl?.(),
1208
1213
  (M = T) => {
1209
1214
  const U = Ye({
@@ -1244,16 +1249,16 @@ const Tr = (e, n = {}) => {
1244
1249
  screen: I,
1245
1250
  count: b,
1246
1251
  position: C,
1247
- orientation: F,
1248
- color: S,
1249
- diffuse: Z,
1252
+ orientation: X,
1253
+ color: F,
1254
+ diffuse: B,
1250
1255
  size: j,
1251
1256
  minSizePixels: $,
1252
1257
  maxSizePixels: q,
1253
1258
  index: Y,
1254
- texture: J
1259
+ texture: H
1255
1260
  }) => {
1256
- f.use(), v.use(), h.use(), T.use(), l.set(P), y.set(N), p.set(L), x.set(I), M.set(C), U.set(F), m.set(S), g.set(Z), d.set(j), w.set($), _.set(q), R.set(Y), !u && J && (e.activeTexture(e.TEXTURE0), E.set(0), J.use()), r.use(), e.drawElements(e.TRIANGLES, b, e.UNSIGNED_INT, 0);
1261
+ f.use(), v.use(), h.use(), T.use(), l.set(P), y.set(N), p.set(L), x.set(I), M.set(C), U.set(X), m.set(F), g.set(B), d.set(j), w.set($), _.set(q), R.set(Y), !u && H && (e.activeTexture(e.TEXTURE0), E.set(0), H.use()), r.use(), e.drawElements(e.TRIANGLES, b, e.UNSIGNED_INT, 0);
1257
1262
  } };
1258
1263
  }, c = i(), a = i(!0);
1259
1264
  return { renderProgram: c, depthProgram: a };
@@ -1278,7 +1283,7 @@ function Mn(e, n, t = 2) {
1278
1283
  }
1279
1284
  function xt(e, n, t, r, o) {
1280
1285
  let s;
1281
- if (o === Zn(e, n, t, r) > 0)
1286
+ if (o === Bn(e, n, t, r) > 0)
1282
1287
  for (let i = n; i < t; i += r)
1283
1288
  s = ot(i / r | 0, e[i], e[i + 1], s);
1284
1289
  else
@@ -1286,13 +1291,13 @@ function xt(e, n, t, r, o) {
1286
1291
  s = ot(i / r | 0, e[i], e[i + 1], s);
1287
1292
  return s && ue(s, s.next) && (Ee(s), s = s.next), s;
1288
1293
  }
1289
- function ie(e, n) {
1294
+ function se(e, n) {
1290
1295
  if (!e)
1291
1296
  return e;
1292
1297
  n || (n = e);
1293
1298
  let t = e, r;
1294
1299
  do
1295
- if (r = !1, !t.steiner && (ue(t, t.next) || X(t.prev, t, t.next) === 0)) {
1300
+ if (r = !1, !t.steiner && (ue(t, t.next) || D(t.prev, t, t.next) === 0)) {
1296
1301
  if (Ee(t), t = n = t.prev, t === t.next)
1297
1302
  break;
1298
1303
  r = !0;
@@ -1313,19 +1318,19 @@ function he(e, n, t, r, o, s, i) {
1313
1318
  continue;
1314
1319
  }
1315
1320
  if (e = u, e === c) {
1316
- i ? i === 1 ? (e = An(ie(e), n), he(e, n, t, r, o, s, 2)) : i === 2 && Pn(e, n, t, r, o, s) : he(ie(e), n, t, r, o, s, 1);
1321
+ i ? i === 1 ? (e = An(se(e), n), he(e, n, t, r, o, s, 2)) : i === 2 && Pn(e, n, t, r, o, s) : he(se(e), n, t, r, o, s, 1);
1317
1322
  break;
1318
1323
  }
1319
1324
  }
1320
1325
  }
1321
1326
  function gn(e) {
1322
1327
  const n = e.prev, t = e, r = e.next;
1323
- if (X(n, t, r) >= 0)
1328
+ if (D(n, t, r) >= 0)
1324
1329
  return !1;
1325
1330
  const o = n.x, s = t.x, i = r.x, c = n.y, a = t.y, u = r.y, f = Math.min(o, s, i), v = Math.min(c, a, u), h = Math.max(o, s, i), T = Math.max(c, a, u);
1326
1331
  let l = r.next;
1327
1332
  for (; l !== n; ) {
1328
- if (l.x >= f && l.x <= h && l.y >= v && l.y <= T && xe(o, c, s, a, i, u, l.x, l.y) && X(l.prev, l, l.next) >= 0)
1333
+ if (l.x >= f && l.x <= h && l.y >= v && l.y <= T && xe(o, c, s, a, i, u, l.x, l.y) && D(l.prev, l, l.next) >= 0)
1329
1334
  return !1;
1330
1335
  l = l.next;
1331
1336
  }
@@ -1333,22 +1338,22 @@ function gn(e) {
1333
1338
  }
1334
1339
  function Un(e, n, t, r) {
1335
1340
  const o = e.prev, s = e, i = e.next;
1336
- if (X(o, s, i) >= 0)
1341
+ if (D(o, s, i) >= 0)
1337
1342
  return !1;
1338
- const c = o.x, a = s.x, u = i.x, f = o.y, v = s.y, h = i.y, T = Math.min(c, a, u), l = Math.min(f, v, h), y = Math.max(c, a, u), p = Math.max(f, v, h), M = Be(T, l, n, t, r), U = Be(y, p, n, t, r);
1343
+ const c = o.x, a = s.x, u = i.x, f = o.y, v = s.y, h = i.y, T = Math.min(c, a, u), l = Math.min(f, v, h), y = Math.max(c, a, u), p = Math.max(f, v, h), M = Ze(T, l, n, t, r), U = Ze(y, p, n, t, r);
1339
1344
  let x = e.prevZ, m = e.nextZ;
1340
1345
  for (; x && x.z >= M && m && m.z <= U; ) {
1341
- if (x.x >= T && x.x <= y && x.y >= l && x.y <= p && x !== o && x !== i && xe(c, f, a, v, u, h, x.x, x.y) && X(x.prev, x, x.next) >= 0 || (x = x.prevZ, m.x >= T && m.x <= y && m.y >= l && m.y <= p && m !== o && m !== i && xe(c, f, a, v, u, h, m.x, m.y) && X(m.prev, m, m.next) >= 0))
1346
+ if (x.x >= T && x.x <= y && x.y >= l && x.y <= p && x !== o && x !== i && xe(c, f, a, v, u, h, x.x, x.y) && D(x.prev, x, x.next) >= 0 || (x = x.prevZ, m.x >= T && m.x <= y && m.y >= l && m.y <= p && m !== o && m !== i && xe(c, f, a, v, u, h, m.x, m.y) && D(m.prev, m, m.next) >= 0))
1342
1347
  return !1;
1343
1348
  m = m.nextZ;
1344
1349
  }
1345
1350
  for (; x && x.z >= M; ) {
1346
- if (x.x >= T && x.x <= y && x.y >= l && x.y <= p && x !== o && x !== i && xe(c, f, a, v, u, h, x.x, x.y) && X(x.prev, x, x.next) >= 0)
1351
+ if (x.x >= T && x.x <= y && x.y >= l && x.y <= p && x !== o && x !== i && xe(c, f, a, v, u, h, x.x, x.y) && D(x.prev, x, x.next) >= 0)
1347
1352
  return !1;
1348
1353
  x = x.prevZ;
1349
1354
  }
1350
1355
  for (; m && m.z <= U; ) {
1351
- if (m.x >= T && m.x <= y && m.y >= l && m.y <= p && m !== o && m !== i && xe(c, f, a, v, u, h, m.x, m.y) && X(m.prev, m, m.next) >= 0)
1356
+ if (m.x >= T && m.x <= y && m.y >= l && m.y <= p && m !== o && m !== i && xe(c, f, a, v, u, h, m.x, m.y) && D(m.prev, m, m.next) >= 0)
1352
1357
  return !1;
1353
1358
  m = m.nextZ;
1354
1359
  }
@@ -1360,7 +1365,7 @@ function An(e, n) {
1360
1365
  const r = t.prev, o = t.next.next;
1361
1366
  !ue(r, o) && pt(r, t, t.next, o) && pe(r, o) && pe(o, r) && (n.push(r.i, t.i, o.i), Ee(t), Ee(t.next), t = e = o), t = t.next;
1362
1367
  } while (t !== e);
1363
- return ie(t);
1368
+ return se(t);
1364
1369
  }
1365
1370
  function Pn(e, n, t, r, o, s) {
1366
1371
  let i = e;
@@ -1369,7 +1374,7 @@ function Pn(e, n, t, r, o, s) {
1369
1374
  for (; c !== i.prev; ) {
1370
1375
  if (i.i !== c.i && Xn(i, c)) {
1371
1376
  let a = Et(i, c);
1372
- i = ie(i, i.next), a = ie(a, a.next), he(i, n, t, r, o, s, 0), he(a, n, t, r, o, s, 0);
1377
+ i = se(i, i.next), a = se(a, a.next), he(i, n, t, r, o, s, 0), he(a, n, t, r, o, s, 0);
1373
1378
  return;
1374
1379
  }
1375
1380
  c = c.next;
@@ -1401,7 +1406,7 @@ function bn(e, n) {
1401
1406
  if (!t)
1402
1407
  return n;
1403
1408
  const r = Et(t, e);
1404
- return ie(r, r.next), ie(t, t.next);
1409
+ return se(r, r.next), se(t, t.next);
1405
1410
  }
1406
1411
  function In(e, n) {
1407
1412
  let t = n;
@@ -1434,12 +1439,12 @@ function In(e, n) {
1434
1439
  return i;
1435
1440
  }
1436
1441
  function zn(e, n) {
1437
- return X(e.prev, e, n.prev) < 0 && X(n.next, e, e.next) < 0;
1442
+ return D(e.prev, e, n.prev) < 0 && D(n.next, e, e.next) < 0;
1438
1443
  }
1439
1444
  function Fn(e, n, t, r) {
1440
1445
  let o = e;
1441
1446
  do
1442
- o.z === 0 && (o.z = Be(o.x, o.y, n, t, r)), o.prevZ = o.prev, o.nextZ = o.next, o = o.next;
1447
+ o.z === 0 && (o.z = Ze(o.x, o.y, n, t, r)), o.prevZ = o.prev, o.nextZ = o.next, o = o.next;
1443
1448
  while (o !== e);
1444
1449
  o.prevZ.nextZ = null, o.prevZ = null, Sn(o);
1445
1450
  }
@@ -1463,7 +1468,7 @@ function Sn(e) {
1463
1468
  } while (n > 1);
1464
1469
  return e;
1465
1470
  }
1466
- function Be(e, n, t, r, o) {
1471
+ function Ze(e, n, t, r, o) {
1467
1472
  return e = (e - t) * o | 0, n = (n - r) * o | 0, e = (e | e << 8) & 16711935, e = (e | e << 4) & 252645135, e = (e | e << 2) & 858993459, e = (e | e << 1) & 1431655765, n = (n | n << 8) & 16711935, n = (n | n << 4) & 252645135, n = (n | n << 2) & 858993459, n = (n | n << 1) & 1431655765, e | n << 1;
1468
1473
  }
1469
1474
  function Dn(e) {
@@ -1482,17 +1487,17 @@ function xe(e, n, t, r, o, s, i, c) {
1482
1487
  function Xn(e, n) {
1483
1488
  return e.next.i !== n.i && e.prev.i !== n.i && !On(e, n) && // dones't intersect other edges
1484
1489
  (pe(e, n) && pe(n, e) && Cn(e, n) && // locally visible
1485
- (X(e.prev, e, n.prev) || X(e, n.prev, n)) || // does not create opposite-facing sectors
1486
- ue(e, n) && X(e.prev, e, e.next) > 0 && X(n.prev, n, n.next) > 0);
1490
+ (D(e.prev, e, n.prev) || D(e, n.prev, n)) || // does not create opposite-facing sectors
1491
+ ue(e, n) && D(e.prev, e, e.next) > 0 && D(n.prev, n, n.next) > 0);
1487
1492
  }
1488
- function X(e, n, t) {
1493
+ function D(e, n, t) {
1489
1494
  return (n.y - e.y) * (t.x - n.x) - (n.x - e.x) * (t.y - n.y);
1490
1495
  }
1491
1496
  function ue(e, n) {
1492
1497
  return e.x === n.x && e.y === n.y;
1493
1498
  }
1494
1499
  function pt(e, n, t, r) {
1495
- const o = Pe(X(e, n, t)), s = Pe(X(e, n, r)), i = Pe(X(t, r, e)), c = Pe(X(t, r, n));
1500
+ const o = Pe(D(e, n, t)), s = Pe(D(e, n, r)), i = Pe(D(t, r, e)), c = Pe(D(t, r, n));
1496
1501
  return !!(o !== s && i !== c || o === 0 && Ae(e, t, n) || s === 0 && Ae(e, r, n) || i === 0 && Ae(t, e, r) || c === 0 && Ae(t, n, r));
1497
1502
  }
1498
1503
  function Ae(e, n, t) {
@@ -1511,7 +1516,7 @@ function On(e, n) {
1511
1516
  return !1;
1512
1517
  }
1513
1518
  function pe(e, n) {
1514
- return X(e.prev, e, e.next) < 0 ? X(e, n, e.next) >= 0 && X(e, e.prev, n) >= 0 : X(e, n, e.prev) < 0 || X(e, e.next, n) < 0;
1519
+ return D(e.prev, e, e.next) < 0 ? D(e, n, e.next) >= 0 && D(e, e.prev, n) >= 0 : D(e, n, e.prev) < 0 || D(e, e.next, n) < 0;
1515
1520
  }
1516
1521
  function Cn(e, n) {
1517
1522
  let t = e, r = !1;
@@ -1551,13 +1556,13 @@ function Ve(e, n, t) {
1551
1556
  // indicates whether this is a steiner point
1552
1557
  };
1553
1558
  }
1554
- function Zn(e, n, t, r) {
1559
+ function Bn(e, n, t, r) {
1555
1560
  let o = 0;
1556
1561
  for (let s = n, i = t - r; s < t; s += r)
1557
1562
  o += (e[i] - e[s]) * (e[s + 1] + e[i + 1]), i = s;
1558
1563
  return o;
1559
1564
  }
1560
- function Bn(e) {
1565
+ function Zn(e) {
1561
1566
  const n = [], t = [], r = e[0][0].length;
1562
1567
  let o = 0, s = 0;
1563
1568
  for (const i of e) {
@@ -1624,12 +1629,12 @@ const yr = (e, n = {}) => {
1624
1629
  color: U,
1625
1630
  index: M
1626
1631
  });
1627
- }, u = se(
1632
+ }, u = oe(
1628
1633
  () => n.points?.() ?? [],
1629
1634
  (h) => {
1630
1635
  const { vertices: T, indices: l } = jn(
1631
1636
  h.map(
1632
- (y) => y.map((p) => p.map((M) => te(D(M)))).filter((p) => p.length > 0)
1637
+ (y) => y.map((p) => p.map((M) => te(S(M)))).filter((p) => p.length > 0)
1633
1638
  ).filter((y) => y.length > 0)
1634
1639
  );
1635
1640
  o.set(T), s.set(l), r = l.length;
@@ -1669,7 +1674,7 @@ const yr = (e, n = {}) => {
1669
1674
  }, jn = (e) => {
1670
1675
  const [n, t] = e.reduce(
1671
1676
  ([r, o, s], i) => {
1672
- const c = Bn(i);
1677
+ const c = Zn(i);
1673
1678
  return r.push(...c.vertices), o.push(
1674
1679
  ...Mn(c.vertices, c.holes, c.dimensions).map((a) => a + s)
1675
1680
  ), s += c.vertices.length / c.dimensions, [r, o, s];
@@ -1861,7 +1866,7 @@ const Se = (e) => {
1861
1866
  delete: (o) => n.delete(t(o)),
1862
1867
  clear: () => n.clear()
1863
1868
  };
1864
- }, kn = 15, oe = 256, $n = ({
1869
+ }, kn = 15, ie = 256, $n = ({
1865
1870
  gl: e,
1866
1871
  terrainCache: n
1867
1872
  }) => {
@@ -1877,18 +1882,18 @@ const Se = (e) => {
1877
1882
  const { texture: h, downsample: T } = v, l = 2 ** T, y = [Math.floor(a / l), Math.floor(u / l), f - T], p = t.get(y);
1878
1883
  if (p)
1879
1884
  return { buffer: p, downsample: T };
1880
- const M = new Uint8Array(4 * oe * oe);
1881
- return e.bindFramebuffer(e.FRAMEBUFFER, o), h.attach(), e.readPixels(0, 0, oe, oe, e.RGBA, e.UNSIGNED_BYTE, M), e.bindFramebuffer(e.FRAMEBUFFER, null), t.set(y, M), { buffer: M, downsample: T };
1885
+ const M = new Uint8Array(4 * ie * ie);
1886
+ return e.bindFramebuffer(e.FRAMEBUFFER, o), h.attach(), e.readPixels(0, 0, ie, ie, e.RGBA, e.UNSIGNED_BYTE, M), e.bindFramebuffer(e.FRAMEBUFFER, null), t.set(y, M), { buffer: M, downsample: T };
1882
1887
  };
1883
1888
  return { get: ([a = 0, u = 0], f = kn) => {
1884
- const v = 2 ** f, h = D([a, u, 0]).map((E) => E * v), [T = 0, l = 0] = h.map((E) => Math.floor(E % v));
1889
+ const v = 2 ** f, h = S([a, u, 0]).map((E) => E * v), [T = 0, l = 0] = h.map((E) => Math.floor(E % v));
1885
1890
  let [y = 0, p = 0] = h.map((E) => E % 1);
1886
1891
  const M = s([T, l, f]);
1887
1892
  if (!M)
1888
1893
  return 0;
1889
1894
  const { buffer: U, downsample: x } = M, m = 2 ** x;
1890
1895
  [y, p] = [(T % m + y) / m, (l % m + p) / m];
1891
- const g = 4 * oe * Math.floor(p * oe) + 4 * Math.floor(y * oe), [d = 0, w = 0, _ = 0] = U.slice(g, g + 4);
1896
+ const g = 4 * ie * Math.floor(p * ie) + 4 * Math.floor(y * ie), [d = 0, w = 0, _ = 0] = U.slice(g, g + 4);
1892
1897
  return (d * 65536 + w * 256 + _) / 10 - 1e4;
1893
1898
  }, dispose: () => {
1894
1899
  e.deleteFramebuffer(o);
@@ -1899,12 +1904,15 @@ var Hn = `#version 300 es
1899
1904
  precision highp float;
1900
1905
 
1901
1906
  uniform sampler2D imagery;
1907
+ uniform float saturation;
1902
1908
  in vec2 uv;
1903
1909
  in vec4 color_out;
1904
1910
  out vec4 result;
1905
1911
 
1906
1912
  void main(void) {
1907
- result = texture(imagery, uv) * color_out;
1913
+ vec4 texture_color = texture(imagery, uv);
1914
+ float luminance = dot(texture_color.rgb, vec3(0.299, 0.587, 0.114));
1915
+ result = vec4(mix(vec3(luminance), texture_color.rgb, saturation), texture_color.a) * color_out;
1908
1916
  }`;
1909
1917
  const it = ({
1910
1918
  gl: e,
@@ -1971,7 +1979,7 @@ const it = ({
1971
1979
  ut([i + T, c + l, a], v),
1972
1980
  v
1973
1981
  );
1974
- f[h] = D([y, p, e.get([y, p], u)]);
1982
+ f[h] = S([y, p, e.get([y, p], u)]);
1975
1983
  }
1976
1984
  return n.set(o, f), f;
1977
1985
  } };
@@ -2034,7 +2042,7 @@ const V = 34, Kn = 22, qn = ae(0, V).flatMap(
2034
2042
  "EXT_texture_filter_anisotropic"
2035
2043
  ), i = s ? t.getParameter(
2036
2044
  s.MAX_TEXTURE_MAX_ANISOTROPY_EXT
2037
- ) : void 0, c = se(
2045
+ ) : void 0, c = oe(
2038
2046
  () => n.imageryUrl?.() ?? "",
2039
2047
  (R) => {
2040
2048
  r?.dispose(), r = it({
@@ -2072,16 +2080,16 @@ const V = 34, Kn = 22, qn = ae(0, V).flatMap(
2072
2080
  const b = E.pop();
2073
2081
  if (!b)
2074
2082
  break;
2075
- const [C = 0, F = 0, S = 0] = b, j = h.get(b).map((Y, J) => P(Y, U[J])).map((Y, J) => N(Y, x[J]));
2083
+ const [C = 0, X = 0, F = 0] = b, j = h.get(b).map((Y, H) => P(Y, U[H])).map((Y, H) => N(Y, x[H]));
2076
2084
  if (nr(j))
2077
2085
  continue;
2078
2086
  rr(
2079
- or(j).map((Y, J) => L(Y, m[J]))
2080
- ) > I && S < Kn ? E.push(
2081
- [2 * C, 2 * F, S + 1],
2082
- [2 * C + 1, 2 * F, S + 1],
2083
- [2 * C, 2 * F + 1, S + 1],
2084
- [2 * C + 1, 2 * F + 1, S + 1]
2087
+ or(j).map((Y, H) => L(Y, m[H]))
2088
+ ) > I && F < Kn ? E.push(
2089
+ [2 * C, 2 * X, F + 1],
2090
+ [2 * C + 1, 2 * X, F + 1],
2091
+ [2 * C, 2 * X + 1, F + 1],
2092
+ [2 * C + 1, 2 * X + 1, F + 1]
2085
2093
  ) : A.push(b);
2086
2094
  }
2087
2095
  return A;
@@ -2090,25 +2098,26 @@ const V = 34, Kn = 22, qn = ae(0, V).flatMap(
2090
2098
  depth: E = !1,
2091
2099
  index: A = 0
2092
2100
  }) => {
2093
- const P = n.color?.() ?? [1, 1, 1, 1];
2101
+ const P = n.color?.() ?? [1, 1, 1, 1], N = n.saturation?.() ?? 1;
2094
2102
  if (c(), Te(t, E, n))
2095
2103
  return;
2096
- const N = E ? p : y, { projection: L, modelView: I, camera: b } = R, C = g(R);
2097
- for (const F of C) {
2098
- const S = E ? void 0 : o?.get(F), Z = f.get(F);
2099
- if (!E && !S || !Z)
2104
+ const L = E ? p : y, { projection: I, modelView: b, camera: C } = R, X = g(R);
2105
+ for (const F of X) {
2106
+ const B = E ? void 0 : o?.get(F), j = f.get(F);
2107
+ if (!E && !B || !j)
2100
2108
  continue;
2101
- const { texture: j, downsample: $ } = Z, { texture: q = j, downsample: Y = 0 } = S ?? {};
2102
- N.execute({
2103
- projection: L,
2104
- modelView: I,
2105
- camera: te(b),
2109
+ const { texture: $, downsample: q } = j, { texture: Y = $, downsample: H = 0 } = B ?? {};
2110
+ L.execute({
2111
+ projection: I,
2112
+ modelView: b,
2113
+ camera: te(C),
2106
2114
  xyz: F,
2107
- imagery: q,
2108
- terrain: j,
2109
- downsampleImagery: Y,
2110
- downsampleTerrain: $,
2115
+ imagery: Y,
2116
+ terrain: $,
2117
+ downsampleImagery: H,
2118
+ downsampleTerrain: q,
2111
2119
  color: P,
2120
+ saturation: N,
2112
2121
  index: A
2113
2122
  });
2114
2123
  }
@@ -2126,20 +2135,21 @@ const V = 34, Kn = 22, qn = ae(0, V).flatMap(
2126
2135
  const a = n.get({
2127
2136
  vertexSource: Jn,
2128
2137
  fragmentSource: c ? ye : Hn
2129
- }), u = a.attribute3f("uvw", t), f = a.uniformMatrix4f("projection"), v = a.uniformMatrix4f("model_view"), h = a.uniform1i("imagery"), T = a.uniform1i("terrain"), l = a.uniform1i("downsample_imagery"), y = a.uniform1i("downsample_terrain"), p = a.uniform4f("color"), M = a.uniform3i("xyz"), U = a.uniform3i("camera"), x = a.uniform1i("index");
2138
+ }), u = a.attribute3f("uvw", t), f = a.uniformMatrix4f("projection"), v = a.uniformMatrix4f("model_view"), h = a.uniform1i("imagery"), T = a.uniform1i("terrain"), l = a.uniform1i("downsample_imagery"), y = a.uniform1i("downsample_terrain"), p = a.uniform4f("color"), M = a.uniform1f("saturation"), U = a.uniform3i("xyz"), x = a.uniform3i("camera"), m = a.uniform1i("index");
2130
2139
  return { execute: ({
2131
- projection: g,
2132
- modelView: d,
2133
- camera: w,
2134
- xyz: _,
2135
- imagery: R,
2136
- terrain: E,
2137
- downsampleImagery: A,
2138
- downsampleTerrain: P,
2139
- color: N,
2140
- index: L
2140
+ projection: d,
2141
+ modelView: w,
2142
+ camera: _,
2143
+ xyz: R,
2144
+ imagery: E,
2145
+ terrain: A,
2146
+ downsampleImagery: P,
2147
+ downsampleTerrain: N,
2148
+ color: L,
2149
+ saturation: I,
2150
+ index: b
2141
2151
  }) => {
2142
- a.use(), u.use(), f.set(g), v.set(d), M.set(_), U.set(w), l.set(A), y.set(P), p.set(N), x.set(L), e.activeTexture(e.TEXTURE0), h.set(0), R.use(), e.activeTexture(e.TEXTURE1), T.set(1), E.use(), r.use(), e.drawElements(e.TRIANGLES, V * V * 2 * 3, e.UNSIGNED_SHORT, 0);
2152
+ a.use(), u.use(), f.set(d), v.set(w), U.set(R), x.set(_), l.set(P), y.set(N), p.set(L), M.set(I), m.set(b), e.activeTexture(e.TEXTURE0), h.set(0), E.use(), e.activeTexture(e.TEXTURE1), T.set(1), A.use(), r.use(), e.drawElements(e.TRIANGLES, V * V * 2 * 3, e.UNSIGNED_SHORT, 0);
2143
2153
  } };
2144
2154
  }, s = o(), i = o(!0);
2145
2155
  return { renderProgram: s, depthProgram: i };
@@ -2188,7 +2198,7 @@ const V = 34, Kn = 22, qn = ae(0, V).flatMap(
2188
2198
  }
2189
2199
  return s;
2190
2200
  };
2191
- }, se = (e, n) => {
2201
+ }, oe = (e, n) => {
2192
2202
  let t;
2193
2203
  return () => {
2194
2204
  const r = e();
@@ -2219,16 +2229,16 @@ const V = 34, Kn = 22, qn = ae(0, V).flatMap(
2219
2229
  onMouseMove: a
2220
2230
  };
2221
2231
  }, Re = 8, Me = 1e-3;
2222
- let H = performance.now();
2232
+ let Q = performance.now();
2223
2233
  const _t = () => {
2224
- requestAnimationFrame(_t), H = performance.now();
2234
+ requestAnimationFrame(_t), Q = performance.now();
2225
2235
  };
2226
2236
  _t();
2227
2237
  const le = (e) => (n) => {
2228
2238
  let t, r;
2229
2239
  return () => {
2230
- const o = (H - (r ?? H)) / 1e3;
2231
- r = H, o > 1 && (t = void 0);
2240
+ const o = (Q - (r ?? Q)) / 1e3;
2241
+ r = Q, o > 1 && (t = void 0);
2232
2242
  const s = n();
2233
2243
  return t = t ?? s, t = e({ time: o, current: t, target: s }), t;
2234
2244
  };
@@ -2242,7 +2252,7 @@ const le = (e) => (n) => {
2242
2252
  cn(ce(), r, t),
2243
2253
  1 - Math.exp(-Re * n)
2244
2254
  )
2245
- ), t))(() => Kt(e())), gr = (e) => le(({ time: n, current: t, target: r }) => (Gt(t, r) < Me ? Ct(t, r) : t = Zt(
2255
+ ), t))(() => Kt(e())), gr = (e) => le(({ time: n, current: t, target: r }) => (Gt(t, r) < Me ? Ct(t, r) : t = Bt(
2246
2256
  re(),
2247
2257
  t,
2248
2258
  Vt(
@@ -2251,14 +2261,14 @@ const le = (e) => (n) => {
2251
2261
  1 - Math.exp(-Re * n)
2252
2262
  )
2253
2263
  ), t))(() => at(e())), Ur = (e) => le(({ time: n, current: t, target: r }) => {
2254
- const o = _e(D(t), D(r));
2255
- return o * Q < Me ? Ne(t, r) : o > 1e5 / Q ? t = Ke(r) : t = ee(
2264
+ const o = _e(S(t), S(r));
2265
+ return o * J < Me ? Ne(t, r) : o > 1e5 / J ? t = Ke(r) : t = ee(
2256
2266
  We(
2257
2267
  z(),
2258
- D(t),
2268
+ S(t),
2259
2269
  je(
2260
2270
  z(),
2261
- Fe(z(), D(r), D(t)),
2271
+ Fe(z(), S(r), S(t)),
2262
2272
  1 - Math.exp(-Re * n)
2263
2273
  )
2264
2274
  )
@@ -2268,22 +2278,22 @@ const le = (e) => (n) => {
2268
2278
  const o = z(), s = z(), i = z(), c = z(), a = z(), u = z();
2269
2279
  let f = 0, v = 0;
2270
2280
  return () => {
2271
- if (H === f)
2281
+ if (Q === f)
2272
2282
  return ee(o);
2273
2283
  const h = e();
2274
- if (!t || H - f > 1e3 || _e(o, i) > 1e3 / Q)
2275
- return t = !0, r = h, f = H, v = H, Ne(o, D(r)), fe(s, 0, 0, 0), Ne(i, o), fe(c, 0, 0, 0), ee(o);
2284
+ if (!t || Q - f > 1e3 || _e(o, i) > 1e3 / J)
2285
+ return t = !0, r = h, f = Q, v = Q, Ne(o, S(r)), fe(s, 0, 0, 0), Ne(i, o), fe(c, 0, 0, 0), ee(o);
2276
2286
  if (r !== h) {
2277
2287
  r = h;
2278
- const p = D(h);
2288
+ const p = S(h);
2279
2289
  je(
2280
2290
  c,
2281
2291
  Ce(c, p, i),
2282
- 1e3 / (H - v)
2283
- ), Ne(i, p), v = H;
2292
+ 1e3 / (Q - v)
2293
+ ), Ne(i, p), v = Q;
2284
2294
  }
2285
- const T = (H - f) / 1e3, l = 1 - Math.exp(-T / 0.5), y = l * (2 - l) / 1e3;
2286
- return ge(o, o, s, T), ge(u, i, c, T), Ce(a, u, o), ge(o, o, a, l), ge(s, s, a, y / T), f = H, ee(o);
2295
+ const T = (Q - f) / 1e3, l = 1 - Math.exp(-T / 0.5), y = l * (2 - l) / 1e3;
2296
+ return ge(o, o, s, T), ge(u, i, c, T), Ce(a, u, o), ge(o, o, a, l), ge(s, s, a, y / T), f = Q, ee(o);
2287
2297
  };
2288
2298
  }, cr = (e) => {
2289
2299
  const n = ar(() => lt(e()));
@@ -2291,7 +2301,7 @@ const le = (e) => (n) => {
2291
2301
  }, ar = (e) => le(({ time: n, current: t, target: r }) => {
2292
2302
  let o = $t(t, r);
2293
2303
  return isNaN(o) && (o = 0), t = be(
2294
- Ze(),
2304
+ Be(),
2295
2305
  t,
2296
2306
  r,
2297
2307
  Re * Math.max(0.5, o) * n
@@ -2299,20 +2309,20 @@ const le = (e) => (n) => {
2299
2309
  })(() => Qt(e())), fr = 8, Pr = (e) => {
2300
2310
  const n = cr(() => e().orientation), t = sr(() => e().offset), r = ir(() => e().fieldOfView);
2301
2311
  return le(({ time: s, current: i, target: c }) => {
2302
- let a = _e(D(i.target), D(c.target)) * Q;
2312
+ let a = _e(S(i.target), S(c.target)) * J;
2303
2313
  a < 1e3 && (a = 0);
2304
2314
  const u = Math.max(c.distance, a), f = 1 - Math.exp(-fr * s), v = Math.exp(
2305
2315
  Math.log(i.distance) + (Math.log(u) - Math.log(i.distance)) * f
2306
2316
  ), h = i.distance > a ? 1 : i.distance / a, T = ee(
2307
2317
  We(
2308
2318
  z(),
2309
- D(i.target),
2319
+ S(i.target),
2310
2320
  je(
2311
2321
  z(),
2312
2322
  Fe(
2313
2323
  z(),
2314
- D(c.target),
2315
- D(i.target)
2324
+ S(c.target),
2325
+ S(i.target)
2316
2326
  ),
2317
2327
  f * h
2318
2328
  )
@@ -2475,13 +2485,13 @@ const Lr = ({ gl: e }, n) => {
2475
2485
  P * devicePixelRatio,
2476
2486
  N * devicePixelRatio
2477
2487
  ]), [b = 0, C = 0] = _(d);
2478
- let F = ee(E(R([b, C, L, 1])));
2479
- const S = I === 0 ? void 0 : A ?? ze(r())[I - 1];
2488
+ let X = ee(E(R([b, C, L, 1])));
2489
+ const F = I === 0 ? void 0 : A ?? ze(r())[I - 1];
2480
2490
  if (w) {
2481
- const [Z = 0, j = 0] = F, $ = A?.elevation([Z, j]) ?? 0;
2482
- F = [Z, j, $];
2491
+ const [B = 0, j = 0] = X, $ = A?.elevation([B, j]) ?? 0;
2492
+ X = [B, j, $];
2483
2493
  }
2484
- return { point: d, position: F, layer: S };
2494
+ return { point: d, position: X, layer: F };
2485
2495
  }, x = lr(e, {
2486
2496
  view: t,
2487
2497
  screen: () => i,
@@ -2504,9 +2514,9 @@ const Lr = ({ gl: e }, n) => {
2504
2514
  };
2505
2515
  }, ze = (e, n = []) => e.reduce((t, r) => (ze(r.children ?? [], t), t.push(r), t), n);
2506
2516
  export {
2507
- se as cache,
2517
+ oe as cache,
2508
2518
  Mr as cacheAll,
2509
- Q as circumference,
2519
+ J as circumference,
2510
2520
  vr as createBillboardLayer,
2511
2521
  xr as createContainer,
2512
2522
  mr as createContext,
@@ -2534,7 +2544,7 @@ export {
2534
2544
  mt as defaultView,
2535
2545
  an as degrees,
2536
2546
  ee as geodetic,
2537
- D as mercator,
2547
+ S as mercator,
2538
2548
  fn as quadratic,
2539
2549
  Ie as radians,
2540
2550
  ae as range,