world.ts 0.2.4 → 0.2.6

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