world.ts 0.2.5 → 0.2.7

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
@@ -1,9 +1,9 @@
1
- const wt = (e, t) => {
1
+ const Rt = (e, t) => {
2
2
  let n;
3
3
  return (...i) => {
4
4
  clearTimeout(n), n = setTimeout(() => e(i), t);
5
5
  };
6
- }, ie = (e, t) => Array.from({ length: t - e }, (n, i) => i + e), Tt = ({
6
+ }, ie = (e, t) => Array.from({ length: t - e }, (n, i) => i + e), At = ({
7
7
  gl: e,
8
8
  vertexSource: t,
9
9
  fragmentSource: n
@@ -11,11 +11,11 @@ const wt = (e, t) => {
11
11
  const i = e.createProgram();
12
12
  if (!i)
13
13
  throw new Error("Program creation failed");
14
- const r = tt(
14
+ const r = it(
15
15
  e,
16
16
  e.createShader(e.VERTEX_SHADER),
17
17
  t
18
- ), s = tt(
18
+ ), s = it(
19
19
  e,
20
20
  e.createShader(e.FRAGMENT_SHADER),
21
21
  n
@@ -24,55 +24,55 @@ const wt = (e, t) => {
24
24
  throw console.error("Link failure", e.getProgramInfoLog(i)), new Error("Link failure");
25
25
  const o = () => e.useProgram(i), c = (_, T) => {
26
26
  const R = e.getUniformLocation(i, _);
27
- return { set: (S) => {
28
- R && T(R, S);
27
+ return { set: (b) => {
28
+ R && T(R, b);
29
29
  } };
30
- }, a = (_) => c(_, (T, R) => e.uniform1f(T, R)), f = (_) => c(_, (T, R) => e.uniform1i(T, R)), u = (_) => c(
30
+ }, a = (_) => c(_, (T, R) => e.uniform1f(T, R)), f = (_) => c(_, (T, R) => e.uniform1i(T, R)), l = (_) => c(
31
31
  _,
32
- (T, [R = 0, A = 0]) => e.uniform2f(T, R, A)
33
- ), l = (_) => c(
32
+ (T, [R = 0, S = 0]) => e.uniform2f(T, R, S)
33
+ ), u = (_) => c(
34
34
  _,
35
- (T, [R = 0, A = 0]) => e.uniform2i(T, R, A)
35
+ (T, [R = 0, S = 0]) => e.uniform2i(T, R, S)
36
36
  ), h = (_) => c(
37
37
  _,
38
- (T, [R = 0, A = 0, S = 0]) => e.uniform3f(T, R, A, S)
38
+ (T, [R = 0, S = 0, b = 0]) => e.uniform3f(T, R, S, b)
39
39
  ), d = (_) => c(
40
40
  _,
41
- (T, [R = 0, A = 0, S = 0]) => e.uniform3i(T, R, A, S)
41
+ (T, [R = 0, S = 0, b = 0]) => e.uniform3i(T, R, S, b)
42
42
  ), m = (_) => c(
43
43
  _,
44
- (T, [R = 0, A = 0, S = 0, M = 0]) => e.uniform4f(T, R, A, S, M)
44
+ (T, [R = 0, S = 0, b = 0, P = 0]) => e.uniform4f(T, R, S, b, P)
45
45
  ), E = (_) => c(
46
46
  _,
47
- (T, [R = 0, A = 0, S = 0, M = 0]) => e.uniform4i(T, R, A, S, M)
48
- ), w = (_) => c(
47
+ (T, [R = 0, S = 0, b = 0, P = 0]) => e.uniform4i(T, R, S, b, P)
48
+ ), y = (_) => c(
49
49
  _,
50
50
  (T, R) => e.uniformMatrix4fv(T, !1, R)
51
- ), p = ({
51
+ ), v = ({
52
52
  name: _,
53
53
  buffer: T,
54
54
  size: R,
55
- type: A,
56
- stride: S,
57
- offset: M
55
+ type: S,
56
+ stride: b,
57
+ offset: P
58
58
  }) => {
59
- const P = e.getAttribLocation(i, _);
60
- if (P === -1)
59
+ const U = e.getAttribLocation(i, _);
60
+ if (U === -1)
61
61
  throw new Error(`Missing attribute: ${_}`);
62
62
  return { use: () => {
63
- T.use(), e.enableVertexAttribArray(P), ["u16", "i32"].includes(A) ? e.vertexAttribIPointer(
64
- P,
63
+ T.use(), e.enableVertexAttribArray(U), ["u16", "i32"].includes(S) ? e.vertexAttribIPointer(
64
+ U,
65
65
  R,
66
- A === "u16" ? e.UNSIGNED_SHORT : e.INT,
67
- S || 0,
68
- M || 0
66
+ S === "u16" ? e.UNSIGNED_SHORT : e.INT,
67
+ b || 0,
68
+ P || 0
69
69
  ) : e.vertexAttribPointer(
70
- P,
70
+ U,
71
71
  R,
72
72
  e.FLOAT,
73
73
  !1,
74
- S || 0,
75
- M || 0
74
+ b || 0,
75
+ P || 0
76
76
  );
77
77
  } };
78
78
  };
@@ -80,27 +80,28 @@ const wt = (e, t) => {
80
80
  use: o,
81
81
  uniform1f: a,
82
82
  uniform1i: f,
83
- uniform2f: u,
84
- uniform2i: l,
83
+ uniform2f: l,
84
+ uniform2i: u,
85
85
  uniform3f: h,
86
86
  uniform3i: d,
87
87
  uniform4f: m,
88
88
  uniform4i: E,
89
- uniformMatrix4f: w,
90
- attribute2f: (_, T, R = {}) => p({ name: _, buffer: T, size: 2, type: "f32", ...R }),
91
- attribute3f: (_, T, R = {}) => p({ name: _, buffer: T, size: 3, type: "f32", ...R }),
92
- attribute3i: (_, T, R = {}) => p({ name: _, buffer: T, size: 3, type: "i32", ...R }),
89
+ uniformMatrix4f: y,
90
+ attribute1f: (_, T, R = {}) => v({ name: _, buffer: T, size: 1, type: "f32", ...R }),
91
+ attribute2f: (_, T, R = {}) => v({ name: _, buffer: T, size: 2, type: "f32", ...R }),
92
+ attribute3f: (_, T, R = {}) => v({ name: _, buffer: T, size: 3, type: "f32", ...R }),
93
+ attribute3i: (_, T, R = {}) => v({ name: _, buffer: T, size: 3, type: "i32", ...R }),
93
94
  dispose: () => {
94
95
  e.deleteProgram(i), e.deleteShader(r), e.deleteShader(s);
95
96
  }
96
97
  };
97
- }, tt = (e, t, n) => {
98
+ }, it = (e, t, n) => {
98
99
  if (!t)
99
100
  throw new Error("Shader creation failed");
100
101
  if (e.shaderSource(t, n), e.compileShader(t), !e.getShaderParameter(t, e.COMPILE_STATUS))
101
102
  throw console.error("Compilation failed", e.getShaderInfoLog(t)), new Error("Compilation failure");
102
103
  return t;
103
- }, gt = (e) => {
104
+ }, St = (e) => {
104
105
  const t = /* @__PURE__ */ new Map();
105
106
  return {
106
107
  get: ({
@@ -110,20 +111,20 @@ const wt = (e, t) => {
110
111
  const o = r + s, c = t.get(o);
111
112
  if (c)
112
113
  return c;
113
- const a = Tt({ gl: e, vertexSource: r, fragmentSource: s });
114
+ const a = At({ gl: e, vertexSource: r, fragmentSource: s });
114
115
  return t.set(o, a), a;
115
116
  },
116
117
  dispose: () => [...t.values()].forEach((r) => r.dispose())
117
118
  };
118
- }, _i = (e) => {
119
+ }, yi = (e) => {
119
120
  const t = e.getContext("webgl2");
120
121
  if (!t)
121
122
  throw new Error("No WebGL2");
122
- const n = gt(t), { dispose: i } = n;
123
+ const n = St(t), { dispose: i } = n;
123
124
  return { gl: t, programs: n, dispose: i };
124
125
  };
125
- var Rt = 1e-6, Z = typeof Float32Array < "u" ? Float32Array : Array;
126
- function At(e) {
126
+ var Mt = 1e-6, Z = typeof Float32Array < "u" ? Float32Array : Array;
127
+ function bt(e) {
127
128
  Z = e;
128
129
  }
129
130
  Math.hypot || (Math.hypot = function() {
@@ -131,7 +132,7 @@ Math.hypot || (Math.hypot = function() {
131
132
  e += arguments[t] * arguments[t];
132
133
  return Math.sqrt(e);
133
134
  });
134
- function St() {
135
+ function Ut() {
135
136
  var e = new Z(9);
136
137
  return Z != Float32Array && (e[1] = 0, e[2] = 0, e[3] = 0, e[5] = 0, e[6] = 0, e[7] = 0), e[0] = 1, e[4] = 1, e[8] = 1, e;
137
138
  }
@@ -139,55 +140,55 @@ function xe() {
139
140
  var e = new Z(16);
140
141
  return Z != Float32Array && (e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[6] = 0, e[7] = 0, e[8] = 0, e[9] = 0, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0), e[0] = 1, e[5] = 1, e[10] = 1, e[15] = 1, e;
141
142
  }
142
- function nt(e) {
143
+ function rt(e) {
143
144
  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;
144
145
  }
145
- function bt(e, t) {
146
- 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], u = t[8], l = t[9], h = t[10], d = t[11], m = t[12], E = t[13], w = t[14], p = t[15], y = n * c - i * o, v = n * a - r * o, x = n * f - s * o, g = i * a - r * c, _ = i * f - s * c, T = r * f - s * a, R = u * E - l * m, A = u * w - h * m, S = u * p - d * m, M = l * w - h * E, P = l * p - d * E, U = h * p - d * w, b = y * U - v * P + x * M + g * S - _ * A + T * R;
147
- return b ? (b = 1 / b, e[0] = (c * U - a * P + f * M) * b, e[1] = (r * P - i * U - s * M) * b, e[2] = (E * T - w * _ + p * g) * b, e[3] = (h * _ - l * T - d * g) * b, e[4] = (a * S - o * U - f * A) * b, e[5] = (n * U - r * S + s * A) * b, e[6] = (w * x - m * T - p * v) * b, e[7] = (u * T - h * x + d * v) * b, e[8] = (o * P - c * S + f * R) * b, e[9] = (i * S - n * P - s * R) * b, e[10] = (m * _ - E * x + p * y) * b, e[11] = (l * x - u * _ - d * y) * b, e[12] = (c * A - o * M - a * R) * b, e[13] = (n * M - i * A + r * R) * b, e[14] = (E * v - m * g - w * y) * b, e[15] = (u * g - l * v + h * y) * b, e) : null;
146
+ function Pt(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], u = t[9], h = t[10], d = t[11], m = t[12], E = t[13], y = t[14], v = t[15], g = n * c - i * o, p = n * a - r * o, x = n * f - s * o, w = i * a - r * c, A = i * f - s * c, _ = r * f - s * a, T = l * E - u * m, R = l * y - h * m, S = l * v - d * m, b = u * y - h * E, P = u * v - d * E, U = h * v - d * y, M = g * U - p * P + x * b + w * S - A * R + _ * T;
148
+ return M ? (M = 1 / M, e[0] = (c * U - a * P + f * b) * M, e[1] = (r * P - i * U - s * b) * M, e[2] = (E * _ - y * A + v * w) * M, e[3] = (h * A - u * _ - d * w) * M, e[4] = (a * S - o * U - f * R) * M, e[5] = (n * U - r * S + s * R) * M, e[6] = (y * x - m * _ - v * p) * M, e[7] = (l * _ - h * x + d * p) * M, e[8] = (o * P - c * S + f * T) * M, e[9] = (i * S - n * P - s * T) * M, e[10] = (m * A - E * x + v * g) * M, e[11] = (u * x - l * A - d * g) * M, e[12] = (c * R - o * b - a * T) * M, e[13] = (n * b - i * R + r * T) * M, e[14] = (E * p - m * w - y * g) * M, e[15] = (l * w - u * p + h * g) * M, e) : null;
148
149
  }
149
- function Mt(e, t, n) {
150
- var i = t[0], r = t[1], s = t[2], o = t[3], c = t[4], a = t[5], f = t[6], u = t[7], l = t[8], h = t[9], d = t[10], m = t[11], E = t[12], w = t[13], p = t[14], y = t[15], v = n[0], x = n[1], g = n[2], _ = n[3];
151
- return e[0] = v * i + x * c + g * l + _ * E, e[1] = v * r + x * a + g * h + _ * w, e[2] = v * s + x * f + g * d + _ * p, e[3] = v * o + x * u + g * m + _ * y, v = n[4], x = n[5], g = n[6], _ = n[7], e[4] = v * i + x * c + g * l + _ * E, e[5] = v * r + x * a + g * h + _ * w, e[6] = v * s + x * f + g * d + _ * p, e[7] = v * o + x * u + g * m + _ * y, v = n[8], x = n[9], g = n[10], _ = n[11], e[8] = v * i + x * c + g * l + _ * E, e[9] = v * r + x * a + g * h + _ * w, e[10] = v * s + x * f + g * d + _ * p, e[11] = v * o + x * u + g * m + _ * y, v = n[12], x = n[13], g = n[14], _ = n[15], e[12] = v * i + x * c + g * l + _ * E, e[13] = v * r + x * a + g * h + _ * w, e[14] = v * s + x * f + g * d + _ * p, e[15] = v * o + x * u + g * m + _ * y, e;
150
+ function zt(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], u = t[8], h = t[9], d = t[10], m = t[11], E = t[12], y = t[13], v = t[14], g = t[15], p = n[0], x = n[1], w = n[2], A = n[3];
152
+ return e[0] = p * i + x * c + w * u + A * E, e[1] = p * r + x * a + w * h + A * y, e[2] = p * s + x * f + w * d + A * v, e[3] = p * o + x * l + w * m + A * g, p = n[4], x = n[5], w = n[6], A = n[7], e[4] = p * i + x * c + w * u + A * E, e[5] = p * r + x * a + w * h + A * y, e[6] = p * s + x * f + w * d + A * v, e[7] = p * o + x * l + w * m + A * g, p = n[8], x = n[9], w = n[10], A = n[11], e[8] = p * i + x * c + w * u + A * E, e[9] = p * r + x * a + w * h + A * y, e[10] = p * s + x * f + w * d + A * v, e[11] = p * o + x * l + w * m + A * g, p = n[12], x = n[13], w = n[14], A = n[15], e[12] = p * i + x * c + w * u + A * E, e[13] = p * r + x * a + w * h + A * y, e[14] = p * s + x * f + w * d + A * v, e[15] = p * o + x * l + w * m + A * g, e;
152
153
  }
153
- function Ut(e, t, n) {
154
+ function Lt(e, t, n) {
154
155
  var i = n[0], r = n[1], s = n[2];
155
156
  return e[0] = t[0] * i, e[1] = t[1] * i, e[2] = t[2] * i, e[3] = t[3] * i, e[4] = t[4] * r, e[5] = t[5] * r, e[6] = t[6] * r, e[7] = t[7] * r, e[8] = t[8] * s, e[9] = t[9] * s, e[10] = t[10] * s, e[11] = t[11] * s, e[12] = t[12], e[13] = t[13], e[14] = t[14], e[15] = t[15], e;
156
157
  }
157
- function Pt(e, t, n) {
158
- var i = Math.sin(n), r = Math.cos(n), s = t[4], o = t[5], c = t[6], a = t[7], f = t[8], u = t[9], l = t[10], h = t[11];
159
- return t !== e && (e[0] = t[0], e[1] = t[1], e[2] = t[2], e[3] = t[3], e[12] = t[12], e[13] = t[13], e[14] = t[14], e[15] = t[15]), e[4] = s * r + f * i, e[5] = o * r + u * i, e[6] = c * r + l * i, e[7] = a * r + h * i, e[8] = f * r - s * i, e[9] = u * r - o * i, e[10] = l * r - c * i, e[11] = h * r - a * i, e;
158
+ function Nt(e, t, n) {
159
+ var i = Math.sin(n), r = Math.cos(n), s = t[4], o = t[5], c = t[6], a = t[7], f = t[8], l = t[9], u = t[10], h = t[11];
160
+ return t !== e && (e[0] = t[0], e[1] = t[1], e[2] = t[2], e[3] = t[3], e[12] = t[12], e[13] = t[13], e[14] = t[14], e[15] = t[15]), e[4] = s * r + f * i, e[5] = o * r + l * i, e[6] = c * r + u * i, e[7] = a * r + h * i, e[8] = f * r - s * i, e[9] = l * r - o * i, e[10] = u * r - c * i, e[11] = h * r - a * i, e;
160
161
  }
161
- function zt(e, t, n) {
162
- var i = Math.sin(n), r = Math.cos(n), s = t[0], o = t[1], c = t[2], a = t[3], f = t[8], u = t[9], l = t[10], h = t[11];
163
- return t !== e && (e[4] = t[4], e[5] = t[5], e[6] = t[6], e[7] = t[7], 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 - u * i, e[2] = c * r - l * i, e[3] = a * r - h * i, e[8] = s * i + f * r, e[9] = o * i + u * r, e[10] = c * i + l * r, e[11] = a * i + h * r, e;
162
+ function It(e, t, n) {
163
+ var i = Math.sin(n), r = Math.cos(n), s = t[0], o = t[1], c = t[2], a = t[3], f = t[8], l = t[9], u = t[10], h = t[11];
164
+ return t !== e && (e[4] = t[4], e[5] = t[5], e[6] = t[6], e[7] = t[7], 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 - u * i, e[3] = a * r - h * i, e[8] = s * i + f * r, e[9] = o * i + l * r, e[10] = c * i + u * r, e[11] = a * i + h * r, e;
164
165
  }
165
- function Lt(e, t, n) {
166
- var i = Math.sin(n), r = Math.cos(n), s = t[0], o = t[1], c = t[2], a = t[3], f = t[4], u = t[5], l = t[6], h = t[7];
167
- 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 + u * i, e[2] = c * r + l * i, e[3] = a * r + h * i, e[4] = f * r - s * i, e[5] = u * r - o * i, e[6] = l * r - c * i, e[7] = h * r - a * i, e;
166
+ function Dt(e, t, n) {
167
+ var i = Math.sin(n), r = Math.cos(n), s = t[0], o = t[1], c = t[2], a = t[3], f = t[4], l = t[5], u = t[6], h = t[7];
168
+ 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 + u * i, e[3] = a * r + h * i, e[4] = f * r - s * i, e[5] = l * r - o * i, e[6] = u * r - c * i, e[7] = h * r - a * i, e;
168
169
  }
169
- function Nt(e, t) {
170
- 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, u = i * o, l = i * c, h = r * o, d = r * c, m = r * a, E = s * o, w = s * c, p = s * a;
171
- return e[0] = 1 - l - m, e[1] = u + p, e[2] = h - w, e[3] = 0, e[4] = u - p, e[5] = 1 - f - m, e[6] = d + E, e[7] = 0, e[8] = h + w, e[9] = d - E, e[10] = 1 - f - l, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e;
170
+ function Ot(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, u = i * c, h = r * o, d = r * c, m = r * a, E = s * o, y = s * c, v = s * a;
172
+ return e[0] = 1 - u - m, e[1] = l + v, e[2] = h - y, e[3] = 0, e[4] = l - v, e[5] = 1 - f - m, e[6] = d + E, e[7] = 0, e[8] = h + y, e[9] = d - E, e[10] = 1 - f - u, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e;
172
173
  }
173
- function It(e, t, n, i, r) {
174
+ function Ct(e, t, n, i, r) {
174
175
  var s = 1 / Math.tan(t / 2), o;
175
176
  return e[0] = s / n, e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[5] = s, e[6] = 0, e[7] = 0, e[8] = 0, e[9] = 0, e[11] = -1, e[12] = 0, e[13] = 0, e[15] = 0, r != null && r !== 1 / 0 ? (o = 1 / (i - r), e[10] = (r + i) * o, e[14] = 2 * r * i * o) : (e[10] = -1, e[14] = -2 * i), e;
176
177
  }
177
- var Dt = It;
178
+ var Xt = Ct;
178
179
  function z() {
179
180
  var e = new Z(3);
180
181
  return Z != Float32Array && (e[0] = 0, e[1] = 0, e[2] = 0), e;
181
182
  }
182
- function Ot(e) {
183
+ function Wt(e) {
183
184
  var t = e[0], n = e[1], i = e[2];
184
185
  return Math.hypot(t, n, i);
185
186
  }
186
- function it(e, t, n) {
187
+ function st(e, t, n) {
187
188
  var i = new Z(3);
188
189
  return i[0] = e, i[1] = t, i[2] = n, i;
189
190
  }
190
- function Ct(e, t) {
191
+ function jt(e, t) {
191
192
  return e[0] = t[0], e[1] = t[1], e[2] = t[2], e;
192
193
  }
193
194
  function we(e, t, n, i) {
@@ -196,32 +197,32 @@ function we(e, t, n, i) {
196
197
  function ne(e, t, n) {
197
198
  return e[0] = t[0] + n[0], e[1] = t[1] + n[1], e[2] = t[2] + n[2], e;
198
199
  }
199
- function Wt(e, t, n) {
200
+ function Bt(e, t, n) {
200
201
  return e[0] = t[0] - n[0], e[1] = t[1] - n[1], e[2] = t[2] - n[2], e;
201
202
  }
202
- function le(e, t, n) {
203
+ function he(e, t, n) {
203
204
  return e[0] = t[0] * n, e[1] = t[1] * n, e[2] = t[2] * n, e;
204
205
  }
205
- function We(e, t) {
206
+ function Te(e, t) {
206
207
  var n = t[0] - e[0], i = t[1] - e[1], r = t[2] - e[2];
207
208
  return Math.hypot(n, i, r);
208
209
  }
209
- function Xt(e, t) {
210
+ function Zt(e, t) {
210
211
  var n = t[0], i = t[1], r = t[2], s = n * n + i * i + r * r;
211
212
  return s > 0 && (s = 1 / Math.sqrt(s)), e[0] = t[0] * s, e[1] = t[1] * s, e[2] = t[2] * s, e;
212
213
  }
213
- function jt(e, t) {
214
+ function Vt(e, t) {
214
215
  return e[0] * t[0] + e[1] * t[1] + e[2] * t[2];
215
216
  }
216
- function Ze(e, t, n) {
217
+ function Ve(e, t, n) {
217
218
  var i = t[0], r = t[1], s = t[2], o = n[0], c = n[1], a = n[2];
218
219
  return e[0] = r * a - s * c, e[1] = s * o - i * a, e[2] = i * c - r * o, e;
219
220
  }
220
- function Bt(e, t, n, i) {
221
+ function Yt(e, t, n, i) {
221
222
  var r = t[0], s = t[1], o = t[2];
222
223
  return e[0] = r + i * (n[0] - r), e[1] = s + i * (n[1] - s), e[2] = o + i * (n[2] - o), e;
223
224
  }
224
- var re = Wt, Zt = Ot;
225
+ var re = Bt, $t = Wt;
225
226
  (function() {
226
227
  var e = z();
227
228
  return function(t, n, i, r, s, o) {
@@ -235,37 +236,37 @@ function ee() {
235
236
  var e = new Z(4);
236
237
  return Z != Float32Array && (e[0] = 0, e[1] = 0, e[2] = 0, e[3] = 0), e;
237
238
  }
238
- function Vt(e, t) {
239
+ function kt(e, t) {
239
240
  return e[0] = t[0], e[1] = t[1], e[2] = t[2], e[3] = t[3], e;
240
241
  }
241
- function rt(e, t, n, i, r) {
242
+ function ot(e, t, n, i, r) {
242
243
  return e[0] = t, e[1] = n, e[2] = i, e[3] = r, e;
243
244
  }
244
- function Yt(e, t, n) {
245
+ function Ht(e, t, n) {
245
246
  return e[0] = t[0] + n[0], e[1] = t[1] + n[1], e[2] = t[2] + n[2], e[3] = t[3] + n[3], e;
246
247
  }
247
- function $t(e, t, n) {
248
+ function Gt(e, t, n) {
248
249
  return e[0] = t[0] - n[0], e[1] = t[1] - n[1], e[2] = t[2] - n[2], e[3] = t[3] - n[3], e;
249
250
  }
250
- function kt(e, t, n) {
251
+ function Ft(e, t, n) {
251
252
  return e[0] = t[0] * n, e[1] = t[1] * n, e[2] = t[2] * n, e[3] = t[3] * n, e;
252
253
  }
253
- function Ht(e, t) {
254
+ function Kt(e, t) {
254
255
  var n = t[0] - e[0], i = t[1] - e[1], r = t[2] - e[2], s = t[3] - e[3];
255
256
  return Math.hypot(n, i, r, s);
256
257
  }
257
- function Gt(e, t) {
258
+ function Qt(e, t) {
258
259
  var n = t[0], i = t[1], r = t[2], s = t[3], o = n * n + i * i + r * r + s * s;
259
260
  return o > 0 && (o = 1 / Math.sqrt(o)), e[0] = n * o, e[1] = i * o, e[2] = r * o, e[3] = s * o, e;
260
261
  }
261
- function Ft(e, t) {
262
+ function qt(e, t) {
262
263
  return e[0] * t[0] + e[1] * t[1] + e[2] * t[2] + e[3] * t[3];
263
264
  }
264
- function st(e, t, n) {
265
+ function at(e, t, n) {
265
266
  var i = t[0], r = t[1], s = t[2], o = t[3];
266
267
  return e[0] = n[0] * i + n[4] * r + n[8] * s + n[12] * o, e[1] = n[1] * i + n[5] * r + n[9] * s + n[13] * o, e[2] = n[2] * i + n[6] * r + n[10] * s + n[14] * o, e[3] = n[3] * i + n[7] * r + n[11] * s + n[15] * o, e;
267
268
  }
268
- var Kt = $t;
269
+ var Jt = Gt;
269
270
  (function() {
270
271
  var e = ee();
271
272
  return function(t, n, i, r, s, o) {
@@ -275,24 +276,24 @@ var Kt = $t;
275
276
  return t;
276
277
  };
277
278
  })();
278
- function ke() {
279
+ function He() {
279
280
  var e = new Z(4);
280
281
  return Z != Float32Array && (e[0] = 0, e[1] = 0, e[2] = 0), e[3] = 1, e;
281
282
  }
282
- function Qt(e, t, n) {
283
+ function en(e, t, n) {
283
284
  n = n * 0.5;
284
285
  var i = Math.sin(n);
285
286
  return e[0] = i * t[0], e[1] = i * t[1], e[2] = i * t[2], e[3] = Math.cos(n), e;
286
287
  }
287
- function qt(e, t) {
288
- var n = en(e, t);
288
+ function tn(e, t) {
289
+ var n = rn(e, t);
289
290
  return Math.acos(2 * n * n - 1);
290
291
  }
291
- function ze(e, t, n, i) {
292
- var r = t[0], s = t[1], o = t[2], c = t[3], a = n[0], f = n[1], u = n[2], l = n[3], h, d, m, E, w;
293
- return d = r * a + s * f + o * u + c * l, d < 0 && (d = -d, a = -a, f = -f, u = -u, l = -l), 1 - d > Rt ? (h = Math.acos(d), m = Math.sin(h), E = Math.sin((1 - i) * h) / m, w = Math.sin(i * h) / m) : (E = 1 - i, w = i), e[0] = E * r + w * a, e[1] = E * s + w * f, e[2] = E * o + w * u, e[3] = E * c + w * l, e;
292
+ function Ne(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], u = n[3], h, d, m, E, y;
294
+ return d = r * a + s * f + o * l + c * u, d < 0 && (d = -d, a = -a, f = -f, l = -l, u = -u), 1 - d > Mt ? (h = Math.acos(d), m = Math.sin(h), E = Math.sin((1 - i) * h) / m, y = Math.sin(i * h) / m) : (E = 1 - i, y = i), e[0] = E * r + y * a, e[1] = E * s + y * f, e[2] = E * o + y * l, e[3] = E * c + y * u, e;
294
295
  }
295
- function Jt(e, t) {
296
+ function nn(e, t) {
296
297
  var n = t[0] + t[4] + t[8], i;
297
298
  if (n > 0)
298
299
  i = Math.sqrt(n + 1), e[3] = 0.5 * i, i = 0.5 / i, e[0] = (t[5] - t[7]) * i, e[1] = (t[6] - t[2]) * i, e[2] = (t[1] - t[3]) * i;
@@ -304,56 +305,56 @@ function Jt(e, t) {
304
305
  }
305
306
  return e;
306
307
  }
307
- var en = Ft, ft = Gt;
308
+ var rn = qt, ht = Qt;
308
309
  (function() {
309
- var e = z(), t = it(1, 0, 0), n = it(0, 1, 0);
310
+ var e = z(), t = st(1, 0, 0), n = st(0, 1, 0);
310
311
  return function(i, r, s) {
311
- var o = jt(r, s);
312
- return o < -0.999999 ? (Ze(e, t, r), Zt(e) < 1e-6 && Ze(e, n, r), Xt(e, e), Qt(i, e, Math.PI), i) : o > 0.999999 ? (i[0] = 0, i[1] = 0, i[2] = 0, i[3] = 1, i) : (Ze(e, r, s), i[0] = e[0], i[1] = e[1], i[2] = e[2], i[3] = 1 + o, ft(i, i));
312
+ var o = Vt(r, s);
313
+ return o < -0.999999 ? (Ve(e, t, r), $t(e) < 1e-6 && Ve(e, n, r), Zt(e, e), en(i, e, Math.PI), i) : o > 0.999999 ? (i[0] = 0, i[1] = 0, i[2] = 0, i[3] = 1, i) : (Ve(e, r, s), i[0] = e[0], i[1] = e[1], i[2] = e[2], i[3] = 1 + o, ht(i, i));
313
314
  };
314
315
  })();
315
316
  (function() {
316
- var e = ke(), t = ke();
317
+ var e = He(), t = He();
317
318
  return function(n, i, r, s, o, c) {
318
- return ze(e, i, o, c), ze(t, r, s, c), ze(n, e, t, 2 * c * (1 - c)), n;
319
+ return Ne(e, i, o, c), Ne(t, r, s, c), Ne(n, e, t, 2 * c * (1 - c)), n;
319
320
  };
320
321
  })();
321
322
  (function() {
322
- var e = St();
323
+ var e = Ut();
323
324
  return function(t, n, i, r) {
324
- 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], ft(t, Jt(t, e));
325
+ 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], ht(t, nn(t, e));
325
326
  };
326
327
  })();
327
- function de() {
328
+ function me() {
328
329
  var e = new Z(2);
329
330
  return Z != Float32Array && (e[0] = 0, e[1] = 0), e;
330
331
  }
331
- function tn(e, t) {
332
+ function sn(e, t) {
332
333
  return e[0] = t[0], e[1] = t[1], e;
333
334
  }
334
- function nn(e, t, n) {
335
+ function on(e, t, n) {
335
336
  return e[0] = t, e[1] = n, e;
336
337
  }
337
- function rn(e, t, n) {
338
+ function an(e, t, n) {
338
339
  return e[0] = t[0] + n[0], e[1] = t[1] + n[1], e;
339
340
  }
340
- function sn(e, t, n) {
341
+ function cn(e, t, n) {
341
342
  return e[0] = t[0] - n[0], e[1] = t[1] - n[1], e;
342
343
  }
343
- function on(e, t, n) {
344
+ function fn(e, t, n) {
344
345
  return e[0] = t[0] * n, e[1] = t[1] * n, e;
345
346
  }
346
- function an(e, t) {
347
+ function ln(e, t) {
347
348
  var n = t[0] - e[0], i = t[1] - e[1];
348
349
  return Math.hypot(n, i);
349
350
  }
350
- function cn(e, t) {
351
+ function hn(e, t) {
351
352
  var n = t[0] - e[0], i = t[1] - e[1];
352
353
  return n * n + i * i;
353
354
  }
354
- var fn = sn;
355
+ var un = cn;
355
356
  (function() {
356
- var e = de();
357
+ var e = me();
357
358
  return function(t, n, i, r, s, o) {
358
359
  var c, a;
359
360
  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)
@@ -361,83 +362,83 @@ var fn = sn;
361
362
  return t;
362
363
  };
363
364
  })();
364
- const $ = 40075017, Le = (e) => e / 180 * Math.PI, ln = (e) => e * 180 / Math.PI, hn = (e, t, n) => {
365
+ const H = 40075017, Ie = (e) => e / 180 * Math.PI, dn = (e) => e * 180 / Math.PI, mn = (e, t, n) => {
365
366
  const i = Math.sqrt(t * t - 4 * e * n);
366
367
  return [(-t - i) / (2 * e), (-t + i) / (2 * e)];
367
368
  }, L = ([e = 0, t = 0, n = 0], i = z()) => we(
368
369
  i,
369
370
  e / 360 + 0.5,
370
- -Math.asinh(Math.tan(Le(t))) / (2 * Math.PI) + 0.5,
371
- n / $
371
+ -Math.asinh(Math.tan(Ie(t))) / (2 * Math.PI) + 0.5,
372
+ n / H
372
373
  ), se = ([e = 0, t = 0, n = 0], i = z()) => we(
373
374
  i,
374
375
  (e - 0.5) * 360,
375
- ln(Math.atan(Math.sinh(-(t - 0.5) * (2 * Math.PI)))),
376
- n * $
377
- ), un = ([e = 0, t = 0, n = 0], i = z()) => {
376
+ dn(Math.atan(Math.sinh(-(t - 0.5) * (2 * Math.PI)))),
377
+ n * H
378
+ ), pn = ([e = 0, t = 0, n = 0], i = z()) => {
378
379
  const r = 2 ** -n;
379
380
  return we(i, e * r, t * r, 0);
380
- }, Se = ([e = 0, t = 0, n = 0]) => {
381
- const i = Math.cos(t * 0.5), r = Math.sin(t * 0.5), s = Math.cos(e * 0.5), o = Math.sin(e * 0.5), c = Math.cos(n * 0.5), a = Math.sin(n * 0.5), f = c * s * i + a * o * r, u = a * s * i - c * o * r, l = c * o * i + a * s * r, h = c * s * r - a * o * i;
382
- return [u, l, h, f];
383
- }, dn = ([e = 0, t = 0, n = 0, i = 0]) => {
381
+ }, be = ([e = 0, t = 0, n = 0]) => {
382
+ const i = Math.cos(t * 0.5), r = Math.sin(t * 0.5), s = Math.cos(e * 0.5), o = Math.sin(e * 0.5), c = Math.cos(n * 0.5), a = Math.sin(n * 0.5), f = c * s * i + a * o * r, l = a * s * i - c * o * r, u = c * o * i + a * s * r, h = c * s * r - a * o * i;
383
+ return [l, u, h, f];
384
+ }, vn = ([e = 0, t = 0, n = 0, i = 0]) => {
384
385
  const r = Math.atan2(2 * (i * e + t * n), 1 - 2 * (e * e + t * t)), s = Math.asin(Math.min(1, 2 * (i * t - n * e))), o = Math.atan2(2 * (i * n + e * t), 1 - 2 * (t * t + n * n));
385
386
  return [s, o, r];
386
- }, lt = {
387
+ }, ut = {
387
388
  target: [0, 0, 0],
388
389
  offset: [0, 0],
389
- distance: $,
390
+ distance: H,
390
391
  orientation: [0, 0, 0],
391
392
  fieldOfView: 45
392
- }, mn = xe(), pn = ee(), J = (e, t) => {
393
+ }, xn = xe(), En = ee(), J = (e, t) => {
393
394
  const { target: n, offset: i, distance: r, orientation: s, fieldOfView: o } = {
394
- ...lt,
395
+ ...ut,
395
396
  ...e
396
- }, [c = 0, a = 0] = t, [f = 0, u = 0] = i, [l = 0, h = 0, d = 0] = s, m = Math.tan(Le(45) / 2) / Math.tan(Le(o) / 2), E = r / $ * m, w = E / 100, p = E * 1e6, y = xe();
397
- nt(y), Dt(y, Le(o), c / a, w, p), Ut(y, y, [1, -1, 1]);
398
- const v = xe();
399
- nt(v), Pt(v, v, l), zt(v, v, h), Lt(v, v, d);
400
- const x = Mt(mn, y, v), g = bt(xe(), x), _ = (O) => {
401
- const B = [c * O, a * O], V = [f * O, u * O];
402
- return J({ ...e, offset: V }, B);
403
- }, T = ([O = 0, B = 0], V = ee()) => {
404
- const F = 2 * O / c - 1, pe = -(2 * B / a - 1);
405
- return rt(V, F, pe, 0, 1);
406
- }, R = ([O = 0, B = 0, , V = 0], F = de()) => nn(F, (1 + O / V) * c * 0.5, (1 - B / V) * a * 0.5), A = (O, B = z()) => {
407
- const [V = 0, F = 0, pe = 0, ve = 0] = st(pn, O, g);
408
- return we(B, V / ve, F / ve, pe / ve);
409
- }, S = ([O = 0, B = 0, V = 0], F = ee()) => st(F, rt(F, O, B, V, 1), x), [M = 0, P = 0] = T([f + c / 2, u + a / 2]), [U = 0, b = 0, N = 0] = A([M, P, -1, 1]), [D = 0, C = 0, X = 0] = A([M, P, 1.00001, 1]), [j = 0] = hn(
410
- (D - U) * (D - U) + (C - b) * (C - b) + (X - N) * (X - N),
411
- U * (D - U) + b * (C - b) + N * (X - N),
412
- U * U + b * b + N * N - r * r / $ / $ * m * m
397
+ }, [c = 0, a = 0] = t, [f = 0, l = 0] = i, [u = 0, h = 0, d = 0] = s, m = Math.tan(Ie(45) / 2) / Math.tan(Ie(o) / 2), E = r / H * m, y = E / 100, v = E * 1e6, g = xe();
398
+ rt(g), Xt(g, Ie(o), c / a, y, v), Lt(g, g, [1, -1, 1]);
399
+ const p = xe();
400
+ rt(p), Nt(p, p, u), It(p, p, h), Dt(p, p, d);
401
+ const x = zt(xn, g, p), w = Pt(xe(), x), A = (O) => {
402
+ const C = [c * O, a * O], $ = [f * O, l * O];
403
+ return J({ ...e, offset: $ }, C);
404
+ }, _ = ([O = 0, C = 0], $ = ee()) => {
405
+ const K = 2 * O / c - 1, pe = -(2 * C / a - 1);
406
+ return ot($, K, pe, 0, 1);
407
+ }, T = ([O = 0, C = 0, , $ = 0], K = me()) => on(K, (1 + O / $) * c * 0.5, (1 - C / $) * a * 0.5), R = (O, C = z()) => {
408
+ const [$ = 0, K = 0, pe = 0, ve = 0] = at(En, O, w);
409
+ return we(C, $ / ve, K / ve, pe / ve);
410
+ }, S = ([O = 0, C = 0, $ = 0], K = ee()) => at(K, ot(K, O, C, $, 1), x), [b = 0, P = 0] = _([f + c / 2, l + a / 2]), [U = 0, M = 0, N = 0] = R([b, P, -1, 1]), [D = 0, X = 0, B = 0] = R([b, P, 1.00001, 1]), [W = 0] = mn(
411
+ (D - U) * (D - U) + (X - M) * (X - M) + (B - N) * (B - N),
412
+ U * (D - U) + M * (X - M) + N * (B - N),
413
+ U * U + M * M + N * N - r * r / H / H * m * m
413
414
  );
414
- if (isNaN(j))
415
+ if (isNaN(W))
415
416
  throw new Error("Unexpected");
416
- const Q = [
417
- U + j * (D - U),
418
- b + j * (C - b),
419
- N + j * (X - N)
420
- ], H = re(z(), L(n), Q), G = (O, B = z()) => ne(B, O, H), Qe = (O, B = z()) => re(B, O, H);
417
+ const F = [
418
+ U + W * (D - U),
419
+ M + W * (X - M),
420
+ N + W * (B - N)
421
+ ], V = re(z(), L(n), F), Y = (O, C = z()) => ne(C, O, V), Me = (O, C = z()) => re(C, O, V);
421
422
  return {
422
- camera: H,
423
+ camera: V,
423
424
  screen: t,
424
- projection: y,
425
- modelView: v,
425
+ projection: g,
426
+ modelView: p,
426
427
  fieldScale: m,
427
- scale: _,
428
- screenToClip: T,
429
- clipToScreen: R,
430
- clipToLocal: A,
428
+ scale: A,
429
+ screenToClip: _,
430
+ clipToScreen: T,
431
+ clipToLocal: R,
431
432
  localToClip: S,
432
- localToWorld: G,
433
- worldToLocal: Qe,
434
- project: (O) => R(S(Qe(L(O)))),
435
- unproject: (O, { targetZ: B = 0 } = {}) => {
436
- const V = T(O), [F = 0, pe = 0, , ve = 0] = V, _t = [F, pe, -1, ve], qe = se(G(A(V))), Je = se(G(A(_t))), [, , Be = 0] = qe, [, , et = 0] = Je, yt = Be === et ? 0 : (B - Be) / (et - Be);
437
- return Bt(z(), qe, Je, yt);
433
+ localToWorld: Y,
434
+ worldToLocal: Me,
435
+ project: (O) => T(S(Me(L(O)))),
436
+ unproject: (O, { targetZ: C = 0 } = {}) => {
437
+ const $ = _(O), [K = 0, pe = 0, , ve = 0] = $, Tt = [K, pe, -1, ve], et = se(Y(R($))), tt = se(Y(R(Tt))), [, , Ze = 0] = et, [, , nt = 0] = tt, gt = Ze === nt ? 0 : (C - Ze) / (nt - Ze);
438
+ return Yt(z(), et, tt, gt);
438
439
  }
439
440
  };
440
- }, vn = 100, yi = (e, t, n) => {
441
+ }, _n = 100, wi = (e, t, n) => {
441
442
  const {
442
443
  enabled: i = () => !0,
443
444
  draggable: r = () => !0,
@@ -445,59 +446,59 @@ const $ = 40075017, Le = (e) => e / 180 * Math.PI, ln = (e) => e * 180 / Math.PI
445
446
  onChangeView: o
446
447
  } = n;
447
448
  let c = !1, a = !1;
448
- const { view: f } = n, u = ([p = 0, y = 0]) => {
449
- const [v, x] = [
449
+ const { view: f } = n, l = ([v = 0, g = 0]) => {
450
+ const [p, x] = [
450
451
  e.width / devicePixelRatio,
451
452
  e.height / devicePixelRatio
452
- ], { camera: g, fieldScale: _ } = J(f(), [v, x]), { position: T, layer: R } = t.pick([p, y]);
453
- if (!R)
453
+ ], { camera: w, fieldScale: A } = J(f(), [p, x]), { position: _, layer: T } = t.pick([v, g]);
454
+ if (!T)
454
455
  return;
455
- const A = We(L(T), g) * $ / _, S = [p - v / 2, y - x / 2];
456
+ const R = Te(L(_), w) * H / A, S = [v - p / 2, g - x / 2];
456
457
  o({
457
458
  offset: S,
458
- target: T,
459
- distance: A
459
+ target: _,
460
+ distance: R
460
461
  });
461
- }, l = () => {
462
+ }, u = () => {
462
463
  a = !1;
463
- }, h = ({ buttons: p, movementX: y, movementY: v, x, y: g }) => {
464
- if (!i() || !p)
464
+ }, h = ({ buttons: v, movementX: g, movementY: p, x, y: w }) => {
465
+ if (!i() || !v)
465
466
  return;
466
- r() && !a && (u([x, g]), a = !0);
467
- const [_, T] = [
467
+ r() && !a && (l([x, w]), a = !0);
468
+ const [A, _] = [
468
469
  e.width / devicePixelRatio,
469
470
  e.height / devicePixelRatio
470
471
  ];
471
- if (p === 1 && r())
472
+ if (v === 1 && r())
472
473
  o({
473
- offset: [x - _ / 2, g - T / 2]
474
+ offset: [x - A / 2, w - _ / 2]
474
475
  });
475
- else if (p === 2 && s()) {
476
- const { orientation: [R = 0, A = 0, S = 0] = [] } = f(), M = [
476
+ else if (v === 2 && s()) {
477
+ const { orientation: [T = 0, R = 0, S = 0] = [] } = f(), b = [
477
478
  Math.min(
478
479
  Math.PI / 2 - 0.1,
479
- Math.max(0.1, R - v / T * Math.PI)
480
+ Math.max(0.1, T - p / _ * Math.PI)
480
481
  ),
481
- A,
482
- S - y / _ * Math.PI
482
+ R,
483
+ S - g / A * Math.PI
483
484
  ];
484
485
  o({
485
- orientation: M
486
+ orientation: b
486
487
  });
487
488
  }
488
- }, d = wt(() => c = !1, 100), m = ({ x: p, y, deltaY: v }) => {
489
+ }, d = Rt(() => c = !1, 100), m = ({ x: v, y: g, deltaY: p }) => {
489
490
  if (!i())
490
491
  return;
491
- c || (r() && u([p, y]), c = !0);
492
- let { distance: x } = { ...lt, ...f() };
492
+ c || (r() && l([v, g]), c = !0);
493
+ let { distance: x } = { ...ut, ...f() };
493
494
  x = Math.min(
494
- Math.max(x * Math.exp(v * 1e-3), vn),
495
- $
495
+ Math.max(x * Math.exp(p * 1e-3), _n),
496
+ H
496
497
  ), o({ distance: x }), d();
497
- }, E = (p) => p.preventDefault();
498
- return e.addEventListener("mousedown", l), e.addEventListener("mousemove", h), e.addEventListener("wheel", m, { passive: !0 }), e.addEventListener("contextmenu", E), {
498
+ }, E = (v) => v.preventDefault();
499
+ return e.addEventListener("mousedown", u), e.addEventListener("mousemove", h), e.addEventListener("wheel", m, { passive: !0 }), e.addEventListener("contextmenu", E), {
499
500
  dispose: () => {
500
- e.removeEventListener("mousedown", l), e.removeEventListener("mousemove", h), e.removeEventListener("wheel", m), e.removeEventListener("contextmenu", E);
501
+ e.removeEventListener("mousedown", u), e.removeEventListener("mousemove", h), e.removeEventListener("wheel", m), e.removeEventListener("contextmenu", E);
501
502
  }
502
503
  };
503
504
  }, k = ({
@@ -520,25 +521,25 @@ const $ = 40075017, Le = (e) => e / 180 * Math.PI, ln = (e) => e * 180 / Math.PI
520
521
  use: s,
521
522
  dispose: () => e.deleteBuffer(i)
522
523
  };
523
- }, Ve = 2 ** 30, K = ([e = 0, t = 0, n = 0]) => [Math.floor(e * Ve), Math.floor(t * Ve), Math.floor(n * Ve)], Te = (e, t, n) => {
524
+ }, Ye = 2 ** 30, Q = ([e = 0, t = 0, n = 0]) => [Math.floor(e * Ye), Math.floor(t * Ye), Math.floor(n * Ye)], ge = (e, t, n) => {
524
525
  const { pickable: i, depth: r, polygonOffset: s } = {
525
526
  pickable: () => !0,
526
527
  depth: () => !0,
527
528
  polygonOffset: () => 0,
528
529
  ...n
529
530
  };
530
- if (r() ? e.enable(e.DEPTH_TEST) : e.disable(e.DEPTH_TEST), s() ? (e.enable(e.POLYGON_OFFSET_FILL), e.polygonOffset(0, s() ?? 0)) : e.disable(e.POLYGON_OFFSET_FILL), t) {
531
+ if (r() ? e.enable(e.DEPTH_TEST) : e.disable(e.DEPTH_TEST), t) {
531
532
  if (e.disable(e.BLEND), !i())
532
533
  return !0;
533
534
  } else
534
- e.enable(e.BLEND), e.blendFuncSeparate(
535
+ s() ? (e.enable(e.POLYGON_OFFSET_FILL), e.polygonOffset(0, s() ?? 0)) : e.disable(e.POLYGON_OFFSET_FILL), e.enable(e.BLEND), e.blendFuncSeparate(
535
536
  e.SRC_ALPHA,
536
537
  e.ONE_MINUS_SRC_ALPHA,
537
538
  e.ONE,
538
539
  e.ONE_MINUS_SRC_ALPHA
539
540
  );
540
541
  };
541
- var ge = `#version 300 es
542
+ var Re = `#version 300 es
542
543
 
543
544
  precision highp float;
544
545
 
@@ -560,11 +561,11 @@ vec2 pack_index(in int index) {
560
561
  void main(void) {
561
562
  result = vec4(pack_depth(gl_FragCoord.z), pack_index(index));
562
563
  }`;
563
- const ht = "KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2FkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGFzeW5jIG49Pntjb25zdFtpLHRdPW4uZGF0YTtpZihpIT09ImxvYWQiKXJldHVybjtjb25zdCBvPW5ldyBBYm9ydENvbnRyb2xsZXIse3NpZ25hbDpjfT1vLHI9ZT0+e2NvbnN0W2Esc109ZS5kYXRhO2E9PT0iY2FuY2VsIiYmcz09PXQmJm8uYWJvcnQoKX07YWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscik7dHJ5e2NvbnN0IGU9YXdhaXQgZmV0Y2godCx7bW9kZToiY29ycyIsc2lnbmFsOmN9KTtpZighZS5vayl7cG9zdE1lc3NhZ2Uoe3VybDp0LGltYWdlOnZvaWQgMH0pO3JldHVybn1jb25zdCBhPWF3YWl0IGUuYmxvYigpLHM9YXdhaXQgY3JlYXRlSW1hZ2VCaXRtYXAoYSk7cG9zdE1lc3NhZ2Uoe3VybDp0LGltYWdlOnN9KX1jYXRjaChlKXtpZighKGUgaW5zdGFuY2VvZiBFcnJvciYmZS5tZXNzYWdlPT09IlRoZSB1c2VyIGFib3J0ZWQgYSByZXF1ZXN0LiIpKXRocm93IGV9ZmluYWxseXtyZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIixyKX19KX0pKCk7Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPWltYWdlLWxvYWQtd29ya2VyLW5GZmp0SzhkLmpzLm1hcAo=", ot = typeof window < "u" && window.Blob && new Blob([atob(ht)], { type: "text/javascript;charset=utf-8" });
564
- function xn(e) {
564
+ const dt = "KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2FkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGFzeW5jIG49Pntjb25zdFtpLHRdPW4uZGF0YTtpZihpIT09ImxvYWQiKXJldHVybjtjb25zdCBvPW5ldyBBYm9ydENvbnRyb2xsZXIse3NpZ25hbDpjfT1vLHI9ZT0+e2NvbnN0W2Esc109ZS5kYXRhO2E9PT0iY2FuY2VsIiYmcz09PXQmJm8uYWJvcnQoKX07YWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscik7dHJ5e2NvbnN0IGU9YXdhaXQgZmV0Y2godCx7bW9kZToiY29ycyIsc2lnbmFsOmN9KTtpZighZS5vayl7cG9zdE1lc3NhZ2Uoe3VybDp0LGltYWdlOnZvaWQgMH0pO3JldHVybn1jb25zdCBhPWF3YWl0IGUuYmxvYigpLHM9YXdhaXQgY3JlYXRlSW1hZ2VCaXRtYXAoYSk7cG9zdE1lc3NhZ2Uoe3VybDp0LGltYWdlOnN9KX1jYXRjaChlKXtpZighKGUgaW5zdGFuY2VvZiBFcnJvciYmZS5tZXNzYWdlPT09IlRoZSB1c2VyIGFib3J0ZWQgYSByZXF1ZXN0LiIpKXRocm93IGV9ZmluYWxseXtyZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIixyKX19KX0pKCk7Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPWltYWdlLWxvYWQtd29ya2VyLW5GZmp0SzhkLmpzLm1hcAo=", ct = typeof window < "u" && window.Blob && new Blob([atob(dt)], { type: "text/javascript;charset=utf-8" });
565
+ function yn(e) {
565
566
  let t;
566
567
  try {
567
- if (t = ot && (window.URL || window.webkitURL).createObjectURL(ot), !t)
568
+ if (t = ct && (window.URL || window.webkitURL).createObjectURL(ct), !t)
568
569
  throw "";
569
570
  const n = new Worker(t, {
570
571
  name: e?.name
@@ -574,7 +575,7 @@ function xn(e) {
574
575
  }), n;
575
576
  } catch {
576
577
  return new Worker(
577
- "data:text/javascript;base64," + ht,
578
+ "data:text/javascript;base64," + dt,
578
579
  {
579
580
  name: e?.name
580
581
  }
@@ -583,26 +584,26 @@ function xn(e) {
583
584
  t && (window.URL || window.webkitURL).revokeObjectURL(t);
584
585
  }
585
586
  }
586
- const be = xn(), En = ({
587
+ const Ue = yn(), wn = ({
587
588
  url: e,
588
589
  onLoad: t
589
590
  }) => {
590
591
  let n = !1;
591
592
  const i = ({ data: o }) => {
592
- r || e !== o.url || (be.removeEventListener("message", i), n = !0, t(o.image));
593
+ r || e !== o.url || (Ue.removeEventListener("message", i), n = !0, t(o.image));
593
594
  };
594
- be.addEventListener("message", i);
595
+ Ue.addEventListener("message", i);
595
596
  let r = !1;
596
597
  const s = () => {
597
- r = !0, be.postMessage(["cancel", e]);
598
+ r = !0, Ue.postMessage(["cancel", e]);
598
599
  };
599
- return be.postMessage(["load", e]), {
600
+ return Ue.postMessage(["load", e]), {
600
601
  get loaded() {
601
602
  return n;
602
603
  },
603
604
  cancel: s
604
605
  };
605
- }, _n = (e) => {
606
+ }, mt = (e) => {
606
607
  const t = e.createTexture();
607
608
  if (!t)
608
609
  throw new Error("Texture creation failed");
@@ -616,12 +617,12 @@ const be = xn(), En = ({
616
617
  0
617
618
  );
618
619
  }, dispose: () => e.deleteTexture(t) };
619
- }, ut = ({
620
+ }, pt = ({
620
621
  gl: e,
621
622
  url: t,
622
623
  onLoad: n
623
624
  }) => {
624
- const i = _n(e), r = En({
625
+ const i = mt(e), r = wn({
625
626
  url: t,
626
627
  onLoad: (a) => {
627
628
  a && (i.use(), e.texImage2D(
@@ -645,7 +646,7 @@ const be = xn(), En = ({
645
646
  }
646
647
  };
647
648
  };
648
- var yn = `#version 300 es
649
+ var Tn = `#version 300 es
649
650
 
650
651
  precision highp float;
651
652
 
@@ -657,7 +658,7 @@ out vec4 result;
657
658
  void main() {
658
659
  result = texture(image, uv_out) * color_out;
659
660
  if (result.a == 0.f) discard;
660
- }`, wn = `#version 300 es
661
+ }`, gn = `#version 300 es
661
662
 
662
663
  precision highp float;
663
664
 
@@ -692,7 +693,7 @@ void main(void) {
692
693
  uv_out = uv;
693
694
  color_out = color;
694
695
  }`;
695
- const wi = (e, t = {}) => {
696
+ const Ti = (e, t = {}) => {
696
697
  const { gl: n } = e;
697
698
  let i, r = [0, 0];
698
699
  const s = k({ gl: n, type: "f32", target: "array" }), o = k({ gl: n, type: "f32", target: "array" }), c = k({ gl: n, type: "u16", target: "element" });
@@ -716,87 +717,87 @@ const wi = (e, t = {}) => {
716
717
  [0, 3, 2]
717
718
  ].flat()
718
719
  );
719
- const a = me(
720
+ const a = ae(
720
721
  () => t.url?.() ?? "",
721
722
  (m) => {
722
- const E = ut({
723
+ const E = pt({
723
724
  gl: n,
724
725
  url: m,
725
- onLoad: ({ width: w, height: p }) => {
726
- r = [w, 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 = E;
726
+ onLoad: ({ width: y, height: v }) => {
727
+ r = [y, v], n.texParameteri(n.TEXTURE_2D, n.TEXTURE_MIN_FILTER, n.LINEAR), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_MAG_FILTER, n.LINEAR), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_S, n.CLAMP_TO_EDGE), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_T, n.CLAMP_TO_EDGE), i?.dispose(), i = E;
727
728
  }
728
729
  });
729
730
  }
730
- ), { renderProgram: f, depthProgram: u } = Tn(e, {
731
+ ), { renderProgram: f, depthProgram: l } = Rn(e, {
731
732
  cornerBuffer: s,
732
733
  uvBuffer: o,
733
734
  indexBuffer: c
734
- }), l = ({
735
- viewport: { projection: m, modelView: E, camera: w, screen: p },
736
- depth: y = !1,
737
- index: v = 0
735
+ }), u = ({
736
+ viewport: { projection: m, modelView: E, camera: y, screen: v },
737
+ depth: g = !1,
738
+ index: p = 0
738
739
  }) => {
739
- const x = t.position?.() ?? [0, 0, 0], g = t.color?.() ?? [1, 1, 1, 1], _ = t.size?.() ?? 100, T = t.minSizePixels?.() ?? 0, R = t.maxSizePixels?.() ?? Number.MAX_VALUE;
740
- if (a(), !i || Te(n, y, t))
740
+ const x = t.position?.() ?? [0, 0, 0], w = t.color?.() ?? [1, 1, 1, 1], A = t.size?.() ?? 100, _ = t.minSizePixels?.() ?? 0, T = t.maxSizePixels?.() ?? Number.MAX_VALUE;
741
+ if (a(), !i || ge(n, g, t))
741
742
  return;
742
- (y ? u : f).execute({
743
+ (g ? l : f).execute({
743
744
  projection: m,
744
745
  modelView: E,
745
- camera: K(w),
746
- screen: p,
746
+ camera: Q(y),
747
+ screen: v,
747
748
  image: i,
748
749
  imageSize: r,
749
- position: K(L(x)),
750
- color: g,
751
- size: _,
752
- minSizePixels: T,
753
- maxSizePixels: R,
754
- index: v
750
+ position: Q(L(x)),
751
+ color: w,
752
+ size: A,
753
+ minSizePixels: _,
754
+ maxSizePixels: T,
755
+ index: p
755
756
  });
756
757
  }, h = () => {
757
758
  s.dispose(), o.dispose(), c.dispose(), i?.dispose();
758
- }, d = Re(t);
759
+ }, d = Ae(t);
759
760
  return {
760
- render: l,
761
+ render: u,
761
762
  dispose: h,
762
763
  ...d
763
764
  };
764
- }, Tn = ({ gl: e, programs: t }, {
765
+ }, Rn = ({ gl: e, programs: t }, {
765
766
  cornerBuffer: n,
766
767
  uvBuffer: i,
767
768
  indexBuffer: r
768
769
  }) => {
769
770
  const s = (a = !1) => {
770
771
  const f = t.get({
771
- vertexSource: wn,
772
- fragmentSource: a ? ge : yn
773
- }), u = f.attribute2f("corner", n, {
772
+ vertexSource: gn,
773
+ fragmentSource: a ? Re : Tn
774
+ }), l = f.attribute2f("corner", n, {
774
775
  stride: 2 * Float32Array.BYTES_PER_ELEMENT
775
- }), l = f.attribute2f("uv", i, {
776
+ }), u = f.attribute2f("uv", i, {
776
777
  stride: 2 * Float32Array.BYTES_PER_ELEMENT
777
- }), h = f.uniformMatrix4f("projection"), d = f.uniformMatrix4f("model_view"), m = f.uniform3i("camera"), E = f.uniform2f("screen"), w = f.uniform1i("image"), p = f.uniform2f("image_size"), y = f.uniform3i("position"), v = f.uniform4f("color"), x = f.uniform1i("index"), g = f.uniform1f("size"), _ = f.uniform1f("min_size_pixels"), T = f.uniform1f("max_size_pixels");
778
+ }), h = f.uniformMatrix4f("projection"), d = f.uniformMatrix4f("model_view"), m = f.uniform3i("camera"), E = f.uniform2f("screen"), y = f.uniform1i("image"), v = f.uniform2f("image_size"), g = f.uniform3i("position"), p = f.uniform4f("color"), x = f.uniform1i("index"), w = f.uniform1f("size"), A = f.uniform1f("min_size_pixels"), _ = f.uniform1f("max_size_pixels");
778
779
  return { execute: ({
779
- projection: A,
780
+ projection: R,
780
781
  modelView: S,
781
- camera: M,
782
+ camera: b,
782
783
  screen: P,
783
784
  image: U,
784
- imageSize: b,
785
+ imageSize: M,
785
786
  position: N,
786
787
  color: D,
787
- size: C,
788
- minSizePixels: X,
789
- maxSizePixels: j,
790
- index: Q
788
+ size: X,
789
+ minSizePixels: B,
790
+ maxSizePixels: W,
791
+ index: F
791
792
  }) => {
792
- f.use(), u.use(), l.use(), h.set(A), d.set(S), m.set(M), E.set(P), p.set(b), y.set(N), v.set(D), g.set(C), _.set(X), T.set(j), x.set(Q), e.activeTexture(e.TEXTURE0), w.set(0), U.use(), r.use(), e.drawElements(e.TRIANGLES, 6, e.UNSIGNED_SHORT, 0);
793
+ f.use(), l.use(), u.use(), h.set(R), d.set(S), m.set(b), E.set(P), v.set(M), g.set(N), p.set(D), w.set(X), A.set(B), _.set(W), x.set(F), e.activeTexture(e.TEXTURE0), y.set(0), U.use(), r.use(), e.drawElements(e.TRIANGLES, 6, e.UNSIGNED_SHORT, 0);
793
794
  } };
794
795
  }, o = s(), c = s(!0);
795
796
  return { renderProgram: o, depthProgram: c };
796
- }, Ti = (e) => ({
797
+ }, gi = (e) => ({
797
798
  children: e,
798
799
  dispose: () => e.forEach((n) => n.dispose())
799
- }), gi = (e) => {
800
+ }), Ri = (e) => {
800
801
  const { keys: t, create: n } = e, i = /* @__PURE__ */ new Map();
801
802
  return {
802
803
  get children() {
@@ -812,23 +813,30 @@ const wi = (e, t = {}) => {
812
813
  },
813
814
  dispose: () => Object.values(i).forEach((o) => o.dispose())
814
815
  };
815
- }, Ri = (e) => ({
816
+ }, Ai = (e) => ({
816
817
  render: e,
817
818
  dispose: () => {
818
819
  }
819
- }), Ai = () => ({ dispose: () => {
820
+ }), Si = () => ({ dispose: () => {
820
821
  } });
821
- var gn = `#version 300 es
822
+ var An = `#version 300 es
822
823
 
823
824
  precision highp float;
824
825
 
826
+ uniform sampler2D dash;
827
+ uniform float dash_offset;
828
+ uniform float dash_size;
829
+
825
830
  in vec4 color_out;
831
+ in float distance_out;
826
832
  out vec4 result;
827
833
 
828
834
  void main() {
829
835
  if (color_out.a == 0.f) discard;
830
- result = color_out;
831
- }`, Rn = `#version 300 es
836
+ result = color_out * texture(
837
+ dash,
838
+ vec2(fract((distance_out / dash_size) - dash_offset), 0.0));;
839
+ }`, Sn = `#version 300 es
832
840
 
833
841
  precision highp float;
834
842
 
@@ -840,12 +848,15 @@ uniform vec4 color;
840
848
  uniform float width;
841
849
  uniform float min_width_pixels;
842
850
  uniform float max_width_pixels;
851
+ uniform float time;
843
852
 
844
853
  in ivec3 previous;
845
854
  in ivec3 current;
846
855
  in ivec3 next;
847
856
  in vec2 corner;
857
+ in float distance;
848
858
  out vec4 color_out;
859
+ out float distance_out;
849
860
 
850
861
  const int ONE = 1073741824;
851
862
  const float INV_ONE = 1.f / float(ONE);
@@ -890,61 +901,68 @@ void main(void) {
890
901
  gl_Position = projected_current + 0.5 * vec4(scale * offset, 0.f, 0.f);
891
902
 
892
903
  color_out = color;
904
+ distance_out = distance;
893
905
  }`;
894
- const Si = (e, t = {}) => {
906
+ const Mi = (e, t = {}) => {
895
907
  const { gl: n } = e;
896
908
  let i = 0;
897
- const r = k({ gl: n, type: "i32", target: "array" }), s = k({ gl: n, type: "u16", target: "element" }), o = k({ gl: n, type: "f32", target: "array" }), { renderProgram: c, depthProgram: a } = An(e, {
909
+ const r = k({ gl: n, type: "i32", target: "array" }), s = k({ gl: n, type: "u16", target: "element" }), o = k({ gl: n, type: "f32", target: "array" }), c = k({ gl: n, type: "f32", target: "array" }), { renderProgram: a, depthProgram: f } = Mn(e, {
898
910
  positionBuffer: r,
899
911
  indexBuffer: s,
900
- cornerBuffer: o
901
- }), f = ({
902
- viewport: { projection: d, modelView: m, camera: E, screen: w },
903
- depth: p = !1,
904
- index: y = 0
912
+ cornerBuffer: o,
913
+ distanceBuffer: c
914
+ }), l = mt(n);
915
+ l.use(), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_MIN_FILTER, n.LINEAR), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_MAG_FILTER, n.LINEAR), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_S, n.CLAMP_TO_EDGE), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_T, n.REPEAT);
916
+ const u = ({
917
+ viewport: { projection: y, modelView: v, camera: g, screen: p },
918
+ depth: x = !1,
919
+ index: w = 0
905
920
  }) => {
906
- u();
907
- const v = t.color?.() ?? [1, 1, 1, 1], x = t.width?.() ?? 1, g = t.minWidthPixels?.() ?? 0, _ = t.maxWidthPixels?.() ?? Number.MAX_VALUE, T = t.depthWidthPixels?.();
908
- if (Te(n, p, t))
921
+ h(), d();
922
+ const A = t.color?.() ?? [1, 1, 1, 1], _ = t.width?.() ?? 1, T = t.minWidthPixels?.() ?? 0, R = t.maxWidthPixels?.() ?? Number.MAX_VALUE, S = t.depthWidthPixels?.(), b = t.dashSize?.() ?? 1e3, P = t.dashOffset?.() ?? 0;
923
+ if (ge(n, x, t))
909
924
  return;
910
- (p ? a : c).execute({
911
- projection: d,
912
- modelView: m,
913
- camera: K(E),
914
- screen: w,
925
+ (x ? f : a).execute({
926
+ projection: y,
927
+ modelView: v,
928
+ camera: Q(g),
929
+ screen: p,
915
930
  count: i,
916
- color: v,
917
- width: x,
918
- minWidthPixels: p && T !== void 0 ? Math.max(g, T) : g,
919
- maxWidthPixels: p && T !== void 0 ? Math.max(_, T) : _,
920
- index: y
931
+ color: A,
932
+ width: _,
933
+ minWidthPixels: x && S !== void 0 ? Math.max(T, S) : T,
934
+ maxWidthPixels: x && S !== void 0 ? Math.max(R, S) : R,
935
+ index: w,
936
+ dash: l,
937
+ dashSize: b,
938
+ dashOffset: P
921
939
  });
922
- }, u = me(
940
+ }, h = ae(
923
941
  () => t.points?.() ?? [],
924
- (d) => {
925
- const m = d.flatMap((p) => {
926
- const [y] = p, [v] = p.slice(-1);
927
- return !y || !v ? [] : [y, ...p, v].map((x) => K(L(x))).flatMap((x) => [...x, ...x, ...x, ...x]);
928
- }), { indexData: E } = d.reduce(
929
- ({ indexData: p, count: y }, v) => {
930
- if (v.length === 0)
931
- return { indexData: p, count: y };
932
- const x = ie(0, (v.length - 1) * 2).flatMap((g) => {
933
- const [_ = 0, T = 0, R = 0, A = 0] = ie(0, 4).map(
934
- (S) => S + g * 2 + y
942
+ (y) => {
943
+ const v = y.flatMap((w) => {
944
+ const [A] = w, [_] = w.slice(-1);
945
+ return !A || !_ ? [] : [A, ...w, _].map((T) => Q(L(T))).flatMap((T) => [...T, ...T, ...T, ...T]);
946
+ }), { indexData: g } = y.reduce(
947
+ ({ indexData: w, count: A }, _) => {
948
+ if (_.length === 0)
949
+ return { indexData: w, count: A };
950
+ const T = ie(0, (_.length - 1) * 2).flatMap((R) => {
951
+ const [S = 0, b = 0, P = 0, U = 0] = ie(0, 4).map(
952
+ (M) => M + R * 2 + A
935
953
  );
936
954
  return [
937
- [_, T, A],
938
- [_, A, R]
955
+ [S, b, U],
956
+ [S, U, P]
939
957
  ].flat();
940
958
  });
941
- return y += (v.length + 2) * 4, p = p.concat(x), { indexData: p, count: y };
959
+ return A += (_.length + 2) * 4, w = w.concat(T), { indexData: w, count: A };
942
960
  },
943
961
  { indexData: [], count: 0 }
944
962
  );
945
- i = E.length;
946
- const w = d.flatMap(
947
- (p) => p.length === 0 ? [] : ie(0, (p.length + 1) * 2).flatMap(
963
+ i = g.length;
964
+ const p = y.flatMap(
965
+ (w) => w.length === 0 ? [] : ie(0, (w.length + 1) * 2).flatMap(
948
966
  () => [
949
967
  [-1, -1],
950
968
  [-1, 1],
@@ -952,55 +970,85 @@ const Si = (e, t = {}) => {
952
970
  [1, 1]
953
971
  ].flat()
954
972
  )
973
+ ), x = y.flatMap((w) => {
974
+ const _ = w.map(
975
+ (S, b) => Te(L(S), L(w[b - 1] ?? S)) * H
976
+ ).reduce(
977
+ ({ current: S, result: b }, P) => (S += P, b.push(S), { current: S, result: b }),
978
+ { current: 0, result: [] }
979
+ ).result, [T] = _, [R] = _.slice(-1);
980
+ return T === void 0 || R === void 0 ? [] : [T, ..._, R].flatMap((S) => [S, S, S, S]);
981
+ });
982
+ r.set(v), s.set(g), o.set(p), c.set(x);
983
+ }
984
+ ), d = ae(
985
+ () => t.dashPattern?.(),
986
+ (y) => {
987
+ y = y ?? [[1, 1, 1, 1]], l.use(), n.texImage2D(
988
+ n.TEXTURE_2D,
989
+ 0,
990
+ n.RGBA,
991
+ y.length,
992
+ 1,
993
+ 0,
994
+ n.RGBA,
995
+ n.UNSIGNED_BYTE,
996
+ new Uint8Array(y.flatMap((v) => [...v.map((g) => g * 255)]))
955
997
  );
956
- r.set(m), s.set(E), o.set(w);
957
998
  }
958
- ), l = () => {
959
- r.dispose(), s.dispose(), o.dispose();
960
- }, h = Re(t);
999
+ ), m = () => {
1000
+ r.dispose(), s.dispose(), o.dispose(), c.dispose();
1001
+ }, E = Ae(t);
961
1002
  return {
962
- render: f,
963
- dispose: l,
964
- ...h
1003
+ render: u,
1004
+ dispose: m,
1005
+ ...E
965
1006
  };
966
- }, An = ({ gl: e, programs: t }, {
1007
+ }, Mn = ({ gl: e, programs: t }, {
967
1008
  positionBuffer: n,
968
1009
  indexBuffer: i,
969
- cornerBuffer: r
1010
+ cornerBuffer: r,
1011
+ distanceBuffer: s
970
1012
  }) => {
971
- const s = (a = !1) => {
972
- const f = t.get({
973
- vertexSource: Rn,
974
- fragmentSource: a ? ge : gn
975
- }), u = Float32Array.BYTES_PER_ELEMENT, l = Int32Array.BYTES_PER_ELEMENT, h = f.attribute3i("previous", n, {
976
- stride: l * 3
977
- }), d = f.attribute3i("current", n, {
978
- stride: l * 3,
979
- offset: l * 3 * 4
980
- }), m = f.attribute3i("next", n, {
981
- stride: l * 3,
982
- offset: l * 3 * 4 * 2
983
- }), E = f.attribute2f("corner", r, {
1013
+ const o = (f = !1) => {
1014
+ const l = t.get({
1015
+ vertexSource: Sn,
1016
+ fragmentSource: f ? Re : An
1017
+ }), u = Float32Array.BYTES_PER_ELEMENT, h = Int32Array.BYTES_PER_ELEMENT, d = l.attribute3i("previous", n, {
1018
+ stride: h * 3
1019
+ }), m = l.attribute3i("current", n, {
1020
+ stride: h * 3,
1021
+ offset: h * 3 * 4
1022
+ }), E = l.attribute3i("next", n, {
1023
+ stride: h * 3,
1024
+ offset: h * 3 * 4 * 2
1025
+ }), y = l.attribute2f("corner", r, {
984
1026
  stride: u * 2
985
- }), w = f.uniformMatrix4f("projection"), p = f.uniformMatrix4f("model_view"), y = f.uniform3i("camera"), v = f.uniform2f("screen"), x = f.uniform4f("color"), g = f.uniform1f("width"), _ = f.uniform1f("max_width_pixels"), T = f.uniform1f("min_width_pixels"), R = f.uniform1i("index");
1027
+ }), v = l.attribute1f("distance", s, {
1028
+ stride: u,
1029
+ offset: u * 1 * 4
1030
+ }), g = l.uniformMatrix4f("projection"), p = l.uniformMatrix4f("model_view"), x = l.uniform3i("camera"), w = l.uniform2f("screen"), A = l.uniform4f("color"), _ = l.uniform1f("width"), T = l.uniform1f("max_width_pixels"), R = l.uniform1f("min_width_pixels"), S = l.uniform1i("index"), b = l.uniform1i("dash"), P = l.uniform1f("dash_size"), U = l.uniform1f("dash_offset");
986
1031
  return { execute: ({
987
- projection: S,
988
- modelView: M,
989
- camera: P,
990
- screen: U,
991
- count: b,
992
- color: N,
993
- width: D,
994
- minWidthPixels: C,
995
- maxWidthPixels: X,
996
- index: j
1032
+ projection: N,
1033
+ modelView: D,
1034
+ camera: X,
1035
+ screen: B,
1036
+ count: W,
1037
+ color: F,
1038
+ width: V,
1039
+ minWidthPixels: Y,
1040
+ maxWidthPixels: Me,
1041
+ index: qe,
1042
+ dash: Je,
1043
+ dashSize: O,
1044
+ dashOffset: C
997
1045
  }) => {
998
- b !== 0 && (f.use(), h.use(), d.use(), m.use(), E.use(), w.set(S), p.set(M), y.set(P), v.set(U), x.set(N), g.set(D), T.set(C), _.set(X), R.set(j), i.use(), e.drawElements(e.TRIANGLES, b, e.UNSIGNED_SHORT, 0));
1046
+ W !== 0 && (l.use(), d.use(), m.use(), E.use(), y.use(), v.use(), g.set(N), p.set(D), x.set(X), w.set(B), A.set(F), _.set(V), R.set(Y), T.set(Me), S.set(qe), P.set(O), U.set(C), e.activeTexture(e.TEXTURE0), b.set(0), Je.use(), i.use(), e.drawElements(e.TRIANGLES, W, e.UNSIGNED_SHORT, 0));
999
1047
  } };
1000
- }, o = s(), c = s(!0);
1001
- return { renderProgram: o, depthProgram: c };
1048
+ }, c = o(), a = o(!0);
1049
+ return { renderProgram: c, depthProgram: a };
1002
1050
  };
1003
- var Sn = `#version 300 es
1051
+ var bn = `#version 300 es
1004
1052
 
1005
1053
  precision highp float;
1006
1054
 
@@ -1010,7 +1058,7 @@ out vec4 result;
1010
1058
  void main() {
1011
1059
  if (color_out.a == 0.f) discard;
1012
1060
  result = color_out;
1013
- }`, bn = `#version 300 es
1061
+ }`, Un = `#version 300 es
1014
1062
 
1015
1063
  precision highp float;
1016
1064
 
@@ -1049,89 +1097,89 @@ void main(void) {
1049
1097
  const bi = (e, t = {}) => {
1050
1098
  const { gl: n } = e;
1051
1099
  let i = 0;
1052
- const r = k({ gl: n, type: "f32", target: "array" }), s = k({ gl: n, type: "u16", target: "element" }), { renderProgram: o, depthProgram: c } = Mn(e, {
1100
+ const r = k({ gl: n, type: "f32", target: "array" }), s = k({ gl: n, type: "u16", target: "element" }), { renderProgram: o, depthProgram: c } = Pn(e, {
1053
1101
  vertexBuffer: r,
1054
1102
  indexBuffer: s
1055
1103
  }), a = ({
1056
- viewport: { projection: d, modelView: m, camera: E, screen: w },
1057
- depth: p = !1,
1058
- index: y = 0
1104
+ viewport: { projection: d, modelView: m, camera: E, screen: y },
1105
+ depth: v = !1,
1106
+ index: g = 0
1059
1107
  }) => {
1060
- const v = t.position?.() ?? [0, 0, 0], x = t.orientation?.() ?? [0, 0, 0, 1], g = t.color?.() ?? [1, 1, 1, 1], _ = t.size?.() ?? 1, T = t.minSizePixels?.() ?? 0, R = t.maxSizePixels?.() ?? Number.MAX_VALUE;
1061
- if (f(), u(), Te(n, p, t))
1108
+ const p = t.position?.() ?? [0, 0, 0], x = t.orientation?.() ?? [0, 0, 0, 1], w = t.color?.() ?? [1, 1, 1, 1], A = t.size?.() ?? 1, _ = t.minSizePixels?.() ?? 0, T = t.maxSizePixels?.() ?? Number.MAX_VALUE;
1109
+ if (f(), l(), ge(n, v, t))
1062
1110
  return;
1063
- (p ? c : o).execute({
1111
+ (v ? c : o).execute({
1064
1112
  projection: d,
1065
1113
  modelView: m,
1066
- camera: K(E),
1067
- screen: w,
1114
+ camera: Q(E),
1115
+ screen: y,
1068
1116
  count: i,
1069
- position: K(L(v)),
1070
- orientation: Nt(xe(), x),
1071
- color: g,
1072
- size: _,
1073
- minSizePixels: T,
1074
- maxSizePixels: R,
1075
- index: y
1117
+ position: Q(L(p)),
1118
+ orientation: Ot(xe(), x),
1119
+ color: w,
1120
+ size: A,
1121
+ minSizePixels: _,
1122
+ maxSizePixels: T,
1123
+ index: g
1076
1124
  });
1077
- }, f = me(
1125
+ }, f = ae(
1078
1126
  () => t.vertices?.() ?? [],
1079
1127
  (d) => r.set(d.flatMap((m) => [...m]))
1080
- ), u = me(
1128
+ ), l = ae(
1081
1129
  () => t.indices?.() ?? [],
1082
1130
  (d) => {
1083
1131
  s.set(d.flatMap((m) => [...m])), i = d.length * 3;
1084
1132
  }
1085
- ), l = () => {
1133
+ ), u = () => {
1086
1134
  r.dispose(), s.dispose();
1087
- }, h = Re(t);
1135
+ }, h = Ae(t);
1088
1136
  return {
1089
1137
  render: a,
1090
- dispose: l,
1138
+ dispose: u,
1091
1139
  ...h
1092
1140
  };
1093
- }, Mn = ({ gl: e, programs: t }, {
1141
+ }, Pn = ({ gl: e, programs: t }, {
1094
1142
  vertexBuffer: n,
1095
1143
  indexBuffer: i
1096
1144
  }) => {
1097
1145
  const r = (c = !1) => {
1098
1146
  const a = t.get({
1099
- vertexSource: bn,
1100
- fragmentSource: c ? ge : Sn
1101
- }), f = a.attribute3f("vertex", n), u = a.uniformMatrix4f("projection"), l = a.uniformMatrix4f("model_view"), h = a.uniform3i("camera"), d = a.uniform3i("position"), m = a.uniformMatrix4f("orientation"), E = a.uniform2f("screen"), w = a.uniform4f("color"), p = a.uniform1f("size"), y = a.uniform1f("min_size_pixels"), v = a.uniform1f("max_size_pixels"), x = a.uniform1i("index");
1147
+ vertexSource: Un,
1148
+ fragmentSource: c ? Re : bn
1149
+ }), f = a.attribute3f("vertex", n), l = a.uniformMatrix4f("projection"), u = a.uniformMatrix4f("model_view"), h = a.uniform3i("camera"), d = a.uniform3i("position"), m = a.uniformMatrix4f("orientation"), E = a.uniform2f("screen"), y = a.uniform4f("color"), v = a.uniform1f("size"), g = a.uniform1f("min_size_pixels"), p = a.uniform1f("max_size_pixels"), x = a.uniform1i("index");
1102
1150
  return { execute: ({
1103
- projection: _,
1104
- modelView: T,
1105
- camera: R,
1106
- screen: A,
1151
+ projection: A,
1152
+ modelView: _,
1153
+ camera: T,
1154
+ screen: R,
1107
1155
  count: S,
1108
- position: M,
1156
+ position: b,
1109
1157
  orientation: P,
1110
1158
  color: U,
1111
- size: b,
1159
+ size: M,
1112
1160
  minSizePixels: N,
1113
1161
  maxSizePixels: D,
1114
- index: C
1162
+ index: X
1115
1163
  }) => {
1116
- a.use(), f.use(), u.set(_), l.set(T), h.set(R), E.set(A), d.set(M), m.set(P), w.set(U), p.set(b), y.set(N), v.set(D), x.set(C), i.use(), e.drawElements(e.TRIANGLES, S, e.UNSIGNED_SHORT, 0);
1164
+ a.use(), f.use(), l.set(A), u.set(_), h.set(T), E.set(R), d.set(b), m.set(P), y.set(U), v.set(M), g.set(N), p.set(D), x.set(X), i.use(), e.drawElements(e.TRIANGLES, S, e.UNSIGNED_SHORT, 0);
1117
1165
  } };
1118
1166
  }, s = r(), o = r(!0);
1119
1167
  return { renderProgram: s, depthProgram: o };
1120
1168
  };
1121
- var dt = function(e, t, n, i, r) {
1169
+ var vt = function(e, t, n, i, r) {
1122
1170
  let s, o = null;
1123
- if (r === Vn(e, t, n, i) > 0)
1171
+ if (r === $n(e, t, n, i) > 0)
1124
1172
  for (s = t; s < n; s += i)
1125
- o = new De(s, e[s], e[s + 1], o);
1173
+ o = new Ce(s, e[s], e[s + 1], o);
1126
1174
  else
1127
1175
  for (s = n - i; s >= t; s -= i)
1128
- o = new De(s, e[s], e[s + 1], o);
1129
- return o !== null && Xe(o, o.next) && (ye(o), o = o.next), o;
1176
+ o = new Ce(s, e[s], e[s + 1], o);
1177
+ return o !== null && je(o, o.next) && (ye(o), o = o.next), o;
1130
1178
  }, oe = function(e, t) {
1131
1179
  t === void 0 && (t = e);
1132
1180
  let n = e, i;
1133
1181
  do
1134
- if (i = !1, !n.steiner && (Xe(n, n.next) || I(n.prev, n, n.next) === 0)) {
1182
+ if (i = !1, !n.steiner && (je(n, n.next) || I(n.prev, n, n.next) === 0)) {
1135
1183
  if (ye(n), n = t = n.prev, n === n.next)
1136
1184
  break;
1137
1185
  i = !0;
@@ -1142,65 +1190,65 @@ var dt = function(e, t, n, i, r) {
1142
1190
  }, Ee = function(e, t, n, i, r, s, o) {
1143
1191
  if (e === null)
1144
1192
  return;
1145
- o === 0 && s !== 0 && Cn(e, i, r, s);
1193
+ o === 0 && s !== 0 && Wn(e, i, r, s);
1146
1194
  let c = e, a, f;
1147
1195
  for (; e.prev !== e.next; ) {
1148
- if (a = e.prev, f = e.next, s !== 0 ? Pn(e, i, r, s) : Un(e)) {
1196
+ if (a = e.prev, f = e.next, s !== 0 ? Ln(e, i, r, s) : zn(e)) {
1149
1197
  t.push(a.i / n), t.push(e.i / n), t.push(f.i / n), ye(e), e = f.next, c = f.next;
1150
1198
  continue;
1151
1199
  }
1152
1200
  if (e = f, e === c) {
1153
- o === 0 ? Ee(oe(e), t, n, i, r, s, 1) : o === 1 ? (e = zn(oe(e), t, n), Ee(e, t, n, i, r, s, 2)) : o === 2 && Ln(e, t, n, i, r, s);
1201
+ o === 0 ? Ee(oe(e), t, n, i, r, s, 1) : o === 1 ? (e = Nn(oe(e), t, n), Ee(e, t, n, i, r, s, 2)) : o === 2 && In(e, t, n, i, r, s);
1154
1202
  break;
1155
1203
  }
1156
1204
  }
1157
- }, Un = function(e) {
1205
+ }, zn = function(e) {
1158
1206
  const t = e.prev, n = e, i = e.next;
1159
1207
  if (I(t, n, i) >= 0)
1160
1208
  return !1;
1161
1209
  let r = e.next.next;
1162
1210
  for (; r !== e.prev; ) {
1163
- if (he(t.x, t.y, n.x, n.y, i.x, i.y, r.x, r.y) && I(r.prev, r, r.next) >= 0)
1211
+ if (ue(t.x, t.y, n.x, n.y, i.x, i.y, r.x, r.y) && I(r.prev, r, r.next) >= 0)
1164
1212
  return !1;
1165
1213
  r = r.next;
1166
1214
  }
1167
1215
  return !0;
1168
- }, Pn = function(e, t, n, i) {
1216
+ }, Ln = function(e, t, n, i) {
1169
1217
  const r = e.prev, s = e, o = e.next;
1170
1218
  if (I(r, s, o) >= 0)
1171
1219
  return !1;
1172
- 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, u = r.y > s.y ? r.y > o.y ? r.y : o.y : s.y > o.y ? s.y : o.y, l = He(c, a, t, n, i), h = He(f, u, t, n, i);
1220
+ 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, u = Ge(c, a, t, n, i), h = Ge(f, l, t, n, i);
1173
1221
  let { prevZ: d, nextZ: m } = e;
1174
- for (; d !== null && m !== null && d.z >= l && m.z <= h; ) {
1175
- if (d !== e.prev && d !== e.next && he(r.x, r.y, s.x, s.y, o.x, o.y, d.x, d.y) && I(d.prev, d, d.next) >= 0 || (d = d.prevZ, m !== e.prev && m !== e.next && he(r.x, r.y, s.x, s.y, o.x, o.y, m.x, m.y) && I(m.prev, m, m.next) >= 0))
1222
+ for (; d !== null && m !== null && d.z >= u && m.z <= h; ) {
1223
+ if (d !== e.prev && d !== e.next && ue(r.x, r.y, s.x, s.y, o.x, o.y, d.x, d.y) && I(d.prev, d, d.next) >= 0 || (d = d.prevZ, m !== e.prev && m !== e.next && ue(r.x, r.y, s.x, s.y, o.x, o.y, m.x, m.y) && I(m.prev, m, m.next) >= 0))
1176
1224
  return !1;
1177
1225
  m = m.nextZ;
1178
1226
  }
1179
- for (; d !== null && d.z >= l; ) {
1180
- if (d !== e.prev && d !== e.next && he(r.x, r.y, s.x, s.y, o.x, o.y, d.x, d.y) && I(d.prev, d, d.next) >= 0)
1227
+ for (; d !== null && d.z >= u; ) {
1228
+ if (d !== e.prev && d !== e.next && ue(r.x, r.y, s.x, s.y, o.x, o.y, d.x, d.y) && I(d.prev, d, d.next) >= 0)
1181
1229
  return !1;
1182
1230
  d = d.prevZ;
1183
1231
  }
1184
1232
  for (; m !== null && m.z <= h; ) {
1185
- if (m !== e.prev && m !== e.next && he(r.x, r.y, s.x, s.y, o.x, o.y, m.x, m.y) && I(m.prev, m, m.next) >= 0)
1233
+ if (m !== e.prev && m !== e.next && ue(r.x, r.y, s.x, s.y, o.x, o.y, m.x, m.y) && I(m.prev, m, m.next) >= 0)
1186
1234
  return !1;
1187
1235
  m = m.nextZ;
1188
1236
  }
1189
1237
  return !0;
1190
- }, zn = function(e, t, n) {
1238
+ }, Nn = function(e, t, n) {
1191
1239
  let i = e;
1192
1240
  do {
1193
1241
  const r = i.prev, s = i.next.next;
1194
- !Xe(r, s) && mt(r, i, i.next, s) && _e(r, s) && _e(s, r) && (t.push(r.i / n), t.push(i.i / n), t.push(s.i / n), ye(i), ye(i.next), i = e = s), i = i.next;
1242
+ !je(r, s) && xt(r, i, i.next, s) && _e(r, s) && _e(s, r) && (t.push(r.i / n), t.push(i.i / n), t.push(s.i / n), ye(i), ye(i.next), i = e = s), i = i.next;
1195
1243
  } while (i !== e);
1196
1244
  return i;
1197
- }, Ln = function(e, t, n, i, r, s) {
1245
+ }, In = function(e, t, n, i, r, s) {
1198
1246
  let o = e;
1199
1247
  do {
1200
1248
  let c = o.next.next;
1201
1249
  for (; c !== o.prev; ) {
1202
- if (o.i !== c.i && jn(o, c)) {
1203
- let a = pt(o, c);
1250
+ if (o.i !== c.i && Zn(o, c)) {
1251
+ let a = Et(o, c);
1204
1252
  o = oe(o, o.next), a = oe(a, a.next), Ee(o, t, n, i, r, s, 0), Ee(a, t, n, i, r, s, 0);
1205
1253
  return;
1206
1254
  }
@@ -1208,25 +1256,25 @@ var dt = function(e, t, n, i, r) {
1208
1256
  }
1209
1257
  o = o.next;
1210
1258
  } while (o !== e);
1211
- }, Nn = function(e, t, n, i) {
1259
+ }, Dn = function(e, t, n, i) {
1212
1260
  const r = [];
1213
1261
  let s, o, c, a, f;
1214
1262
  for (s = 0, o = t.length; s < o; s++)
1215
- c = t[s] * i, a = s < o - 1 ? t[s + 1] * i : e.length, f = dt(e, c, a, i, !1), f === f.next && (f.steiner = !0), r.push(Xn(f));
1216
- for (r.sort(In), s = 0; s < r.length; s++)
1217
- n = Dn(r[s], n), n = oe(n, n.next);
1263
+ c = t[s] * i, a = s < o - 1 ? t[s + 1] * i : e.length, f = vt(e, c, a, i, !1), f === f.next && (f.steiner = !0), r.push(Bn(f));
1264
+ for (r.sort(On), s = 0; s < r.length; s++)
1265
+ n = Cn(r[s], n), n = oe(n, n.next);
1218
1266
  return n;
1219
- }, In = function(e, t) {
1267
+ }, On = function(e, t) {
1220
1268
  return e.x - t.x;
1221
- }, Dn = function(e, t) {
1222
- const n = On(e, t);
1269
+ }, Cn = function(e, t) {
1270
+ const n = Xn(e, t);
1223
1271
  if (n === null)
1224
1272
  return t;
1225
1273
  {
1226
- const i = pt(n, e), r = oe(n, n.next);
1274
+ const i = Et(n, e), r = oe(n, n.next);
1227
1275
  return oe(i, i.next), t === n ? r : t;
1228
1276
  }
1229
- }, On = function(e, t) {
1277
+ }, Xn = function(e, t) {
1230
1278
  let n = t;
1231
1279
  const { x: i, y: r } = e;
1232
1280
  let s = -1 / 0, o;
@@ -1250,19 +1298,19 @@ var dt = function(e, t, n, i, r) {
1250
1298
  if (i === s)
1251
1299
  return o;
1252
1300
  const c = o, a = o.x, f = o.y;
1253
- let u = 1 / 0, l;
1301
+ let l = 1 / 0, u;
1254
1302
  n = o;
1255
1303
  do
1256
- i >= n.x && n.x >= a && i !== n.x && he(r < f ? i : s, r, a, f, r < f ? s : i, r, n.x, n.y) && (l = Math.abs(r - n.y) / (i - n.x), _e(n, e) && (l < u || l === u && (n.x > o.x || n.x === o.x && I(o.prev, o, n.prev) < 0 && I(n.next, o, o.next) < 0)) && (o = n, u = l)), n = n.next;
1304
+ i >= n.x && n.x >= a && i !== n.x && ue(r < f ? i : s, r, a, f, r < f ? s : i, r, n.x, n.y) && (u = Math.abs(r - n.y) / (i - n.x), _e(n, e) && (u < l || u === l && (n.x > o.x || n.x === o.x && I(o.prev, o, n.prev) < 0 && I(n.next, o, o.next) < 0)) && (o = n, l = u)), n = n.next;
1257
1305
  while (n !== c);
1258
1306
  return o;
1259
- }, Cn = function(e, t, n, i) {
1307
+ }, Wn = function(e, t, n, i) {
1260
1308
  let r = e;
1261
1309
  do
1262
- r.z === void 0 && (r.z = He(r.x, r.y, t, n, i)), r.prevZ = r.prev, r.nextZ = r.next, r = r.next;
1310
+ r.z === void 0 && (r.z = Ge(r.x, r.y, t, n, i)), r.prevZ = r.prev, r.nextZ = r.next, r = r.next;
1263
1311
  while (r !== e);
1264
- r.prevZ !== null && (r.prevZ.nextZ = null), r.prevZ = null, Wn(r);
1265
- }, Wn = function(e) {
1312
+ r.prevZ !== null && (r.prevZ.nextZ = null), r.prevZ = null, jn(r);
1313
+ }, jn = function(e) {
1266
1314
  let t, n, i, r, s, o, c, a, f = 1;
1267
1315
  do {
1268
1316
  for (n = e, e = null, s = null, o = 0; n !== null; ) {
@@ -1275,58 +1323,58 @@ var dt = function(e, t, n, i, r) {
1275
1323
  s !== null && (s.nextZ = null), f *= 2;
1276
1324
  } while (o > 1);
1277
1325
  return e;
1278
- }, He = function(e, t, n, i, r) {
1326
+ }, Ge = function(e, t, n, i, r) {
1279
1327
  return e = 32767 * (e - n) * r, t = 32767 * (t - i) * r, e = (e | e << 8) & 16711935, e = (e | e << 4) & 252645135, e = (e | e << 2) & 858993459, e = (e | e << 1) & 1431655765, t = (t | t << 8) & 16711935, t = (t | t << 4) & 252645135, t = (t | t << 2) & 858993459, t = (t | t << 1) & 1431655765, e | t << 1;
1280
- }, Xn = function(e) {
1328
+ }, Bn = function(e) {
1281
1329
  let t = e, n = e;
1282
1330
  do
1283
1331
  (t.x < n.x || t.x === n.x && t.y < n.y) && (n = t), t = t.next;
1284
1332
  while (t !== e);
1285
1333
  return n;
1286
- }, he = function(e, t, n, i, r, s, o, c) {
1334
+ }, ue = function(e, t, n, i, r, s, o, c) {
1287
1335
  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;
1288
- }, jn = function(e, t) {
1289
- return e.next.i !== t.i && e.prev.i !== t.i && !Bn(e, t) && (_e(e, t) && _e(t, e) && Zn(e, t) && (I(e.prev, e, t.prev) !== 0 || I(e, t.prev, t) !== 0) || Xe(e, t) && I(e.prev, e, e.next) > 0 && I(t.prev, t, t.next) > 0);
1336
+ }, Zn = function(e, t) {
1337
+ return e.next.i !== t.i && e.prev.i !== t.i && !Vn(e, t) && (_e(e, t) && _e(t, e) && Yn(e, t) && (I(e.prev, e, t.prev) !== 0 || I(e, t.prev, t) !== 0) || je(e, t) && I(e.prev, e, e.next) > 0 && I(t.prev, t, t.next) > 0);
1290
1338
  }, I = function(e, t, n) {
1291
1339
  return (t.y - e.y) * (n.x - t.x) - (t.x - e.x) * (n.y - t.y);
1292
- }, Xe = function(e, t) {
1340
+ }, je = function(e, t) {
1293
1341
  return e.x === t.x && e.y === t.y;
1294
- }, mt = function(e, t, n, i) {
1295
- const r = Me(I(e, t, n)), s = Me(I(e, t, i)), o = Me(I(n, i, e)), c = Me(I(n, i, t));
1296
- return !!(r !== s && o !== c || r === 0 && Ue(e, n, t) || s === 0 && Ue(e, i, t) || o === 0 && Ue(n, e, i) || c === 0 && Ue(n, t, i));
1297
- }, Me = function(e) {
1342
+ }, xt = function(e, t, n, i) {
1343
+ const r = Pe(I(e, t, n)), s = Pe(I(e, t, i)), o = Pe(I(n, i, e)), c = Pe(I(n, i, t));
1344
+ return !!(r !== s && o !== c || r === 0 && ze(e, n, t) || s === 0 && ze(e, i, t) || o === 0 && ze(n, e, i) || c === 0 && ze(n, t, i));
1345
+ }, Pe = function(e) {
1298
1346
  return e > 0 ? 1 : e < 0 ? -1 : 0;
1299
- }, Ue = function(e, t, n) {
1347
+ }, ze = function(e, t, n) {
1300
1348
  return t.x <= Math.max(e.x, n.x) && t.x >= Math.min(e.x, n.x) && t.y <= Math.max(e.y, n.y) && t.y >= Math.min(e.y, n.y);
1301
- }, Bn = function(e, t) {
1349
+ }, Vn = function(e, t) {
1302
1350
  let n = e;
1303
1351
  do {
1304
- if (n.i !== e.i && n.next?.i !== e.i && n.i !== t.i && n.next?.i !== t.i && mt(n, n.next, e, t))
1352
+ if (n.i !== e.i && n.next?.i !== e.i && n.i !== t.i && n.next?.i !== t.i && xt(n, n.next, e, t))
1305
1353
  return !0;
1306
1354
  n = n.next;
1307
1355
  } while (n !== e);
1308
1356
  return !1;
1309
1357
  }, _e = function(e, t) {
1310
1358
  return I(e.prev, e, e.next) < 0 ? I(e, t, e.next) >= 0 && I(e, e.prev, t) >= 0 : I(e, t, e.prev) < 0 || I(e, e.next, t) < 0;
1311
- }, Zn = function(e, t) {
1359
+ }, Yn = function(e, t) {
1312
1360
  const n = (e.x + t.x) / 2, i = (e.y + t.y) / 2;
1313
1361
  let r = e, s = !1;
1314
1362
  do
1315
1363
  r.y > i != r.next.y > i && r.next.y !== r.y && n < (r.next.x - r.x) * (i - r.y) / (r.next.y - r.y) + r.x && (s = !s), r = r.next;
1316
1364
  while (r !== e);
1317
1365
  return s;
1318
- }, pt = function(e, t) {
1319
- const n = new De(e.i, e.x, e.y), i = new De(t.i, t.x, t.y), r = e.next, s = t.prev;
1366
+ }, Et = function(e, t) {
1367
+ const n = new Ce(e.i, e.x, e.y), i = new Ce(t.i, t.x, t.y), r = e.next, s = t.prev;
1320
1368
  return e.next = t, t.prev = e, n.next = r, r.prev = n, i.next = n, n.prev = i, s.next = i, i.prev = s, i;
1321
1369
  }, ye = function(e) {
1322
1370
  e.next.prev = e.prev, e.prev.next = e.next, e.prevZ !== null && (e.prevZ.nextZ = e.nextZ), e.nextZ !== null && (e.nextZ.prevZ = e.prevZ);
1323
- }, Vn = function(e, t, n, i) {
1371
+ }, $n = function(e, t, n, i) {
1324
1372
  let r = 0;
1325
1373
  for (let s = t, o = n - i; s < n; s += i)
1326
1374
  r += (e[o] - e[s]) * (e[s + 1] + e[o + 1]), o = s;
1327
1375
  return r;
1328
1376
  };
1329
- class De {
1377
+ class Ce {
1330
1378
  i;
1331
1379
  x;
1332
1380
  y;
@@ -1340,101 +1388,101 @@ class De {
1340
1388
  this.i = t, this.x = n, this.y = i, r === null ? (this.prev = this, this.next = this) : (this.next = r.next, this.prev = r, r.next.prev = this, r.next = this);
1341
1389
  }
1342
1390
  }
1343
- function Yn(e, t = [], n = 2) {
1391
+ function kn(e, t = [], n = 2) {
1344
1392
  const i = t.length > 0, r = i ? t[0] * n : e.length;
1345
- let s = dt(e, 0, r, n, !0);
1393
+ let s = vt(e, 0, r, n, !0);
1346
1394
  const o = [];
1347
1395
  if (s === null || s.next === s.prev)
1348
1396
  return o;
1349
- let c = 1 / 0, a = 1 / 0, f = -1 / 0, u = -1 / 0, l = 0, h, d;
1350
- if (i && (s = Nn(e, t, s, n)), e.length > 80 * n) {
1351
- c = f = e[0], a = u = e[1];
1397
+ let c = 1 / 0, a = 1 / 0, f = -1 / 0, l = -1 / 0, u = 0, h, d;
1398
+ if (i && (s = Dn(e, t, s, n)), e.length > 80 * n) {
1399
+ c = f = e[0], a = l = e[1];
1352
1400
  for (let m = n; m < r; m += n)
1353
- h = e[m], d = e[m + 1], h < c && (c = h), d < a && (a = d), h > f && (f = h), d > u && (u = d);
1354
- l = Math.max(f - c, u - a), l = l !== 0 ? 1 / l : 0;
1401
+ h = e[m], d = e[m + 1], h < c && (c = h), d < a && (a = d), h > f && (f = h), d > l && (l = d);
1402
+ u = Math.max(f - c, l - a), u = u !== 0 ? 1 / u : 0;
1355
1403
  }
1356
- return Ee(s, o, n, c, a, l, 0), o;
1404
+ return Ee(s, o, n, c, a, u, 0), o;
1357
1405
  }
1358
- function $n(e, t = 1 / 0, n = 0) {
1359
- const { vertices: i, holeIndices: r, dim: s } = Gn(e), o = Yn(i, r, s);
1360
- return t !== 1 / 0 && kn(i, o, t, s), { vertices: i, indices: o.map((c) => c + n) };
1406
+ function Hn(e, t = 1 / 0, n = 0) {
1407
+ const { vertices: i, holeIndices: r, dim: s } = Kn(e), o = kn(i, r, s);
1408
+ return t !== 1 / 0 && Gn(i, o, t, s), { vertices: i, indices: o.map((c) => c + n) };
1361
1409
  }
1362
- function kn(e, t, n, i) {
1410
+ function Gn(e, t, n, i) {
1363
1411
  let r, s, o;
1364
1412
  for (let c = 0; c < i; c++)
1365
1413
  for (let a = 0; a < t.length; a += 3) {
1366
1414
  r = t[a], s = t[a + 1], o = t[a + 2];
1367
- const f = Hn(r, s, o, e, t, i, c, n);
1415
+ const f = Fn(r, s, o, e, t, i, c, n);
1368
1416
  f !== void 0 && (t[a] = f[0], t[a + 1] = f[1], t[a + 2] = f[2], a -= 3);
1369
1417
  }
1370
1418
  }
1371
- var Hn = function(e, t, n, i, r, s, o, c) {
1372
- const a = i[e * s + o], f = i[t * s + o], u = i[n * s + o];
1373
- if (a < f && a < u) {
1374
- const l = a + c - ce(a, c);
1375
- if (l > a && l <= f && l <= u && (f !== l || f !== l))
1376
- return Ye(l, e, t, n, a, f, u, i, r, s, o, c);
1377
- } else if (a > f && a > u) {
1378
- let l = ce(a, c);
1379
- l === 0 && (l = c);
1380
- const h = a - l;
1381
- if (h < a && h >= f && h >= u && (f !== h || f !== h))
1382
- return $e(h, e, t, n, a, f, u, i, r, s, o, c);
1383
- }
1384
- if (f < a && f < u) {
1385
- const l = f + c - ce(f, c);
1386
- if (l > f && l <= u && l <= a && (a !== l || u !== l))
1387
- return Ye(l, t, n, e, f, u, a, i, r, s, o, c);
1388
- } else if (f > a && f > u) {
1389
- let l = ce(f, c);
1390
- l === 0 && (l = c);
1391
- const h = f - l;
1392
- if (h < f && h >= u && h >= a && (a !== h || u !== h))
1393
- return $e(h, t, n, e, f, u, a, i, r, s, o, c);
1394
- }
1395
- if (u < a && u < f) {
1396
- const l = u + c - ce(u, c);
1397
- if (l > u && l <= a && l <= f && (a !== l || f !== l))
1398
- return Ye(l, n, e, t, u, a, f, i, r, s, o, c);
1399
- } else if (u > a && u > f) {
1400
- let l = ce(u, c);
1401
- l === 0 && (l = c);
1402
- const h = u - l;
1403
- if (h < u && h >= a && h >= f && (a !== h || f !== h))
1404
- return $e(h, n, e, t, u, a, f, i, r, s, o, c);
1405
- }
1406
- }, Y = function(e, t, n, i, r, s, o, c) {
1419
+ var Fn = function(e, t, n, i, r, s, o, c) {
1420
+ const a = i[e * s + o], f = i[t * s + o], l = i[n * s + o];
1421
+ if (a < f && a < l) {
1422
+ const u = a + c - fe(a, c);
1423
+ if (u > a && u <= f && u <= l && (f !== u || f !== u))
1424
+ return $e(u, e, t, n, a, f, l, i, r, s, o, c);
1425
+ } else if (a > f && a > l) {
1426
+ let u = fe(a, c);
1427
+ u === 0 && (u = c);
1428
+ const h = a - u;
1429
+ if (h < a && h >= f && h >= l && (f !== h || f !== h))
1430
+ return ke(h, e, t, n, a, f, l, i, r, s, o, c);
1431
+ }
1432
+ if (f < a && f < l) {
1433
+ const u = f + c - fe(f, c);
1434
+ if (u > f && u <= l && u <= a && (a !== u || l !== u))
1435
+ return $e(u, t, n, e, f, l, a, i, r, s, o, c);
1436
+ } else if (f > a && f > l) {
1437
+ let u = fe(f, c);
1438
+ u === 0 && (u = c);
1439
+ const h = f - u;
1440
+ if (h < f && h >= l && h >= a && (a !== h || l !== h))
1441
+ return ke(h, t, n, e, f, l, a, i, r, s, o, c);
1442
+ }
1443
+ if (l < a && l < f) {
1444
+ const u = l + c - fe(l, c);
1445
+ if (u > l && u <= a && u <= f && (a !== u || f !== u))
1446
+ return $e(u, n, e, t, l, a, f, i, r, s, o, c);
1447
+ } else if (l > a && l > f) {
1448
+ let u = fe(l, c);
1449
+ u === 0 && (u = c);
1450
+ const h = l - u;
1451
+ if (h < l && h >= a && h >= f && (a !== h || f !== h))
1452
+ return ke(h, n, e, t, l, a, f, i, r, s, o, c);
1453
+ }
1454
+ }, G = function(e, t, n, i, r, s, o, c) {
1407
1455
  const a = s.length / o, f = (r - i) / (e - i);
1408
- let u, l;
1456
+ let l, u;
1409
1457
  for (let h = 0; h < o; h++)
1410
- u = s[t * o + h], l = s[n * o + h], h !== c ? s.push(u + (l - u) / f) : s.push(e);
1458
+ l = s[t * o + h], u = s[n * o + h], h !== c ? s.push(l + (u - l) / f) : s.push(e);
1411
1459
  return a;
1412
- }, Ye = function(e, t, n, i, r, s, o, c, a, f, u, l) {
1413
- let h = Y(e, t, n, r, s, c, f, u), d = Y(e, t, i, r, o, c, f, u);
1414
- if (a.push(t, h, d), e += l, s < o) {
1460
+ }, $e = function(e, t, n, i, r, s, o, c, a, f, l, u) {
1461
+ let h = G(e, t, n, r, s, c, f, l), d = G(e, t, i, r, o, c, f, l);
1462
+ if (a.push(t, h, d), e += u, s < o) {
1415
1463
  for (; e < s; )
1416
- a.push(d, h), d = Y(e, t, i, r, o, c, f, u), a.push(d, d, h), h = Y(e, t, n, r, s, c, f, u), a.push(h), e += l;
1464
+ a.push(d, h), d = G(e, t, i, r, o, c, f, l), a.push(d, d, h), h = G(e, t, n, r, s, c, f, l), a.push(h), e += u;
1417
1465
  return a.push(d, h, n), [d, n, i];
1418
1466
  } else {
1419
1467
  for (; e < o; )
1420
- a.push(d, h), d = Y(e, t, i, r, o, c, f, u), a.push(d, d, h), h = Y(e, t, n, r, s, c, f, u), a.push(h), e += l;
1468
+ a.push(d, h), d = G(e, t, i, r, o, c, f, l), a.push(d, d, h), h = G(e, t, n, r, s, c, f, l), a.push(h), e += u;
1421
1469
  return a.push(d, h, i), [i, h, n];
1422
1470
  }
1423
- }, $e = function(e, t, n, i, r, s, o, c, a, f, u, l) {
1424
- let h = Y(e, t, n, r, s, c, f, u), d = Y(e, t, i, r, o, c, f, u);
1425
- if (a.push(t, h, d), e -= l, s > o) {
1471
+ }, ke = function(e, t, n, i, r, s, o, c, a, f, l, u) {
1472
+ let h = G(e, t, n, r, s, c, f, l), d = G(e, t, i, r, o, c, f, l);
1473
+ if (a.push(t, h, d), e -= u, s > o) {
1426
1474
  for (; e > s; )
1427
- a.push(d, h), d = Y(e, t, i, r, o, c, f, u), a.push(d, d, h), h = Y(e, t, n, r, s, c, f, u), a.push(h), e -= l;
1475
+ a.push(d, h), d = G(e, t, i, r, o, c, f, l), a.push(d, d, h), h = G(e, t, n, r, s, c, f, l), a.push(h), e -= u;
1428
1476
  return a.push(d, h, n), [d, n, i];
1429
1477
  } else {
1430
1478
  for (; e > o; )
1431
- a.push(d, h), d = Y(e, t, i, r, o, c, f, u), a.push(d, d, h), h = Y(e, t, n, r, s, c, f, u), a.push(h), e -= l;
1479
+ a.push(d, h), d = G(e, t, i, r, o, c, f, l), a.push(d, d, h), h = G(e, t, n, r, s, c, f, l), a.push(h), e -= u;
1432
1480
  return a.push(d, h, i), [i, h, n];
1433
1481
  }
1434
- }, ce = function(e, t) {
1482
+ }, fe = function(e, t) {
1435
1483
  return (e % t + t) % t;
1436
1484
  };
1437
- function Gn(e) {
1485
+ function Kn(e) {
1438
1486
  let t = 0;
1439
1487
  const n = e[0][0].length, i = [], r = [];
1440
1488
  for (let s = 0, o = e.length; s < o; s++) {
@@ -1445,7 +1493,7 @@ function Gn(e) {
1445
1493
  }
1446
1494
  return { vertices: i, holeIndices: r, dim: n };
1447
1495
  }
1448
- var Fn = `#version 300 es
1496
+ var Qn = `#version 300 es
1449
1497
 
1450
1498
  precision highp float;
1451
1499
 
@@ -1454,7 +1502,7 @@ out vec4 result;
1454
1502
 
1455
1503
  void main() {
1456
1504
  result = color_out;
1457
- }`, Kn = `#version 300 es
1505
+ }`, qn = `#version 300 es
1458
1506
 
1459
1507
  precision highp float;
1460
1508
 
@@ -1478,70 +1526,68 @@ void main(void) {
1478
1526
  gl_Position = transform(position);
1479
1527
  color_out = color;
1480
1528
  }`;
1481
- const Mi = (e, t = {}) => {
1529
+ const Ui = (e, t = {}) => {
1482
1530
  const { gl: n } = e;
1483
1531
  let i = 0;
1484
- const r = k({ gl: n, type: "i32", target: "array" }), s = k({ gl: n, type: "u16", target: "element" }), { renderProgram: o, depthProgram: c } = Qn(e, {
1532
+ const r = k({ gl: n, type: "i32", target: "array" }), s = k({ gl: n, type: "u16", target: "element" }), { renderProgram: o, depthProgram: c } = Jn(e, {
1485
1533
  positionBuffer: r,
1486
1534
  indexBuffer: s
1487
1535
  }), a = ({
1488
1536
  viewport: { projection: h, modelView: d, camera: m, screen: E },
1489
- depth: w = !1,
1490
- index: p = 0
1537
+ depth: y = !1,
1538
+ index: v = 0
1491
1539
  }) => {
1492
- const y = t.color?.() ?? [1, 1, 1, 1];
1493
- if (f(), Te(n, w, t))
1540
+ const g = t.color?.() ?? [1, 1, 1, 1];
1541
+ if (f(), ge(n, y, t))
1494
1542
  return;
1495
- (w ? c : o).execute({
1543
+ (y ? c : o).execute({
1496
1544
  projection: h,
1497
1545
  modelView: d,
1498
- camera: K(m),
1546
+ camera: Q(m),
1499
1547
  screen: E,
1500
1548
  count: i,
1501
- color: y,
1502
- index: p
1549
+ color: g,
1550
+ index: v
1503
1551
  });
1504
- }, f = me(
1552
+ }, f = ae(
1505
1553
  () => t.points?.() ?? [],
1506
1554
  (h) => {
1507
- const { vertices: d, indices: m } = $n(
1508
- h.map((E) => E.map((w) => [...K(L(w))]))
1509
- );
1555
+ const { vertices: d, indices: m } = h.length > 0 ? Hn(h.map((E) => E.map((y) => [...Q(L(y))]))) : { vertices: [], indices: [] };
1510
1556
  r.set(d), s.set(m), i = m.length;
1511
1557
  }
1512
- ), u = () => {
1558
+ ), l = () => {
1513
1559
  r.dispose(), s.dispose();
1514
- }, l = Re(t);
1560
+ }, u = Ae(t);
1515
1561
  return {
1516
1562
  render: a,
1517
- dispose: u,
1518
- ...l
1563
+ dispose: l,
1564
+ ...u
1519
1565
  };
1520
- }, Qn = ({ gl: e, programs: t }, {
1566
+ }, Jn = ({ gl: e, programs: t }, {
1521
1567
  positionBuffer: n,
1522
1568
  indexBuffer: i
1523
1569
  }) => {
1524
1570
  const r = (c = !1) => {
1525
1571
  const a = t.get({
1526
- vertexSource: Kn,
1527
- fragmentSource: c ? ge : Fn
1572
+ vertexSource: qn,
1573
+ fragmentSource: c ? Re : Qn
1528
1574
  }), f = a.attribute3i("position", n, {
1529
1575
  stride: 3 * Int32Array.BYTES_PER_ELEMENT
1530
- }), u = a.uniformMatrix4f("projection"), l = a.uniformMatrix4f("model_view"), h = a.uniform3i("camera"), d = a.uniform2f("screen"), m = a.uniform4f("color"), E = a.uniform1i("index");
1576
+ }), l = a.uniformMatrix4f("projection"), u = a.uniformMatrix4f("model_view"), h = a.uniform3i("camera"), d = a.uniform2f("screen"), m = a.uniform4f("color"), E = a.uniform1i("index");
1531
1577
  return { execute: ({
1532
- projection: p,
1533
- modelView: y,
1534
- camera: v,
1578
+ projection: v,
1579
+ modelView: g,
1580
+ camera: p,
1535
1581
  screen: x,
1536
- count: g,
1537
- color: _,
1538
- index: T
1582
+ count: w,
1583
+ color: A,
1584
+ index: _
1539
1585
  }) => {
1540
- g !== 0 && (a.use(), f.use(), u.set(p), l.set(y), h.set(v), d.set(x), m.set(_), E.set(T), i.use(), e.drawElements(e.TRIANGLES, g, e.UNSIGNED_SHORT, 0));
1586
+ w !== 0 && (a.use(), f.use(), l.set(v), u.set(g), h.set(p), d.set(x), m.set(A), E.set(_), i.use(), e.drawElements(e.TRIANGLES, w, e.UNSIGNED_SHORT, 0));
1541
1587
  } };
1542
1588
  }, s = r(), o = r(!0);
1543
1589
  return { renderProgram: s, depthProgram: o };
1544
- }, Ge = (e, t = 0) => ({
1590
+ }, Fe = (e, t = 0) => ({
1545
1591
  get: ([n = 0, i = 0, r = 0]) => {
1546
1592
  for (let s = Math.min(r, t); s <= r; s++) {
1547
1593
  const o = 2 ** s, c = [
@@ -1553,12 +1599,12 @@ const Mi = (e, t = {}) => {
1553
1599
  return { texture: a, downsample: s };
1554
1600
  }
1555
1601
  }
1556
- }), fe = typeof performance == "object" && performance && typeof performance.now == "function" ? performance : Date, vt = /* @__PURE__ */ new Set(), Fe = typeof process == "object" && process ? process : {}, xt = (e, t, n, i) => {
1557
- typeof Fe.emitWarning == "function" ? Fe.emitWarning(e, t, n, i) : console.error(`[${n}] ${t}: ${e}`);
1602
+ }), le = typeof performance == "object" && performance && typeof performance.now == "function" ? performance : Date, _t = /* @__PURE__ */ new Set(), Ke = typeof process == "object" && process ? process : {}, yt = (e, t, n, i) => {
1603
+ typeof Ke.emitWarning == "function" ? Ke.emitWarning(e, t, n, i) : console.error(`[${n}] ${t}: ${e}`);
1558
1604
  };
1559
- let Oe = globalThis.AbortController, at = globalThis.AbortSignal;
1560
- if (typeof Oe > "u") {
1561
- at = class {
1605
+ let Xe = globalThis.AbortController, ft = globalThis.AbortSignal;
1606
+ if (typeof Xe > "u") {
1607
+ ft = class {
1562
1608
  onabort;
1563
1609
  _onabort = [];
1564
1610
  reason;
@@ -1566,11 +1612,11 @@ if (typeof Oe > "u") {
1566
1612
  addEventListener(i, r) {
1567
1613
  this._onabort.push(r);
1568
1614
  }
1569
- }, Oe = class {
1615
+ }, Xe = class {
1570
1616
  constructor() {
1571
1617
  t();
1572
1618
  }
1573
- signal = new at();
1619
+ signal = new ft();
1574
1620
  abort(i) {
1575
1621
  if (!this.signal.aborted) {
1576
1622
  this.signal.reason = i, this.signal.aborted = !0;
@@ -1580,32 +1626,32 @@ if (typeof Oe > "u") {
1580
1626
  }
1581
1627
  }
1582
1628
  };
1583
- let e = Fe.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
1629
+ let e = Ke.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
1584
1630
  const t = () => {
1585
- e && (e = !1, xt("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", t));
1631
+ e && (e = !1, yt("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", t));
1586
1632
  };
1587
1633
  }
1588
- const qn = (e) => !vt.has(e), q = (e) => e && e === Math.floor(e) && e > 0 && isFinite(e), Et = (e) => q(e) ? e <= Math.pow(2, 8) ? Uint8Array : e <= Math.pow(2, 16) ? Uint16Array : e <= Math.pow(2, 32) ? Uint32Array : e <= Number.MAX_SAFE_INTEGER ? Ne : null : null;
1589
- class Ne extends Array {
1634
+ const ei = (e) => !_t.has(e), q = (e) => e && e === Math.floor(e) && e > 0 && isFinite(e), wt = (e) => q(e) ? e <= Math.pow(2, 8) ? Uint8Array : e <= Math.pow(2, 16) ? Uint16Array : e <= Math.pow(2, 32) ? Uint32Array : e <= Number.MAX_SAFE_INTEGER ? De : null : null;
1635
+ class De extends Array {
1590
1636
  constructor(t) {
1591
1637
  super(t), this.fill(0);
1592
1638
  }
1593
1639
  }
1594
- class ue {
1640
+ class de {
1595
1641
  heap;
1596
1642
  length;
1597
1643
  // private constructor
1598
1644
  static #c = !1;
1599
1645
  static create(t) {
1600
- const n = Et(t);
1646
+ const n = wt(t);
1601
1647
  if (!n)
1602
1648
  return [];
1603
- ue.#c = !0;
1604
- const i = new ue(t, n);
1605
- return ue.#c = !1, i;
1649
+ de.#c = !0;
1650
+ const i = new de(t, n);
1651
+ return de.#c = !1, i;
1606
1652
  }
1607
1653
  constructor(t, n) {
1608
- if (!ue.#c)
1654
+ if (!de.#c)
1609
1655
  throw new TypeError("instantiate Stack using Stack.create(n)");
1610
1656
  this.heap = new n(t), this.length = 0;
1611
1657
  }
@@ -1616,7 +1662,7 @@ class ue {
1616
1662
  return this.heap[--this.length];
1617
1663
  }
1618
1664
  }
1619
- class Ke {
1665
+ class Qe {
1620
1666
  // properties coming in from the options of these, only max and maxSize
1621
1667
  // really *need* to be protected. The rest can be modified, as they just
1622
1668
  // set defaults for various methods.
@@ -1733,7 +1779,7 @@ class Ke {
1733
1779
  // methods
1734
1780
  isBackgroundFetch: (n) => t.#t(n),
1735
1781
  backgroundFetch: (n, i, r, s) => t.#L(n, i, r, s),
1736
- moveToTail: (n) => t.#M(n),
1782
+ moveToTail: (n) => t.#b(n),
1737
1783
  indexes: (n) => t.#T(n),
1738
1784
  rindexes: (n) => t.#g(n),
1739
1785
  isStale: (n) => t.#m(n)
@@ -1783,11 +1829,11 @@ class Ke {
1783
1829
  return this.#v;
1784
1830
  }
1785
1831
  constructor(t) {
1786
- const { max: n = 0, ttl: i, ttlResolution: r = 1, ttlAutopurge: s, updateAgeOnGet: o, updateAgeOnHas: c, allowStale: a, dispose: f, disposeAfter: u, noDisposeOnSet: l, noUpdateTTL: h, maxSize: d = 0, maxEntrySize: m = 0, sizeCalculation: E, fetchMethod: w, noDeleteOnFetchRejection: p, noDeleteOnStaleGet: y, allowStaleOnFetchRejection: v, allowStaleOnFetchAbort: x, ignoreFetchAbort: g } = t;
1832
+ const { max: n = 0, ttl: i, ttlResolution: r = 1, ttlAutopurge: s, updateAgeOnGet: o, updateAgeOnHas: c, allowStale: a, dispose: f, disposeAfter: l, noDisposeOnSet: u, noUpdateTTL: h, maxSize: d = 0, maxEntrySize: m = 0, sizeCalculation: E, fetchMethod: y, noDeleteOnFetchRejection: v, noDeleteOnStaleGet: g, allowStaleOnFetchRejection: p, allowStaleOnFetchAbort: x, ignoreFetchAbort: w } = t;
1787
1833
  if (n !== 0 && !q(n))
1788
1834
  throw new TypeError("max option must be a nonnegative integer");
1789
- const _ = n ? Et(n) : Array;
1790
- if (!_)
1835
+ const A = n ? wt(n) : Array;
1836
+ if (!A)
1791
1837
  throw new Error("invalid max value: " + n);
1792
1838
  if (this.#c = n, this.#h = d, this.maxEntrySize = m || this.#h, this.sizeCalculation = E, this.sizeCalculation) {
1793
1839
  if (!this.#h && !this.maxEntrySize)
@@ -1795,16 +1841,16 @@ class Ke {
1795
1841
  if (typeof this.sizeCalculation != "function")
1796
1842
  throw new TypeError("sizeCalculation set to non-function");
1797
1843
  }
1798
- if (w !== void 0 && typeof w != "function")
1844
+ if (y !== void 0 && typeof y != "function")
1799
1845
  throw new TypeError("fetchMethod must be a function if specified");
1800
- if (this.#U = w, this.#A = !!w, this.#i = /* @__PURE__ */ new Map(), this.#n = new Array(n).fill(void 0), this.#e = new Array(n).fill(void 0), this.#f = new _(n), this.#u = new _(n), this.#a = 0, this.#s = 0, this.#E = ue.create(n), this.#r = 0, this.#x = 0, typeof f == "function" && (this.#p = f), typeof u == "function" ? (this.#v = u, this.#o = []) : (this.#v = void 0, this.#o = void 0), this.#w = !!this.#p, this.#l = !!this.#v, this.noDisposeOnSet = !!l, this.noUpdateTTL = !!h, this.noDeleteOnFetchRejection = !!p, this.allowStaleOnFetchRejection = !!v, this.allowStaleOnFetchAbort = !!x, this.ignoreFetchAbort = !!g, this.maxEntrySize !== 0) {
1846
+ if (this.#U = y, this.#A = !!y, this.#i = /* @__PURE__ */ new Map(), this.#n = new Array(n).fill(void 0), this.#e = new Array(n).fill(void 0), this.#f = new A(n), this.#u = new A(n), this.#a = 0, this.#s = 0, this.#E = de.create(n), this.#r = 0, this.#x = 0, typeof f == "function" && (this.#p = f), typeof l == "function" ? (this.#v = l, this.#o = []) : (this.#v = void 0, this.#o = void 0), this.#w = !!this.#p, this.#l = !!this.#v, this.noDisposeOnSet = !!u, this.noUpdateTTL = !!h, this.noDeleteOnFetchRejection = !!v, this.allowStaleOnFetchRejection = !!p, this.allowStaleOnFetchAbort = !!x, this.ignoreFetchAbort = !!w, this.maxEntrySize !== 0) {
1801
1847
  if (this.#h !== 0 && !q(this.#h))
1802
1848
  throw new TypeError("maxSize must be a positive integer if specified");
1803
1849
  if (!q(this.maxEntrySize))
1804
1850
  throw new TypeError("maxEntrySize must be a positive integer if specified");
1805
- this.#W();
1851
+ this.#X();
1806
1852
  }
1807
- if (this.allowStale = !!a, this.noDeleteOnStaleGet = !!y, this.updateAgeOnGet = !!o, this.updateAgeOnHas = !!c, this.ttlResolution = q(r) || r === 0 ? r : 1, this.ttlAutopurge = !!s, this.ttl = i || 0, this.ttl) {
1853
+ if (this.allowStale = !!a, this.noDeleteOnStaleGet = !!g, this.updateAgeOnGet = !!o, this.updateAgeOnHas = !!c, this.ttlResolution = q(r) || r === 0 ? r : 1, this.ttlAutopurge = !!s, this.ttl = i || 0, this.ttl) {
1808
1854
  if (!q(this.ttl))
1809
1855
  throw new TypeError("ttl must be a positive integer if specified");
1810
1856
  this.#N();
@@ -1812,8 +1858,8 @@ class Ke {
1812
1858
  if (this.#c === 0 && this.ttl === 0 && this.#h === 0)
1813
1859
  throw new TypeError("At least one of max, maxSize, or ttl is required");
1814
1860
  if (!this.ttlAutopurge && !this.#c && !this.#h) {
1815
- const T = "LRU_CACHE_UNBOUNDED";
1816
- qn(T) && (vt.add(T), xt("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.", "UnboundedCacheWarning", T, Ke));
1861
+ const _ = "LRU_CACHE_UNBOUNDED";
1862
+ ei(_) && (_t.add(_), yt("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.", "UnboundedCacheWarning", _, Qe));
1817
1863
  }
1818
1864
  }
1819
1865
  /**
@@ -1823,8 +1869,8 @@ class Ke {
1823
1869
  return this.#i.has(t) ? 1 / 0 : 0;
1824
1870
  }
1825
1871
  #N() {
1826
- const t = new Ne(this.#c), n = new Ne(this.#c);
1827
- this.#d = t, this.#y = n, this.#I = (s, o, c = fe.now()) => {
1872
+ const t = new De(this.#c), n = new De(this.#c);
1873
+ this.#d = t, this.#y = n, this.#I = (s, o, c = le.now()) => {
1828
1874
  if (n[s] = o !== 0 ? c : 0, t[s] = o, o !== 0 && this.ttlAutopurge) {
1829
1875
  const a = setTimeout(() => {
1830
1876
  this.#m(s) && this.delete(this.#n[s]);
@@ -1832,7 +1878,7 @@ class Ke {
1832
1878
  a.unref && a.unref();
1833
1879
  }
1834
1880
  }, this.#S = (s) => {
1835
- n[s] = t[s] !== 0 ? fe.now() : 0;
1881
+ n[s] = t[s] !== 0 ? le.now() : 0;
1836
1882
  }, this.#R = (s, o) => {
1837
1883
  if (t[o]) {
1838
1884
  const c = t[o], a = n[o];
@@ -1845,7 +1891,7 @@ class Ke {
1845
1891
  };
1846
1892
  let i = 0;
1847
1893
  const r = () => {
1848
- const s = fe.now();
1894
+ const s = le.now();
1849
1895
  if (this.ttlResolution > 0) {
1850
1896
  i = s;
1851
1897
  const o = setTimeout(() => i = 0, this.ttlResolution);
@@ -1876,9 +1922,9 @@ class Ke {
1876
1922
  };
1877
1923
  /* c8 ignore stop */
1878
1924
  #m = () => !1;
1879
- #W() {
1880
- const t = new Ne(this.#c);
1881
- this.#x = 0, this.#_ = t, this.#b = (n) => {
1925
+ #X() {
1926
+ const t = new De(this.#c);
1927
+ this.#x = 0, this.#_ = t, this.#M = (n) => {
1882
1928
  this.#x -= t[n], t[n] = 0;
1883
1929
  }, this.#D = (n, i, r, s) => {
1884
1930
  if (this.#t(i))
@@ -1901,7 +1947,7 @@ class Ke {
1901
1947
  this.#x += t[n], r && (r.entrySize = i, r.totalCalculatedSize = this.#x);
1902
1948
  };
1903
1949
  }
1904
- #b = (t) => {
1950
+ #M = (t) => {
1905
1951
  };
1906
1952
  #P = (t, n, i) => {
1907
1953
  };
@@ -2053,7 +2099,7 @@ class Ke {
2053
2099
  if (this.#d && this.#y) {
2054
2100
  const o = this.#d[n], c = this.#y[n];
2055
2101
  if (o && c) {
2056
- const a = o - (fe.now() - c);
2102
+ const a = o - (le.now() - c);
2057
2103
  s.ttl = a, s.start = Date.now();
2058
2104
  }
2059
2105
  }
@@ -2072,7 +2118,7 @@ class Ke {
2072
2118
  const o = { value: s };
2073
2119
  if (this.#d && this.#y) {
2074
2120
  o.ttl = this.#d[n];
2075
- const c = fe.now() - this.#y[n];
2121
+ const c = le.now() - this.#y[n];
2076
2122
  o.start = Math.floor(Date.now() - c);
2077
2123
  }
2078
2124
  this.#_ && (o.size = this.#_[n]), t.unshift([i, o]);
@@ -2089,7 +2135,7 @@ class Ke {
2089
2135
  for (const [n, i] of t) {
2090
2136
  if (i.start) {
2091
2137
  const r = Date.now() - i.start;
2092
- i.start = fe.now() - r;
2138
+ i.start = le.now() - r;
2093
2139
  }
2094
2140
  this.set(n, i.value, i);
2095
2141
  }
@@ -2105,15 +2151,15 @@ class Ke {
2105
2151
  return this.delete(t), this;
2106
2152
  const { ttl: r = this.ttl, start: s, noDisposeOnSet: o = this.noDisposeOnSet, sizeCalculation: c = this.sizeCalculation, status: a } = i;
2107
2153
  let { noUpdateTTL: f = this.noUpdateTTL } = i;
2108
- const u = this.#D(t, n, i.size || 0, c);
2109
- if (this.maxEntrySize && u > this.maxEntrySize)
2154
+ const l = this.#D(t, n, i.size || 0, c);
2155
+ if (this.maxEntrySize && l > this.maxEntrySize)
2110
2156
  return a && (a.set = "miss", a.maxEntrySizeExceeded = !0), this.delete(t), this;
2111
- let l = this.#r === 0 ? void 0 : this.#i.get(t);
2112
- if (l === void 0)
2113
- l = this.#r === 0 ? this.#s : this.#E.length !== 0 ? this.#E.pop() : this.#r === this.#c ? this.#z(!1) : this.#r, this.#n[l] = t, this.#e[l] = n, this.#i.set(t, l), this.#f[this.#s] = l, this.#u[l] = this.#s, this.#s = l, this.#r++, this.#P(l, u, a), a && (a.set = "add"), f = !1;
2157
+ let u = this.#r === 0 ? void 0 : this.#i.get(t);
2158
+ if (u === void 0)
2159
+ u = this.#r === 0 ? this.#s : this.#E.length !== 0 ? this.#E.pop() : this.#r === this.#c ? this.#z(!1) : this.#r, this.#n[u] = t, this.#e[u] = n, this.#i.set(t, u), this.#f[this.#s] = u, this.#u[u] = this.#s, this.#s = u, this.#r++, this.#P(u, l, a), a && (a.set = "add"), f = !1;
2114
2160
  else {
2115
- this.#M(l);
2116
- const h = this.#e[l];
2161
+ this.#b(u);
2162
+ const h = this.#e[u];
2117
2163
  if (n !== h) {
2118
2164
  if (this.#A && this.#t(h)) {
2119
2165
  h.__abortController.abort(new Error("replaced"));
@@ -2121,7 +2167,7 @@ class Ke {
2121
2167
  d !== void 0 && !o && (this.#w && this.#p?.(d, t, "set"), this.#l && this.#o?.push([d, t, "set"]));
2122
2168
  } else
2123
2169
  o || (this.#w && this.#p?.(h, t, "set"), this.#l && this.#o?.push([h, t, "set"]));
2124
- if (this.#b(l), this.#P(l, u, a), this.#e[l] = n, a) {
2170
+ if (this.#M(u), this.#P(u, l, a), this.#e[u] = n, a) {
2125
2171
  a.set = "replace";
2126
2172
  const d = h && this.#t(h) ? h.__staleWhileFetching : h;
2127
2173
  d !== void 0 && (a.oldValue = d);
@@ -2129,7 +2175,7 @@ class Ke {
2129
2175
  } else
2130
2176
  a && (a.set = "update");
2131
2177
  }
2132
- if (r !== 0 && !this.#d && this.#N(), this.#d && (f || this.#I(l, r, s), a && this.#R(a, l)), !o && this.#l && this.#o) {
2178
+ if (r !== 0 && !this.#d && this.#N(), this.#d && (f || this.#I(u, r, s), a && this.#R(a, u)), !o && this.#l && this.#o) {
2133
2179
  const h = this.#o;
2134
2180
  let d;
2135
2181
  for (; d = h?.shift(); )
@@ -2162,7 +2208,7 @@ class Ke {
2162
2208
  }
2163
2209
  #z(t) {
2164
2210
  const n = this.#a, i = this.#n[n], r = this.#e[n];
2165
- return this.#A && this.#t(r) ? r.__abortController.abort(new Error("evicted")) : (this.#w || this.#l) && (this.#w && this.#p?.(r, i, "evict"), this.#l && this.#o?.push([r, i, "evict"])), this.#b(n), t && (this.#n[n] = void 0, this.#e[n] = void 0, this.#E.push(n)), this.#r === 1 ? (this.#a = this.#s = 0, this.#E.length = 0) : this.#a = this.#f[n], this.#i.delete(i), this.#r--, n;
2211
+ return this.#A && this.#t(r) ? r.__abortController.abort(new Error("evicted")) : (this.#w || this.#l) && (this.#w && this.#p?.(r, i, "evict"), this.#l && this.#o?.push([r, i, "evict"])), this.#M(n), t && (this.#n[n] = void 0, this.#e[n] = void 0, this.#E.push(n)), this.#r === 1 ? (this.#a = this.#s = 0, this.#E.length = 0) : this.#a = this.#f[n], this.#i.delete(i), this.#r--, n;
2166
2212
  }
2167
2213
  /**
2168
2214
  * Check if a key is in the cache, without updating the recency of use.
@@ -2204,7 +2250,7 @@ class Ke {
2204
2250
  const s = n === void 0 ? void 0 : this.#e[n];
2205
2251
  if (this.#t(s))
2206
2252
  return s;
2207
- const o = new Oe(), { signal: c } = i;
2253
+ const o = new Xe(), { signal: c } = i;
2208
2254
  c?.addEventListener("abort", () => o.abort(c.reason), {
2209
2255
  signal: o.signal
2210
2256
  });
@@ -2212,26 +2258,26 @@ class Ke {
2212
2258
  signal: o.signal,
2213
2259
  options: i,
2214
2260
  context: r
2215
- }, f = (E, w = !1) => {
2216
- const { aborted: p } = o.signal, y = i.ignoreFetchAbort && E !== void 0;
2217
- if (i.status && (p && !w ? (i.status.fetchAborted = !0, i.status.fetchError = o.signal.reason, y && (i.status.fetchAbortIgnored = !0)) : i.status.fetchResolved = !0), p && !y && !w)
2218
- return l(o.signal.reason);
2219
- const v = d;
2220
- return this.#e[n] === d && (E === void 0 ? v.__staleWhileFetching ? this.#e[n] = v.__staleWhileFetching : this.delete(t) : (i.status && (i.status.fetchUpdated = !0), this.set(t, E, a.options))), E;
2221
- }, u = (E) => (i.status && (i.status.fetchRejected = !0, i.status.fetchError = E), l(E)), l = (E) => {
2222
- const { aborted: w } = o.signal, p = w && i.allowStaleOnFetchAbort, y = p || i.allowStaleOnFetchRejection, v = y || i.noDeleteOnFetchRejection, x = d;
2223
- if (this.#e[n] === d && (!v || x.__staleWhileFetching === void 0 ? this.delete(t) : p || (this.#e[n] = x.__staleWhileFetching)), y)
2261
+ }, f = (E, y = !1) => {
2262
+ const { aborted: v } = o.signal, g = i.ignoreFetchAbort && E !== void 0;
2263
+ if (i.status && (v && !y ? (i.status.fetchAborted = !0, i.status.fetchError = o.signal.reason, g && (i.status.fetchAbortIgnored = !0)) : i.status.fetchResolved = !0), v && !g && !y)
2264
+ return u(o.signal.reason);
2265
+ const p = d;
2266
+ return this.#e[n] === d && (E === void 0 ? p.__staleWhileFetching ? this.#e[n] = p.__staleWhileFetching : this.delete(t) : (i.status && (i.status.fetchUpdated = !0), this.set(t, E, a.options))), E;
2267
+ }, l = (E) => (i.status && (i.status.fetchRejected = !0, i.status.fetchError = E), u(E)), u = (E) => {
2268
+ const { aborted: y } = o.signal, v = y && i.allowStaleOnFetchAbort, g = v || i.allowStaleOnFetchRejection, p = g || i.noDeleteOnFetchRejection, x = d;
2269
+ if (this.#e[n] === d && (!p || x.__staleWhileFetching === void 0 ? this.delete(t) : v || (this.#e[n] = x.__staleWhileFetching)), g)
2224
2270
  return i.status && x.__staleWhileFetching !== void 0 && (i.status.returnedStale = !0), x.__staleWhileFetching;
2225
2271
  if (x.__returned === x)
2226
2272
  throw E;
2227
- }, h = (E, w) => {
2228
- const p = this.#U?.(t, s, a);
2229
- p && p instanceof Promise && p.then((y) => E(y === void 0 ? void 0 : y), w), o.signal.addEventListener("abort", () => {
2230
- (!i.ignoreFetchAbort || i.allowStaleOnFetchAbort) && (E(void 0), i.allowStaleOnFetchAbort && (E = (y) => f(y, !0)));
2273
+ }, h = (E, y) => {
2274
+ const v = this.#U?.(t, s, a);
2275
+ v && v instanceof Promise && v.then((g) => E(g === void 0 ? void 0 : g), y), o.signal.addEventListener("abort", () => {
2276
+ (!i.ignoreFetchAbort || i.allowStaleOnFetchAbort) && (E(void 0), i.allowStaleOnFetchAbort && (E = (g) => f(g, !0)));
2231
2277
  });
2232
2278
  };
2233
2279
  i.status && (i.status.fetchDispatched = !0);
2234
- const d = new Promise(h).then(f, u), m = Object.assign(d, {
2280
+ const d = new Promise(h).then(f, l), m = Object.assign(d, {
2235
2281
  __abortController: o,
2236
2282
  __staleWhileFetching: s,
2237
2283
  __returned: void 0
@@ -2242,7 +2288,7 @@ class Ke {
2242
2288
  if (!this.#A)
2243
2289
  return !1;
2244
2290
  const n = t;
2245
- return !!n && n instanceof Promise && n.hasOwnProperty("__staleWhileFetching") && n.__abortController instanceof Oe;
2291
+ return !!n && n instanceof Promise && n.hasOwnProperty("__staleWhileFetching") && n.__abortController instanceof Xe;
2246
2292
  }
2247
2293
  async fetch(t, n = {}) {
2248
2294
  const {
@@ -2255,25 +2301,25 @@ class Ke {
2255
2301
  noDisposeOnSet: c = this.noDisposeOnSet,
2256
2302
  size: a = 0,
2257
2303
  sizeCalculation: f = this.sizeCalculation,
2258
- noUpdateTTL: u = this.noUpdateTTL,
2304
+ noUpdateTTL: l = this.noUpdateTTL,
2259
2305
  // fetch exclusive options
2260
- noDeleteOnFetchRejection: l = this.noDeleteOnFetchRejection,
2306
+ noDeleteOnFetchRejection: u = this.noDeleteOnFetchRejection,
2261
2307
  allowStaleOnFetchRejection: h = this.allowStaleOnFetchRejection,
2262
2308
  ignoreFetchAbort: d = this.ignoreFetchAbort,
2263
2309
  allowStaleOnFetchAbort: m = this.allowStaleOnFetchAbort,
2264
2310
  context: E,
2265
- forceRefresh: w = !1,
2266
- status: p,
2267
- signal: y
2311
+ forceRefresh: y = !1,
2312
+ status: v,
2313
+ signal: g
2268
2314
  } = n;
2269
2315
  if (!this.#A)
2270
- return p && (p.fetch = "get"), this.get(t, {
2316
+ return v && (v.fetch = "get"), this.get(t, {
2271
2317
  allowStale: i,
2272
2318
  updateAgeOnGet: r,
2273
2319
  noDeleteOnStaleGet: s,
2274
- status: p
2320
+ status: v
2275
2321
  });
2276
- const v = {
2322
+ const p = {
2277
2323
  allowStale: i,
2278
2324
  updateAgeOnGet: r,
2279
2325
  noDeleteOnStaleGet: s,
@@ -2281,30 +2327,30 @@ class Ke {
2281
2327
  noDisposeOnSet: c,
2282
2328
  size: a,
2283
2329
  sizeCalculation: f,
2284
- noUpdateTTL: u,
2285
- noDeleteOnFetchRejection: l,
2330
+ noUpdateTTL: l,
2331
+ noDeleteOnFetchRejection: u,
2286
2332
  allowStaleOnFetchRejection: h,
2287
2333
  allowStaleOnFetchAbort: m,
2288
2334
  ignoreFetchAbort: d,
2289
- status: p,
2290
- signal: y
2335
+ status: v,
2336
+ signal: g
2291
2337
  };
2292
2338
  let x = this.#i.get(t);
2293
2339
  if (x === void 0) {
2294
- p && (p.fetch = "miss");
2295
- const g = this.#L(t, x, v, E);
2296
- return g.__returned = g;
2340
+ v && (v.fetch = "miss");
2341
+ const w = this.#L(t, x, p, E);
2342
+ return w.__returned = w;
2297
2343
  } else {
2298
- const g = this.#e[x];
2299
- if (this.#t(g)) {
2300
- const S = i && g.__staleWhileFetching !== void 0;
2301
- return p && (p.fetch = "inflight", S && (p.returnedStale = !0)), S ? g.__staleWhileFetching : g.__returned = g;
2344
+ const w = this.#e[x];
2345
+ if (this.#t(w)) {
2346
+ const S = i && w.__staleWhileFetching !== void 0;
2347
+ return v && (v.fetch = "inflight", S && (v.returnedStale = !0)), S ? w.__staleWhileFetching : w.__returned = w;
2302
2348
  }
2303
- const _ = this.#m(x);
2304
- if (!w && !_)
2305
- return p && (p.fetch = "hit"), this.#M(x), r && this.#S(x), p && this.#R(p, x), g;
2306
- const T = this.#L(t, x, v, E), A = T.__staleWhileFetching !== void 0 && i;
2307
- return p && (p.fetch = _ ? "stale" : "refresh", A && _ && (p.returnedStale = !0)), A ? T.__staleWhileFetching : T.__returned = T;
2349
+ const A = this.#m(x);
2350
+ if (!y && !A)
2351
+ return v && (v.fetch = "hit"), this.#b(x), r && this.#S(x), v && this.#R(v, x), w;
2352
+ const _ = this.#L(t, x, p, E), R = _.__staleWhileFetching !== void 0 && i;
2353
+ return v && (v.fetch = A ? "stale" : "refresh", R && A && (v.returnedStale = !0)), R ? _.__staleWhileFetching : _.__returned = _;
2308
2354
  }
2309
2355
  }
2310
2356
  /**
@@ -2317,14 +2363,14 @@ class Ke {
2317
2363
  const { allowStale: i = this.allowStale, updateAgeOnGet: r = this.updateAgeOnGet, noDeleteOnStaleGet: s = this.noDeleteOnStaleGet, status: o } = n, c = this.#i.get(t);
2318
2364
  if (c !== void 0) {
2319
2365
  const a = this.#e[c], f = this.#t(a);
2320
- return o && this.#R(o, c), this.#m(c) ? (o && (o.get = "stale"), f ? (o && i && a.__staleWhileFetching !== void 0 && (o.returnedStale = !0), i ? a.__staleWhileFetching : void 0) : (s || this.delete(t), o && i && (o.returnedStale = !0), i ? a : void 0)) : (o && (o.get = "hit"), f ? a.__staleWhileFetching : (this.#M(c), r && this.#S(c), a));
2366
+ return o && this.#R(o, c), this.#m(c) ? (o && (o.get = "stale"), f ? (o && i && a.__staleWhileFetching !== void 0 && (o.returnedStale = !0), i ? a.__staleWhileFetching : void 0) : (s || this.delete(t), o && i && (o.returnedStale = !0), i ? a : void 0)) : (o && (o.get = "hit"), f ? a.__staleWhileFetching : (this.#b(c), r && this.#S(c), a));
2321
2367
  } else
2322
2368
  o && (o.get = "miss");
2323
2369
  }
2324
2370
  #C(t, n) {
2325
2371
  this.#u[n] = t, this.#f[t] = n;
2326
2372
  }
2327
- #M(t) {
2373
+ #b(t) {
2328
2374
  t !== this.#s && (t === this.#a ? this.#a = this.#f[t] : this.#C(this.#u[t], this.#f[t]), this.#C(this.#s, t), this.#s = t);
2329
2375
  }
2330
2376
  /**
@@ -2339,7 +2385,7 @@ class Ke {
2339
2385
  if (n = !0, this.#r === 1)
2340
2386
  this.clear();
2341
2387
  else {
2342
- this.#b(i);
2388
+ this.#M(i);
2343
2389
  const r = this.#e[i];
2344
2390
  if (this.#t(r) ? r.__abortController.abort(new Error("deleted")) : (this.#w || this.#l) && (this.#w && this.#p?.(r, t, "delete"), this.#l && this.#o?.push([r, t, "delete"])), this.#i.delete(t), this.#n[i] = void 0, this.#e[i] = void 0, i === this.#s)
2345
2391
  this.#s = this.#u[i];
@@ -2383,8 +2429,8 @@ class Ke {
2383
2429
  }
2384
2430
  }
2385
2431
  }
2386
- const Ce = (e) => {
2387
- const t = new Ke({
2432
+ const We = (e) => {
2433
+ const t = new Qe({
2388
2434
  ...e,
2389
2435
  ttlResolution: 0,
2390
2436
  dispose: (r, s) => e.dispose?.(r, i(s))
@@ -2401,40 +2447,40 @@ const Ce = (e) => {
2401
2447
  clear: () => t.clear(),
2402
2448
  purgeStale: () => t.purgeStale()
2403
2449
  };
2404
- }, Jn = 15, te = 256, ei = ({
2450
+ }, ti = 15, te = 256, ni = ({
2405
2451
  gl: e,
2406
2452
  terrainCache: t
2407
2453
  }) => {
2408
- const n = Ce({
2454
+ const n = We({
2409
2455
  max: 1e3
2410
- }), i = Ge(t), r = e.createFramebuffer();
2456
+ }), i = Fe(t), r = e.createFramebuffer();
2411
2457
  if (!r)
2412
2458
  throw new Error("Framebuffer creation failed");
2413
- const s = ([a = 0, f = 0, u = 0]) => {
2414
- const l = i.get([a, f, u]);
2415
- if (!l)
2459
+ const s = ([a = 0, f = 0, l = 0]) => {
2460
+ const u = i.get([a, f, l]);
2461
+ if (!u)
2416
2462
  return;
2417
- const { texture: h, downsample: d } = l, m = 2 ** d, E = [Math.floor(a / m), Math.floor(f / m), u - d], w = n.get(E);
2418
- if (w)
2419
- return { buffer: w, downsample: d };
2420
- const p = new Uint8Array(4 * te * te);
2421
- return e.bindFramebuffer(e.FRAMEBUFFER, r), h.attach(), e.readPixels(0, 0, te, te, e.RGBA, e.UNSIGNED_BYTE, p), e.bindFramebuffer(e.FRAMEBUFFER, null), n.set(E, p), { buffer: p, downsample: d };
2463
+ const { texture: h, downsample: d } = u, m = 2 ** d, E = [Math.floor(a / m), Math.floor(f / m), l - d], y = n.get(E);
2464
+ if (y)
2465
+ return { buffer: y, downsample: d };
2466
+ const v = new Uint8Array(4 * te * te);
2467
+ return e.bindFramebuffer(e.FRAMEBUFFER, r), h.attach(), e.readPixels(0, 0, te, te, e.RGBA, e.UNSIGNED_BYTE, v), e.bindFramebuffer(e.FRAMEBUFFER, null), n.set(E, v), { buffer: v, downsample: d };
2422
2468
  };
2423
- return { get: ([a = 0, f = 0], u = Jn) => {
2424
- const l = 2 ** u, h = L([a, f, 0]).map((S) => S * l), [d = 0, m = 0] = h.map((S) => Math.floor(S % l));
2425
- let [E = 0, w = 0] = h.map((S) => S % 1);
2426
- const p = s([d, m, u]);
2427
- if (!p)
2469
+ return { get: ([a = 0, f = 0], l = ti) => {
2470
+ const u = 2 ** l, h = L([a, f, 0]).map((S) => S * u), [d = 0, m = 0] = h.map((S) => Math.floor(S % u));
2471
+ let [E = 0, y = 0] = h.map((S) => S % 1);
2472
+ const v = s([d, m, l]);
2473
+ if (!v)
2428
2474
  return 0;
2429
- const { buffer: y, downsample: v } = p, x = 2 ** v;
2430
- [E, w] = [(d % x + E) / x, (m % x + w) / x];
2431
- const g = 4 * te * Math.floor(w * te) + 4 * Math.floor(E * te), [_ = 0, T = 0, R = 0] = y.slice(g, g + 4);
2432
- return (_ * 65536 + T * 256 + R) / 10 - 1e4;
2475
+ const { buffer: g, downsample: p } = v, x = 2 ** p;
2476
+ [E, y] = [(d % x + E) / x, (m % x + y) / x];
2477
+ const w = 4 * te * Math.floor(y * te) + 4 * Math.floor(E * te), [A = 0, _ = 0, T = 0] = g.slice(w, w + 4);
2478
+ return (A * 65536 + _ * 256 + T) / 10 - 1e4;
2433
2479
  }, dispose: () => {
2434
2480
  e.deleteFramebuffer(r);
2435
2481
  } };
2436
2482
  };
2437
- var ti = `#version 300 es
2483
+ var ii = `#version 300 es
2438
2484
 
2439
2485
  precision highp float;
2440
2486
 
@@ -2446,20 +2492,20 @@ out vec4 result;
2446
2492
  void main(void) {
2447
2493
  result = texture(imagery, uv) * color_out;
2448
2494
  }`;
2449
- const ct = ({
2495
+ const lt = ({
2450
2496
  gl: e,
2451
2497
  urlPattern: t,
2452
2498
  onLoad: n
2453
2499
  }) => {
2454
- const i = Ce({
2500
+ const i = We({
2455
2501
  max: 1e4,
2456
2502
  dispose: (a) => a.dispose()
2457
- }), r = Ce({
2503
+ }), r = We({
2458
2504
  max: 1e4,
2459
2505
  ttl: 200,
2460
2506
  dispose: (a, f) => {
2461
- const u = i.get(f);
2462
- u && !u.loaded && (console.log("Cancel", f), i.delete(f));
2507
+ const l = i.get(f);
2508
+ l && !l.loaded && (console.log("Cancel", f), i.delete(f));
2463
2509
  }
2464
2510
  }), s = (a) => {
2465
2511
  const f = i.get(a);
@@ -2468,7 +2514,7 @@ const ct = ({
2468
2514
  return r.delete(a), f;
2469
2515
  r.set(a, !0);
2470
2516
  } else {
2471
- const [u, l, h] = a, d = t.replace("{x}", `${u}`).replace("{y}", `${l}`).replace("{z}", `${h}`), m = ut({
2517
+ const [l, u, h] = a, d = t.replace("{x}", `${l}`).replace("{y}", `${u}`).replace("{z}", `${h}`), m = pt({
2472
2518
  gl: e,
2473
2519
  url: d,
2474
2520
  onLoad: () => {
@@ -2481,8 +2527,8 @@ const ct = ({
2481
2527
  return { get: s, dispose: () => {
2482
2528
  clearInterval(o), i.clear();
2483
2529
  } };
2484
- }, ni = (e) => {
2485
- const t = Ce({
2530
+ }, ri = (e) => {
2531
+ const t = We({
2486
2532
  max: 1e4,
2487
2533
  ttl: 1e3
2488
2534
  }), n = [
@@ -2495,17 +2541,17 @@ const ct = ({
2495
2541
  const s = t.get(r);
2496
2542
  if (s)
2497
2543
  return s;
2498
- const [o = 0, c = 0, a = 0] = r, f = n.map(([u = 0, l = 0]) => [o + u, c + l, a]).map((u) => un(u, u)).map((u) => se(u, u)).map((u) => {
2499
- const [l = 0, h = 0] = u, d = Math.max(a - 5, 0);
2544
+ const [o = 0, c = 0, a = 0] = r, f = n.map(([l = 0, u = 0]) => [o + l, c + u, a]).map((l) => pn(l, l)).map((l) => se(l, l)).map((l) => {
2545
+ const [u = 0, h = 0] = l, d = Math.max(a - 5, 0);
2500
2546
  return L(
2501
- we(u, l, h, e.get([l, h], d)),
2502
- u
2547
+ we(l, u, h, e.get([u, h], d)),
2548
+ l
2503
2549
  );
2504
2550
  });
2505
2551
  return t.set(r, f), f;
2506
2552
  } };
2507
2553
  };
2508
- var ii = `#version 300 es
2554
+ var si = `#version 300 es
2509
2555
 
2510
2556
  precision highp float;
2511
2557
 
@@ -2542,39 +2588,39 @@ void main(void) {
2542
2588
  uv = downsample(downsample_imagery);
2543
2589
  color_out = color;
2544
2590
  }`;
2545
- const W = 34, ri = 22, si = ie(0, W).flatMap(
2546
- (e) => ie(0, W).flatMap((t) => [
2547
- e * (W + 1) + t,
2548
- e * (W + 1) + t + 1,
2549
- (e + 1) * (W + 1) + t + 1,
2550
- e * (W + 1) + t,
2551
- (e + 1) * (W + 1) + t + 1,
2552
- (e + 1) * (W + 1) + t
2591
+ const j = 34, oi = 22, ai = ie(0, j).flatMap(
2592
+ (e) => ie(0, j).flatMap((t) => [
2593
+ e * (j + 1) + t,
2594
+ e * (j + 1) + t + 1,
2595
+ (e + 1) * (j + 1) + t + 1,
2596
+ e * (j + 1) + t,
2597
+ (e + 1) * (j + 1) + t + 1,
2598
+ (e + 1) * (j + 1) + t
2553
2599
  ])
2554
- ), Pe = 0.1, oi = ie(0, W + 1).flatMap(
2555
- (e) => ie(0, W + 1).map((t) => {
2556
- let n = (t - 1) / (W - 2), i = (e - 1) / (W - 2), r = 0;
2557
- return t === 0 && (n = 0, r = -Pe), t === W && (n = 1, r = -Pe), e === 0 && (i = 0, r = -Pe), e === W && (i = 1, r = -Pe), [n, i, r];
2600
+ ), Le = 0.1, ci = ie(0, j + 1).flatMap(
2601
+ (e) => ie(0, j + 1).map((t) => {
2602
+ let n = (t - 1) / (j - 2), i = (e - 1) / (j - 2), r = 0;
2603
+ return t === 0 && (n = 0, r = -Le), t === j && (n = 1, r = -Le), e === 0 && (i = 0, r = -Le), e === j && (i = 1, r = -Le), [n, i, r];
2558
2604
  })
2559
- ), zi = (e, t = {}) => {
2605
+ ), Li = (e, t = {}) => {
2560
2606
  const { gl: n } = e;
2561
2607
  let i, r;
2562
- const s = me(
2608
+ const s = ae(
2563
2609
  () => t.imageryUrl?.() ?? "",
2564
- (T) => {
2565
- i?.dispose(), i = ct({
2610
+ (_) => {
2611
+ i?.dispose(), i = lt({
2566
2612
  gl: n,
2567
- urlPattern: T,
2613
+ urlPattern: _,
2568
2614
  onLoad: () => {
2569
- const R = n.getExtension("EXT_texture_filter_anisotropic");
2570
- if (R) {
2571
- const A = n.getParameter(
2572
- R.MAX_TEXTURE_MAX_ANISOTROPY_EXT
2615
+ const T = n.getExtension("EXT_texture_filter_anisotropic");
2616
+ if (T) {
2617
+ const R = n.getParameter(
2618
+ T.MAX_TEXTURE_MAX_ANISOTROPY_EXT
2573
2619
  );
2574
2620
  n.texParameterf(
2575
2621
  n.TEXTURE_2D,
2576
- R.TEXTURE_MAX_ANISOTROPY_EXT,
2577
- A
2622
+ T.TEXTURE_MAX_ANISOTROPY_EXT,
2623
+ R
2578
2624
  );
2579
2625
  }
2580
2626
  n.texParameteri(
@@ -2583,131 +2629,134 @@ const W = 34, ri = 22, si = ie(0, W).flatMap(
2583
2629
  n.LINEAR_MIPMAP_LINEAR
2584
2630
  ), 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), n.generateMipmap(n.TEXTURE_2D);
2585
2631
  }
2586
- }), r = Ge(i);
2632
+ }), r = Fe(i);
2587
2633
  }
2588
- ), o = t.terrainUrl?.() ?? "", c = ct({
2634
+ ), o = t.terrainUrl?.() ?? "", c = lt({
2589
2635
  gl: n,
2590
2636
  urlPattern: o,
2591
2637
  onLoad: () => {
2592
2638
  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);
2593
2639
  }
2594
- }), a = Ge(c, 3), f = ei({ gl: n, terrainCache: c }), u = ni(f), l = k({ gl: n, type: "f32", target: "array" });
2595
- l.set(oi.flatMap(([T = 0, R = 0, A = 0]) => [T, R, A]));
2640
+ }), a = Fe(c, 3), f = ni({ gl: n, terrainCache: c }), l = ri(f), u = k({ gl: n, type: "f32", target: "array" });
2641
+ u.set(ci.flatMap(([_ = 0, T = 0, R = 0]) => [_, T, R]));
2596
2642
  const h = k({ gl: n, type: "u16", target: "element" });
2597
- h.set(si);
2598
- const { renderProgram: d, depthProgram: m } = ai(e, {
2599
- uvwBuffer: l,
2643
+ h.set(ai);
2644
+ const { renderProgram: d, depthProgram: m } = fi(e, {
2645
+ uvwBuffer: u,
2600
2646
  indexBuffer: h
2601
- }), E = [0, 1, 2, 3], w = E.map(z), p = E.map(ee), y = E.map(de), v = (T) => {
2602
- const { camera: R, worldToLocal: A, localToClip: S, clipToScreen: M } = T, P = (U) => {
2603
- const [b = 0, N = 0, D = 0] = U, C = u.get(U);
2604
- let X = ci(R, C);
2605
- if (!X) {
2606
- const j = C.map((H, G) => A(H, w[G])).map((H, G) => S(H, p[G]));
2607
- if (fi(j))
2647
+ }), E = [0, 1, 2, 3], y = E.map(z), v = E.map(ee), g = E.map(me), p = (_) => {
2648
+ const { camera: T, worldToLocal: R, localToClip: S, clipToScreen: b } = _, P = (U) => {
2649
+ const [M = 0, N = 0, D = 0] = U, X = l.get(U);
2650
+ let B = li(T, X);
2651
+ if (!B) {
2652
+ const W = X.map((V, Y) => R(V, y[Y])).map((V, Y) => S(V, v[Y]));
2653
+ if (hi(W))
2608
2654
  return [];
2609
- X = li(j.map((H, G) => M(H, y[G]))) > 512 / devicePixelRatio;
2655
+ B = ui(W.map((V, Y) => b(V, g[Y]))) > 512 / devicePixelRatio;
2610
2656
  }
2611
- return X && D < ri ? [
2612
- [2 * b, 2 * N, D + 1],
2613
- [2 * b + 1, 2 * N, D + 1],
2614
- [2 * b, 2 * N + 1, D + 1],
2615
- [2 * b + 1, 2 * N + 1, D + 1]
2616
- ].flatMap((Q) => P(Q)) : [U];
2657
+ return B && D < oi ? [
2658
+ [2 * M, 2 * N, D + 1],
2659
+ [2 * M + 1, 2 * N, D + 1],
2660
+ [2 * M, 2 * N + 1, D + 1],
2661
+ [2 * M + 1, 2 * N + 1, D + 1]
2662
+ ].flatMap((F) => P(F)) : [U];
2617
2663
  };
2618
2664
  return P([0, 0, 0]);
2619
2665
  }, x = ({
2620
- viewport: T,
2621
- depth: R = !1,
2622
- index: A = 0
2666
+ viewport: _,
2667
+ depth: T = !1,
2668
+ index: R = 0
2623
2669
  }) => {
2624
2670
  const S = t.color?.() ?? [1, 1, 1, 1];
2625
- if (s(), Te(n, R, t))
2671
+ if (s(), ge(n, T, t))
2626
2672
  return;
2627
- const M = R ? m : d, { projection: P, modelView: U, camera: b } = T, N = v(T);
2673
+ const b = T ? m : d, { projection: P, modelView: U, camera: M } = _, N = p(_);
2628
2674
  for (const D of N) {
2629
- const C = R ? void 0 : r?.get(D), X = a.get(D);
2630
- if (!R && !C || !X)
2675
+ const X = T ? void 0 : r?.get(D), B = a.get(D);
2676
+ if (!T && !X || !B)
2631
2677
  continue;
2632
- const { texture: j, downsample: Q } = X, { texture: H = j, downsample: G = 0 } = C ?? {};
2633
- M.execute({
2678
+ const { texture: W, downsample: F } = B, { texture: V = W, downsample: Y = 0 } = X ?? {};
2679
+ b.execute({
2634
2680
  projection: P,
2635
2681
  modelView: U,
2636
- camera: K(b),
2682
+ camera: Q(M),
2637
2683
  xyz: D,
2638
- imagery: H,
2639
- terrain: j,
2640
- downsampleImagery: G,
2641
- downsampleTerrain: Q,
2684
+ imagery: V,
2685
+ terrain: W,
2686
+ downsampleImagery: Y,
2687
+ downsampleTerrain: F,
2642
2688
  color: S,
2643
- index: A
2689
+ index: R
2644
2690
  });
2645
2691
  }
2646
- }, g = () => {
2692
+ }, w = () => {
2647
2693
  i?.dispose(), c.dispose(), f.dispose();
2648
- }, _ = Re(t);
2694
+ }, A = Ae(t);
2649
2695
  return {
2650
2696
  render: x,
2651
- dispose: g,
2652
- ..._
2697
+ dispose: w,
2698
+ ...A
2653
2699
  };
2654
- }, ai = ({ gl: e, programs: t }, { uvwBuffer: n, indexBuffer: i }) => {
2700
+ }, fi = ({ gl: e, programs: t }, { uvwBuffer: n, indexBuffer: i }) => {
2655
2701
  const r = (c = !1) => {
2656
2702
  const a = t.get({
2657
- vertexSource: ii,
2658
- fragmentSource: c ? ge : ti
2659
- }), f = a.attribute3f("uvw", n), u = a.uniformMatrix4f("projection"), l = a.uniformMatrix4f("model_view"), h = a.uniform1i("imagery"), d = a.uniform1i("terrain"), m = a.uniform1i("downsample_imagery"), E = a.uniform1i("downsample_terrain"), w = a.uniform4f("color"), p = a.uniform3i("xyz"), y = a.uniform3i("camera"), v = a.uniform1i("index");
2703
+ vertexSource: si,
2704
+ fragmentSource: c ? Re : ii
2705
+ }), f = a.attribute3f("uvw", n), l = a.uniformMatrix4f("projection"), u = a.uniformMatrix4f("model_view"), h = a.uniform1i("imagery"), d = a.uniform1i("terrain"), m = a.uniform1i("downsample_imagery"), E = a.uniform1i("downsample_terrain"), y = a.uniform4f("color"), v = a.uniform3i("xyz"), g = a.uniform3i("camera"), p = a.uniform1i("index");
2660
2706
  return { execute: ({
2661
- projection: g,
2662
- modelView: _,
2663
- camera: T,
2664
- xyz: R,
2665
- imagery: A,
2707
+ projection: w,
2708
+ modelView: A,
2709
+ camera: _,
2710
+ xyz: T,
2711
+ imagery: R,
2666
2712
  terrain: S,
2667
- downsampleImagery: M,
2713
+ downsampleImagery: b,
2668
2714
  downsampleTerrain: P,
2669
2715
  color: U,
2670
- index: b
2716
+ index: M
2671
2717
  }) => {
2672
- a.use(), f.use(), u.set(g), l.set(_), p.set(R), y.set(T), m.set(M), E.set(P), w.set(U), v.set(b), e.activeTexture(e.TEXTURE0), h.set(0), A.use(), e.activeTexture(e.TEXTURE1), d.set(1), S.use(), i.use(), e.drawElements(e.TRIANGLES, W * W * 2 * 3, e.UNSIGNED_SHORT, 0);
2718
+ a.use(), f.use(), l.set(w), u.set(A), v.set(T), g.set(_), m.set(b), E.set(P), y.set(U), p.set(M), e.activeTexture(e.TEXTURE0), h.set(0), R.use(), e.activeTexture(e.TEXTURE1), d.set(1), S.use(), i.use(), e.drawElements(e.TRIANGLES, j * j * 2 * 3, e.UNSIGNED_SHORT, 0);
2673
2719
  } };
2674
2720
  }, s = r(), o = r(!0);
2675
2721
  return { renderProgram: s, depthProgram: o };
2676
- }, ci = (e, t) => {
2722
+ }, li = (e, t) => {
2677
2723
  const [n, i, r, s] = t.reduce(
2678
- ([f, u, l, h], [d = 0, m = 0]) => [
2724
+ ([f, l, u, h], [d = 0, m = 0]) => [
2679
2725
  Math.min(d, f),
2680
- Math.max(d, u),
2681
- Math.min(m, l),
2726
+ Math.max(d, l),
2727
+ Math.min(m, u),
2682
2728
  Math.max(m, h)
2683
2729
  ],
2684
2730
  [1, 0, 1, 0]
2685
2731
  ), [o = 0, c = 0, a = 0] = e;
2686
2732
  return o > n && o < i && c > r && c < s && a > 0 && a < i - n;
2687
- }, fi = (e) => e.every(([t = 0, , , n = 0]) => t > n) || e.every(([t = 0, , , n = 0]) => t < -n) || e.every(([, t = 0, , n = 0]) => t > n) || e.every(([, t = 0, , n = 0]) => t < -n) || e.every(([, , t = 0, n = 0]) => t > n) || e.every(([, , t = 0, n = 0]) => t < -n) || e.every(([, , , t = 0]) => t < 0), li = (e) => Math.sqrt(
2733
+ }, hi = (e) => e.every(([t = 0, , , n = 0]) => t > n) || e.every(([t = 0, , , n = 0]) => t < -n) || e.every(([, t = 0, , n = 0]) => t > n) || e.every(([, t = 0, , n = 0]) => t < -n) || e.every(([, , t = 0, n = 0]) => t > n) || e.every(([, , t = 0, n = 0]) => t < -n) || e.every(([, , , t = 0]) => t < 0), ui = (e) => Math.sqrt(
2688
2734
  e.map(
2689
- (t, n) => cn(
2735
+ (t, n) => hn(
2690
2736
  e[n] ?? [0, 0],
2691
2737
  e[(n + 1) % e.length] ?? [0, 0]
2692
2738
  )
2693
2739
  ).reduce((t, n) => t + n, 0) / e.length
2694
- ), Li = {
2740
+ ), Ni = {
2695
2741
  pickable: !0,
2696
2742
  depth: !0,
2697
2743
  polygonOffset: 0
2698
- }, me = (e, t) => {
2744
+ }, di = (e, t) => {
2699
2745
  let n;
2700
2746
  return () => {
2701
- const i = e();
2747
+ const i = e.map((s) => s());
2702
2748
  if (n) {
2703
2749
  const [s, o] = n;
2704
- if (s === i)
2750
+ if (s.every((c, a) => c === i[a]))
2705
2751
  return o;
2706
2752
  }
2707
2753
  const r = t(i);
2708
2754
  return n = [i, r], r;
2709
2755
  };
2710
- }, Re = (e) => {
2756
+ }, ae = (e, t) => di([e], (n) => {
2757
+ const [i] = n;
2758
+ return t(i);
2759
+ }), Ae = (e) => {
2711
2760
  const {
2712
2761
  onClick: t,
2713
2762
  onRightClick: n,
@@ -2726,7 +2775,7 @@ const W = 34, ri = 22, si = ie(0, W).flatMap(
2726
2775
  onDragStart: o,
2727
2776
  onDragEnd: c
2728
2777
  };
2729
- }, je = 10, Ae = 1e-3, ae = (e) => (t) => {
2778
+ }, Be = 10, Se = 1e-3, ce = (e) => (t) => {
2730
2779
  let n, i;
2731
2780
  return () => {
2732
2781
  const r = performance.now(), s = (r - (i ?? r)) / 1e3;
@@ -2734,49 +2783,49 @@ const W = 34, ri = 22, si = ie(0, W).flatMap(
2734
2783
  const o = t();
2735
2784
  return n = n ?? o, n = e({ time: s, current: n, target: o }), n;
2736
2785
  };
2737
- }, hi = ae(
2738
- ({ time: e, current: t, target: n }) => (Math.abs(n - t) < Ae ? t = n : t = t + (n - t) * (1 - Math.exp(-je * e)), t)
2739
- ), ui = ae(
2740
- ({ time: e, current: t, target: n }) => (an(t, n) < Ae ? tn(t, n) : t = rn(
2741
- de(),
2786
+ }, mi = ce(
2787
+ ({ time: e, current: t, target: n }) => (Math.abs(n - t) < Se ? t = n : t = t + (n - t) * (1 - Math.exp(-Be * e)), t)
2788
+ ), pi = ce(
2789
+ ({ time: e, current: t, target: n }) => (ln(t, n) < Se ? sn(t, n) : t = an(
2790
+ me(),
2742
2791
  t,
2743
- on(
2744
- de(),
2745
- fn(de(), n, t),
2746
- 1 - Math.exp(-je * e)
2792
+ fn(
2793
+ me(),
2794
+ un(me(), n, t),
2795
+ 1 - Math.exp(-Be * e)
2747
2796
  )
2748
2797
  ), t)
2749
- ), Ni = ae(
2750
- ({ time: e, current: t, target: n }) => (Ht(t, n) < Ae ? Vt(t, n) : t = Yt(
2798
+ ), Ii = ce(
2799
+ ({ time: e, current: t, target: n }) => (Kt(t, n) < Se ? kt(t, n) : t = Ht(
2751
2800
  ee(),
2752
2801
  t,
2753
- kt(
2802
+ Ft(
2754
2803
  ee(),
2755
- Kt(ee(), n, t),
2756
- 1 - Math.exp(-je * e)
2804
+ Jt(ee(), n, t),
2805
+ 1 - Math.exp(-Be * e)
2757
2806
  )
2758
2807
  ), t)
2759
- ), Ii = ae(
2808
+ ), Di = ce(
2760
2809
  ({ time: e, current: t, target: n }) => {
2761
- const i = We(L(t), L(n));
2762
- return i * $ < Ae || i > 1e5 / $ ? Ct(t, n) : t = se(
2810
+ const i = Te(L(t), L(n));
2811
+ return i * H < Se || i > 1e5 / H ? jt(t, n) : t = se(
2763
2812
  ne(
2764
2813
  z(),
2765
2814
  L(t),
2766
- le(
2815
+ he(
2767
2816
  z(),
2768
2817
  re(z(), L(n), L(t)),
2769
- 1 - Math.exp(-je * e)
2818
+ 1 - Math.exp(-Be * e)
2770
2819
  )
2771
2820
  )
2772
2821
  ), t;
2773
2822
  }
2774
- ), Di = (e) => {
2823
+ ), Oi = (e) => {
2775
2824
  let t = [0, 0, 0], n = [0, 0, 0], i, r;
2776
- return ae(({ time: o, current: c, target: a }) => {
2777
- if (a === c || o > 1 || We(L(a), L(c)) > 1e3 / $)
2825
+ return ce(({ time: o, current: c, target: a }) => {
2826
+ if (a === c || o > 1 || Te(L(a), L(c)) > 1e3 / H)
2778
2827
  return i = void 0, t = [0, 0, 0], n = [0, 0, 0], a;
2779
- i ? a !== i && r !== void 0 && (n = le(
2828
+ i ? a !== i && r !== void 0 && (n = he(
2780
2829
  z(),
2781
2830
  re(z(), L(a), L(i)),
2782
2831
  1e3 / (performance.now() - r)
@@ -2784,7 +2833,7 @@ const W = 34, ri = 22, si = ie(0, W).flatMap(
2784
2833
  const f = ne(
2785
2834
  z(),
2786
2835
  t,
2787
- le(
2836
+ he(
2788
2837
  z(),
2789
2838
  re(z(), n, t),
2790
2839
  2 * o
@@ -2796,12 +2845,12 @@ const W = 34, ri = 22, si = ie(0, W).flatMap(
2796
2845
  L(c),
2797
2846
  ne(
2798
2847
  z(),
2799
- le(
2848
+ he(
2800
2849
  z(),
2801
2850
  ne(z(), t, f),
2802
2851
  0.5 * o
2803
2852
  ),
2804
- le(
2853
+ he(
2805
2854
  z(),
2806
2855
  re(z(), L(a), L(c)),
2807
2856
  o
@@ -2810,45 +2859,45 @@ const W = 34, ri = 22, si = ie(0, W).flatMap(
2810
2859
  )
2811
2860
  ), t = f, c;
2812
2861
  })(e);
2813
- }, di = ae(
2814
- ({ time: e, current: t, target: n }) => (t = dn(
2815
- ze(
2816
- ke(),
2817
- Se(t),
2818
- Se(n),
2862
+ }, vi = ce(
2863
+ ({ time: e, current: t, target: n }) => (t = vn(
2864
+ Ne(
2865
+ He(),
2866
+ be(t),
2867
+ be(n),
2819
2868
  Math.PI * e
2820
2869
  )
2821
- ), qt(Se(t), Se(n)) < Ae && (n = t), t)
2822
- ), mi = 10, Oi = (e) => {
2823
- const t = di(() => e().orientation), n = ui(() => e().offset), i = hi(() => e().fieldOfView);
2824
- return ae(({ time: s, current: o, target: c }) => {
2825
- const a = We(L(o.target), L(c.target)) * $, f = Math.max(c.distance, a), u = 1 - Math.exp(-mi * s), l = Math.exp(
2826
- Math.log(o.distance) + (Math.log(f) - Math.log(o.distance)) * u
2870
+ ), tn(be(t), be(n)) < Se && (n = t), t)
2871
+ ), xi = 10, Ci = (e) => {
2872
+ const t = vi(() => e().orientation), n = pi(() => e().offset), i = mi(() => e().fieldOfView);
2873
+ return ce(({ time: s, current: o, target: c }) => {
2874
+ const a = Te(L(o.target), L(c.target)) * H, f = Math.max(c.distance, a), l = 1 - Math.exp(-xi * s), u = Math.exp(
2875
+ Math.log(o.distance) + (Math.log(f) - Math.log(o.distance)) * l
2827
2876
  ), h = o.distance > a ? 1 : o.distance / a, d = se(
2828
2877
  ne(
2829
2878
  z(),
2830
2879
  L(o.target),
2831
- le(
2880
+ he(
2832
2881
  z(),
2833
2882
  re(
2834
2883
  z(),
2835
2884
  L(c.target),
2836
2885
  L(o.target)
2837
2886
  ),
2838
- u * h
2887
+ l * h
2839
2888
  )
2840
2889
  )
2841
2890
  );
2842
2891
  return {
2843
2892
  ...o,
2844
2893
  target: d,
2845
- distance: l,
2894
+ distance: u,
2846
2895
  orientation: t(),
2847
2896
  offset: n(),
2848
2897
  fieldOfView: i()
2849
2898
  };
2850
2899
  })(e);
2851
- }, pi = (e) => {
2900
+ }, Ei = (e) => {
2852
2901
  const t = e.createTexture();
2853
2902
  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);
2854
2903
  const n = e.createRenderbuffer();
@@ -2867,12 +2916,12 @@ const W = 34, ri = 22, si = ie(0, W).flatMap(
2867
2916
  n
2868
2917
  ), e.bindFramebuffer(e.FRAMEBUFFER, null);
2869
2918
  let s = 0;
2870
- const o = ([u = 0, l = 0]) => {
2871
- s = l, e.bindTexture(e.TEXTURE_2D, t), e.texImage2D(
2919
+ const o = ([l = 0, u = 0]) => {
2920
+ s = u, e.bindTexture(e.TEXTURE_2D, t), e.texImage2D(
2872
2921
  e.TEXTURE_2D,
2873
2922
  0,
2874
2923
  e.RGBA,
2875
- u,
2924
+ l,
2876
2925
  s,
2877
2926
  0,
2878
2927
  e.RGBA,
@@ -2881,23 +2930,23 @@ const W = 34, ri = 22, si = ie(0, W).flatMap(
2881
2930
  ), e.bindRenderbuffer(e.RENDERBUFFER, n), e.renderbufferStorage(
2882
2931
  e.RENDERBUFFER,
2883
2932
  e.DEPTH_COMPONENT16,
2884
- u,
2933
+ l,
2885
2934
  s
2886
2935
  );
2887
2936
  }, c = new Uint8Array(4);
2888
2937
  return {
2889
2938
  use: r,
2890
2939
  resize: o,
2891
- read: ([u = 0, l = 0]) => {
2892
- r(), e.readPixels(u, s - l, 1, 1, e.RGBA, e.UNSIGNED_BYTE, c), e.bindFramebuffer(e.FRAMEBUFFER, null);
2893
- const [h = 0, d = 0, m = 0, E = 0] = c, p = 2 * ((h * 256 + d) / (256 * 256 - 1)) - 1, y = m * 256 + E;
2894
- return [p, y];
2940
+ read: ([l = 0, u = 0]) => {
2941
+ r(), e.readPixels(l, s - u, 1, 1, e.RGBA, e.UNSIGNED_BYTE, c), e.bindFramebuffer(e.FRAMEBUFFER, null);
2942
+ const [h = 0, d = 0, m = 0, E = 0] = c, v = 2 * ((h * 256 + d) / (256 * 256 - 1)) - 1, g = m * 256 + E;
2943
+ return [v, g];
2895
2944
  },
2896
2945
  dispose: () => {
2897
2946
  e.deleteTexture(t), e.deleteFramebuffer(i), e.deleteRenderbuffer(n);
2898
2947
  }
2899
2948
  };
2900
- }, vi = (e, {
2949
+ }, _i = (e, {
2901
2950
  view: t,
2902
2951
  screen: n,
2903
2952
  pick: i
@@ -2906,132 +2955,137 @@ const W = 34, ri = 22, si = ie(0, W).flatMap(
2906
2955
  let s = !1, o, c;
2907
2956
  const a = () => {
2908
2957
  s = !0;
2909
- }, f = ({ x: m, y: E, movementX: w, movementY: p }) => {
2958
+ }, f = ({ x: m, y: E, movementX: y, movementY: v }) => {
2910
2959
  if (o) {
2911
2960
  if (o.onDrag) {
2912
- const { point: y, position: v, layer: x } = i([m, E], { terrain: !0 });
2913
- o.onDrag({ point: y, position: v, layer: x });
2961
+ const { point: g, position: p, layer: x } = i([m, E], { terrain: !0 });
2962
+ o.onDrag({ point: g, position: p, layer: x });
2914
2963
  }
2915
2964
  if (o.onDragFlat) {
2916
- const v = J(t(), n()).unproject([m, E], { targetZ: c });
2917
- o.onDragFlat({ point: [m, E], position: v, layer: void 0 });
2965
+ const p = J(t(), n()).unproject([m, E], { targetZ: c });
2966
+ o.onDragFlat({ point: [m, E], position: p, layer: void 0 });
2918
2967
  }
2919
2968
  return;
2920
2969
  }
2921
- if (s && (Math.abs(w) > 1 || Math.abs(p) > 1)) {
2970
+ if (s && (Math.abs(y) > 1 || Math.abs(v) > 1)) {
2922
2971
  s = !1;
2923
- const { point: y, position: v, layer: x } = i([m, E]);
2924
- (x?.onDrag || x?.onDragFlat) && (o = x, o.onDragStart?.({ point: y, position: v, layer: x }), [, , c] = v);
2972
+ const { point: g, position: p, layer: x } = i([m, E]);
2973
+ (x?.onDrag || x?.onDragFlat) && (o = x, o.onDragStart?.({ point: g, position: p, layer: x }), [, , c] = p);
2925
2974
  }
2926
- }, u = (m) => {
2927
- if (s && l(m), s = !1, o) {
2928
- const { x: E, y: w } = m, { point: p, position: y, layer: v } = i([E, w]);
2929
- o.onDragEnd?.({ point: p, position: y, layer: v });
2975
+ }, l = (m) => {
2976
+ if (s && u(m), s = !1, o) {
2977
+ const { x: E, y } = m, { point: v, position: g, layer: p } = i([E, y]);
2978
+ o.onDragEnd?.({ point: v, position: g, layer: p });
2930
2979
  }
2931
2980
  o = void 0;
2932
- }, l = ({ x: m, y: E, button: w }) => {
2933
- const { point: p, position: y, layer: v } = i([m, E]);
2934
- w === 0 ? v?.onClick?.({ point: p, position: y, layer: v }) : w === 2 && v?.onRightClick?.({ point: p, position: y, layer: v });
2981
+ }, u = ({ x: m, y: E, button: y }) => {
2982
+ const { point: v, position: g, layer: p } = i([m, E]);
2983
+ (y === 2 ? p?.onRightClick : p?.onClick)?.({
2984
+ point: v,
2985
+ position: g,
2986
+ layer: p
2987
+ });
2935
2988
  }, h = ({ x: m, y: E }) => {
2936
- const { point: w, position: p, layer: y } = i([m, E]);
2937
- y?.onDoubleClick?.({ point: w, position: p, layer: y });
2989
+ const { point: y, position: v, layer: g } = i([m, E]);
2990
+ g?.onDoubleClick?.({ point: y, position: v, layer: g });
2938
2991
  };
2939
- return r?.addEventListener("mousedown", a), r?.addEventListener("mousemove", f), r?.addEventListener("dblclick", h), window.addEventListener("mouseup", u), { dispose: () => {
2940
- r?.removeEventListener("mousedown", a), r?.removeEventListener("mousemove", f), r?.removeEventListener("dblclick", h), window.removeEventListener("mouseup", u);
2992
+ return r?.addEventListener("mousedown", a), r?.addEventListener("mousemove", f), r?.addEventListener("dblclick", h), window.addEventListener("mouseup", l), { dispose: () => {
2993
+ r?.removeEventListener("mousedown", a), r?.removeEventListener("mousemove", f), r?.removeEventListener("dblclick", h), window.removeEventListener("mouseup", l);
2941
2994
  } };
2942
2995
  };
2943
- At(Array);
2944
- const Ci = ({ gl: e }, t) => {
2996
+ bt(Array);
2997
+ const Xi = ({ gl: e }, t) => {
2945
2998
  const { view: n, layers: i } = t;
2946
2999
  let r = !0, s = [0, 0];
2947
3000
  e.enable(e.CULL_FACE), e.cullFace(e.FRONT), e.depthFunc(e.LEQUAL);
2948
- const o = pi(e), { canvas: c } = e, a = ([v = 0, x = 0]) => {
2949
- v = v || 1, x = x || 1, s = [v, x], c.width = v * devicePixelRatio, c.height = x * devicePixelRatio, o.resize([c.width, c.height]);
3001
+ const o = Ei(e), { canvas: c } = e, a = ([p = 0, x = 0]) => {
3002
+ p = p || 1, x = x || 1, s = [p, x], c.width = p * devicePixelRatio, c.height = x * devicePixelRatio, o.resize([c.width, c.height]);
2950
3003
  };
2951
3004
  a([c.width, c.height]);
2952
- const f = new ResizeObserver(([v]) => {
2953
- if (!v)
3005
+ const f = new ResizeObserver(([p]) => {
3006
+ if (!p)
2954
3007
  return;
2955
- const { contentRect: x } = v, { width: g, height: _ } = x;
2956
- a([g, _]);
3008
+ const { contentRect: x } = p, { width: w, height: A } = x;
3009
+ a([w, A]);
2957
3010
  });
2958
3011
  c instanceof HTMLCanvasElement && f.observe(c);
2959
- const u = ([v = 0, x = 0]) => {
2960
- e.viewport(0, 0, v * devicePixelRatio, x * devicePixelRatio), e.clear(e.COLOR_BUFFER_BIT | e.DEPTH_BUFFER_BIT);
2961
- }, l = () => {
2962
- const v = J(n(), s);
2963
- u(s), Ie(i()).forEach((x) => x.render?.({ viewport: v }));
2964
- }, h = (v) => {
3012
+ const l = ([p = 0, x = 0]) => {
3013
+ e.viewport(0, 0, p * devicePixelRatio, x * devicePixelRatio), e.clear(e.COLOR_BUFFER_BIT | e.DEPTH_BUFFER_BIT);
3014
+ }, u = () => {
3015
+ const p = J(n(), s);
3016
+ l(s), Oe(i()).forEach((x) => x.render?.({ viewport: p }));
3017
+ }, h = (p) => {
2965
3018
  const x = J(n(), s);
2966
- u(s), (v ? [v] : Ie(i())).forEach(
2967
- (g, _) => g.render?.({ viewport: x, depth: !0, index: _ + 1 })
3019
+ l(s), (p ? [p] : Oe(i())).forEach(
3020
+ (w, A) => w.render?.({ viewport: x, depth: !0, index: A + 1 })
2968
3021
  );
2969
3022
  }, d = () => {
2970
- r && (l(), requestAnimationFrame(d));
3023
+ r && (u(), requestAnimationFrame(d));
2971
3024
  };
2972
3025
  requestAnimationFrame(d);
2973
- const m = (v) => J(n(), s).project(v), E = (v) => J(n(), s).unproject(v), w = (v, { terrain: x } = {}) => {
2974
- const { screenToClip: g, clipToLocal: _, localToWorld: T } = J(
3026
+ const m = (p) => J(n(), s).project(p), E = (p) => J(n(), s).unproject(p), y = (p, { terrain: x } = {}) => {
3027
+ const { screenToClip: w, clipToLocal: A, localToWorld: _ } = J(
2975
3028
  n(),
2976
3029
  s
2977
3030
  );
2978
3031
  o.use();
2979
- const [R] = x ? i() : [];
2980
- h(R);
2981
- const [A = 0, S = 0] = v, [M, P] = o.read([
2982
- A * devicePixelRatio,
3032
+ const [T] = x ? i() : [];
3033
+ h(T);
3034
+ const [R = 0, S = 0] = p, [b, P] = o.read([
3035
+ R * devicePixelRatio,
2983
3036
  S * devicePixelRatio
2984
- ]), [U = 0, b = 0] = g(v), N = se(T(_([U, b, M, 1]))), D = P === 0 ? void 0 : R ?? Ie(i())[P - 1];
2985
- return { point: v, position: N, layer: D };
2986
- }, p = vi(e, {
3037
+ ]), [U = 0, M = 0] = w(p), N = se(_(A([U, M, b, 1]))), D = P === 0 ? void 0 : T ?? Oe(i())[P - 1];
3038
+ return { point: p, position: N, layer: D };
3039
+ }, v = _i(e, {
2987
3040
  view: n,
2988
3041
  screen: () => s,
2989
- pick: w
3042
+ pick: y
2990
3043
  });
2991
3044
  return {
2992
3045
  project: m,
2993
3046
  unproject: E,
2994
- pick: w,
3047
+ pick: y,
2995
3048
  dispose: () => {
2996
- r = !1, p.dispose(), o.dispose(), c instanceof HTMLCanvasElement && f.unobserve(c);
3049
+ r = !1, v.dispose(), o.dispose(), c instanceof HTMLCanvasElement && f.unobserve(c);
2997
3050
  }
2998
3051
  };
2999
- }, Ie = (e) => e.flatMap((t) => [...Ie(t.children ?? []), t]);
3052
+ }, Oe = (e) => e.flatMap((t) => [...Oe(t.children ?? []), t]);
3000
3053
  export {
3001
- me as cache,
3002
- $ as circumference,
3003
- wi as createBillboardLayer,
3004
- Ti as createContainer,
3005
- _i as createContext,
3006
- gi as createDynamicContainer,
3007
- Ai as createEmptyLayer,
3008
- Si as createLineLayer,
3054
+ ae as cache,
3055
+ di as cacheAll,
3056
+ H as circumference,
3057
+ Ti as createBillboardLayer,
3058
+ gi as createContainer,
3059
+ yi as createContext,
3060
+ Ri as createDynamicContainer,
3061
+ Si as createEmptyLayer,
3062
+ Mi as createLineLayer,
3009
3063
  bi as createMeshLayer,
3010
- yi as createMouseControl,
3011
- Re as createMouseEvents,
3012
- hi as createNumberTransition,
3013
- di as createOrientationTransition,
3014
- Mi as createPolygonLayer,
3015
- Ii as createPositionTransition,
3016
- Di as createPositionVelocityTransition,
3017
- Ri as createRenderLayer,
3018
- zi as createTerrainLayer,
3019
- ae as createTransition,
3020
- ui as createVec2Transition,
3021
- Ni as createVec4Transition,
3022
- Oi as createViewTransition,
3023
- Ci as createWorld,
3024
- wt as debounce,
3025
- Li as defaultLayerOptions,
3026
- lt as defaultView,
3027
- ln as degrees,
3064
+ wi as createMouseControl,
3065
+ Ae as createMouseEvents,
3066
+ mi as createNumberTransition,
3067
+ vi as createOrientationTransition,
3068
+ Ui as createPolygonLayer,
3069
+ Di as createPositionTransition,
3070
+ Oi as createPositionVelocityTransition,
3071
+ Ai as createRenderLayer,
3072
+ Li as createTerrainLayer,
3073
+ ce as createTransition,
3074
+ pi as createVec2Transition,
3075
+ Ii as createVec4Transition,
3076
+ Ci as createViewTransition,
3077
+ Xi as createWorld,
3078
+ Rt as debounce,
3079
+ Ni as defaultLayerOptions,
3080
+ ut as defaultView,
3081
+ dn as degrees,
3028
3082
  se as geodetic,
3029
3083
  L as mercator,
3030
- hn as quadratic,
3031
- Le as radians,
3084
+ mn as quadratic,
3085
+ Ie as radians,
3032
3086
  ie as range,
3033
- un as tileToMercator,
3034
- dn as toOrientation,
3035
- Se as toQuaternion
3087
+ pn as tileToMercator,
3088
+ vn as toOrientation,
3089
+ be as toQuaternion
3036
3090
  };
3037
3091
  //# sourceMappingURL=index.js.map