world.ts 0.4.3 → 0.4.5

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 Ut = (e, t) => {
1
+ const Pt = (e, t) => {
2
2
  let n;
3
3
  return (...i) => {
4
4
  clearTimeout(n), n = setTimeout(() => e(...i), t);
5
5
  };
6
- }, xe = (e, t) => Array.from({ length: t - e }, (n, i) => i + e), Pt = ({
6
+ }, xe = (e, t) => Array.from({ length: t - e }, (n, i) => i + e), zt = ({
7
7
  gl: e,
8
8
  vertexSource: t,
9
9
  fragmentSource: n
@@ -11,63 +11,63 @@ const Ut = (e, t) => {
11
11
  const i = e.createProgram();
12
12
  if (!i)
13
13
  throw new Error("Program creation failed");
14
- const r = st(
14
+ const r = ot(
15
15
  e,
16
16
  e.createShader(e.VERTEX_SHADER),
17
17
  t
18
- ), s = st(
18
+ ), s = ot(
19
19
  e,
20
20
  e.createShader(e.FRAGMENT_SHADER),
21
21
  n
22
22
  );
23
23
  if (e.attachShader(i, r), e.attachShader(i, s), e.linkProgram(i), !e.getProgramParameter(i, e.LINK_STATUS))
24
24
  throw console.error("Link failure", e.getProgramInfoLog(i)), new Error("Link failure");
25
- const o = () => e.useProgram(i), c = {}, a = (w, R) => {
26
- if (c[w])
27
- return c[w];
28
- const g = e.getUniformLocation(i, w);
29
- let M;
25
+ const o = () => e.useProgram(i), c = {}, a = (T, R) => {
26
+ if (c[T])
27
+ return c[T];
28
+ const g = e.getUniformLocation(i, T);
29
+ let b;
30
30
  const S = (U) => {
31
- g && U !== M && (R(g, U), M = U);
31
+ g && U !== b && (R(g, U), b = U);
32
32
  };
33
- return c[w] = { set: S }, { set: S };
34
- }, f = (w) => a(w, (R, g) => e.uniform1f(R, g)), l = (w) => a(w, (R, g) => e.uniform1i(R, g)), h = (w) => a(
35
- w,
36
- (R, [g = 0, M = 0]) => e.uniform2f(R, g, M)
37
- ), u = (w) => a(
38
- w,
39
- (R, [g = 0, M = 0]) => e.uniform2i(R, g, M)
40
- ), d = (w) => a(
41
- w,
42
- (R, [g = 0, M = 0, S = 0]) => e.uniform3f(R, g, M, S)
43
- ), v = (w) => a(
44
- w,
45
- (R, [g = 0, M = 0, S = 0]) => e.uniform3i(R, g, M, S)
46
- ), _ = (w) => a(
47
- w,
48
- (R, [g = 0, M = 0, S = 0, U = 0]) => e.uniform4f(R, g, M, S, U)
49
- ), E = (w) => a(
50
- w,
51
- (R, [g = 0, M = 0, S = 0, U = 0]) => e.uniform4i(R, g, M, S, U)
52
- ), p = (w) => a(
53
- w,
33
+ return c[T] = { set: S }, { set: S };
34
+ }, f = (T) => a(T, (R, g) => e.uniform1f(R, g)), l = (T) => a(T, (R, g) => e.uniform1i(R, g)), h = (T) => a(
35
+ T,
36
+ (R, [g = 0, b = 0]) => e.uniform2f(R, g, b)
37
+ ), u = (T) => a(
38
+ T,
39
+ (R, [g = 0, b = 0]) => e.uniform2i(R, g, b)
40
+ ), d = (T) => a(
41
+ T,
42
+ (R, [g = 0, b = 0, S = 0]) => e.uniform3f(R, g, b, S)
43
+ ), m = (T) => a(
44
+ T,
45
+ (R, [g = 0, b = 0, S = 0]) => e.uniform3i(R, g, b, S)
46
+ ), _ = (T) => a(
47
+ T,
48
+ (R, [g = 0, b = 0, S = 0, U = 0]) => e.uniform4f(R, g, b, S, U)
49
+ ), x = (T) => a(
50
+ T,
51
+ (R, [g = 0, b = 0, S = 0, U = 0]) => e.uniform4i(R, g, b, S, U)
52
+ ), p = (T) => a(
53
+ T,
54
54
  (R, g) => e.uniformMatrix4fv(R, !1, g)
55
55
  ), A = ({
56
- name: w,
56
+ name: T,
57
57
  buffer: R,
58
58
  size: g,
59
- type: M,
59
+ type: b,
60
60
  stride: S,
61
61
  offset: U
62
62
  }) => {
63
- const P = e.getAttribLocation(i, w);
63
+ const P = e.getAttribLocation(i, T);
64
64
  if (P === -1)
65
- throw new Error(`Missing attribute: ${w}`);
65
+ throw new Error(`Missing attribute: ${T}`);
66
66
  return { use: () => {
67
- R.use(), e.enableVertexAttribArray(P), ["u16", "i32"].includes(M) ? e.vertexAttribIPointer(
67
+ R.use(), e.enableVertexAttribArray(P), ["u16", "i32"].includes(b) ? e.vertexAttribIPointer(
68
68
  P,
69
69
  g,
70
- M === "u16" ? e.UNSIGNED_SHORT : e.INT,
70
+ b === "u16" ? e.UNSIGNED_SHORT : e.INT,
71
71
  S || 0,
72
72
  U || 0
73
73
  ) : e.vertexAttribPointer(
@@ -87,25 +87,25 @@ const Ut = (e, t) => {
87
87
  uniform2f: h,
88
88
  uniform2i: u,
89
89
  uniform3f: d,
90
- uniform3i: v,
90
+ uniform3i: m,
91
91
  uniform4f: _,
92
- uniform4i: E,
92
+ uniform4i: x,
93
93
  uniformMatrix4f: p,
94
- attribute1f: (w, R, g = {}) => A({ name: w, buffer: R, size: 1, type: "f32", ...g }),
95
- attribute2f: (w, R, g = {}) => A({ name: w, buffer: R, size: 2, type: "f32", ...g }),
96
- attribute3f: (w, R, g = {}) => A({ name: w, buffer: R, size: 3, type: "f32", ...g }),
97
- attribute3i: (w, R, g = {}) => A({ name: w, buffer: R, size: 3, type: "i32", ...g }),
94
+ attribute1f: (T, R, g = {}) => A({ name: T, buffer: R, size: 1, type: "f32", ...g }),
95
+ attribute2f: (T, R, g = {}) => A({ name: T, buffer: R, size: 2, type: "f32", ...g }),
96
+ attribute3f: (T, R, g = {}) => A({ name: T, buffer: R, size: 3, type: "f32", ...g }),
97
+ attribute3i: (T, R, g = {}) => A({ name: T, buffer: R, size: 3, type: "i32", ...g }),
98
98
  dispose: () => {
99
99
  e.deleteProgram(i), e.deleteShader(r), e.deleteShader(s);
100
100
  }
101
101
  };
102
- }, st = (e, t, n) => {
102
+ }, ot = (e, t, n) => {
103
103
  if (!t)
104
104
  throw new Error("Shader creation failed");
105
105
  if (e.shaderSource(t, n), e.compileShader(t), !e.getShaderParameter(t, e.COMPILE_STATUS))
106
106
  throw console.error("Compilation failed", e.getShaderInfoLog(t)), new Error("Compilation failure");
107
107
  return t;
108
- }, zt = (e) => {
108
+ }, Lt = (e) => {
109
109
  const t = /* @__PURE__ */ new Map();
110
110
  return {
111
111
  get: ({
@@ -115,118 +115,122 @@ const Ut = (e, t) => {
115
115
  const o = r + s, c = t.get(o);
116
116
  if (c)
117
117
  return c;
118
- const a = Pt({ gl: e, vertexSource: r, fragmentSource: s });
118
+ const a = zt({ gl: e, vertexSource: r, fragmentSource: s });
119
119
  return t.set(o, a), a;
120
120
  },
121
121
  dispose: () => [...t.values()].forEach((r) => r.dispose())
122
122
  };
123
- }, bi = (e) => {
123
+ }, Pi = (e) => {
124
124
  const t = e.getContext("webgl2");
125
125
  if (!t)
126
126
  throw new Error("No WebGL2");
127
- const n = zt(t), { dispose: i } = n;
127
+ const n = Lt(t), { dispose: i } = n;
128
128
  return { gl: t, programs: n, dispose: i };
129
129
  };
130
- var Lt = 1e-6, k = typeof Float32Array < "u" ? Float32Array : Array;
131
- function Nt(e) {
132
- k = e;
130
+ var Nt = 1e-6, j = typeof Float32Array < "u" ? Float32Array : Array;
131
+ function It(e) {
132
+ j = e;
133
133
  }
134
134
  Math.hypot || (Math.hypot = function() {
135
135
  for (var e = 0, t = arguments.length; t--; )
136
136
  e += arguments[t] * arguments[t];
137
137
  return Math.sqrt(e);
138
138
  });
139
- function It() {
140
- var e = new k(9);
141
- return k != Float32Array && (e[1] = 0, e[2] = 0, e[3] = 0, e[5] = 0, e[6] = 0, e[7] = 0), e[0] = 1, e[4] = 1, e[8] = 1, e;
139
+ function Dt() {
140
+ var e = new j(9);
141
+ return j != Float32Array && (e[1] = 0, e[2] = 0, e[3] = 0, e[5] = 0, e[6] = 0, e[7] = 0), e[0] = 1, e[4] = 1, e[8] = 1, e;
142
142
  }
143
- function ve() {
144
- var e = new k(16);
145
- return k != Float32Array && (e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[6] = 0, e[7] = 0, e[8] = 0, e[9] = 0, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0), e[0] = 1, e[5] = 1, e[10] = 1, e[15] = 1, e;
143
+ function he() {
144
+ var e = new j(16);
145
+ return j != Float32Array && (e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[6] = 0, e[7] = 0, e[8] = 0, e[9] = 0, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0), e[0] = 1, e[5] = 1, e[10] = 1, e[15] = 1, e;
146
146
  }
147
- function ot(e) {
147
+ function at(e) {
148
148
  return e[0] = 1, e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[5] = 1, e[6] = 0, e[7] = 0, e[8] = 0, e[9] = 0, e[10] = 1, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e;
149
149
  }
150
- function Dt(e, t) {
151
- var n = t[0], i = t[1], r = t[2], s = t[3], o = t[4], c = t[5], a = t[6], f = t[7], l = t[8], h = t[9], u = t[10], d = t[11], v = t[12], _ = t[13], E = t[14], p = t[15], A = n * c - i * o, y = n * a - r * o, x = n * f - s * o, m = i * a - r * c, T = i * f - s * c, b = r * f - s * a, w = l * _ - h * v, R = l * E - u * v, g = l * p - d * v, M = h * E - u * _, S = h * p - d * _, U = u * p - d * E, P = A * U - y * S + x * M + m * g - T * R + b * w;
152
- return P ? (P = 1 / P, e[0] = (c * U - a * S + f * M) * P, e[1] = (r * S - i * U - s * M) * P, e[2] = (_ * b - E * T + p * m) * P, e[3] = (u * T - h * b - d * m) * P, e[4] = (a * g - o * U - f * R) * P, e[5] = (n * U - r * g + s * R) * P, e[6] = (E * x - v * b - p * y) * P, e[7] = (l * b - u * x + d * y) * P, e[8] = (o * S - c * g + f * w) * P, e[9] = (i * g - n * S - s * w) * P, e[10] = (v * T - _ * x + p * A) * P, e[11] = (h * x - l * T - d * A) * P, e[12] = (c * R - o * M - a * w) * P, e[13] = (n * M - i * R + r * w) * P, e[14] = (_ * y - v * m - E * A) * P, e[15] = (l * m - h * y + u * A) * P, e) : null;
153
- }
154
- function Ot(e, t, n) {
155
- var i = t[0], r = t[1], s = t[2], o = t[3], c = t[4], a = t[5], f = t[6], l = t[7], h = t[8], u = t[9], d = t[10], v = t[11], _ = t[12], E = t[13], p = t[14], A = t[15], y = n[0], x = n[1], m = n[2], T = n[3];
156
- return e[0] = y * i + x * c + m * h + T * _, e[1] = y * r + x * a + m * u + T * E, e[2] = y * s + x * f + m * d + T * p, e[3] = y * o + x * l + m * v + T * A, y = n[4], x = n[5], m = n[6], T = n[7], e[4] = y * i + x * c + m * h + T * _, e[5] = y * r + x * a + m * u + T * E, e[6] = y * s + x * f + m * d + T * p, e[7] = y * o + x * l + m * v + T * A, y = n[8], x = n[9], m = n[10], T = n[11], e[8] = y * i + x * c + m * h + T * _, e[9] = y * r + x * a + m * u + T * E, e[10] = y * s + x * f + m * d + T * p, e[11] = y * o + x * l + m * v + T * A, y = n[12], x = n[13], m = n[14], T = n[15], e[12] = y * i + x * c + m * h + T * _, e[13] = y * r + x * a + m * u + T * E, e[14] = y * s + x * f + m * d + T * p, e[15] = y * o + x * l + m * v + T * A, e;
150
+ function Ot(e, t) {
151
+ var n = t[0], i = t[1], r = t[2], s = t[3], o = t[4], c = t[5], a = t[6], f = t[7], l = t[8], h = t[9], u = t[10], d = t[11], m = t[12], _ = t[13], x = t[14], p = t[15], A = n * c - i * o, y = n * a - r * o, E = n * f - s * o, v = i * a - r * c, w = i * f - s * c, M = r * f - s * a, T = l * _ - h * m, R = l * x - u * m, g = l * p - d * m, b = h * x - u * _, S = h * p - d * _, U = u * p - d * x, P = A * U - y * S + E * b + v * g - w * R + M * T;
152
+ return P ? (P = 1 / P, e[0] = (c * U - a * S + f * b) * P, e[1] = (r * S - i * U - s * b) * P, e[2] = (_ * M - x * w + p * v) * P, e[3] = (u * w - h * M - d * v) * P, e[4] = (a * g - o * U - f * R) * P, e[5] = (n * U - r * g + s * R) * P, e[6] = (x * E - m * M - p * y) * P, e[7] = (l * M - u * E + d * y) * P, e[8] = (o * S - c * g + f * T) * P, e[9] = (i * g - n * S - s * T) * P, e[10] = (m * w - _ * E + p * A) * P, e[11] = (h * E - l * w - d * A) * P, e[12] = (c * R - o * b - a * T) * P, e[13] = (n * b - i * R + r * T) * P, e[14] = (_ * y - m * v - x * A) * P, e[15] = (l * v - h * y + u * A) * P, e) : null;
157
153
  }
158
154
  function Ct(e, t, n) {
155
+ var i = t[0], r = t[1], s = t[2], o = t[3], c = t[4], a = t[5], f = t[6], l = t[7], h = t[8], u = t[9], d = t[10], m = t[11], _ = t[12], x = t[13], p = t[14], A = t[15], y = n[0], E = n[1], v = n[2], w = n[3];
156
+ return e[0] = y * i + E * c + v * h + w * _, e[1] = y * r + E * a + v * u + w * x, e[2] = y * s + E * f + v * d + w * p, e[3] = y * o + E * l + v * m + w * A, y = n[4], E = n[5], v = n[6], w = n[7], e[4] = y * i + E * c + v * h + w * _, e[5] = y * r + E * a + v * u + w * x, e[6] = y * s + E * f + v * d + w * p, e[7] = y * o + E * l + v * m + w * A, y = n[8], E = n[9], v = n[10], w = n[11], e[8] = y * i + E * c + v * h + w * _, e[9] = y * r + E * a + v * u + w * x, e[10] = y * s + E * f + v * d + w * p, e[11] = y * o + E * l + v * m + w * A, y = n[12], E = n[13], v = n[14], w = n[15], e[12] = y * i + E * c + v * h + w * _, e[13] = y * r + E * a + v * u + w * x, e[14] = y * s + E * f + v * d + w * p, e[15] = y * o + E * l + v * m + w * A, e;
157
+ }
158
+ function Xt(e, t, n) {
159
159
  var i = n[0], r = n[1], s = n[2];
160
160
  return e[0] = t[0] * i, e[1] = t[1] * i, e[2] = t[2] * i, e[3] = t[3] * i, e[4] = t[4] * r, e[5] = t[5] * r, e[6] = t[6] * r, e[7] = t[7] * r, e[8] = t[8] * s, e[9] = t[9] * s, e[10] = t[10] * s, e[11] = t[11] * s, e[12] = t[12], e[13] = t[13], e[14] = t[14], e[15] = t[15], e;
161
161
  }
162
- function Xt(e, t, n) {
162
+ function Wt(e, t, n) {
163
163
  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], h = t[10], u = t[11];
164
164
  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 + h * i, e[7] = a * r + u * i, e[8] = f * r - s * i, e[9] = l * r - o * i, e[10] = h * r - c * i, e[11] = u * r - a * i, e;
165
165
  }
166
- function Wt(e, t, n) {
166
+ function jt(e, t, n) {
167
167
  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], h = t[10], u = t[11];
168
168
  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 - h * i, e[3] = a * r - u * i, e[8] = s * i + f * r, e[9] = o * i + l * r, e[10] = c * i + h * r, e[11] = a * i + u * r, e;
169
169
  }
170
- function jt(e, t, n) {
170
+ function Bt(e, t, n) {
171
171
  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], h = t[6], u = t[7];
172
172
  return t !== e && (e[8] = t[8], e[9] = t[9], e[10] = t[10], e[11] = t[11], e[12] = t[12], e[13] = t[13], e[14] = t[14], e[15] = t[15]), e[0] = s * r + f * i, e[1] = o * r + l * i, e[2] = c * r + h * i, e[3] = a * r + u * i, e[4] = f * r - s * i, e[5] = l * r - o * i, e[6] = h * r - c * i, e[7] = u * r - a * i, e;
173
173
  }
174
- function mt(e, t) {
175
- var n = t[0], i = t[1], r = t[2], s = t[3], o = n + n, c = i + i, a = r + r, f = n * o, l = i * o, h = i * c, u = r * o, d = r * c, v = r * a, _ = s * o, E = s * c, p = s * a;
176
- return e[0] = 1 - h - v, e[1] = l + p, e[2] = u - E, e[3] = 0, e[4] = l - p, e[5] = 1 - f - v, e[6] = d + _, e[7] = 0, e[8] = u + E, e[9] = d - _, e[10] = 1 - f - h, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e;
174
+ function vt(e, t) {
175
+ var n = t[0], i = t[1], r = t[2], s = t[3], o = n + n, c = i + i, a = r + r, f = n * o, l = i * o, h = i * c, u = r * o, d = r * c, m = r * a, _ = s * o, x = s * c, p = s * a;
176
+ return e[0] = 1 - h - m, e[1] = l + p, e[2] = u - x, e[3] = 0, e[4] = l - p, e[5] = 1 - f - m, e[6] = d + _, e[7] = 0, e[8] = u + x, e[9] = d - _, e[10] = 1 - f - h, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e;
177
177
  }
178
- function Bt(e, t, n, i, r) {
178
+ function Vt(e, t, n, i, r) {
179
179
  var s = 1 / Math.tan(t / 2), o;
180
180
  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;
181
181
  }
182
- var Vt = Bt;
182
+ var Zt = Vt;
183
183
  function L() {
184
- var e = new k(3);
185
- return k != Float32Array && (e[0] = 0, e[1] = 0, e[2] = 0), e;
184
+ var e = new j(3);
185
+ return j != Float32Array && (e[0] = 0, e[1] = 0, e[2] = 0), e;
186
186
  }
187
- function Zt(e) {
187
+ function tt(e) {
188
+ var t = new j(3);
189
+ return t[0] = e[0], t[1] = e[1], t[2] = e[2], t;
190
+ }
191
+ function Yt(e) {
188
192
  var t = e[0], n = e[1], i = e[2];
189
193
  return Math.hypot(t, n, i);
190
194
  }
191
- function at(e, t, n) {
192
- var i = new k(3);
195
+ function ct(e, t, n) {
196
+ var i = new j(3);
193
197
  return i[0] = e, i[1] = t, i[2] = n, i;
194
198
  }
195
- function Yt(e, t) {
199
+ function $t(e, t) {
196
200
  return e[0] = t[0], e[1] = t[1], e[2] = t[2], e;
197
201
  }
198
- function Me(e, t, n, i) {
202
+ function Se(e, t, n, i) {
199
203
  return e[0] = t, e[1] = n, e[2] = i, e;
200
204
  }
201
205
  function re(e, t, n) {
202
206
  return e[0] = t[0] + n[0], e[1] = t[1] + n[1], e[2] = t[2] + n[2], e;
203
207
  }
204
- function $t(e, t, n) {
208
+ function kt(e, t, n) {
205
209
  return e[0] = t[0] - n[0], e[1] = t[1] - n[1], e[2] = t[2] - n[2], e;
206
210
  }
207
- function he(e, t, n) {
211
+ function de(e, t, n) {
208
212
  return e[0] = t[0] * n, e[1] = t[1] * n, e[2] = t[2] * n, e;
209
213
  }
210
- function be(e, t) {
214
+ function Ue(e, t) {
211
215
  var n = t[0] - e[0], i = t[1] - e[1], r = t[2] - e[2];
212
216
  return Math.hypot(n, i, r);
213
217
  }
214
- function kt(e, t) {
218
+ function Ht(e, t) {
215
219
  var n = t[0], i = t[1], r = t[2], s = n * n + i * i + r * r;
216
220
  return s > 0 && (s = 1 / Math.sqrt(s)), e[0] = t[0] * s, e[1] = t[1] * s, e[2] = t[2] * s, e;
217
221
  }
218
- function Ht(e, t) {
222
+ function Gt(e, t) {
219
223
  return e[0] * t[0] + e[1] * t[1] + e[2] * t[2];
220
224
  }
221
- function $e(e, t, n) {
225
+ function He(e, t, n) {
222
226
  var i = t[0], r = t[1], s = t[2], o = n[0], c = n[1], a = n[2];
223
227
  return e[0] = r * a - s * c, e[1] = s * o - i * a, e[2] = i * c - r * o, e;
224
228
  }
225
- function Gt(e, t, n, i) {
229
+ function Ft(e, t, n, i) {
226
230
  var r = t[0], s = t[1], o = t[2];
227
231
  return e[0] = r + i * (n[0] - r), e[1] = s + i * (n[1] - s), e[2] = o + i * (n[2] - o), e;
228
232
  }
229
- var se = $t, Ft = Zt;
233
+ var se = kt, Qt = Yt;
230
234
  (function() {
231
235
  var e = L();
232
236
  return function(t, n, i, r, s, o) {
@@ -237,40 +241,44 @@ var se = $t, Ft = Zt;
237
241
  };
238
242
  })();
239
243
  function ne() {
240
- var e = new k(4);
241
- return k != Float32Array && (e[0] = 0, e[1] = 0, e[2] = 0, e[3] = 0), e;
244
+ var e = new j(4);
245
+ return j != Float32Array && (e[0] = 0, e[1] = 0, e[2] = 0, e[3] = 0), e;
246
+ }
247
+ function Kt(e) {
248
+ var t = new j(4);
249
+ return t[0] = e[0], t[1] = e[1], t[2] = e[2], t[3] = e[3], t;
242
250
  }
243
- function Qt(e, t) {
251
+ function qt(e, t) {
244
252
  return e[0] = t[0], e[1] = t[1], e[2] = t[2], e[3] = t[3], e;
245
253
  }
246
- function ct(e, t, n, i, r) {
254
+ function ft(e, t, n, i, r) {
247
255
  return e[0] = t, e[1] = n, e[2] = i, e[3] = r, e;
248
256
  }
249
- function Kt(e, t, n) {
257
+ function Jt(e, t, n) {
250
258
  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;
251
259
  }
252
- function qt(e, t, n) {
260
+ function en(e, t, n) {
253
261
  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;
254
262
  }
255
- function Jt(e, t, n) {
263
+ function tn(e, t, n) {
256
264
  return e[0] = t[0] * n, e[1] = t[1] * n, e[2] = t[2] * n, e[3] = t[3] * n, e;
257
265
  }
258
- function en(e, t) {
266
+ function nn(e, t) {
259
267
  var n = t[0] - e[0], i = t[1] - e[1], r = t[2] - e[2], s = t[3] - e[3];
260
268
  return Math.hypot(n, i, r, s);
261
269
  }
262
- function tn(e, t) {
270
+ function rn(e, t) {
263
271
  var n = t[0], i = t[1], r = t[2], s = t[3], o = n * n + i * i + r * r + s * s;
264
272
  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;
265
273
  }
266
- function nn(e, t) {
274
+ function sn(e, t) {
267
275
  return e[0] * t[0] + e[1] * t[1] + e[2] * t[2] + e[3] * t[3];
268
276
  }
269
- function ft(e, t, n) {
277
+ function lt(e, t, n) {
270
278
  var i = t[0], r = t[1], s = t[2], o = t[3];
271
279
  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;
272
280
  }
273
- var rn = qt;
281
+ var on = en;
274
282
  (function() {
275
283
  var e = ne();
276
284
  return function(t, n, i, r, s, o) {
@@ -280,24 +288,24 @@ var rn = qt;
280
288
  return t;
281
289
  };
282
290
  })();
283
- function Fe() {
284
- var e = new k(4);
285
- return k != Float32Array && (e[0] = 0, e[1] = 0, e[2] = 0), e[3] = 1, e;
291
+ function Ke() {
292
+ var e = new j(4);
293
+ return j != Float32Array && (e[0] = 0, e[1] = 0, e[2] = 0), e[3] = 1, e;
286
294
  }
287
- function sn(e, t, n) {
295
+ function an(e, t, n) {
288
296
  n = n * 0.5;
289
297
  var i = Math.sin(n);
290
298
  return e[0] = i * t[0], e[1] = i * t[1], e[2] = i * t[2], e[3] = Math.cos(n), e;
291
299
  }
292
- function on(e, t) {
293
- var n = cn(e, t);
300
+ function cn(e, t) {
301
+ var n = ln(e, t);
294
302
  return Math.acos(2 * n * n - 1);
295
303
  }
296
- function De(e, t, n, i) {
297
- var r = t[0], s = t[1], o = t[2], c = t[3], a = n[0], f = n[1], l = n[2], h = n[3], u, d, v, _, E;
298
- return d = r * a + s * f + o * l + c * h, d < 0 && (d = -d, a = -a, f = -f, l = -l, h = -h), 1 - d > Lt ? (u = Math.acos(d), v = Math.sin(u), _ = Math.sin((1 - i) * u) / v, E = Math.sin(i * u) / v) : (_ = 1 - i, E = i), e[0] = _ * r + E * a, e[1] = _ * s + E * f, e[2] = _ * o + E * l, e[3] = _ * c + E * h, e;
304
+ function Ce(e, t, n, i) {
305
+ var r = t[0], s = t[1], o = t[2], c = t[3], a = n[0], f = n[1], l = n[2], h = n[3], u, d, m, _, x;
306
+ return d = r * a + s * f + o * l + c * h, d < 0 && (d = -d, a = -a, f = -f, l = -l, h = -h), 1 - d > Nt ? (u = Math.acos(d), m = Math.sin(u), _ = Math.sin((1 - i) * u) / m, x = Math.sin(i * u) / m) : (_ = 1 - i, x = i), e[0] = _ * r + x * a, e[1] = _ * s + x * f, e[2] = _ * o + x * l, e[3] = _ * c + x * h, e;
299
307
  }
300
- function an(e, t) {
308
+ function fn(e, t) {
301
309
  var n = t[0] + t[4] + t[8], i;
302
310
  if (n > 0)
303
311
  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;
@@ -309,54 +317,58 @@ function an(e, t) {
309
317
  }
310
318
  return e;
311
319
  }
312
- var cn = nn, vt = tn;
320
+ var ln = sn, pt = rn;
313
321
  (function() {
314
- var e = L(), t = at(1, 0, 0), n = at(0, 1, 0);
322
+ var e = L(), t = ct(1, 0, 0), n = ct(0, 1, 0);
315
323
  return function(i, r, s) {
316
- var o = Ht(r, s);
317
- return o < -0.999999 ? ($e(e, t, r), Ft(e) < 1e-6 && $e(e, n, r), kt(e, e), sn(i, e, Math.PI), i) : o > 0.999999 ? (i[0] = 0, i[1] = 0, i[2] = 0, i[3] = 1, i) : ($e(e, r, s), i[0] = e[0], i[1] = e[1], i[2] = e[2], i[3] = 1 + o, vt(i, i));
324
+ var o = Gt(r, s);
325
+ return o < -0.999999 ? (He(e, t, r), Qt(e) < 1e-6 && He(e, n, r), Ht(e, e), an(i, e, Math.PI), i) : o > 0.999999 ? (i[0] = 0, i[1] = 0, i[2] = 0, i[3] = 1, i) : (He(e, r, s), i[0] = e[0], i[1] = e[1], i[2] = e[2], i[3] = 1 + o, pt(i, i));
318
326
  };
319
327
  })();
320
328
  (function() {
321
- var e = Fe(), t = Fe();
329
+ var e = Ke(), t = Ke();
322
330
  return function(n, i, r, s, o, c) {
323
- return De(e, i, o, c), De(t, r, s, c), De(n, e, t, 2 * c * (1 - c)), n;
331
+ return Ce(e, i, o, c), Ce(t, r, s, c), Ce(n, e, t, 2 * c * (1 - c)), n;
324
332
  };
325
333
  })();
326
334
  (function() {
327
- var e = It();
335
+ var e = Dt();
328
336
  return function(t, n, i, r) {
329
- return e[0] = i[0], e[3] = i[1], e[6] = i[2], e[1] = r[0], e[4] = r[1], e[7] = r[2], e[2] = -n[0], e[5] = -n[1], e[8] = -n[2], vt(t, an(t, e));
337
+ 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], pt(t, fn(t, e));
330
338
  };
331
339
  })();
332
340
  function pe() {
333
- var e = new k(2);
334
- return k != Float32Array && (e[0] = 0, e[1] = 0), e;
341
+ var e = new j(2);
342
+ return j != Float32Array && (e[0] = 0, e[1] = 0), e;
335
343
  }
336
- function fn(e, t) {
344
+ function un(e) {
345
+ var t = new j(2);
346
+ return t[0] = e[0], t[1] = e[1], t;
347
+ }
348
+ function hn(e, t) {
337
349
  return e[0] = t[0], e[1] = t[1], e;
338
350
  }
339
- function ln(e, t, n) {
351
+ function dn(e, t, n) {
340
352
  return e[0] = t, e[1] = n, e;
341
353
  }
342
- function un(e, t, n) {
354
+ function mn(e, t, n) {
343
355
  return e[0] = t[0] + n[0], e[1] = t[1] + n[1], e;
344
356
  }
345
- function hn(e, t, n) {
357
+ function vn(e, t, n) {
346
358
  return e[0] = t[0] - n[0], e[1] = t[1] - n[1], e;
347
359
  }
348
- function dn(e, t, n) {
360
+ function pn(e, t, n) {
349
361
  return e[0] = t[0] * n, e[1] = t[1] * n, e;
350
362
  }
351
- function mn(e, t) {
363
+ function xn(e, t) {
352
364
  var n = t[0] - e[0], i = t[1] - e[1];
353
365
  return Math.hypot(n, i);
354
366
  }
355
- function vn(e, t) {
367
+ function En(e, t) {
356
368
  var n = t[0] - e[0], i = t[1] - e[1];
357
369
  return n * n + i * i;
358
370
  }
359
- var pn = hn;
371
+ var _n = vn;
360
372
  (function() {
361
373
  var e = pe();
362
374
  return function(t, n, i, r, s, o) {
@@ -366,86 +378,86 @@ var pn = hn;
366
378
  return t;
367
379
  };
368
380
  })();
369
- const K = 40075017, Oe = (e) => e / 180 * Math.PI, xn = (e) => e * 180 / Math.PI, En = (e, t, n) => {
381
+ const F = 40075017, Xe = (e) => e / 180 * Math.PI, yn = (e) => e * 180 / Math.PI, wn = (e, t, n) => {
370
382
  const i = Math.sqrt(t * t - 4 * e * n);
371
383
  return [(-t - i) / (2 * e), (-t + i) / (2 * e)];
372
- }, _n = (e, t, n) => Math.min(Math.max(e, t), n), lt = Math.atan(Math.sinh(Math.PI)), z = ([e = 0, t = 0, n = 0], i = L()) => Me(
384
+ }, Tn = (e, t, n) => Math.min(Math.max(e, t), n), ut = Math.atan(Math.sinh(Math.PI)), z = ([e = 0, t = 0, n = 0], i = L()) => Se(
373
385
  i,
374
386
  e / 360 + 0.5,
375
- -Math.asinh(Math.tan(_n(Oe(t), -lt, lt))) / (2 * Math.PI) + 0.5,
376
- n / K
377
- ), oe = ([e = 0, t = 0, n = 0], i = L()) => Me(
387
+ -Math.asinh(Math.tan(Tn(Xe(t), -ut, ut))) / (2 * Math.PI) + 0.5,
388
+ n / F
389
+ ), oe = ([e = 0, t = 0, n = 0], i = L()) => Se(
378
390
  i,
379
391
  (e - 0.5) * 360,
380
- xn(Math.atan(Math.sinh(-(t - 0.5) * (2 * Math.PI)))),
381
- n * K
382
- ), pt = ([e = 0, t = 0, n = 0], i = L()) => {
392
+ yn(Math.atan(Math.sinh(-(t - 0.5) * (2 * Math.PI)))),
393
+ n * F
394
+ ), xt = ([e = 0, t = 0, n = 0], i = L()) => {
383
395
  const r = 2 ** -n;
384
- return Me(i, e * r, t * r, 0);
385
- }, Pe = ([e = 0, t = 0, n = 0]) => {
396
+ return Se(i, e * r, t * r, 0);
397
+ }, Le = ([e = 0, t = 0, n = 0]) => {
386
398
  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, h = c * o * i + a * s * r, u = c * s * r - a * o * i;
387
399
  return [l, h, u, f];
388
- }, yn = ([e = 0, t = 0, n = 0, i = 0]) => {
400
+ }, gn = ([e = 0, t = 0, n = 0, i = 0]) => {
389
401
  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));
390
402
  return [s, o, r];
391
- }, xt = {
403
+ }, Et = {
392
404
  target: [0, 0, 0],
393
405
  offset: [0, 0],
394
- distance: K,
406
+ distance: F,
395
407
  orientation: [0, 0, 0],
396
408
  fieldOfView: 45
397
- }, Tn = ve(), wn = ne(), te = (e, t) => {
409
+ }, te = (e, t) => {
398
410
  const { target: n, offset: i, distance: r, orientation: s, fieldOfView: o } = {
399
- ...xt,
411
+ ...Et,
400
412
  ...e
401
- }, [c = 0, a = 0] = t, [f = 0, l = 0] = i, [h = 0, u = 0, d = 0] = s, v = Math.tan(Oe(45) / 2) / Math.tan(Oe(o) / 2), _ = r / K, E = 1e9, p = 0.01, A = _ * (E + v - 1), y = _ * (p + v - 1), x = ve();
402
- ot(x), Vt(x, Oe(o), c / a, y, A), Ct(x, x, [1, -1, 1]);
403
- const m = ve();
404
- ot(m), Xt(m, m, h), Wt(m, m, u), jt(m, m, d);
405
- const T = Ot(Tn, x, m), b = Dt(ve(), T);
406
- if (!b)
413
+ }, [c = 0, a = 0] = t, [f = 0, l = 0] = i, [h = 0, u = 0, d = 0] = s, m = Math.tan(Xe(45) / 2) / Math.tan(Xe(o) / 2), _ = r / F, x = Math.max(1e3 / F, _), p = 1e3, A = 1e-3, y = x * p * m, E = x * A * m, v = ne(), w = he();
414
+ at(w), Zt(w, Xe(o), c / a, E, y), Xt(w, w, [1, -1, 1]);
415
+ const M = he();
416
+ at(M), Wt(M, M, h), jt(M, M, u), Bt(M, M, d);
417
+ const T = Ct(he(), w, M), R = Ot(he(), T);
418
+ if (!R)
407
419
  throw new Error("No inverse");
408
- const w = (O) => {
409
- const Y = [c * O, a * O], $ = [f * O, l * O];
410
- return te({ ...e, offset: $ }, Y);
411
- }, R = ([O = 0, Y = 0], $ = ne()) => {
412
- const Q = 2 * O / c - 1, Te = -(2 * Y / a - 1);
413
- return ct($, Q, Te, 0, 1);
414
- }, g = ([O = 0, Y = 0, , $ = 0], Q = pe()) => $ < 0 ? Q : ln(Q, (1 + O / $) * c * 0.5, (1 - Y / $) * a * 0.5), M = (O, Y = L()) => {
415
- const [$ = 0, Q = 0, Te = 0, we = 0] = ft(wn, O, b);
416
- return Me(Y, $ / we, Q / we, Te / we);
417
- }, S = ([O = 0, Y = 0, $ = 0], Q = ne()) => ft(Q, ct(Q, O, Y, $, 1), T), [U = 0, P = 0] = R([f + c / 2, l + a / 2]), [N = 0, I = 0, C = 0] = M([U, P, -1, 1]), [X = 0, W = 0, j = 0] = M([U, P, 1.00001, 1]), [Z = 0] = En(
418
- (X - N) ** 2 + (W - I) ** 2 + (j - C) ** 2,
419
- 2 * (N * (X - N) + I * (W - I) + C * (j - C)),
420
- N ** 2 + I ** 2 + C ** 2 - (_ * v) ** 2
420
+ const g = (C) => {
421
+ const Y = [c * C, a * C], H = [f * C, l * C];
422
+ return te({ ...e, offset: H }, Y);
423
+ }, b = ([C = 0, Y = 0], H = ne()) => {
424
+ const K = 2 * C / c - 1, ge = -(2 * Y / a - 1);
425
+ return ft(H, K, ge, 0, 1);
426
+ }, S = ([C = 0, Y = 0, , H = 0], K = pe()) => H < 0 ? K : dn(K, (1 + C / H) * c * 0.5, (1 - Y / H) * a * 0.5), U = (C, Y = L()) => {
427
+ const [H = 0, K = 0, ge = 0, Re = 0] = lt(v, C, R);
428
+ return Se(Y, H / Re, K / Re, ge / Re);
429
+ }, P = ([C = 0, Y = 0, H = 0], K = ne()) => lt(K, ft(K, C, Y, H, 1), T), [D = 0, O = 0] = b([f + c / 2, l + a / 2]), [X = 0, I = 0, W = 0] = U([D, O, -1, 1]), [B = 0, $ = 0, J = 0] = U([D, O, 1.00001, 1]), [k = 0] = wn(
430
+ (B - X) ** 2 + ($ - I) ** 2 + (J - W) ** 2,
431
+ 2 * (X * (B - X) + I * ($ - I) + W * (J - W)),
432
+ X ** 2 + I ** 2 + W ** 2 - (_ * m) ** 2
421
433
  );
422
- if (isNaN(Z))
434
+ if (isNaN(k))
423
435
  throw new Error("Unexpected");
424
- const J = [
425
- N + Z * (X - N),
426
- I + Z * (W - I),
427
- C + Z * (j - C)
428
- ], H = se(L(), z(n), J), G = (O, Y = L()) => re(Y, O, H), Ue = (O, Y = L()) => se(Y, O, H);
436
+ const Q = [
437
+ X + k * (B - X),
438
+ I + k * ($ - I),
439
+ W + k * (J - W)
440
+ ], we = se(L(), z(n), Q), Te = (C, Y = L()) => re(Y, C, we), ze = (C, Y = L()) => se(Y, C, we);
429
441
  return {
430
- camera: H,
442
+ camera: we,
431
443
  screen: t,
432
- projection: x,
433
- modelView: m,
434
- fieldScale: v,
435
- scale: w,
436
- screenToClip: R,
437
- clipToScreen: g,
438
- clipToLocal: M,
439
- localToClip: S,
440
- localToWorld: G,
441
- worldToLocal: Ue,
442
- project: (O) => g(S(Ue(z(O)))),
443
- unproject: (O, { targetZ: Y = 0 } = {}) => {
444
- const $ = R(O), [Q = 0, Te = 0, , we = 0] = $, bt = [Q, Te, -1, we], nt = oe(G(M($))), it = oe(G(M(bt))), [, , Ye = 0] = nt, [, , rt = 0] = it, St = Ye === rt ? 0 : (Y - Ye) / (rt - Ye);
445
- return Gt(L(), nt, it, St);
444
+ projection: w,
445
+ modelView: M,
446
+ fieldScale: m,
447
+ scale: g,
448
+ screenToClip: b,
449
+ clipToScreen: S,
450
+ clipToLocal: U,
451
+ localToClip: P,
452
+ localToWorld: Te,
453
+ worldToLocal: ze,
454
+ project: (C) => S(P(ze(z(C)))),
455
+ unproject: (C, { targetZ: Y = 0 } = {}) => {
456
+ const H = b(C), [K = 0, ge = 0, , Re = 0] = H, St = [K, ge, -1, Re], it = oe(Te(U(H))), rt = oe(Te(U(St))), [, , ke = 0] = it, [, , st = 0] = rt, Ut = ke === st ? 0 : (Y - ke) / (st - ke);
457
+ return Ft(L(), it, rt, Ut);
446
458
  }
447
459
  };
448
- }, gn = 100, Si = (e, t, n) => {
460
+ }, Rn = 100, zi = (e, t, n) => {
449
461
  const {
450
462
  enabled: i = () => !0,
451
463
  draggable: r = () => !0,
@@ -453,75 +465,75 @@ const K = 40075017, Oe = (e) => e / 180 * Math.PI, xn = (e) => e * 180 / Math.PI
453
465
  onChangeView: o
454
466
  } = n;
455
467
  let c = !1, a = !1;
456
- const { view: f } = n, l = ([m = 0, T = 0]) => {
457
- const [b, w] = [
468
+ const { view: f } = n, l = ([v = 0, w = 0]) => {
469
+ const [M, T] = [
458
470
  e.width / devicePixelRatio,
459
471
  e.height / devicePixelRatio
460
- ], { camera: R, fieldScale: g } = te(f(), [b, w]), { position: M, layer: S } = t.pick([m, T]);
472
+ ], { camera: R, fieldScale: g } = te(f(), [M, T]), { position: b, layer: S } = t.pick([v, w]);
461
473
  if (!S)
462
474
  return;
463
- const U = be(z(M), R) * K / g, P = [m - b / 2, T - w / 2];
475
+ const U = Ue(z(b), R) * F / g, P = [v - M / 2, w - T / 2];
464
476
  o({
465
477
  offset: P,
466
- target: M,
478
+ target: b,
467
479
  distance: U
468
480
  });
469
- }, h = (m, T) => {
481
+ }, h = (v, w) => {
470
482
  if (!r())
471
483
  return;
472
- a || (l([m, T]), a = !0);
473
- const [b, w] = [
484
+ a || (l([v, w]), a = !0);
485
+ const [M, T] = [
474
486
  e.width / devicePixelRatio,
475
487
  e.height / devicePixelRatio
476
488
  ];
477
489
  o({
478
- offset: [m - b / 2, T - w / 2]
490
+ offset: [v - M / 2, w - T / 2]
479
491
  });
480
- }, u = (m, T, b, w) => {
492
+ }, u = (v, w, M, T) => {
481
493
  if (!s())
482
494
  return;
483
- r() && !a && (l([m, T]), a = !0);
495
+ r() && !a && (l([v, w]), a = !0);
484
496
  const [R, g] = [
485
497
  e.width / devicePixelRatio,
486
498
  e.height / devicePixelRatio
487
- ], { orientation: [M = 0, S = 0, U = 0] = [] } = f(), P = [
499
+ ], { orientation: [b = 0, S = 0, U = 0] = [] } = f(), P = [
488
500
  Math.min(
489
501
  Math.PI / 2 - 0.1,
490
- Math.max(0.1, M - w / g * Math.PI)
502
+ Math.max(0.1, b - T / g * Math.PI)
491
503
  ),
492
504
  S,
493
- U - b / R * Math.PI
505
+ U - M / R * Math.PI
494
506
  ];
495
507
  o({
496
508
  orientation: P
497
509
  });
498
- }, d = (m) => {
499
- m.preventDefault(), a = !1;
500
- }, v = ({ buttons: m, movementX: T, movementY: b, x: w, y: R }) => {
501
- !i() || !m || (m === 1 && r() ? h(w, R) : m === 2 && s() && u(w, R, T, b));
502
- }, _ = (m) => {
503
- m.preventDefault();
504
- const T = m.touches.item(0);
505
- if (!T)
510
+ }, d = (v) => {
511
+ v.preventDefault(), a = !1;
512
+ }, m = ({ buttons: v, movementX: w, movementY: M, x: T, y: R }) => {
513
+ !i() || !v || (v === 1 && r() ? h(T, R) : v === 2 && s() && u(T, R, w, M));
514
+ }, _ = (v) => {
515
+ v.preventDefault();
516
+ const w = v.touches.item(0);
517
+ if (!w)
506
518
  return;
507
- const { clientX: b, clientY: w } = T;
508
- h(b, w);
509
- }, E = Ut(() => c = !1, 100), p = ({ x: m, y: T, deltaY: b }) => {
519
+ const { clientX: M, clientY: T } = w;
520
+ h(M, T);
521
+ }, x = Pt(() => c = !1, 100), p = ({ x: v, y: w, deltaY: M }) => {
510
522
  if (!i())
511
523
  return;
512
- c || (r() && l([m, T]), c = !0);
513
- let { distance: w } = { ...xt, ...f() };
514
- w = Math.min(
515
- Math.max(w * Math.exp(b * 1e-3), gn),
516
- K
517
- ), o({ distance: w }), E();
518
- }, A = (m) => m.preventDefault(), y = (m) => m.preventDefault();
519
- return e.addEventListener("mousedown", d), e.addEventListener("mousemove", v), e.addEventListener("touchstart", d, { passive: !1 }), e.addEventListener("touchmove", _, { passive: !1 }), e.addEventListener("gesturestart", A), e.addEventListener("wheel", p, { passive: !0 }), e.addEventListener("contextmenu", y), {
524
+ c || (r() && l([v, w]), c = !0);
525
+ let { distance: T } = { ...Et, ...f() };
526
+ T = Math.min(
527
+ Math.max(T * Math.exp(M * 1e-3), Rn),
528
+ F
529
+ ), o({ distance: T }), x();
530
+ }, A = (v) => v.preventDefault(), y = (v) => v.preventDefault();
531
+ return e.addEventListener("mousedown", d), e.addEventListener("mousemove", m), e.addEventListener("touchstart", d, { passive: !1 }), e.addEventListener("touchmove", _, { passive: !1 }), e.addEventListener("gesturestart", A), e.addEventListener("wheel", p, { passive: !0 }), e.addEventListener("contextmenu", y), {
520
532
  dispose: () => {
521
- e.removeEventListener("mousedown", d), e.removeEventListener("mousemove", v), e.removeEventListener("touchstart", d), e.removeEventListener("touchmove", _), e.removeEventListener("gesturestart", A), e.removeEventListener("wheel", p), e.removeEventListener("contextmenu", y);
533
+ e.removeEventListener("mousedown", d), e.removeEventListener("mousemove", m), e.removeEventListener("touchstart", d), e.removeEventListener("touchmove", _), e.removeEventListener("gesturestart", A), e.removeEventListener("wheel", p), e.removeEventListener("contextmenu", y);
522
534
  }
523
535
  };
524
- }, V = ({
536
+ }, Z = ({
525
537
  gl: e,
526
538
  type: t,
527
539
  target: n
@@ -541,7 +553,7 @@ const K = 40075017, Oe = (e) => e / 180 * Math.PI, xn = (e) => e * 180 / Math.PI
541
553
  use: s,
542
554
  dispose: () => e.deleteBuffer(i)
543
555
  };
544
- }, ke = 2 ** 30, q = ([e = 0, t = 0, n = 0]) => [Math.floor(e * ke), Math.floor(t * ke), Math.floor(n * ke)], Ee = (e, t, n) => {
556
+ }, Ge = 2 ** 30, q = ([e = 0, t = 0, n = 0]) => [Math.floor(e * Ge), Math.floor(t * Ge), Math.floor(n * Ge)], Ee = (e, t, n) => {
545
557
  const { pickable: i, depth: r, polygonOffset: s } = {
546
558
  pickable: () => !0,
547
559
  depth: () => !0,
@@ -581,11 +593,11 @@ vec2 pack_index(in int index) {
581
593
  void main(void) {
582
594
  result = vec4(pack_depth(gl_FragCoord.z), pack_index(index));
583
595
  }`;
584
- const Et = "KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2FkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGFzeW5jIG49Pntjb25zdFtpLHRdPW4uZGF0YTtpZihpIT09ImxvYWQiKXJldHVybjtjb25zdCBvPW5ldyBBYm9ydENvbnRyb2xsZXIse3NpZ25hbDpjfT1vLHI9ZT0+e2NvbnN0W3MsYV09ZS5kYXRhO3M9PT0iY2FuY2VsIiYmYT09PXQmJm8uYWJvcnQoKX07YWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscik7dHJ5e2NvbnN0IGU9YXdhaXQgZmV0Y2godCx7bW9kZToiY29ycyIsc2lnbmFsOmN9KTtpZighZS5vayl7cG9zdE1lc3NhZ2Uoe3VybDp0LGltYWdlOnZvaWQgMH0pO3JldHVybn1jb25zdCBzPWF3YWl0IGUuYmxvYigpLGE9YXdhaXQgY3JlYXRlSW1hZ2VCaXRtYXAocyk7cG9zdE1lc3NhZ2Uoe3VybDp0LGltYWdlOmF9KX1jYXRjaChlKXtpZighKGUgaW5zdGFuY2VvZiBFcnJvcikpdGhyb3cgZTtpZihlLm1lc3NhZ2U9PT0iVGhlIHVzZXIgYWJvcnRlZCBhIHJlcXVlc3QuInx8ZS5tZXNzYWdlLnN0YXJ0c1dpdGgoInNpZ25hbCBpcyBhYm9ydGVkIHdpdGhvdXQgcmVhc29uIikpcmV0dXJuO2lmKGUubWVzc2FnZT09PSJGYWlsZWQgdG8gZmV0Y2giKXtwb3N0TWVzc2FnZSh7dXJsOnQsaW1hZ2U6dm9pZCAwfSk7cmV0dXJufXRocm93IGV9ZmluYWxseXtyZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIixyKX19KX0pKCk7Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPWltYWdlLWxvYWQtd29ya2VyLWR6cmprQ3RLLmpzLm1hcAo=", ut = typeof window < "u" && window.Blob && new Blob([atob(Et)], { type: "text/javascript;charset=utf-8" });
585
- function Rn(e) {
596
+ const _t = "KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2FkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGFzeW5jIG49Pntjb25zdFtpLHRdPW4uZGF0YTtpZihpIT09ImxvYWQiKXJldHVybjtjb25zdCBvPW5ldyBBYm9ydENvbnRyb2xsZXIse3NpZ25hbDpjfT1vLHI9ZT0+e2NvbnN0W3MsYV09ZS5kYXRhO3M9PT0iY2FuY2VsIiYmYT09PXQmJm8uYWJvcnQoKX07YWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscik7dHJ5e2NvbnN0IGU9YXdhaXQgZmV0Y2godCx7bW9kZToiY29ycyIsc2lnbmFsOmN9KTtpZighZS5vayl7cG9zdE1lc3NhZ2Uoe3VybDp0LGltYWdlOnZvaWQgMH0pO3JldHVybn1jb25zdCBzPWF3YWl0IGUuYmxvYigpLGE9YXdhaXQgY3JlYXRlSW1hZ2VCaXRtYXAocyk7cG9zdE1lc3NhZ2Uoe3VybDp0LGltYWdlOmF9KX1jYXRjaChlKXtpZighKGUgaW5zdGFuY2VvZiBFcnJvcikpdGhyb3cgZTtpZihlLm1lc3NhZ2U9PT0iVGhlIHVzZXIgYWJvcnRlZCBhIHJlcXVlc3QuInx8ZS5tZXNzYWdlLnN0YXJ0c1dpdGgoInNpZ25hbCBpcyBhYm9ydGVkIHdpdGhvdXQgcmVhc29uIikpcmV0dXJuO2lmKGUubWVzc2FnZT09PSJGYWlsZWQgdG8gZmV0Y2giKXtwb3N0TWVzc2FnZSh7dXJsOnQsaW1hZ2U6dm9pZCAwfSk7cmV0dXJufXRocm93IGV9ZmluYWxseXtyZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIixyKX19KX0pKCk7Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPWltYWdlLWxvYWQtd29ya2VyLWR6cmprQ3RLLmpzLm1hcAo=", ht = typeof window < "u" && window.Blob && new Blob([atob(_t)], { type: "text/javascript;charset=utf-8" });
597
+ function An(e) {
586
598
  let t;
587
599
  try {
588
- if (t = ut && (window.URL || window.webkitURL).createObjectURL(ut), !t)
600
+ if (t = ht && (window.URL || window.webkitURL).createObjectURL(ht), !t)
589
601
  throw "";
590
602
  const n = new Worker(t, {
591
603
  name: e?.name
@@ -595,7 +607,7 @@ function Rn(e) {
595
607
  }), n;
596
608
  } catch {
597
609
  return new Worker(
598
- "data:text/javascript;base64," + Et,
610
+ "data:text/javascript;base64," + _t,
599
611
  {
600
612
  name: e?.name
601
613
  }
@@ -604,26 +616,26 @@ function Rn(e) {
604
616
  t && (window.URL || window.webkitURL).revokeObjectURL(t);
605
617
  }
606
618
  }
607
- const ze = Rn(), An = ({
619
+ const Ne = An(), Mn = ({
608
620
  url: e,
609
621
  onLoad: t
610
622
  }) => {
611
623
  let n = !1;
612
624
  const i = ({ data: o }) => {
613
- r || e !== o.url || (ze.removeEventListener("message", i), o.image && (n = !0, t(o.image)));
625
+ r || e !== o.url || (Ne.removeEventListener("message", i), o.image && (n = !0, t(o.image)));
614
626
  };
615
- ze.addEventListener("message", i);
627
+ Ne.addEventListener("message", i);
616
628
  let r = !1;
617
629
  const s = () => {
618
- n || (r = !0, ze.postMessage(["cancel", e]));
630
+ n || (r = !0, Ne.postMessage(["cancel", e]));
619
631
  };
620
- return ze.postMessage(["load", e]), {
632
+ return Ne.postMessage(["load", e]), {
621
633
  get loaded() {
622
634
  return n;
623
635
  },
624
636
  cancel: s
625
637
  };
626
- }, _t = (e) => {
638
+ }, yt = (e) => {
627
639
  const t = e.createTexture();
628
640
  if (!t)
629
641
  throw new Error("Texture creation failed");
@@ -637,12 +649,12 @@ const ze = Rn(), An = ({
637
649
  0
638
650
  );
639
651
  }, dispose: () => e.deleteTexture(t) };
640
- }, yt = ({
652
+ }, wt = ({
641
653
  gl: e,
642
654
  url: t,
643
655
  onLoad: n
644
656
  }) => {
645
- const i = _t(e), r = An({
657
+ const i = yt(e), r = Mn({
646
658
  url: t,
647
659
  onLoad: (a) => {
648
660
  a && (i.use(), e.texImage2D(
@@ -666,7 +678,7 @@ const ze = Rn(), An = ({
666
678
  }
667
679
  };
668
680
  };
669
- var Mn = `#version 300 es
681
+ var bn = `#version 300 es
670
682
 
671
683
  precision highp float;
672
684
 
@@ -678,7 +690,7 @@ out vec4 result;
678
690
  void main() {
679
691
  result = texture(image, uv_out) * color_out;
680
692
  if (result.a == 0.f) discard;
681
- }`, bn = `#version 300 es
693
+ }`, Sn = `#version 300 es
682
694
 
683
695
  precision highp float;
684
696
 
@@ -713,10 +725,10 @@ void main(void) {
713
725
  uv_out = uv;
714
726
  color_out = color;
715
727
  }`;
716
- const Ui = (e, t = {}) => {
728
+ const Li = (e, t = {}) => {
717
729
  const { gl: n } = e;
718
730
  let i, r = [0, 0];
719
- const s = V({ gl: n, type: "f32", target: "array" }), o = V({ gl: n, type: "f32", target: "array" }), c = V({ gl: n, type: "u16", target: "element" });
731
+ const s = Z({ gl: n, type: "f32", target: "array" }), o = Z({ gl: n, type: "f32", target: "array" }), c = Z({ gl: n, type: "u16", target: "element" });
720
732
  s.set(
721
733
  [
722
734
  [-1, -1],
@@ -739,39 +751,39 @@ const Ui = (e, t = {}) => {
739
751
  );
740
752
  const a = ce(
741
753
  () => t.url?.() ?? "",
742
- (v) => {
743
- const _ = yt({
754
+ (m) => {
755
+ const _ = wt({
744
756
  gl: n,
745
- url: v,
746
- onLoad: ({ width: E, height: p }) => {
747
- r = [E, p], n.texParameteri(n.TEXTURE_2D, n.TEXTURE_MIN_FILTER, n.LINEAR), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_MAG_FILTER, n.LINEAR), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_S, n.CLAMP_TO_EDGE), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_T, n.CLAMP_TO_EDGE), i?.dispose(), i = _;
757
+ url: m,
758
+ onLoad: ({ width: x, height: p }) => {
759
+ r = [x, 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 = _;
748
760
  }
749
761
  });
750
762
  }
751
- ), { renderProgram: f, depthProgram: l } = Sn(e, {
763
+ ), { renderProgram: f, depthProgram: l } = Un(e, {
752
764
  cornerBuffer: s,
753
765
  uvBuffer: o,
754
766
  indexBuffer: c
755
767
  }), h = ({
756
- viewport: { projection: v, modelView: _, camera: E, screen: p },
768
+ viewport: { projection: m, modelView: _, camera: x, screen: p },
757
769
  depth: A = !1,
758
770
  index: y = 0
759
771
  }) => {
760
- const x = t.position?.() ?? [0, 0, 0], m = t.color?.() ?? [1, 1, 1, 1], T = t.size?.() ?? 100, b = t.minSizePixels?.() ?? 0, w = t.maxSizePixels?.() ?? Number.MAX_VALUE;
772
+ const E = t.position?.() ?? [0, 0, 0], v = t.color?.() ?? [1, 1, 1, 1], w = t.size?.() ?? 100, M = t.minSizePixels?.() ?? 0, T = t.maxSizePixels?.() ?? Number.MAX_VALUE;
761
773
  if (a(), !i || Ee(n, A, t))
762
774
  return;
763
775
  (A ? l : f).execute({
764
- projection: v,
776
+ projection: m,
765
777
  modelView: _,
766
- camera: q(E),
778
+ camera: q(x),
767
779
  screen: p,
768
780
  image: i,
769
781
  imageSize: r,
770
- position: q(z(x)),
771
- color: m,
772
- size: T,
773
- minSizePixels: b,
774
- maxSizePixels: w,
782
+ position: q(z(E)),
783
+ color: v,
784
+ size: w,
785
+ minSizePixels: M,
786
+ maxSizePixels: T,
775
787
  index: y
776
788
  });
777
789
  }, u = () => {
@@ -782,42 +794,42 @@ const Ui = (e, t = {}) => {
782
794
  dispose: u,
783
795
  ...d
784
796
  };
785
- }, Sn = ({ gl: e, programs: t }, {
797
+ }, Un = ({ gl: e, programs: t }, {
786
798
  cornerBuffer: n,
787
799
  uvBuffer: i,
788
800
  indexBuffer: r
789
801
  }) => {
790
802
  const s = (a = !1) => {
791
803
  const f = t.get({
792
- vertexSource: bn,
793
- fragmentSource: a ? _e : Mn
804
+ vertexSource: Sn,
805
+ fragmentSource: a ? _e : bn
794
806
  }), l = f.attribute2f("corner", n, {
795
807
  stride: 2 * Float32Array.BYTES_PER_ELEMENT
796
808
  }), h = f.attribute2f("uv", i, {
797
809
  stride: 2 * Float32Array.BYTES_PER_ELEMENT
798
- }), u = f.uniformMatrix4f("projection"), d = f.uniformMatrix4f("model_view"), v = f.uniform3i("camera"), _ = f.uniform2f("screen"), E = f.uniform1i("image"), p = f.uniform2f("image_size"), A = f.uniform3i("position"), y = f.uniform4f("color"), x = f.uniform1i("index"), m = f.uniform1f("size"), T = f.uniform1f("min_size_pixels"), b = f.uniform1f("max_size_pixels");
810
+ }), u = f.uniformMatrix4f("projection"), d = f.uniformMatrix4f("model_view"), m = f.uniform3i("camera"), _ = f.uniform2f("screen"), x = f.uniform1i("image"), p = f.uniform2f("image_size"), A = f.uniform3i("position"), y = f.uniform4f("color"), E = f.uniform1i("index"), v = f.uniform1f("size"), w = f.uniform1f("min_size_pixels"), M = f.uniform1f("max_size_pixels");
799
811
  return { execute: ({
800
812
  projection: R,
801
813
  modelView: g,
802
- camera: M,
814
+ camera: b,
803
815
  screen: S,
804
816
  image: U,
805
817
  imageSize: P,
806
- position: N,
807
- color: I,
808
- size: C,
809
- minSizePixels: X,
818
+ position: D,
819
+ color: O,
820
+ size: X,
821
+ minSizePixels: I,
810
822
  maxSizePixels: W,
811
- index: j
823
+ index: B
812
824
  }) => {
813
- f.use(), l.use(), h.use(), u.set(R), d.set(g), v.set(M), _.set(S), p.set(P), A.set(N), y.set(I), m.set(C), T.set(X), b.set(W), x.set(j), e.activeTexture(e.TEXTURE0), E.set(0), U.use(), r.use(), e.drawElements(e.TRIANGLES, 6, e.UNSIGNED_SHORT, 0);
825
+ f.use(), l.use(), h.use(), u.set(R), d.set(g), m.set(b), _.set(S), p.set(P), A.set(D), y.set(O), v.set(X), w.set(I), M.set(W), E.set(B), e.activeTexture(e.TEXTURE0), x.set(0), U.use(), r.use(), e.drawElements(e.TRIANGLES, 6, e.UNSIGNED_SHORT, 0);
814
826
  } };
815
827
  }, o = s(), c = s(!0);
816
828
  return { renderProgram: o, depthProgram: c };
817
- }, Pi = (e) => ({
829
+ }, Ni = (e) => ({
818
830
  children: e,
819
831
  dispose: () => e.forEach((n) => n.dispose())
820
- }), zi = (e) => {
832
+ }), Ii = (e) => {
821
833
  const { keys: t, create: n } = e, i = /* @__PURE__ */ new Map();
822
834
  return {
823
835
  get children() {
@@ -833,13 +845,13 @@ const Ui = (e, t = {}) => {
833
845
  },
834
846
  dispose: () => Object.values(i).forEach((o) => o.dispose())
835
847
  };
836
- }, Li = (e) => ({
848
+ }, Di = (e) => ({
837
849
  render: e,
838
850
  dispose: () => {
839
851
  }
840
- }), Ni = () => ({ dispose: () => {
852
+ }), Oi = () => ({ dispose: () => {
841
853
  } });
842
- var Un = `#version 300 es
854
+ var Pn = `#version 300 es
843
855
 
844
856
  precision highp float;
845
857
 
@@ -856,7 +868,7 @@ void main() {
856
868
  result = color_out * texture(
857
869
  dash,
858
870
  vec2(fract((distance_out / dash_size) - dash_offset), 0.0));;
859
- }`, Pn = `#version 300 es
871
+ }`, zn = `#version 300 es
860
872
 
861
873
  precision highp float;
862
874
 
@@ -923,67 +935,67 @@ void main(void) {
923
935
  color_out = color;
924
936
  distance_out = distance;
925
937
  }`;
926
- const Ii = (e, t = {}) => {
938
+ const Ci = (e, t = {}) => {
927
939
  const { gl: n } = e;
928
940
  let i = 0;
929
- const r = V({ gl: n, type: "i32", target: "array" }), s = V({ gl: n, type: "u16", target: "element" }), o = V({ gl: n, type: "f32", target: "array" }), c = V({ gl: n, type: "f32", target: "array" }), { renderProgram: a, depthProgram: f } = zn(e, {
941
+ const r = Z({ gl: n, type: "i32", target: "array" }), s = Z({ gl: n, type: "u16", target: "element" }), o = Z({ gl: n, type: "f32", target: "array" }), c = Z({ gl: n, type: "f32", target: "array" }), { renderProgram: a, depthProgram: f } = Ln(e, {
930
942
  positionBuffer: r,
931
943
  indexBuffer: s,
932
944
  cornerBuffer: o,
933
945
  distanceBuffer: c
934
- }), l = _t(n);
946
+ }), l = yt(n);
935
947
  l.use(), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_MIN_FILTER, n.LINEAR), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_MAG_FILTER, n.LINEAR), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_S, n.CLAMP_TO_EDGE), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_T, n.REPEAT);
936
948
  const h = ({
937
- viewport: { projection: E, modelView: p, camera: A, screen: y },
938
- depth: x = !1,
939
- index: m = 0
949
+ viewport: { projection: x, modelView: p, camera: A, screen: y },
950
+ depth: E = !1,
951
+ index: v = 0
940
952
  }) => {
941
953
  u(), d();
942
- const T = t.color?.() ?? [1, 1, 1, 1], b = t.width?.() ?? 1, w = t.minWidthPixels?.() ?? 0, R = t.maxWidthPixels?.() ?? Number.MAX_VALUE, g = t.depthWidthPixels?.(), M = t.dashSize?.() ?? 1e3, S = t.dashOffset?.() ?? 0;
943
- if (Ee(n, x, t))
954
+ const w = t.color?.() ?? [1, 1, 1, 1], M = t.width?.() ?? 1, T = t.minWidthPixels?.() ?? 0, R = t.maxWidthPixels?.() ?? Number.MAX_VALUE, g = t.depthWidthPixels?.(), b = t.dashSize?.() ?? 1e3, S = t.dashOffset?.() ?? 0;
955
+ if (Ee(n, E, t))
944
956
  return;
945
- (x ? f : a).execute({
946
- projection: E,
957
+ (E ? f : a).execute({
958
+ projection: x,
947
959
  modelView: p,
948
960
  camera: q(A),
949
961
  screen: y,
950
962
  count: i,
951
- color: T,
952
- width: b,
953
- minWidthPixels: x && g !== void 0 ? Math.max(w, g) : w,
954
- maxWidthPixels: x && g !== void 0 ? Math.max(R, g) : R,
955
- index: m,
963
+ color: w,
964
+ width: M,
965
+ minWidthPixels: E && g !== void 0 ? Math.max(T, g) : T,
966
+ maxWidthPixels: E && g !== void 0 ? Math.max(R, g) : R,
967
+ index: v,
956
968
  dash: l,
957
- dashSize: M,
969
+ dashSize: b,
958
970
  dashOffset: S
959
971
  });
960
972
  }, u = ce(
961
973
  () => t.points?.() ?? [],
962
- (E) => {
963
- const p = E.flatMap((m) => {
964
- const [T] = m, [b] = m.slice(-1);
965
- return !T || !b ? [] : ((R) => {
974
+ (x) => {
975
+ const p = x.flatMap((v) => {
976
+ const [w] = v, [M] = v.slice(-1);
977
+ return !w || !M ? [] : ((R) => {
966
978
  const g = new Array(R.length * 3 * 4);
967
- for (let M = 0; M < R.length; M++) {
968
- const [S = 0, U = 0, P = 0] = R[M] ?? [];
969
- for (let N = 0; N < 4; N++) {
970
- const I = M * 3 * 4 + N * 3;
971
- g[I + 0] = S, g[I + 1] = U, g[I + 2] = P;
979
+ for (let b = 0; b < R.length; b++) {
980
+ const [S = 0, U = 0, P = 0] = R[b] ?? [];
981
+ for (let D = 0; D < 4; D++) {
982
+ const O = b * 3 * 4 + D * 3;
983
+ g[O + 0] = S, g[O + 1] = U, g[O + 2] = P;
972
984
  }
973
985
  }
974
986
  return g;
975
- })([T, ...m, b].map((R) => q(z(R))));
976
- }), { indexData: A } = E.reduce(
977
- ({ indexData: m, count: T }, b) => {
978
- if (b.length === 0)
979
- return { indexData: m, count: T };
980
- const w = xe(0, (b.length - 1) * 2).flatMap((R) => {
981
- const [g = 0, M = 0, S = 0, U = 0] = [0, 1, 2, 3].map(
982
- (P) => P + R * 2 + T
987
+ })([w, ...v, M].map((R) => q(z(R))));
988
+ }), { indexData: A } = x.reduce(
989
+ ({ indexData: v, count: w }, M) => {
990
+ if (M.length === 0)
991
+ return { indexData: v, count: w };
992
+ const T = xe(0, (M.length - 1) * 2).flatMap((R) => {
993
+ const [g = 0, b = 0, S = 0, U = 0] = [0, 1, 2, 3].map(
994
+ (P) => P + R * 2 + w
983
995
  );
984
996
  return [
985
997
  g,
986
- M,
998
+ b,
987
999
  U,
988
1000
  /**/
989
1001
  g,
@@ -991,13 +1003,13 @@ const Ii = (e, t = {}) => {
991
1003
  S
992
1004
  ];
993
1005
  });
994
- return T += (b.length + 2) * 4, m = m.concat(w), { indexData: m, count: T };
1006
+ return w += (M.length + 2) * 4, v = v.concat(T), { indexData: v, count: w };
995
1007
  },
996
1008
  { indexData: [], count: 0 }
997
1009
  );
998
1010
  i = A.length;
999
- const y = E.flatMap(
1000
- (m) => m.length === 0 ? [] : xe(0, (m.length + 1) * 2).flatMap(() => [
1011
+ const y = x.flatMap(
1012
+ (v) => v.length === 0 ? [] : xe(0, (v.length + 1) * 2).flatMap(() => [
1001
1013
  -1,
1002
1014
  -1,
1003
1015
  //
@@ -1010,46 +1022,46 @@ const Ii = (e, t = {}) => {
1010
1022
  1,
1011
1023
  1
1012
1024
  ])
1013
- ), x = E.flatMap((m) => {
1014
- const b = m.map(
1015
- (M, S) => be(z(M), z(m[S - 1] ?? M)) * K
1025
+ ), E = x.flatMap((v) => {
1026
+ const M = v.map(
1027
+ (b, S) => Ue(z(b), z(v[S - 1] ?? b)) * F
1016
1028
  ).reduce(
1017
- ({ current: M, result: S }, U) => (M += U, S.push(M), { current: M, result: S }),
1029
+ ({ current: b, result: S }, U) => (b += U, S.push(b), { current: b, result: S }),
1018
1030
  { current: 0, result: [] }
1019
- ).result, [w] = b, [R] = b.slice(-1);
1020
- return w === void 0 || R === void 0 ? [] : ((M) => {
1021
- const S = new Array(M.length * 4);
1022
- for (let U = 0; U < M.length; U++)
1023
- S[U * 4 + 0] = M[U], S[U * 4 + 1] = M[U], S[U * 4 + 2] = M[U], S[U * 4 + 3] = M[U];
1031
+ ).result, [T] = M, [R] = M.slice(-1);
1032
+ return T === void 0 || R === void 0 ? [] : ((b) => {
1033
+ const S = new Array(b.length * 4);
1034
+ for (let U = 0; U < b.length; U++)
1035
+ S[U * 4 + 0] = b[U], S[U * 4 + 1] = b[U], S[U * 4 + 2] = b[U], S[U * 4 + 3] = b[U];
1024
1036
  return S;
1025
- })([w, ...b, R]);
1037
+ })([T, ...M, R]);
1026
1038
  });
1027
- r.set(p), s.set(A), o.set(y), c.set(x);
1039
+ r.set(p), s.set(A), o.set(y), c.set(E);
1028
1040
  }
1029
1041
  ), d = ce(
1030
1042
  () => t.dashPattern?.(),
1031
- (E) => {
1032
- E = E ?? [[1, 1, 1, 1]], l.use(), n.texImage2D(
1043
+ (x) => {
1044
+ x = x ?? [[1, 1, 1, 1]], l.use(), n.texImage2D(
1033
1045
  n.TEXTURE_2D,
1034
1046
  0,
1035
1047
  n.RGBA,
1036
- E.length,
1048
+ x.length,
1037
1049
  1,
1038
1050
  0,
1039
1051
  n.RGBA,
1040
1052
  n.UNSIGNED_BYTE,
1041
- new Uint8Array(E.flatMap((p) => [...p.map((A) => A * 255)]))
1053
+ new Uint8Array(x.flatMap((p) => [...p.map((A) => A * 255)]))
1042
1054
  );
1043
1055
  }
1044
- ), v = () => {
1056
+ ), m = () => {
1045
1057
  l.dispose(), r.dispose(), s.dispose(), o.dispose(), c.dispose();
1046
1058
  }, _ = ye(t);
1047
1059
  return {
1048
1060
  render: h,
1049
- dispose: v,
1061
+ dispose: m,
1050
1062
  ..._
1051
1063
  };
1052
- }, zn = ({ gl: e, programs: t }, {
1064
+ }, Ln = ({ gl: e, programs: t }, {
1053
1065
  positionBuffer: n,
1054
1066
  indexBuffer: i,
1055
1067
  cornerBuffer: r,
@@ -1057,43 +1069,43 @@ const Ii = (e, t = {}) => {
1057
1069
  }) => {
1058
1070
  const o = (f = !1) => {
1059
1071
  const l = t.get({
1060
- vertexSource: Pn,
1061
- fragmentSource: f ? _e : Un
1072
+ vertexSource: zn,
1073
+ fragmentSource: f ? _e : Pn
1062
1074
  }), h = Float32Array.BYTES_PER_ELEMENT, u = Int32Array.BYTES_PER_ELEMENT, d = l.attribute3i("previous", n, {
1063
1075
  stride: u * 3
1064
- }), v = l.attribute3i("current", n, {
1076
+ }), m = l.attribute3i("current", n, {
1065
1077
  stride: u * 3,
1066
1078
  offset: u * 3 * 4
1067
1079
  }), _ = l.attribute3i("next", n, {
1068
1080
  stride: u * 3,
1069
1081
  offset: u * 3 * 4 * 2
1070
- }), E = l.attribute2f("corner", r, {
1082
+ }), x = l.attribute2f("corner", r, {
1071
1083
  stride: h * 2
1072
1084
  }), p = l.attribute1f("distance", s, {
1073
1085
  stride: h,
1074
1086
  offset: h * 1 * 4
1075
- }), A = l.uniformMatrix4f("projection"), y = l.uniformMatrix4f("model_view"), x = l.uniform3i("camera"), m = l.uniform2f("screen"), T = l.uniform4f("color"), b = l.uniform1f("width"), w = l.uniform1f("max_width_pixels"), R = l.uniform1f("min_width_pixels"), g = l.uniform1i("index"), M = l.uniform1i("dash"), S = l.uniform1f("dash_size"), U = l.uniform1f("dash_offset");
1087
+ }), A = l.uniformMatrix4f("projection"), y = l.uniformMatrix4f("model_view"), E = l.uniform3i("camera"), v = l.uniform2f("screen"), w = l.uniform4f("color"), M = l.uniform1f("width"), T = l.uniform1f("max_width_pixels"), R = l.uniform1f("min_width_pixels"), g = l.uniform1i("index"), b = l.uniform1i("dash"), S = l.uniform1f("dash_size"), U = l.uniform1f("dash_offset");
1076
1088
  return { execute: ({
1077
- projection: N,
1078
- modelView: I,
1079
- camera: C,
1080
- screen: X,
1089
+ projection: D,
1090
+ modelView: O,
1091
+ camera: X,
1092
+ screen: I,
1081
1093
  count: W,
1082
- color: j,
1083
- width: Z,
1094
+ color: B,
1095
+ width: $,
1084
1096
  minWidthPixels: J,
1085
- maxWidthPixels: H,
1086
- index: G,
1087
- dash: Ue,
1088
- dashSize: et,
1089
- dashOffset: tt
1097
+ maxWidthPixels: k,
1098
+ index: Q,
1099
+ dash: we,
1100
+ dashSize: Te,
1101
+ dashOffset: ze
1090
1102
  }) => {
1091
- W !== 0 && (l.use(), d.use(), v.use(), _.use(), E.use(), p.use(), A.set(N), y.set(I), x.set(C), m.set(X), T.set(j), b.set(Z), R.set(J), w.set(H), g.set(G), S.set(et), U.set(tt), e.activeTexture(e.TEXTURE0), M.set(0), Ue.use(), i.use(), e.drawElements(e.TRIANGLES, W, e.UNSIGNED_SHORT, 0));
1103
+ W !== 0 && (l.use(), d.use(), m.use(), _.use(), x.use(), p.use(), A.set(D), y.set(O), E.set(X), v.set(I), w.set(B), M.set($), R.set(J), T.set(k), g.set(Q), S.set(Te), U.set(ze), e.activeTexture(e.TEXTURE0), b.set(0), we.use(), i.use(), e.drawElements(e.TRIANGLES, W, e.UNSIGNED_SHORT, 0));
1092
1104
  } };
1093
1105
  }, c = o(), a = o(!0);
1094
1106
  return { renderProgram: c, depthProgram: a };
1095
1107
  };
1096
- var Ln = `#version 300 es
1108
+ var Nn = `#version 300 es
1097
1109
 
1098
1110
  precision highp float;
1099
1111
 
@@ -1103,7 +1115,7 @@ out vec4 result;
1103
1115
  void main() {
1104
1116
  if (color_out.a == 0.f) discard;
1105
1117
  result = color_out;
1106
- }`, Nn = `#version 300 es
1118
+ }`, In = `#version 300 es
1107
1119
 
1108
1120
  precision highp float;
1109
1121
 
@@ -1143,42 +1155,42 @@ void main(void) {
1143
1155
 
1144
1156
  color_out = color + diffuse * vec4(vec3(clamp(dot(qn.xyz / qn.w, vec3(0.f, 0.f, 1.f)), 0.f, 1.f)), 1.f);
1145
1157
  }`;
1146
- const Di = (e, t = {}) => {
1158
+ const Xi = (e, t = {}) => {
1147
1159
  const { gl: n } = e;
1148
1160
  let i = 0;
1149
- const r = V({ gl: n, type: "f32", target: "array" }), s = V({ gl: n, type: "u16", target: "element" }), o = V({ gl: n, type: "f32", target: "array" }), { renderProgram: c, depthProgram: a } = In(e, {
1161
+ const r = Z({ gl: n, type: "f32", target: "array" }), s = Z({ gl: n, type: "u16", target: "element" }), o = Z({ gl: n, type: "f32", target: "array" }), { renderProgram: c, depthProgram: a } = Dn(e, {
1150
1162
  vertexBuffer: r,
1151
1163
  indexBuffer: s,
1152
1164
  normalBuffer: o
1153
1165
  }), f = ({
1154
- viewport: { projection: d, modelView: v, camera: _, screen: E },
1166
+ viewport: { projection: d, modelView: m, camera: _, screen: x },
1155
1167
  depth: p = !1,
1156
1168
  index: A = 0
1157
1169
  }) => {
1158
- const y = t.position?.() ?? [0, 0, 0], x = t.orientation?.() ?? [0, 0, 0, 1], m = t.color?.() ?? [1, 1, 1, 1], T = t.diffuse?.() ?? [0, 0, 0, 0], b = t.size?.() ?? 1, w = t.minSizePixels?.() ?? 0, R = t.maxSizePixels?.() ?? Number.MAX_VALUE;
1170
+ const y = t.position?.() ?? [0, 0, 0], E = t.orientation?.() ?? [0, 0, 0, 1], v = t.color?.() ?? [1, 1, 1, 1], w = t.diffuse?.() ?? [0, 0, 0, 0], M = t.size?.() ?? 1, T = t.minSizePixels?.() ?? 0, R = t.maxSizePixels?.() ?? Number.MAX_VALUE;
1159
1171
  if (l(), Ee(n, p, t))
1160
1172
  return;
1161
1173
  (p ? a : c).execute({
1162
1174
  projection: d,
1163
- modelView: v,
1175
+ modelView: m,
1164
1176
  camera: q(_),
1165
- screen: E,
1177
+ screen: x,
1166
1178
  count: i,
1167
1179
  position: q(z(y)),
1168
- orientation: mt(ve(), x),
1169
- color: m,
1170
- diffuse: T,
1171
- size: b,
1172
- minSizePixels: w,
1180
+ orientation: vt(he(), E),
1181
+ color: v,
1182
+ diffuse: w,
1183
+ size: M,
1184
+ minSizePixels: T,
1173
1185
  maxSizePixels: R,
1174
1186
  index: A
1175
1187
  });
1176
1188
  }, l = ce(
1177
1189
  () => t.mesh?.(),
1178
1190
  (d) => {
1179
- const { vertices: v = [], indices: _ = [], normals: E = [] } = d ?? {};
1180
- r.set(v.flatMap((p) => [...p])), s.set(_.flatMap((p) => [...p])), o.set(
1181
- E.length === 0 ? v.flatMap(() => [0, 0, 0]) : E.flatMap((p) => [...p])
1191
+ const { vertices: m = [], indices: _ = [], normals: x = [] } = d ?? {};
1192
+ r.set(m.flatMap((p) => [...p])), s.set(_.flatMap((p) => [...p])), o.set(
1193
+ x.length === 0 ? m.flatMap(() => [0, 0, 0]) : x.flatMap((p) => [...p])
1182
1194
  ), i = _.length * 3;
1183
1195
  }
1184
1196
  ), h = () => {
@@ -1189,145 +1201,145 @@ const Di = (e, t = {}) => {
1189
1201
  dispose: h,
1190
1202
  ...u
1191
1203
  };
1192
- }, In = ({ gl: e, programs: t }, {
1204
+ }, Dn = ({ gl: e, programs: t }, {
1193
1205
  vertexBuffer: n,
1194
1206
  indexBuffer: i,
1195
1207
  normalBuffer: r
1196
1208
  }) => {
1197
1209
  const s = (a = !1) => {
1198
1210
  const f = t.get({
1199
- vertexSource: Nn,
1200
- fragmentSource: a ? _e : Ln
1201
- }), l = f.attribute3f("vertex", n), h = f.attribute3f("normal", r), u = f.uniformMatrix4f("projection"), d = f.uniformMatrix4f("model_view"), v = f.uniform3i("camera"), _ = f.uniform3i("position"), E = f.uniformMatrix4f("orientation"), p = f.uniform2f("screen"), A = f.uniform4f("color"), y = f.uniform4f("diffuse"), x = f.uniform1f("size"), m = f.uniform1f("min_size_pixels"), T = f.uniform1f("max_size_pixels"), b = f.uniform1i("index");
1211
+ vertexSource: In,
1212
+ fragmentSource: a ? _e : Nn
1213
+ }), l = f.attribute3f("vertex", n), h = f.attribute3f("normal", r), u = f.uniformMatrix4f("projection"), d = f.uniformMatrix4f("model_view"), m = f.uniform3i("camera"), _ = f.uniform3i("position"), x = f.uniformMatrix4f("orientation"), p = f.uniform2f("screen"), A = f.uniform4f("color"), y = f.uniform4f("diffuse"), E = f.uniform1f("size"), v = f.uniform1f("min_size_pixels"), w = f.uniform1f("max_size_pixels"), M = f.uniform1i("index");
1202
1214
  return { execute: ({
1203
1215
  projection: R,
1204
1216
  modelView: g,
1205
- camera: M,
1217
+ camera: b,
1206
1218
  screen: S,
1207
1219
  count: U,
1208
1220
  position: P,
1209
- orientation: N,
1210
- color: I,
1211
- diffuse: C,
1212
- size: X,
1221
+ orientation: D,
1222
+ color: O,
1223
+ diffuse: X,
1224
+ size: I,
1213
1225
  minSizePixels: W,
1214
- maxSizePixels: j,
1215
- index: Z
1226
+ maxSizePixels: B,
1227
+ index: $
1216
1228
  }) => {
1217
- f.use(), l.use(), h.use(), u.set(R), d.set(g), v.set(M), p.set(S), _.set(P), E.set(N), A.set(I), y.set(C), x.set(X), m.set(W), T.set(j), b.set(Z), i.use(), e.drawElements(e.TRIANGLES, U, e.UNSIGNED_SHORT, 0);
1229
+ f.use(), l.use(), h.use(), u.set(R), d.set(g), m.set(b), p.set(S), _.set(P), x.set(D), A.set(O), y.set(X), E.set(I), v.set(W), w.set(B), M.set($), i.use(), e.drawElements(e.TRIANGLES, U, e.UNSIGNED_SHORT, 0);
1218
1230
  } };
1219
1231
  }, o = s(), c = s(!0);
1220
1232
  return { renderProgram: o, depthProgram: c };
1221
1233
  };
1222
1234
  var Tt = function(e, t, n, i, r) {
1223
1235
  let s, o = null;
1224
- if (r === Fn(e, t, n, i) > 0)
1236
+ if (r === Qn(e, t, n, i) > 0)
1225
1237
  for (s = t; s < n; s += i)
1226
- o = new We(s, e[s], e[s + 1], o);
1238
+ o = new Be(s, e[s], e[s + 1], o);
1227
1239
  else
1228
1240
  for (s = n - i; s >= t; s -= i)
1229
- o = new We(s, e[s], e[s + 1], o);
1230
- return o !== null && Ve(o, o.next) && (Ae(o), o = o.next), o;
1241
+ o = new Be(s, e[s], e[s + 1], o);
1242
+ return o !== null && Ye(o, o.next) && (be(o), o = o.next), o;
1231
1243
  }, ae = function(e, t) {
1232
1244
  t === void 0 && (t = e);
1233
1245
  let n = e, i;
1234
1246
  do
1235
- if (i = !1, !n.steiner && (Ve(n, n.next) || D(n.prev, n, n.next) === 0)) {
1236
- if (Ae(n), n = t = n.prev, n === n.next)
1247
+ if (i = !1, !n.steiner && (Ye(n, n.next) || N(n.prev, n, n.next) === 0)) {
1248
+ if (be(n), n = t = n.prev, n === n.next)
1237
1249
  break;
1238
1250
  i = !0;
1239
1251
  } else
1240
1252
  n = n.next;
1241
1253
  while (i || n !== t);
1242
1254
  return t;
1243
- }, ge = function(e, t, n, i, r, s, o) {
1255
+ }, Ae = function(e, t, n, i, r, s, o) {
1244
1256
  if (e === null)
1245
1257
  return;
1246
- o === 0 && s !== 0 && Zn(e, i, r, s);
1258
+ o === 0 && s !== 0 && Yn(e, i, r, s);
1247
1259
  let c = e, a, f;
1248
1260
  for (; e.prev !== e.next; ) {
1249
- if (a = e.prev, f = e.next, s !== 0 ? On(e, i, r, s) : Dn(e)) {
1250
- t.push(a.i / n), t.push(e.i / n), t.push(f.i / n), Ae(e), e = f.next, c = f.next;
1261
+ if (a = e.prev, f = e.next, s !== 0 ? Cn(e, i, r, s) : On(e)) {
1262
+ t.push(a.i / n), t.push(e.i / n), t.push(f.i / n), be(e), e = f.next, c = f.next;
1251
1263
  continue;
1252
1264
  }
1253
1265
  if (e = f, e === c) {
1254
- o === 0 ? ge(ae(e), t, n, i, r, s, 1) : o === 1 ? (e = Cn(ae(e), t, n), ge(e, t, n, i, r, s, 2)) : o === 2 && Xn(e, t, n, i, r, s);
1266
+ o === 0 ? Ae(ae(e), t, n, i, r, s, 1) : o === 1 ? (e = Xn(ae(e), t, n), Ae(e, t, n, i, r, s, 2)) : o === 2 && Wn(e, t, n, i, r, s);
1255
1267
  break;
1256
1268
  }
1257
1269
  }
1258
- }, Dn = function(e) {
1270
+ }, On = function(e) {
1259
1271
  const t = e.prev, n = e, i = e.next;
1260
- if (D(t, n, i) >= 0)
1272
+ if (N(t, n, i) >= 0)
1261
1273
  return !1;
1262
1274
  let r = e.next.next;
1263
1275
  for (; r !== e.prev; ) {
1264
- if (de(t.x, t.y, n.x, n.y, i.x, i.y, r.x, r.y) && D(r.prev, r, r.next) >= 0)
1276
+ if (me(t.x, t.y, n.x, n.y, i.x, i.y, r.x, r.y) && N(r.prev, r, r.next) >= 0)
1265
1277
  return !1;
1266
1278
  r = r.next;
1267
1279
  }
1268
1280
  return !0;
1269
- }, On = function(e, t, n, i) {
1281
+ }, Cn = function(e, t, n, i) {
1270
1282
  const r = e.prev, s = e, o = e.next;
1271
- if (D(r, s, o) >= 0)
1283
+ if (N(r, s, o) >= 0)
1272
1284
  return !1;
1273
- const c = r.x < s.x ? r.x < o.x ? r.x : o.x : s.x < o.x ? s.x : o.x, a = r.y < s.y ? r.y < o.y ? r.y : o.y : s.y < o.y ? s.y : o.y, f = r.x > s.x ? r.x > o.x ? r.x : o.x : s.x > o.x ? s.x : o.x, l = r.y > s.y ? r.y > o.y ? r.y : o.y : s.y > o.y ? s.y : o.y, h = Qe(c, a, t, n, i), u = Qe(f, l, t, n, i);
1274
- let { prevZ: d, nextZ: v } = e;
1275
- for (; d !== null && v !== null && d.z >= h && v.z <= u; ) {
1276
- if (d !== e.prev && d !== e.next && de(r.x, r.y, s.x, s.y, o.x, o.y, d.x, d.y) && D(d.prev, d, d.next) >= 0 || (d = d.prevZ, v !== e.prev && v !== e.next && de(r.x, r.y, s.x, s.y, o.x, o.y, v.x, v.y) && D(v.prev, v, v.next) >= 0))
1285
+ const c = r.x < s.x ? r.x < o.x ? r.x : o.x : s.x < o.x ? s.x : o.x, a = r.y < s.y ? r.y < o.y ? r.y : o.y : s.y < o.y ? s.y : o.y, f = r.x > s.x ? r.x > o.x ? r.x : o.x : s.x > o.x ? s.x : o.x, l = r.y > s.y ? r.y > o.y ? r.y : o.y : s.y > o.y ? s.y : o.y, h = qe(c, a, t, n, i), u = qe(f, l, t, n, i);
1286
+ let { prevZ: d, nextZ: m } = e;
1287
+ for (; d !== null && m !== null && d.z >= h && m.z <= u; ) {
1288
+ if (d !== e.prev && d !== e.next && me(r.x, r.y, s.x, s.y, o.x, o.y, d.x, d.y) && N(d.prev, d, d.next) >= 0 || (d = d.prevZ, m !== e.prev && m !== e.next && me(r.x, r.y, s.x, s.y, o.x, o.y, m.x, m.y) && N(m.prev, m, m.next) >= 0))
1277
1289
  return !1;
1278
- v = v.nextZ;
1290
+ m = m.nextZ;
1279
1291
  }
1280
1292
  for (; d !== null && d.z >= h; ) {
1281
- if (d !== e.prev && d !== e.next && de(r.x, r.y, s.x, s.y, o.x, o.y, d.x, d.y) && D(d.prev, d, d.next) >= 0)
1293
+ if (d !== e.prev && d !== e.next && me(r.x, r.y, s.x, s.y, o.x, o.y, d.x, d.y) && N(d.prev, d, d.next) >= 0)
1282
1294
  return !1;
1283
1295
  d = d.prevZ;
1284
1296
  }
1285
- for (; v !== null && v.z <= u; ) {
1286
- if (v !== e.prev && v !== e.next && de(r.x, r.y, s.x, s.y, o.x, o.y, v.x, v.y) && D(v.prev, v, v.next) >= 0)
1297
+ for (; m !== null && m.z <= u; ) {
1298
+ if (m !== e.prev && m !== e.next && me(r.x, r.y, s.x, s.y, o.x, o.y, m.x, m.y) && N(m.prev, m, m.next) >= 0)
1287
1299
  return !1;
1288
- v = v.nextZ;
1300
+ m = m.nextZ;
1289
1301
  }
1290
1302
  return !0;
1291
- }, Cn = function(e, t, n) {
1303
+ }, Xn = function(e, t, n) {
1292
1304
  let i = e;
1293
1305
  do {
1294
1306
  const r = i.prev, s = i.next.next;
1295
- !Ve(r, s) && wt(r, i, i.next, s) && Re(r, s) && Re(s, r) && (t.push(r.i / n), t.push(i.i / n), t.push(s.i / n), Ae(i), Ae(i.next), i = e = s), i = i.next;
1307
+ !Ye(r, s) && gt(r, i, i.next, s) && Me(r, s) && Me(s, r) && (t.push(r.i / n), t.push(i.i / n), t.push(s.i / n), be(i), be(i.next), i = e = s), i = i.next;
1296
1308
  } while (i !== e);
1297
1309
  return i;
1298
- }, Xn = function(e, t, n, i, r, s) {
1310
+ }, Wn = function(e, t, n, i, r, s) {
1299
1311
  let o = e;
1300
1312
  do {
1301
1313
  let c = o.next.next;
1302
1314
  for (; c !== o.prev; ) {
1303
- if (o.i !== c.i && kn(o, c)) {
1304
- let a = gt(o, c);
1305
- o = ae(o, o.next), a = ae(a, a.next), ge(o, t, n, i, r, s, 0), ge(a, t, n, i, r, s, 0);
1315
+ if (o.i !== c.i && Hn(o, c)) {
1316
+ let a = Rt(o, c);
1317
+ o = ae(o, o.next), a = ae(a, a.next), Ae(o, t, n, i, r, s, 0), Ae(a, t, n, i, r, s, 0);
1306
1318
  return;
1307
1319
  }
1308
1320
  c = c.next;
1309
1321
  }
1310
1322
  o = o.next;
1311
1323
  } while (o !== e);
1312
- }, Wn = function(e, t, n, i) {
1324
+ }, jn = function(e, t, n, i) {
1313
1325
  const r = [];
1314
1326
  let s, o, c, a, f;
1315
1327
  for (s = 0, o = t.length; s < o; s++)
1316
- c = t[s] * i, a = s < o - 1 ? t[s + 1] * i : e.length, f = Tt(e, c, a, i, !1), f === f.next && (f.steiner = !0), r.push($n(f));
1317
- for (r.sort(jn), s = 0; s < r.length; s++)
1318
- n = Bn(r[s], n), n = ae(n, n.next);
1328
+ c = t[s] * i, a = s < o - 1 ? t[s + 1] * i : e.length, f = Tt(e, c, a, i, !1), f === f.next && (f.steiner = !0), r.push(kn(f));
1329
+ for (r.sort(Bn), s = 0; s < r.length; s++)
1330
+ n = Vn(r[s], n), n = ae(n, n.next);
1319
1331
  return n;
1320
- }, jn = function(e, t) {
1321
- return e.x - t.x;
1322
1332
  }, Bn = function(e, t) {
1323
- const n = Vn(e, t);
1333
+ return e.x - t.x;
1334
+ }, Vn = function(e, t) {
1335
+ const n = Zn(e, t);
1324
1336
  if (n === null)
1325
1337
  return t;
1326
1338
  {
1327
- const i = gt(n, e), r = ae(n, n.next);
1339
+ const i = Rt(n, e), r = ae(n, n.next);
1328
1340
  return ae(i, i.next), t === n ? r : t;
1329
1341
  }
1330
- }, Vn = function(e, t) {
1342
+ }, Zn = function(e, t) {
1331
1343
  let n = t;
1332
1344
  const { x: i, y: r } = e;
1333
1345
  let s = -1 / 0, o;
@@ -1354,16 +1366,16 @@ var Tt = function(e, t, n, i, r) {
1354
1366
  let l = 1 / 0, h;
1355
1367
  n = o;
1356
1368
  do
1357
- i >= n.x && n.x >= a && i !== n.x && de(r < f ? i : s, r, a, f, r < f ? s : i, r, n.x, n.y) && (h = Math.abs(r - n.y) / (i - n.x), Re(n, e) && (h < l || h === l && (n.x > o.x || n.x === o.x && D(o.prev, o, n.prev) < 0 && D(n.next, o, o.next) < 0)) && (o = n, l = h)), n = n.next;
1369
+ i >= n.x && n.x >= a && i !== n.x && me(r < f ? i : s, r, a, f, r < f ? s : i, r, n.x, n.y) && (h = Math.abs(r - n.y) / (i - n.x), Me(n, e) && (h < l || h === l && (n.x > o.x || n.x === o.x && N(o.prev, o, n.prev) < 0 && N(n.next, o, o.next) < 0)) && (o = n, l = h)), n = n.next;
1358
1370
  while (n !== c);
1359
1371
  return o;
1360
- }, Zn = function(e, t, n, i) {
1372
+ }, Yn = function(e, t, n, i) {
1361
1373
  let r = e;
1362
1374
  do
1363
- r.z === void 0 && (r.z = Qe(r.x, r.y, t, n, i)), r.prevZ = r.prev, r.nextZ = r.next, r = r.next;
1375
+ r.z === void 0 && (r.z = qe(r.x, r.y, t, n, i)), r.prevZ = r.prev, r.nextZ = r.next, r = r.next;
1364
1376
  while (r !== e);
1365
- r.prevZ !== null && (r.prevZ.nextZ = null), r.prevZ = null, Yn(r);
1366
- }, Yn = function(e) {
1377
+ r.prevZ !== null && (r.prevZ.nextZ = null), r.prevZ = null, $n(r);
1378
+ }, $n = function(e) {
1367
1379
  let t, n, i, r, s, o, c, a, f = 1;
1368
1380
  do {
1369
1381
  for (n = e, e = null, s = null, o = 0; n !== null; ) {
@@ -1376,58 +1388,58 @@ var Tt = function(e, t, n, i, r) {
1376
1388
  s !== null && (s.nextZ = null), f *= 2;
1377
1389
  } while (o > 1);
1378
1390
  return e;
1379
- }, Qe = function(e, t, n, i, r) {
1391
+ }, qe = function(e, t, n, i, r) {
1380
1392
  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;
1381
- }, $n = function(e) {
1393
+ }, kn = function(e) {
1382
1394
  let t = e, n = e;
1383
1395
  do
1384
1396
  (t.x < n.x || t.x === n.x && t.y < n.y) && (n = t), t = t.next;
1385
1397
  while (t !== e);
1386
1398
  return n;
1387
- }, de = function(e, t, n, i, r, s, o, c) {
1399
+ }, me = function(e, t, n, i, r, s, o, c) {
1388
1400
  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;
1389
- }, kn = function(e, t) {
1390
- return e.next.i !== t.i && e.prev.i !== t.i && !Hn(e, t) && (Re(e, t) && Re(t, e) && Gn(e, t) && (D(e.prev, e, t.prev) !== 0 || D(e, t.prev, t) !== 0) || Ve(e, t) && D(e.prev, e, e.next) > 0 && D(t.prev, t, t.next) > 0);
1391
- }, D = function(e, t, n) {
1401
+ }, Hn = function(e, t) {
1402
+ return e.next.i !== t.i && e.prev.i !== t.i && !Gn(e, t) && (Me(e, t) && Me(t, e) && Fn(e, t) && (N(e.prev, e, t.prev) !== 0 || N(e, t.prev, t) !== 0) || Ye(e, t) && N(e.prev, e, e.next) > 0 && N(t.prev, t, t.next) > 0);
1403
+ }, N = function(e, t, n) {
1392
1404
  return (t.y - e.y) * (n.x - t.x) - (t.x - e.x) * (n.y - t.y);
1393
- }, Ve = function(e, t) {
1405
+ }, Ye = function(e, t) {
1394
1406
  return e.x === t.x && e.y === t.y;
1395
- }, wt = function(e, t, n, i) {
1396
- const r = Le(D(e, t, n)), s = Le(D(e, t, i)), o = Le(D(n, i, e)), c = Le(D(n, i, t));
1397
- return !!(r !== s && o !== c || r === 0 && Ne(e, n, t) || s === 0 && Ne(e, i, t) || o === 0 && Ne(n, e, i) || c === 0 && Ne(n, t, i));
1398
- }, Le = function(e) {
1407
+ }, gt = function(e, t, n, i) {
1408
+ const r = Ie(N(e, t, n)), s = Ie(N(e, t, i)), o = Ie(N(n, i, e)), c = Ie(N(n, i, t));
1409
+ return !!(r !== s && o !== c || r === 0 && De(e, n, t) || s === 0 && De(e, i, t) || o === 0 && De(n, e, i) || c === 0 && De(n, t, i));
1410
+ }, Ie = function(e) {
1399
1411
  return e > 0 ? 1 : e < 0 ? -1 : 0;
1400
- }, Ne = function(e, t, n) {
1412
+ }, De = function(e, t, n) {
1401
1413
  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);
1402
- }, Hn = function(e, t) {
1414
+ }, Gn = function(e, t) {
1403
1415
  let n = e;
1404
1416
  do {
1405
- if (n.i !== e.i && n.next?.i !== e.i && n.i !== t.i && n.next?.i !== t.i && wt(n, n.next, e, t))
1417
+ if (n.i !== e.i && n.next?.i !== e.i && n.i !== t.i && n.next?.i !== t.i && gt(n, n.next, e, t))
1406
1418
  return !0;
1407
1419
  n = n.next;
1408
1420
  } while (n !== e);
1409
1421
  return !1;
1410
- }, Re = function(e, t) {
1411
- return D(e.prev, e, e.next) < 0 ? D(e, t, e.next) >= 0 && D(e, e.prev, t) >= 0 : D(e, t, e.prev) < 0 || D(e, e.next, t) < 0;
1412
- }, Gn = function(e, t) {
1422
+ }, Me = function(e, t) {
1423
+ return N(e.prev, e, e.next) < 0 ? N(e, t, e.next) >= 0 && N(e, e.prev, t) >= 0 : N(e, t, e.prev) < 0 || N(e, e.next, t) < 0;
1424
+ }, Fn = function(e, t) {
1413
1425
  const n = (e.x + t.x) / 2, i = (e.y + t.y) / 2;
1414
1426
  let r = e, s = !1;
1415
1427
  do
1416
1428
  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;
1417
1429
  while (r !== e);
1418
1430
  return s;
1419
- }, gt = function(e, t) {
1420
- const n = new We(e.i, e.x, e.y), i = new We(t.i, t.x, t.y), r = e.next, s = t.prev;
1431
+ }, Rt = function(e, t) {
1432
+ const n = new Be(e.i, e.x, e.y), i = new Be(t.i, t.x, t.y), r = e.next, s = t.prev;
1421
1433
  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;
1422
- }, Ae = function(e) {
1434
+ }, be = function(e) {
1423
1435
  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);
1424
- }, Fn = function(e, t, n, i) {
1436
+ }, Qn = function(e, t, n, i) {
1425
1437
  let r = 0;
1426
1438
  for (let s = t, o = n - i; s < n; s += i)
1427
1439
  r += (e[o] - e[s]) * (e[s + 1] + e[o + 1]), o = s;
1428
1440
  return r;
1429
1441
  };
1430
- class We {
1442
+ class Be {
1431
1443
  i;
1432
1444
  x;
1433
1445
  y;
@@ -1441,101 +1453,101 @@ class We {
1441
1453
  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);
1442
1454
  }
1443
1455
  }
1444
- function Qn(e, t = [], n = 2) {
1456
+ function Kn(e, t = [], n = 2) {
1445
1457
  const i = t.length > 0, r = i ? t[0] * n : e.length;
1446
1458
  let s = Tt(e, 0, r, n, !0);
1447
1459
  const o = [];
1448
1460
  if (s === null || s.next === s.prev)
1449
1461
  return o;
1450
1462
  let c = 1 / 0, a = 1 / 0, f = -1 / 0, l = -1 / 0, h = 0, u, d;
1451
- if (i && (s = Wn(e, t, s, n)), e.length > 80 * n) {
1463
+ if (i && (s = jn(e, t, s, n)), e.length > 80 * n) {
1452
1464
  c = f = e[0], a = l = e[1];
1453
- for (let v = n; v < r; v += n)
1454
- u = e[v], d = e[v + 1], u < c && (c = u), d < a && (a = d), u > f && (f = u), d > l && (l = d);
1465
+ for (let m = n; m < r; m += n)
1466
+ u = e[m], d = e[m + 1], u < c && (c = u), d < a && (a = d), u > f && (f = u), d > l && (l = d);
1455
1467
  h = Math.max(f - c, l - a), h = h !== 0 ? 1 / h : 0;
1456
1468
  }
1457
- return ge(s, o, n, c, a, h, 0), o;
1469
+ return Ae(s, o, n, c, a, h, 0), o;
1458
1470
  }
1459
- function Kn(e, t = 1 / 0, n = 0) {
1460
- const { vertices: i, holeIndices: r, dim: s } = ei(e), o = Qn(i, r, s);
1461
- return t !== 1 / 0 && qn(i, o, t, s), { vertices: i, indices: o.map((c) => c + n) };
1471
+ function qn(e, t = 1 / 0, n = 0) {
1472
+ const { vertices: i, holeIndices: r, dim: s } = ti(e), o = Kn(i, r, s);
1473
+ return t !== 1 / 0 && Jn(i, o, t, s), { vertices: i, indices: o.map((c) => c + n) };
1462
1474
  }
1463
- function qn(e, t, n, i) {
1475
+ function Jn(e, t, n, i) {
1464
1476
  let r, s, o;
1465
1477
  for (let c = 0; c < i; c++)
1466
1478
  for (let a = 0; a < t.length; a += 3) {
1467
1479
  r = t[a], s = t[a + 1], o = t[a + 2];
1468
- const f = Jn(r, s, o, e, t, i, c, n);
1480
+ const f = ei(r, s, o, e, t, i, c, n);
1469
1481
  f !== void 0 && (t[a] = f[0], t[a + 1] = f[1], t[a + 2] = f[2], a -= 3);
1470
1482
  }
1471
1483
  }
1472
- var Jn = function(e, t, n, i, r, s, o, c) {
1484
+ var ei = function(e, t, n, i, r, s, o, c) {
1473
1485
  const a = i[e * s + o], f = i[t * s + o], l = i[n * s + o];
1474
1486
  if (a < f && a < l) {
1475
1487
  const h = a + c - le(a, c);
1476
1488
  if (h > a && h <= f && h <= l && (f !== h || f !== h))
1477
- return He(h, e, t, n, a, f, l, i, r, s, o, c);
1489
+ return Fe(h, e, t, n, a, f, l, i, r, s, o, c);
1478
1490
  } else if (a > f && a > l) {
1479
1491
  let h = le(a, c);
1480
1492
  h === 0 && (h = c);
1481
1493
  const u = a - h;
1482
1494
  if (u < a && u >= f && u >= l && (f !== u || f !== u))
1483
- return Ge(u, e, t, n, a, f, l, i, r, s, o, c);
1495
+ return Qe(u, e, t, n, a, f, l, i, r, s, o, c);
1484
1496
  }
1485
1497
  if (f < a && f < l) {
1486
1498
  const h = f + c - le(f, c);
1487
1499
  if (h > f && h <= l && h <= a && (a !== h || l !== h))
1488
- return He(h, t, n, e, f, l, a, i, r, s, o, c);
1500
+ return Fe(h, t, n, e, f, l, a, i, r, s, o, c);
1489
1501
  } else if (f > a && f > l) {
1490
1502
  let h = le(f, c);
1491
1503
  h === 0 && (h = c);
1492
1504
  const u = f - h;
1493
1505
  if (u < f && u >= l && u >= a && (a !== u || l !== u))
1494
- return Ge(u, t, n, e, f, l, a, i, r, s, o, c);
1506
+ return Qe(u, t, n, e, f, l, a, i, r, s, o, c);
1495
1507
  }
1496
1508
  if (l < a && l < f) {
1497
1509
  const h = l + c - le(l, c);
1498
1510
  if (h > l && h <= a && h <= f && (a !== h || f !== h))
1499
- return He(h, n, e, t, l, a, f, i, r, s, o, c);
1511
+ return Fe(h, n, e, t, l, a, f, i, r, s, o, c);
1500
1512
  } else if (l > a && l > f) {
1501
1513
  let h = le(l, c);
1502
1514
  h === 0 && (h = c);
1503
1515
  const u = l - h;
1504
1516
  if (u < l && u >= a && u >= f && (a !== u || f !== u))
1505
- return Ge(u, n, e, t, l, a, f, i, r, s, o, c);
1517
+ return Qe(u, n, e, t, l, a, f, i, r, s, o, c);
1506
1518
  }
1507
- }, F = function(e, t, n, i, r, s, o, c) {
1519
+ }, G = function(e, t, n, i, r, s, o, c) {
1508
1520
  const a = s.length / o, f = (r - i) / (e - i);
1509
1521
  let l, h;
1510
1522
  for (let u = 0; u < o; u++)
1511
1523
  l = s[t * o + u], h = s[n * o + u], u !== c ? s.push(l + (h - l) / f) : s.push(e);
1512
1524
  return a;
1513
- }, He = function(e, t, n, i, r, s, o, c, a, f, l, h) {
1514
- let u = F(e, t, n, r, s, c, f, l), d = F(e, t, i, r, o, c, f, l);
1525
+ }, Fe = function(e, t, n, i, r, s, o, c, a, f, l, h) {
1526
+ let u = G(e, t, n, r, s, c, f, l), d = G(e, t, i, r, o, c, f, l);
1515
1527
  if (a.push(t, u, d), e += h, s < o) {
1516
1528
  for (; e < s; )
1517
- a.push(d, u), d = F(e, t, i, r, o, c, f, l), a.push(d, d, u), u = F(e, t, n, r, s, c, f, l), a.push(u), e += h;
1529
+ a.push(d, u), d = G(e, t, i, r, o, c, f, l), a.push(d, d, u), u = G(e, t, n, r, s, c, f, l), a.push(u), e += h;
1518
1530
  return a.push(d, u, n), [d, n, i];
1519
1531
  } else {
1520
1532
  for (; e < o; )
1521
- a.push(d, u), d = F(e, t, i, r, o, c, f, l), a.push(d, d, u), u = F(e, t, n, r, s, c, f, l), a.push(u), e += h;
1533
+ a.push(d, u), d = G(e, t, i, r, o, c, f, l), a.push(d, d, u), u = G(e, t, n, r, s, c, f, l), a.push(u), e += h;
1522
1534
  return a.push(d, u, i), [i, u, n];
1523
1535
  }
1524
- }, Ge = function(e, t, n, i, r, s, o, c, a, f, l, h) {
1525
- let u = F(e, t, n, r, s, c, f, l), d = F(e, t, i, r, o, c, f, l);
1536
+ }, Qe = function(e, t, n, i, r, s, o, c, a, f, l, h) {
1537
+ let u = G(e, t, n, r, s, c, f, l), d = G(e, t, i, r, o, c, f, l);
1526
1538
  if (a.push(t, u, d), e -= h, s > o) {
1527
1539
  for (; e > s; )
1528
- a.push(d, u), d = F(e, t, i, r, o, c, f, l), a.push(d, d, u), u = F(e, t, n, r, s, c, f, l), a.push(u), e -= h;
1540
+ a.push(d, u), d = G(e, t, i, r, o, c, f, l), a.push(d, d, u), u = G(e, t, n, r, s, c, f, l), a.push(u), e -= h;
1529
1541
  return a.push(d, u, n), [d, n, i];
1530
1542
  } else {
1531
1543
  for (; e > o; )
1532
- a.push(d, u), d = F(e, t, i, r, o, c, f, l), a.push(d, d, u), u = F(e, t, n, r, s, c, f, l), a.push(u), e -= h;
1544
+ a.push(d, u), d = G(e, t, i, r, o, c, f, l), a.push(d, d, u), u = G(e, t, n, r, s, c, f, l), a.push(u), e -= h;
1533
1545
  return a.push(d, u, i), [i, u, n];
1534
1546
  }
1535
1547
  }, le = function(e, t) {
1536
1548
  return (e % t + t) % t;
1537
1549
  };
1538
- function ei(e) {
1550
+ function ti(e) {
1539
1551
  let t = 0;
1540
1552
  const n = e[0][0].length, i = [], r = [];
1541
1553
  for (let s = 0, o = e.length; s < o; s++) {
@@ -1546,7 +1558,7 @@ function ei(e) {
1546
1558
  }
1547
1559
  return { vertices: i, holeIndices: r, dim: n };
1548
1560
  }
1549
- var ti = `#version 300 es
1561
+ var ni = `#version 300 es
1550
1562
 
1551
1563
  precision highp float;
1552
1564
 
@@ -1555,7 +1567,7 @@ out vec4 result;
1555
1567
 
1556
1568
  void main() {
1557
1569
  result = color_out;
1558
- }`, ni = `#version 300 es
1570
+ }`, ii = `#version 300 es
1559
1571
 
1560
1572
  precision highp float;
1561
1573
 
@@ -1579,24 +1591,24 @@ void main(void) {
1579
1591
  gl_Position = transform(position);
1580
1592
  color_out = color;
1581
1593
  }`;
1582
- const Oi = (e, t = {}) => {
1594
+ const Wi = (e, t = {}) => {
1583
1595
  const { gl: n } = e;
1584
1596
  let i = 0;
1585
- const r = V({ gl: n, type: "i32", target: "array" }), s = V({ gl: n, type: "u16", target: "element" }), { renderProgram: o, depthProgram: c } = ii(e, {
1597
+ const r = Z({ gl: n, type: "i32", target: "array" }), s = Z({ gl: n, type: "u16", target: "element" }), { renderProgram: o, depthProgram: c } = ri(e, {
1586
1598
  positionBuffer: r,
1587
1599
  indexBuffer: s
1588
1600
  }), a = ({
1589
- viewport: { projection: u, modelView: d, camera: v, screen: _ },
1590
- depth: E = !1,
1601
+ viewport: { projection: u, modelView: d, camera: m, screen: _ },
1602
+ depth: x = !1,
1591
1603
  index: p = 0
1592
1604
  }) => {
1593
1605
  const A = t.color?.() ?? [1, 1, 1, 1];
1594
- if (f(), Ee(n, E, t))
1606
+ if (f(), Ee(n, x, t))
1595
1607
  return;
1596
- (E ? c : o).execute({
1608
+ (x ? c : o).execute({
1597
1609
  projection: u,
1598
1610
  modelView: d,
1599
- camera: q(v),
1611
+ camera: q(m),
1600
1612
  screen: _,
1601
1613
  count: i,
1602
1614
  color: A,
@@ -1605,8 +1617,8 @@ const Oi = (e, t = {}) => {
1605
1617
  }, f = ce(
1606
1618
  () => t.points?.() ?? [],
1607
1619
  (u) => {
1608
- const { vertices: d, indices: v } = u.length > 0 ? Kn(u.map((_) => _.map((E) => [...q(z(E))]))) : { vertices: [], indices: [] };
1609
- r.set(d), s.set(v), i = v.length;
1620
+ const { vertices: d, indices: m } = u.length > 0 ? qn(u.map((_) => _.map((x) => [...q(z(x))]))) : { vertices: [], indices: [] };
1621
+ r.set(d), s.set(m), i = m.length;
1610
1622
  }
1611
1623
  ), l = () => {
1612
1624
  r.dispose(), s.dispose();
@@ -1616,32 +1628,32 @@ const Oi = (e, t = {}) => {
1616
1628
  dispose: l,
1617
1629
  ...h
1618
1630
  };
1619
- }, ii = ({ gl: e, programs: t }, {
1631
+ }, ri = ({ gl: e, programs: t }, {
1620
1632
  positionBuffer: n,
1621
1633
  indexBuffer: i
1622
1634
  }) => {
1623
1635
  const r = (c = !1) => {
1624
1636
  const a = t.get({
1625
- vertexSource: ni,
1626
- fragmentSource: c ? _e : ti
1637
+ vertexSource: ii,
1638
+ fragmentSource: c ? _e : ni
1627
1639
  }), f = a.attribute3i("position", n, {
1628
1640
  stride: 3 * Int32Array.BYTES_PER_ELEMENT
1629
- }), l = a.uniformMatrix4f("projection"), h = a.uniformMatrix4f("model_view"), u = a.uniform3i("camera"), d = a.uniform2f("screen"), v = a.uniform4f("color"), _ = a.uniform1i("index");
1641
+ }), l = a.uniformMatrix4f("projection"), h = a.uniformMatrix4f("model_view"), u = a.uniform3i("camera"), d = a.uniform2f("screen"), m = a.uniform4f("color"), _ = a.uniform1i("index");
1630
1642
  return { execute: ({
1631
1643
  projection: p,
1632
1644
  modelView: A,
1633
1645
  camera: y,
1634
- screen: x,
1635
- count: m,
1636
- color: T,
1637
- index: b
1646
+ screen: E,
1647
+ count: v,
1648
+ color: w,
1649
+ index: M
1638
1650
  }) => {
1639
- m !== 0 && (a.use(), f.use(), l.set(p), h.set(A), u.set(y), d.set(x), v.set(T), _.set(b), i.use(), e.drawElements(e.TRIANGLES, m, e.UNSIGNED_SHORT, 0));
1651
+ v !== 0 && (a.use(), f.use(), l.set(p), h.set(A), u.set(y), d.set(E), m.set(w), _.set(M), i.use(), e.drawElements(e.TRIANGLES, v, e.UNSIGNED_SHORT, 0));
1640
1652
  } };
1641
1653
  }, s = r(), o = r(!0);
1642
1654
  return { renderProgram: s, depthProgram: o };
1643
1655
  };
1644
- var ri = `#version 300 es
1656
+ var si = `#version 300 es
1645
1657
 
1646
1658
  precision highp float;
1647
1659
 
@@ -1656,7 +1668,7 @@ void main() {
1656
1668
  vec4 value = texture(image, vec2(d, a));
1657
1669
  if (value.r == 0.f) discard;
1658
1670
  result = vec4(0, 1., 0, value.r);
1659
- }`, si = `#version 300 es
1671
+ }`, oi = `#version 300 es
1660
1672
 
1661
1673
  precision highp float;
1662
1674
 
@@ -1683,8 +1695,8 @@ void main(void) {
1683
1695
  gl_Position = transform(q.xyz / q.w);
1684
1696
  uv_out = uv;
1685
1697
  }`;
1686
- const Ci = (e, t = {}) => {
1687
- const { gl: n } = e, i = ai(n), r = V({ gl: n, type: "f32", target: "array" }), s = V({ gl: n, type: "u16", target: "element" });
1698
+ const ji = (e, t = {}) => {
1699
+ const { gl: n } = e, i = ci(n), r = Z({ gl: n, type: "f32", target: "array" }), s = Z({ gl: n, type: "u16", target: "element" });
1688
1700
  r.set(
1689
1701
  [
1690
1702
  [-1, -1],
@@ -1703,26 +1715,26 @@ const Ci = (e, t = {}) => {
1703
1715
  (u) => {
1704
1716
  u && i.set(u);
1705
1717
  }
1706
- ), { renderProgram: c, depthProgram: a } = oi(e, {
1718
+ ), { renderProgram: c, depthProgram: a } = ai(e, {
1707
1719
  uvBuffer: r,
1708
1720
  indexBuffer: s
1709
1721
  }), f = ({
1710
- viewport: { projection: u, modelView: d, camera: v, screen: _ },
1711
- depth: E = !1,
1722
+ viewport: { projection: u, modelView: d, camera: m, screen: _ },
1723
+ depth: x = !1,
1712
1724
  index: p = 0
1713
1725
  }) => {
1714
- const A = t.position?.() ?? [0, 0, 0], y = t.orientation?.() ?? [0, 0, 0, 1], x = t.range?.() ?? 1e3;
1715
- if (o(), Ee(n, E, t))
1726
+ const A = t.position?.() ?? [0, 0, 0], y = t.orientation?.() ?? [0, 0, 0, 1], E = t.range?.() ?? 1e3;
1727
+ if (o(), Ee(n, x, t))
1716
1728
  return;
1717
- (E ? a : c).execute({
1729
+ (x ? a : c).execute({
1718
1730
  projection: u,
1719
1731
  modelView: d,
1720
- camera: q(v),
1732
+ camera: q(m),
1721
1733
  screen: _,
1722
1734
  image: i,
1723
- range: x,
1735
+ range: E,
1724
1736
  position: q(z(A)),
1725
- orientation: mt(ve(), y),
1737
+ orientation: vt(he(), y),
1726
1738
  index: p
1727
1739
  });
1728
1740
  }, l = () => {
@@ -1733,33 +1745,33 @@ const Ci = (e, t = {}) => {
1733
1745
  dispose: l,
1734
1746
  ...h
1735
1747
  };
1736
- }, oi = ({ gl: e, programs: t }, {
1748
+ }, ai = ({ gl: e, programs: t }, {
1737
1749
  uvBuffer: n,
1738
1750
  indexBuffer: i
1739
1751
  }) => {
1740
1752
  const r = (c = !1) => {
1741
1753
  const a = t.get({
1742
- vertexSource: si,
1743
- fragmentSource: c ? _e : ri
1754
+ vertexSource: oi,
1755
+ fragmentSource: c ? _e : si
1744
1756
  }), f = a.attribute2f("uv", n, {
1745
1757
  stride: 2 * Float32Array.BYTES_PER_ELEMENT
1746
- }), l = a.uniformMatrix4f("projection"), h = a.uniformMatrix4f("model_view"), u = a.uniform3i("camera"), d = a.uniform2f("screen"), v = a.uniform1i("image"), _ = a.uniform1f("range"), E = a.uniform3i("position"), p = a.uniformMatrix4f("orientation"), A = a.uniform1i("index");
1758
+ }), l = a.uniformMatrix4f("projection"), h = a.uniformMatrix4f("model_view"), u = a.uniform3i("camera"), d = a.uniform2f("screen"), m = a.uniform1i("image"), _ = a.uniform1f("range"), x = a.uniform3i("position"), p = a.uniformMatrix4f("orientation"), A = a.uniform1i("index");
1747
1759
  return { execute: ({
1748
- projection: x,
1749
- modelView: m,
1750
- camera: T,
1751
- screen: b,
1752
- image: w,
1760
+ projection: E,
1761
+ modelView: v,
1762
+ camera: w,
1763
+ screen: M,
1764
+ image: T,
1753
1765
  range: R,
1754
1766
  position: g,
1755
- orientation: M,
1767
+ orientation: b,
1756
1768
  index: S
1757
1769
  }) => {
1758
- a.use(), f.use(), l.set(x), h.set(m), u.set(T), d.set(b), _.set(R), E.set(g), p.set(M), A.set(S), e.activeTexture(e.TEXTURE0), v.set(0), w.use(), i.use(), e.drawElements(e.TRIANGLES, 6, e.UNSIGNED_SHORT, 0);
1770
+ a.use(), f.use(), l.set(E), h.set(v), u.set(w), d.set(M), _.set(R), x.set(g), p.set(b), A.set(S), e.activeTexture(e.TEXTURE0), m.set(0), T.use(), i.use(), e.drawElements(e.TRIANGLES, 6, e.UNSIGNED_SHORT, 0);
1759
1771
  } };
1760
1772
  }, s = r(), o = r(!0);
1761
1773
  return { renderProgram: s, depthProgram: o };
1762
- }, ai = (e) => {
1774
+ }, ci = (e) => {
1763
1775
  const t = e.createTexture();
1764
1776
  if (!t)
1765
1777
  throw new Error("Texture creation failed");
@@ -1771,7 +1783,7 @@ const Ci = (e, t = {}) => {
1771
1783
  use: n,
1772
1784
  dispose: () => e.deleteTexture(t)
1773
1785
  };
1774
- }, Ke = (e, t = 0) => ({
1786
+ }, Je = (e, t = 0) => ({
1775
1787
  get: ([n = 0, i = 0, r = 0]) => {
1776
1788
  for (let s = Math.min(r, t); s <= r; s++) {
1777
1789
  const o = 2 ** s, c = [
@@ -1783,12 +1795,12 @@ const Ci = (e, t = {}) => {
1783
1795
  return { texture: a, downsample: s };
1784
1796
  }
1785
1797
  }
1786
- }), ue = typeof performance == "object" && performance && typeof performance.now == "function" ? performance : Date, Rt = /* @__PURE__ */ new Set(), qe = typeof process == "object" && process ? process : {}, At = (e, t, n, i) => {
1787
- typeof qe.emitWarning == "function" ? qe.emitWarning(e, t, n, i) : console.error(`[${n}] ${t}: ${e}`);
1798
+ }), ue = typeof performance == "object" && performance && typeof performance.now == "function" ? performance : Date, At = /* @__PURE__ */ new Set(), et = typeof process == "object" && process ? process : {}, Mt = (e, t, n, i) => {
1799
+ typeof et.emitWarning == "function" ? et.emitWarning(e, t, n, i) : console.error(`[${n}] ${t}: ${e}`);
1788
1800
  };
1789
- let je = globalThis.AbortController, ht = globalThis.AbortSignal;
1790
- if (typeof je > "u") {
1791
- ht = class {
1801
+ let Ve = globalThis.AbortController, dt = globalThis.AbortSignal;
1802
+ if (typeof Ve > "u") {
1803
+ dt = class {
1792
1804
  onabort;
1793
1805
  _onabort = [];
1794
1806
  reason;
@@ -1796,11 +1808,11 @@ if (typeof je > "u") {
1796
1808
  addEventListener(i, r) {
1797
1809
  this._onabort.push(r);
1798
1810
  }
1799
- }, je = class {
1811
+ }, Ve = class {
1800
1812
  constructor() {
1801
1813
  t();
1802
1814
  }
1803
- signal = new ht();
1815
+ signal = new dt();
1804
1816
  abort(i) {
1805
1817
  if (!this.signal.aborted) {
1806
1818
  this.signal.reason = i, this.signal.aborted = !0;
@@ -1810,32 +1822,32 @@ if (typeof je > "u") {
1810
1822
  }
1811
1823
  }
1812
1824
  };
1813
- let e = qe.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
1825
+ let e = et.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
1814
1826
  const t = () => {
1815
- e && (e = !1, At("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));
1827
+ e && (e = !1, Mt("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));
1816
1828
  };
1817
1829
  }
1818
- const ci = (e) => !Rt.has(e), ee = (e) => e && e === Math.floor(e) && e > 0 && isFinite(e), Mt = (e) => ee(e) ? e <= Math.pow(2, 8) ? Uint8Array : e <= Math.pow(2, 16) ? Uint16Array : e <= Math.pow(2, 32) ? Uint32Array : e <= Number.MAX_SAFE_INTEGER ? Ce : null : null;
1819
- class Ce extends Array {
1830
+ const fi = (e) => !At.has(e), ee = (e) => e && e === Math.floor(e) && e > 0 && isFinite(e), bt = (e) => ee(e) ? e <= Math.pow(2, 8) ? Uint8Array : e <= Math.pow(2, 16) ? Uint16Array : e <= Math.pow(2, 32) ? Uint32Array : e <= Number.MAX_SAFE_INTEGER ? We : null : null;
1831
+ class We extends Array {
1820
1832
  constructor(t) {
1821
1833
  super(t), this.fill(0);
1822
1834
  }
1823
1835
  }
1824
- class me {
1836
+ class ve {
1825
1837
  heap;
1826
1838
  length;
1827
1839
  // private constructor
1828
1840
  static #c = !1;
1829
1841
  static create(t) {
1830
- const n = Mt(t);
1842
+ const n = bt(t);
1831
1843
  if (!n)
1832
1844
  return [];
1833
- me.#c = !0;
1834
- const i = new me(t, n);
1835
- return me.#c = !1, i;
1845
+ ve.#c = !0;
1846
+ const i = new ve(t, n);
1847
+ return ve.#c = !1, i;
1836
1848
  }
1837
1849
  constructor(t, n) {
1838
- if (!me.#c)
1850
+ if (!ve.#c)
1839
1851
  throw new TypeError("instantiate Stack using Stack.create(n)");
1840
1852
  this.heap = new n(t), this.length = 0;
1841
1853
  }
@@ -1846,7 +1858,7 @@ class me {
1846
1858
  return this.heap[--this.length];
1847
1859
  }
1848
1860
  }
1849
- class Je {
1861
+ class nt {
1850
1862
  // properties coming in from the options of these, only max and maxSize
1851
1863
  // really *need* to be protected. The rest can be modified, as they just
1852
1864
  // set defaults for various methods.
@@ -1930,7 +1942,7 @@ class Je {
1930
1942
  #_;
1931
1943
  #y;
1932
1944
  #d;
1933
- #T;
1945
+ #w;
1934
1946
  #A;
1935
1947
  #l;
1936
1948
  /**
@@ -1964,7 +1976,7 @@ class Je {
1964
1976
  isBackgroundFetch: (n) => t.#t(n),
1965
1977
  backgroundFetch: (n, i, r, s) => t.#L(n, i, r, s),
1966
1978
  moveToTail: (n) => t.#S(n),
1967
- indexes: (n) => t.#w(n),
1979
+ indexes: (n) => t.#T(n),
1968
1980
  rindexes: (n) => t.#g(n),
1969
1981
  isStale: (n) => t.#m(n)
1970
1982
  };
@@ -2013,21 +2025,21 @@ class Je {
2013
2025
  return this.#p;
2014
2026
  }
2015
2027
  constructor(t) {
2016
- const { max: n = 0, ttl: i, ttlResolution: r = 1, ttlAutopurge: s, updateAgeOnGet: o, updateAgeOnHas: c, allowStale: a, dispose: f, disposeAfter: l, noDisposeOnSet: h, noUpdateTTL: u, maxSize: d = 0, maxEntrySize: v = 0, sizeCalculation: _, fetchMethod: E, noDeleteOnFetchRejection: p, noDeleteOnStaleGet: A, allowStaleOnFetchRejection: y, allowStaleOnFetchAbort: x, ignoreFetchAbort: m } = t;
2028
+ const { max: n = 0, ttl: i, ttlResolution: r = 1, ttlAutopurge: s, updateAgeOnGet: o, updateAgeOnHas: c, allowStale: a, dispose: f, disposeAfter: l, noDisposeOnSet: h, noUpdateTTL: u, maxSize: d = 0, maxEntrySize: m = 0, sizeCalculation: _, fetchMethod: x, noDeleteOnFetchRejection: p, noDeleteOnStaleGet: A, allowStaleOnFetchRejection: y, allowStaleOnFetchAbort: E, ignoreFetchAbort: v } = t;
2017
2029
  if (n !== 0 && !ee(n))
2018
2030
  throw new TypeError("max option must be a nonnegative integer");
2019
- const T = n ? Mt(n) : Array;
2020
- if (!T)
2031
+ const w = n ? bt(n) : Array;
2032
+ if (!w)
2021
2033
  throw new Error("invalid max value: " + n);
2022
- if (this.#c = n, this.#u = d, this.maxEntrySize = v || this.#u, this.sizeCalculation = _, this.sizeCalculation) {
2034
+ if (this.#c = n, this.#u = d, this.maxEntrySize = m || this.#u, this.sizeCalculation = _, this.sizeCalculation) {
2023
2035
  if (!this.#u && !this.maxEntrySize)
2024
2036
  throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
2025
2037
  if (typeof this.sizeCalculation != "function")
2026
2038
  throw new TypeError("sizeCalculation set to non-function");
2027
2039
  }
2028
- if (E !== void 0 && typeof E != "function")
2040
+ if (x !== void 0 && typeof x != "function")
2029
2041
  throw new TypeError("fetchMethod must be a function if specified");
2030
- if (this.#U = E, this.#A = !!E, this.#i = /* @__PURE__ */ new Map(), this.#n = new Array(n).fill(void 0), this.#e = new Array(n).fill(void 0), this.#f = new T(n), this.#h = new T(n), this.#a = 0, this.#s = 0, this.#E = me.create(n), this.#r = 0, this.#x = 0, typeof f == "function" && (this.#v = f), typeof l == "function" ? (this.#p = l, this.#o = []) : (this.#p = void 0, this.#o = void 0), this.#T = !!this.#v, this.#l = !!this.#p, this.noDisposeOnSet = !!h, this.noUpdateTTL = !!u, this.noDeleteOnFetchRejection = !!p, this.allowStaleOnFetchRejection = !!y, this.allowStaleOnFetchAbort = !!x, this.ignoreFetchAbort = !!m, this.maxEntrySize !== 0) {
2042
+ if (this.#U = x, this.#A = !!x, this.#i = /* @__PURE__ */ new Map(), this.#n = new Array(n).fill(void 0), this.#e = new Array(n).fill(void 0), this.#f = new w(n), this.#h = new w(n), this.#a = 0, this.#s = 0, this.#E = ve.create(n), this.#r = 0, this.#x = 0, typeof f == "function" && (this.#v = f), typeof l == "function" ? (this.#p = l, this.#o = []) : (this.#p = void 0, this.#o = void 0), this.#w = !!this.#v, this.#l = !!this.#p, this.noDisposeOnSet = !!h, this.noUpdateTTL = !!u, this.noDeleteOnFetchRejection = !!p, this.allowStaleOnFetchRejection = !!y, this.allowStaleOnFetchAbort = !!E, this.ignoreFetchAbort = !!v, this.maxEntrySize !== 0) {
2031
2043
  if (this.#u !== 0 && !ee(this.#u))
2032
2044
  throw new TypeError("maxSize must be a positive integer if specified");
2033
2045
  if (!ee(this.maxEntrySize))
@@ -2042,8 +2054,8 @@ class Je {
2042
2054
  if (this.#c === 0 && this.ttl === 0 && this.#u === 0)
2043
2055
  throw new TypeError("At least one of max, maxSize, or ttl is required");
2044
2056
  if (!this.ttlAutopurge && !this.#c && !this.#u) {
2045
- const b = "LRU_CACHE_UNBOUNDED";
2046
- ci(b) && (Rt.add(b), At("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.", "UnboundedCacheWarning", b, Je));
2057
+ const M = "LRU_CACHE_UNBOUNDED";
2058
+ fi(M) && (At.add(M), Mt("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.", "UnboundedCacheWarning", M, nt));
2047
2059
  }
2048
2060
  }
2049
2061
  /**
@@ -2053,7 +2065,7 @@ class Je {
2053
2065
  return this.#i.has(t) ? 1 / 0 : 0;
2054
2066
  }
2055
2067
  #N() {
2056
- const t = new Ce(this.#c), n = new Ce(this.#c);
2068
+ const t = new We(this.#c), n = new We(this.#c);
2057
2069
  this.#d = t, this.#y = n, this.#I = (s, o, c = ue.now()) => {
2058
2070
  if (n[s] = o !== 0 ? c : 0, t[s] = o, o !== 0 && this.ttlAutopurge) {
2059
2071
  const a = setTimeout(() => {
@@ -2107,7 +2119,7 @@ class Je {
2107
2119
  /* c8 ignore stop */
2108
2120
  #m = () => !1;
2109
2121
  #X() {
2110
- const t = new Ce(this.#c);
2122
+ const t = new We(this.#c);
2111
2123
  this.#x = 0, this.#_ = t, this.#b = (n) => {
2112
2124
  this.#x -= t[n], t[n] = 0;
2113
2125
  }, this.#D = (n, i, r, s) => {
@@ -2140,7 +2152,7 @@ class Je {
2140
2152
  throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
2141
2153
  return 0;
2142
2154
  };
2143
- *#w({ allowStale: t = this.allowStale } = {}) {
2155
+ *#T({ allowStale: t = this.allowStale } = {}) {
2144
2156
  if (this.#r)
2145
2157
  for (let n = this.#s; !(!this.#O(n) || ((t || !this.#m(n)) && (yield n), n === this.#a)); )
2146
2158
  n = this.#h[n];
@@ -2158,7 +2170,7 @@ class Je {
2158
2170
  * in order from most recently used to least recently used.
2159
2171
  */
2160
2172
  *entries() {
2161
- for (const t of this.#w())
2173
+ for (const t of this.#T())
2162
2174
  this.#e[t] !== void 0 && this.#n[t] !== void 0 && !this.#t(this.#e[t]) && (yield [this.#n[t], this.#e[t]]);
2163
2175
  }
2164
2176
  /**
@@ -2176,7 +2188,7 @@ class Je {
2176
2188
  * in order from most recently used to least recently used.
2177
2189
  */
2178
2190
  *keys() {
2179
- for (const t of this.#w()) {
2191
+ for (const t of this.#T()) {
2180
2192
  const n = this.#n[t];
2181
2193
  n !== void 0 && !this.#t(this.#e[t]) && (yield n);
2182
2194
  }
@@ -2198,7 +2210,7 @@ class Je {
2198
2210
  * in order from most recently used to least recently used.
2199
2211
  */
2200
2212
  *values() {
2201
- for (const t of this.#w())
2213
+ for (const t of this.#T())
2202
2214
  this.#e[t] !== void 0 && !this.#t(this.#e[t]) && (yield this.#e[t]);
2203
2215
  }
2204
2216
  /**
@@ -2228,7 +2240,7 @@ class Je {
2228
2240
  * similar to Array.find(). fn is called as fn(value, key, cache).
2229
2241
  */
2230
2242
  find(t, n = {}) {
2231
- for (const i of this.#w()) {
2243
+ for (const i of this.#T()) {
2232
2244
  const r = this.#e[i], s = this.#t(r) ? r.__staleWhileFetching : r;
2233
2245
  if (s !== void 0 && t(s, this.#n[i], this))
2234
2246
  return this.get(this.#n[i], n);
@@ -2241,7 +2253,7 @@ class Je {
2241
2253
  * Does not iterate over stale values.
2242
2254
  */
2243
2255
  forEach(t, n = this) {
2244
- for (const i of this.#w()) {
2256
+ for (const i of this.#T()) {
2245
2257
  const r = this.#e[i], s = this.#t(r) ? r.__staleWhileFetching : r;
2246
2258
  s !== void 0 && t.call(n, s, this.#n[i], this);
2247
2259
  }
@@ -2295,7 +2307,7 @@ class Je {
2295
2307
  */
2296
2308
  dump() {
2297
2309
  const t = [];
2298
- for (const n of this.#w({ allowStale: !0 })) {
2310
+ for (const n of this.#T({ allowStale: !0 })) {
2299
2311
  const i = this.#n[n], r = this.#e[n], s = this.#t(r) ? r.__staleWhileFetching : r;
2300
2312
  if (s === void 0 || i === void 0)
2301
2313
  continue;
@@ -2348,9 +2360,9 @@ class Je {
2348
2360
  if (this.#A && this.#t(u)) {
2349
2361
  u.__abortController.abort(new Error("replaced"));
2350
2362
  const { __staleWhileFetching: d } = u;
2351
- d !== void 0 && !o && (this.#T && this.#v?.(d, t, "set"), this.#l && this.#o?.push([d, t, "set"]));
2363
+ d !== void 0 && !o && (this.#w && this.#v?.(d, t, "set"), this.#l && this.#o?.push([d, t, "set"]));
2352
2364
  } else
2353
- o || (this.#T && this.#v?.(u, t, "set"), this.#l && this.#o?.push([u, t, "set"]));
2365
+ o || (this.#w && this.#v?.(u, t, "set"), this.#l && this.#o?.push([u, t, "set"]));
2354
2366
  if (this.#b(h), this.#P(h, l, a), this.#e[h] = n, a) {
2355
2367
  a.set = "replace";
2356
2368
  const d = u && this.#t(u) ? u.__staleWhileFetching : u;
@@ -2392,7 +2404,7 @@ class Je {
2392
2404
  }
2393
2405
  #z(t) {
2394
2406
  const n = this.#a, i = this.#n[n], r = this.#e[n];
2395
- return this.#A && this.#t(r) ? r.__abortController.abort(new Error("evicted")) : (this.#T || this.#l) && (this.#T && this.#v?.(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;
2407
+ return this.#A && this.#t(r) ? r.__abortController.abort(new Error("evicted")) : (this.#w || this.#l) && (this.#w && this.#v?.(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;
2396
2408
  }
2397
2409
  /**
2398
2410
  * Check if a key is in the cache, without updating the recency of use.
@@ -2434,7 +2446,7 @@ class Je {
2434
2446
  const s = n === void 0 ? void 0 : this.#e[n];
2435
2447
  if (this.#t(s))
2436
2448
  return s;
2437
- const o = new je(), { signal: c } = i;
2449
+ const o = new Ve(), { signal: c } = i;
2438
2450
  c?.addEventListener("abort", () => o.abort(c.reason), {
2439
2451
  signal: o.signal
2440
2452
  });
@@ -2442,37 +2454,37 @@ class Je {
2442
2454
  signal: o.signal,
2443
2455
  options: i,
2444
2456
  context: r
2445
- }, f = (_, E = !1) => {
2457
+ }, f = (_, x = !1) => {
2446
2458
  const { aborted: p } = o.signal, A = i.ignoreFetchAbort && _ !== void 0;
2447
- if (i.status && (p && !E ? (i.status.fetchAborted = !0, i.status.fetchError = o.signal.reason, A && (i.status.fetchAbortIgnored = !0)) : i.status.fetchResolved = !0), p && !A && !E)
2459
+ if (i.status && (p && !x ? (i.status.fetchAborted = !0, i.status.fetchError = o.signal.reason, A && (i.status.fetchAbortIgnored = !0)) : i.status.fetchResolved = !0), p && !A && !x)
2448
2460
  return h(o.signal.reason);
2449
2461
  const y = d;
2450
2462
  return this.#e[n] === d && (_ === void 0 ? y.__staleWhileFetching ? this.#e[n] = y.__staleWhileFetching : this.delete(t) : (i.status && (i.status.fetchUpdated = !0), this.set(t, _, a.options))), _;
2451
2463
  }, l = (_) => (i.status && (i.status.fetchRejected = !0, i.status.fetchError = _), h(_)), h = (_) => {
2452
- const { aborted: E } = o.signal, p = E && i.allowStaleOnFetchAbort, A = p || i.allowStaleOnFetchRejection, y = A || i.noDeleteOnFetchRejection, x = d;
2453
- if (this.#e[n] === d && (!y || x.__staleWhileFetching === void 0 ? this.delete(t) : p || (this.#e[n] = x.__staleWhileFetching)), A)
2454
- return i.status && x.__staleWhileFetching !== void 0 && (i.status.returnedStale = !0), x.__staleWhileFetching;
2455
- if (x.__returned === x)
2464
+ const { aborted: x } = o.signal, p = x && i.allowStaleOnFetchAbort, A = p || i.allowStaleOnFetchRejection, y = A || i.noDeleteOnFetchRejection, E = d;
2465
+ if (this.#e[n] === d && (!y || E.__staleWhileFetching === void 0 ? this.delete(t) : p || (this.#e[n] = E.__staleWhileFetching)), A)
2466
+ return i.status && E.__staleWhileFetching !== void 0 && (i.status.returnedStale = !0), E.__staleWhileFetching;
2467
+ if (E.__returned === E)
2456
2468
  throw _;
2457
- }, u = (_, E) => {
2469
+ }, u = (_, x) => {
2458
2470
  const p = this.#U?.(t, s, a);
2459
- p && p instanceof Promise && p.then((A) => _(A === void 0 ? void 0 : A), E), o.signal.addEventListener("abort", () => {
2471
+ p && p instanceof Promise && p.then((A) => _(A === void 0 ? void 0 : A), x), o.signal.addEventListener("abort", () => {
2460
2472
  (!i.ignoreFetchAbort || i.allowStaleOnFetchAbort) && (_(void 0), i.allowStaleOnFetchAbort && (_ = (A) => f(A, !0)));
2461
2473
  });
2462
2474
  };
2463
2475
  i.status && (i.status.fetchDispatched = !0);
2464
- const d = new Promise(u).then(f, l), v = Object.assign(d, {
2476
+ const d = new Promise(u).then(f, l), m = Object.assign(d, {
2465
2477
  __abortController: o,
2466
2478
  __staleWhileFetching: s,
2467
2479
  __returned: void 0
2468
2480
  });
2469
- return n === void 0 ? (this.set(t, v, { ...a.options, status: void 0 }), n = this.#i.get(t)) : this.#e[n] = v, v;
2481
+ return n === void 0 ? (this.set(t, m, { ...a.options, status: void 0 }), n = this.#i.get(t)) : this.#e[n] = m, m;
2470
2482
  }
2471
2483
  #t(t) {
2472
2484
  if (!this.#A)
2473
2485
  return !1;
2474
2486
  const n = t;
2475
- return !!n && n instanceof Promise && n.hasOwnProperty("__staleWhileFetching") && n.__abortController instanceof je;
2487
+ return !!n && n instanceof Promise && n.hasOwnProperty("__staleWhileFetching") && n.__abortController instanceof Ve;
2476
2488
  }
2477
2489
  async fetch(t, n = {}) {
2478
2490
  const {
@@ -2490,9 +2502,9 @@ class Je {
2490
2502
  noDeleteOnFetchRejection: h = this.noDeleteOnFetchRejection,
2491
2503
  allowStaleOnFetchRejection: u = this.allowStaleOnFetchRejection,
2492
2504
  ignoreFetchAbort: d = this.ignoreFetchAbort,
2493
- allowStaleOnFetchAbort: v = this.allowStaleOnFetchAbort,
2505
+ allowStaleOnFetchAbort: m = this.allowStaleOnFetchAbort,
2494
2506
  context: _,
2495
- forceRefresh: E = !1,
2507
+ forceRefresh: x = !1,
2496
2508
  status: p,
2497
2509
  signal: A
2498
2510
  } = n;
@@ -2514,27 +2526,27 @@ class Je {
2514
2526
  noUpdateTTL: l,
2515
2527
  noDeleteOnFetchRejection: h,
2516
2528
  allowStaleOnFetchRejection: u,
2517
- allowStaleOnFetchAbort: v,
2529
+ allowStaleOnFetchAbort: m,
2518
2530
  ignoreFetchAbort: d,
2519
2531
  status: p,
2520
2532
  signal: A
2521
2533
  };
2522
- let x = this.#i.get(t);
2523
- if (x === void 0) {
2534
+ let E = this.#i.get(t);
2535
+ if (E === void 0) {
2524
2536
  p && (p.fetch = "miss");
2525
- const m = this.#L(t, x, y, _);
2526
- return m.__returned = m;
2537
+ const v = this.#L(t, E, y, _);
2538
+ return v.__returned = v;
2527
2539
  } else {
2528
- const m = this.#e[x];
2529
- if (this.#t(m)) {
2530
- const g = i && m.__staleWhileFetching !== void 0;
2531
- return p && (p.fetch = "inflight", g && (p.returnedStale = !0)), g ? m.__staleWhileFetching : m.__returned = m;
2540
+ const v = this.#e[E];
2541
+ if (this.#t(v)) {
2542
+ const g = i && v.__staleWhileFetching !== void 0;
2543
+ return p && (p.fetch = "inflight", g && (p.returnedStale = !0)), g ? v.__staleWhileFetching : v.__returned = v;
2532
2544
  }
2533
- const T = this.#m(x);
2534
- if (!E && !T)
2535
- return p && (p.fetch = "hit"), this.#S(x), r && this.#M(x), p && this.#R(p, x), m;
2536
- const b = this.#L(t, x, y, _), R = b.__staleWhileFetching !== void 0 && i;
2537
- return p && (p.fetch = T ? "stale" : "refresh", R && T && (p.returnedStale = !0)), R ? b.__staleWhileFetching : b.__returned = b;
2545
+ const w = this.#m(E);
2546
+ if (!x && !w)
2547
+ return p && (p.fetch = "hit"), this.#S(E), r && this.#M(E), p && this.#R(p, E), v;
2548
+ const M = this.#L(t, E, y, _), R = M.__staleWhileFetching !== void 0 && i;
2549
+ return p && (p.fetch = w ? "stale" : "refresh", R && w && (p.returnedStale = !0)), R ? M.__staleWhileFetching : M.__returned = M;
2538
2550
  }
2539
2551
  }
2540
2552
  /**
@@ -2571,7 +2583,7 @@ class Je {
2571
2583
  else {
2572
2584
  this.#b(i);
2573
2585
  const r = this.#e[i];
2574
- if (this.#t(r) ? r.__abortController.abort(new Error("deleted")) : (this.#T || this.#l) && (this.#T && this.#v?.(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)
2586
+ if (this.#t(r) ? r.__abortController.abort(new Error("deleted")) : (this.#w || this.#l) && (this.#w && this.#v?.(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)
2575
2587
  this.#s = this.#h[i];
2576
2588
  else if (i === this.#a)
2577
2589
  this.#a = this.#f[i];
@@ -2602,7 +2614,7 @@ class Je {
2602
2614
  n.__abortController.abort(new Error("deleted"));
2603
2615
  else {
2604
2616
  const i = this.#n[t];
2605
- this.#T && this.#v?.(n, i, "delete"), this.#l && this.#o?.push([n, i, "delete"]);
2617
+ this.#w && this.#v?.(n, i, "delete"), this.#l && this.#o?.push([n, i, "delete"]);
2606
2618
  }
2607
2619
  }
2608
2620
  if (this.#i.clear(), this.#e.fill(void 0), this.#n.fill(void 0), this.#d && this.#y && (this.#d.fill(0), this.#y.fill(0)), this.#_ && this.#_.fill(0), this.#a = 0, this.#s = 0, this.#E.length = 0, this.#x = 0, this.#r = 0, this.#l && this.#o) {
@@ -2613,8 +2625,8 @@ class Je {
2613
2625
  }
2614
2626
  }
2615
2627
  }
2616
- const Be = (e) => {
2617
- const t = new Je({
2628
+ const Ze = (e) => {
2629
+ const t = new nt({
2618
2630
  ...e,
2619
2631
  ttlResolution: 0,
2620
2632
  dispose: (r, s) => e.dispose?.(r, i(s))
@@ -2631,40 +2643,40 @@ const Be = (e) => {
2631
2643
  clear: () => t.clear(),
2632
2644
  purgeStale: () => t.purgeStale()
2633
2645
  };
2634
- }, fi = 15, ie = 256, li = ({
2646
+ }, li = 15, ie = 256, ui = ({
2635
2647
  gl: e,
2636
2648
  terrainCache: t
2637
2649
  }) => {
2638
- const n = Be({
2650
+ const n = Ze({
2639
2651
  max: 1e3
2640
- }), i = Ke(t), r = e.createFramebuffer();
2652
+ }), i = Je(t), r = e.createFramebuffer();
2641
2653
  if (!r)
2642
2654
  throw new Error("Framebuffer creation failed");
2643
2655
  const s = ([a = 0, f = 0, l = 0]) => {
2644
2656
  const h = i.get([a, f, l]);
2645
2657
  if (!h)
2646
2658
  return;
2647
- const { texture: u, downsample: d } = h, v = 2 ** d, _ = [Math.floor(a / v), Math.floor(f / v), l - d], E = n.get(_);
2648
- if (E)
2649
- return { buffer: E, downsample: d };
2659
+ const { texture: u, downsample: d } = h, m = 2 ** d, _ = [Math.floor(a / m), Math.floor(f / m), l - d], x = n.get(_);
2660
+ if (x)
2661
+ return { buffer: x, downsample: d };
2650
2662
  const p = new Uint8Array(4 * ie * ie);
2651
2663
  return e.bindFramebuffer(e.FRAMEBUFFER, r), u.attach(), e.readPixels(0, 0, ie, ie, e.RGBA, e.UNSIGNED_BYTE, p), e.bindFramebuffer(e.FRAMEBUFFER, null), n.set(_, p), { buffer: p, downsample: d };
2652
2664
  };
2653
- return { get: ([a = 0, f = 0], l = fi) => {
2654
- const h = 2 ** l, u = z([a, f, 0]).map((g) => g * h), [d = 0, v = 0] = u.map((g) => Math.floor(g % h));
2655
- let [_ = 0, E = 0] = u.map((g) => g % 1);
2656
- const p = s([d, v, l]);
2665
+ return { get: ([a = 0, f = 0], l = li) => {
2666
+ const h = 2 ** l, u = z([a, f, 0]).map((g) => g * h), [d = 0, m = 0] = u.map((g) => Math.floor(g % h));
2667
+ let [_ = 0, x = 0] = u.map((g) => g % 1);
2668
+ const p = s([d, m, l]);
2657
2669
  if (!p)
2658
2670
  return 0;
2659
- const { buffer: A, downsample: y } = p, x = 2 ** y;
2660
- [_, E] = [(d % x + _) / x, (v % x + E) / x];
2661
- const m = 4 * ie * Math.floor(E * ie) + 4 * Math.floor(_ * ie), [T = 0, b = 0, w = 0] = A.slice(m, m + 4);
2662
- return (T * 65536 + b * 256 + w) / 10 - 1e4;
2671
+ const { buffer: A, downsample: y } = p, E = 2 ** y;
2672
+ [_, x] = [(d % E + _) / E, (m % E + x) / E];
2673
+ const v = 4 * ie * Math.floor(x * ie) + 4 * Math.floor(_ * ie), [w = 0, M = 0, T = 0] = A.slice(v, v + 4);
2674
+ return (w * 65536 + M * 256 + T) / 10 - 1e4;
2663
2675
  }, dispose: () => {
2664
2676
  e.deleteFramebuffer(r);
2665
2677
  } };
2666
2678
  };
2667
- var ui = `#version 300 es
2679
+ var hi = `#version 300 es
2668
2680
 
2669
2681
  precision highp float;
2670
2682
 
@@ -2676,15 +2688,15 @@ out vec4 result;
2676
2688
  void main(void) {
2677
2689
  result = texture(imagery, uv) * color_out;
2678
2690
  }`;
2679
- const dt = ({
2691
+ const mt = ({
2680
2692
  gl: e,
2681
2693
  urlPattern: t,
2682
2694
  onLoad: n
2683
2695
  }) => {
2684
- const i = Be({
2696
+ const i = Ze({
2685
2697
  max: 2e3,
2686
2698
  dispose: (a) => a.dispose()
2687
- }), r = Be({
2699
+ }), r = Ze({
2688
2700
  max: 1e4,
2689
2701
  ttl: 200,
2690
2702
  dispose: (a, f) => {
@@ -2701,30 +2713,30 @@ const dt = ({
2701
2713
  const [l = 0, h = 0, u = 0] = a;
2702
2714
  let d = t.replace("{x}", `${l}`).replace("{y}", `${h}`).replace("{z}", `${u}`);
2703
2715
  if (d.includes("{bbox}")) {
2704
- const [_ = 0, E = 0, p = 0] = a, A = 2 ** p - E - 1, [[y, x] = [], [m, T] = []] = [
2716
+ const [_ = 0, x = 0, p = 0] = a, A = 2 ** p - x - 1, [[y, E] = [], [v, w] = []] = [
2705
2717
  [0, 0],
2706
2718
  [1, 1]
2707
- ].map(([b = 0, w = 0]) => [_ + b, A + w, p]).map((b) => pt(b, b)).map(([b = 0, w = 0]) => [
2708
- (b - 0.5) * 2 * Math.PI * 6378137,
2709
- (w - 0.5) * 2 * Math.PI * 6378137
2719
+ ].map(([M = 0, T = 0]) => [_ + M, A + T, p]).map((M) => xt(M, M)).map(([M = 0, T = 0]) => [
2720
+ (M - 0.5) * 2 * Math.PI * 6378137,
2721
+ (T - 0.5) * 2 * Math.PI * 6378137
2710
2722
  ]);
2711
- d = d.replace("{bbox}", [y, x, m, T].join(","));
2723
+ d = d.replace("{bbox}", [y, E, v, w].join(","));
2712
2724
  }
2713
- const v = yt({
2725
+ const m = wt({
2714
2726
  gl: e,
2715
2727
  url: d,
2716
2728
  onLoad: () => {
2717
2729
  r.delete(a), n?.();
2718
2730
  }
2719
2731
  });
2720
- i.set(a, v), r.set(a, !0);
2732
+ i.set(a, m), r.set(a, !0);
2721
2733
  }
2722
2734
  }, o = setInterval(() => r.purgeStale(), 200);
2723
2735
  return { get: s, dispose: () => {
2724
2736
  clearInterval(o), i.clear();
2725
2737
  } };
2726
- }, hi = (e) => {
2727
- const t = Be({
2738
+ }, di = (e) => {
2739
+ const t = Ze({
2728
2740
  max: 1e4,
2729
2741
  ttl: 1e3
2730
2742
  }), n = [
@@ -2737,17 +2749,17 @@ const dt = ({
2737
2749
  const s = t.get(r);
2738
2750
  if (s)
2739
2751
  return s;
2740
- const [o = 0, c = 0, a = 0] = r, f = n.map(([l = 0, h = 0]) => [o + l, c + h, a]).map((l) => pt(l, l)).map((l) => oe(l, l)).map((l) => {
2752
+ const [o = 0, c = 0, a = 0] = r, f = n.map(([l = 0, h = 0]) => [o + l, c + h, a]).map((l) => xt(l, l)).map((l) => oe(l, l)).map((l) => {
2741
2753
  const [h = 0, u = 0] = l, d = Math.max(a - 5, 0);
2742
2754
  return z(
2743
- Me(l, h, u, e.get([h, u], d)),
2755
+ Se(l, h, u, e.get([h, u], d)),
2744
2756
  l
2745
2757
  );
2746
2758
  });
2747
2759
  return t.set(r, f), f;
2748
2760
  } };
2749
2761
  };
2750
- var di = `#version 300 es
2762
+ var mi = `#version 300 es
2751
2763
 
2752
2764
  precision highp float;
2753
2765
 
@@ -2784,21 +2796,21 @@ void main(void) {
2784
2796
  uv = downsample(downsample_imagery);
2785
2797
  color_out = color;
2786
2798
  }`;
2787
- const B = 34, mi = 22, vi = xe(0, B).flatMap(
2788
- (e) => xe(0, B).flatMap((t) => [
2789
- e * (B + 1) + t,
2790
- e * (B + 1) + t + 1,
2791
- (e + 1) * (B + 1) + t + 1,
2792
- e * (B + 1) + t,
2793
- (e + 1) * (B + 1) + t + 1,
2794
- (e + 1) * (B + 1) + t
2799
+ const V = 34, vi = 22, pi = xe(0, V).flatMap(
2800
+ (e) => xe(0, V).flatMap((t) => [
2801
+ e * (V + 1) + t,
2802
+ e * (V + 1) + t + 1,
2803
+ (e + 1) * (V + 1) + t + 1,
2804
+ e * (V + 1) + t,
2805
+ (e + 1) * (V + 1) + t + 1,
2806
+ (e + 1) * (V + 1) + t
2795
2807
  ])
2796
- ), Ie = 0.1, pi = xe(0, B + 1).flatMap(
2797
- (e) => xe(0, B + 1).map((t) => {
2798
- let n = (t - 1) / (B - 2), i = (e - 1) / (B - 2), r = 0;
2799
- return t === 0 && (n = 0, r = -Ie), t === B && (n = 1, r = -Ie), e === 0 && (i = 0, r = -Ie), e === B && (i = 1, r = -Ie), [n, i, r];
2808
+ ), Oe = 0.1, xi = xe(0, V + 1).flatMap(
2809
+ (e) => xe(0, V + 1).map((t) => {
2810
+ let n = (t - 1) / (V - 2), i = (e - 1) / (V - 2), r = 0;
2811
+ return t === 0 && (n = 0, r = -Oe), t === V && (n = 1, r = -Oe), e === 0 && (i = 0, r = -Oe), e === V && (i = 1, r = -Oe), [n, i, r];
2800
2812
  })
2801
- ), ji = (e, t = {}) => {
2813
+ ), Zi = (e, t = {}) => {
2802
2814
  const { gl: n } = e;
2803
2815
  let i, r;
2804
2816
  const s = n.getExtension(
@@ -2806,7 +2818,7 @@ const B = 34, mi = 22, vi = xe(0, B).flatMap(
2806
2818
  ), o = s ? n.getParameter(s.MAX_TEXTURE_MAX_ANISOTROPY_EXT) : void 0, c = ce(
2807
2819
  () => t.imageryUrl?.() ?? "",
2808
2820
  (R) => {
2809
- i?.dispose(), i = dt({
2821
+ i?.dispose(), i = mt({
2810
2822
  gl: n,
2811
2823
  urlPattern: R,
2812
2824
  onLoad: () => {
@@ -2820,119 +2832,119 @@ const B = 34, mi = 22, vi = xe(0, B).flatMap(
2820
2832
  n.LINEAR_MIPMAP_LINEAR
2821
2833
  ), 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);
2822
2834
  }
2823
- }), r = Ke(i);
2835
+ }), r = Je(i);
2824
2836
  }
2825
- ), a = t.terrainUrl?.() ?? "", f = dt({
2837
+ ), a = t.terrainUrl?.() ?? "", f = mt({
2826
2838
  gl: n,
2827
2839
  urlPattern: a,
2828
2840
  onLoad: () => {
2829
2841
  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);
2830
2842
  }
2831
- }), l = Ke(f, 3), h = li({ gl: n, terrainCache: f }), u = hi(h), d = V({ gl: n, type: "f32", target: "array" });
2832
- d.set(pi.flatMap(([R = 0, g = 0, M = 0]) => [R, g, M]));
2833
- const v = V({ gl: n, type: "u16", target: "element" });
2834
- v.set(vi);
2835
- const { renderProgram: _, depthProgram: E } = xi(e, {
2843
+ }), l = Je(f, 3), h = ui({ gl: n, terrainCache: f }), u = di(h), d = Z({ gl: n, type: "f32", target: "array" });
2844
+ d.set(xi.flatMap(([R = 0, g = 0, b = 0]) => [R, g, b]));
2845
+ const m = Z({ gl: n, type: "u16", target: "element" });
2846
+ m.set(pi);
2847
+ const { renderProgram: _, depthProgram: x } = Ei(e, {
2836
2848
  uvwBuffer: d,
2837
- indexBuffer: v
2838
- }), p = [0, 1, 2, 3], A = p.map(L), y = p.map(ne), x = p.map(pe), m = (R) => {
2839
- const { camera: g, worldToLocal: M, localToClip: S, clipToScreen: U } = R, P = (N) => {
2840
- const [I = 0, C = 0, X = 0] = N, W = u.get(N);
2841
- let j = Ei(g, W);
2842
- if (!j) {
2843
- const Z = W.map((H, G) => M(H, A[G])).map((H, G) => S(H, y[G]));
2844
- if (_i(Z))
2849
+ indexBuffer: m
2850
+ }), p = [0, 1, 2, 3], A = p.map(L), y = p.map(ne), E = p.map(pe), v = (R) => {
2851
+ const { camera: g, worldToLocal: b, localToClip: S, clipToScreen: U } = R, P = (D) => {
2852
+ const [O = 0, X = 0, I = 0] = D, W = u.get(D);
2853
+ let B = _i(g, W);
2854
+ if (!B) {
2855
+ const $ = W.map((k, Q) => b(k, A[Q])).map((k, Q) => S(k, y[Q]));
2856
+ if (yi($))
2845
2857
  return [];
2846
- j = yi(Z.map((H, G) => U(H, x[G]))) > 512 / devicePixelRatio;
2858
+ B = wi($.map((k, Q) => U(k, E[Q]))) > 512 / devicePixelRatio;
2847
2859
  }
2848
- return j && X < mi ? [
2849
- [2 * I, 2 * C, X + 1],
2850
- [2 * I + 1, 2 * C, X + 1],
2851
- [2 * I, 2 * C + 1, X + 1],
2852
- [2 * I + 1, 2 * C + 1, X + 1]
2853
- ].flatMap((J) => P(J)) : [N];
2860
+ return B && I < vi ? [
2861
+ [2 * O, 2 * X, I + 1],
2862
+ [2 * O + 1, 2 * X, I + 1],
2863
+ [2 * O, 2 * X + 1, I + 1],
2864
+ [2 * O + 1, 2 * X + 1, I + 1]
2865
+ ].flatMap((J) => P(J)) : [D];
2854
2866
  };
2855
2867
  return P([0, 0, 0]);
2856
- }, T = ({
2868
+ }, w = ({
2857
2869
  viewport: R,
2858
2870
  depth: g = !1,
2859
- index: M = 0
2871
+ index: b = 0
2860
2872
  }) => {
2861
2873
  const S = t.color?.() ?? [1, 1, 1, 1];
2862
2874
  if (c(), Ee(n, g, t))
2863
2875
  return;
2864
- const U = g ? E : _, { projection: P, modelView: N, camera: I } = R, C = m(R);
2865
- for (const X of C) {
2866
- const W = g ? void 0 : r?.get(X), j = l.get(X);
2867
- if (!g && !W || !j)
2876
+ const U = g ? x : _, { projection: P, modelView: D, camera: O } = R, X = v(R);
2877
+ for (const I of X) {
2878
+ const W = g ? void 0 : r?.get(I), B = l.get(I);
2879
+ if (!g && !W || !B)
2868
2880
  continue;
2869
- const { texture: Z, downsample: J } = j, { texture: H = Z, downsample: G = 0 } = W ?? {};
2881
+ const { texture: $, downsample: J } = B, { texture: k = $, downsample: Q = 0 } = W ?? {};
2870
2882
  U.execute({
2871
2883
  projection: P,
2872
- modelView: N,
2873
- camera: q(I),
2874
- xyz: X,
2875
- imagery: H,
2876
- terrain: Z,
2877
- downsampleImagery: G,
2884
+ modelView: D,
2885
+ camera: q(O),
2886
+ xyz: I,
2887
+ imagery: k,
2888
+ terrain: $,
2889
+ downsampleImagery: Q,
2878
2890
  downsampleTerrain: J,
2879
2891
  color: S,
2880
- index: M
2892
+ index: b
2881
2893
  });
2882
2894
  }
2883
- }, b = () => {
2895
+ }, M = () => {
2884
2896
  i?.dispose(), f.dispose(), h.dispose();
2885
- }, w = ye(t);
2897
+ }, T = ye(t);
2886
2898
  return {
2887
- render: T,
2888
- dispose: b,
2889
- ...w
2899
+ render: w,
2900
+ dispose: M,
2901
+ ...T
2890
2902
  };
2891
- }, xi = ({ gl: e, programs: t }, { uvwBuffer: n, indexBuffer: i }) => {
2903
+ }, Ei = ({ gl: e, programs: t }, { uvwBuffer: n, indexBuffer: i }) => {
2892
2904
  const r = (c = !1) => {
2893
2905
  const a = t.get({
2894
- vertexSource: di,
2895
- fragmentSource: c ? _e : ui
2896
- }), f = a.attribute3f("uvw", n), l = a.uniformMatrix4f("projection"), h = a.uniformMatrix4f("model_view"), u = a.uniform1i("imagery"), d = a.uniform1i("terrain"), v = a.uniform1i("downsample_imagery"), _ = a.uniform1i("downsample_terrain"), E = a.uniform4f("color"), p = a.uniform3i("xyz"), A = a.uniform3i("camera"), y = a.uniform1i("index");
2906
+ vertexSource: mi,
2907
+ fragmentSource: c ? _e : hi
2908
+ }), f = a.attribute3f("uvw", n), l = a.uniformMatrix4f("projection"), h = a.uniformMatrix4f("model_view"), u = a.uniform1i("imagery"), d = a.uniform1i("terrain"), m = a.uniform1i("downsample_imagery"), _ = a.uniform1i("downsample_terrain"), x = a.uniform4f("color"), p = a.uniform3i("xyz"), A = a.uniform3i("camera"), y = a.uniform1i("index");
2897
2909
  return { execute: ({
2898
- projection: m,
2899
- modelView: T,
2900
- camera: b,
2901
- xyz: w,
2910
+ projection: v,
2911
+ modelView: w,
2912
+ camera: M,
2913
+ xyz: T,
2902
2914
  imagery: R,
2903
2915
  terrain: g,
2904
- downsampleImagery: M,
2916
+ downsampleImagery: b,
2905
2917
  downsampleTerrain: S,
2906
2918
  color: U,
2907
2919
  index: P
2908
2920
  }) => {
2909
- a.use(), f.use(), l.set(m), h.set(T), p.set(w), A.set(b), v.set(M), _.set(S), E.set(U), y.set(P), e.activeTexture(e.TEXTURE0), u.set(0), R.use(), e.activeTexture(e.TEXTURE1), d.set(1), g.use(), i.use(), e.drawElements(e.TRIANGLES, B * B * 2 * 3, e.UNSIGNED_SHORT, 0);
2921
+ a.use(), f.use(), l.set(v), h.set(w), p.set(T), A.set(M), m.set(b), _.set(S), x.set(U), y.set(P), e.activeTexture(e.TEXTURE0), u.set(0), R.use(), e.activeTexture(e.TEXTURE1), d.set(1), g.use(), i.use(), e.drawElements(e.TRIANGLES, V * V * 2 * 3, e.UNSIGNED_SHORT, 0);
2910
2922
  } };
2911
2923
  }, s = r(), o = r(!0);
2912
2924
  return { renderProgram: s, depthProgram: o };
2913
- }, Ei = (e, t) => {
2925
+ }, _i = (e, t) => {
2914
2926
  const [n, i, r, s] = t.reduce(
2915
- ([f, l, h, u], [d = 0, v = 0]) => [
2927
+ ([f, l, h, u], [d = 0, m = 0]) => [
2916
2928
  Math.min(d, f),
2917
2929
  Math.max(d, l),
2918
- Math.min(v, h),
2919
- Math.max(v, u)
2930
+ Math.min(m, h),
2931
+ Math.max(m, u)
2920
2932
  ],
2921
2933
  [1, 0, 1, 0]
2922
2934
  ), [o = 0, c = 0, a = 0] = e;
2923
2935
  return o > n && o < i && c > r && c < s && a > 0 && a < i - n;
2924
- }, _i = (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), yi = (e) => Math.sqrt(
2936
+ }, yi = (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), wi = (e) => Math.sqrt(
2925
2937
  e.map(
2926
- (t, n) => vn(
2938
+ (t, n) => En(
2927
2939
  e[n] ?? [0, 0],
2928
2940
  e[(n + 1) % e.length] ?? [0, 0]
2929
2941
  )
2930
2942
  ).reduce((t, n) => t + n, 0) / e.length
2931
- ), Bi = {
2943
+ ), Yi = {
2932
2944
  pickable: !0,
2933
2945
  depth: !0,
2934
2946
  polygonOffset: 0
2935
- }, Vi = (e, t) => {
2947
+ }, $i = (e, t) => {
2936
2948
  let n;
2937
2949
  return () => {
2938
2950
  const i = e.map((s) => s());
@@ -2975,7 +2987,7 @@ const B = 34, mi = 22, vi = xe(0, B).flatMap(
2975
2987
  onDragStart: o,
2976
2988
  onDragEnd: c
2977
2989
  };
2978
- }, Ze = 10, Se = 1e-3, fe = (e) => (t) => {
2990
+ }, $e = 10, Pe = 1e-3, fe = (e) => (t) => {
2979
2991
  let n, i;
2980
2992
  return () => {
2981
2993
  const r = performance.now(), s = (r - (i ?? r)) / 1e3;
@@ -2984,49 +2996,43 @@ const B = 34, mi = 22, vi = xe(0, B).flatMap(
2984
2996
  return n = n ?? o, n = e({ time: s, current: n, target: o }), n;
2985
2997
  };
2986
2998
  }, Ti = fe(
2987
- ({ time: e, current: t, target: n }) => (Math.abs(n - t) < Se ? t = n : t = t + (n - t) * (1 - Math.exp(-Ze * e)), t)
2988
- ), wi = fe(
2989
- ({ time: e, current: t, target: n }) => (mn(t, n) < Se ? fn(t, n) : t = un(
2999
+ ({ time: e, current: t, target: n }) => (Math.abs(n - t) < Pe ? t = n : t = t + (n - t) * (1 - Math.exp(-$e * e)), t)
3000
+ ), gi = (e) => fe(({ time: t, current: n, target: i }) => (xn(n, i) < Pe ? hn(n, i) : n = mn(
3001
+ pe(),
3002
+ n,
3003
+ pn(
2990
3004
  pe(),
2991
- t,
2992
- dn(
2993
- pe(),
2994
- pn(pe(), n, t),
2995
- 1 - Math.exp(-Ze * e)
2996
- )
2997
- ), t)
2998
- ), Zi = fe(
2999
- ({ time: e, current: t, target: n }) => (en(t, n) < Se ? Qt(t, n) : t = Kt(
3005
+ _n(pe(), i, n),
3006
+ 1 - Math.exp(-$e * t)
3007
+ )
3008
+ ), n))(() => un(e())), ki = (e) => fe(({ time: t, current: n, target: i }) => (nn(n, i) < Pe ? qt(n, i) : n = Jt(
3009
+ ne(),
3010
+ n,
3011
+ tn(
3000
3012
  ne(),
3001
- t,
3002
- Jt(
3003
- ne(),
3004
- rn(ne(), n, t),
3005
- 1 - Math.exp(-Ze * e)
3006
- )
3007
- ), t)
3008
- ), Yi = fe(
3009
- ({ time: e, current: t, target: n }) => {
3010
- const i = be(z(t), z(n));
3011
- return i * K < Se || i > 1e5 / K ? Yt(t, n) : t = oe(
3012
- re(
3013
+ on(ne(), i, n),
3014
+ 1 - Math.exp(-$e * t)
3015
+ )
3016
+ ), n))(() => Kt(e())), Hi = (e) => fe(({ time: t, current: n, target: i }) => {
3017
+ const r = Ue(z(n), z(i));
3018
+ return r * F < Pe || r > 1e5 / F ? $t(n, i) : n = oe(
3019
+ re(
3020
+ L(),
3021
+ z(n),
3022
+ de(
3013
3023
  L(),
3014
- z(t),
3015
- he(
3016
- L(),
3017
- se(L(), z(n), z(t)),
3018
- 1 - Math.exp(-Ze * e)
3019
- )
3024
+ se(L(), z(i), z(n)),
3025
+ 1 - Math.exp(-$e * t)
3020
3026
  )
3021
- ), t;
3022
- }
3023
- ), $i = (e) => {
3027
+ )
3028
+ ), n;
3029
+ })(() => tt(e())), Gi = (e) => {
3024
3030
  let t = [0, 0, 0], n = [0, 0, 0], i, r;
3025
3031
  return fe(({ time: o, current: c, target: a }) => {
3026
- if (a === c || o > 1 || be(z(a), z(c)) > 1e3 / K)
3032
+ if (a === c || o > 1 || Ue(z(a), z(c)) > 1e3 / F)
3027
3033
  return i = void 0, t = [0, 0, 0], n = [0, 0, 0], a;
3028
3034
  const f = performance.now();
3029
- i ? a !== i && r !== void 0 && f - r > 1 && (n = he(
3035
+ i ? a !== i && r !== void 0 && f - r > 1 && (n = de(
3030
3036
  L(),
3031
3037
  se(L(), z(a), z(i)),
3032
3038
  1e3 / (f - r)
@@ -3034,7 +3040,7 @@ const B = 34, mi = 22, vi = xe(0, B).flatMap(
3034
3040
  const l = re(
3035
3041
  L(),
3036
3042
  t,
3037
- he(
3043
+ de(
3038
3044
  L(),
3039
3045
  se(L(), n, t),
3040
3046
  2 * o
@@ -3046,12 +3052,12 @@ const B = 34, mi = 22, vi = xe(0, B).flatMap(
3046
3052
  z(c),
3047
3053
  re(
3048
3054
  L(),
3049
- he(
3055
+ de(
3050
3056
  L(),
3051
3057
  re(L(), t, l),
3052
3058
  0.5 * o
3053
3059
  ),
3054
- he(
3060
+ de(
3055
3061
  L(),
3056
3062
  se(L(), z(a), z(c)),
3057
3063
  o
@@ -3059,26 +3065,24 @@ const B = 34, mi = 22, vi = xe(0, B).flatMap(
3059
3065
  )
3060
3066
  )
3061
3067
  ), t = l, c;
3062
- })(e);
3063
- }, gi = fe(
3064
- ({ time: e, current: t, target: n }) => (t = yn(
3065
- De(
3066
- Fe(),
3067
- Pe(t),
3068
- Pe(n),
3069
- Math.PI * e
3070
- )
3071
- ), on(Pe(t), Pe(n)) < Se && (n = t), t)
3072
- ), Ri = 10, ki = (e) => {
3073
- const t = gi(() => e().orientation), n = wi(() => e().offset), i = Ti(() => e().fieldOfView);
3068
+ })(() => tt(e()));
3069
+ }, Ri = (e) => fe(({ time: t, current: n, target: i }) => (n = gn(
3070
+ Ce(
3071
+ Ke(),
3072
+ Le(n),
3073
+ Le(i),
3074
+ 2 * t
3075
+ )
3076
+ ), cn(Le(n), Le(i)) < Pe && (i = n), n))(() => tt(e())), Ai = 10, Fi = (e) => {
3077
+ const t = Ri(() => e().orientation), n = gi(() => e().offset), i = Ti(() => e().fieldOfView);
3074
3078
  return fe(({ time: s, current: o, target: c }) => {
3075
- const a = be(z(o.target), z(c.target)) * K, f = Math.max(c.distance, a), l = 1 - Math.exp(-Ri * s), h = Math.exp(
3079
+ const a = Ue(z(o.target), z(c.target)) * F, f = Math.max(c.distance, a), l = 1 - Math.exp(-Ai * s), h = Math.exp(
3076
3080
  Math.log(o.distance) + (Math.log(f) - Math.log(o.distance)) * l
3077
3081
  ), u = o.distance > a ? 1 : o.distance / a, d = oe(
3078
3082
  re(
3079
3083
  L(),
3080
3084
  z(o.target),
3081
- he(
3085
+ de(
3082
3086
  L(),
3083
3087
  se(
3084
3088
  L(),
@@ -3098,7 +3102,7 @@ const B = 34, mi = 22, vi = xe(0, B).flatMap(
3098
3102
  fieldOfView: i()
3099
3103
  };
3100
3104
  })(e);
3101
- }, Ai = (e) => {
3105
+ }, Mi = (e) => {
3102
3106
  const t = e.createTexture();
3103
3107
  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);
3104
3108
  const n = e.createRenderbuffer();
@@ -3140,14 +3144,14 @@ const B = 34, mi = 22, vi = xe(0, B).flatMap(
3140
3144
  resize: o,
3141
3145
  read: ([l = 0, h = 0]) => {
3142
3146
  r(), e.readPixels(l, s - h, 1, 1, e.RGBA, e.UNSIGNED_BYTE, c), e.bindFramebuffer(e.FRAMEBUFFER, null);
3143
- const [u = 0, d = 0, v = 0, _ = 0] = c, p = 2 * ((u * 256 + d) / (256 * 256 - 1)) - 1, A = v * 256 + _;
3147
+ const [u = 0, d = 0, m = 0, _ = 0] = c, p = 2 * ((u * 256 + d) / (256 * 256 - 1)) - 1, A = m * 256 + _;
3144
3148
  return [p, A];
3145
3149
  },
3146
3150
  dispose: () => {
3147
3151
  e.deleteTexture(t), e.deleteFramebuffer(i), e.deleteRenderbuffer(n);
3148
3152
  }
3149
3153
  };
3150
- }, Mi = (e, {
3154
+ }, bi = (e, {
3151
3155
  view: t,
3152
3156
  screen: n,
3153
3157
  pick: i
@@ -3156,139 +3160,139 @@ const B = 34, mi = 22, vi = xe(0, B).flatMap(
3156
3160
  let s = !1, o, c;
3157
3161
  const a = () => {
3158
3162
  s = !0;
3159
- }, f = (v) => {
3160
- const { x: _, y: E, movementX: p, movementY: A } = v;
3163
+ }, f = (m) => {
3164
+ const { x: _, y: x, movementX: p, movementY: A } = m;
3161
3165
  if (o) {
3162
3166
  if (o.onDrag) {
3163
- const { point: y, position: x, layer: m } = i([_, E], { terrain: !0 });
3164
- o.onDrag({ point: y, position: x, layer: m });
3167
+ const { point: y, position: E, layer: v } = i([_, x], { terrain: !0 });
3168
+ o.onDrag({ point: y, position: E, layer: v });
3165
3169
  }
3166
3170
  if (o.onDragFlat) {
3167
- const x = te(t(), n()).unproject([_, E], { targetZ: c });
3168
- o.onDragFlat({ point: [_, E], position: x, layer: void 0 });
3171
+ const E = te(t(), n()).unproject([_, x], { targetZ: c });
3172
+ o.onDragFlat({ point: [_, x], position: E, layer: void 0 });
3169
3173
  }
3170
3174
  return;
3171
3175
  }
3172
3176
  if (s && (Math.abs(p) > 1 || Math.abs(A) > 1)) {
3173
3177
  s = !1;
3174
- const { point: y, position: x, layer: m } = i([_, E]);
3175
- (m?.onDrag || m?.onDragFlat) && (o = m, o.onDragStart?.({ point: y, position: x, layer: m }), [, , c] = x);
3178
+ const { point: y, position: E, layer: v } = i([_, x]);
3179
+ (v?.onDrag || v?.onDragFlat) && (o = v, o.onDragStart?.({ point: y, position: E, layer: v }), [, , c] = E);
3176
3180
  }
3177
- }, l = (v) => {
3178
- if (s && h(v), s = !1, o) {
3179
- const { x: _, y: E } = v, { point: p, position: A, layer: y } = i([_, E]);
3181
+ }, l = (m) => {
3182
+ if (s && h(m), s = !1, o) {
3183
+ const { x: _, y: x } = m, { point: p, position: A, layer: y } = i([_, x]);
3180
3184
  o.onDragEnd?.({ point: p, position: A, layer: y });
3181
3185
  }
3182
3186
  o = void 0;
3183
- }, h = (v) => {
3184
- const { x: _, y: E, button: p } = v, { point: A, position: y, layer: x } = i([_, E]);
3185
- (p === 2 ? x?.onRightClick : x?.onClick)?.(
3186
- { point: A, position: y, layer: x },
3187
- v
3187
+ }, h = (m) => {
3188
+ const { x: _, y: x, button: p } = m, { point: A, position: y, layer: E } = i([_, x]);
3189
+ (p === 2 ? E?.onRightClick : E?.onClick)?.(
3190
+ { point: A, position: y, layer: E },
3191
+ m
3188
3192
  );
3189
- }, u = ({ x: v, y: _ }) => {
3190
- const { point: E, position: p, layer: A } = i([v, _]);
3191
- A?.onDoubleClick?.({ point: E, position: p, layer: A });
3193
+ }, u = ({ x: m, y: _ }) => {
3194
+ const { point: x, position: p, layer: A } = i([m, _]);
3195
+ A?.onDoubleClick?.({ point: x, position: p, layer: A });
3192
3196
  };
3193
3197
  return r?.addEventListener("mousedown", a), r?.addEventListener("mousemove", f), r?.addEventListener("dblclick", u), window.addEventListener("mouseup", l), { dispose: () => {
3194
3198
  r?.removeEventListener("mousedown", a), r?.removeEventListener("mousemove", f), r?.removeEventListener("dblclick", u), window.removeEventListener("mouseup", l);
3195
3199
  } };
3196
3200
  };
3197
- Nt(Array);
3198
- const Hi = ({ gl: e }, t) => {
3201
+ It(Array);
3202
+ const Qi = ({ gl: e }, t) => {
3199
3203
  const { view: n, layers: i } = t;
3200
3204
  let r = !0, s = [0, 0];
3201
3205
  e.enable(e.CULL_FACE), e.cullFace(e.FRONT), e.depthFunc(e.LEQUAL);
3202
- const o = Ai(e), { canvas: c } = e, a = ([y = 0, x = 0]) => {
3203
- y = y || 1, x = x || 1, s = [y, x], c.width = y * devicePixelRatio, c.height = x * devicePixelRatio, o.resize([c.width, c.height]);
3206
+ const o = Mi(e), { canvas: c } = e, a = ([y = 0, E = 0]) => {
3207
+ y = y || 1, E = E || 1, s = [y, E], c.width = y * devicePixelRatio, c.height = E * devicePixelRatio, o.resize([c.width, c.height]);
3204
3208
  };
3205
3209
  a([c.width, c.height]);
3206
3210
  const f = new ResizeObserver(([y]) => {
3207
3211
  if (!y)
3208
3212
  return;
3209
- const { contentRect: x } = y, { width: m, height: T } = x;
3210
- a([m, T]);
3213
+ const { contentRect: E } = y, { width: v, height: w } = E;
3214
+ a([v, w]);
3211
3215
  });
3212
3216
  c instanceof HTMLCanvasElement && f.observe(c);
3213
- const l = ([y = 0, x = 0]) => {
3214
- e.viewport(0, 0, y * devicePixelRatio, x * devicePixelRatio), e.clear(e.COLOR_BUFFER_BIT | e.DEPTH_BUFFER_BIT);
3217
+ const l = ([y = 0, E = 0]) => {
3218
+ e.viewport(0, 0, y * devicePixelRatio, E * devicePixelRatio), e.clear(e.COLOR_BUFFER_BIT | e.DEPTH_BUFFER_BIT);
3215
3219
  }, h = () => {
3216
3220
  const y = te(n(), s);
3217
- l(s), Xe(i()).forEach((x) => x.render?.({ viewport: y }));
3221
+ l(s), je(i()).forEach((E) => E.render?.({ viewport: y }));
3218
3222
  }, u = (y) => {
3219
- const x = te(n(), s);
3220
- l(s), (y ? [y] : Xe(i())).forEach(
3221
- (m, T) => m.render?.({ viewport: x, depth: !0, index: T + 1 })
3223
+ const E = te(n(), s);
3224
+ l(s), (y ? [y] : je(i())).forEach(
3225
+ (v, w) => v.render?.({ viewport: E, depth: !0, index: w + 1 })
3222
3226
  );
3223
3227
  }, d = () => {
3224
3228
  r && (h(), requestAnimationFrame(d));
3225
3229
  };
3226
3230
  requestAnimationFrame(d);
3227
- const v = (y) => te(n(), s).project(y), _ = (y) => te(n(), s).unproject(y), E = (y, { terrain: x } = {}) => {
3228
- const { screenToClip: m, clipToLocal: T, localToWorld: b } = te(
3231
+ const m = (y) => te(n(), s).project(y), _ = (y) => te(n(), s).unproject(y), x = (y, { terrain: E } = {}) => {
3232
+ const { screenToClip: v, clipToLocal: w, localToWorld: M } = te(
3229
3233
  n(),
3230
3234
  s
3231
3235
  );
3232
3236
  o.use();
3233
- const [w] = x ? i() : [];
3234
- u(w);
3235
- const [R = 0, g = 0] = y, [M, S] = o.read([
3237
+ const [T] = E ? i() : [];
3238
+ u(T);
3239
+ const [R = 0, g = 0] = y, [b, S] = o.read([
3236
3240
  R * devicePixelRatio,
3237
3241
  g * devicePixelRatio
3238
- ]), [U = 0, P = 0] = m(y), N = oe(b(T([U, P, M, 1]))), I = S === 0 ? void 0 : w ?? Xe(i())[S - 1];
3239
- return { point: y, position: N, layer: I };
3240
- }, p = Mi(e, {
3242
+ ]), [U = 0, P = 0] = v(y), D = oe(M(w([U, P, b, 1]))), O = S === 0 ? void 0 : T ?? je(i())[S - 1];
3243
+ return { point: y, position: D, layer: O };
3244
+ }, p = bi(e, {
3241
3245
  view: n,
3242
3246
  screen: () => s,
3243
- pick: E
3247
+ pick: x
3244
3248
  });
3245
3249
  return {
3246
- project: v,
3250
+ project: m,
3247
3251
  unproject: _,
3248
- pick: E,
3252
+ pick: x,
3249
3253
  dispose: () => {
3250
3254
  r = !1, p.dispose(), o.dispose(), c instanceof HTMLCanvasElement && f.unobserve(c);
3251
3255
  }
3252
3256
  };
3253
- }, Xe = (e) => e.flatMap((t) => [...Xe(t.children ?? []), t]);
3257
+ }, je = (e) => e.flatMap((t) => [...je(t.children ?? []), t]);
3254
3258
  export {
3255
3259
  ce as cache,
3256
- Vi as cacheAll,
3257
- K as circumference,
3258
- Ui as createBillboardLayer,
3259
- Pi as createContainer,
3260
- bi as createContext,
3261
- zi as createDynamicContainer,
3262
- Ni as createEmptyLayer,
3263
- Ii as createLineLayer,
3264
- ai as createMemoryTexture,
3265
- Si as createMouseControl,
3260
+ $i as cacheAll,
3261
+ F as circumference,
3262
+ Li as createBillboardLayer,
3263
+ Ni as createContainer,
3264
+ Pi as createContext,
3265
+ Ii as createDynamicContainer,
3266
+ Oi as createEmptyLayer,
3267
+ Ci as createLineLayer,
3268
+ ci as createMemoryTexture,
3269
+ zi as createMouseControl,
3266
3270
  ye as createMouseEvents,
3267
3271
  Ti as createNumberTransition,
3268
- Di as createObjectLayer,
3269
- gi as createOrientationTransition,
3270
- Oi as createPolygonLayer,
3271
- Yi as createPositionTransition,
3272
- $i as createPositionVelocityTransition,
3273
- Ci as createRadarLayer,
3274
- Li as createRenderLayer,
3275
- ji as createTerrainLayer,
3272
+ Xi as createObjectLayer,
3273
+ Ri as createOrientationTransition,
3274
+ Wi as createPolygonLayer,
3275
+ Hi as createPositionTransition,
3276
+ Gi as createPositionVelocityTransition,
3277
+ ji as createRadarLayer,
3278
+ Di as createRenderLayer,
3279
+ Zi as createTerrainLayer,
3276
3280
  fe as createTransition,
3277
- wi as createVec2Transition,
3278
- Zi as createVec4Transition,
3279
- ki as createViewTransition,
3280
- Hi as createWorld,
3281
- Ut as debounce,
3282
- Bi as defaultLayerOptions,
3283
- xt as defaultView,
3284
- xn as degrees,
3281
+ gi as createVec2Transition,
3282
+ ki as createVec4Transition,
3283
+ Fi as createViewTransition,
3284
+ Qi as createWorld,
3285
+ Pt as debounce,
3286
+ Yi as defaultLayerOptions,
3287
+ Et as defaultView,
3288
+ yn as degrees,
3285
3289
  oe as geodetic,
3286
3290
  z as mercator,
3287
- En as quadratic,
3288
- Oe as radians,
3291
+ wn as quadratic,
3292
+ Xe as radians,
3289
3293
  xe as range,
3290
- pt as tileToMercator,
3291
- yn as toOrientation,
3292
- Pe as toQuaternion
3294
+ xt as tileToMercator,
3295
+ gn as toOrientation,
3296
+ Le as toQuaternion
3293
3297
  };
3294
3298
  //# sourceMappingURL=index.js.map