world.ts 0.5.7 → 0.5.9

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
@@ -22,57 +22,57 @@ const Pt = (e, t) => {
22
22
  );
23
23
  if (e.attachShader(i, r), e.attachShader(i, s), e.linkProgram(i), !e.getProgramParameter(i, e.LINK_STATUS))
24
24
  throw console.error("Link failure", e.getProgramInfoLog(i)), new Error("Link failure");
25
- const o = () => e.useProgram(i), c = {}, a = (y, g) => {
26
- if (c[y])
27
- return c[y];
28
- const w = e.getUniformLocation(i, y);
25
+ const o = () => e.useProgram(i), c = {}, a = (w, g) => {
26
+ if (c[w])
27
+ return c[w];
28
+ const y = e.getUniformLocation(i, w);
29
29
  let M;
30
30
  const S = (U) => {
31
- w && U !== M && (g(w, U), M = U);
31
+ y && U !== M && (g(y, U), M = U);
32
32
  };
33
- return c[y] = { set: S }, { set: S };
34
- }, f = (y) => a(y, (g, w) => e.uniform1f(g, w)), l = (y) => a(y, (g, w) => e.uniform1i(g, w)), h = (y) => a(
35
- y,
36
- (g, [w = 0, M = 0]) => e.uniform2f(g, w, M)
37
- ), u = (y) => a(
38
- y,
39
- (g, [w = 0, M = 0]) => e.uniform2i(g, w, M)
40
- ), d = (y) => a(
41
- y,
42
- (g, [w = 0, M = 0, S = 0]) => e.uniform3f(g, w, M, S)
43
- ), p = (y) => a(
44
- y,
45
- (g, [w = 0, M = 0, S = 0]) => e.uniform3i(g, w, M, S)
46
- ), _ = (y) => a(
47
- y,
48
- (g, [w = 0, M = 0, S = 0, U = 0]) => e.uniform4f(g, w, M, S, U)
49
- ), E = (y) => a(
50
- y,
51
- (g, [w = 0, M = 0, S = 0, U = 0]) => e.uniform4i(g, w, M, S, U)
52
- ), x = (y) => a(
53
- y,
54
- (g, w) => e.uniformMatrix4fv(g, !1, w)
33
+ return c[w] = { set: S }, { set: S };
34
+ }, f = (w) => a(w, (g, y) => e.uniform1f(g, y)), l = (w) => a(w, (g, y) => e.uniform1i(g, y)), h = (w) => a(
35
+ w,
36
+ (g, [y = 0, M = 0]) => e.uniform2f(g, y, M)
37
+ ), u = (w) => a(
38
+ w,
39
+ (g, [y = 0, M = 0]) => e.uniform2i(g, y, M)
40
+ ), d = (w) => a(
41
+ w,
42
+ (g, [y = 0, M = 0, S = 0]) => e.uniform3f(g, y, M, S)
43
+ ), m = (w) => a(
44
+ w,
45
+ (g, [y = 0, M = 0, S = 0]) => e.uniform3i(g, y, M, S)
46
+ ), _ = (w) => a(
47
+ w,
48
+ (g, [y = 0, M = 0, S = 0, U = 0]) => e.uniform4f(g, y, M, S, U)
49
+ ), x = (w) => a(
50
+ w,
51
+ (g, [y = 0, M = 0, S = 0, U = 0]) => e.uniform4i(g, y, M, S, U)
52
+ ), v = (w) => a(
53
+ w,
54
+ (g, y) => e.uniformMatrix4fv(g, !1, y)
55
55
  ), A = ({
56
- name: y,
56
+ name: w,
57
57
  buffer: g,
58
- size: w,
58
+ size: y,
59
59
  type: M,
60
60
  stride: S,
61
61
  offset: U
62
62
  }) => {
63
- const P = e.getAttribLocation(i, y);
63
+ const P = e.getAttribLocation(i, w);
64
64
  if (P === -1)
65
- throw new Error(`Missing attribute: ${y}`);
65
+ throw new Error(`Missing attribute: ${w}`);
66
66
  return { use: () => {
67
67
  g.use(), e.enableVertexAttribArray(P), ["u16", "i32"].includes(M) ? e.vertexAttribIPointer(
68
68
  P,
69
- w,
69
+ y,
70
70
  M === "u16" ? e.UNSIGNED_SHORT : e.INT,
71
71
  S || 0,
72
72
  U || 0
73
73
  ) : e.vertexAttribPointer(
74
74
  P,
75
- w,
75
+ y,
76
76
  e.FLOAT,
77
77
  !1,
78
78
  S || 0,
@@ -87,14 +87,14 @@ const Pt = (e, t) => {
87
87
  uniform2f: h,
88
88
  uniform2i: u,
89
89
  uniform3f: d,
90
- uniform3i: p,
90
+ uniform3i: m,
91
91
  uniform4f: _,
92
- uniform4i: E,
93
- uniformMatrix4f: x,
94
- attribute1f: (y, g, w = {}) => A({ name: y, buffer: g, size: 1, type: "f32", ...w }),
95
- attribute2f: (y, g, w = {}) => A({ name: y, buffer: g, size: 2, type: "f32", ...w }),
96
- attribute3f: (y, g, w = {}) => A({ name: y, buffer: g, size: 3, type: "f32", ...w }),
97
- attribute3i: (y, g, w = {}) => A({ name: y, buffer: g, size: 3, type: "i32", ...w }),
92
+ uniform4i: x,
93
+ uniformMatrix4f: v,
94
+ attribute1f: (w, g, y = {}) => A({ name: w, buffer: g, size: 1, type: "f32", ...y }),
95
+ attribute2f: (w, g, y = {}) => A({ name: w, buffer: g, size: 2, type: "f32", ...y }),
96
+ attribute3f: (w, g, y = {}) => A({ name: w, buffer: g, size: 3, type: "f32", ...y }),
97
+ attribute3i: (w, g, y = {}) => A({ name: w, buffer: g, size: 3, type: "i32", ...y }),
98
98
  dispose: () => {
99
99
  e.deleteProgram(i), e.deleteShader(r), e.deleteShader(s);
100
100
  }
@@ -148,27 +148,27 @@ function Ot(e) {
148
148
  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;
149
149
  }
150
150
  function Ct(e, t) {
151
- var n = t[0], i = t[1], r = t[2], s = t[3], o = t[4], c = t[5], a = t[6], f = t[7], l = t[8], h = t[9], u = t[10], d = t[11], p = t[12], _ = t[13], E = t[14], x = t[15], A = n * c - i * o, b = n * a - r * o, v = n * f - s * o, m = i * a - r * c, T = i * f - s * c, R = r * f - s * a, y = l * _ - h * p, g = l * E - u * p, w = l * x - d * p, M = h * E - u * _, S = h * x - d * _, U = u * x - d * E, P = A * U - b * S + v * M + m * w - T * g + R * y;
152
- return P ? (P = 1 / P, e[0] = (c * U - a * S + f * M) * P, e[1] = (r * S - i * U - s * M) * P, e[2] = (_ * R - E * T + x * m) * P, e[3] = (u * T - h * R - d * m) * P, e[4] = (a * w - o * U - f * g) * P, e[5] = (n * U - r * w + s * g) * P, e[6] = (E * v - p * R - x * b) * P, e[7] = (l * R - u * v + d * b) * P, e[8] = (o * S - c * w + f * y) * P, e[9] = (i * w - n * S - s * y) * P, e[10] = (p * T - _ * v + x * A) * P, e[11] = (h * v - l * T - d * A) * P, e[12] = (c * g - o * M - a * y) * P, e[13] = (n * M - i * g + r * y) * P, e[14] = (_ * b - p * m - E * A) * P, e[15] = (l * m - h * b + u * A) * P, e) : null;
151
+ var n = t[0], i = t[1], r = t[2], s = t[3], o = t[4], c = t[5], a = t[6], f = t[7], l = t[8], h = t[9], u = t[10], d = t[11], m = t[12], _ = t[13], x = t[14], v = t[15], A = n * c - i * o, b = n * a - r * o, p = n * f - s * o, E = i * a - r * c, R = i * f - s * c, T = r * f - s * a, w = l * _ - h * m, g = l * x - u * m, y = l * v - d * m, M = h * x - u * _, S = h * v - d * _, U = u * v - d * x, P = A * U - b * S + p * M + E * y - R * g + T * w;
152
+ return P ? (P = 1 / P, e[0] = (c * U - a * S + f * M) * P, e[1] = (r * S - i * U - s * M) * P, e[2] = (_ * T - x * R + v * E) * P, e[3] = (u * R - h * T - d * E) * P, e[4] = (a * y - o * U - f * g) * P, e[5] = (n * U - r * y + s * g) * P, e[6] = (x * p - m * T - v * b) * P, e[7] = (l * T - u * p + d * b) * P, e[8] = (o * S - c * y + f * w) * P, e[9] = (i * y - n * S - s * w) * P, e[10] = (m * R - _ * p + v * A) * P, e[11] = (h * p - l * R - d * A) * P, e[12] = (c * g - o * M - a * w) * P, e[13] = (n * M - i * g + r * w) * P, e[14] = (_ * b - m * E - x * A) * P, e[15] = (l * E - h * b + u * A) * P, e) : null;
153
153
  }
154
154
  function Xt(e, t, n) {
155
- var i = t[0], r = t[1], s = t[2], o = t[3], c = t[4], a = t[5], f = t[6], l = t[7], h = t[8], u = t[9], d = t[10], p = t[11], _ = t[12], E = t[13], x = t[14], A = t[15], b = n[0], v = n[1], m = n[2], T = n[3];
156
- return e[0] = b * i + v * c + m * h + T * _, e[1] = b * r + v * a + m * u + T * E, e[2] = b * s + v * f + m * d + T * x, e[3] = b * o + v * l + m * p + T * A, b = n[4], v = n[5], m = n[6], T = n[7], e[4] = b * i + v * c + m * h + T * _, e[5] = b * r + v * a + m * u + T * E, e[6] = b * s + v * f + m * d + T * x, e[7] = b * o + v * l + m * p + T * A, b = n[8], v = n[9], m = n[10], T = n[11], e[8] = b * i + v * c + m * h + T * _, e[9] = b * r + v * a + m * u + T * E, e[10] = b * s + v * f + m * d + T * x, e[11] = b * o + v * l + m * p + T * A, b = n[12], v = n[13], m = n[14], T = n[15], e[12] = b * i + v * c + m * h + T * _, e[13] = b * r + v * a + m * u + T * E, e[14] = b * s + v * f + m * d + T * x, e[15] = b * o + v * l + m * p + T * A, e;
155
+ var i = t[0], r = t[1], s = t[2], o = t[3], c = t[4], a = t[5], f = t[6], l = t[7], h = t[8], u = t[9], d = t[10], m = t[11], _ = t[12], x = t[13], v = t[14], A = t[15], b = n[0], p = n[1], E = n[2], R = n[3];
156
+ return e[0] = b * i + p * c + E * h + R * _, e[1] = b * r + p * a + E * u + R * x, e[2] = b * s + p * f + E * d + R * v, e[3] = b * o + p * l + E * m + R * A, b = n[4], p = n[5], E = n[6], R = n[7], e[4] = b * i + p * c + E * h + R * _, e[5] = b * r + p * a + E * u + R * x, e[6] = b * s + p * f + E * d + R * v, e[7] = b * o + p * l + E * m + R * A, b = n[8], p = n[9], E = n[10], R = n[11], e[8] = b * i + p * c + E * h + R * _, e[9] = b * r + p * a + E * u + R * x, e[10] = b * s + p * f + E * d + R * v, e[11] = b * o + p * l + E * m + R * A, b = n[12], p = n[13], E = n[14], R = n[15], e[12] = b * i + p * c + E * h + R * _, e[13] = b * r + p * a + E * u + R * x, e[14] = b * s + p * f + E * d + R * v, e[15] = b * o + p * l + E * m + R * A, e;
157
157
  }
158
158
  function Wt(e, t, n) {
159
159
  var i = n[0], r = n[1], s = n[2];
160
160
  return e[0] = t[0] * i, e[1] = t[1] * i, e[2] = t[2] * i, e[3] = t[3] * i, e[4] = t[4] * r, e[5] = t[5] * r, e[6] = t[6] * r, e[7] = t[7] * r, e[8] = t[8] * s, e[9] = t[9] * s, e[10] = t[10] * s, e[11] = t[11] * s, e[12] = t[12], e[13] = t[13], e[14] = t[14], e[15] = t[15], e;
161
161
  }
162
162
  function Ke(e, t) {
163
- var n = t[0], i = t[1], r = t[2], s = t[3], o = n + n, c = i + i, a = r + r, f = n * o, l = i * o, h = i * c, u = r * o, d = r * c, p = r * a, _ = s * o, E = s * c, x = s * a;
164
- return e[0] = 1 - h - p, e[1] = l + x, e[2] = u - E, e[3] = 0, e[4] = l - x, e[5] = 1 - f - p, e[6] = d + _, e[7] = 0, e[8] = u + E, e[9] = d - _, e[10] = 1 - f - h, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e;
163
+ var n = t[0], i = t[1], r = t[2], s = t[3], o = n + n, c = i + i, a = r + r, f = n * o, l = i * o, h = i * c, u = r * o, d = r * c, m = r * a, _ = s * o, x = s * c, v = s * a;
164
+ return e[0] = 1 - h - m, e[1] = l + v, e[2] = u - x, e[3] = 0, e[4] = l - v, e[5] = 1 - f - m, e[6] = d + _, e[7] = 0, e[8] = u + x, e[9] = d - _, e[10] = 1 - f - h, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e;
165
165
  }
166
166
  function jt(e, t, n, i, r) {
167
167
  var s = 1 / Math.tan(t / 2), o;
168
168
  return e[0] = s / n, e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[5] = s, e[6] = 0, e[7] = 0, e[8] = 0, e[9] = 0, e[11] = -1, e[12] = 0, e[13] = 0, e[15] = 0, r != null && r !== 1 / 0 ? (o = 1 / (i - r), e[10] = (r + i) * o, e[14] = 2 * r * i * o) : (e[10] = -1, e[14] = -2 * i), e;
169
169
  }
170
170
  var Bt = jt;
171
- function L() {
171
+ function I() {
172
172
  var e = new W(3);
173
173
  return W != Float32Array && (e[0] = 0, e[1] = 0, e[2] = 0), e;
174
174
  }
@@ -220,7 +220,7 @@ function Ht(e, t, n, i) {
220
220
  }
221
221
  var se = Yt, Gt = Vt;
222
222
  (function() {
223
- var e = L();
223
+ var e = I();
224
224
  return function(t, n, i, r, s, o) {
225
225
  var c, a;
226
226
  for (n || (n = 3), i || (i = 0), r ? a = Math.min(r * n + i, t.length) : a = t.length, c = i; c < a; c += n)
@@ -290,8 +290,8 @@ function sn(e, t) {
290
290
  return Math.acos(2 * n * n - 1);
291
291
  }
292
292
  function Ie(e, t, n, i) {
293
- var r = t[0], s = t[1], o = t[2], c = t[3], a = n[0], f = n[1], l = n[2], h = n[3], u, d, p, _, E;
294
- return d = r * a + s * f + o * l + c * h, d < 0 && (d = -d, a = -a, f = -f, l = -l, h = -h), 1 - d > Nt ? (u = Math.acos(d), p = Math.sin(u), _ = Math.sin((1 - i) * u) / p, E = Math.sin(i * u) / p) : (_ = 1 - i, E = i), e[0] = _ * r + E * a, e[1] = _ * s + E * f, e[2] = _ * o + E * l, e[3] = _ * c + E * h, e;
293
+ var r = t[0], s = t[1], o = t[2], c = t[3], a = n[0], f = n[1], l = n[2], h = n[3], u, d, m, _, x;
294
+ return d = r * a + s * f + o * l + c * h, d < 0 && (d = -d, a = -a, f = -f, l = -l, h = -h), 1 - d > Nt ? (u = Math.acos(d), m = Math.sin(u), _ = Math.sin((1 - i) * u) / m, x = Math.sin(i * u) / m) : (_ = 1 - i, x = i), e[0] = _ * r + x * a, e[1] = _ * s + x * f, e[2] = _ * o + x * l, e[3] = _ * c + x * h, e;
295
295
  }
296
296
  function on(e, t) {
297
297
  var n = t[0] + t[4] + t[8], i;
@@ -307,7 +307,7 @@ function on(e, t) {
307
307
  }
308
308
  var an = mt, cn = tn, pt = en;
309
309
  (function() {
310
- var e = L(), t = st(1, 0, 0), n = st(0, 1, 0);
310
+ var e = I(), t = st(1, 0, 0), n = st(0, 1, 0);
311
311
  return function(i, r, s) {
312
312
  var o = kt(r, s);
313
313
  return o < -0.999999 ? (Ze(e, t, r), Gt(e) < 1e-6 && Ze(e, n, r), $t(e, e), rn(i, e, Math.PI), i) : o > 0.999999 ? (i[0] = 0, i[1] = 0, i[2] = 0, i[3] = 1, i) : (Ze(e, r, s), i[0] = e[0], i[1] = e[1], i[2] = e[2], i[3] = 1 + o, pt(i, i));
@@ -369,23 +369,23 @@ var xn = dn;
369
369
  const F = 40075017, De = (e) => e / 180 * Math.PI, En = (e) => e * 180 / Math.PI, _n = (e, t, n) => {
370
370
  const i = Math.sqrt(t * t - 4 * e * n);
371
371
  return [(-t - i) / (2 * e), (-t + i) / (2 * e)];
372
- }, yn = (e, t, n) => Math.min(Math.max(e, t), n), ct = Math.atan(Math.sinh(Math.PI)), z = ([e = 0, t = 0, n = 0], i = L()) => be(
372
+ }, yn = (e, t, n) => Math.min(Math.max(e, t), n), ct = Math.atan(Math.sinh(Math.PI)), N = ([e = 0, t = 0, n = 0], i = I()) => be(
373
373
  i,
374
374
  e / 360 + 0.5,
375
375
  -Math.asinh(Math.tan(yn(De(t), -ct, ct))) / (2 * Math.PI) + 0.5,
376
376
  n / F
377
- ), oe = ([e = 0, t = 0, n = 0], i = L()) => be(
377
+ ), oe = ([e = 0, t = 0, n = 0], i = I()) => be(
378
378
  i,
379
379
  (e - 0.5) * 360,
380
380
  En(Math.atan(Math.sinh(-(t - 0.5) * (2 * Math.PI)))),
381
381
  n * F
382
- ), vt = ([e = 0, t = 0, n = 0], i = L()) => {
382
+ ), vt = ([e = 0, t = 0, n = 0], i = I()) => {
383
383
  const r = 2 ** -n;
384
384
  return be(i, e * r, t * r, 0);
385
385
  }, xt = ([e = 0, t = 0, n = 0]) => {
386
386
  const i = Math.cos(e * 0.5), r = Math.sin(e * 0.5), s = Math.cos(t * 0.5), o = Math.sin(t * 0.5), c = Math.cos(n * 0.5), a = Math.sin(n * 0.5), f = r * s * c + i * o * a, l = i * o * c - r * s * a, h = i * s * a + r * o * c, u = i * s * c - r * o * a;
387
387
  return [f, l, h, u];
388
- }, Tn = ([e = 0, t = 0, n = 0, i = 0]) => {
388
+ }, wn = ([e = 0, t = 0, n = 0, i = 0]) => {
389
389
  const r = (a, f, l) => Math.max(f, Math.min(a, l)), s = Math.atan2(2 * (i * e - t * n), 1 - 2 * (e * e + t * t)), o = Math.asin(r(2 * (i * t + n * e), -1, 1)), c = Math.atan2(2 * (i * n - e * t), 1 - 2 * (t * t + n * n));
390
390
  return [s, o, c];
391
391
  }, Et = {
@@ -398,54 +398,54 @@ const F = 40075017, De = (e) => e / 180 * Math.PI, En = (e) => e * 180 / Math.PI
398
398
  const { target: n, offset: i, distance: r, orientation: s, fieldOfView: o } = {
399
399
  ...Et,
400
400
  ...e
401
- }, [c = 0, a = 0] = t, [f = 0, l = 0] = i, h = Math.tan(De(45) / 2) / Math.tan(De(o) / 2), u = r / F, d = Math.max(1e3 / F, u), p = 1e3, _ = 1e-3, E = d * p * h, x = d * _ * h, A = ne(), b = he();
402
- Ot(b), Bt(b, De(o), c / a, x, E), Wt(b, b, [1, -1, 1]);
403
- const v = he();
404
- Ke(v, xt(s));
405
- const m = Xt(he(), b, v), T = Ct(he(), m);
406
- if (!T)
401
+ }, [c = 0, a = 0] = t, [f = 0, l = 0] = i, h = Math.tan(De(45) / 2) / Math.tan(De(o) / 2), u = r / F, d = Math.max(1e3 / F, u), m = 1e3, _ = 1e-3, x = d * m * h, v = d * _ * h, A = ne(), b = he();
402
+ Ot(b), Bt(b, De(o), c / a, v, x), Wt(b, b, [1, -1, 1]);
403
+ const p = he();
404
+ Ke(p, xt(s));
405
+ const E = Xt(he(), b, p), R = Ct(he(), E);
406
+ if (!R)
407
407
  throw new Error("No inverse");
408
- const R = (O) => {
408
+ const T = (O) => {
409
409
  const Z = [c * O, a * O], H = [f * O, l * O];
410
410
  return te({ ...e, offset: H }, Z);
411
- }, y = ([O = 0, Z = 0], H = ne()) => {
412
- const Q = 2 * O / c - 1, Te = -(2 * Z / a - 1);
413
- return ot(H, Q, Te, 0, 1);
414
- }, g = ([O = 0, Z = 0, , H = 0], Q = ve()) => H < 0 ? Q : un(Q, (1 + O / H) * c * 0.5, (1 - Z / H) * a * 0.5), w = (O, Z = L()) => {
415
- const [H = 0, Q = 0, Te = 0, we = 0] = at(A, O, T);
416
- return be(Z, H / we, Q / we, Te / we);
417
- }, M = ([O = 0, Z = 0, H = 0], Q = ne()) => at(Q, ot(Q, O, Z, H, 1), m), [S = 0, U = 0] = y([f + c / 2, l + a / 2]), [P = 0, N = 0, I = 0] = w([S, U, -1, 1]), [X = 0, C = 0, Y = 0] = w([S, U, 1.00001, 1]), [j = 0] = _n(
418
- (X - P) ** 2 + (C - N) ** 2 + (Y - I) ** 2,
419
- 2 * (P * (X - P) + N * (C - N) + I * (Y - I)),
420
- P ** 2 + N ** 2 + I ** 2 - (u * h) ** 2
411
+ }, w = ([O = 0, Z = 0], H = ne()) => {
412
+ const Q = 2 * O / c - 1, we = -(2 * Z / a - 1);
413
+ return ot(H, Q, we, 0, 1);
414
+ }, g = ([O = 0, Z = 0, , H = 0], Q = ve()) => H < 0 ? Q : un(Q, (1 + O / H) * c * 0.5, (1 - Z / H) * a * 0.5), y = (O, Z = I()) => {
415
+ const [H = 0, Q = 0, we = 0, Te = 0] = at(A, O, R);
416
+ return be(Z, H / Te, Q / Te, we / Te);
417
+ }, M = ([O = 0, Z = 0, H = 0], Q = ne()) => at(Q, ot(Q, O, Z, H, 1), E), [S = 0, U = 0] = w([f + c / 2, l + a / 2]), [P = 0, z = 0, L = 0] = y([S, U, -1, 1]), [X = 0, C = 0, Y = 0] = y([S, U, 1.00001, 1]), [j = 0] = _n(
418
+ (X - P) ** 2 + (C - z) ** 2 + (Y - L) ** 2,
419
+ 2 * (P * (X - P) + z * (C - z) + L * (Y - L)),
420
+ P ** 2 + z ** 2 + L ** 2 - (u * h) ** 2
421
421
  );
422
422
  if (isNaN(j))
423
423
  throw new Error("Unexpected");
424
424
  const q = [
425
425
  P + j * (X - P),
426
- N + j * (C - N),
427
- I + j * (Y - I)
428
- ], J = se(L(), z(n), q), $ = (O, Z = L()) => re(Z, O, J), k = (O, Z = L()) => se(Z, O, J);
426
+ z + j * (C - z),
427
+ L + j * (Y - L)
428
+ ], J = se(I(), N(n), q), $ = (O, Z = I()) => re(Z, O, J), k = (O, Z = I()) => se(Z, O, J);
429
429
  return {
430
430
  camera: J,
431
431
  screen: t,
432
432
  projection: b,
433
- modelView: v,
433
+ modelView: p,
434
434
  fieldScale: h,
435
- scale: R,
436
- screenToClip: y,
435
+ scale: T,
436
+ screenToClip: w,
437
437
  clipToScreen: g,
438
- clipToLocal: w,
438
+ clipToLocal: y,
439
439
  localToClip: M,
440
440
  localToWorld: $,
441
441
  worldToLocal: k,
442
- project: (O) => g(M(k(z(O)))),
442
+ project: (O) => g(M(k(N(O)))),
443
443
  unproject: (O, { targetZ: Z = 0 } = {}) => {
444
- const H = y(O), [Q = 0, Te = 0, , we = 0] = H, St = [Q, Te, -1, we], tt = oe($(w(H))), nt = oe($(w(St))), [, , Ve = 0] = tt, [, , it = 0] = nt, Ut = Ve === it ? 0 : (Z - Ve) / (it - Ve);
445
- return Ht(L(), tt, nt, Ut);
444
+ const H = w(O), [Q = 0, we = 0, , Te = 0] = H, St = [Q, we, -1, Te], tt = oe($(y(H))), nt = oe($(y(St))), [, , Ve = 0] = tt, [, , it = 0] = nt, Ut = Ve === it ? 0 : (Z - Ve) / (it - Ve);
445
+ return Ht(I(), tt, nt, Ut);
446
446
  }
447
447
  };
448
- }, wn = 100, Si = (e, t, n) => {
448
+ }, Tn = 100, Si = (e, t, n) => {
449
449
  const {
450
450
  enabled: i = () => !0,
451
451
  draggable: r = () => !0,
@@ -453,72 +453,76 @@ const F = 40075017, De = (e) => e / 180 * Math.PI, En = (e) => e * 180 / Math.PI
453
453
  onChangeView: o
454
454
  } = n;
455
455
  let c = !1, a = !1;
456
- const { view: f } = n, l = ([m = 0, T = 0]) => {
457
- const [R, y] = [
456
+ const { view: f } = n, l = ([T = 0, w = 0]) => {
457
+ const [g, y] = [
458
458
  e.width / devicePixelRatio,
459
459
  e.height / devicePixelRatio
460
- ], { camera: g, fieldScale: w } = te(f(), [R, y]), { position: M, layer: S } = t.pick([m, T]);
461
- if (!S)
460
+ ], { camera: M, fieldScale: S } = te(f(), [g, y]), { position: U, layer: P } = t.pick([T, w]);
461
+ if (!P)
462
462
  return;
463
- const U = Me(z(M), g) * F / w, P = [m - R / 2, T - y / 2];
463
+ const z = Me(N(U), M) * F / S, L = [T - g / 2, w - y / 2];
464
464
  o({
465
- offset: P,
466
- target: M,
467
- distance: U
468
- });
469
- }, h = (m, T) => {
465
+ offset: L,
466
+ target: U,
467
+ distance: z
468
+ }), a = !0;
469
+ }, h = (T, w) => {
470
470
  if (!r() || t.dragging)
471
471
  return;
472
- a || (l([m, T]), a = !0);
473
- const [R, y] = [
472
+ a || l([T, w]);
473
+ const [g, y] = [
474
474
  e.width / devicePixelRatio,
475
475
  e.height / devicePixelRatio
476
476
  ];
477
477
  o({
478
- offset: [m - R / 2, T - y / 2]
478
+ offset: [T - g / 2, w - y / 2]
479
479
  });
480
- }, u = (m, T, R, y) => {
480
+ }, u = (T, w, g, y) => {
481
481
  if (!s())
482
482
  return;
483
- r() && !a && (l([m, T]), a = !0);
484
- const [g, w] = [
483
+ r() && !a && l([T, w]);
484
+ const [M, S] = [
485
485
  e.width / devicePixelRatio,
486
486
  e.height / devicePixelRatio
487
- ], [M = 0, S = 0, U = 0] = f().orientation ?? [], P = [
487
+ ], [U = 0, P = 0, z = 0] = f().orientation ?? [], L = [
488
488
  Math.min(
489
489
  Math.PI / 2 - 0.1,
490
- Math.max(0.1, M - y / w * Math.PI)
490
+ Math.max(0.1, U - y / S * Math.PI)
491
491
  ),
492
- S,
493
- U - R / g * Math.PI
492
+ P,
493
+ z - g / M * Math.PI
494
494
  ];
495
495
  o({
496
- orientation: P
496
+ orientation: L
497
497
  });
498
- }, d = (m) => {
499
- m.preventDefault(), a = !1;
500
- }, p = ({ buttons: m, movementX: T, movementY: R, x: y, y: g }) => {
501
- !i() || !m || (m === 1 && r() ? h(y, g) : m === 2 && s() && u(y, g, T, R));
502
- }, _ = (m) => {
503
- m.preventDefault();
504
- const T = m.touches.item(0);
505
- if (!T)
498
+ };
499
+ let d = !1;
500
+ const m = (T) => {
501
+ T.preventDefault(), a = !1, d = !0;
502
+ }, _ = () => {
503
+ d = !1;
504
+ }, x = ({ buttons: T, movementX: w, movementY: g, x: y, y: M }) => {
505
+ !i() || !d || (T === 1 && r() ? h(y, M) : T === 2 && s() && u(y, M, w, g));
506
+ }, v = (T) => {
507
+ T.preventDefault();
508
+ const w = T.touches.item(0);
509
+ if (!w)
506
510
  return;
507
- const { clientX: R, clientY: y } = T;
508
- h(R, y);
509
- }, E = Pt(() => c = !1, 100), x = ({ x: m, y: T, deltaY: R }) => {
511
+ const { clientX: g, clientY: y } = w;
512
+ h(g, y);
513
+ }, A = Pt(() => c = !1, 100), b = ({ x: T, y: w, deltaY: g }) => {
510
514
  if (!i())
511
515
  return;
512
- c || (r() && l([m, T]), c = !0);
516
+ c || (r() && l([T, w]), c = !0);
513
517
  let { distance: y } = { ...Et, ...f() };
514
518
  y = Math.min(
515
- Math.max(y * Math.exp(R * 1e-3), wn),
519
+ Math.max(y * Math.exp(g * 1e-3), Tn),
516
520
  F
517
- ), o({ distance: y }), E();
518
- }, A = (m) => m.preventDefault(), b = (m) => m.preventDefault();
519
- return e.addEventListener("mousedown", d), e.addEventListener("mousemove", p), e.addEventListener("touchstart", d, { passive: !1 }), e.addEventListener("touchmove", _, { passive: !1 }), e.addEventListener("gesturestart", A), e.addEventListener("wheel", x, { passive: !0 }), e.addEventListener("contextmenu", b), {
521
+ ), o({ distance: y }), A();
522
+ }, p = (T) => T.preventDefault(), E = (T) => T.preventDefault();
523
+ return e.addEventListener("mousedown", m), e.addEventListener("mousemove", x), e.addEventListener("touchstart", m, { passive: !1 }), e.addEventListener("touchmove", v, { passive: !1 }), e.addEventListener("gesturestart", p), e.addEventListener("wheel", b, { passive: !0 }), e.addEventListener("contextmenu", E), window.addEventListener("mouseup", _), {
520
524
  dispose: () => {
521
- e.removeEventListener("mousedown", d), e.removeEventListener("mousemove", p), e.removeEventListener("touchstart", d), e.removeEventListener("touchmove", _), e.removeEventListener("gesturestart", A), e.removeEventListener("wheel", x), e.removeEventListener("contextmenu", b);
525
+ e.removeEventListener("mousedown", m), e.removeEventListener("mousemove", x), e.removeEventListener("touchstart", m), e.removeEventListener("touchmove", v), e.removeEventListener("gesturestart", p), e.removeEventListener("wheel", b), e.removeEventListener("contextmenu", E), window.removeEventListener("mouseup", _);
522
526
  }
523
527
  };
524
528
  }, V = ({
@@ -637,7 +641,7 @@ const Pe = gn(), Rn = ({
637
641
  0
638
642
  );
639
643
  }, dispose: () => e.deleteTexture(t) };
640
- }, Tt = ({
644
+ }, wt = ({
641
645
  gl: e,
642
646
  url: t,
643
647
  onLoad: n
@@ -739,12 +743,12 @@ const Ui = (e, t = {}) => {
739
743
  );
740
744
  const a = ce(
741
745
  () => t.url?.() ?? "",
742
- (p) => {
743
- const _ = Tt({
746
+ (m) => {
747
+ const _ = wt({
744
748
  gl: n,
745
- url: p,
746
- onLoad: ({ width: E, height: x }) => {
747
- r = [E, x], n.texParameteri(n.TEXTURE_2D, n.TEXTURE_MIN_FILTER, n.LINEAR), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_MAG_FILTER, n.LINEAR), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_S, n.CLAMP_TO_EDGE), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_T, n.CLAMP_TO_EDGE), i?.dispose(), i = _;
749
+ url: m,
750
+ onLoad: ({ width: x, height: v }) => {
751
+ r = [x, v], n.texParameteri(n.TEXTURE_2D, n.TEXTURE_MIN_FILTER, n.LINEAR), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_MAG_FILTER, n.LINEAR), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_S, n.CLAMP_TO_EDGE), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_T, n.CLAMP_TO_EDGE), i?.dispose(), i = _;
748
752
  }
749
753
  });
750
754
  }
@@ -753,25 +757,25 @@ const Ui = (e, t = {}) => {
753
757
  uvBuffer: o,
754
758
  indexBuffer: c
755
759
  }), h = ({
756
- viewport: { projection: p, modelView: _, camera: E, screen: x },
760
+ viewport: { projection: m, modelView: _, camera: x, screen: v },
757
761
  depth: A = !1,
758
762
  index: b = 0
759
763
  }) => {
760
- const v = t.position?.() ?? [0, 0, 0], m = t.color?.() ?? [1, 1, 1, 1], T = t.size?.() ?? 100, R = t.minSizePixels?.() ?? 0, y = t.maxSizePixels?.() ?? Number.MAX_VALUE;
764
+ const p = t.position?.() ?? [0, 0, 0], E = t.color?.() ?? [1, 1, 1, 1], R = t.size?.() ?? 100, T = t.minSizePixels?.() ?? 0, w = t.maxSizePixels?.() ?? Number.MAX_VALUE;
761
765
  if (a(), !i || Ee(n, A, t))
762
766
  return;
763
767
  (A ? l : f).execute({
764
- projection: p,
768
+ projection: m,
765
769
  modelView: _,
766
- camera: K(E),
767
- screen: x,
770
+ camera: K(x),
771
+ screen: v,
768
772
  image: i,
769
773
  imageSize: r,
770
- position: K(z(v)),
771
- color: m,
772
- size: T,
773
- minSizePixels: R,
774
- maxSizePixels: y,
774
+ position: K(N(p)),
775
+ color: E,
776
+ size: R,
777
+ minSizePixels: T,
778
+ maxSizePixels: w,
775
779
  index: b
776
780
  });
777
781
  }, u = () => {
@@ -795,22 +799,22 @@ const Ui = (e, t = {}) => {
795
799
  stride: 2 * Float32Array.BYTES_PER_ELEMENT
796
800
  }), h = f.attribute2f("uv", i, {
797
801
  stride: 2 * Float32Array.BYTES_PER_ELEMENT
798
- }), u = f.uniformMatrix4f("projection"), d = f.uniformMatrix4f("model_view"), p = f.uniform3i("camera"), _ = f.uniform2f("screen"), E = f.uniform1i("image"), x = f.uniform2f("image_size"), A = f.uniform3i("position"), b = f.uniform4f("color"), v = f.uniform1i("index"), m = f.uniform1f("size"), T = f.uniform1f("min_size_pixels"), R = f.uniform1f("max_size_pixels");
802
+ }), u = f.uniformMatrix4f("projection"), d = f.uniformMatrix4f("model_view"), m = f.uniform3i("camera"), _ = f.uniform2f("screen"), x = f.uniform1i("image"), v = f.uniform2f("image_size"), A = f.uniform3i("position"), b = f.uniform4f("color"), p = f.uniform1i("index"), E = f.uniform1f("size"), R = f.uniform1f("min_size_pixels"), T = f.uniform1f("max_size_pixels");
799
803
  return { execute: ({
800
804
  projection: g,
801
- modelView: w,
805
+ modelView: y,
802
806
  camera: M,
803
807
  screen: S,
804
808
  image: U,
805
809
  imageSize: P,
806
- position: N,
807
- color: I,
810
+ position: z,
811
+ color: L,
808
812
  size: X,
809
813
  minSizePixels: C,
810
814
  maxSizePixels: Y,
811
815
  index: j
812
816
  }) => {
813
- f.use(), l.use(), h.use(), u.set(g), d.set(w), p.set(M), _.set(S), x.set(P), A.set(N), b.set(I), m.set(X), T.set(C), R.set(Y), v.set(j), e.activeTexture(e.TEXTURE0), E.set(0), U.use(), r.use(), e.drawElements(e.TRIANGLES, 6, e.UNSIGNED_SHORT, 0);
817
+ f.use(), l.use(), h.use(), u.set(g), d.set(y), m.set(M), _.set(S), v.set(P), A.set(z), b.set(L), E.set(X), R.set(C), T.set(Y), p.set(j), e.activeTexture(e.TEXTURE0), x.set(0), U.use(), r.use(), e.drawElements(e.TRIANGLES, 6, e.UNSIGNED_SHORT, 0);
814
818
  } };
815
819
  }, o = s(), c = s(!0);
816
820
  return { renderProgram: o, depthProgram: c };
@@ -934,70 +938,70 @@ const Ii = (e, t = {}) => {
934
938
  }), l = yt(n);
935
939
  l.use(), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_MIN_FILTER, n.LINEAR), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_MAG_FILTER, n.LINEAR), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_S, n.CLAMP_TO_EDGE), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_T, n.REPEAT);
936
940
  const h = ({
937
- viewport: { projection: E, modelView: x, camera: A, screen: b },
938
- depth: v = !1,
939
- index: m = 0
941
+ viewport: { projection: x, modelView: v, camera: A, screen: b },
942
+ depth: p = !1,
943
+ index: E = 0
940
944
  }) => {
941
945
  u(), d();
942
- const T = t.color?.() ?? [1, 1, 1, 1], R = t.width?.() ?? 1, y = t.minWidthPixels?.() ?? 0, g = t.maxWidthPixels?.() ?? Number.MAX_VALUE, w = t.depthWidthPixels?.(), M = t.dashSize?.() ?? 1e3, S = t.dashOffset?.() ?? 0;
943
- if (Ee(n, v, t))
946
+ const R = t.color?.() ?? [1, 1, 1, 1], T = t.width?.() ?? 1, w = t.minWidthPixels?.() ?? 0, g = t.maxWidthPixels?.() ?? Number.MAX_VALUE, y = t.depthWidthPixels?.(), M = t.dashSize?.() ?? 1e3, S = t.dashOffset?.() ?? 0;
947
+ if (Ee(n, p, t))
944
948
  return;
945
- (v ? f : a).execute({
946
- projection: E,
947
- modelView: x,
949
+ (p ? f : a).execute({
950
+ projection: x,
951
+ modelView: v,
948
952
  camera: K(A),
949
953
  screen: b,
950
954
  count: i,
951
- color: T,
952
- width: R,
953
- minWidthPixels: v && w !== void 0 ? Math.max(y, w) : y,
954
- maxWidthPixels: v && w !== void 0 ? Math.max(g, w) : g,
955
- index: m,
955
+ color: R,
956
+ width: T,
957
+ minWidthPixels: p && y !== void 0 ? Math.max(w, y) : w,
958
+ maxWidthPixels: p && y !== void 0 ? Math.max(g, y) : g,
959
+ index: E,
956
960
  dash: l,
957
961
  dashSize: M,
958
962
  dashOffset: S
959
963
  });
960
964
  }, u = ce(
961
965
  () => t.points?.() ?? [],
962
- (E) => {
963
- const x = E.flatMap((m) => {
964
- const [T] = m, [R] = m.slice(-1);
965
- return !T || !R ? [] : ((g) => {
966
- const w = new Array(g.length * 3 * 4);
966
+ (x) => {
967
+ const v = x.flatMap((E) => {
968
+ const [R] = E, [T] = E.slice(-1);
969
+ return !R || !T ? [] : ((g) => {
970
+ const y = new Array(g.length * 3 * 4);
967
971
  for (let M = 0; M < g.length; M++) {
968
972
  const [S = 0, U = 0, P = 0] = g[M] ?? [];
969
- for (let N = 0; N < 4; N++) {
970
- const I = M * 3 * 4 + N * 3;
971
- w[I + 0] = S, w[I + 1] = U, w[I + 2] = P;
973
+ for (let z = 0; z < 4; z++) {
974
+ const L = M * 3 * 4 + z * 3;
975
+ y[L + 0] = S, y[L + 1] = U, y[L + 2] = P;
972
976
  }
973
977
  }
974
- return w;
975
- })([T, ...m, R].map((g) => K(z(g))));
976
- }), { indexData: A } = E.reduce(
977
- ({ indexData: m, count: T }, R) => {
978
- if (R.length === 0)
979
- return { indexData: m, count: T };
980
- const y = xe(0, (R.length - 1) * 2).flatMap((g) => {
981
- const [w = 0, M = 0, S = 0, U = 0] = [0, 1, 2, 3].map(
982
- (P) => P + g * 2 + T
978
+ return y;
979
+ })([R, ...E, T].map((g) => K(N(g))));
980
+ }), { indexData: A } = x.reduce(
981
+ ({ indexData: E, count: R }, T) => {
982
+ if (T.length === 0)
983
+ return { indexData: E, count: R };
984
+ const w = xe(0, (T.length - 1) * 2).flatMap((g) => {
985
+ const [y = 0, M = 0, S = 0, U = 0] = [0, 1, 2, 3].map(
986
+ (P) => P + g * 2 + R
983
987
  );
984
988
  return [
985
- w,
989
+ y,
986
990
  M,
987
991
  U,
988
992
  /**/
989
- w,
993
+ y,
990
994
  U,
991
995
  S
992
996
  ];
993
997
  });
994
- return T += (R.length + 2) * 4, m = m.concat(y), { indexData: m, count: T };
998
+ return R += (T.length + 2) * 4, E = E.concat(w), { indexData: E, count: R };
995
999
  },
996
1000
  { indexData: [], count: 0 }
997
1001
  );
998
1002
  i = A.length;
999
- const b = E.flatMap(
1000
- (m) => m.length === 0 ? [] : xe(0, (m.length + 1) * 2).flatMap(() => [
1003
+ const b = x.flatMap(
1004
+ (E) => E.length === 0 ? [] : xe(0, (E.length + 1) * 2).flatMap(() => [
1001
1005
  -1,
1002
1006
  -1,
1003
1007
  //
@@ -1010,43 +1014,43 @@ const Ii = (e, t = {}) => {
1010
1014
  1,
1011
1015
  1
1012
1016
  ])
1013
- ), v = E.flatMap((m) => {
1014
- const R = m.map(
1015
- (M, S) => Me(z(M), z(m[S - 1] ?? M)) * F
1017
+ ), p = x.flatMap((E) => {
1018
+ const T = E.map(
1019
+ (M, S) => Me(N(M), N(E[S - 1] ?? M)) * F
1016
1020
  ).reduce(
1017
1021
  ({ current: M, result: S }, U) => (M += U, S.push(M), { current: M, result: S }),
1018
1022
  { current: 0, result: [] }
1019
- ).result, [y] = R, [g] = R.slice(-1);
1020
- return y === void 0 || g === void 0 ? [] : ((M) => {
1023
+ ).result, [w] = T, [g] = T.slice(-1);
1024
+ return w === void 0 || g === void 0 ? [] : ((M) => {
1021
1025
  const S = new Array(M.length * 4);
1022
1026
  for (let U = 0; U < M.length; U++)
1023
1027
  S[U * 4 + 0] = M[U], S[U * 4 + 1] = M[U], S[U * 4 + 2] = M[U], S[U * 4 + 3] = M[U];
1024
1028
  return S;
1025
- })([y, ...R, g]);
1029
+ })([w, ...T, g]);
1026
1030
  });
1027
- r.set(x), s.set(A), o.set(b), c.set(v);
1031
+ r.set(v), s.set(A), o.set(b), c.set(p);
1028
1032
  }
1029
1033
  ), d = ce(
1030
1034
  () => t.dashPattern?.(),
1031
- (E) => {
1032
- E = E ?? [[1, 1, 1, 1]], l.use(), n.texImage2D(
1035
+ (x) => {
1036
+ x = x ?? [[1, 1, 1, 1]], l.use(), n.texImage2D(
1033
1037
  n.TEXTURE_2D,
1034
1038
  0,
1035
1039
  n.RGBA,
1036
- E.length,
1040
+ x.length,
1037
1041
  1,
1038
1042
  0,
1039
1043
  n.RGBA,
1040
1044
  n.UNSIGNED_BYTE,
1041
- new Uint8Array(E.flatMap((x) => [...x.map((A) => A * 255)]))
1045
+ new Uint8Array(x.flatMap((v) => [...v.map((A) => A * 255)]))
1042
1046
  );
1043
1047
  }
1044
- ), p = () => {
1048
+ ), m = () => {
1045
1049
  l.dispose(), r.dispose(), s.dispose(), o.dispose(), c.dispose();
1046
1050
  }, _ = ye(t);
1047
1051
  return {
1048
1052
  render: h,
1049
- dispose: p,
1053
+ dispose: m,
1050
1054
  ..._
1051
1055
  };
1052
1056
  }, Pn = ({ gl: e, programs: t }, {
@@ -1061,21 +1065,21 @@ const Ii = (e, t = {}) => {
1061
1065
  fragmentSource: f ? _e : Sn
1062
1066
  }), h = Float32Array.BYTES_PER_ELEMENT, u = Int32Array.BYTES_PER_ELEMENT, d = l.attribute3i("previous", n, {
1063
1067
  stride: u * 3
1064
- }), p = l.attribute3i("current", n, {
1068
+ }), m = l.attribute3i("current", n, {
1065
1069
  stride: u * 3,
1066
1070
  offset: u * 3 * 4
1067
1071
  }), _ = l.attribute3i("next", n, {
1068
1072
  stride: u * 3,
1069
1073
  offset: u * 3 * 4 * 2
1070
- }), E = l.attribute2f("corner", r, {
1074
+ }), x = l.attribute2f("corner", r, {
1071
1075
  stride: h * 2
1072
- }), x = l.attribute1f("distance", s, {
1076
+ }), v = l.attribute1f("distance", s, {
1073
1077
  stride: h,
1074
1078
  offset: h * 1 * 4
1075
- }), A = l.uniformMatrix4f("projection"), b = l.uniformMatrix4f("model_view"), v = l.uniform3i("camera"), m = l.uniform2f("screen"), T = l.uniform4f("color"), R = l.uniform1f("width"), y = l.uniform1f("max_width_pixels"), g = l.uniform1f("min_width_pixels"), w = l.uniform1i("index"), M = l.uniform1i("dash"), S = l.uniform1f("dash_size"), U = l.uniform1f("dash_offset");
1079
+ }), A = l.uniformMatrix4f("projection"), b = l.uniformMatrix4f("model_view"), p = l.uniform3i("camera"), E = l.uniform2f("screen"), R = l.uniform4f("color"), T = l.uniform1f("width"), w = l.uniform1f("max_width_pixels"), g = l.uniform1f("min_width_pixels"), y = l.uniform1i("index"), M = l.uniform1i("dash"), S = l.uniform1f("dash_size"), U = l.uniform1f("dash_offset");
1076
1080
  return { execute: ({
1077
- projection: N,
1078
- modelView: I,
1081
+ projection: z,
1082
+ modelView: L,
1079
1083
  camera: X,
1080
1084
  screen: C,
1081
1085
  count: Y,
@@ -1088,7 +1092,7 @@ const Ii = (e, t = {}) => {
1088
1092
  dashSize: et,
1089
1093
  dashOffset: O
1090
1094
  }) => {
1091
- Y !== 0 && (l.use(), d.use(), p.use(), _.use(), E.use(), x.use(), A.set(N), b.set(I), v.set(X), m.set(C), T.set(j), R.set(q), g.set(J), y.set($), w.set(k), S.set(et), U.set(O), e.activeTexture(e.TEXTURE0), M.set(0), Je.use(), i.use(), e.drawElements(e.TRIANGLES, Y, e.UNSIGNED_SHORT, 0));
1095
+ Y !== 0 && (l.use(), d.use(), m.use(), _.use(), x.use(), v.use(), A.set(z), b.set(L), p.set(X), E.set(C), R.set(j), T.set(q), g.set(J), w.set($), y.set(k), S.set(et), U.set(O), e.activeTexture(e.TEXTURE0), M.set(0), Je.use(), i.use(), e.drawElements(e.TRIANGLES, Y, e.UNSIGNED_SHORT, 0));
1092
1096
  } };
1093
1097
  }, c = o(), a = o(!0);
1094
1098
  return { renderProgram: c, depthProgram: a };
@@ -1151,35 +1155,35 @@ const Di = (e, t = {}) => {
1151
1155
  indexBuffer: s,
1152
1156
  normalBuffer: o
1153
1157
  }), f = ({
1154
- viewport: { projection: d, modelView: p, camera: _, screen: E },
1155
- depth: x = !1,
1158
+ viewport: { projection: d, modelView: m, camera: _, screen: x },
1159
+ depth: v = !1,
1156
1160
  index: A = 0
1157
1161
  }) => {
1158
- const b = t.position?.() ?? [0, 0, 0], v = t.orientation?.() ?? [0, 0, 0, 1], m = t.color?.() ?? [1, 1, 1, 1], T = t.diffuse?.() ?? [0, 0, 0, 0], R = t.size?.() ?? 1, y = t.minSizePixels?.() ?? 0, g = t.maxSizePixels?.() ?? Number.MAX_VALUE;
1159
- if (l(), Ee(n, x, t))
1162
+ const b = t.position?.() ?? [0, 0, 0], p = t.orientation?.() ?? [0, 0, 0, 1], E = t.color?.() ?? [1, 1, 1, 1], R = t.diffuse?.() ?? [0, 0, 0, 0], T = t.size?.() ?? 1, w = t.minSizePixels?.() ?? 0, g = t.maxSizePixels?.() ?? Number.MAX_VALUE;
1163
+ if (l(), Ee(n, v, t))
1160
1164
  return;
1161
- const w = ([S = 0, U = 0, P = 0, N = 0]) => [-S, U, P, N];
1162
- (x ? a : c).execute({
1165
+ const y = ([S = 0, U = 0, P = 0, z = 0]) => [-S, U, P, z];
1166
+ (v ? a : c).execute({
1163
1167
  projection: d,
1164
- modelView: p,
1168
+ modelView: m,
1165
1169
  camera: K(_),
1166
- screen: E,
1170
+ screen: x,
1167
1171
  count: i,
1168
- position: K(z(b)),
1169
- orientation: Ke(he(), w(v)),
1170
- color: m,
1171
- diffuse: T,
1172
- size: R,
1173
- minSizePixels: y,
1172
+ position: K(N(b)),
1173
+ orientation: Ke(he(), y(p)),
1174
+ color: E,
1175
+ diffuse: R,
1176
+ size: T,
1177
+ minSizePixels: w,
1174
1178
  maxSizePixels: g,
1175
1179
  index: A
1176
1180
  });
1177
1181
  }, l = ce(
1178
1182
  () => t.mesh?.(),
1179
1183
  (d) => {
1180
- const { vertices: p = [], indices: _ = [], normals: E = [] } = d ?? {};
1181
- r.set(p.flatMap((x) => [...x])), s.set(_.flatMap((x) => [...x])), o.set(
1182
- E.length === 0 ? p.flatMap(() => [0, 0, 0]) : E.flatMap((x) => [...x])
1184
+ const { vertices: m = [], indices: _ = [], normals: x = [] } = d ?? {};
1185
+ r.set(m.flatMap((v) => [...v])), s.set(_.flatMap((v) => [...v])), o.set(
1186
+ x.length === 0 ? m.flatMap(() => [0, 0, 0]) : x.flatMap((v) => [...v])
1183
1187
  ), i = _.length * 3;
1184
1188
  }
1185
1189
  ), h = () => {
@@ -1199,28 +1203,28 @@ const Di = (e, t = {}) => {
1199
1203
  const f = t.get({
1200
1204
  vertexSource: Ln,
1201
1205
  fragmentSource: a ? _e : zn
1202
- }), l = f.attribute3f("vertex", n), h = f.attribute3f("normal", r), u = f.uniformMatrix4f("projection"), d = f.uniformMatrix4f("model_view"), p = f.uniform3i("camera"), _ = f.uniform3i("position"), E = f.uniformMatrix4f("orientation"), x = f.uniform2f("screen"), A = f.uniform4f("color"), b = f.uniform4f("diffuse"), v = f.uniform1f("size"), m = f.uniform1f("min_size_pixels"), T = f.uniform1f("max_size_pixels"), R = f.uniform1i("index");
1206
+ }), l = f.attribute3f("vertex", n), h = f.attribute3f("normal", r), u = f.uniformMatrix4f("projection"), d = f.uniformMatrix4f("model_view"), m = f.uniform3i("camera"), _ = f.uniform3i("position"), x = f.uniformMatrix4f("orientation"), v = f.uniform2f("screen"), A = f.uniform4f("color"), b = f.uniform4f("diffuse"), p = f.uniform1f("size"), E = f.uniform1f("min_size_pixels"), R = f.uniform1f("max_size_pixels"), T = f.uniform1i("index");
1203
1207
  return { execute: ({
1204
1208
  projection: g,
1205
- modelView: w,
1209
+ modelView: y,
1206
1210
  camera: M,
1207
1211
  screen: S,
1208
1212
  count: U,
1209
1213
  position: P,
1210
- orientation: N,
1211
- color: I,
1214
+ orientation: z,
1215
+ color: L,
1212
1216
  diffuse: X,
1213
1217
  size: C,
1214
1218
  minSizePixels: Y,
1215
1219
  maxSizePixels: j,
1216
1220
  index: q
1217
1221
  }) => {
1218
- f.use(), l.use(), h.use(), u.set(g), d.set(w), p.set(M), x.set(S), _.set(P), E.set(N), A.set(I), b.set(X), v.set(C), m.set(Y), T.set(j), R.set(q), i.use(), e.drawElements(e.TRIANGLES, U, e.UNSIGNED_SHORT, 0);
1222
+ f.use(), l.use(), h.use(), u.set(g), d.set(y), m.set(M), v.set(S), _.set(P), x.set(z), A.set(L), b.set(X), p.set(C), E.set(Y), R.set(j), T.set(q), i.use(), e.drawElements(e.TRIANGLES, U, e.UNSIGNED_SHORT, 0);
1219
1223
  } };
1220
1224
  }, o = s(), c = s(!0);
1221
1225
  return { renderProgram: o, depthProgram: c };
1222
1226
  };
1223
- var wt = function(e, t, n, i, r) {
1227
+ var Tt = function(e, t, n, i, r) {
1224
1228
  let s, o = null;
1225
1229
  if (r === Gn(e, t, n, i) > 0)
1226
1230
  for (s = t; s < n; s += i)
@@ -1272,21 +1276,21 @@ var wt = function(e, t, n, i, r) {
1272
1276
  if (D(r, s, o) >= 0)
1273
1277
  return !1;
1274
1278
  const c = r.x < s.x ? r.x < o.x ? r.x : o.x : s.x < o.x ? s.x : o.x, a = r.y < s.y ? r.y < o.y ? r.y : o.y : s.y < o.y ? s.y : o.y, f = r.x > s.x ? r.x > o.x ? r.x : o.x : s.x > o.x ? s.x : o.x, l = r.y > s.y ? r.y > o.y ? r.y : o.y : s.y > o.y ? s.y : o.y, h = Ge(c, a, t, n, i), u = Ge(f, l, t, n, i);
1275
- let { prevZ: d, nextZ: p } = e;
1276
- for (; d !== null && p !== null && d.z >= h && p.z <= u; ) {
1277
- if (d !== e.prev && d !== e.next && me(r.x, r.y, s.x, s.y, o.x, o.y, d.x, d.y) && D(d.prev, d, d.next) >= 0 || (d = d.prevZ, p !== e.prev && p !== e.next && me(r.x, r.y, s.x, s.y, o.x, o.y, p.x, p.y) && D(p.prev, p, p.next) >= 0))
1279
+ let { prevZ: d, nextZ: m } = e;
1280
+ for (; d !== null && m !== null && d.z >= h && m.z <= u; ) {
1281
+ if (d !== e.prev && d !== e.next && me(r.x, r.y, s.x, s.y, o.x, o.y, d.x, d.y) && D(d.prev, d, d.next) >= 0 || (d = d.prevZ, m !== e.prev && m !== e.next && me(r.x, r.y, s.x, s.y, o.x, o.y, m.x, m.y) && D(m.prev, m, m.next) >= 0))
1278
1282
  return !1;
1279
- p = p.nextZ;
1283
+ m = m.nextZ;
1280
1284
  }
1281
1285
  for (; d !== null && d.z >= h; ) {
1282
1286
  if (d !== e.prev && d !== e.next && me(r.x, r.y, s.x, s.y, o.x, o.y, d.x, d.y) && D(d.prev, d, d.next) >= 0)
1283
1287
  return !1;
1284
1288
  d = d.prevZ;
1285
1289
  }
1286
- for (; p !== null && p.z <= u; ) {
1287
- if (p !== e.prev && p !== e.next && me(r.x, r.y, s.x, s.y, o.x, o.y, p.x, p.y) && D(p.prev, p, p.next) >= 0)
1290
+ for (; m !== null && m.z <= u; ) {
1291
+ if (m !== e.prev && m !== e.next && me(r.x, r.y, s.x, s.y, o.x, o.y, m.x, m.y) && D(m.prev, m, m.next) >= 0)
1288
1292
  return !1;
1289
- p = p.nextZ;
1293
+ m = m.nextZ;
1290
1294
  }
1291
1295
  return !0;
1292
1296
  }, On = function(e, t, n) {
@@ -1314,7 +1318,7 @@ var wt = function(e, t, n, i, r) {
1314
1318
  const r = [];
1315
1319
  let s, o, c, a, f;
1316
1320
  for (s = 0, o = t.length; s < o; s++)
1317
- c = t[s] * i, a = s < o - 1 ? t[s + 1] * i : e.length, f = wt(e, c, a, i, !1), f === f.next && (f.steiner = !0), r.push(Yn(f));
1321
+ c = t[s] * i, a = s < o - 1 ? t[s + 1] * i : e.length, f = Tt(e, c, a, i, !1), f === f.next && (f.steiner = !0), r.push(Yn(f));
1318
1322
  for (r.sort(Wn), s = 0; s < r.length; s++)
1319
1323
  n = jn(r[s], n), n = ae(n, n.next);
1320
1324
  return n;
@@ -1444,15 +1448,15 @@ class Xe {
1444
1448
  }
1445
1449
  function Fn(e, t = [], n = 2) {
1446
1450
  const i = t.length > 0, r = i ? t[0] * n : e.length;
1447
- let s = wt(e, 0, r, n, !0);
1451
+ let s = Tt(e, 0, r, n, !0);
1448
1452
  const o = [];
1449
1453
  if (s === null || s.next === s.prev)
1450
1454
  return o;
1451
1455
  let c = 1 / 0, a = 1 / 0, f = -1 / 0, l = -1 / 0, h = 0, u, d;
1452
1456
  if (i && (s = Xn(e, t, s, n)), e.length > 80 * n) {
1453
1457
  c = f = e[0], a = l = e[1];
1454
- for (let p = n; p < r; p += n)
1455
- u = e[p], d = e[p + 1], u < c && (c = u), d < a && (a = d), u > f && (f = u), d > l && (l = d);
1458
+ for (let m = n; m < r; m += n)
1459
+ u = e[m], d = e[m + 1], u < c && (c = u), d < a && (a = d), u > f && (f = u), d > l && (l = d);
1456
1460
  h = Math.max(f - c, l - a), h = h !== 0 ? 1 / h : 0;
1457
1461
  }
1458
1462
  return ge(s, o, n, c, a, h, 0), o;
@@ -1587,27 +1591,27 @@ const Oi = (e, t = {}) => {
1587
1591
  positionBuffer: r,
1588
1592
  indexBuffer: s
1589
1593
  }), a = ({
1590
- viewport: { projection: u, modelView: d, camera: p, screen: _ },
1591
- depth: E = !1,
1592
- index: x = 0
1594
+ viewport: { projection: u, modelView: d, camera: m, screen: _ },
1595
+ depth: x = !1,
1596
+ index: v = 0
1593
1597
  }) => {
1594
1598
  const A = t.color?.() ?? [1, 1, 1, 1];
1595
- if (f(), Ee(n, E, t))
1599
+ if (f(), Ee(n, x, t))
1596
1600
  return;
1597
- (E ? c : o).execute({
1601
+ (x ? c : o).execute({
1598
1602
  projection: u,
1599
1603
  modelView: d,
1600
- camera: K(p),
1604
+ camera: K(m),
1601
1605
  screen: _,
1602
1606
  count: i,
1603
1607
  color: A,
1604
- index: x
1608
+ index: v
1605
1609
  });
1606
1610
  }, f = ce(
1607
1611
  () => t.points?.() ?? [],
1608
1612
  (u) => {
1609
- const { vertices: d, indices: p } = u.length > 0 ? Qn(u.map((_) => _.map((E) => [...K(z(E))]))) : { vertices: [], indices: [] };
1610
- r.set(d), s.set(p), i = p.length;
1613
+ const { vertices: d, indices: m } = u.length > 0 ? Qn(u.map((_) => _.map((x) => [...K(N(x))]))) : { vertices: [], indices: [] };
1614
+ r.set(d), s.set(m), i = m.length;
1611
1615
  }
1612
1616
  ), l = () => {
1613
1617
  r.dispose(), s.dispose();
@@ -1627,17 +1631,17 @@ const Oi = (e, t = {}) => {
1627
1631
  fragmentSource: c ? _e : ei
1628
1632
  }), f = a.attribute3i("position", n, {
1629
1633
  stride: 3 * Int32Array.BYTES_PER_ELEMENT
1630
- }), l = a.uniformMatrix4f("projection"), h = a.uniformMatrix4f("model_view"), u = a.uniform3i("camera"), d = a.uniform2f("screen"), p = a.uniform4f("color"), _ = a.uniform1i("index");
1634
+ }), l = a.uniformMatrix4f("projection"), h = a.uniformMatrix4f("model_view"), u = a.uniform3i("camera"), d = a.uniform2f("screen"), m = a.uniform4f("color"), _ = a.uniform1i("index");
1631
1635
  return { execute: ({
1632
- projection: x,
1636
+ projection: v,
1633
1637
  modelView: A,
1634
1638
  camera: b,
1635
- screen: v,
1636
- count: m,
1637
- color: T,
1638
- index: R
1639
+ screen: p,
1640
+ count: E,
1641
+ color: R,
1642
+ index: T
1639
1643
  }) => {
1640
- m !== 0 && (a.use(), f.use(), l.set(x), h.set(A), u.set(b), d.set(v), p.set(T), _.set(R), i.use(), e.drawElements(e.TRIANGLES, m, e.UNSIGNED_SHORT, 0));
1644
+ E !== 0 && (a.use(), f.use(), l.set(v), h.set(A), u.set(b), d.set(p), m.set(R), _.set(T), i.use(), e.drawElements(e.TRIANGLES, E, e.UNSIGNED_SHORT, 0));
1641
1645
  } };
1642
1646
  }, s = r(), o = r(!0);
1643
1647
  return { renderProgram: s, depthProgram: o };
@@ -1708,23 +1712,23 @@ const Ci = (e, t = {}) => {
1708
1712
  uvBuffer: r,
1709
1713
  indexBuffer: s
1710
1714
  }), f = ({
1711
- viewport: { projection: u, modelView: d, camera: p, screen: _ },
1712
- depth: E = !1,
1713
- index: x = 0
1715
+ viewport: { projection: u, modelView: d, camera: m, screen: _ },
1716
+ depth: x = !1,
1717
+ index: v = 0
1714
1718
  }) => {
1715
- const A = t.position?.() ?? [0, 0, 0], b = t.orientation?.() ?? [0, 0, 0, 1], v = t.range?.() ?? 1e3;
1716
- if (o(), Ee(n, E, t))
1719
+ const A = t.position?.() ?? [0, 0, 0], b = t.orientation?.() ?? [0, 0, 0, 1], p = t.range?.() ?? 1e3;
1720
+ if (o(), Ee(n, x, t))
1717
1721
  return;
1718
- (E ? a : c).execute({
1722
+ (x ? a : c).execute({
1719
1723
  projection: u,
1720
1724
  modelView: d,
1721
- camera: K(p),
1725
+ camera: K(m),
1722
1726
  screen: _,
1723
1727
  image: i,
1724
- range: v,
1725
- position: K(z(A)),
1728
+ range: p,
1729
+ position: K(N(A)),
1726
1730
  orientation: Ke(he(), b),
1727
- index: x
1731
+ index: v
1728
1732
  });
1729
1733
  }, l = () => {
1730
1734
  r.dispose(), s.dispose(), i.dispose();
@@ -1744,19 +1748,19 @@ const Ci = (e, t = {}) => {
1744
1748
  fragmentSource: c ? _e : ii
1745
1749
  }), f = a.attribute2f("uv", n, {
1746
1750
  stride: 2 * Float32Array.BYTES_PER_ELEMENT
1747
- }), l = a.uniformMatrix4f("projection"), h = a.uniformMatrix4f("model_view"), u = a.uniform3i("camera"), d = a.uniform2f("screen"), p = a.uniform1i("image"), _ = a.uniform1f("range"), E = a.uniform3i("position"), x = a.uniformMatrix4f("orientation"), A = a.uniform1i("index");
1751
+ }), l = a.uniformMatrix4f("projection"), h = a.uniformMatrix4f("model_view"), u = a.uniform3i("camera"), d = a.uniform2f("screen"), m = a.uniform1i("image"), _ = a.uniform1f("range"), x = a.uniform3i("position"), v = a.uniformMatrix4f("orientation"), A = a.uniform1i("index");
1748
1752
  return { execute: ({
1749
- projection: v,
1750
- modelView: m,
1751
- camera: T,
1752
- screen: R,
1753
- image: y,
1753
+ projection: p,
1754
+ modelView: E,
1755
+ camera: R,
1756
+ screen: T,
1757
+ image: w,
1754
1758
  range: g,
1755
- position: w,
1759
+ position: y,
1756
1760
  orientation: M,
1757
1761
  index: S
1758
1762
  }) => {
1759
- a.use(), f.use(), l.set(v), h.set(m), u.set(T), d.set(R), _.set(g), E.set(w), x.set(M), A.set(S), e.activeTexture(e.TEXTURE0), p.set(0), y.use(), i.use(), e.drawElements(e.TRIANGLES, 6, e.UNSIGNED_SHORT, 0);
1763
+ a.use(), f.use(), l.set(p), h.set(E), u.set(R), d.set(T), _.set(g), x.set(y), v.set(M), A.set(S), e.activeTexture(e.TEXTURE0), m.set(0), w.use(), i.use(), e.drawElements(e.TRIANGLES, 6, e.UNSIGNED_SHORT, 0);
1760
1764
  } };
1761
1765
  }, s = r(), o = r(!0);
1762
1766
  return { renderProgram: s, depthProgram: o };
@@ -1931,7 +1935,7 @@ class qe {
1931
1935
  #_;
1932
1936
  #y;
1933
1937
  #d;
1934
- #T;
1938
+ #w;
1935
1939
  #A;
1936
1940
  #l;
1937
1941
  /**
@@ -1965,7 +1969,7 @@ class qe {
1965
1969
  isBackgroundFetch: (n) => t.#t(n),
1966
1970
  backgroundFetch: (n, i, r, s) => t.#L(n, i, r, s),
1967
1971
  moveToTail: (n) => t.#S(n),
1968
- indexes: (n) => t.#w(n),
1972
+ indexes: (n) => t.#T(n),
1969
1973
  rindexes: (n) => t.#g(n),
1970
1974
  isStale: (n) => t.#m(n)
1971
1975
  };
@@ -2014,21 +2018,21 @@ class qe {
2014
2018
  return this.#v;
2015
2019
  }
2016
2020
  constructor(t) {
2017
- const { max: n = 0, ttl: i, ttlResolution: r = 1, ttlAutopurge: s, updateAgeOnGet: o, updateAgeOnHas: c, allowStale: a, dispose: f, disposeAfter: l, noDisposeOnSet: h, noUpdateTTL: u, maxSize: d = 0, maxEntrySize: p = 0, sizeCalculation: _, fetchMethod: E, noDeleteOnFetchRejection: x, noDeleteOnStaleGet: A, allowStaleOnFetchRejection: b, allowStaleOnFetchAbort: v, ignoreFetchAbort: m } = t;
2021
+ const { max: n = 0, ttl: i, ttlResolution: r = 1, ttlAutopurge: s, updateAgeOnGet: o, updateAgeOnHas: c, allowStale: a, dispose: f, disposeAfter: l, noDisposeOnSet: h, noUpdateTTL: u, maxSize: d = 0, maxEntrySize: m = 0, sizeCalculation: _, fetchMethod: x, noDeleteOnFetchRejection: v, noDeleteOnStaleGet: A, allowStaleOnFetchRejection: b, allowStaleOnFetchAbort: p, ignoreFetchAbort: E } = t;
2018
2022
  if (n !== 0 && !ee(n))
2019
2023
  throw new TypeError("max option must be a nonnegative integer");
2020
- const T = n ? Mt(n) : Array;
2021
- if (!T)
2024
+ const R = n ? Mt(n) : Array;
2025
+ if (!R)
2022
2026
  throw new Error("invalid max value: " + n);
2023
- if (this.#c = n, this.#u = d, this.maxEntrySize = p || this.#u, this.sizeCalculation = _, this.sizeCalculation) {
2027
+ if (this.#c = n, this.#u = d, this.maxEntrySize = m || this.#u, this.sizeCalculation = _, this.sizeCalculation) {
2024
2028
  if (!this.#u && !this.maxEntrySize)
2025
2029
  throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
2026
2030
  if (typeof this.sizeCalculation != "function")
2027
2031
  throw new TypeError("sizeCalculation set to non-function");
2028
2032
  }
2029
- if (E !== void 0 && typeof E != "function")
2033
+ if (x !== void 0 && typeof x != "function")
2030
2034
  throw new TypeError("fetchMethod must be a function if specified");
2031
- if (this.#U = E, this.#A = !!E, this.#i = /* @__PURE__ */ new Map(), this.#n = new Array(n).fill(void 0), this.#e = new Array(n).fill(void 0), this.#f = new T(n), this.#h = new T(n), this.#a = 0, this.#s = 0, this.#E = pe.create(n), this.#r = 0, this.#x = 0, typeof f == "function" && (this.#p = f), typeof l == "function" ? (this.#v = l, this.#o = []) : (this.#v = void 0, this.#o = void 0), this.#T = !!this.#p, this.#l = !!this.#v, this.noDisposeOnSet = !!h, this.noUpdateTTL = !!u, this.noDeleteOnFetchRejection = !!x, this.allowStaleOnFetchRejection = !!b, this.allowStaleOnFetchAbort = !!v, this.ignoreFetchAbort = !!m, this.maxEntrySize !== 0) {
2035
+ if (this.#U = x, this.#A = !!x, this.#i = /* @__PURE__ */ new Map(), this.#n = new Array(n).fill(void 0), this.#e = new Array(n).fill(void 0), this.#f = new R(n), this.#h = new R(n), this.#a = 0, this.#s = 0, this.#E = pe.create(n), this.#r = 0, this.#x = 0, typeof f == "function" && (this.#p = f), typeof l == "function" ? (this.#v = l, this.#o = []) : (this.#v = void 0, this.#o = void 0), this.#w = !!this.#p, this.#l = !!this.#v, this.noDisposeOnSet = !!h, this.noUpdateTTL = !!u, this.noDeleteOnFetchRejection = !!v, this.allowStaleOnFetchRejection = !!b, this.allowStaleOnFetchAbort = !!p, this.ignoreFetchAbort = !!E, this.maxEntrySize !== 0) {
2032
2036
  if (this.#u !== 0 && !ee(this.#u))
2033
2037
  throw new TypeError("maxSize must be a positive integer if specified");
2034
2038
  if (!ee(this.maxEntrySize))
@@ -2043,8 +2047,8 @@ class qe {
2043
2047
  if (this.#c === 0 && this.ttl === 0 && this.#u === 0)
2044
2048
  throw new TypeError("At least one of max, maxSize, or ttl is required");
2045
2049
  if (!this.ttlAutopurge && !this.#c && !this.#u) {
2046
- const R = "LRU_CACHE_UNBOUNDED";
2047
- ai(R) && (At.add(R), bt("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.", "UnboundedCacheWarning", R, qe));
2050
+ const T = "LRU_CACHE_UNBOUNDED";
2051
+ ai(T) && (At.add(T), bt("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.", "UnboundedCacheWarning", T, qe));
2048
2052
  }
2049
2053
  }
2050
2054
  /**
@@ -2141,7 +2145,7 @@ class qe {
2141
2145
  throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
2142
2146
  return 0;
2143
2147
  };
2144
- *#w({ allowStale: t = this.allowStale } = {}) {
2148
+ *#T({ allowStale: t = this.allowStale } = {}) {
2145
2149
  if (this.#r)
2146
2150
  for (let n = this.#s; !(!this.#O(n) || ((t || !this.#m(n)) && (yield n), n === this.#a)); )
2147
2151
  n = this.#h[n];
@@ -2159,7 +2163,7 @@ class qe {
2159
2163
  * in order from most recently used to least recently used.
2160
2164
  */
2161
2165
  *entries() {
2162
- for (const t of this.#w())
2166
+ for (const t of this.#T())
2163
2167
  this.#e[t] !== void 0 && this.#n[t] !== void 0 && !this.#t(this.#e[t]) && (yield [this.#n[t], this.#e[t]]);
2164
2168
  }
2165
2169
  /**
@@ -2177,7 +2181,7 @@ class qe {
2177
2181
  * in order from most recently used to least recently used.
2178
2182
  */
2179
2183
  *keys() {
2180
- for (const t of this.#w()) {
2184
+ for (const t of this.#T()) {
2181
2185
  const n = this.#n[t];
2182
2186
  n !== void 0 && !this.#t(this.#e[t]) && (yield n);
2183
2187
  }
@@ -2199,7 +2203,7 @@ class qe {
2199
2203
  * in order from most recently used to least recently used.
2200
2204
  */
2201
2205
  *values() {
2202
- for (const t of this.#w())
2206
+ for (const t of this.#T())
2203
2207
  this.#e[t] !== void 0 && !this.#t(this.#e[t]) && (yield this.#e[t]);
2204
2208
  }
2205
2209
  /**
@@ -2229,7 +2233,7 @@ class qe {
2229
2233
  * similar to Array.find(). fn is called as fn(value, key, cache).
2230
2234
  */
2231
2235
  find(t, n = {}) {
2232
- for (const i of this.#w()) {
2236
+ for (const i of this.#T()) {
2233
2237
  const r = this.#e[i], s = this.#t(r) ? r.__staleWhileFetching : r;
2234
2238
  if (s !== void 0 && t(s, this.#n[i], this))
2235
2239
  return this.get(this.#n[i], n);
@@ -2242,7 +2246,7 @@ class qe {
2242
2246
  * Does not iterate over stale values.
2243
2247
  */
2244
2248
  forEach(t, n = this) {
2245
- for (const i of this.#w()) {
2249
+ for (const i of this.#T()) {
2246
2250
  const r = this.#e[i], s = this.#t(r) ? r.__staleWhileFetching : r;
2247
2251
  s !== void 0 && t.call(n, s, this.#n[i], this);
2248
2252
  }
@@ -2296,7 +2300,7 @@ class qe {
2296
2300
  */
2297
2301
  dump() {
2298
2302
  const t = [];
2299
- for (const n of this.#w({ allowStale: !0 })) {
2303
+ for (const n of this.#T({ allowStale: !0 })) {
2300
2304
  const i = this.#n[n], r = this.#e[n], s = this.#t(r) ? r.__staleWhileFetching : r;
2301
2305
  if (s === void 0 || i === void 0)
2302
2306
  continue;
@@ -2349,9 +2353,9 @@ class qe {
2349
2353
  if (this.#A && this.#t(u)) {
2350
2354
  u.__abortController.abort(new Error("replaced"));
2351
2355
  const { __staleWhileFetching: d } = u;
2352
- d !== void 0 && !o && (this.#T && this.#p?.(d, t, "set"), this.#l && this.#o?.push([d, t, "set"]));
2356
+ d !== void 0 && !o && (this.#w && this.#p?.(d, t, "set"), this.#l && this.#o?.push([d, t, "set"]));
2353
2357
  } else
2354
- o || (this.#T && this.#p?.(u, t, "set"), this.#l && this.#o?.push([u, t, "set"]));
2358
+ o || (this.#w && this.#p?.(u, t, "set"), this.#l && this.#o?.push([u, t, "set"]));
2355
2359
  if (this.#M(h), this.#P(h, l, a), this.#e[h] = n, a) {
2356
2360
  a.set = "replace";
2357
2361
  const d = u && this.#t(u) ? u.__staleWhileFetching : u;
@@ -2393,7 +2397,7 @@ class qe {
2393
2397
  }
2394
2398
  #z(t) {
2395
2399
  const n = this.#a, i = this.#n[n], r = this.#e[n];
2396
- return this.#A && this.#t(r) ? r.__abortController.abort(new Error("evicted")) : (this.#T || this.#l) && (this.#T && this.#p?.(r, i, "evict"), this.#l && this.#o?.push([r, i, "evict"])), this.#M(n), t && (this.#n[n] = void 0, this.#e[n] = void 0, this.#E.push(n)), this.#r === 1 ? (this.#a = this.#s = 0, this.#E.length = 0) : this.#a = this.#f[n], this.#i.delete(i), this.#r--, n;
2400
+ return this.#A && this.#t(r) ? r.__abortController.abort(new Error("evicted")) : (this.#w || this.#l) && (this.#w && this.#p?.(r, i, "evict"), this.#l && this.#o?.push([r, i, "evict"])), this.#M(n), t && (this.#n[n] = void 0, this.#e[n] = void 0, this.#E.push(n)), this.#r === 1 ? (this.#a = this.#s = 0, this.#E.length = 0) : this.#a = this.#f[n], this.#i.delete(i), this.#r--, n;
2397
2401
  }
2398
2402
  /**
2399
2403
  * Check if a key is in the cache, without updating the recency of use.
@@ -2443,31 +2447,31 @@ class qe {
2443
2447
  signal: o.signal,
2444
2448
  options: i,
2445
2449
  context: r
2446
- }, f = (_, E = !1) => {
2447
- const { aborted: x } = o.signal, A = i.ignoreFetchAbort && _ !== void 0;
2448
- if (i.status && (x && !E ? (i.status.fetchAborted = !0, i.status.fetchError = o.signal.reason, A && (i.status.fetchAbortIgnored = !0)) : i.status.fetchResolved = !0), x && !A && !E)
2450
+ }, f = (_, x = !1) => {
2451
+ const { aborted: v } = o.signal, A = i.ignoreFetchAbort && _ !== void 0;
2452
+ if (i.status && (v && !x ? (i.status.fetchAborted = !0, i.status.fetchError = o.signal.reason, A && (i.status.fetchAbortIgnored = !0)) : i.status.fetchResolved = !0), v && !A && !x)
2449
2453
  return h(o.signal.reason);
2450
2454
  const b = d;
2451
2455
  return this.#e[n] === d && (_ === void 0 ? b.__staleWhileFetching ? this.#e[n] = b.__staleWhileFetching : this.delete(t) : (i.status && (i.status.fetchUpdated = !0), this.set(t, _, a.options))), _;
2452
2456
  }, l = (_) => (i.status && (i.status.fetchRejected = !0, i.status.fetchError = _), h(_)), h = (_) => {
2453
- const { aborted: E } = o.signal, x = E && i.allowStaleOnFetchAbort, A = x || i.allowStaleOnFetchRejection, b = A || i.noDeleteOnFetchRejection, v = d;
2454
- if (this.#e[n] === d && (!b || v.__staleWhileFetching === void 0 ? this.delete(t) : x || (this.#e[n] = v.__staleWhileFetching)), A)
2455
- return i.status && v.__staleWhileFetching !== void 0 && (i.status.returnedStale = !0), v.__staleWhileFetching;
2456
- if (v.__returned === v)
2457
+ const { aborted: x } = o.signal, v = x && i.allowStaleOnFetchAbort, A = v || i.allowStaleOnFetchRejection, b = A || i.noDeleteOnFetchRejection, p = d;
2458
+ if (this.#e[n] === d && (!b || p.__staleWhileFetching === void 0 ? this.delete(t) : v || (this.#e[n] = p.__staleWhileFetching)), A)
2459
+ return i.status && p.__staleWhileFetching !== void 0 && (i.status.returnedStale = !0), p.__staleWhileFetching;
2460
+ if (p.__returned === p)
2457
2461
  throw _;
2458
- }, u = (_, E) => {
2459
- const x = this.#U?.(t, s, a);
2460
- x && x instanceof Promise && x.then((A) => _(A === void 0 ? void 0 : A), E), o.signal.addEventListener("abort", () => {
2462
+ }, u = (_, x) => {
2463
+ const v = this.#U?.(t, s, a);
2464
+ v && v instanceof Promise && v.then((A) => _(A === void 0 ? void 0 : A), x), o.signal.addEventListener("abort", () => {
2461
2465
  (!i.ignoreFetchAbort || i.allowStaleOnFetchAbort) && (_(void 0), i.allowStaleOnFetchAbort && (_ = (A) => f(A, !0)));
2462
2466
  });
2463
2467
  };
2464
2468
  i.status && (i.status.fetchDispatched = !0);
2465
- const d = new Promise(u).then(f, l), p = Object.assign(d, {
2469
+ const d = new Promise(u).then(f, l), m = Object.assign(d, {
2466
2470
  __abortController: o,
2467
2471
  __staleWhileFetching: s,
2468
2472
  __returned: void 0
2469
2473
  });
2470
- return n === void 0 ? (this.set(t, p, { ...a.options, status: void 0 }), n = this.#i.get(t)) : this.#e[n] = p, p;
2474
+ return n === void 0 ? (this.set(t, m, { ...a.options, status: void 0 }), n = this.#i.get(t)) : this.#e[n] = m, m;
2471
2475
  }
2472
2476
  #t(t) {
2473
2477
  if (!this.#A)
@@ -2491,18 +2495,18 @@ class qe {
2491
2495
  noDeleteOnFetchRejection: h = this.noDeleteOnFetchRejection,
2492
2496
  allowStaleOnFetchRejection: u = this.allowStaleOnFetchRejection,
2493
2497
  ignoreFetchAbort: d = this.ignoreFetchAbort,
2494
- allowStaleOnFetchAbort: p = this.allowStaleOnFetchAbort,
2498
+ allowStaleOnFetchAbort: m = this.allowStaleOnFetchAbort,
2495
2499
  context: _,
2496
- forceRefresh: E = !1,
2497
- status: x,
2500
+ forceRefresh: x = !1,
2501
+ status: v,
2498
2502
  signal: A
2499
2503
  } = n;
2500
2504
  if (!this.#A)
2501
- return x && (x.fetch = "get"), this.get(t, {
2505
+ return v && (v.fetch = "get"), this.get(t, {
2502
2506
  allowStale: i,
2503
2507
  updateAgeOnGet: r,
2504
2508
  noDeleteOnStaleGet: s,
2505
- status: x
2509
+ status: v
2506
2510
  });
2507
2511
  const b = {
2508
2512
  allowStale: i,
@@ -2515,27 +2519,27 @@ class qe {
2515
2519
  noUpdateTTL: l,
2516
2520
  noDeleteOnFetchRejection: h,
2517
2521
  allowStaleOnFetchRejection: u,
2518
- allowStaleOnFetchAbort: p,
2522
+ allowStaleOnFetchAbort: m,
2519
2523
  ignoreFetchAbort: d,
2520
- status: x,
2524
+ status: v,
2521
2525
  signal: A
2522
2526
  };
2523
- let v = this.#i.get(t);
2524
- if (v === void 0) {
2525
- x && (x.fetch = "miss");
2526
- const m = this.#L(t, v, b, _);
2527
- return m.__returned = m;
2527
+ let p = this.#i.get(t);
2528
+ if (p === void 0) {
2529
+ v && (v.fetch = "miss");
2530
+ const E = this.#L(t, p, b, _);
2531
+ return E.__returned = E;
2528
2532
  } else {
2529
- const m = this.#e[v];
2530
- if (this.#t(m)) {
2531
- const w = i && m.__staleWhileFetching !== void 0;
2532
- return x && (x.fetch = "inflight", w && (x.returnedStale = !0)), w ? m.__staleWhileFetching : m.__returned = m;
2533
+ const E = this.#e[p];
2534
+ if (this.#t(E)) {
2535
+ const y = i && E.__staleWhileFetching !== void 0;
2536
+ return v && (v.fetch = "inflight", y && (v.returnedStale = !0)), y ? E.__staleWhileFetching : E.__returned = E;
2533
2537
  }
2534
- const T = this.#m(v);
2535
- if (!E && !T)
2536
- return x && (x.fetch = "hit"), this.#S(v), r && this.#b(v), x && this.#R(x, v), m;
2537
- const R = this.#L(t, v, b, _), g = R.__staleWhileFetching !== void 0 && i;
2538
- return x && (x.fetch = T ? "stale" : "refresh", g && T && (x.returnedStale = !0)), g ? R.__staleWhileFetching : R.__returned = R;
2538
+ const R = this.#m(p);
2539
+ if (!x && !R)
2540
+ return v && (v.fetch = "hit"), this.#S(p), r && this.#b(p), v && this.#R(v, p), E;
2541
+ const T = this.#L(t, p, b, _), g = T.__staleWhileFetching !== void 0 && i;
2542
+ return v && (v.fetch = R ? "stale" : "refresh", g && R && (v.returnedStale = !0)), g ? T.__staleWhileFetching : T.__returned = T;
2539
2543
  }
2540
2544
  }
2541
2545
  /**
@@ -2572,7 +2576,7 @@ class qe {
2572
2576
  else {
2573
2577
  this.#M(i);
2574
2578
  const r = this.#e[i];
2575
- if (this.#t(r) ? r.__abortController.abort(new Error("deleted")) : (this.#T || this.#l) && (this.#T && this.#p?.(r, t, "delete"), this.#l && this.#o?.push([r, t, "delete"])), this.#i.delete(t), this.#n[i] = void 0, this.#e[i] = void 0, i === this.#s)
2579
+ if (this.#t(r) ? r.__abortController.abort(new Error("deleted")) : (this.#w || this.#l) && (this.#w && this.#p?.(r, t, "delete"), this.#l && this.#o?.push([r, t, "delete"])), this.#i.delete(t), this.#n[i] = void 0, this.#e[i] = void 0, i === this.#s)
2576
2580
  this.#s = this.#h[i];
2577
2581
  else if (i === this.#a)
2578
2582
  this.#a = this.#f[i];
@@ -2603,7 +2607,7 @@ class qe {
2603
2607
  n.__abortController.abort(new Error("deleted"));
2604
2608
  else {
2605
2609
  const i = this.#n[t];
2606
- this.#T && this.#p?.(n, i, "delete"), this.#l && this.#o?.push([n, i, "delete"]);
2610
+ this.#w && this.#p?.(n, i, "delete"), this.#l && this.#o?.push([n, i, "delete"]);
2607
2611
  }
2608
2612
  }
2609
2613
  if (this.#i.clear(), this.#e.fill(void 0), this.#n.fill(void 0), this.#d && this.#y && (this.#d.fill(0), this.#y.fill(0)), this.#_ && this.#_.fill(0), this.#a = 0, this.#s = 0, this.#E.length = 0, this.#x = 0, this.#r = 0, this.#l && this.#o) {
@@ -2645,22 +2649,22 @@ const je = (e) => {
2645
2649
  const h = i.get([a, f, l]);
2646
2650
  if (!h)
2647
2651
  return;
2648
- const { texture: u, downsample: d } = h, p = 2 ** d, _ = [Math.floor(a / p), Math.floor(f / p), l - d], E = n.get(_);
2649
- if (E)
2650
- return { buffer: E, downsample: d };
2651
- const x = new Uint8Array(4 * ie * ie);
2652
- return e.bindFramebuffer(e.FRAMEBUFFER, r), u.attach(), e.readPixels(0, 0, ie, ie, e.RGBA, e.UNSIGNED_BYTE, x), e.bindFramebuffer(e.FRAMEBUFFER, null), n.set(_, x), { buffer: x, downsample: d };
2652
+ const { texture: u, downsample: d } = h, m = 2 ** d, _ = [Math.floor(a / m), Math.floor(f / m), l - d], x = n.get(_);
2653
+ if (x)
2654
+ return { buffer: x, downsample: d };
2655
+ const v = new Uint8Array(4 * ie * ie);
2656
+ return e.bindFramebuffer(e.FRAMEBUFFER, r), u.attach(), e.readPixels(0, 0, ie, ie, e.RGBA, e.UNSIGNED_BYTE, v), e.bindFramebuffer(e.FRAMEBUFFER, null), n.set(_, v), { buffer: v, downsample: d };
2653
2657
  };
2654
2658
  return { get: ([a = 0, f = 0], l = ci) => {
2655
- const h = 2 ** l, u = z([a, f, 0]).map((w) => w * h), [d = 0, p = 0] = u.map((w) => Math.floor(w % h));
2656
- let [_ = 0, E = 0] = u.map((w) => w % 1);
2657
- const x = s([d, p, l]);
2658
- if (!x)
2659
+ const h = 2 ** l, u = N([a, f, 0]).map((y) => y * h), [d = 0, m = 0] = u.map((y) => Math.floor(y % h));
2660
+ let [_ = 0, x = 0] = u.map((y) => y % 1);
2661
+ const v = s([d, m, l]);
2662
+ if (!v)
2659
2663
  return 0;
2660
- const { buffer: A, downsample: b } = x, v = 2 ** b;
2661
- [_, E] = [(d % v + _) / v, (p % v + E) / v];
2662
- const m = 4 * ie * Math.floor(E * ie) + 4 * Math.floor(_ * ie), [T = 0, R = 0, y = 0] = A.slice(m, m + 4);
2663
- return (T * 65536 + R * 256 + y) / 10 - 1e4;
2664
+ const { buffer: A, downsample: b } = v, p = 2 ** b;
2665
+ [_, x] = [(d % p + _) / p, (m % p + x) / p];
2666
+ const E = 4 * ie * Math.floor(x * ie) + 4 * Math.floor(_ * ie), [R = 0, T = 0, w = 0] = A.slice(E, E + 4);
2667
+ return (R * 65536 + T * 256 + w) / 10 - 1e4;
2664
2668
  }, dispose: () => {
2665
2669
  e.deleteFramebuffer(r);
2666
2670
  } };
@@ -2702,23 +2706,23 @@ const ut = ({
2702
2706
  const [l = 0, h = 0, u = 0] = a;
2703
2707
  let d = t.replace("{x}", `${l}`).replace("{y}", `${h}`).replace("{z}", `${u}`);
2704
2708
  if (d.includes("{bbox}")) {
2705
- const [_ = 0, E = 0, x = 0] = a, A = 2 ** x - E - 1, [[b, v] = [], [m, T] = []] = [
2709
+ const [_ = 0, x = 0, v = 0] = a, A = 2 ** v - x - 1, [[b, p] = [], [E, R] = []] = [
2706
2710
  [0, 0],
2707
2711
  [1, 1]
2708
- ].map(([R = 0, y = 0]) => [_ + R, A + y, x]).map((R) => vt(R, R)).map(([R = 0, y = 0]) => [
2709
- (R - 0.5) * 2 * Math.PI * 6378137,
2710
- (y - 0.5) * 2 * Math.PI * 6378137
2712
+ ].map(([T = 0, w = 0]) => [_ + T, A + w, v]).map((T) => vt(T, T)).map(([T = 0, w = 0]) => [
2713
+ (T - 0.5) * 2 * Math.PI * 6378137,
2714
+ (w - 0.5) * 2 * Math.PI * 6378137
2711
2715
  ]);
2712
- d = d.replace("{bbox}", [b, v, m, T].join(","));
2716
+ d = d.replace("{bbox}", [b, p, E, R].join(","));
2713
2717
  }
2714
- const p = Tt({
2718
+ const m = wt({
2715
2719
  gl: e,
2716
2720
  url: d,
2717
2721
  onLoad: () => {
2718
2722
  r.delete(a), n?.();
2719
2723
  }
2720
2724
  });
2721
- i.set(a, p), r.set(a, !0);
2725
+ i.set(a, m), r.set(a, !0);
2722
2726
  }
2723
2727
  }, o = setInterval(() => r.purgeStale(), 200);
2724
2728
  return { get: s, dispose: () => {
@@ -2740,7 +2744,7 @@ const ut = ({
2740
2744
  return s;
2741
2745
  const [o = 0, c = 0, a = 0] = r, f = n.map(([l = 0, h = 0]) => [o + l, c + h, a]).map((l) => vt(l, l)).map((l) => oe(l, l)).map((l) => {
2742
2746
  const [h = 0, u = 0] = l, d = Math.max(a - 5, 0);
2743
- return z(
2747
+ return N(
2744
2748
  be(l, h, u, e.get([h, u], d)),
2745
2749
  l
2746
2750
  );
@@ -2830,43 +2834,43 @@ const B = 34, di = 22, mi = xe(0, B).flatMap(
2830
2834
  n.texParameteri(n.TEXTURE_2D, n.TEXTURE_MIN_FILTER, n.NEAREST), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_MAG_FILTER, n.NEAREST), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_S, n.CLAMP_TO_EDGE), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_T, n.CLAMP_TO_EDGE);
2831
2835
  }
2832
2836
  }), l = Fe(f, 3), h = fi({ gl: n, terrainCache: f }), u = ui(h), d = V({ gl: n, type: "f32", target: "array" });
2833
- d.set(pi.flatMap(([g = 0, w = 0, M = 0]) => [g, w, M]));
2834
- const p = V({ gl: n, type: "u16", target: "element" });
2835
- p.set(mi);
2836
- const { renderProgram: _, depthProgram: E } = vi(e, {
2837
+ d.set(pi.flatMap(([g = 0, y = 0, M = 0]) => [g, y, M]));
2838
+ const m = V({ gl: n, type: "u16", target: "element" });
2839
+ m.set(mi);
2840
+ const { renderProgram: _, depthProgram: x } = vi(e, {
2837
2841
  uvwBuffer: d,
2838
- indexBuffer: p
2839
- }), x = [0, 1, 2, 3], A = x.map(L), b = x.map(ne), v = x.map(ve), m = (g) => {
2840
- const { worldToLocal: w, localToClip: M, clipToScreen: S } = g, U = 512 * Math.pow(2, t.downsample?.() ?? 0), P = (N) => {
2841
- const [I = 0, X = 0, C = 0] = N, j = u.get(N).map(($, k) => w($, A[k])).map(($, k) => M($, b[k]));
2842
+ indexBuffer: m
2843
+ }), v = [0, 1, 2, 3], A = v.map(I), b = v.map(ne), p = v.map(ve), E = (g) => {
2844
+ const { worldToLocal: y, localToClip: M, clipToScreen: S } = g, U = 512 * Math.pow(2, t.downsample?.() ?? 0), P = (z) => {
2845
+ const [L = 0, X = 0, C = 0] = z, j = u.get(z).map(($, k) => y($, A[k])).map(($, k) => M($, b[k]));
2842
2846
  return xi(j) ? [] : Ei(
2843
- _i(j).map(($, k) => S($, v[k]))
2847
+ _i(j).map(($, k) => S($, p[k]))
2844
2848
  ) > U && C < di ? [
2845
- [2 * I, 2 * X, C + 1],
2846
- [2 * I + 1, 2 * X, C + 1],
2847
- [2 * I, 2 * X + 1, C + 1],
2848
- [2 * I + 1, 2 * X + 1, C + 1]
2849
- ].flatMap((k) => P(k)) : [N];
2849
+ [2 * L, 2 * X, C + 1],
2850
+ [2 * L + 1, 2 * X, C + 1],
2851
+ [2 * L, 2 * X + 1, C + 1],
2852
+ [2 * L + 1, 2 * X + 1, C + 1]
2853
+ ].flatMap((k) => P(k)) : [z];
2850
2854
  };
2851
2855
  return P([0, 0, 0]);
2852
- }, T = ({
2856
+ }, R = ({
2853
2857
  viewport: g,
2854
- depth: w = !1,
2858
+ depth: y = !1,
2855
2859
  index: M = 0
2856
2860
  }) => {
2857
2861
  const S = t.color?.() ?? [1, 1, 1, 1];
2858
- if (c(), Ee(n, w, t))
2862
+ if (c(), Ee(n, y, t))
2859
2863
  return;
2860
- const U = w ? E : _, { projection: P, modelView: N, camera: I } = g, X = m(g);
2864
+ const U = y ? x : _, { projection: P, modelView: z, camera: L } = g, X = E(g);
2861
2865
  for (const C of X) {
2862
- const Y = w ? void 0 : r?.get(C), j = l.get(C);
2863
- if (!w && !Y || !j)
2866
+ const Y = y ? void 0 : r?.get(C), j = l.get(C);
2867
+ if (!y && !Y || !j)
2864
2868
  continue;
2865
2869
  const { texture: q, downsample: J } = j, { texture: $ = q, downsample: k = 0 } = Y ?? {};
2866
2870
  U.execute({
2867
2871
  projection: P,
2868
- modelView: N,
2869
- camera: K(I),
2872
+ modelView: z,
2873
+ camera: K(L),
2870
2874
  xyz: C,
2871
2875
  imagery: $,
2872
2876
  terrain: q,
@@ -2876,13 +2880,13 @@ const B = 34, di = 22, mi = xe(0, B).flatMap(
2876
2880
  index: M
2877
2881
  });
2878
2882
  }
2879
- }, R = () => {
2883
+ }, T = () => {
2880
2884
  i?.dispose(), f.dispose(), h.dispose();
2881
- }, y = ye(t);
2885
+ }, w = ye(t);
2882
2886
  return {
2883
- render: T,
2884
- dispose: R,
2885
- ...y,
2887
+ render: R,
2888
+ dispose: T,
2889
+ ...w,
2886
2890
  elevation: h.get
2887
2891
  };
2888
2892
  }, vi = ({ gl: e, programs: t }, { uvwBuffer: n, indexBuffer: i }) => {
@@ -2890,20 +2894,20 @@ const B = 34, di = 22, mi = xe(0, B).flatMap(
2890
2894
  const a = t.get({
2891
2895
  vertexSource: hi,
2892
2896
  fragmentSource: c ? _e : li
2893
- }), f = a.attribute3f("uvw", n), l = a.uniformMatrix4f("projection"), h = a.uniformMatrix4f("model_view"), u = a.uniform1i("imagery"), d = a.uniform1i("terrain"), p = a.uniform1i("downsample_imagery"), _ = a.uniform1i("downsample_terrain"), E = a.uniform4f("color"), x = a.uniform3i("xyz"), A = a.uniform3i("camera"), b = a.uniform1i("index");
2897
+ }), f = a.attribute3f("uvw", n), l = a.uniformMatrix4f("projection"), h = a.uniformMatrix4f("model_view"), u = a.uniform1i("imagery"), d = a.uniform1i("terrain"), m = a.uniform1i("downsample_imagery"), _ = a.uniform1i("downsample_terrain"), x = a.uniform4f("color"), v = a.uniform3i("xyz"), A = a.uniform3i("camera"), b = a.uniform1i("index");
2894
2898
  return { execute: ({
2895
- projection: m,
2896
- modelView: T,
2897
- camera: R,
2898
- xyz: y,
2899
+ projection: E,
2900
+ modelView: R,
2901
+ camera: T,
2902
+ xyz: w,
2899
2903
  imagery: g,
2900
- terrain: w,
2904
+ terrain: y,
2901
2905
  downsampleImagery: M,
2902
2906
  downsampleTerrain: S,
2903
2907
  color: U,
2904
2908
  index: P
2905
2909
  }) => {
2906
- a.use(), f.use(), l.set(m), h.set(T), x.set(y), A.set(R), p.set(M), _.set(S), E.set(U), b.set(P), e.activeTexture(e.TEXTURE0), u.set(0), g.use(), e.activeTexture(e.TEXTURE1), d.set(1), w.use(), i.use(), e.drawElements(e.TRIANGLES, B * B * 2 * 3, e.UNSIGNED_SHORT, 0);
2910
+ a.use(), f.use(), l.set(E), h.set(R), v.set(w), A.set(T), m.set(M), _.set(S), x.set(U), b.set(P), e.activeTexture(e.TEXTURE0), u.set(0), g.use(), e.activeTexture(e.TEXTURE1), d.set(1), y.use(), i.use(), e.drawElements(e.TRIANGLES, B * B * 2 * 3, e.UNSIGNED_SHORT, 0);
2907
2911
  } };
2908
2912
  }, s = r(), o = r(!0);
2909
2913
  return { renderProgram: s, depthProgram: o };
@@ -2915,9 +2919,9 @@ const B = 34, di = 22, mi = xe(0, B).flatMap(
2915
2919
  )
2916
2920
  ).reduce((t, n) => t + n, 0) / e.length
2917
2921
  ), ht = (e, t) => {
2918
- const [n = 0, i = 0, r = 0, s = 0] = t, o = ([l = 0, h = 0, u = 0, d = 0]) => n * l + i * h + r * u + s * d >= 0, c = ([l = 0, h = 0, u = 0, d = 0], [p = 0, _ = 0, E = 0, x = 0]) => {
2919
- const A = n * l + i * h + r * u + s * d, b = n * p + i * _ + r * E + s * x, v = A / (A - b), m = l + v * (p - l), T = h + v * (_ - h), R = u + v * (E - u), y = d + v * (x - d);
2920
- return [m, T, R, y];
2922
+ const [n = 0, i = 0, r = 0, s = 0] = t, o = ([l = 0, h = 0, u = 0, d = 0]) => n * l + i * h + r * u + s * d >= 0, c = ([l = 0, h = 0, u = 0, d = 0], [m = 0, _ = 0, x = 0, v = 0]) => {
2923
+ const A = n * l + i * h + r * u + s * d, b = n * m + i * _ + r * x + s * v, p = A / (A - b), E = l + p * (m - l), R = h + p * (_ - h), T = u + p * (x - u), w = d + p * (v - d);
2924
+ return [E, R, T, w];
2921
2925
  }, a = [];
2922
2926
  let f = e[e.length - 1] ?? [0, 0, 0, 0];
2923
2927
  for (const l of e)
@@ -2982,7 +2986,7 @@ const B = 34, di = 22, mi = xe(0, B).flatMap(
2982
2986
  };
2983
2987
  }, yi = fe(
2984
2988
  ({ time: e, current: t, target: n }) => (Math.abs(n - t) < Ue ? t = n : t = t + (n - t) * (1 - Math.exp(-Se * e)), t)
2985
- ), Ti = (e) => fe(({ time: t, current: n, target: i }) => (pn(n, i) < Ue ? ln(n, i) : n = hn(
2989
+ ), wi = (e) => fe(({ time: t, current: n, target: i }) => (pn(n, i) < Ue ? ln(n, i) : n = hn(
2986
2990
  ve(),
2987
2991
  n,
2988
2992
  mn(
@@ -2999,14 +3003,14 @@ const B = 34, di = 22, mi = xe(0, B).flatMap(
2999
3003
  1 - Math.exp(-Se * t)
3000
3004
  )
3001
3005
  ), n))(() => mt(e())), Yi = (e) => fe(({ time: t, current: n, target: i }) => {
3002
- const r = Me(z(n), z(i));
3006
+ const r = Me(N(n), N(i));
3003
3007
  return r * F < Ue || r > 1e5 / F ? Zt(n, i) : n = oe(
3004
3008
  re(
3005
- L(),
3006
- z(n),
3009
+ I(),
3010
+ N(n),
3007
3011
  de(
3008
- L(),
3009
- se(L(), z(i), z(n)),
3012
+ I(),
3013
+ se(I(), N(i), N(n)),
3010
3014
  1 - Math.exp(-Se * t)
3011
3015
  )
3012
3016
  )
@@ -3014,46 +3018,46 @@ const B = 34, di = 22, mi = xe(0, B).flatMap(
3014
3018
  })(() => dt(e())), $i = (e) => {
3015
3019
  let t = [0, 0, 0], n = [0, 0, 0], i, r;
3016
3020
  return fe(({ time: o, current: c, target: a }) => {
3017
- if (a === c || o > 1 || Me(z(a), z(c)) > 1e3 / F)
3021
+ if (a === c || o > 1 || Me(N(a), N(c)) > 1e3 / F)
3018
3022
  return i = void 0, t = [0, 0, 0], n = [0, 0, 0], a;
3019
3023
  const f = performance.now();
3020
3024
  i ? a !== i && r !== void 0 && f - r > 1 && (n = de(
3021
- L(),
3022
- se(L(), z(a), z(i)),
3025
+ I(),
3026
+ se(I(), N(a), N(i)),
3023
3027
  1e3 / (f - r)
3024
3028
  ), i = a, r = f) : (i = a, r = o);
3025
3029
  const l = re(
3026
- L(),
3030
+ I(),
3027
3031
  t,
3028
3032
  de(
3029
- L(),
3030
- se(L(), n, t),
3033
+ I(),
3034
+ se(I(), n, t),
3031
3035
  2 * o
3032
3036
  )
3033
3037
  );
3034
3038
  return c = oe(
3035
3039
  re(
3036
- L(),
3037
- z(c),
3040
+ I(),
3041
+ N(c),
3038
3042
  re(
3039
- L(),
3043
+ I(),
3040
3044
  de(
3041
- L(),
3042
- re(L(), t, l),
3045
+ I(),
3046
+ re(I(), t, l),
3043
3047
  0.5 * o
3044
3048
  ),
3045
3049
  de(
3046
- L(),
3047
- se(L(), z(a), z(c)),
3050
+ I(),
3051
+ se(I(), N(a), N(c)),
3048
3052
  o
3049
3053
  )
3050
3054
  )
3051
3055
  )
3052
3056
  ), t = l, c;
3053
3057
  })(() => dt(e()));
3054
- }, wi = (e) => {
3058
+ }, Ti = (e) => {
3055
3059
  const t = gi(() => xt(e()));
3056
- return () => Tn(t());
3060
+ return () => wn(t());
3057
3061
  }, gi = (e) => fe(({ time: t, current: n, target: i }) => {
3058
3062
  let r = sn(n, i);
3059
3063
  return isNaN(r) && (r = 0), n = Ie(
@@ -3063,22 +3067,22 @@ const B = 34, di = 22, mi = xe(0, B).flatMap(
3063
3067
  Se * 0.5 * Math.max(0.5, r) * t
3064
3068
  ), r < Ue && (n = i), n;
3065
3069
  })(() => an(e())), Ri = 8, ki = (e) => {
3066
- const t = wi(() => e().orientation), n = Ti(() => e().offset), i = yi(() => e().fieldOfView);
3070
+ const t = Ti(() => e().orientation), n = wi(() => e().offset), i = yi(() => e().fieldOfView);
3067
3071
  return fe(({ time: s, current: o, target: c }) => {
3068
- let a = Me(z(o.target), z(c.target)) * F;
3072
+ let a = Me(N(o.target), N(c.target)) * F;
3069
3073
  a < 1e3 && (a = 0);
3070
3074
  const f = Math.max(c.distance, a), l = 1 - Math.exp(-Ri * s), h = Math.exp(
3071
3075
  Math.log(o.distance) + (Math.log(f) - Math.log(o.distance)) * l
3072
3076
  ), u = o.distance > a ? 1 : o.distance / a, d = oe(
3073
3077
  re(
3074
- L(),
3075
- z(o.target),
3078
+ I(),
3079
+ N(o.target),
3076
3080
  de(
3077
- L(),
3081
+ I(),
3078
3082
  se(
3079
- L(),
3080
- z(c.target),
3081
- z(o.target)
3083
+ I(),
3084
+ N(c.target),
3085
+ N(o.target)
3082
3086
  ),
3083
3087
  l * u
3084
3088
  )
@@ -3135,8 +3139,8 @@ const B = 34, di = 22, mi = xe(0, B).flatMap(
3135
3139
  resize: o,
3136
3140
  read: ([l = 0, h = 0]) => {
3137
3141
  r(), e.readPixels(l, s - h, 1, 1, e.RGBA, e.UNSIGNED_BYTE, c), e.bindFramebuffer(e.FRAMEBUFFER, null);
3138
- const [u = 0, d = 0, p = 0, _ = 0] = c, x = 2 * ((u * 256 + d) / (256 * 256 - 1)) - 1, A = p * 256 + _;
3139
- return [x, A];
3142
+ const [u = 0, d = 0, m = 0, _ = 0] = c, v = 2 * ((u * 256 + d) / (256 * 256 - 1)) - 1, A = m * 256 + _;
3143
+ return [v, A];
3140
3144
  },
3141
3145
  dispose: () => {
3142
3146
  e.deleteTexture(t), e.deleteFramebuffer(i), e.deleteRenderbuffer(n);
@@ -3151,42 +3155,42 @@ const B = 34, di = 22, mi = xe(0, B).flatMap(
3151
3155
  let s = !1, o, c;
3152
3156
  const a = () => {
3153
3157
  s = !0;
3154
- }, f = (p) => {
3155
- const { x: _, y: E, movementX: x, movementY: A } = p;
3158
+ }, f = (m) => {
3159
+ const { x: _, y: x, movementX: v, movementY: A } = m;
3156
3160
  if (o) {
3157
3161
  if (o.onDrag) {
3158
- const { point: T, position: R, layer: y } = i([_, E], { terrain: !0 });
3159
- o.onDrag({ point: T, position: R, layer: y });
3162
+ const { point: R, position: T, layer: w } = i([_, x], { terrain: !0 });
3163
+ o.onDrag({ point: R, position: T, layer: w });
3160
3164
  }
3161
3165
  if (o.onDragFlat) {
3162
- const R = te(t(), n()).unproject([_, E], { targetZ: c });
3163
- o.onDragFlat({ point: [_, E], position: R, layer: void 0 });
3166
+ const T = te(t(), n()).unproject([_, x], { targetZ: c });
3167
+ o.onDragFlat({ point: [_, x], position: T, layer: void 0 });
3164
3168
  }
3165
3169
  return;
3166
3170
  }
3167
- if (s && !p.buttons && (Math.abs(x) > 1 || Math.abs(A) > 1)) {
3171
+ if (s && m.buttons === 1 && (Math.abs(v) > 1 || Math.abs(A) > 1)) {
3168
3172
  s = !1;
3169
- const { point: T, position: R, layer: y } = i([_, E]);
3170
- (y?.onDrag || y?.onDragFlat) && (o = y, o.onDragStart?.({ point: T, position: R, layer: y }), [, , c] = R);
3173
+ const { point: R, position: T, layer: w } = i([_, x]);
3174
+ (w?.onDrag || w?.onDragFlat) && (o = w, o.onDragStart?.({ point: R, position: T, layer: w }), [, , c] = T);
3171
3175
  return;
3172
3176
  }
3173
- const { point: b, position: v, layer: m } = i([_, E]);
3174
- m?.onMouseMove?.({ point: b, position: v, layer: m });
3175
- }, l = (p) => {
3176
- if (s && h(p), s = !1, o) {
3177
- const { x: _, y: E } = p, { point: x, position: A, layer: b } = i([_, E]);
3178
- o.onDragEnd?.({ point: x, position: A, layer: b });
3177
+ const { point: b, position: p, layer: E } = i([_, x]);
3178
+ E?.onMouseMove?.({ point: b, position: p, layer: E });
3179
+ }, l = (m) => {
3180
+ if (s && h(m), s = !1, o) {
3181
+ const { x: _, y: x } = m, { point: v, position: A, layer: b } = i([_, x]);
3182
+ o.onDragEnd?.({ point: v, position: A, layer: b });
3179
3183
  }
3180
3184
  o = void 0;
3181
- }, h = (p) => {
3182
- const { x: _, y: E, button: x } = p, { point: A, position: b, layer: v } = i([_, E]);
3183
- (x === 2 ? v?.onRightClick : v?.onClick)?.(
3184
- { point: A, position: b, layer: v },
3185
- p
3185
+ }, h = (m) => {
3186
+ const { x: _, y: x, button: v } = m, { point: A, position: b, layer: p } = i([_, x]);
3187
+ (v === 2 ? p?.onRightClick : p?.onClick)?.(
3188
+ { point: A, position: b, layer: p },
3189
+ m
3186
3190
  );
3187
- }, u = ({ x: p, y: _ }) => {
3188
- const { point: E, position: x, layer: A } = i([p, _]);
3189
- A?.onDoubleClick?.({ point: E, position: x, layer: A });
3191
+ }, u = ({ x: m, y: _ }) => {
3192
+ const { point: x, position: v, layer: A } = i([m, _]);
3193
+ A?.onDoubleClick?.({ point: x, position: v, layer: A });
3190
3194
  };
3191
3195
  return r?.addEventListener("mousedown", a), r?.addEventListener("mousemove", f), r?.addEventListener("dblclick", u), window.addEventListener("mouseup", l), {
3192
3196
  get dragging() {
@@ -3202,62 +3206,62 @@ const Hi = ({ gl: e }, t) => {
3202
3206
  const { view: n, layers: i } = t;
3203
3207
  let r = !0, s = [0, 0];
3204
3208
  e.enable(e.CULL_FACE), e.cullFace(e.FRONT), e.depthFunc(e.LEQUAL);
3205
- const o = Ai(e), { canvas: c } = e, a = ([v = 0, m = 0]) => {
3206
- v = v || 1, m = m || 1, s = [v, m], c.width = v * devicePixelRatio, c.height = m * devicePixelRatio, o.resize([c.width, c.height]);
3209
+ const o = Ai(e), { canvas: c } = e, a = ([p = 0, E = 0]) => {
3210
+ p = p || 1, E = E || 1, s = [p, E], c.width = p * devicePixelRatio, c.height = E * devicePixelRatio, o.resize([c.width, c.height]);
3207
3211
  };
3208
3212
  a([c.width, c.height]);
3209
- const f = new ResizeObserver(([v]) => {
3210
- if (!v)
3213
+ const f = new ResizeObserver(([p]) => {
3214
+ if (!p)
3211
3215
  return;
3212
- const { contentRect: m } = v, { width: T, height: R } = m;
3213
- a([T, R]);
3216
+ const { contentRect: E } = p, { width: R, height: T } = E;
3217
+ a([R, T]);
3214
3218
  });
3215
3219
  c instanceof HTMLCanvasElement && f.observe(c);
3216
- const l = ([v = 0, m = 0]) => {
3217
- e.viewport(0, 0, v * devicePixelRatio, m * devicePixelRatio), e.clear(e.COLOR_BUFFER_BIT | e.DEPTH_BUFFER_BIT);
3220
+ const l = ([p = 0, E = 0]) => {
3221
+ e.viewport(0, 0, p * devicePixelRatio, E * devicePixelRatio), e.clear(e.COLOR_BUFFER_BIT | e.DEPTH_BUFFER_BIT);
3218
3222
  }, h = () => {
3219
- const v = te(n(), s);
3220
- l(s), Ce(i()).forEach((m) => m.render?.({ viewport: v }));
3221
- }, u = (v) => {
3222
- const m = te(n(), s);
3223
- l(s), (v ? [v] : Ce(i())).forEach(
3224
- (T, R) => T.render?.({ viewport: m, depth: !0, index: R + 1 })
3223
+ const p = te(n(), s);
3224
+ l(s), Ce(i()).forEach((E) => E.render?.({ viewport: p }));
3225
+ }, u = (p) => {
3226
+ const E = te(n(), s);
3227
+ l(s), (p ? [p] : Ce(i())).forEach(
3228
+ (R, T) => R.render?.({ viewport: E, depth: !0, index: T + 1 })
3225
3229
  );
3226
3230
  }, d = () => {
3227
3231
  r && (h(), requestAnimationFrame(d));
3228
3232
  };
3229
3233
  requestAnimationFrame(d);
3230
- const p = (v) => te(n(), s).project(v), _ = (v) => te(n(), s).unproject(v), E = (v, { terrain: m } = {}) => {
3231
- const { screenToClip: T, clipToLocal: R, localToWorld: y } = te(
3234
+ const m = (p) => te(n(), s).project(p), _ = (p) => te(n(), s).unproject(p), x = (p, { terrain: E } = {}) => {
3235
+ const { screenToClip: R, clipToLocal: T, localToWorld: w } = te(
3232
3236
  n(),
3233
3237
  s
3234
3238
  );
3235
3239
  o.use();
3236
- const [g] = m ? i() : [];
3240
+ const [g] = E ? i() : [];
3237
3241
  u(g);
3238
- const [w = 0, M = 0] = v, [S, U] = o.read([
3239
- w * devicePixelRatio,
3242
+ const [y = 0, M = 0] = p, [S, U] = o.read([
3243
+ y * devicePixelRatio,
3240
3244
  M * devicePixelRatio
3241
- ]), [P = 0, N = 0] = T(v), I = oe(y(R([P, N, S, 1]))), X = U === 0 ? void 0 : g ?? Ce(i())[U - 1];
3242
- return { point: v, position: I, layer: X };
3243
- }, x = bi(e, {
3245
+ ]), [P = 0, z = 0] = R(p), L = oe(w(T([P, z, S, 1]))), X = U === 0 ? void 0 : g ?? Ce(i())[U - 1];
3246
+ return { point: p, position: L, layer: X };
3247
+ }, v = bi(e, {
3244
3248
  view: n,
3245
3249
  screen: () => s,
3246
- pick: E
3250
+ pick: x
3247
3251
  });
3248
3252
  return {
3249
- project: p,
3253
+ project: m,
3250
3254
  unproject: _,
3251
- pick: E,
3252
- elevation: (v) => {
3253
- const [m] = i();
3254
- return m.elevation(v);
3255
+ pick: x,
3256
+ elevation: (p) => {
3257
+ const [E] = i();
3258
+ return E.elevation(p);
3255
3259
  },
3256
3260
  get dragging() {
3257
- return x.dragging;
3261
+ return v.dragging;
3258
3262
  },
3259
3263
  dispose: () => {
3260
- r = !1, x.dispose(), o.dispose(), c instanceof HTMLCanvasElement && f.unobserve(c);
3264
+ r = !1, v.dispose(), o.dispose(), c instanceof HTMLCanvasElement && f.unobserve(c);
3261
3265
  }
3262
3266
  };
3263
3267
  }, Ce = (e) => e.flatMap((t) => [...Ce(t.children ?? []), t]);
@@ -3276,7 +3280,7 @@ export {
3276
3280
  ye as createMouseEvents,
3277
3281
  yi as createNumberTransition,
3278
3282
  Di as createObjectLayer,
3279
- wi as createOrientationTransition,
3283
+ Ti as createOrientationTransition,
3280
3284
  Oi as createPolygonLayer,
3281
3285
  Yi as createPositionTransition,
3282
3286
  $i as createPositionVelocityTransition,
@@ -3285,7 +3289,7 @@ export {
3285
3289
  Li as createRenderLayer,
3286
3290
  ji as createTerrainLayer,
3287
3291
  fe as createTransition,
3288
- Ti as createVec2Transition,
3292
+ wi as createVec2Transition,
3289
3293
  Zi as createVec4Transition,
3290
3294
  ki as createViewTransition,
3291
3295
  Hi as createWorld,
@@ -3294,12 +3298,12 @@ export {
3294
3298
  Et as defaultView,
3295
3299
  En as degrees,
3296
3300
  oe as geodetic,
3297
- z as mercator,
3301
+ N as mercator,
3298
3302
  _n as quadratic,
3299
3303
  De as radians,
3300
3304
  xe as range,
3301
3305
  vt as tileToMercator,
3302
- Tn as toOrientation,
3306
+ wn as toOrientation,
3303
3307
  xt as toQuaternion
3304
3308
  };
3305
3309
  //# sourceMappingURL=index.js.map