world.ts 0.6.10 → 0.6.12

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 yt = (e, n) => {
1
+ const wt = (e, n) => {
2
2
  let t;
3
3
  return (...r) => {
4
4
  clearTimeout(t), t = setTimeout(() => e(...r), n);
5
5
  };
6
- }, ae = (e, n) => Array.from({ length: n - e }, (t, r) => r + e), wt = ({
6
+ }, ae = (e, n) => Array.from({ length: n - e }, (t, r) => r + e), Rt = ({
7
7
  gl: e,
8
8
  vertexSource: n,
9
9
  fragmentSource: t
@@ -105,7 +105,7 @@ const yt = (e, n) => {
105
105
  if (e.shaderSource(n, t), e.compileShader(n), !e.getShaderParameter(n, e.COMPILE_STATUS))
106
106
  throw console.error("Compilation failed", e.getShaderInfoLog(n)), new Error("Compilation failure");
107
107
  return n;
108
- }, Rt = (e) => {
108
+ }, Mt = (e) => {
109
109
  const n = /* @__PURE__ */ new Map();
110
110
  return {
111
111
  get: ({
@@ -115,7 +115,7 @@ const yt = (e, n) => {
115
115
  const i = o + s, c = n.get(i);
116
116
  if (c)
117
117
  return c;
118
- const a = wt({ gl: e, vertexSource: o, fragmentSource: s });
118
+ const a = Rt({ gl: e, vertexSource: o, fragmentSource: s });
119
119
  return n.set(i, a), a;
120
120
  },
121
121
  dispose: () => [...n.values()].forEach((o) => o.dispose())
@@ -124,11 +124,11 @@ const yt = (e, n) => {
124
124
  const n = e.getContext("webgl2");
125
125
  if (!n)
126
126
  throw new Error("No WebGL2");
127
- const t = Rt(n), { dispose: r } = t;
127
+ const t = Mt(n), { dispose: r } = t;
128
128
  return { gl: n, programs: t, dispose: r };
129
129
  };
130
- var Mt = 1e-6, B = typeof Float32Array < "u" ? Float32Array : Array;
131
- function gt(e) {
130
+ var gt = 1e-6, B = typeof Float32Array < "u" ? Float32Array : Array;
131
+ function Ut(e) {
132
132
  B = e;
133
133
  }
134
134
  Math.hypot || (Math.hypot = function() {
@@ -136,7 +136,7 @@ Math.hypot || (Math.hypot = function() {
136
136
  e += arguments[n] * arguments[n];
137
137
  return Math.sqrt(e);
138
138
  });
139
- function Ut() {
139
+ function At() {
140
140
  var e = new B(9);
141
141
  return B != 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
  }
@@ -144,35 +144,35 @@ function ve() {
144
144
  var e = new B(16);
145
145
  return B != 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 At(e) {
147
+ function Pt(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 Pt(e, n) {
150
+ function Lt(e, n) {
151
151
  var t = n[0], r = n[1], o = n[2], s = n[3], i = n[4], c = n[5], a = n[6], u = n[7], f = n[8], v = n[9], h = n[10], T = n[11], l = n[12], y = n[13], p = n[14], M = n[15], U = t * c - r * i, x = t * a - o * i, m = t * u - s * i, g = r * a - o * c, d = r * u - s * c, w = o * u - s * a, _ = f * y - v * l, R = f * p - h * l, E = f * M - T * l, A = v * p - h * y, P = v * M - T * y, N = h * M - T * p, L = U * N - x * P + m * A + g * E - d * R + w * _;
152
152
  return L ? (L = 1 / L, e[0] = (c * N - a * P + u * A) * L, e[1] = (o * P - r * N - s * A) * L, e[2] = (y * w - p * d + M * g) * L, e[3] = (h * d - v * w - T * g) * L, e[4] = (a * E - i * N - u * R) * L, e[5] = (t * N - o * E + s * R) * L, e[6] = (p * m - l * w - M * x) * L, e[7] = (f * w - h * m + T * x) * L, e[8] = (i * P - c * E + u * _) * L, e[9] = (r * E - t * P - s * _) * L, e[10] = (l * d - y * m + M * U) * L, e[11] = (v * m - f * d - T * U) * L, e[12] = (c * R - i * A - a * _) * L, e[13] = (t * A - r * R + o * _) * L, e[14] = (y * x - l * g - p * U) * L, e[15] = (f * g - v * x + h * U) * L, e) : null;
153
153
  }
154
- function Lt(e, n, t) {
154
+ function Nt(e, n, t) {
155
155
  var r = n[0], o = n[1], s = n[2], i = n[3], c = n[4], a = n[5], u = n[6], f = n[7], v = n[8], h = n[9], T = n[10], l = n[11], y = n[12], p = n[13], M = n[14], U = n[15], x = t[0], m = t[1], g = t[2], d = t[3];
156
156
  return e[0] = x * r + m * c + g * v + d * y, e[1] = x * o + m * a + g * h + d * p, e[2] = x * s + m * u + g * T + d * M, e[3] = x * i + m * f + g * l + d * U, x = t[4], m = t[5], g = t[6], d = t[7], e[4] = x * r + m * c + g * v + d * y, e[5] = x * o + m * a + g * h + d * p, e[6] = x * s + m * u + g * T + d * M, e[7] = x * i + m * f + g * l + d * U, x = t[8], m = t[9], g = t[10], d = t[11], e[8] = x * r + m * c + g * v + d * y, e[9] = x * o + m * a + g * h + d * p, e[10] = x * s + m * u + g * T + d * M, e[11] = x * i + m * f + g * l + d * U, x = t[12], m = t[13], g = t[14], d = t[15], e[12] = x * r + m * c + g * v + d * y, e[13] = x * o + m * a + g * h + d * p, e[14] = x * s + m * u + g * T + d * M, e[15] = x * i + m * f + g * l + d * U, e;
157
157
  }
158
- function Nt(e, n, t) {
158
+ function bt(e, n, t) {
159
159
  var r = t[0], o = t[1], s = t[2];
160
160
  return e[0] = n[0] * r, e[1] = n[1] * r, e[2] = n[2] * r, e[3] = n[3] * r, e[4] = n[4] * o, e[5] = n[5] * o, e[6] = n[6] * o, e[7] = n[7] * o, e[8] = n[8] * s, e[9] = n[9] * s, e[10] = n[10] * s, e[11] = n[11] * s, e[12] = n[12], e[13] = n[13], e[14] = n[14], e[15] = n[15], e;
161
161
  }
162
- function st(e, n) {
162
+ function ct(e, n) {
163
163
  var t = n[0], r = n[1], o = n[2], s = n[3], i = t + t, c = r + r, a = o + o, u = t * i, f = r * i, v = r * c, h = o * i, T = o * c, l = o * a, y = s * i, p = s * c, M = s * a;
164
164
  return e[0] = 1 - v - l, e[1] = f + M, e[2] = h - p, e[3] = 0, e[4] = f - M, e[5] = 1 - u - l, e[6] = T + y, e[7] = 0, e[8] = h + p, e[9] = T - y, e[10] = 1 - u - v, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e;
165
165
  }
166
- function bt(e, n, t, r, o) {
166
+ function It(e, n, t, r, o) {
167
167
  var s = 1 / Math.tan(n / 2), i;
168
168
  return e[0] = s / t, 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, o != null && o !== 1 / 0 ? (i = 1 / (r - o), e[10] = (o + r) * i, e[14] = 2 * o * r * i) : (e[10] = -1, e[14] = -2 * r), e;
169
169
  }
170
- var It = bt;
170
+ var zt = It;
171
171
  function z() {
172
172
  var e = new B(3);
173
173
  return B != Float32Array && (e[0] = 0, e[1] = 0, e[2] = 0), e;
174
174
  }
175
- function zt(e) {
175
+ function Ke(e) {
176
176
  var n = new B(3);
177
177
  return n[0] = e[0], n[1] = e[1], n[2] = e[2], n;
178
178
  }
@@ -180,7 +180,7 @@ function Ft(e) {
180
180
  var n = e[0], t = e[1], r = e[2];
181
181
  return Math.hypot(n, t, r);
182
182
  }
183
- function Ke(e, n, t) {
183
+ function qe(e, n, t) {
184
184
  var r = new B(3);
185
185
  return r[0] = e, r[1] = n, r[2] = t, r;
186
186
  }
@@ -235,14 +235,14 @@ function re() {
235
235
  var e = new B(4);
236
236
  return B != Float32Array && (e[0] = 0, e[1] = 0, e[2] = 0, e[3] = 0), e;
237
237
  }
238
- function ct(e) {
238
+ function at(e) {
239
239
  var n = new B(4);
240
240
  return n[0] = e[0], n[1] = e[1], n[2] = e[2], n[3] = e[3], n;
241
241
  }
242
242
  function Ct(e, n) {
243
243
  return e[0] = n[0], e[1] = n[1], e[2] = n[2], e[3] = n[3], e;
244
244
  }
245
- function qe(e, n, t, r, o) {
245
+ function et(e, n, t, r, o) {
246
246
  return e[0] = n, e[1] = t, e[2] = r, e[3] = o, e;
247
247
  }
248
248
  function Zt(e, n, t) {
@@ -265,7 +265,7 @@ function Wt(e, n) {
265
265
  function jt(e, n) {
266
266
  return e[0] * n[0] + e[1] * n[1] + e[2] * n[2] + e[3] * n[3];
267
267
  }
268
- function et(e, n, t) {
268
+ function tt(e, n, t) {
269
269
  var r = n[0], o = n[1], s = n[2], i = n[3];
270
270
  return e[0] = t[0] * r + t[4] * o + t[8] * s + t[12] * i, e[1] = t[1] * r + t[5] * o + t[9] * s + t[13] * i, e[2] = t[2] * r + t[6] * o + t[10] * s + t[14] * i, e[3] = t[3] * r + t[7] * o + t[11] * s + t[15] * i, e;
271
271
  }
@@ -294,7 +294,7 @@ function $t(e, n) {
294
294
  }
295
295
  function be(e, n, t, r) {
296
296
  var o = n[0], s = n[1], i = n[2], c = n[3], a = t[0], u = t[1], f = t[2], v = t[3], h, T, l, y, p;
297
- return T = o * a + s * u + i * f + c * v, T < 0 && (T = -T, a = -a, u = -u, f = -f, v = -v), 1 - T > Mt ? (h = Math.acos(T), l = Math.sin(h), y = Math.sin((1 - r) * h) / l, p = Math.sin(r * h) / l) : (y = 1 - r, p = r), e[0] = y * o + p * a, e[1] = y * s + p * u, e[2] = y * i + p * f, e[3] = y * c + p * v, e;
297
+ return T = o * a + s * u + i * f + c * v, T < 0 && (T = -T, a = -a, u = -u, f = -f, v = -v), 1 - T > gt ? (h = Math.acos(T), l = Math.sin(h), y = Math.sin((1 - r) * h) / l, p = Math.sin(r * h) / l) : (y = 1 - r, p = r), e[0] = y * o + p * a, e[1] = y * s + p * u, e[2] = y * i + p * f, e[3] = y * c + p * v, e;
298
298
  }
299
299
  function Ht(e, n) {
300
300
  var t = n[0] + n[4] + n[8], r;
@@ -308,12 +308,12 @@ function Ht(e, n) {
308
308
  }
309
309
  return e;
310
310
  }
311
- var Qt = ct, Jt = jt, at = Wt;
311
+ var Qt = at, Jt = jt, ft = Wt;
312
312
  (function() {
313
- var e = z(), n = Ke(1, 0, 0), t = Ke(0, 1, 0);
313
+ var e = z(), n = qe(1, 0, 0), t = qe(0, 1, 0);
314
314
  return function(r, o, s) {
315
315
  var i = Dt(o, s);
316
- return i < -0.999999 ? (Xe(e, n, o), Ot(e) < 1e-6 && Xe(e, t, o), St(e, e), kt(r, e, Math.PI), r) : i > 0.999999 ? (r[0] = 0, r[1] = 0, r[2] = 0, r[3] = 1, r) : (Xe(e, o, s), r[0] = e[0], r[1] = e[1], r[2] = e[2], r[3] = 1 + i, at(r, r));
316
+ return i < -0.999999 ? (Xe(e, n, o), Ot(e) < 1e-6 && Xe(e, t, o), St(e, e), kt(r, e, Math.PI), r) : i > 0.999999 ? (r[0] = 0, r[1] = 0, r[2] = 0, r[3] = 1, r) : (Xe(e, o, s), r[0] = e[0], r[1] = e[1], r[2] = e[2], r[3] = 1 + i, ft(r, r));
317
317
  };
318
318
  })();
319
319
  (function() {
@@ -323,9 +323,9 @@ var Qt = ct, Jt = jt, at = Wt;
323
323
  };
324
324
  })();
325
325
  (function() {
326
- var e = Ut();
326
+ var e = At();
327
327
  return function(n, t, r, o) {
328
- return e[0] = r[0], e[3] = r[1], e[6] = r[2], e[1] = o[0], e[4] = o[1], e[7] = o[2], e[2] = -t[0], e[5] = -t[1], e[8] = -t[2], at(n, Ht(n, e));
328
+ return e[0] = r[0], e[3] = r[1], e[6] = r[2], e[1] = o[0], e[4] = o[1], e[7] = o[2], e[2] = -t[0], e[5] = -t[1], e[8] = -t[2], ft(n, Ht(n, e));
329
329
  };
330
330
  })();
331
331
  function ce() {
@@ -372,26 +372,26 @@ var cn = nn;
372
372
  const Q = 40075017, Ie = (e) => e / 180 * Math.PI, an = (e) => e * 180 / Math.PI, fn = (e, n, t) => {
373
373
  const r = Math.sqrt(n * n - 4 * e * t);
374
374
  return [(-n - r) / (2 * e), (-n + r) / (2 * e)];
375
- }, un = (e, n, t) => Math.min(Math.max(e, n), t), tt = Math.atan(Math.sinh(Math.PI)), D = ([e = 0, n = 0, t = 0], r = z()) => fe(
375
+ }, un = (e, n, t) => Math.min(Math.max(e, n), t), nt = Math.atan(Math.sinh(Math.PI)), D = ([e = 0, n = 0, t = 0], r = z()) => fe(
376
376
  r,
377
377
  e / 360 + 0.5,
378
- -Math.asinh(Math.tan(un(Ie(n), -tt, tt))) / (2 * Math.PI) + 0.5,
378
+ -Math.asinh(Math.tan(un(Ie(n), -nt, nt))) / (2 * Math.PI) + 0.5,
379
379
  t / Q
380
380
  ), ee = ([e = 0, n = 0, t = 0], r = z()) => fe(
381
381
  r,
382
382
  (e - 0.5) * 360,
383
383
  an(Math.atan(Math.sinh(-(n - 0.5) * (2 * Math.PI)))),
384
384
  t * Q
385
- ), ft = ([e = 0, n = 0, t = 0], r = z()) => {
385
+ ), ut = ([e = 0, n = 0, t = 0], r = z()) => {
386
386
  const o = 2 ** -t;
387
387
  return fe(r, e * o, n * o, 0);
388
- }, ut = ([e = 0, n = 0, t = 0]) => {
388
+ }, lt = ([e = 0, n = 0, t = 0]) => {
389
389
  const r = Math.cos(e * 0.5), o = Math.sin(e * 0.5), s = Math.cos(n * 0.5), i = Math.sin(n * 0.5), c = Math.cos(t * 0.5), a = Math.sin(t * 0.5), u = o * s * c + r * i * a, f = r * i * c - o * s * a, v = r * s * a + o * i * c, h = r * s * c - o * i * a;
390
390
  return [u, f, v, h];
391
391
  }, ln = ([e = 0, n = 0, t = 0, r = 0]) => {
392
392
  const o = (a, u, f) => Math.max(u, Math.min(a, f)), s = Math.atan2(2 * (r * e - n * t), 1 - 2 * (e * e + n * n)), i = Math.asin(o(2 * (r * n + t * e), -1, 1)), c = Math.atan2(2 * (r * t - e * n), 1 - 2 * (n * n + t * t));
393
393
  return [s, i, c];
394
- }, lt = {
394
+ }, mt = {
395
395
  target: [0, 0, 0],
396
396
  offset: [0, 0],
397
397
  distance: Q,
@@ -399,13 +399,13 @@ const Q = 40075017, Ie = (e) => e / 180 * Math.PI, an = (e) => e * 180 / Math.PI
399
399
  fieldOfView: 45
400
400
  }, ne = (e, n) => {
401
401
  const { target: t, offset: r, distance: o, orientation: s, fieldOfView: i } = {
402
- ...lt,
402
+ ...mt,
403
403
  ...e
404
404
  }, [c = 0, a = 0] = n, [u = 0, f = 0] = r, v = Math.tan(Ie(45) / 2) / Math.tan(Ie(i) / 2), h = o / Q * v, T = Math.max(1e3 / Q, h), l = 1e3, y = 1e-3, p = T * l, M = T * y, U = re(), x = ve();
405
- At(x), It(x, Ie(i), c / a, M, p), Nt(x, x, [1, -1, 1]);
405
+ Pt(x), zt(x, Ie(i), c / a, M, p), bt(x, x, [1, -1, 1]);
406
406
  const m = ve();
407
- st(m, ut(s));
408
- const g = Lt(ve(), x, m), d = Pt(ve(), g);
407
+ ct(m, lt(s));
408
+ const g = Nt(ve(), x, m), d = Lt(ve(), g);
409
409
  if (!d)
410
410
  throw new Error("No inverse");
411
411
  const w = (O) => {
@@ -413,11 +413,11 @@ const Q = 40075017, Ie = (e) => e / 180 * Math.PI, an = (e) => e * 180 / Math.PI
413
413
  return ne({ ...e, offset: k }, G);
414
414
  }, _ = ([O = 0, G = 0], k = re()) => {
415
415
  const K = 2 * O / c - 1, me = -(2 * G / a - 1);
416
- return qe(k, K, me, 0, 1);
416
+ return et(k, K, me, 0, 1);
417
417
  }, R = ([O = 0, G = 0, , k = 0], K = ce()) => k < 0 ? K : en(K, (1 + O / k) * c * 0.5, (1 - G / k) * a * 0.5), E = (O, G = z()) => {
418
- const [k = 0, K = 0, me = 0, de = 0] = et(U, O, d);
418
+ const [k = 0, K = 0, me = 0, de = 0] = tt(U, O, d);
419
419
  return fe(G, k / de, K / de, me / de);
420
- }, A = ([O = 0, G = 0, k = 0], K = re()) => et(K, qe(K, O, G, k, 1), g), [P = 0, N = 0] = _([u + c / 2, f + a / 2]), [L = 0, I = 0, b = 0] = E([P, N, -1, 1]), [C = 0, F = 0, S = 0] = E([P, N, 1.00001, 1]), [Z = 0] = fn(
420
+ }, A = ([O = 0, G = 0, k = 0], K = re()) => tt(K, et(K, O, G, k, 1), g), [P = 0, N = 0] = _([u + c / 2, f + a / 2]), [L = 0, I = 0, b = 0] = E([P, N, -1, 1]), [C = 0, F = 0, S = 0] = E([P, N, 1.00001, 1]), [Z = 0] = fn(
421
421
  (C - L) ** 2 + (F - I) ** 2 + (S - b) ** 2,
422
422
  2 * (L * (C - L) + I * (F - I) + b * (S - b)),
423
423
  L ** 2 + I ** 2 + b ** 2 - h ** 2
@@ -444,8 +444,8 @@ const Q = 40075017, Ie = (e) => e / 180 * Math.PI, an = (e) => e * 180 / Math.PI
444
444
  worldToLocal: Y,
445
445
  project: (O) => R(A(Y(D(O)))),
446
446
  unproject: (O, { targetZ: G = 0 } = {}) => {
447
- const k = _(O), [K = 0, me = 0, , de = 0] = k, _t = [K, me, -1, de], $e = ee(q(E(k))), He = ee(q(E(_t))), [, , De = 0] = $e, [, , Qe = 0] = He, Tt = De === Qe ? 0 : (G - De) / (Qe - De);
448
- return Xt(z(), $e, He, Tt);
447
+ const k = _(O), [K = 0, me = 0, , de = 0] = k, Tt = [K, me, -1, de], $e = ee(q(E(k))), He = ee(q(E(Tt))), [, , De = 0] = $e, [, , Qe = 0] = He, yt = De === Qe ? 0 : (G - De) / (Qe - De);
448
+ return Xt(z(), $e, He, yt);
449
449
  }
450
450
  };
451
451
  }, mn = 10, dr = (e, n, t) => {
@@ -513,11 +513,11 @@ const Q = 40075017, Ie = (e) => e / 180 * Math.PI, an = (e) => e * 180 / Math.PI
513
513
  return;
514
514
  const { clientX: R, clientY: E } = _;
515
515
  v(R, E);
516
- }, U = yt(() => c = !1, 100), x = ({ x: w, y: _, deltaY: R }) => {
516
+ }, U = wt(() => c = !1, 100), x = ({ x: w, y: _, deltaY: R }) => {
517
517
  if (!r())
518
518
  return;
519
519
  c || (o() && f([w, _]), c = !0);
520
- let { distance: E } = { ...lt, ...u() };
520
+ let { distance: E } = { ...mt, ...u() };
521
521
  E = Math.min(
522
522
  Math.max(E * Math.exp(R * 1e-3), mn),
523
523
  Q
@@ -586,11 +586,11 @@ vec2 pack_index(in int index) {
586
586
  void main(void) {
587
587
  result = vec4(pack_depth(gl_FragCoord.z), pack_index(index));
588
588
  }`;
589
- const mt = "KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2FkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGFzeW5jIG49Pntjb25zdFtpLHRdPW4uZGF0YTtpZihpIT09ImxvYWQiKXJldHVybjtjb25zdCByPW5ldyBBYm9ydENvbnRyb2xsZXIse3NpZ25hbDpjfT1yLG89ZT0+e2NvbnN0W2Esc109ZS5kYXRhO2E9PT0iY2FuY2VsIiYmcz09PXQmJnIuYWJvcnQoKX07YWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsbyk7dHJ5e2NvbnN0IGU9YXdhaXQgZmV0Y2godCx7bW9kZToiY29ycyIsc2lnbmFsOmN9KTtpZighZS5vayl7cG9zdE1lc3NhZ2Uoe3VybDp0LGltYWdlOnZvaWQgMH0pO3JldHVybn1jb25zdCBhPWF3YWl0IGUuYmxvYigpLHM9YXdhaXQgY3JlYXRlSW1hZ2VCaXRtYXAoYSk7cG9zdE1lc3NhZ2Uoe3VybDp0LGltYWdlOnN9LHt0cmFuc2Zlcjpbc119KX1jYXRjaChlKXtpZighKGUgaW5zdGFuY2VvZiBFcnJvcikpdGhyb3cgZTtpZihlLm1lc3NhZ2U9PT0iVGhlIHVzZXIgYWJvcnRlZCBhIHJlcXVlc3QuInx8ZS5tZXNzYWdlLnN0YXJ0c1dpdGgoInNpZ25hbCBpcyBhYm9ydGVkIHdpdGhvdXQgcmVhc29uIikpcmV0dXJuO2lmKGUubWVzc2FnZT09PSJGYWlsZWQgdG8gZmV0Y2giKXtwb3N0TWVzc2FnZSh7dXJsOnQsaW1hZ2U6dm9pZCAwfSk7cmV0dXJufXRocm93IGV9ZmluYWxseXtyZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIixvKX19KX0pKCk7Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPWltYWdlLWxvYWQtd29ya2VyLXpDcXFWNTV2LmpzLm1hcAo=", nt = typeof window < "u" && window.Blob && new Blob([atob(mt)], { type: "text/javascript;charset=utf-8" });
589
+ const dt = "KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2FkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGFzeW5jIG49Pntjb25zdFtpLHRdPW4uZGF0YTtpZihpIT09ImxvYWQiKXJldHVybjtjb25zdCByPW5ldyBBYm9ydENvbnRyb2xsZXIse3NpZ25hbDpjfT1yLG89ZT0+e2NvbnN0W2Esc109ZS5kYXRhO2E9PT0iY2FuY2VsIiYmcz09PXQmJnIuYWJvcnQoKX07YWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsbyk7dHJ5e2NvbnN0IGU9YXdhaXQgZmV0Y2godCx7bW9kZToiY29ycyIsc2lnbmFsOmN9KTtpZighZS5vayl7cG9zdE1lc3NhZ2Uoe3VybDp0LGltYWdlOnZvaWQgMH0pO3JldHVybn1jb25zdCBhPWF3YWl0IGUuYmxvYigpLHM9YXdhaXQgY3JlYXRlSW1hZ2VCaXRtYXAoYSk7cG9zdE1lc3NhZ2Uoe3VybDp0LGltYWdlOnN9LHt0cmFuc2Zlcjpbc119KX1jYXRjaChlKXtpZighKGUgaW5zdGFuY2VvZiBFcnJvcikpdGhyb3cgZTtpZihlLm1lc3NhZ2U9PT0iVGhlIHVzZXIgYWJvcnRlZCBhIHJlcXVlc3QuInx8ZS5tZXNzYWdlLnN0YXJ0c1dpdGgoInNpZ25hbCBpcyBhYm9ydGVkIHdpdGhvdXQgcmVhc29uIikpcmV0dXJuO2lmKGUubWVzc2FnZT09PSJGYWlsZWQgdG8gZmV0Y2giKXtwb3N0TWVzc2FnZSh7dXJsOnQsaW1hZ2U6dm9pZCAwfSk7cmV0dXJufXRocm93IGV9ZmluYWxseXtyZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIixvKX19KX0pKCk7Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPWltYWdlLWxvYWQtd29ya2VyLXpDcXFWNTV2LmpzLm1hcAo=", rt = typeof window < "u" && window.Blob && new Blob([atob(dt)], { type: "text/javascript;charset=utf-8" });
590
590
  function dn(e) {
591
591
  let n;
592
592
  try {
593
- if (n = nt && (window.URL || window.webkitURL).createObjectURL(nt), !n)
593
+ if (n = rt && (window.URL || window.webkitURL).createObjectURL(rt), !n)
594
594
  throw "";
595
595
  const t = new Worker(n, {
596
596
  name: e?.name
@@ -600,7 +600,7 @@ function dn(e) {
600
600
  }), t;
601
601
  } catch {
602
602
  return new Worker(
603
- "data:text/javascript;base64," + mt,
603
+ "data:text/javascript;base64," + dt,
604
604
  {
605
605
  name: e?.name
606
606
  }
@@ -629,7 +629,7 @@ const Ue = dn(), vn = ({
629
629
  },
630
630
  cancel: s
631
631
  };
632
- }, dt = (e) => {
632
+ }, vt = (e) => {
633
633
  const n = e.createTexture();
634
634
  if (!n)
635
635
  throw new Error("Texture creation failed");
@@ -648,7 +648,7 @@ const Ue = dn(), vn = ({
648
648
  url: n,
649
649
  onLoad: t
650
650
  }) => {
651
- const r = dt(e), o = vn({
651
+ const r = vt(e), o = vn({
652
652
  url: n,
653
653
  onLoad: (a) => {
654
654
  a && (r.use(), e.texImage2D(
@@ -933,7 +933,7 @@ const _r = (e, n = {}) => {
933
933
  indexBuffer: s,
934
934
  cornerBuffer: i,
935
935
  distanceBuffer: c
936
- }), f = dt(t);
936
+ }), f = vt(t);
937
937
  f.use(), t.texParameteri(t.TEXTURE_2D, t.TEXTURE_MIN_FILTER, t.LINEAR), t.texParameteri(t.TEXTURE_2D, t.TEXTURE_MAG_FILTER, t.LINEAR), t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_S, t.CLAMP_TO_EDGE), t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_T, t.REPEAT);
938
938
  const v = ({
939
939
  viewport: { projection: p, modelView: M, camera: U, screen: x },
@@ -1134,7 +1134,7 @@ out vec2 uv_out;
1134
1134
 
1135
1135
  const int ONE = 1073741824;
1136
1136
  const float INV_ONE = 1.f / float(ONE);
1137
- const float CIRCUMFERENCE = 40075017.;
1137
+ const float CIRCUMFERENCE = 40075017.f;
1138
1138
 
1139
1139
  vec4 transform(vec3 v) {
1140
1140
  return projection * model_view * vec4(vec3(position - camera) * INV_ONE + v, 1.f);
@@ -1143,7 +1143,9 @@ vec4 transform(vec3 v) {
1143
1143
  void main(void) {
1144
1144
  vec4 projected = transform(vec3(0.f, 0.f, 0.f));
1145
1145
  float pixel_size = projected.w / screen.y / -projection[1][1];
1146
- float scale = clamp(size / CIRCUMFERENCE, min_size_pixels * pixel_size, max_size_pixels * pixel_size);
1146
+ float latitude = atan(sinh(-(float(position.y) * INV_ONE - 0.5f) * (2.f * radians(180.f))));
1147
+ float latitude_scale = 1.f / cos(latitude);
1148
+ float scale = clamp(latitude_scale * size / CIRCUMFERENCE, min_size_pixels * pixel_size, max_size_pixels * pixel_size);
1147
1149
 
1148
1150
  vec4 q = orientation * vec4(vertex * scale, 1.f);
1149
1151
  gl_Position = transform(q.xyz / q.w);
@@ -1177,7 +1179,7 @@ const Tr = (e, n = {}) => {
1177
1179
  screen: m,
1178
1180
  count: r,
1179
1181
  position: te(D(w)),
1180
- orientation: st(ve(), L(_)),
1182
+ orientation: ct(ve(), L(_)),
1181
1183
  color: R,
1182
1184
  diffuse: E,
1183
1185
  size: A,
@@ -1258,7 +1260,7 @@ const Tr = (e, n = {}) => {
1258
1260
  };
1259
1261
  function Mn(e, n, t = 2) {
1260
1262
  const r = n && n.length, o = r ? n[0] * t : e.length;
1261
- let s = vt(e, 0, o, t, !0);
1263
+ let s = xt(e, 0, o, t, !0);
1262
1264
  const i = [];
1263
1265
  if (!s || s.next === s.prev)
1264
1266
  return i;
@@ -1274,14 +1276,14 @@ function Mn(e, n, t = 2) {
1274
1276
  }
1275
1277
  return he(s, i, t, c, a, u, 0), i;
1276
1278
  }
1277
- function vt(e, n, t, r, o) {
1279
+ function xt(e, n, t, r, o) {
1278
1280
  let s;
1279
1281
  if (o === Zn(e, n, t, r) > 0)
1280
1282
  for (let i = n; i < t; i += r)
1281
- s = rt(i / r | 0, e[i], e[i + 1], s);
1283
+ s = ot(i / r | 0, e[i], e[i + 1], s);
1282
1284
  else
1283
1285
  for (let i = t - r; i >= n; i -= r)
1284
- s = rt(i / r | 0, e[i], e[i + 1], s);
1286
+ s = ot(i / r | 0, e[i], e[i + 1], s);
1285
1287
  return s && ue(s, s.next) && (Ee(s), s = s.next), s;
1286
1288
  }
1287
1289
  function ie(e, n) {
@@ -1356,7 +1358,7 @@ function An(e, n) {
1356
1358
  let t = e;
1357
1359
  do {
1358
1360
  const r = t.prev, o = t.next.next;
1359
- !ue(r, o) && ht(r, t, t.next, o) && pe(r, o) && pe(o, r) && (n.push(r.i, t.i, o.i), Ee(t), Ee(t.next), t = e = o), t = t.next;
1361
+ !ue(r, o) && pt(r, t, t.next, o) && pe(r, o) && pe(o, r) && (n.push(r.i, t.i, o.i), Ee(t), Ee(t.next), t = e = o), t = t.next;
1360
1362
  } while (t !== e);
1361
1363
  return ie(t);
1362
1364
  }
@@ -1366,7 +1368,7 @@ function Pn(e, n, t, r, o, s) {
1366
1368
  let c = i.next.next;
1367
1369
  for (; c !== i.prev; ) {
1368
1370
  if (i.i !== c.i && Xn(i, c)) {
1369
- let a = pt(i, c);
1371
+ let a = Et(i, c);
1370
1372
  i = ie(i, i.next), a = ie(a, a.next), he(i, n, t, r, o, s, 0), he(a, n, t, r, o, s, 0);
1371
1373
  return;
1372
1374
  }
@@ -1378,7 +1380,7 @@ function Pn(e, n, t, r, o, s) {
1378
1380
  function Ln(e, n, t, r) {
1379
1381
  const o = [];
1380
1382
  for (let s = 0, i = n.length; s < i; s++) {
1381
- const c = n[s] * r, a = s < i - 1 ? n[s + 1] * r : e.length, u = vt(e, c, a, r, !1);
1383
+ const c = n[s] * r, a = s < i - 1 ? n[s + 1] * r : e.length, u = xt(e, c, a, r, !1);
1382
1384
  u === u.next && (u.steiner = !0), o.push(Dn(u));
1383
1385
  }
1384
1386
  o.sort(Nn);
@@ -1398,7 +1400,7 @@ function bn(e, n) {
1398
1400
  const t = In(e, n);
1399
1401
  if (!t)
1400
1402
  return n;
1401
- const r = pt(t, e);
1403
+ const r = Et(t, e);
1402
1404
  return ie(r, r.next), ie(t, t.next);
1403
1405
  }
1404
1406
  function In(e, n) {
@@ -1423,7 +1425,7 @@ function In(e, n) {
1423
1425
  let f = 1 / 0;
1424
1426
  t = i;
1425
1427
  do {
1426
- if (r >= t.x && t.x >= a && r !== t.x && xt(o < u ? r : s, o, a, u, o < u ? s : r, o, t.x, t.y)) {
1428
+ if (r >= t.x && t.x >= a && r !== t.x && ht(o < u ? r : s, o, a, u, o < u ? s : r, o, t.x, t.y)) {
1427
1429
  const v = Math.abs(o - t.y) / (r - t.x);
1428
1430
  pe(t, e) && (v < f || v === f && (t.x > i.x || t.x === i.x && zn(i, t))) && (i = t, f = v);
1429
1431
  }
@@ -1471,11 +1473,11 @@ function Dn(e) {
1471
1473
  while (n !== e);
1472
1474
  return t;
1473
1475
  }
1474
- function xt(e, n, t, r, o, s, i, c) {
1476
+ function ht(e, n, t, r, o, s, i, c) {
1475
1477
  return (o - i) * (n - c) >= (e - i) * (s - c) && (e - i) * (r - c) >= (t - i) * (n - c) && (t - i) * (s - c) >= (o - i) * (r - c);
1476
1478
  }
1477
1479
  function xe(e, n, t, r, o, s, i, c) {
1478
- return !(e === i && n === c) && xt(e, n, t, r, o, s, i, c);
1480
+ return !(e === i && n === c) && ht(e, n, t, r, o, s, i, c);
1479
1481
  }
1480
1482
  function Xn(e, n) {
1481
1483
  return e.next.i !== n.i && e.prev.i !== n.i && !On(e, n) && // dones't intersect other edges
@@ -1489,7 +1491,7 @@ function X(e, n, t) {
1489
1491
  function ue(e, n) {
1490
1492
  return e.x === n.x && e.y === n.y;
1491
1493
  }
1492
- function ht(e, n, t, r) {
1494
+ function pt(e, n, t, r) {
1493
1495
  const o = Pe(X(e, n, t)), s = Pe(X(e, n, r)), i = Pe(X(t, r, e)), c = Pe(X(t, r, n));
1494
1496
  return !!(o !== s && i !== c || o === 0 && Ae(e, t, n) || s === 0 && Ae(e, r, n) || i === 0 && Ae(t, e, r) || c === 0 && Ae(t, n, r));
1495
1497
  }
@@ -1502,7 +1504,7 @@ function Pe(e) {
1502
1504
  function On(e, n) {
1503
1505
  let t = e;
1504
1506
  do {
1505
- if (t.i !== e.i && t.next.i !== e.i && t.i !== n.i && t.next.i !== n.i && ht(t, t.next, e, n))
1507
+ if (t.i !== e.i && t.next.i !== e.i && t.i !== n.i && t.next.i !== n.i && pt(t, t.next, e, n))
1506
1508
  return !0;
1507
1509
  t = t.next;
1508
1510
  } while (t !== e);
@@ -1519,11 +1521,11 @@ function Cn(e, n) {
1519
1521
  while (t !== e);
1520
1522
  return r;
1521
1523
  }
1522
- function pt(e, n) {
1524
+ function Et(e, n) {
1523
1525
  const t = Ve(e.i, e.x, e.y), r = Ve(n.i, n.x, n.y), o = e.next, s = n.prev;
1524
1526
  return e.next = n, n.prev = e, t.next = o, o.prev = t, r.next = t, t.prev = r, s.next = r, r.prev = s, r;
1525
1527
  }
1526
- function rt(e, n, t, r) {
1528
+ function ot(e, n, t, r) {
1527
1529
  const o = Ve(e, n, t);
1528
1530
  return r ? (o.next = r.next, o.prev = r, r.next.prev = o, r.next = o) : (o.prev = o, o.next = o), o;
1529
1531
  }
@@ -1904,7 +1906,7 @@ out vec4 result;
1904
1906
  void main(void) {
1905
1907
  result = texture(imagery, uv) * color_out;
1906
1908
  }`;
1907
- const ot = ({
1909
+ const it = ({
1908
1910
  gl: e,
1909
1911
  urlPattern: n,
1910
1912
  onLoad: t
@@ -1933,7 +1935,7 @@ const ot = ({
1933
1935
  const [l = 0, y = 0, p = 0] = c, M = 2 ** p - y - 1, [[U, x] = [], [m, g] = []] = [
1934
1936
  [0, 0],
1935
1937
  [1, 1]
1936
- ].map(([d = 0, w = 0]) => [l + d, M + w, p]).map((d) => ft(d, d)).map(([d = 0, w = 0]) => [
1938
+ ].map(([d = 0, w = 0]) => [l + d, M + w, p]).map((d) => ut(d, d)).map(([d = 0, w = 0]) => [
1937
1939
  (d - 0.5) * 2 * Math.PI * 6378137,
1938
1940
  (w - 0.5) * 2 * Math.PI * 6378137
1939
1941
  ]);
@@ -1966,7 +1968,7 @@ const ot = ({
1966
1968
  const [i = 0, c = 0, a = 0] = o, u = Math.max(a - 5, 0), f = new Array(4), v = z();
1967
1969
  for (let h = 0; h < t.length; h++) {
1968
1970
  const [T = 0, l = 0] = t[h] ?? [], [y = 0, p = 0] = ee(
1969
- ft([i + T, c + l, a], v),
1971
+ ut([i + T, c + l, a], v),
1970
1972
  v
1971
1973
  );
1972
1974
  f[h] = D([y, p, e.get([y, p], u)]);
@@ -2035,7 +2037,7 @@ const V = 34, Kn = 22, qn = ae(0, V).flatMap(
2035
2037
  ) : void 0, c = se(
2036
2038
  () => n.imageryUrl?.() ?? "",
2037
2039
  (R) => {
2038
- r?.dispose(), r = ot({
2040
+ r?.dispose(), r = it({
2039
2041
  gl: t,
2040
2042
  urlPattern: R,
2041
2043
  onLoad: () => {
@@ -2051,7 +2053,7 @@ const V = 34, Kn = 22, qn = ae(0, V).flatMap(
2051
2053
  }
2052
2054
  }), o = Ge(r);
2053
2055
  }
2054
- ), a = n.terrainUrl?.() ?? "", u = ot({
2056
+ ), a = n.terrainUrl?.() ?? "", u = it({
2055
2057
  gl: t,
2056
2058
  urlPattern: a,
2057
2059
  onLoad: () => {
@@ -2148,7 +2150,7 @@ const V = 34, Kn = 22, qn = ae(0, V).flatMap(
2148
2150
  e[(t + 1) % e.length] ?? [0, 0]
2149
2151
  )
2150
2152
  ).reduce((n, t) => n + t, 0) / e.length
2151
- ), it = (e, n) => {
2153
+ ), st = (e, n) => {
2152
2154
  const [t = 0, r = 0, o = 0, s = 0] = n, i = ([f = 0, v = 0, h = 0, T = 0]) => t * f + r * v + o * h + s * T >= 0, c = ([f = 0, v = 0, h = 0, T = 0], [l = 0, y = 0, p = 0, M = 0]) => {
2153
2155
  const U = t * f + r * v + o * h + s * T, x = t * l + r * y + o * p + s * M, m = U / (U - x), g = f + m * (l - f), d = v + m * (y - v), w = h + m * (p - h), _ = T + m * (M - T);
2154
2156
  return [g, d, w, _];
@@ -2157,7 +2159,7 @@ const V = 34, Kn = 22, qn = ae(0, V).flatMap(
2157
2159
  for (const f of e)
2158
2160
  i(f) ? (i(u) || a.push(c(u, f)), a.push(f)) : i(u) && a.push(c(u, f)), u = f;
2159
2161
  return a;
2160
- }, or = (e) => it(it(e, [0, 0, 1, 0]), [0, 0, -1, 1]), Rr = {
2162
+ }, or = (e) => st(st(e, [0, 0, 1, 0]), [0, 0, -1, 1]), Rr = {
2161
2163
  pickable: !0,
2162
2164
  depth: !0,
2163
2165
  polygonOffset: 0
@@ -2216,12 +2218,12 @@ const V = 34, Kn = 22, qn = ae(0, V).flatMap(
2216
2218
  onDragEnd: c,
2217
2219
  onMouseMove: a
2218
2220
  };
2219
- }, Re = 8, Me = 1e-3;
2221
+ }, Re = 8, Me = 0.1;
2220
2222
  let H = performance.now();
2221
- const Et = () => {
2222
- requestAnimationFrame(Et), H = performance.now();
2223
+ const _t = () => {
2224
+ requestAnimationFrame(_t), H = performance.now();
2223
2225
  };
2224
- Et();
2226
+ _t();
2225
2227
  const le = (e) => (n) => {
2226
2228
  let t, r;
2227
2229
  return () => {
@@ -2248,9 +2250,9 @@ const le = (e) => (n) => {
2248
2250
  Yt(re(), r, t),
2249
2251
  1 - Math.exp(-Re * n)
2250
2252
  )
2251
- ), t))(() => ct(e())), Ur = (e) => le(({ time: n, current: t, target: r }) => {
2253
+ ), t))(() => at(e())), Ur = (e) => le(({ time: n, current: t, target: r }) => {
2252
2254
  const o = _e(D(t), D(r));
2253
- return o * Q < Me || o > 1e5 / Q ? Ne(t, r) : t = ee(
2255
+ return o * Q < Me ? Ne(t, r) : o > 1e5 / Q ? t = Ke(r) : t = ee(
2254
2256
  We(
2255
2257
  z(),
2256
2258
  D(t),
@@ -2261,7 +2263,7 @@ const le = (e) => (n) => {
2261
2263
  )
2262
2264
  )
2263
2265
  ), t;
2264
- })(() => zt(e())), Ar = (e) => {
2266
+ })(() => Ke(e())), Ar = (e) => {
2265
2267
  let t = !1, r = z();
2266
2268
  const o = z(), s = z(), i = z(), c = z(), a = z(), u = z();
2267
2269
  let f = 0, v = 0;
@@ -2284,7 +2286,7 @@ const le = (e) => (n) => {
2284
2286
  return ge(o, o, s, T), ge(u, i, c, T), Ce(a, u, o), ge(o, o, a, l), ge(s, s, a, y / T), f = H, ee(o);
2285
2287
  };
2286
2288
  }, cr = (e) => {
2287
- const n = ar(() => ut(e()));
2289
+ const n = ar(() => lt(e()));
2288
2290
  return () => ln(n());
2289
2291
  }, ar = (e) => le(({ time: n, current: t, target: r }) => {
2290
2292
  let o = $t(t, r);
@@ -2427,7 +2429,7 @@ const le = (e) => (n) => {
2427
2429
  }
2428
2430
  };
2429
2431
  };
2430
- gt(Array);
2432
+ Ut(Array);
2431
2433
  const Lr = ({ gl: e }, n) => {
2432
2434
  const { view: t, layers: r } = n;
2433
2435
  let o = !0, s = !1, i = [0, 0];
@@ -2527,17 +2529,17 @@ export {
2527
2529
  gr as createVec4Transition,
2528
2530
  Pr as createViewTransition,
2529
2531
  Lr as createWorld,
2530
- yt as debounce,
2532
+ wt as debounce,
2531
2533
  Rr as defaultLayerOptions,
2532
- lt as defaultView,
2534
+ mt as defaultView,
2533
2535
  an as degrees,
2534
2536
  ee as geodetic,
2535
2537
  D as mercator,
2536
2538
  fn as quadratic,
2537
2539
  Ie as radians,
2538
2540
  ae as range,
2539
- ft as tileToMercator,
2541
+ ut as tileToMercator,
2540
2542
  ln as toOrientation,
2541
- ut as toQuaternion
2543
+ lt as toQuaternion
2542
2544
  };
2543
2545
  //# sourceMappingURL=index.js.map