world.ts 0.3.18 → 0.3.19

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
@@ -3,7 +3,7 @@ const bt = (e, t) => {
3
3
  return (...i) => {
4
4
  clearTimeout(n), n = setTimeout(() => e(...i), t);
5
5
  };
6
- }, se = (e, t) => Array.from({ length: t - e }, (n, i) => i + e), St = ({
6
+ }, xe = (e, t) => Array.from({ length: t - e }, (n, i) => i + e), St = ({
7
7
  gl: e,
8
8
  vertexSource: t,
9
9
  fragmentSource: n
@@ -22,75 +22,79 @@ const bt = (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 = (y, w) => {
26
- const R = e.getUniformLocation(i, y);
27
- return { set: (b) => {
28
- R && w(R, b);
29
- } };
30
- }, a = (y) => c(y, (w, R) => e.uniform1f(w, R)), f = (y) => c(y, (w, R) => e.uniform1i(w, R)), l = (y) => c(
31
- y,
32
- (w, [R = 0, M = 0]) => e.uniform2f(w, R, M)
33
- ), h = (y) => c(
34
- y,
35
- (w, [R = 0, M = 0]) => e.uniform2i(w, R, M)
36
- ), u = (y) => c(
37
- y,
38
- (w, [R = 0, M = 0, b = 0]) => e.uniform3f(w, R, M, b)
39
- ), d = (y) => c(
40
- y,
41
- (w, [R = 0, M = 0, b = 0]) => e.uniform3i(w, R, M, b)
42
- ), m = (y) => c(
43
- y,
44
- (w, [R = 0, M = 0, b = 0, U = 0]) => e.uniform4f(w, R, M, b, U)
45
- ), T = (y) => c(
46
- y,
47
- (w, [R = 0, M = 0, b = 0, U = 0]) => e.uniform4i(w, R, M, b, U)
48
- ), E = (y) => c(
49
- y,
50
- (w, R) => e.uniformMatrix4fv(w, !1, R)
51
- ), p = ({
52
- name: y,
53
- buffer: w,
25
+ const o = () => e.useProgram(i), c = {}, a = (T, g) => {
26
+ if (c[T])
27
+ return c[T];
28
+ const R = e.getUniformLocation(i, T);
29
+ let b;
30
+ const U = (S) => {
31
+ R && S !== b && (g(R, S), b = S);
32
+ };
33
+ return c[T] = { set: U }, { set: U };
34
+ }, f = (T) => a(T, (g, R) => e.uniform1f(g, R)), l = (T) => a(T, (g, R) => e.uniform1i(g, R)), h = (T) => a(
35
+ T,
36
+ (g, [R = 0, b = 0]) => e.uniform2f(g, R, b)
37
+ ), u = (T) => a(
38
+ T,
39
+ (g, [R = 0, b = 0]) => e.uniform2i(g, R, b)
40
+ ), d = (T) => a(
41
+ T,
42
+ (g, [R = 0, b = 0, U = 0]) => e.uniform3f(g, R, b, U)
43
+ ), m = (T) => a(
44
+ T,
45
+ (g, [R = 0, b = 0, U = 0]) => e.uniform3i(g, R, b, U)
46
+ ), y = (T) => a(
47
+ T,
48
+ (g, [R = 0, b = 0, U = 0, S = 0]) => e.uniform4f(g, R, b, U, S)
49
+ ), E = (T) => a(
50
+ T,
51
+ (g, [R = 0, b = 0, U = 0, S = 0]) => e.uniform4i(g, R, b, U, S)
52
+ ), p = (T) => a(
53
+ T,
54
+ (g, R) => e.uniformMatrix4fv(g, !1, R)
55
+ ), A = ({
56
+ name: T,
57
+ buffer: g,
54
58
  size: R,
55
- type: M,
56
- stride: b,
57
- offset: U
59
+ type: b,
60
+ stride: U,
61
+ offset: S
58
62
  }) => {
59
- const P = e.getAttribLocation(i, y);
63
+ const P = e.getAttribLocation(i, T);
60
64
  if (P === -1)
61
- throw new Error(`Missing attribute: ${y}`);
65
+ throw new Error(`Missing attribute: ${T}`);
62
66
  return { use: () => {
63
- w.use(), e.enableVertexAttribArray(P), ["u16", "i32"].includes(M) ? e.vertexAttribIPointer(
67
+ g.use(), e.enableVertexAttribArray(P), ["u16", "i32"].includes(b) ? e.vertexAttribIPointer(
64
68
  P,
65
69
  R,
66
- M === "u16" ? e.UNSIGNED_SHORT : e.INT,
67
- b || 0,
68
- U || 0
70
+ b === "u16" ? e.UNSIGNED_SHORT : e.INT,
71
+ U || 0,
72
+ S || 0
69
73
  ) : e.vertexAttribPointer(
70
74
  P,
71
75
  R,
72
76
  e.FLOAT,
73
77
  !1,
74
- b || 0,
75
- U || 0
78
+ U || 0,
79
+ S || 0
76
80
  );
77
81
  } };
78
82
  };
79
83
  return {
80
84
  use: o,
81
- uniform1f: a,
82
- uniform1i: f,
83
- uniform2f: l,
84
- uniform2i: h,
85
- uniform3f: u,
86
- uniform3i: d,
87
- uniform4f: m,
88
- uniform4i: T,
89
- uniformMatrix4f: E,
90
- attribute1f: (y, w, R = {}) => p({ name: y, buffer: w, size: 1, type: "f32", ...R }),
91
- attribute2f: (y, w, R = {}) => p({ name: y, buffer: w, size: 2, type: "f32", ...R }),
92
- attribute3f: (y, w, R = {}) => p({ name: y, buffer: w, size: 3, type: "f32", ...R }),
93
- attribute3i: (y, w, R = {}) => p({ name: y, buffer: w, size: 3, type: "i32", ...R }),
85
+ uniform1f: f,
86
+ uniform1i: l,
87
+ uniform2f: h,
88
+ uniform2i: u,
89
+ uniform3f: d,
90
+ uniform3i: m,
91
+ uniform4f: y,
92
+ uniform4i: E,
93
+ uniformMatrix4f: p,
94
+ attribute1f: (T, g, R = {}) => A({ name: T, buffer: g, size: 1, type: "f32", ...R }),
95
+ attribute2f: (T, g, R = {}) => A({ name: T, buffer: g, size: 2, type: "f32", ...R }),
96
+ attribute3f: (T, g, R = {}) => A({ name: T, buffer: g, size: 3, type: "f32", ...R }),
97
+ attribute3i: (T, g, R = {}) => A({ name: T, buffer: g, size: 3, type: "i32", ...R }),
94
98
  dispose: () => {
95
99
  e.deleteProgram(i), e.deleteShader(r), e.deleteShader(s);
96
100
  }
@@ -116,7 +120,7 @@ const bt = (e, t) => {
116
120
  },
117
121
  dispose: () => [...t.values()].forEach((r) => r.dispose())
118
122
  };
119
- }, Mi = (e) => {
123
+ }, Ai = (e) => {
120
124
  const t = e.getContext("webgl2");
121
125
  if (!t)
122
126
  throw new Error("No WebGL2");
@@ -136,7 +140,7 @@ function Lt() {
136
140
  var e = new k(9);
137
141
  return k != 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;
138
142
  }
139
- function pe() {
143
+ function ve() {
140
144
  var e = new k(16);
141
145
  return k != 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;
142
146
  }
@@ -144,12 +148,12 @@ function rt(e) {
144
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;
145
149
  }
146
150
  function Nt(e, t) {
147
- 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 = t[13], E = t[14], p = t[15], A = n * c - i * o, x = n * a - r * o, _ = n * f - s * o, v = i * a - r * c, g = i * f - s * c, y = r * f - s * a, w = l * T - h * m, R = l * E - u * m, M = l * p - d * m, b = h * E - u * T, U = h * p - d * T, P = u * p - d * E, S = A * P - x * U + _ * b + v * M - g * R + y * w;
148
- return S ? (S = 1 / S, e[0] = (c * P - a * U + f * b) * S, e[1] = (r * U - i * P - s * b) * S, e[2] = (T * y - E * g + p * v) * S, e[3] = (u * g - h * y - d * v) * S, e[4] = (a * M - o * P - f * R) * S, e[5] = (n * P - r * M + s * R) * S, e[6] = (E * _ - m * y - p * x) * S, e[7] = (l * y - u * _ + d * x) * S, e[8] = (o * U - c * M + f * w) * S, e[9] = (i * M - n * U - s * w) * S, e[10] = (m * g - T * _ + p * A) * S, e[11] = (h * _ - l * g - d * A) * S, e[12] = (c * R - o * b - a * w) * S, e[13] = (n * b - i * R + r * w) * S, e[14] = (T * x - m * v - E * A) * S, e[15] = (l * v - h * x + u * A) * S, 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], y = t[13], E = t[14], p = t[15], A = n * c - i * o, x = n * a - r * o, _ = n * f - s * o, v = i * a - r * c, w = i * f - s * c, M = r * f - s * a, T = l * y - h * m, g = l * E - u * m, R = l * p - d * m, b = h * E - u * y, U = h * p - d * y, S = u * p - d * E, P = A * S - x * U + _ * b + v * R - w * g + M * T;
152
+ return P ? (P = 1 / P, e[0] = (c * S - a * U + f * b) * P, e[1] = (r * U - i * S - s * b) * P, e[2] = (y * M - E * w + p * v) * P, e[3] = (u * w - h * M - d * v) * P, e[4] = (a * R - o * S - f * g) * P, e[5] = (n * S - r * R + s * g) * P, e[6] = (E * _ - m * M - p * x) * P, e[7] = (l * M - u * _ + d * x) * P, e[8] = (o * U - c * R + f * T) * P, e[9] = (i * R - n * U - s * T) * P, e[10] = (m * w - y * _ + p * A) * P, e[11] = (h * _ - l * w - d * A) * P, e[12] = (c * g - o * b - a * T) * P, e[13] = (n * b - i * g + r * T) * P, e[14] = (y * x - m * v - E * A) * P, e[15] = (l * v - h * x + u * A) * P, e) : null;
149
153
  }
150
154
  function It(e, t, n) {
151
- 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 = t[12], E = t[13], p = t[14], A = t[15], x = n[0], _ = n[1], v = n[2], g = n[3];
152
- return e[0] = x * i + _ * c + v * h + g * T, e[1] = x * r + _ * a + v * u + g * E, e[2] = x * s + _ * f + v * d + g * p, e[3] = x * o + _ * l + v * m + g * A, x = n[4], _ = n[5], v = n[6], g = n[7], e[4] = x * i + _ * c + v * h + g * T, e[5] = x * r + _ * a + v * u + g * E, e[6] = x * s + _ * f + v * d + g * p, e[7] = x * o + _ * l + v * m + g * A, x = n[8], _ = n[9], v = n[10], g = n[11], e[8] = x * i + _ * c + v * h + g * T, e[9] = x * r + _ * a + v * u + g * E, e[10] = x * s + _ * f + v * d + g * p, e[11] = x * o + _ * l + v * m + g * A, x = n[12], _ = n[13], v = n[14], g = n[15], e[12] = x * i + _ * c + v * h + g * T, e[13] = x * r + _ * a + v * u + g * E, e[14] = x * s + _ * f + v * d + g * p, e[15] = x * o + _ * l + v * m + g * 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], y = t[12], E = t[13], p = t[14], A = t[15], x = n[0], _ = n[1], v = n[2], w = n[3];
156
+ return e[0] = x * i + _ * c + v * h + w * y, e[1] = x * r + _ * a + v * u + w * E, e[2] = x * s + _ * f + v * d + w * p, e[3] = x * o + _ * l + v * m + w * A, x = n[4], _ = n[5], v = n[6], w = n[7], e[4] = x * i + _ * c + v * h + w * y, e[5] = x * r + _ * a + v * u + w * E, e[6] = x * s + _ * f + v * d + w * p, e[7] = x * o + _ * l + v * m + w * A, x = n[8], _ = n[9], v = n[10], w = n[11], e[8] = x * i + _ * c + v * h + w * y, e[9] = x * r + _ * a + v * u + w * E, e[10] = x * s + _ * f + v * d + w * p, e[11] = x * o + _ * l + v * m + w * A, x = n[12], _ = n[13], v = n[14], w = n[15], e[12] = x * i + _ * c + v * h + w * y, e[13] = x * r + _ * a + v * u + w * E, e[14] = x * s + _ * f + v * d + w * p, e[15] = x * o + _ * l + v * m + w * A, e;
153
157
  }
154
158
  function Dt(e, t, n) {
155
159
  var i = n[0], r = n[1], s = n[2];
@@ -168,8 +172,8 @@ function Xt(e, t, n) {
168
172
  return t !== e && (e[8] = t[8], e[9] = t[9], e[10] = t[10], e[11] = t[11], e[12] = t[12], e[13] = t[13], e[14] = t[14], e[15] = t[15]), e[0] = s * r + f * i, e[1] = o * r + l * i, e[2] = c * r + h * i, e[3] = a * r + u * i, e[4] = f * r - s * i, e[5] = l * r - o * i, e[6] = h * r - c * i, e[7] = u * r - a * i, e;
169
173
  }
170
174
  function ht(e, t) {
171
- 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, T = s * o, E = s * c, p = s * a;
172
- return e[0] = 1 - h - m, e[1] = l + p, e[2] = u - E, e[3] = 0, e[4] = l - p, e[5] = 1 - f - m, e[6] = d + T, e[7] = 0, e[8] = u + E, e[9] = d - T, e[10] = 1 - f - h, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e;
175
+ 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, y = s * o, E = s * c, p = s * a;
176
+ return e[0] = 1 - h - m, e[1] = l + p, e[2] = u - E, e[3] = 0, e[4] = l - p, e[5] = 1 - f - m, e[6] = d + y, e[7] = 0, e[8] = u + E, e[9] = d - y, e[10] = 1 - f - h, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e;
173
177
  }
174
178
  function Wt(e, t, n, i, r) {
175
179
  var s = 1 / Math.tan(t / 2), o;
@@ -200,7 +204,7 @@ function re(e, t, n) {
200
204
  function Zt(e, t, n) {
201
205
  return e[0] = t[0] - n[0], e[1] = t[1] - n[1], e[2] = t[2] - n[2], e;
202
206
  }
203
- function de(e, t, n) {
207
+ function he(e, t, n) {
204
208
  return e[0] = t[0] * n, e[1] = t[1] * n, e[2] = t[2] * n, e;
205
209
  }
206
210
  function be(e, t) {
@@ -222,7 +226,7 @@ function kt(e, t, n, i) {
222
226
  var r = t[0], s = t[1], o = t[2];
223
227
  return e[0] = r + i * (n[0] - r), e[1] = s + i * (n[1] - s), e[2] = o + i * (n[2] - o), e;
224
228
  }
225
- var oe = Zt, Ht = Bt;
229
+ var se = Zt, Ht = Bt;
226
230
  (function() {
227
231
  var e = L();
228
232
  return function(t, n, i, r, s, o) {
@@ -290,8 +294,8 @@ function rn(e, t) {
290
294
  return Math.acos(2 * n * n - 1);
291
295
  }
292
296
  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, m, T, 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 > Pt ? (u = Math.acos(d), m = Math.sin(u), T = Math.sin((1 - i) * u) / m, E = Math.sin(i * u) / m) : (T = 1 - i, E = i), e[0] = T * r + E * a, e[1] = T * s + E * f, e[2] = T * o + E * l, e[3] = T * c + E * h, e;
297
+ 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, y, E;
298
+ return d = r * a + s * f + o * l + c * h, d < 0 && (d = -d, a = -a, f = -f, l = -l, h = -h), 1 - d > Pt ? (u = Math.acos(d), m = Math.sin(u), y = Math.sin((1 - i) * u) / m, E = Math.sin(i * u) / m) : (y = 1 - i, E = i), e[0] = y * r + E * a, e[1] = y * s + E * f, e[2] = y * o + E * l, e[3] = y * c + E * h, e;
295
299
  }
296
300
  function sn(e, t) {
297
301
  var n = t[0] + t[4] + t[8], i;
@@ -325,7 +329,7 @@ var on = en, dt = Jt;
325
329
  return e[0] = i[0], e[3] = i[1], e[6] = i[2], e[1] = r[0], e[4] = r[1], e[7] = r[2], e[2] = -n[0], e[5] = -n[1], e[8] = -n[2], dt(t, sn(t, e));
326
330
  };
327
331
  })();
328
- function xe() {
332
+ function pe() {
329
333
  var e = new k(2);
330
334
  return k != Float32Array && (e[0] = 0, e[1] = 0), e;
331
335
  }
@@ -354,7 +358,7 @@ function dn(e, t) {
354
358
  }
355
359
  var mn = ln;
356
360
  (function() {
357
- var e = xe();
361
+ var e = pe();
358
362
  return function(t, n, i, r, s, o) {
359
363
  var c, a;
360
364
  for (n || (n = 2), i || (i = 0), r ? a = Math.min(r * n + i, t.length) : a = t.length, c = i; c < a; c += n)
@@ -370,7 +374,7 @@ const H = 40075017, De = (e) => e / 180 * Math.PI, vn = (e) => e * 180 / Math.PI
370
374
  e / 360 + 0.5,
371
375
  -Math.asinh(Math.tan(xn(De(t), -ct, ct))) / (2 * Math.PI) + 0.5,
372
376
  n / H
373
- ), ae = ([e = 0, t = 0, n = 0], i = L()) => Me(
377
+ ), oe = ([e = 0, t = 0, n = 0], i = L()) => Me(
374
378
  i,
375
379
  (e - 0.5) * 360,
376
380
  vn(Math.atan(Math.sinh(-(t - 0.5) * (2 * Math.PI)))),
@@ -390,58 +394,58 @@ const H = 40075017, De = (e) => e / 180 * Math.PI, vn = (e) => e * 180 / Math.PI
390
394
  distance: H,
391
395
  orientation: [0, 0, 0],
392
396
  fieldOfView: 45
393
- }, _n = pe(), yn = ne(), te = (e, t) => {
397
+ }, _n = ve(), yn = ne(), te = (e, t) => {
394
398
  const { target: n, offset: i, distance: r, orientation: s, fieldOfView: o } = {
395
399
  ...vt,
396
400
  ...e
397
- }, [c = 0, a = 0] = t, [f = 0, l = 0] = i, [h = 0, u = 0, d = 0] = s, m = Math.tan(De(45) / 2) / Math.tan(De(o) / 2), T = r / H * m, E = T / 100, p = T * 1e6, A = pe();
401
+ }, [c = 0, a = 0] = t, [f = 0, l = 0] = i, [h = 0, u = 0, d = 0] = s, m = Math.tan(De(45) / 2) / Math.tan(De(o) / 2), y = r / H * m, E = y / 100, p = y * 1e6, A = ve();
398
402
  rt(A), jt(A, De(o), c / a, E, p), Dt(A, A, [1, -1, 1]);
399
- const x = pe();
403
+ const x = ve();
400
404
  rt(x), Ot(x, x, h), Ct(x, x, u), Xt(x, x, d);
401
- const _ = It(_n, A, x), v = Nt(pe(), _);
405
+ const _ = It(_n, A, x), v = Nt(ve(), _);
402
406
  if (!v)
403
407
  throw new Error("No inverse");
404
- const g = (D) => {
405
- const j = [c * D, a * D], $ = [f * D, l * D];
408
+ const w = (O) => {
409
+ const j = [c * O, a * O], $ = [f * O, l * O];
406
410
  return te({ ...e, offset: $ }, j);
407
- }, y = ([D = 0, j = 0], $ = ne()) => {
408
- const Q = 2 * D / c - 1, Te = -(2 * j / a - 1);
411
+ }, M = ([O = 0, j = 0], $ = ne()) => {
412
+ const Q = 2 * O / c - 1, Te = -(2 * j / a - 1);
409
413
  return ot($, Q, Te, 0, 1);
410
- }, w = ([D = 0, j = 0, , $ = 0], Q = xe()) => $ < 0 ? Q : cn(Q, (1 + D / $) * c * 0.5, (1 - j / $) * a * 0.5), R = (D, j = L()) => {
411
- const [$ = 0, Q = 0, Te = 0, we = 0] = at(yn, D, v);
414
+ }, T = ([O = 0, j = 0, , $ = 0], Q = pe()) => $ < 0 ? Q : cn(Q, (1 + O / $) * c * 0.5, (1 - j / $) * a * 0.5), g = (O, j = L()) => {
415
+ const [$ = 0, Q = 0, Te = 0, we = 0] = at(yn, O, v);
412
416
  return Me(j, $ / we, Q / we, Te / we);
413
- }, M = ([D = 0, j = 0, $ = 0], Q = ne()) => at(Q, ot(Q, D, j, $, 1), _), [b = 0, U = 0] = y([f + c / 2, l + a / 2]), [P = 0, S = 0, I = 0] = R([b, U, -1, 1]), [C = 0, X = 0, O = 0] = R([b, U, 1.00001, 1]), [W = 0] = pn(
414
- (C - P) * (C - P) + (X - S) * (X - S) + (O - I) * (O - I),
415
- P * (C - P) + S * (X - S) + I * (O - I),
416
- P * P + S * S + I * I - r * r / H / H * m * m
417
+ }, R = ([O = 0, j = 0, $ = 0], Q = ne()) => at(Q, ot(Q, O, j, $, 1), _), [b = 0, U = 0] = M([f + c / 2, l + a / 2]), [S = 0, P = 0, N = 0] = g([b, U, -1, 1]), [I = 0, X = 0, C = 0] = g([b, U, 1.00001, 1]), [W = 0] = pn(
418
+ (I - S) * (I - S) + (X - P) * (X - P) + (C - N) * (C - N),
419
+ S * (I - S) + P * (X - P) + N * (C - N),
420
+ S * S + P * P + N * N - r * r / H / H * m * m
417
421
  );
418
422
  if (isNaN(W))
419
423
  throw new Error("Unexpected");
420
424
  const Z = [
421
- P + W * (C - P),
422
- S + W * (X - S),
423
- I + W * (O - I)
424
- ], Y = oe(L(), z(n), Z), q = (D, j = L()) => re(j, D, Y), G = (D, j = L()) => oe(j, D, Y);
425
+ S + W * (I - S),
426
+ P + W * (X - P),
427
+ N + W * (C - N)
428
+ ], Y = se(L(), z(n), Z), q = (O, j = L()) => re(j, O, Y), G = (O, j = L()) => se(j, O, Y);
425
429
  return {
426
430
  camera: Y,
427
431
  screen: t,
428
432
  projection: A,
429
433
  modelView: x,
430
434
  fieldScale: m,
431
- scale: g,
432
- screenToClip: y,
433
- clipToScreen: w,
434
- clipToLocal: R,
435
- localToClip: M,
435
+ scale: w,
436
+ screenToClip: M,
437
+ clipToScreen: T,
438
+ clipToLocal: g,
439
+ localToClip: R,
436
440
  localToWorld: q,
437
441
  worldToLocal: G,
438
- project: (D) => w(M(G(z(D)))),
439
- unproject: (D, { targetZ: j = 0 } = {}) => {
440
- const $ = y(D), [Q = 0, Te = 0, , we = 0] = $, At = [Q, Te, -1, we], et = ae(q(R($))), tt = ae(q(R(At))), [, , Ze = 0] = et, [, , nt = 0] = tt, Mt = Ze === nt ? 0 : (j - Ze) / (nt - Ze);
442
+ project: (O) => T(R(G(z(O)))),
443
+ unproject: (O, { targetZ: j = 0 } = {}) => {
444
+ const $ = M(O), [Q = 0, Te = 0, , we = 0] = $, At = [Q, Te, -1, we], et = oe(q(g($))), tt = oe(q(g(At))), [, , Ze = 0] = et, [, , nt = 0] = tt, Mt = Ze === nt ? 0 : (j - Ze) / (nt - Ze);
441
445
  return kt(L(), et, tt, Mt);
442
446
  }
443
447
  };
444
- }, Tn = 100, bi = (e, t, n) => {
448
+ }, Tn = 100, Mi = (e, t, n) => {
445
449
  const {
446
450
  enabled: i = () => !0,
447
451
  draggable: r = () => !0,
@@ -449,72 +453,72 @@ const H = 40075017, De = (e) => e / 180 * Math.PI, vn = (e) => e * 180 / Math.PI
449
453
  onChangeView: o
450
454
  } = n;
451
455
  let c = !1, a = !1;
452
- const { view: f } = n, l = ([v = 0, g = 0]) => {
453
- const [y, w] = [
456
+ const { view: f } = n, l = ([v = 0, w = 0]) => {
457
+ const [M, T] = [
454
458
  e.width / devicePixelRatio,
455
459
  e.height / devicePixelRatio
456
- ], { camera: R, fieldScale: M } = te(f(), [y, w]), { position: b, layer: U } = t.pick([v, g]);
460
+ ], { camera: g, fieldScale: R } = te(f(), [M, T]), { position: b, layer: U } = t.pick([v, w]);
457
461
  if (!U)
458
462
  return;
459
- const P = be(z(b), R) * H / M, S = [v - y / 2, g - w / 2];
463
+ const S = be(z(b), g) * H / R, P = [v - M / 2, w - T / 2];
460
464
  o({
461
- offset: S,
465
+ offset: P,
462
466
  target: b,
463
- distance: P
467
+ distance: S
464
468
  });
465
- }, h = (v, g) => {
469
+ }, h = (v, w) => {
466
470
  if (!r())
467
471
  return;
468
- a || (l([v, g]), a = !0);
469
- const [y, w] = [
472
+ a || (l([v, w]), a = !0);
473
+ const [M, T] = [
470
474
  e.width / devicePixelRatio,
471
475
  e.height / devicePixelRatio
472
476
  ];
473
477
  o({
474
- offset: [v - y / 2, g - w / 2]
478
+ offset: [v - M / 2, w - T / 2]
475
479
  });
476
- }, u = (v, g, y, w) => {
480
+ }, u = (v, w, M, T) => {
477
481
  if (!s())
478
482
  return;
479
- r() && !a && (l([v, g]), a = !0);
480
- const [R, M] = [
483
+ r() && !a && (l([v, w]), a = !0);
484
+ const [g, R] = [
481
485
  e.width / devicePixelRatio,
482
486
  e.height / devicePixelRatio
483
- ], { orientation: [b = 0, U = 0, P = 0] = [] } = f(), S = [
487
+ ], { orientation: [b = 0, U = 0, S = 0] = [] } = f(), P = [
484
488
  Math.min(
485
489
  Math.PI / 2 - 0.1,
486
- Math.max(0.1, b - w / M * Math.PI)
490
+ Math.max(0.1, b - T / R * Math.PI)
487
491
  ),
488
492
  U,
489
- P - y / R * Math.PI
493
+ S - M / g * Math.PI
490
494
  ];
491
495
  o({
492
- orientation: S
496
+ orientation: P
493
497
  });
494
498
  }, d = (v) => {
495
499
  v.preventDefault(), a = !1;
496
- }, m = ({ buttons: v, movementX: g, movementY: y, x: w, y: R }) => {
497
- !i() || !v || (v === 1 && r() ? h(w, R) : v === 2 && s() && u(w, R, g, y));
498
- }, T = (v) => {
500
+ }, m = ({ buttons: v, movementX: w, movementY: M, x: T, y: g }) => {
501
+ !i() || !v || (v === 1 && r() ? h(T, g) : v === 2 && s() && u(T, g, w, M));
502
+ }, y = (v) => {
499
503
  v.preventDefault();
500
- const g = v.touches.item(0);
501
- if (!g)
504
+ const w = v.touches.item(0);
505
+ if (!w)
502
506
  return;
503
- const { clientX: y, clientY: w } = g;
504
- h(y, w);
505
- }, E = bt(() => c = !1, 100), p = ({ x: v, y: g, deltaY: y }) => {
507
+ const { clientX: M, clientY: T } = w;
508
+ h(M, T);
509
+ }, E = bt(() => c = !1, 100), p = ({ x: v, y: w, deltaY: M }) => {
506
510
  if (!i())
507
511
  return;
508
- c || (r() && l([v, g]), c = !0);
509
- let { distance: w } = { ...vt, ...f() };
510
- w = Math.min(
511
- Math.max(w * Math.exp(y * 1e-3), Tn),
512
+ c || (r() && l([v, w]), c = !0);
513
+ let { distance: T } = { ...vt, ...f() };
514
+ T = Math.min(
515
+ Math.max(T * Math.exp(M * 1e-3), Tn),
512
516
  H
513
- ), o({ distance: w }), E();
517
+ ), o({ distance: T }), E();
514
518
  }, A = (v) => v.preventDefault(), x = (v) => v.preventDefault();
515
- return e.addEventListener("mousedown", d), e.addEventListener("mousemove", m), e.addEventListener("touchstart", d, { passive: !1 }), e.addEventListener("touchmove", T, { passive: !1 }), e.addEventListener("gesturestart", A), e.addEventListener("wheel", p, { passive: !0 }), e.addEventListener("contextmenu", x), {
519
+ return e.addEventListener("mousedown", d), e.addEventListener("mousemove", m), e.addEventListener("touchstart", d, { passive: !1 }), e.addEventListener("touchmove", y, { passive: !1 }), e.addEventListener("gesturestart", A), e.addEventListener("wheel", p, { passive: !0 }), e.addEventListener("contextmenu", x), {
516
520
  dispose: () => {
517
- e.removeEventListener("mousedown", d), e.removeEventListener("mousemove", m), e.removeEventListener("touchstart", d), e.removeEventListener("touchmove", T), e.removeEventListener("gesturestart", A), e.removeEventListener("wheel", p), e.removeEventListener("contextmenu", x);
521
+ e.removeEventListener("mousedown", d), e.removeEventListener("mousemove", m), e.removeEventListener("touchstart", d), e.removeEventListener("touchmove", y), e.removeEventListener("gesturestart", A), e.removeEventListener("wheel", p), e.removeEventListener("contextmenu", x);
518
522
  }
519
523
  };
520
524
  }, V = ({
@@ -709,7 +713,7 @@ void main(void) {
709
713
  uv_out = uv;
710
714
  color_out = color;
711
715
  }`;
712
- const Si = (e, t = {}) => {
716
+ const bi = (e, t = {}) => {
713
717
  const { gl: n } = e;
714
718
  let i, r = [0, 0];
715
719
  const s = V({ gl: n, type: "f32", target: "array" }), o = V({ gl: n, type: "f32", target: "array" }), c = V({ gl: n, type: "u16", target: "element" });
@@ -733,14 +737,14 @@ const Si = (e, t = {}) => {
733
737
  [0, 3, 2]
734
738
  ].flat()
735
739
  );
736
- const a = fe(
740
+ const a = ce(
737
741
  () => t.url?.() ?? "",
738
742
  (m) => {
739
- const T = Et({
743
+ const y = Et({
740
744
  gl: n,
741
745
  url: m,
742
746
  onLoad: ({ width: E, height: p }) => {
743
- r = [E, p], 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 = T;
747
+ r = [E, p], 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 = y;
744
748
  }
745
749
  });
746
750
  }
@@ -749,25 +753,25 @@ const Si = (e, t = {}) => {
749
753
  uvBuffer: o,
750
754
  indexBuffer: c
751
755
  }), h = ({
752
- viewport: { projection: m, modelView: T, camera: E, screen: p },
756
+ viewport: { projection: m, modelView: y, camera: E, screen: p },
753
757
  depth: A = !1,
754
758
  index: x = 0
755
759
  }) => {
756
- const _ = t.position?.() ?? [0, 0, 0], v = t.color?.() ?? [1, 1, 1, 1], g = t.size?.() ?? 100, y = t.minSizePixels?.() ?? 0, w = t.maxSizePixels?.() ?? Number.MAX_VALUE;
760
+ const _ = t.position?.() ?? [0, 0, 0], v = t.color?.() ?? [1, 1, 1, 1], w = t.size?.() ?? 100, M = t.minSizePixels?.() ?? 0, T = t.maxSizePixels?.() ?? Number.MAX_VALUE;
757
761
  if (a(), !i || Ee(n, A, t))
758
762
  return;
759
763
  (A ? l : f).execute({
760
764
  projection: m,
761
- modelView: T,
765
+ modelView: y,
762
766
  camera: K(E),
763
767
  screen: p,
764
768
  image: i,
765
769
  imageSize: r,
766
770
  position: K(z(_)),
767
771
  color: v,
768
- size: g,
769
- minSizePixels: y,
770
- maxSizePixels: w,
772
+ size: w,
773
+ minSizePixels: M,
774
+ maxSizePixels: T,
771
775
  index: x
772
776
  });
773
777
  }, u = () => {
@@ -791,29 +795,29 @@ const Si = (e, t = {}) => {
791
795
  stride: 2 * Float32Array.BYTES_PER_ELEMENT
792
796
  }), h = f.attribute2f("uv", i, {
793
797
  stride: 2 * Float32Array.BYTES_PER_ELEMENT
794
- }), u = f.uniformMatrix4f("projection"), d = f.uniformMatrix4f("model_view"), m = f.uniform3i("camera"), T = f.uniform2f("screen"), E = f.uniform1i("image"), p = f.uniform2f("image_size"), A = f.uniform3i("position"), x = f.uniform4f("color"), _ = f.uniform1i("index"), v = f.uniform1f("size"), g = f.uniform1f("min_size_pixels"), y = f.uniform1f("max_size_pixels");
798
+ }), u = f.uniformMatrix4f("projection"), d = f.uniformMatrix4f("model_view"), m = f.uniform3i("camera"), y = f.uniform2f("screen"), E = f.uniform1i("image"), p = f.uniform2f("image_size"), A = f.uniform3i("position"), x = f.uniform4f("color"), _ = f.uniform1i("index"), v = f.uniform1f("size"), w = f.uniform1f("min_size_pixels"), M = f.uniform1f("max_size_pixels");
795
799
  return { execute: ({
796
- projection: R,
797
- modelView: M,
800
+ projection: g,
801
+ modelView: R,
798
802
  camera: b,
799
803
  screen: U,
800
- image: P,
801
- imageSize: S,
802
- position: I,
803
- color: C,
804
+ image: S,
805
+ imageSize: P,
806
+ position: N,
807
+ color: I,
804
808
  size: X,
805
- minSizePixels: O,
809
+ minSizePixels: C,
806
810
  maxSizePixels: W,
807
811
  index: Z
808
812
  }) => {
809
- f.use(), l.use(), h.use(), u.set(R), d.set(M), m.set(b), T.set(U), p.set(S), A.set(I), x.set(C), v.set(X), g.set(O), y.set(W), _.set(Z), e.activeTexture(e.TEXTURE0), E.set(0), P.use(), r.use(), e.drawElements(e.TRIANGLES, 6, e.UNSIGNED_SHORT, 0);
813
+ f.use(), l.use(), h.use(), u.set(g), d.set(R), m.set(b), y.set(U), p.set(P), A.set(N), x.set(I), v.set(X), w.set(C), M.set(W), _.set(Z), e.activeTexture(e.TEXTURE0), E.set(0), S.use(), r.use(), e.drawElements(e.TRIANGLES, 6, e.UNSIGNED_SHORT, 0);
810
814
  } };
811
815
  }, o = s(), c = s(!0);
812
816
  return { renderProgram: o, depthProgram: c };
813
- }, Ui = (e) => ({
817
+ }, Si = (e) => ({
814
818
  children: e,
815
819
  dispose: () => e.forEach((n) => n.dispose())
816
- }), Pi = (e) => {
820
+ }), Ui = (e) => {
817
821
  const { keys: t, create: n } = e, i = /* @__PURE__ */ new Map();
818
822
  return {
819
823
  get children() {
@@ -829,11 +833,11 @@ const Si = (e, t = {}) => {
829
833
  },
830
834
  dispose: () => Object.values(i).forEach((o) => o.dispose())
831
835
  };
832
- }, zi = (e) => ({
836
+ }, Pi = (e) => ({
833
837
  render: e,
834
838
  dispose: () => {
835
839
  }
836
- }), Li = () => ({ dispose: () => {
840
+ }), zi = () => ({ dispose: () => {
837
841
  } });
838
842
  var bn = `#version 300 es
839
843
 
@@ -919,7 +923,7 @@ void main(void) {
919
923
  color_out = color;
920
924
  distance_out = distance;
921
925
  }`;
922
- const Ni = (e, t = {}) => {
926
+ const Li = (e, t = {}) => {
923
927
  const { gl: n } = e;
924
928
  let i = 0;
925
929
  const r = V({ gl: n, type: "i32", target: "array" }), s = V({ gl: n, type: "u16", target: "element" }), o = V({ gl: n, type: "f32", target: "array" }), c = V({ gl: n, type: "f32", target: "array" }), { renderProgram: a, depthProgram: f } = Un(e, {
@@ -935,7 +939,7 @@ const Ni = (e, t = {}) => {
935
939
  index: v = 0
936
940
  }) => {
937
941
  u(), d();
938
- const g = t.color?.() ?? [1, 1, 1, 1], y = t.width?.() ?? 1, w = t.minWidthPixels?.() ?? 0, R = t.maxWidthPixels?.() ?? Number.MAX_VALUE, M = t.depthWidthPixels?.(), b = t.dashSize?.() ?? 1e3, U = t.dashOffset?.() ?? 0;
942
+ const w = t.color?.() ?? [1, 1, 1, 1], M = t.width?.() ?? 1, T = t.minWidthPixels?.() ?? 0, g = t.maxWidthPixels?.() ?? Number.MAX_VALUE, R = t.depthWidthPixels?.(), b = t.dashSize?.() ?? 1e3, U = t.dashOffset?.() ?? 0;
939
943
  if (Ee(n, _, t))
940
944
  return;
941
945
  (_ ? f : a).execute({
@@ -944,60 +948,85 @@ const Ni = (e, t = {}) => {
944
948
  camera: K(A),
945
949
  screen: x,
946
950
  count: i,
947
- color: g,
948
- width: y,
949
- minWidthPixels: _ && M !== void 0 ? Math.max(w, M) : w,
950
- maxWidthPixels: _ && M !== void 0 ? Math.max(R, M) : R,
951
+ color: w,
952
+ width: M,
953
+ minWidthPixels: _ && R !== void 0 ? Math.max(T, R) : T,
954
+ maxWidthPixels: _ && R !== void 0 ? Math.max(g, R) : g,
951
955
  index: v,
952
956
  dash: l,
953
957
  dashSize: b,
954
958
  dashOffset: U
955
959
  });
956
- }, u = fe(
960
+ }, u = ce(
957
961
  () => t.points?.() ?? [],
958
962
  (E) => {
959
963
  const p = E.flatMap((v) => {
960
- const [g] = v, [y] = v.slice(-1);
961
- return !g || !y ? [] : [g, ...v, y].map((w) => K(z(w))).flatMap((w) => [...w, ...w, ...w, ...w]);
964
+ const [w] = v, [M] = v.slice(-1);
965
+ return !w || !M ? [] : ((g) => {
966
+ const R = new Array(g.length * 3 * 4);
967
+ for (let b = 0; b < g.length; b++) {
968
+ const [U = 0, S = 0, P = 0] = g[b] ?? [];
969
+ for (let N = 0; N < 4; N++) {
970
+ const I = b * 3 * 4 + N * 3;
971
+ R[I + 0] = U, R[I + 1] = S, R[I + 2] = P;
972
+ }
973
+ }
974
+ return R;
975
+ })([w, ...v, M].map((g) => K(z(g))));
962
976
  }), { indexData: A } = E.reduce(
963
- ({ indexData: v, count: g }, y) => {
964
- if (y.length === 0)
965
- return { indexData: v, count: g };
966
- const w = se(0, (y.length - 1) * 2).flatMap((R) => {
967
- const [M = 0, b = 0, U = 0, P = 0] = se(0, 4).map(
968
- (S) => S + R * 2 + g
977
+ ({ indexData: v, count: w }, M) => {
978
+ if (M.length === 0)
979
+ return { indexData: v, count: w };
980
+ const T = xe(0, (M.length - 1) * 2).flatMap((g) => {
981
+ const [R = 0, b = 0, U = 0, S = 0] = [0, 1, 2, 3].map(
982
+ (P) => P + g * 2 + w
969
983
  );
970
984
  return [
971
- [M, b, P],
972
- [M, P, U]
973
- ].flat();
985
+ R,
986
+ b,
987
+ S,
988
+ /**/
989
+ R,
990
+ S,
991
+ U
992
+ ];
974
993
  });
975
- return g += (y.length + 2) * 4, v = v.concat(w), { indexData: v, count: g };
994
+ return w += (M.length + 2) * 4, v = v.concat(T), { indexData: v, count: w };
976
995
  },
977
996
  { indexData: [], count: 0 }
978
997
  );
979
998
  i = A.length;
980
999
  const x = E.flatMap(
981
- (v) => v.length === 0 ? [] : se(0, (v.length + 1) * 2).flatMap(
982
- () => [
983
- [-1, -1],
984
- [-1, 1],
985
- [1, -1],
986
- [1, 1]
987
- ].flat()
988
- )
1000
+ (v) => v.length === 0 ? [] : xe(0, (v.length + 1) * 2).flatMap(() => [
1001
+ -1,
1002
+ -1,
1003
+ //
1004
+ -1,
1005
+ 1,
1006
+ //
1007
+ 1,
1008
+ -1,
1009
+ //
1010
+ 1,
1011
+ 1
1012
+ ])
989
1013
  ), _ = E.flatMap((v) => {
990
- const y = v.map(
991
- (M, b) => be(z(M), z(v[b - 1] ?? M)) * H
1014
+ const M = v.map(
1015
+ (b, U) => be(z(b), z(v[U - 1] ?? b)) * H
992
1016
  ).reduce(
993
- ({ current: M, result: b }, U) => (M += U, b.push(M), { current: M, result: b }),
1017
+ ({ current: b, result: U }, S) => (b += S, U.push(b), { current: b, result: U }),
994
1018
  { current: 0, result: [] }
995
- ).result, [w] = y, [R] = y.slice(-1);
996
- return w === void 0 || R === void 0 ? [] : [w, ...y, R].flatMap((M) => [M, M, M, M]);
1019
+ ).result, [T] = M, [g] = M.slice(-1);
1020
+ return T === void 0 || g === void 0 ? [] : ((b) => {
1021
+ const U = new Array(b.length * 4);
1022
+ for (let S = 0; S < b.length; S++)
1023
+ U[S * 4 + 0] = b[S], U[S * 4 + 1] = b[S], U[S * 4 + 2] = b[S], U[S * 4 + 3] = b[S];
1024
+ return U;
1025
+ })([T, ...M, g]);
997
1026
  });
998
1027
  r.set(p), s.set(A), o.set(x), c.set(_);
999
1028
  }
1000
- ), d = fe(
1029
+ ), d = ce(
1001
1030
  () => t.dashPattern?.(),
1002
1031
  (E) => {
1003
1032
  E = E ?? [[1, 1, 1, 1]], l.use(), n.texImage2D(
@@ -1014,11 +1043,11 @@ const Ni = (e, t = {}) => {
1014
1043
  }
1015
1044
  ), m = () => {
1016
1045
  l.dispose(), r.dispose(), s.dispose(), o.dispose(), c.dispose();
1017
- }, T = ye(t);
1046
+ }, y = ye(t);
1018
1047
  return {
1019
1048
  render: h,
1020
1049
  dispose: m,
1021
- ...T
1050
+ ...y
1022
1051
  };
1023
1052
  }, Un = ({ gl: e, programs: t }, {
1024
1053
  positionBuffer: n,
@@ -1035,7 +1064,7 @@ const Ni = (e, t = {}) => {
1035
1064
  }), m = l.attribute3i("current", n, {
1036
1065
  stride: u * 3,
1037
1066
  offset: u * 3 * 4
1038
- }), T = l.attribute3i("next", n, {
1067
+ }), y = l.attribute3i("next", n, {
1039
1068
  stride: u * 3,
1040
1069
  offset: u * 3 * 4 * 2
1041
1070
  }), E = l.attribute2f("corner", r, {
@@ -1043,12 +1072,12 @@ const Ni = (e, t = {}) => {
1043
1072
  }), p = l.attribute1f("distance", s, {
1044
1073
  stride: h,
1045
1074
  offset: h * 1 * 4
1046
- }), A = l.uniformMatrix4f("projection"), x = l.uniformMatrix4f("model_view"), _ = l.uniform3i("camera"), v = l.uniform2f("screen"), g = l.uniform4f("color"), y = l.uniform1f("width"), w = l.uniform1f("max_width_pixels"), R = l.uniform1f("min_width_pixels"), M = l.uniform1i("index"), b = l.uniform1i("dash"), U = l.uniform1f("dash_size"), P = l.uniform1f("dash_offset");
1075
+ }), A = l.uniformMatrix4f("projection"), x = l.uniformMatrix4f("model_view"), _ = l.uniform3i("camera"), v = l.uniform2f("screen"), w = l.uniform4f("color"), M = l.uniform1f("width"), T = l.uniform1f("max_width_pixels"), g = l.uniform1f("min_width_pixels"), R = l.uniform1i("index"), b = l.uniform1i("dash"), U = l.uniform1f("dash_size"), S = l.uniform1f("dash_offset");
1047
1076
  return { execute: ({
1048
- projection: I,
1049
- modelView: C,
1077
+ projection: N,
1078
+ modelView: I,
1050
1079
  camera: X,
1051
- screen: O,
1080
+ screen: C,
1052
1081
  count: W,
1053
1082
  color: Z,
1054
1083
  width: Y,
@@ -1056,10 +1085,10 @@ const Ni = (e, t = {}) => {
1056
1085
  maxWidthPixels: G,
1057
1086
  index: J,
1058
1087
  dash: Je,
1059
- dashSize: D,
1088
+ dashSize: O,
1060
1089
  dashOffset: j
1061
1090
  }) => {
1062
- W !== 0 && (l.use(), d.use(), m.use(), T.use(), E.use(), p.use(), A.set(I), x.set(C), _.set(X), v.set(O), g.set(Z), y.set(Y), R.set(q), w.set(G), M.set(J), U.set(D), P.set(j), e.activeTexture(e.TEXTURE0), b.set(0), Je.use(), i.use(), e.drawElements(e.TRIANGLES, W, e.UNSIGNED_SHORT, 0));
1091
+ W !== 0 && (l.use(), d.use(), m.use(), y.use(), E.use(), p.use(), A.set(N), x.set(I), _.set(X), v.set(C), w.set(Z), M.set(Y), g.set(q), T.set(G), R.set(J), U.set(O), S.set(j), e.activeTexture(e.TEXTURE0), b.set(0), Je.use(), i.use(), e.drawElements(e.TRIANGLES, W, e.UNSIGNED_SHORT, 0));
1063
1092
  } };
1064
1093
  }, c = o(), a = o(!0);
1065
1094
  return { renderProgram: c, depthProgram: a };
@@ -1114,7 +1143,7 @@ void main(void) {
1114
1143
 
1115
1144
  color_out = color + diffuse * vec4(vec3(clamp(dot(qn.xyz / qn.w, vec3(0.f, 0.f, 1.f)), 0.f, 1.f)), 1.f);
1116
1145
  }`;
1117
- const Ii = (e, t = {}) => {
1146
+ const Ni = (e, t = {}) => {
1118
1147
  const { gl: n } = e;
1119
1148
  let i = 0;
1120
1149
  const r = V({ gl: n, type: "f32", target: "array" }), s = V({ gl: n, type: "u16", target: "element" }), o = V({ gl: n, type: "f32", target: "array" }), { renderProgram: c, depthProgram: a } = Ln(e, {
@@ -1122,35 +1151,35 @@ const Ii = (e, t = {}) => {
1122
1151
  indexBuffer: s,
1123
1152
  normalBuffer: o
1124
1153
  }), f = ({
1125
- viewport: { projection: d, modelView: m, camera: T, screen: E },
1154
+ viewport: { projection: d, modelView: m, camera: y, screen: E },
1126
1155
  depth: p = !1,
1127
1156
  index: A = 0
1128
1157
  }) => {
1129
- const x = t.position?.() ?? [0, 0, 0], _ = t.orientation?.() ?? [0, 0, 0, 1], v = t.color?.() ?? [1, 1, 1, 1], g = t.diffuse?.() ?? [0, 0, 0, 0], y = t.size?.() ?? 1, w = t.minSizePixels?.() ?? 0, R = t.maxSizePixels?.() ?? Number.MAX_VALUE;
1158
+ const x = t.position?.() ?? [0, 0, 0], _ = t.orientation?.() ?? [0, 0, 0, 1], v = t.color?.() ?? [1, 1, 1, 1], w = t.diffuse?.() ?? [0, 0, 0, 0], M = t.size?.() ?? 1, T = t.minSizePixels?.() ?? 0, g = t.maxSizePixels?.() ?? Number.MAX_VALUE;
1130
1159
  if (l(), Ee(n, p, t))
1131
1160
  return;
1132
1161
  (p ? a : c).execute({
1133
1162
  projection: d,
1134
1163
  modelView: m,
1135
- camera: K(T),
1164
+ camera: K(y),
1136
1165
  screen: E,
1137
1166
  count: i,
1138
1167
  position: K(z(x)),
1139
- orientation: ht(pe(), _),
1168
+ orientation: ht(ve(), _),
1140
1169
  color: v,
1141
- diffuse: g,
1142
- size: y,
1143
- minSizePixels: w,
1144
- maxSizePixels: R,
1170
+ diffuse: w,
1171
+ size: M,
1172
+ minSizePixels: T,
1173
+ maxSizePixels: g,
1145
1174
  index: A
1146
1175
  });
1147
- }, l = fe(
1176
+ }, l = ce(
1148
1177
  () => t.mesh?.(),
1149
1178
  (d) => {
1150
- const { vertices: m = [], indices: T = [], normals: E = [] } = d ?? {};
1151
- r.set(m.flatMap((p) => [...p])), s.set(T.flatMap((p) => [...p])), o.set(
1179
+ const { vertices: m = [], indices: y = [], normals: E = [] } = d ?? {};
1180
+ r.set(m.flatMap((p) => [...p])), s.set(y.flatMap((p) => [...p])), o.set(
1152
1181
  E.length === 0 ? m.flatMap(() => [0, 0, 0]) : E.flatMap((p) => [...p])
1153
- ), i = T.length * 3;
1182
+ ), i = y.length * 3;
1154
1183
  }
1155
1184
  ), h = () => {
1156
1185
  r.dispose(), s.dispose(), o.dispose();
@@ -1169,23 +1198,23 @@ const Ii = (e, t = {}) => {
1169
1198
  const f = t.get({
1170
1199
  vertexSource: zn,
1171
1200
  fragmentSource: a ? _e : Pn
1172
- }), l = f.attribute3f("vertex", n), h = f.attribute3f("normal", r), u = f.uniformMatrix4f("projection"), d = f.uniformMatrix4f("model_view"), m = f.uniform3i("camera"), T = f.uniform3i("position"), E = f.uniformMatrix4f("orientation"), p = f.uniform2f("screen"), A = f.uniform4f("color"), x = f.uniform4f("diffuse"), _ = f.uniform1f("size"), v = f.uniform1f("min_size_pixels"), g = f.uniform1f("max_size_pixels"), y = f.uniform1i("index");
1201
+ }), l = f.attribute3f("vertex", n), h = f.attribute3f("normal", r), u = f.uniformMatrix4f("projection"), d = f.uniformMatrix4f("model_view"), m = f.uniform3i("camera"), y = f.uniform3i("position"), E = f.uniformMatrix4f("orientation"), p = f.uniform2f("screen"), A = f.uniform4f("color"), x = f.uniform4f("diffuse"), _ = f.uniform1f("size"), v = f.uniform1f("min_size_pixels"), w = f.uniform1f("max_size_pixels"), M = f.uniform1i("index");
1173
1202
  return { execute: ({
1174
- projection: R,
1175
- modelView: M,
1203
+ projection: g,
1204
+ modelView: R,
1176
1205
  camera: b,
1177
1206
  screen: U,
1178
- count: P,
1179
- position: S,
1180
- orientation: I,
1181
- color: C,
1207
+ count: S,
1208
+ position: P,
1209
+ orientation: N,
1210
+ color: I,
1182
1211
  diffuse: X,
1183
- size: O,
1212
+ size: C,
1184
1213
  minSizePixels: W,
1185
1214
  maxSizePixels: Z,
1186
1215
  index: Y
1187
1216
  }) => {
1188
- f.use(), l.use(), h.use(), u.set(R), d.set(M), m.set(b), p.set(U), T.set(S), E.set(I), A.set(C), x.set(X), _.set(O), v.set(W), g.set(Z), y.set(Y), i.use(), e.drawElements(e.TRIANGLES, P, e.UNSIGNED_SHORT, 0);
1217
+ f.use(), l.use(), h.use(), u.set(g), d.set(R), m.set(b), p.set(U), y.set(P), E.set(N), A.set(I), x.set(X), _.set(C), v.set(W), w.set(Z), M.set(Y), i.use(), e.drawElements(e.TRIANGLES, S, e.UNSIGNED_SHORT, 0);
1189
1218
  } };
1190
1219
  }, o = s(), c = s(!0);
1191
1220
  return { renderProgram: o, depthProgram: c };
@@ -1199,11 +1228,11 @@ var _t = function(e, t, n, i, r) {
1199
1228
  for (s = n - i; s >= t; s -= i)
1200
1229
  o = new Xe(s, e[s], e[s + 1], o);
1201
1230
  return o !== null && Be(o, o.next) && (Ae(o), o = o.next), o;
1202
- }, ce = function(e, t) {
1231
+ }, ae = function(e, t) {
1203
1232
  t === void 0 && (t = e);
1204
1233
  let n = e, i;
1205
1234
  do
1206
- if (i = !1, !n.steiner && (Be(n, n.next) || N(n.prev, n, n.next) === 0)) {
1235
+ if (i = !1, !n.steiner && (Be(n, n.next) || D(n.prev, n, n.next) === 0)) {
1207
1236
  if (Ae(n), n = t = n.prev, n === n.next)
1208
1237
  break;
1209
1238
  i = !0;
@@ -1222,39 +1251,39 @@ var _t = function(e, t, n, i, r) {
1222
1251
  continue;
1223
1252
  }
1224
1253
  if (e = f, e === c) {
1225
- o === 0 ? ge(ce(e), t, n, i, r, s, 1) : o === 1 ? (e = Dn(ce(e), t, n), ge(e, t, n, i, r, s, 2)) : o === 2 && On(e, t, n, i, r, s);
1254
+ o === 0 ? ge(ae(e), t, n, i, r, s, 1) : o === 1 ? (e = Dn(ae(e), t, n), ge(e, t, n, i, r, s, 2)) : o === 2 && On(e, t, n, i, r, s);
1226
1255
  break;
1227
1256
  }
1228
1257
  }
1229
1258
  }, Nn = function(e) {
1230
1259
  const t = e.prev, n = e, i = e.next;
1231
- if (N(t, n, i) >= 0)
1260
+ if (D(t, n, i) >= 0)
1232
1261
  return !1;
1233
1262
  let r = e.next.next;
1234
1263
  for (; r !== e.prev; ) {
1235
- if (me(t.x, t.y, n.x, n.y, i.x, i.y, r.x, r.y) && N(r.prev, r, r.next) >= 0)
1264
+ if (de(t.x, t.y, n.x, n.y, i.x, i.y, r.x, r.y) && D(r.prev, r, r.next) >= 0)
1236
1265
  return !1;
1237
1266
  r = r.next;
1238
1267
  }
1239
1268
  return !0;
1240
1269
  }, In = function(e, t, n, i) {
1241
1270
  const r = e.prev, s = e, o = e.next;
1242
- if (N(r, s, o) >= 0)
1271
+ if (D(r, s, o) >= 0)
1243
1272
  return !1;
1244
1273
  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 = Fe(c, a, t, n, i), u = Fe(f, l, t, n, i);
1245
1274
  let { prevZ: d, nextZ: m } = e;
1246
1275
  for (; d !== null && m !== null && d.z >= h && m.z <= u; ) {
1247
- if (d !== e.prev && d !== e.next && me(r.x, r.y, s.x, s.y, o.x, o.y, d.x, d.y) && N(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) && N(m.prev, m, m.next) >= 0))
1276
+ if (d !== e.prev && d !== e.next && de(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 && de(r.x, r.y, s.x, s.y, o.x, o.y, m.x, m.y) && D(m.prev, m, m.next) >= 0))
1248
1277
  return !1;
1249
1278
  m = m.nextZ;
1250
1279
  }
1251
1280
  for (; d !== null && d.z >= h; ) {
1252
- if (d !== e.prev && d !== e.next && me(r.x, r.y, s.x, s.y, o.x, o.y, d.x, d.y) && N(d.prev, d, d.next) >= 0)
1281
+ if (d !== e.prev && d !== e.next && de(r.x, r.y, s.x, s.y, o.x, o.y, d.x, d.y) && D(d.prev, d, d.next) >= 0)
1253
1282
  return !1;
1254
1283
  d = d.prevZ;
1255
1284
  }
1256
1285
  for (; m !== null && m.z <= u; ) {
1257
- if (m !== e.prev && m !== e.next && me(r.x, r.y, s.x, s.y, o.x, o.y, m.x, m.y) && N(m.prev, m, m.next) >= 0)
1286
+ if (m !== e.prev && m !== e.next && de(r.x, r.y, s.x, s.y, o.x, o.y, m.x, m.y) && D(m.prev, m, m.next) >= 0)
1258
1287
  return !1;
1259
1288
  m = m.nextZ;
1260
1289
  }
@@ -1273,7 +1302,7 @@ var _t = function(e, t, n, i, r) {
1273
1302
  for (; c !== o.prev; ) {
1274
1303
  if (o.i !== c.i && Yn(o, c)) {
1275
1304
  let a = Tt(o, c);
1276
- o = ce(o, o.next), a = ce(a, a.next), ge(o, t, n, i, r, s, 0), ge(a, t, n, i, r, s, 0);
1305
+ o = ae(o, o.next), a = ae(a, a.next), ge(o, t, n, i, r, s, 0), ge(a, t, n, i, r, s, 0);
1277
1306
  return;
1278
1307
  }
1279
1308
  c = c.next;
@@ -1286,7 +1315,7 @@ var _t = function(e, t, n, i, r) {
1286
1315
  for (s = 0, o = t.length; s < o; s++)
1287
1316
  c = t[s] * i, a = s < o - 1 ? t[s + 1] * i : e.length, f = _t(e, c, a, i, !1), f === f.next && (f.steiner = !0), r.push(Zn(f));
1288
1317
  for (r.sort(Xn), s = 0; s < r.length; s++)
1289
- n = Wn(r[s], n), n = ce(n, n.next);
1318
+ n = Wn(r[s], n), n = ae(n, n.next);
1290
1319
  return n;
1291
1320
  }, Xn = function(e, t) {
1292
1321
  return e.x - t.x;
@@ -1295,8 +1324,8 @@ var _t = function(e, t, n, i, r) {
1295
1324
  if (n === null)
1296
1325
  return t;
1297
1326
  {
1298
- const i = Tt(n, e), r = ce(n, n.next);
1299
- return ce(i, i.next), t === n ? r : t;
1327
+ const i = Tt(n, e), r = ae(n, n.next);
1328
+ return ae(i, i.next), t === n ? r : t;
1300
1329
  }
1301
1330
  }, jn = function(e, t) {
1302
1331
  let n = t;
@@ -1325,7 +1354,7 @@ var _t = function(e, t, n, i, r) {
1325
1354
  let l = 1 / 0, h;
1326
1355
  n = o;
1327
1356
  do
1328
- i >= n.x && n.x >= a && i !== n.x && me(r < f ? i : s, r, a, f, r < f ? s : i, r, n.x, n.y) && (h = Math.abs(r - n.y) / (i - n.x), Re(n, e) && (h < l || h === l && (n.x > o.x || n.x === o.x && N(o.prev, o, n.prev) < 0 && N(n.next, o, o.next) < 0)) && (o = n, l = h)), n = n.next;
1357
+ i >= n.x && n.x >= a && i !== n.x && de(r < f ? i : s, r, a, f, r < f ? s : i, r, n.x, n.y) && (h = Math.abs(r - n.y) / (i - n.x), Re(n, e) && (h < l || h === l && (n.x > o.x || n.x === o.x && D(o.prev, o, n.prev) < 0 && D(n.next, o, o.next) < 0)) && (o = n, l = h)), n = n.next;
1329
1358
  while (n !== c);
1330
1359
  return o;
1331
1360
  }, Bn = function(e, t, n, i) {
@@ -1355,16 +1384,16 @@ var _t = function(e, t, n, i, r) {
1355
1384
  (t.x < n.x || t.x === n.x && t.y < n.y) && (n = t), t = t.next;
1356
1385
  while (t !== e);
1357
1386
  return n;
1358
- }, me = function(e, t, n, i, r, s, o, c) {
1387
+ }, de = function(e, t, n, i, r, s, o, c) {
1359
1388
  return (r - o) * (t - c) - (e - o) * (s - c) >= 0 && (e - o) * (i - c) - (n - o) * (t - c) >= 0 && (n - o) * (s - c) - (r - o) * (i - c) >= 0;
1360
1389
  }, Yn = function(e, t) {
1361
- return e.next.i !== t.i && e.prev.i !== t.i && !$n(e, t) && (Re(e, t) && Re(t, e) && kn(e, t) && (N(e.prev, e, t.prev) !== 0 || N(e, t.prev, t) !== 0) || Be(e, t) && N(e.prev, e, e.next) > 0 && N(t.prev, t, t.next) > 0);
1362
- }, N = function(e, t, n) {
1390
+ return e.next.i !== t.i && e.prev.i !== t.i && !$n(e, t) && (Re(e, t) && Re(t, e) && kn(e, t) && (D(e.prev, e, t.prev) !== 0 || D(e, t.prev, t) !== 0) || Be(e, t) && D(e.prev, e, e.next) > 0 && D(t.prev, t, t.next) > 0);
1391
+ }, D = function(e, t, n) {
1363
1392
  return (t.y - e.y) * (n.x - t.x) - (t.x - e.x) * (n.y - t.y);
1364
1393
  }, Be = function(e, t) {
1365
1394
  return e.x === t.x && e.y === t.y;
1366
1395
  }, yt = function(e, t, n, i) {
1367
- const r = ze(N(e, t, n)), s = ze(N(e, t, i)), o = ze(N(n, i, e)), c = ze(N(n, i, t));
1396
+ const r = ze(D(e, t, n)), s = ze(D(e, t, i)), o = ze(D(n, i, e)), c = ze(D(n, i, t));
1368
1397
  return !!(r !== s && o !== c || r === 0 && Le(e, n, t) || s === 0 && Le(e, i, t) || o === 0 && Le(n, e, i) || c === 0 && Le(n, t, i));
1369
1398
  }, ze = function(e) {
1370
1399
  return e > 0 ? 1 : e < 0 ? -1 : 0;
@@ -1379,7 +1408,7 @@ var _t = function(e, t, n, i, r) {
1379
1408
  } while (n !== e);
1380
1409
  return !1;
1381
1410
  }, Re = function(e, t) {
1382
- return N(e.prev, e, e.next) < 0 ? N(e, t, e.next) >= 0 && N(e, e.prev, t) >= 0 : N(e, t, e.prev) < 0 || N(e, e.next, t) < 0;
1411
+ return D(e.prev, e, e.next) < 0 ? D(e, t, e.next) >= 0 && D(e, e.prev, t) >= 0 : D(e, t, e.prev) < 0 || D(e, e.next, t) < 0;
1383
1412
  }, kn = function(e, t) {
1384
1413
  const n = (e.x + t.x) / 2, i = (e.y + t.y) / 2;
1385
1414
  let r = e, s = !1;
@@ -1443,33 +1472,33 @@ function Qn(e, t, n, i) {
1443
1472
  var Kn = function(e, t, n, i, r, s, o, c) {
1444
1473
  const a = i[e * s + o], f = i[t * s + o], l = i[n * s + o];
1445
1474
  if (a < f && a < l) {
1446
- const h = a + c - ue(a, c);
1475
+ const h = a + c - le(a, c);
1447
1476
  if (h > a && h <= f && h <= l && (f !== h || f !== h))
1448
1477
  return ke(h, e, t, n, a, f, l, i, r, s, o, c);
1449
1478
  } else if (a > f && a > l) {
1450
- let h = ue(a, c);
1479
+ let h = le(a, c);
1451
1480
  h === 0 && (h = c);
1452
1481
  const u = a - h;
1453
1482
  if (u < a && u >= f && u >= l && (f !== u || f !== u))
1454
1483
  return He(u, e, t, n, a, f, l, i, r, s, o, c);
1455
1484
  }
1456
1485
  if (f < a && f < l) {
1457
- const h = f + c - ue(f, c);
1486
+ const h = f + c - le(f, c);
1458
1487
  if (h > f && h <= l && h <= a && (a !== h || l !== h))
1459
1488
  return ke(h, t, n, e, f, l, a, i, r, s, o, c);
1460
1489
  } else if (f > a && f > l) {
1461
- let h = ue(f, c);
1490
+ let h = le(f, c);
1462
1491
  h === 0 && (h = c);
1463
1492
  const u = f - h;
1464
1493
  if (u < f && u >= l && u >= a && (a !== u || l !== u))
1465
1494
  return He(u, t, n, e, f, l, a, i, r, s, o, c);
1466
1495
  }
1467
1496
  if (l < a && l < f) {
1468
- const h = l + c - ue(l, c);
1497
+ const h = l + c - le(l, c);
1469
1498
  if (h > l && h <= a && h <= f && (a !== h || f !== h))
1470
1499
  return ke(h, n, e, t, l, a, f, i, r, s, o, c);
1471
1500
  } else if (l > a && l > f) {
1472
- let h = ue(l, c);
1501
+ let h = le(l, c);
1473
1502
  h === 0 && (h = c);
1474
1503
  const u = l - h;
1475
1504
  if (u < l && u >= a && u >= f && (a !== u || f !== u))
@@ -1503,7 +1532,7 @@ var Kn = function(e, t, n, i, r, s, o, c) {
1503
1532
  a.push(d, u), d = F(e, t, i, r, o, c, f, l), a.push(d, d, u), u = F(e, t, n, r, s, c, f, l), a.push(u), e -= h;
1504
1533
  return a.push(d, u, i), [i, u, n];
1505
1534
  }
1506
- }, ue = function(e, t) {
1535
+ }, le = function(e, t) {
1507
1536
  return (e % t + t) % t;
1508
1537
  };
1509
1538
  function qn(e) {
@@ -1550,14 +1579,14 @@ void main(void) {
1550
1579
  gl_Position = transform(position);
1551
1580
  color_out = color;
1552
1581
  }`;
1553
- const Di = (e, t = {}) => {
1582
+ const Ii = (e, t = {}) => {
1554
1583
  const { gl: n } = e;
1555
1584
  let i = 0;
1556
1585
  const r = V({ gl: n, type: "i32", target: "array" }), s = V({ gl: n, type: "u16", target: "element" }), { renderProgram: o, depthProgram: c } = ti(e, {
1557
1586
  positionBuffer: r,
1558
1587
  indexBuffer: s
1559
1588
  }), a = ({
1560
- viewport: { projection: u, modelView: d, camera: m, screen: T },
1589
+ viewport: { projection: u, modelView: d, camera: m, screen: y },
1561
1590
  depth: E = !1,
1562
1591
  index: p = 0
1563
1592
  }) => {
@@ -1568,15 +1597,15 @@ const Di = (e, t = {}) => {
1568
1597
  projection: u,
1569
1598
  modelView: d,
1570
1599
  camera: K(m),
1571
- screen: T,
1600
+ screen: y,
1572
1601
  count: i,
1573
1602
  color: A,
1574
1603
  index: p
1575
1604
  });
1576
- }, f = fe(
1605
+ }, f = ce(
1577
1606
  () => t.points?.() ?? [],
1578
1607
  (u) => {
1579
- const { vertices: d, indices: m } = u.length > 0 ? Fn(u.map((T) => T.map((E) => [...K(z(E))]))) : { vertices: [], indices: [] };
1608
+ const { vertices: d, indices: m } = u.length > 0 ? Fn(u.map((y) => y.map((E) => [...K(z(E))]))) : { vertices: [], indices: [] };
1580
1609
  r.set(d), s.set(m), i = m.length;
1581
1610
  }
1582
1611
  ), l = () => {
@@ -1597,17 +1626,17 @@ const Di = (e, t = {}) => {
1597
1626
  fragmentSource: c ? _e : Jn
1598
1627
  }), f = a.attribute3i("position", n, {
1599
1628
  stride: 3 * Int32Array.BYTES_PER_ELEMENT
1600
- }), l = a.uniformMatrix4f("projection"), h = a.uniformMatrix4f("model_view"), u = a.uniform3i("camera"), d = a.uniform2f("screen"), m = a.uniform4f("color"), T = a.uniform1i("index");
1629
+ }), l = a.uniformMatrix4f("projection"), h = a.uniformMatrix4f("model_view"), u = a.uniform3i("camera"), d = a.uniform2f("screen"), m = a.uniform4f("color"), y = a.uniform1i("index");
1601
1630
  return { execute: ({
1602
1631
  projection: p,
1603
1632
  modelView: A,
1604
1633
  camera: x,
1605
1634
  screen: _,
1606
1635
  count: v,
1607
- color: g,
1608
- index: y
1636
+ color: w,
1637
+ index: M
1609
1638
  }) => {
1610
- v !== 0 && (a.use(), f.use(), l.set(p), h.set(A), u.set(x), d.set(_), m.set(g), T.set(y), i.use(), e.drawElements(e.TRIANGLES, v, e.UNSIGNED_SHORT, 0));
1639
+ v !== 0 && (a.use(), f.use(), l.set(p), h.set(A), u.set(x), d.set(_), m.set(w), y.set(M), i.use(), e.drawElements(e.TRIANGLES, v, e.UNSIGNED_SHORT, 0));
1611
1640
  } };
1612
1641
  }, s = r(), o = r(!0);
1613
1642
  return { renderProgram: s, depthProgram: o };
@@ -1654,7 +1683,7 @@ void main(void) {
1654
1683
  gl_Position = transform(q.xyz / q.w);
1655
1684
  uv_out = uv;
1656
1685
  }`;
1657
- const Oi = (e, t = {}) => {
1686
+ const Di = (e, t = {}) => {
1658
1687
  const { gl: n } = e, i = si(n), r = V({ gl: n, type: "f32", target: "array" }), s = V({ gl: n, type: "u16", target: "element" });
1659
1688
  r.set(
1660
1689
  [
@@ -1669,7 +1698,7 @@ const Oi = (e, t = {}) => {
1669
1698
  [0, 3, 2]
1670
1699
  ].flat()
1671
1700
  );
1672
- const o = fe(
1701
+ const o = ce(
1673
1702
  () => t.image?.(),
1674
1703
  (u) => {
1675
1704
  u && i.set(u);
@@ -1678,7 +1707,7 @@ const Oi = (e, t = {}) => {
1678
1707
  uvBuffer: r,
1679
1708
  indexBuffer: s
1680
1709
  }), f = ({
1681
- viewport: { projection: u, modelView: d, camera: m, screen: T },
1710
+ viewport: { projection: u, modelView: d, camera: m, screen: y },
1682
1711
  depth: E = !1,
1683
1712
  index: p = 0
1684
1713
  }) => {
@@ -1689,11 +1718,11 @@ const Oi = (e, t = {}) => {
1689
1718
  projection: u,
1690
1719
  modelView: d,
1691
1720
  camera: K(m),
1692
- screen: T,
1721
+ screen: y,
1693
1722
  image: i,
1694
1723
  range: _,
1695
1724
  position: K(z(A)),
1696
- orientation: ht(pe(), x),
1725
+ orientation: ht(ve(), x),
1697
1726
  index: p
1698
1727
  });
1699
1728
  }, l = () => {
@@ -1714,19 +1743,19 @@ const Oi = (e, t = {}) => {
1714
1743
  fragmentSource: c ? _e : ni
1715
1744
  }), f = a.attribute2f("uv", n, {
1716
1745
  stride: 2 * Float32Array.BYTES_PER_ELEMENT
1717
- }), l = a.uniformMatrix4f("projection"), h = a.uniformMatrix4f("model_view"), u = a.uniform3i("camera"), d = a.uniform2f("screen"), m = a.uniform1i("image"), T = a.uniform1f("range"), E = a.uniform3i("position"), p = a.uniformMatrix4f("orientation"), A = a.uniform1i("index");
1746
+ }), l = a.uniformMatrix4f("projection"), h = a.uniformMatrix4f("model_view"), u = a.uniform3i("camera"), d = a.uniform2f("screen"), m = a.uniform1i("image"), y = a.uniform1f("range"), E = a.uniform3i("position"), p = a.uniformMatrix4f("orientation"), A = a.uniform1i("index");
1718
1747
  return { execute: ({
1719
1748
  projection: _,
1720
1749
  modelView: v,
1721
- camera: g,
1722
- screen: y,
1723
- image: w,
1724
- range: R,
1725
- position: M,
1750
+ camera: w,
1751
+ screen: M,
1752
+ image: T,
1753
+ range: g,
1754
+ position: R,
1726
1755
  orientation: b,
1727
1756
  index: U
1728
1757
  }) => {
1729
- a.use(), f.use(), l.set(_), h.set(v), u.set(g), d.set(y), T.set(R), E.set(M), p.set(b), A.set(U), e.activeTexture(e.TEXTURE0), m.set(0), w.use(), i.use(), e.drawElements(e.TRIANGLES, 6, e.UNSIGNED_SHORT, 0);
1758
+ a.use(), f.use(), l.set(_), h.set(v), u.set(w), d.set(M), y.set(g), E.set(R), p.set(b), A.set(U), e.activeTexture(e.TEXTURE0), m.set(0), T.use(), i.use(), e.drawElements(e.TRIANGLES, 6, e.UNSIGNED_SHORT, 0);
1730
1759
  } };
1731
1760
  }, s = r(), o = r(!0);
1732
1761
  return { renderProgram: s, depthProgram: o };
@@ -1754,7 +1783,7 @@ const Oi = (e, t = {}) => {
1754
1783
  return { texture: a, downsample: s };
1755
1784
  }
1756
1785
  }
1757
- }), he = typeof performance == "object" && performance && typeof performance.now == "function" ? performance : Date, wt = /* @__PURE__ */ new Set(), Ke = typeof process == "object" && process ? process : {}, gt = (e, t, n, i) => {
1786
+ }), ue = typeof performance == "object" && performance && typeof performance.now == "function" ? performance : Date, wt = /* @__PURE__ */ new Set(), Ke = typeof process == "object" && process ? process : {}, gt = (e, t, n, i) => {
1758
1787
  typeof Ke.emitWarning == "function" ? Ke.emitWarning(e, t, n, i) : console.error(`[${n}] ${t}: ${e}`);
1759
1788
  };
1760
1789
  let We = globalThis.AbortController, lt = globalThis.AbortSignal;
@@ -1792,7 +1821,7 @@ class Oe extends Array {
1792
1821
  super(t), this.fill(0);
1793
1822
  }
1794
1823
  }
1795
- class ve {
1824
+ class me {
1796
1825
  heap;
1797
1826
  length;
1798
1827
  // private constructor
@@ -1801,12 +1830,12 @@ class ve {
1801
1830
  const n = Rt(t);
1802
1831
  if (!n)
1803
1832
  return [];
1804
- ve.#c = !0;
1805
- const i = new ve(t, n);
1806
- return ve.#c = !1, i;
1833
+ me.#c = !0;
1834
+ const i = new me(t, n);
1835
+ return me.#c = !1, i;
1807
1836
  }
1808
1837
  constructor(t, n) {
1809
- if (!ve.#c)
1838
+ if (!me.#c)
1810
1839
  throw new TypeError("instantiate Stack using Stack.create(n)");
1811
1840
  this.heap = new n(t), this.length = 0;
1812
1841
  }
@@ -1984,13 +2013,13 @@ class qe {
1984
2013
  return this.#p;
1985
2014
  }
1986
2015
  constructor(t) {
1987
- 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: T, fetchMethod: E, noDeleteOnFetchRejection: p, noDeleteOnStaleGet: A, allowStaleOnFetchRejection: x, allowStaleOnFetchAbort: _, ignoreFetchAbort: v } = t;
2016
+ 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: y, fetchMethod: E, noDeleteOnFetchRejection: p, noDeleteOnStaleGet: A, allowStaleOnFetchRejection: x, allowStaleOnFetchAbort: _, ignoreFetchAbort: v } = t;
1988
2017
  if (n !== 0 && !ee(n))
1989
2018
  throw new TypeError("max option must be a nonnegative integer");
1990
- const g = n ? Rt(n) : Array;
1991
- if (!g)
2019
+ const w = n ? Rt(n) : Array;
2020
+ if (!w)
1992
2021
  throw new Error("invalid max value: " + n);
1993
- if (this.#c = n, this.#u = d, this.maxEntrySize = m || this.#u, this.sizeCalculation = T, this.sizeCalculation) {
2022
+ if (this.#c = n, this.#u = d, this.maxEntrySize = m || this.#u, this.sizeCalculation = y, this.sizeCalculation) {
1994
2023
  if (!this.#u && !this.maxEntrySize)
1995
2024
  throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
1996
2025
  if (typeof this.sizeCalculation != "function")
@@ -1998,7 +2027,7 @@ class qe {
1998
2027
  }
1999
2028
  if (E !== void 0 && typeof E != "function")
2000
2029
  throw new TypeError("fetchMethod must be a function if specified");
2001
- 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 g(n), this.#h = new g(n), this.#a = 0, this.#s = 0, this.#E = ve.create(n), this.#r = 0, this.#x = 0, typeof f == "function" && (this.#v = f), typeof l == "function" ? (this.#p = l, this.#o = []) : (this.#p = void 0, this.#o = void 0), this.#T = !!this.#v, this.#l = !!this.#p, this.noDisposeOnSet = !!h, this.noUpdateTTL = !!u, this.noDeleteOnFetchRejection = !!p, this.allowStaleOnFetchRejection = !!x, this.allowStaleOnFetchAbort = !!_, this.ignoreFetchAbort = !!v, this.maxEntrySize !== 0) {
2030
+ 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 w(n), this.#h = new w(n), this.#a = 0, this.#s = 0, this.#E = me.create(n), this.#r = 0, this.#x = 0, typeof f == "function" && (this.#v = f), typeof l == "function" ? (this.#p = l, this.#o = []) : (this.#p = void 0, this.#o = void 0), this.#T = !!this.#v, this.#l = !!this.#p, this.noDisposeOnSet = !!h, this.noUpdateTTL = !!u, this.noDeleteOnFetchRejection = !!p, this.allowStaleOnFetchRejection = !!x, this.allowStaleOnFetchAbort = !!_, this.ignoreFetchAbort = !!v, this.maxEntrySize !== 0) {
2002
2031
  if (this.#u !== 0 && !ee(this.#u))
2003
2032
  throw new TypeError("maxSize must be a positive integer if specified");
2004
2033
  if (!ee(this.maxEntrySize))
@@ -2013,8 +2042,8 @@ class qe {
2013
2042
  if (this.#c === 0 && this.ttl === 0 && this.#u === 0)
2014
2043
  throw new TypeError("At least one of max, maxSize, or ttl is required");
2015
2044
  if (!this.ttlAutopurge && !this.#c && !this.#u) {
2016
- const y = "LRU_CACHE_UNBOUNDED";
2017
- oi(y) && (wt.add(y), gt("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.", "UnboundedCacheWarning", y, qe));
2045
+ const M = "LRU_CACHE_UNBOUNDED";
2046
+ oi(M) && (wt.add(M), gt("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.", "UnboundedCacheWarning", M, qe));
2018
2047
  }
2019
2048
  }
2020
2049
  /**
@@ -2025,7 +2054,7 @@ class qe {
2025
2054
  }
2026
2055
  #N() {
2027
2056
  const t = new Oe(this.#c), n = new Oe(this.#c);
2028
- this.#d = t, this.#y = n, this.#I = (s, o, c = he.now()) => {
2057
+ this.#d = t, this.#y = n, this.#I = (s, o, c = ue.now()) => {
2029
2058
  if (n[s] = o !== 0 ? c : 0, t[s] = o, o !== 0 && this.ttlAutopurge) {
2030
2059
  const a = setTimeout(() => {
2031
2060
  this.#m(s) && this.delete(this.#n[s]);
@@ -2033,7 +2062,7 @@ class qe {
2033
2062
  a.unref && a.unref();
2034
2063
  }
2035
2064
  }, this.#M = (s) => {
2036
- n[s] = t[s] !== 0 ? he.now() : 0;
2065
+ n[s] = t[s] !== 0 ? ue.now() : 0;
2037
2066
  }, this.#R = (s, o) => {
2038
2067
  if (t[o]) {
2039
2068
  const c = t[o], a = n[o];
@@ -2046,7 +2075,7 @@ class qe {
2046
2075
  };
2047
2076
  let i = 0;
2048
2077
  const r = () => {
2049
- const s = he.now();
2078
+ const s = ue.now();
2050
2079
  if (this.ttlResolution > 0) {
2051
2080
  i = s;
2052
2081
  const o = setTimeout(() => i = 0, this.ttlResolution);
@@ -2254,7 +2283,7 @@ class qe {
2254
2283
  if (this.#d && this.#y) {
2255
2284
  const o = this.#d[n], c = this.#y[n];
2256
2285
  if (o && c) {
2257
- const a = o - (he.now() - c);
2286
+ const a = o - (ue.now() - c);
2258
2287
  s.ttl = a, s.start = Date.now();
2259
2288
  }
2260
2289
  }
@@ -2273,7 +2302,7 @@ class qe {
2273
2302
  const o = { value: s };
2274
2303
  if (this.#d && this.#y) {
2275
2304
  o.ttl = this.#d[n];
2276
- const c = he.now() - this.#y[n];
2305
+ const c = ue.now() - this.#y[n];
2277
2306
  o.start = Math.floor(Date.now() - c);
2278
2307
  }
2279
2308
  this.#_ && (o.size = this.#_[n]), t.unshift([i, o]);
@@ -2290,7 +2319,7 @@ class qe {
2290
2319
  for (const [n, i] of t) {
2291
2320
  if (i.start) {
2292
2321
  const r = Date.now() - i.start;
2293
- i.start = he.now() - r;
2322
+ i.start = ue.now() - r;
2294
2323
  }
2295
2324
  this.set(n, i.value, i);
2296
2325
  }
@@ -2413,22 +2442,22 @@ class qe {
2413
2442
  signal: o.signal,
2414
2443
  options: i,
2415
2444
  context: r
2416
- }, f = (T, E = !1) => {
2417
- const { aborted: p } = o.signal, A = i.ignoreFetchAbort && T !== void 0;
2445
+ }, f = (y, E = !1) => {
2446
+ const { aborted: p } = o.signal, A = i.ignoreFetchAbort && y !== void 0;
2418
2447
  if (i.status && (p && !E ? (i.status.fetchAborted = !0, i.status.fetchError = o.signal.reason, A && (i.status.fetchAbortIgnored = !0)) : i.status.fetchResolved = !0), p && !A && !E)
2419
2448
  return h(o.signal.reason);
2420
2449
  const x = d;
2421
- return this.#e[n] === d && (T === void 0 ? x.__staleWhileFetching ? this.#e[n] = x.__staleWhileFetching : this.delete(t) : (i.status && (i.status.fetchUpdated = !0), this.set(t, T, a.options))), T;
2422
- }, l = (T) => (i.status && (i.status.fetchRejected = !0, i.status.fetchError = T), h(T)), h = (T) => {
2450
+ return this.#e[n] === d && (y === void 0 ? x.__staleWhileFetching ? this.#e[n] = x.__staleWhileFetching : this.delete(t) : (i.status && (i.status.fetchUpdated = !0), this.set(t, y, a.options))), y;
2451
+ }, l = (y) => (i.status && (i.status.fetchRejected = !0, i.status.fetchError = y), h(y)), h = (y) => {
2423
2452
  const { aborted: E } = o.signal, p = E && i.allowStaleOnFetchAbort, A = p || i.allowStaleOnFetchRejection, x = A || i.noDeleteOnFetchRejection, _ = d;
2424
2453
  if (this.#e[n] === d && (!x || _.__staleWhileFetching === void 0 ? this.delete(t) : p || (this.#e[n] = _.__staleWhileFetching)), A)
2425
2454
  return i.status && _.__staleWhileFetching !== void 0 && (i.status.returnedStale = !0), _.__staleWhileFetching;
2426
2455
  if (_.__returned === _)
2427
- throw T;
2428
- }, u = (T, E) => {
2456
+ throw y;
2457
+ }, u = (y, E) => {
2429
2458
  const p = this.#U?.(t, s, a);
2430
- p && p instanceof Promise && p.then((A) => T(A === void 0 ? void 0 : A), E), o.signal.addEventListener("abort", () => {
2431
- (!i.ignoreFetchAbort || i.allowStaleOnFetchAbort) && (T(void 0), i.allowStaleOnFetchAbort && (T = (A) => f(A, !0)));
2459
+ p && p instanceof Promise && p.then((A) => y(A === void 0 ? void 0 : A), E), o.signal.addEventListener("abort", () => {
2460
+ (!i.ignoreFetchAbort || i.allowStaleOnFetchAbort) && (y(void 0), i.allowStaleOnFetchAbort && (y = (A) => f(A, !0)));
2432
2461
  });
2433
2462
  };
2434
2463
  i.status && (i.status.fetchDispatched = !0);
@@ -2462,7 +2491,7 @@ class qe {
2462
2491
  allowStaleOnFetchRejection: u = this.allowStaleOnFetchRejection,
2463
2492
  ignoreFetchAbort: d = this.ignoreFetchAbort,
2464
2493
  allowStaleOnFetchAbort: m = this.allowStaleOnFetchAbort,
2465
- context: T,
2494
+ context: y,
2466
2495
  forceRefresh: E = !1,
2467
2496
  status: p,
2468
2497
  signal: A
@@ -2493,19 +2522,19 @@ class qe {
2493
2522
  let _ = this.#i.get(t);
2494
2523
  if (_ === void 0) {
2495
2524
  p && (p.fetch = "miss");
2496
- const v = this.#L(t, _, x, T);
2525
+ const v = this.#L(t, _, x, y);
2497
2526
  return v.__returned = v;
2498
2527
  } else {
2499
2528
  const v = this.#e[_];
2500
2529
  if (this.#t(v)) {
2501
- const M = i && v.__staleWhileFetching !== void 0;
2502
- return p && (p.fetch = "inflight", M && (p.returnedStale = !0)), M ? v.__staleWhileFetching : v.__returned = v;
2530
+ const R = i && v.__staleWhileFetching !== void 0;
2531
+ return p && (p.fetch = "inflight", R && (p.returnedStale = !0)), R ? v.__staleWhileFetching : v.__returned = v;
2503
2532
  }
2504
- const g = this.#m(_);
2505
- if (!E && !g)
2533
+ const w = this.#m(_);
2534
+ if (!E && !w)
2506
2535
  return p && (p.fetch = "hit"), this.#S(_), r && this.#M(_), p && this.#R(p, _), v;
2507
- const y = this.#L(t, _, x, T), R = y.__staleWhileFetching !== void 0 && i;
2508
- return p && (p.fetch = g ? "stale" : "refresh", R && g && (p.returnedStale = !0)), R ? y.__staleWhileFetching : y.__returned = y;
2536
+ const M = this.#L(t, _, x, y), g = M.__staleWhileFetching !== void 0 && i;
2537
+ return p && (p.fetch = w ? "stale" : "refresh", g && w && (p.returnedStale = !0)), g ? M.__staleWhileFetching : M.__returned = M;
2509
2538
  }
2510
2539
  }
2511
2540
  /**
@@ -2615,22 +2644,22 @@ const je = (e) => {
2615
2644
  const h = i.get([a, f, l]);
2616
2645
  if (!h)
2617
2646
  return;
2618
- const { texture: u, downsample: d } = h, m = 2 ** d, T = [Math.floor(a / m), Math.floor(f / m), l - d], E = n.get(T);
2647
+ const { texture: u, downsample: d } = h, m = 2 ** d, y = [Math.floor(a / m), Math.floor(f / m), l - d], E = n.get(y);
2619
2648
  if (E)
2620
2649
  return { buffer: E, downsample: d };
2621
2650
  const p = new Uint8Array(4 * ie * ie);
2622
- return e.bindFramebuffer(e.FRAMEBUFFER, r), u.attach(), e.readPixels(0, 0, ie, ie, e.RGBA, e.UNSIGNED_BYTE, p), e.bindFramebuffer(e.FRAMEBUFFER, null), n.set(T, p), { buffer: p, downsample: d };
2651
+ return e.bindFramebuffer(e.FRAMEBUFFER, r), u.attach(), e.readPixels(0, 0, ie, ie, e.RGBA, e.UNSIGNED_BYTE, p), e.bindFramebuffer(e.FRAMEBUFFER, null), n.set(y, p), { buffer: p, downsample: d };
2623
2652
  };
2624
2653
  return { get: ([a = 0, f = 0], l = ai) => {
2625
- const h = 2 ** l, u = z([a, f, 0]).map((M) => M * h), [d = 0, m = 0] = u.map((M) => Math.floor(M % h));
2626
- let [T = 0, E = 0] = u.map((M) => M % 1);
2654
+ const h = 2 ** l, u = z([a, f, 0]).map((R) => R * h), [d = 0, m = 0] = u.map((R) => Math.floor(R % h));
2655
+ let [y = 0, E = 0] = u.map((R) => R % 1);
2627
2656
  const p = s([d, m, l]);
2628
2657
  if (!p)
2629
2658
  return 0;
2630
2659
  const { buffer: A, downsample: x } = p, _ = 2 ** x;
2631
- [T, E] = [(d % _ + T) / _, (m % _ + E) / _];
2632
- const v = 4 * ie * Math.floor(E * ie) + 4 * Math.floor(T * ie), [g = 0, y = 0, w = 0] = A.slice(v, v + 4);
2633
- return (g * 65536 + y * 256 + w) / 10 - 1e4;
2660
+ [y, E] = [(d % _ + y) / _, (m % _ + E) / _];
2661
+ const v = 4 * ie * Math.floor(E * ie) + 4 * Math.floor(y * ie), [w = 0, M = 0, T = 0] = A.slice(v, v + 4);
2662
+ return (w * 65536 + M * 256 + T) / 10 - 1e4;
2634
2663
  }, dispose: () => {
2635
2664
  e.deleteFramebuffer(r);
2636
2665
  } };
@@ -2672,14 +2701,14 @@ const ut = ({
2672
2701
  const [l = 0, h = 0, u = 0] = a;
2673
2702
  let d = t.replace("{x}", `${l}`).replace("{y}", `${h}`).replace("{z}", `${u}`);
2674
2703
  if (d.includes("{bbox}")) {
2675
- const [T = 0, E = 0, p = 0] = a, A = 2 ** p - E - 1, [[x, _] = [], [v, g] = []] = [
2704
+ const [y = 0, E = 0, p = 0] = a, A = 2 ** p - E - 1, [[x, _] = [], [v, w] = []] = [
2676
2705
  [0, 0],
2677
2706
  [1, 1]
2678
- ].map(([y = 0, w = 0]) => [T + y, A + w, p]).map((y) => mt(y, y)).map(([y = 0, w = 0]) => [
2679
- (y - 0.5) * 2 * Math.PI * 6378137,
2680
- (w - 0.5) * 2 * Math.PI * 6378137
2707
+ ].map(([M = 0, T = 0]) => [y + M, A + T, p]).map((M) => mt(M, M)).map(([M = 0, T = 0]) => [
2708
+ (M - 0.5) * 2 * Math.PI * 6378137,
2709
+ (T - 0.5) * 2 * Math.PI * 6378137
2681
2710
  ]);
2682
- d = d.replace("{bbox}", [x, _, v, g].join(","));
2711
+ d = d.replace("{bbox}", [x, _, v, w].join(","));
2683
2712
  }
2684
2713
  const m = Et({
2685
2714
  gl: e,
@@ -2708,7 +2737,7 @@ const ut = ({
2708
2737
  const s = t.get(r);
2709
2738
  if (s)
2710
2739
  return s;
2711
- const [o = 0, c = 0, a = 0] = r, f = n.map(([l = 0, h = 0]) => [o + l, c + h, a]).map((l) => mt(l, l)).map((l) => ae(l, l)).map((l) => {
2740
+ const [o = 0, c = 0, a = 0] = r, f = n.map(([l = 0, h = 0]) => [o + l, c + h, a]).map((l) => mt(l, l)).map((l) => oe(l, l)).map((l) => {
2712
2741
  const [h = 0, u = 0] = l, d = Math.max(a - 5, 0);
2713
2742
  return z(
2714
2743
  Me(l, h, u, e.get([h, u], d)),
@@ -2755,8 +2784,8 @@ void main(void) {
2755
2784
  uv = downsample(downsample_imagery);
2756
2785
  color_out = color;
2757
2786
  }`;
2758
- const B = 34, hi = 22, di = se(0, B).flatMap(
2759
- (e) => se(0, B).flatMap((t) => [
2787
+ const B = 34, hi = 22, di = xe(0, B).flatMap(
2788
+ (e) => xe(0, B).flatMap((t) => [
2760
2789
  e * (B + 1) + t,
2761
2790
  e * (B + 1) + t + 1,
2762
2791
  (e + 1) * (B + 1) + t + 1,
@@ -2764,22 +2793,22 @@ const B = 34, hi = 22, di = se(0, B).flatMap(
2764
2793
  (e + 1) * (B + 1) + t + 1,
2765
2794
  (e + 1) * (B + 1) + t
2766
2795
  ])
2767
- ), Ne = 0.1, mi = se(0, B + 1).flatMap(
2768
- (e) => se(0, B + 1).map((t) => {
2796
+ ), Ne = 0.1, mi = xe(0, B + 1).flatMap(
2797
+ (e) => xe(0, B + 1).map((t) => {
2769
2798
  let n = (t - 1) / (B - 2), i = (e - 1) / (B - 2), r = 0;
2770
2799
  return t === 0 && (n = 0, r = -Ne), t === B && (n = 1, r = -Ne), e === 0 && (i = 0, r = -Ne), e === B && (i = 1, r = -Ne), [n, i, r];
2771
2800
  })
2772
- ), Wi = (e, t = {}) => {
2801
+ ), Xi = (e, t = {}) => {
2773
2802
  const { gl: n } = e;
2774
2803
  let i, r;
2775
2804
  const s = n.getExtension(
2776
2805
  "EXT_texture_filter_anisotropic"
2777
- ), o = s ? n.getParameter(s.MAX_TEXTURE_MAX_ANISOTROPY_EXT) : void 0, c = fe(
2806
+ ), o = s ? n.getParameter(s.MAX_TEXTURE_MAX_ANISOTROPY_EXT) : void 0, c = ce(
2778
2807
  () => t.imageryUrl?.() ?? "",
2779
- (R) => {
2808
+ (g) => {
2780
2809
  i?.dispose(), i = ut({
2781
2810
  gl: n,
2782
- urlPattern: R,
2811
+ urlPattern: g,
2783
2812
  onLoad: () => {
2784
2813
  s && o && n.texParameterf(
2785
2814
  n.TEXTURE_2D,
@@ -2800,49 +2829,49 @@ const B = 34, hi = 22, di = se(0, B).flatMap(
2800
2829
  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);
2801
2830
  }
2802
2831
  }), l = Qe(f, 3), h = ci({ gl: n, terrainCache: f }), u = li(h), d = V({ gl: n, type: "f32", target: "array" });
2803
- d.set(mi.flatMap(([R = 0, M = 0, b = 0]) => [R, M, b]));
2832
+ d.set(mi.flatMap(([g = 0, R = 0, b = 0]) => [g, R, b]));
2804
2833
  const m = V({ gl: n, type: "u16", target: "element" });
2805
2834
  m.set(di);
2806
- const { renderProgram: T, depthProgram: E } = vi(e, {
2835
+ const { renderProgram: y, depthProgram: E } = vi(e, {
2807
2836
  uvwBuffer: d,
2808
2837
  indexBuffer: m
2809
- }), p = [0, 1, 2, 3], A = p.map(L), x = p.map(ne), _ = p.map(xe), v = (R) => {
2810
- const { camera: M, worldToLocal: b, localToClip: U, clipToScreen: P } = R, S = (I) => {
2811
- const [C = 0, X = 0, O = 0] = I, W = u.get(I);
2812
- let Z = pi(M, W);
2838
+ }), p = [0, 1, 2, 3], A = p.map(L), x = p.map(ne), _ = p.map(pe), v = (g) => {
2839
+ const { camera: R, worldToLocal: b, localToClip: U, clipToScreen: S } = g, P = (N) => {
2840
+ const [I = 0, X = 0, C = 0] = N, W = u.get(N);
2841
+ let Z = pi(R, W);
2813
2842
  if (!Z) {
2814
2843
  const Y = W.map((G, J) => b(G, A[J])).map((G, J) => U(G, x[J]));
2815
2844
  if (xi(Y))
2816
2845
  return [];
2817
- Z = Ei(Y.map((G, J) => P(G, _[J]))) > 512 / devicePixelRatio;
2846
+ Z = Ei(Y.map((G, J) => S(G, _[J]))) > 512 / devicePixelRatio;
2818
2847
  }
2819
- return Z && O < hi ? [
2820
- [2 * C, 2 * X, O + 1],
2821
- [2 * C + 1, 2 * X, O + 1],
2822
- [2 * C, 2 * X + 1, O + 1],
2823
- [2 * C + 1, 2 * X + 1, O + 1]
2824
- ].flatMap((q) => S(q)) : [I];
2848
+ return Z && C < hi ? [
2849
+ [2 * I, 2 * X, C + 1],
2850
+ [2 * I + 1, 2 * X, C + 1],
2851
+ [2 * I, 2 * X + 1, C + 1],
2852
+ [2 * I + 1, 2 * X + 1, C + 1]
2853
+ ].flatMap((q) => P(q)) : [N];
2825
2854
  };
2826
- return S([0, 0, 0]);
2827
- }, g = ({
2828
- viewport: R,
2829
- depth: M = !1,
2855
+ return P([0, 0, 0]);
2856
+ }, w = ({
2857
+ viewport: g,
2858
+ depth: R = !1,
2830
2859
  index: b = 0
2831
2860
  }) => {
2832
2861
  const U = t.color?.() ?? [1, 1, 1, 1];
2833
- if (c(), Ee(n, M, t))
2862
+ if (c(), Ee(n, R, t))
2834
2863
  return;
2835
- const P = M ? E : T, { projection: S, modelView: I, camera: C } = R, X = v(R);
2836
- for (const O of X) {
2837
- const W = M ? void 0 : r?.get(O), Z = l.get(O);
2838
- if (!M && !W || !Z)
2864
+ const S = R ? E : y, { projection: P, modelView: N, camera: I } = g, X = v(g);
2865
+ for (const C of X) {
2866
+ const W = R ? void 0 : r?.get(C), Z = l.get(C);
2867
+ if (!R && !W || !Z)
2839
2868
  continue;
2840
2869
  const { texture: Y, downsample: q } = Z, { texture: G = Y, downsample: J = 0 } = W ?? {};
2841
- P.execute({
2842
- projection: S,
2843
- modelView: I,
2844
- camera: K(C),
2845
- xyz: O,
2870
+ S.execute({
2871
+ projection: P,
2872
+ modelView: N,
2873
+ camera: K(I),
2874
+ xyz: C,
2846
2875
  imagery: G,
2847
2876
  terrain: Y,
2848
2877
  downsampleImagery: J,
@@ -2851,33 +2880,33 @@ const B = 34, hi = 22, di = se(0, B).flatMap(
2851
2880
  index: b
2852
2881
  });
2853
2882
  }
2854
- }, y = () => {
2883
+ }, M = () => {
2855
2884
  i?.dispose(), f.dispose(), h.dispose();
2856
- }, w = ye(t);
2885
+ }, T = ye(t);
2857
2886
  return {
2858
- render: g,
2859
- dispose: y,
2860
- ...w
2887
+ render: w,
2888
+ dispose: M,
2889
+ ...T
2861
2890
  };
2862
2891
  }, vi = ({ gl: e, programs: t }, { uvwBuffer: n, indexBuffer: i }) => {
2863
2892
  const r = (c = !1) => {
2864
2893
  const a = t.get({
2865
2894
  vertexSource: ui,
2866
2895
  fragmentSource: c ? _e : fi
2867
- }), 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"), T = a.uniform1i("downsample_terrain"), E = a.uniform4f("color"), p = a.uniform3i("xyz"), A = a.uniform3i("camera"), x = a.uniform1i("index");
2896
+ }), 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"), y = a.uniform1i("downsample_terrain"), E = a.uniform4f("color"), p = a.uniform3i("xyz"), A = a.uniform3i("camera"), x = a.uniform1i("index");
2868
2897
  return { execute: ({
2869
2898
  projection: v,
2870
- modelView: g,
2871
- camera: y,
2872
- xyz: w,
2873
- imagery: R,
2874
- terrain: M,
2899
+ modelView: w,
2900
+ camera: M,
2901
+ xyz: T,
2902
+ imagery: g,
2903
+ terrain: R,
2875
2904
  downsampleImagery: b,
2876
2905
  downsampleTerrain: U,
2877
- color: P,
2878
- index: S
2906
+ color: S,
2907
+ index: P
2879
2908
  }) => {
2880
- a.use(), f.use(), l.set(v), h.set(g), p.set(w), A.set(y), m.set(b), T.set(U), E.set(P), x.set(S), e.activeTexture(e.TEXTURE0), u.set(0), R.use(), e.activeTexture(e.TEXTURE1), d.set(1), M.use(), i.use(), e.drawElements(e.TRIANGLES, B * B * 2 * 3, e.UNSIGNED_SHORT, 0);
2909
+ a.use(), f.use(), l.set(v), h.set(w), p.set(T), A.set(M), m.set(b), y.set(U), E.set(S), x.set(P), e.activeTexture(e.TEXTURE0), u.set(0), g.use(), e.activeTexture(e.TEXTURE1), d.set(1), R.use(), i.use(), e.drawElements(e.TRIANGLES, B * B * 2 * 3, e.UNSIGNED_SHORT, 0);
2881
2910
  } };
2882
2911
  }, s = r(), o = r(!0);
2883
2912
  return { renderProgram: s, depthProgram: o };
@@ -2899,11 +2928,11 @@ const B = 34, hi = 22, di = se(0, B).flatMap(
2899
2928
  e[(n + 1) % e.length] ?? [0, 0]
2900
2929
  )
2901
2930
  ).reduce((t, n) => t + n, 0) / e.length
2902
- ), ji = {
2931
+ ), Wi = {
2903
2932
  pickable: !0,
2904
2933
  depth: !0,
2905
2934
  polygonOffset: 0
2906
- }, _i = (e, t) => {
2935
+ }, ji = (e, t) => {
2907
2936
  let n;
2908
2937
  return () => {
2909
2938
  const i = e.map((s) => s());
@@ -2915,7 +2944,19 @@ const B = 34, hi = 22, di = se(0, B).flatMap(
2915
2944
  const r = t(i);
2916
2945
  return n = [i, r], r;
2917
2946
  };
2918
- }, fe = (e, t) => _i([e], ([n]) => t(n)), ye = (e) => {
2947
+ }, ce = (e, t) => {
2948
+ let n;
2949
+ return () => {
2950
+ const i = e();
2951
+ if (n) {
2952
+ const [s, o] = n;
2953
+ if (s === i)
2954
+ return o;
2955
+ }
2956
+ const r = t(i);
2957
+ return n = [i, r], r;
2958
+ };
2959
+ }, ye = (e) => {
2919
2960
  const {
2920
2961
  onClick: t,
2921
2962
  onRightClick: n,
@@ -2934,7 +2975,7 @@ const B = 34, hi = 22, di = se(0, B).flatMap(
2934
2975
  onDragStart: o,
2935
2976
  onDragEnd: c
2936
2977
  };
2937
- }, Ve = 10, Se = 1e-3, le = (e) => (t) => {
2978
+ }, Ve = 10, Se = 1e-3, fe = (e) => (t) => {
2938
2979
  let n, i;
2939
2980
  return () => {
2940
2981
  const r = performance.now(), s = (r - (i ?? r)) / 1e3;
@@ -2942,19 +2983,19 @@ const B = 34, hi = 22, di = se(0, B).flatMap(
2942
2983
  const o = t();
2943
2984
  return n = n ?? o, n = e({ time: s, current: n, target: o }), n;
2944
2985
  };
2945
- }, yi = le(
2986
+ }, _i = fe(
2946
2987
  ({ time: e, current: t, target: n }) => (Math.abs(n - t) < Se ? t = n : t = t + (n - t) * (1 - Math.exp(-Ve * e)), t)
2947
- ), Ti = le(
2988
+ ), yi = fe(
2948
2989
  ({ time: e, current: t, target: n }) => (hn(t, n) < Se ? an(t, n) : t = fn(
2949
- xe(),
2990
+ pe(),
2950
2991
  t,
2951
2992
  un(
2952
- xe(),
2953
- mn(xe(), n, t),
2993
+ pe(),
2994
+ mn(pe(), n, t),
2954
2995
  1 - Math.exp(-Ve * e)
2955
2996
  )
2956
2997
  ), t)
2957
- ), Bi = le(
2998
+ ), Bi = fe(
2958
2999
  ({ time: e, current: t, target: n }) => (qt(t, n) < Se ? Gt(t, n) : t = Ft(
2959
3000
  ne(),
2960
3001
  t,
@@ -2964,16 +3005,16 @@ const B = 34, hi = 22, di = se(0, B).flatMap(
2964
3005
  1 - Math.exp(-Ve * e)
2965
3006
  )
2966
3007
  ), t)
2967
- ), Vi = le(
3008
+ ), Vi = fe(
2968
3009
  ({ time: e, current: t, target: n }) => {
2969
3010
  const i = be(z(t), z(n));
2970
- return i * H < Se || i > 1e5 / H ? Vt(t, n) : t = ae(
3011
+ return i * H < Se || i > 1e5 / H ? Vt(t, n) : t = oe(
2971
3012
  re(
2972
3013
  L(),
2973
3014
  z(t),
2974
- de(
3015
+ he(
2975
3016
  L(),
2976
- oe(L(), z(n), z(t)),
3017
+ se(L(), z(n), z(t)),
2977
3018
  1 - Math.exp(-Ve * e)
2978
3019
  )
2979
3020
  )
@@ -2981,44 +3022,44 @@ const B = 34, hi = 22, di = se(0, B).flatMap(
2981
3022
  }
2982
3023
  ), Zi = (e) => {
2983
3024
  let t = [0, 0, 0], n = [0, 0, 0], i, r;
2984
- return le(({ time: o, current: c, target: a }) => {
3025
+ return fe(({ time: o, current: c, target: a }) => {
2985
3026
  if (a === c || o > 1 || be(z(a), z(c)) > 1e3 / H)
2986
3027
  return i = void 0, t = [0, 0, 0], n = [0, 0, 0], a;
2987
- i ? a !== i && r !== void 0 && o - r > 1 && (n = de(
3028
+ i ? a !== i && r !== void 0 && o - r > 1 && (n = he(
2988
3029
  L(),
2989
- oe(L(), z(a), z(i)),
3030
+ se(L(), z(a), z(i)),
2990
3031
  1e3 / (performance.now() - r)
2991
3032
  ), i = a, r = performance.now()) : (i = a, r = o);
2992
3033
  const f = re(
2993
3034
  L(),
2994
3035
  t,
2995
- de(
3036
+ he(
2996
3037
  L(),
2997
- oe(L(), n, t),
3038
+ se(L(), n, t),
2998
3039
  2 * o
2999
3040
  )
3000
3041
  );
3001
- return c = ae(
3042
+ return c = oe(
3002
3043
  re(
3003
3044
  L(),
3004
3045
  z(c),
3005
3046
  re(
3006
3047
  L(),
3007
- de(
3048
+ he(
3008
3049
  L(),
3009
3050
  re(L(), t, f),
3010
3051
  0.5 * o
3011
3052
  ),
3012
- de(
3053
+ he(
3013
3054
  L(),
3014
- oe(L(), z(a), z(c)),
3055
+ se(L(), z(a), z(c)),
3015
3056
  o
3016
3057
  )
3017
3058
  )
3018
3059
  )
3019
3060
  ), t = f, c;
3020
3061
  })(e);
3021
- }, wi = le(
3062
+ }, Ti = fe(
3022
3063
  ({ time: e, current: t, target: n }) => (t = En(
3023
3064
  Ie(
3024
3065
  Ge(),
@@ -3027,18 +3068,18 @@ const B = 34, hi = 22, di = se(0, B).flatMap(
3027
3068
  Math.PI * e
3028
3069
  )
3029
3070
  ), rn(Ue(t), Ue(n)) < Se && (n = t), t)
3030
- ), gi = 10, Yi = (e) => {
3031
- const t = wi(() => e().orientation), n = Ti(() => e().offset), i = yi(() => e().fieldOfView);
3032
- return le(({ time: s, current: o, target: c }) => {
3033
- const a = be(z(o.target), z(c.target)) * H, f = Math.max(c.distance, a), l = 1 - Math.exp(-gi * s), h = Math.exp(
3071
+ ), wi = 10, Yi = (e) => {
3072
+ const t = Ti(() => e().orientation), n = yi(() => e().offset), i = _i(() => e().fieldOfView);
3073
+ return fe(({ time: s, current: o, target: c }) => {
3074
+ const a = be(z(o.target), z(c.target)) * H, f = Math.max(c.distance, a), l = 1 - Math.exp(-wi * s), h = Math.exp(
3034
3075
  Math.log(o.distance) + (Math.log(f) - Math.log(o.distance)) * l
3035
- ), u = o.distance > a ? 1 : o.distance / a, d = ae(
3076
+ ), u = o.distance > a ? 1 : o.distance / a, d = oe(
3036
3077
  re(
3037
3078
  L(),
3038
3079
  z(o.target),
3039
- de(
3080
+ he(
3040
3081
  L(),
3041
- oe(
3082
+ se(
3042
3083
  L(),
3043
3084
  z(c.target),
3044
3085
  z(o.target)
@@ -3056,7 +3097,7 @@ const B = 34, hi = 22, di = se(0, B).flatMap(
3056
3097
  fieldOfView: i()
3057
3098
  };
3058
3099
  })(e);
3059
- }, Ri = (e) => {
3100
+ }, gi = (e) => {
3060
3101
  const t = e.createTexture();
3061
3102
  e.bindTexture(e.TEXTURE_2D, t), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MIN_FILTER, e.NEAREST), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MAG_FILTER, e.NEAREST), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_S, e.CLAMP_TO_EDGE), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_T, e.CLAMP_TO_EDGE);
3062
3103
  const n = e.createRenderbuffer();
@@ -3098,14 +3139,14 @@ const B = 34, hi = 22, di = se(0, B).flatMap(
3098
3139
  resize: o,
3099
3140
  read: ([l = 0, h = 0]) => {
3100
3141
  r(), e.readPixels(l, s - h, 1, 1, e.RGBA, e.UNSIGNED_BYTE, c), e.bindFramebuffer(e.FRAMEBUFFER, null);
3101
- const [u = 0, d = 0, m = 0, T = 0] = c, p = 2 * ((u * 256 + d) / (256 * 256 - 1)) - 1, A = m * 256 + T;
3142
+ const [u = 0, d = 0, m = 0, y = 0] = c, p = 2 * ((u * 256 + d) / (256 * 256 - 1)) - 1, A = m * 256 + y;
3102
3143
  return [p, A];
3103
3144
  },
3104
3145
  dispose: () => {
3105
3146
  e.deleteTexture(t), e.deleteFramebuffer(i), e.deleteRenderbuffer(n);
3106
3147
  }
3107
3148
  };
3108
- }, Ai = (e, {
3149
+ }, Ri = (e, {
3109
3150
  view: t,
3110
3151
  screen: n,
3111
3152
  pick: i
@@ -3115,37 +3156,37 @@ const B = 34, hi = 22, di = se(0, B).flatMap(
3115
3156
  const a = () => {
3116
3157
  s = !0;
3117
3158
  }, f = (m) => {
3118
- const { x: T, y: E, movementX: p, movementY: A } = m;
3159
+ const { x: y, y: E, movementX: p, movementY: A } = m;
3119
3160
  if (o) {
3120
3161
  if (o.onDrag) {
3121
- const { point: x, position: _, layer: v } = i([T, E], { terrain: !0 });
3162
+ const { point: x, position: _, layer: v } = i([y, E], { terrain: !0 });
3122
3163
  o.onDrag({ point: x, position: _, layer: v });
3123
3164
  }
3124
3165
  if (o.onDragFlat) {
3125
- const _ = te(t(), n()).unproject([T, E], { targetZ: c });
3126
- o.onDragFlat({ point: [T, E], position: _, layer: void 0 });
3166
+ const _ = te(t(), n()).unproject([y, E], { targetZ: c });
3167
+ o.onDragFlat({ point: [y, E], position: _, layer: void 0 });
3127
3168
  }
3128
3169
  return;
3129
3170
  }
3130
3171
  if (s && (Math.abs(p) > 1 || Math.abs(A) > 1)) {
3131
3172
  s = !1;
3132
- const { point: x, position: _, layer: v } = i([T, E]);
3173
+ const { point: x, position: _, layer: v } = i([y, E]);
3133
3174
  (v?.onDrag || v?.onDragFlat) && (o = v, o.onDragStart?.({ point: x, position: _, layer: v }), [, , c] = _);
3134
3175
  }
3135
3176
  }, l = (m) => {
3136
3177
  if (s && h(m), s = !1, o) {
3137
- const { x: T, y: E } = m, { point: p, position: A, layer: x } = i([T, E]);
3178
+ const { x: y, y: E } = m, { point: p, position: A, layer: x } = i([y, E]);
3138
3179
  o.onDragEnd?.({ point: p, position: A, layer: x });
3139
3180
  }
3140
3181
  o = void 0;
3141
3182
  }, h = (m) => {
3142
- const { x: T, y: E, button: p } = m, { point: A, position: x, layer: _ } = i([T, E]);
3183
+ const { x: y, y: E, button: p } = m, { point: A, position: x, layer: _ } = i([y, E]);
3143
3184
  (p === 2 ? _?.onRightClick : _?.onClick)?.(
3144
3185
  { point: A, position: x, layer: _ },
3145
3186
  m
3146
3187
  );
3147
- }, u = ({ x: m, y: T }) => {
3148
- const { point: E, position: p, layer: A } = i([m, T]);
3188
+ }, u = ({ x: m, y }) => {
3189
+ const { point: E, position: p, layer: A } = i([m, y]);
3149
3190
  A?.onDoubleClick?.({ point: E, position: p, layer: A });
3150
3191
  };
3151
3192
  return r?.addEventListener("mousedown", a), r?.addEventListener("mousemove", f), r?.addEventListener("dblclick", u), window.addEventListener("mouseup", l), { dispose: () => {
@@ -3157,15 +3198,15 @@ const $i = ({ gl: e }, t) => {
3157
3198
  const { view: n, layers: i } = t;
3158
3199
  let r = !0, s = [0, 0];
3159
3200
  e.enable(e.CULL_FACE), e.cullFace(e.FRONT), e.depthFunc(e.LEQUAL);
3160
- const o = Ri(e), { canvas: c } = e, a = ([x = 0, _ = 0]) => {
3201
+ const o = gi(e), { canvas: c } = e, a = ([x = 0, _ = 0]) => {
3161
3202
  x = x || 1, _ = _ || 1, s = [x, _], c.width = x * devicePixelRatio, c.height = _ * devicePixelRatio, o.resize([c.width, c.height]);
3162
3203
  };
3163
3204
  a([c.width, c.height]);
3164
3205
  const f = new ResizeObserver(([x]) => {
3165
3206
  if (!x)
3166
3207
  return;
3167
- const { contentRect: _ } = x, { width: v, height: g } = _;
3168
- a([v, g]);
3208
+ const { contentRect: _ } = x, { width: v, height: w } = _;
3209
+ a([v, w]);
3169
3210
  });
3170
3211
  c instanceof HTMLCanvasElement && f.observe(c);
3171
3212
  const l = ([x = 0, _ = 0]) => {
@@ -3176,33 +3217,33 @@ const $i = ({ gl: e }, t) => {
3176
3217
  }, u = (x) => {
3177
3218
  const _ = te(n(), s);
3178
3219
  l(s), (x ? [x] : Ce(i())).forEach(
3179
- (v, g) => v.render?.({ viewport: _, depth: !0, index: g + 1 })
3220
+ (v, w) => v.render?.({ viewport: _, depth: !0, index: w + 1 })
3180
3221
  );
3181
3222
  }, d = () => {
3182
3223
  r && (h(), requestAnimationFrame(d));
3183
3224
  };
3184
3225
  requestAnimationFrame(d);
3185
- const m = (x) => te(n(), s).project(x), T = (x) => te(n(), s).unproject(x), E = (x, { terrain: _ } = {}) => {
3186
- const { screenToClip: v, clipToLocal: g, localToWorld: y } = te(
3226
+ const m = (x) => te(n(), s).project(x), y = (x) => te(n(), s).unproject(x), E = (x, { terrain: _ } = {}) => {
3227
+ const { screenToClip: v, clipToLocal: w, localToWorld: M } = te(
3187
3228
  n(),
3188
3229
  s
3189
3230
  );
3190
3231
  o.use();
3191
- const [w] = _ ? i() : [];
3192
- u(w);
3193
- const [R = 0, M = 0] = x, [b, U] = o.read([
3194
- R * devicePixelRatio,
3195
- M * devicePixelRatio
3196
- ]), [P = 0, S = 0] = v(x), I = ae(y(g([P, S, b, 1]))), C = U === 0 ? void 0 : w ?? Ce(i())[U - 1];
3197
- return { point: x, position: I, layer: C };
3198
- }, p = Ai(e, {
3232
+ const [T] = _ ? i() : [];
3233
+ u(T);
3234
+ const [g = 0, R = 0] = x, [b, U] = o.read([
3235
+ g * devicePixelRatio,
3236
+ R * devicePixelRatio
3237
+ ]), [S = 0, P = 0] = v(x), N = oe(M(w([S, P, b, 1]))), I = U === 0 ? void 0 : T ?? Ce(i())[U - 1];
3238
+ return { point: x, position: N, layer: I };
3239
+ }, p = Ri(e, {
3199
3240
  view: n,
3200
3241
  screen: () => s,
3201
3242
  pick: E
3202
3243
  });
3203
3244
  return {
3204
3245
  project: m,
3205
- unproject: T,
3246
+ unproject: y,
3206
3247
  pick: E,
3207
3248
  dispose: () => {
3208
3249
  r = !1, p.dispose(), o.dispose(), c instanceof HTMLCanvasElement && f.unobserve(c);
@@ -3210,41 +3251,41 @@ const $i = ({ gl: e }, t) => {
3210
3251
  };
3211
3252
  }, Ce = (e) => e.flatMap((t) => [...Ce(t.children ?? []), t]);
3212
3253
  export {
3213
- fe as cache,
3214
- _i as cacheAll,
3254
+ ce as cache,
3255
+ ji as cacheAll,
3215
3256
  H as circumference,
3216
- Si as createBillboardLayer,
3217
- Ui as createContainer,
3218
- Mi as createContext,
3219
- Pi as createDynamicContainer,
3220
- Li as createEmptyLayer,
3221
- Ni as createLineLayer,
3257
+ bi as createBillboardLayer,
3258
+ Si as createContainer,
3259
+ Ai as createContext,
3260
+ Ui as createDynamicContainer,
3261
+ zi as createEmptyLayer,
3262
+ Li as createLineLayer,
3222
3263
  si as createMemoryTexture,
3223
- bi as createMouseControl,
3264
+ Mi as createMouseControl,
3224
3265
  ye as createMouseEvents,
3225
- yi as createNumberTransition,
3226
- Ii as createObjectLayer,
3227
- wi as createOrientationTransition,
3228
- Di as createPolygonLayer,
3266
+ _i as createNumberTransition,
3267
+ Ni as createObjectLayer,
3268
+ Ti as createOrientationTransition,
3269
+ Ii as createPolygonLayer,
3229
3270
  Vi as createPositionTransition,
3230
3271
  Zi as createPositionVelocityTransition,
3231
- Oi as createRadarLayer,
3232
- zi as createRenderLayer,
3233
- Wi as createTerrainLayer,
3234
- le as createTransition,
3235
- Ti as createVec2Transition,
3272
+ Di as createRadarLayer,
3273
+ Pi as createRenderLayer,
3274
+ Xi as createTerrainLayer,
3275
+ fe as createTransition,
3276
+ yi as createVec2Transition,
3236
3277
  Bi as createVec4Transition,
3237
3278
  Yi as createViewTransition,
3238
3279
  $i as createWorld,
3239
3280
  bt as debounce,
3240
- ji as defaultLayerOptions,
3281
+ Wi as defaultLayerOptions,
3241
3282
  vt as defaultView,
3242
3283
  vn as degrees,
3243
- ae as geodetic,
3284
+ oe as geodetic,
3244
3285
  z as mercator,
3245
3286
  pn as quadratic,
3246
3287
  De as radians,
3247
- se as range,
3288
+ xe as range,
3248
3289
  mt as tileToMercator,
3249
3290
  En as toOrientation,
3250
3291
  Ue as toQuaternion