world.ts 0.2.0 → 0.2.1
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 +384 -381
- package/dist/index.js.map +1 -1
- package/dist/world.d.ts +3 -3
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
const
|
|
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
6
|
}, te = (e, t) => Array.from({ length: t - e }, (n, i) => i + e);
|
|
7
|
-
var
|
|
8
|
-
function
|
|
7
|
+
var vt = 1e-6, j = typeof Float32Array < "u" ? Float32Array : Array;
|
|
8
|
+
function xt(e) {
|
|
9
9
|
j = e;
|
|
10
10
|
}
|
|
11
11
|
Math.hypot || (Math.hypot = function() {
|
|
@@ -13,93 +13,93 @@ Math.hypot || (Math.hypot = function() {
|
|
|
13
13
|
e += arguments[t] * arguments[t];
|
|
14
14
|
return Math.sqrt(e);
|
|
15
15
|
});
|
|
16
|
-
function
|
|
16
|
+
function _t() {
|
|
17
17
|
var e = new j(9);
|
|
18
18
|
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;
|
|
19
19
|
}
|
|
20
|
-
function
|
|
20
|
+
function de() {
|
|
21
21
|
var e = new j(16);
|
|
22
22
|
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;
|
|
23
23
|
}
|
|
24
|
-
function
|
|
24
|
+
function Fe(e) {
|
|
25
25
|
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;
|
|
26
26
|
}
|
|
27
|
-
function
|
|
27
|
+
function Et(e, t) {
|
|
28
28
|
var n = t[0], i = t[1], r = t[2], s = t[3], o = t[4], a = t[5], c = t[6], f = t[7], d = t[8], u = t[9], l = t[10], h = t[11], p = t[12], E = t[13], g = t[14], w = t[15], R = n * a - i * o, v = n * c - r * o, _ = n * f - s * o, x = i * c - r * a, m = i * f - s * a, y = r * f - s * c, T = d * E - u * p, S = d * g - l * p, A = d * w - h * p, M = u * g - l * E, z = u * w - h * E, U = l * w - h * g, b = R * U - v * z + _ * M + x * A - m * S + y * T;
|
|
29
29
|
return b ? (b = 1 / b, e[0] = (a * U - c * z + f * M) * b, e[1] = (r * z - i * U - s * M) * b, e[2] = (E * y - g * m + w * x) * b, e[3] = (l * m - u * y - h * x) * b, e[4] = (c * A - o * U - f * S) * b, e[5] = (n * U - r * A + s * S) * b, e[6] = (g * _ - p * y - w * v) * b, e[7] = (d * y - l * _ + h * v) * b, e[8] = (o * z - a * A + f * T) * b, e[9] = (i * A - n * z - s * T) * b, e[10] = (p * m - E * _ + w * R) * b, e[11] = (u * _ - d * m - h * R) * b, e[12] = (a * S - o * M - c * T) * b, e[13] = (n * M - i * S + r * T) * b, e[14] = (E * v - p * x - g * R) * b, e[15] = (d * x - u * v + l * R) * b, e) : null;
|
|
30
30
|
}
|
|
31
|
-
function
|
|
31
|
+
function yt(e, t, n) {
|
|
32
32
|
var i = t[0], r = t[1], s = t[2], o = t[3], a = t[4], c = t[5], f = t[6], d = t[7], u = t[8], l = t[9], h = t[10], p = t[11], E = t[12], g = t[13], w = t[14], R = t[15], v = n[0], _ = n[1], x = n[2], m = n[3];
|
|
33
33
|
return e[0] = v * i + _ * a + x * u + m * E, e[1] = v * r + _ * c + x * l + m * g, e[2] = v * s + _ * f + x * h + m * w, e[3] = v * o + _ * d + x * p + m * R, v = n[4], _ = n[5], x = n[6], m = n[7], e[4] = v * i + _ * a + x * u + m * E, e[5] = v * r + _ * c + x * l + m * g, e[6] = v * s + _ * f + x * h + m * w, e[7] = v * o + _ * d + x * p + m * R, v = n[8], _ = n[9], x = n[10], m = n[11], e[8] = v * i + _ * a + x * u + m * E, e[9] = v * r + _ * c + x * l + m * g, e[10] = v * s + _ * f + x * h + m * w, e[11] = v * o + _ * d + x * p + m * R, v = n[12], _ = n[13], x = n[14], m = n[15], e[12] = v * i + _ * a + x * u + m * E, e[13] = v * r + _ * c + x * l + m * g, e[14] = v * s + _ * f + x * h + m * w, e[15] = v * o + _ * d + x * p + m * R, e;
|
|
34
34
|
}
|
|
35
|
-
function
|
|
35
|
+
function wt(e, t, n) {
|
|
36
36
|
var i = n[0], r = n[1], s = n[2];
|
|
37
37
|
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;
|
|
38
38
|
}
|
|
39
|
-
function
|
|
39
|
+
function Tt(e, t, n) {
|
|
40
40
|
var i = Math.sin(n), r = Math.cos(n), s = t[4], o = t[5], a = t[6], c = t[7], f = t[8], d = t[9], u = t[10], l = t[11];
|
|
41
41
|
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 + d * i, e[6] = a * r + u * i, e[7] = c * r + l * i, e[8] = f * r - s * i, e[9] = d * r - o * i, e[10] = u * r - a * i, e[11] = l * r - c * i, e;
|
|
42
42
|
}
|
|
43
|
-
function
|
|
43
|
+
function gt(e, t, n) {
|
|
44
44
|
var i = Math.sin(n), r = Math.cos(n), s = t[0], o = t[1], a = t[2], c = t[3], f = t[8], d = t[9], u = t[10], l = t[11];
|
|
45
45
|
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 - d * i, e[2] = a * r - u * i, e[3] = c * r - l * i, e[8] = s * i + f * r, e[9] = o * i + d * r, e[10] = a * i + u * r, e[11] = c * i + l * r, e;
|
|
46
46
|
}
|
|
47
|
-
function
|
|
47
|
+
function Rt(e, t, n) {
|
|
48
48
|
var i = Math.sin(n), r = Math.cos(n), s = t[0], o = t[1], a = t[2], c = t[3], f = t[4], d = t[5], u = t[6], l = t[7];
|
|
49
49
|
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 + d * i, e[2] = a * r + u * i, e[3] = c * r + l * i, e[4] = f * r - s * i, e[5] = d * r - o * i, e[6] = u * r - a * i, e[7] = l * r - c * i, e;
|
|
50
50
|
}
|
|
51
|
-
function
|
|
51
|
+
function St(e, t) {
|
|
52
52
|
var n = t[0], i = t[1], r = t[2], s = t[3], o = n + n, a = i + i, c = r + r, f = n * o, d = i * o, u = i * a, l = r * o, h = r * a, p = r * c, E = s * o, g = s * a, w = s * c;
|
|
53
53
|
return e[0] = 1 - u - p, e[1] = d + w, e[2] = l - g, e[3] = 0, e[4] = d - w, e[5] = 1 - f - p, e[6] = h + E, e[7] = 0, e[8] = l + g, e[9] = h - E, e[10] = 1 - f - u, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e;
|
|
54
54
|
}
|
|
55
|
-
function
|
|
55
|
+
function At(e, t, n, i, r) {
|
|
56
56
|
var s = 1 / Math.tan(t / 2), o;
|
|
57
57
|
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;
|
|
58
58
|
}
|
|
59
|
-
var
|
|
59
|
+
var bt = At;
|
|
60
60
|
function P() {
|
|
61
61
|
var e = new j(3);
|
|
62
62
|
return j != Float32Array && (e[0] = 0, e[1] = 0, e[2] = 0), e;
|
|
63
63
|
}
|
|
64
|
-
function
|
|
64
|
+
function it(e) {
|
|
65
65
|
var t = e[0], n = e[1], i = e[2];
|
|
66
66
|
return Math.hypot(t, n, i);
|
|
67
67
|
}
|
|
68
|
-
function
|
|
68
|
+
function Ke(e, t, n) {
|
|
69
69
|
var i = new j(3);
|
|
70
70
|
return i[0] = e, i[1] = t, i[2] = n, i;
|
|
71
71
|
}
|
|
72
|
-
function
|
|
72
|
+
function ye(e, t, n, i) {
|
|
73
73
|
return e[0] = t, e[1] = n, e[2] = i, e;
|
|
74
74
|
}
|
|
75
75
|
function oe(e, t, n) {
|
|
76
76
|
return e[0] = t[0] + n[0], e[1] = t[1] + n[1], e[2] = t[2] + n[2], e;
|
|
77
77
|
}
|
|
78
|
-
function
|
|
78
|
+
function Mt(e, t, n) {
|
|
79
79
|
return e[0] = t[0] - n[0], e[1] = t[1] - n[1], e[2] = t[2] - n[2], e;
|
|
80
80
|
}
|
|
81
|
-
function
|
|
81
|
+
function ue(e, t, n) {
|
|
82
82
|
return e[0] = t[0] * n, e[1] = t[1] * n, e[2] = t[2] * n, e;
|
|
83
83
|
}
|
|
84
|
-
function
|
|
84
|
+
function zt(e, t, n, i) {
|
|
85
85
|
return e[0] = t[0] + n[0] * i, e[1] = t[1] + n[1] * i, e[2] = t[2] + n[2] * i, e;
|
|
86
86
|
}
|
|
87
|
-
function
|
|
87
|
+
function He(e, t) {
|
|
88
88
|
var n = t[0] - e[0], i = t[1] - e[1], r = t[2] - e[2];
|
|
89
89
|
return Math.hypot(n, i, r);
|
|
90
90
|
}
|
|
91
|
-
function
|
|
91
|
+
function Ut(e, t) {
|
|
92
92
|
var n = t[0], i = t[1], r = t[2], s = n * n + i * i + r * r;
|
|
93
93
|
return s > 0 && (s = 1 / Math.sqrt(s)), e[0] = t[0] * s, e[1] = t[1] * s, e[2] = t[2] * s, e;
|
|
94
94
|
}
|
|
95
|
-
function
|
|
95
|
+
function Pt(e, t) {
|
|
96
96
|
return e[0] * t[0] + e[1] * t[1] + e[2] * t[2];
|
|
97
97
|
}
|
|
98
|
-
function
|
|
98
|
+
function Xe(e, t, n) {
|
|
99
99
|
var i = t[0], r = t[1], s = t[2], o = n[0], a = n[1], c = n[2];
|
|
100
100
|
return e[0] = r * c - s * a, e[1] = s * o - i * c, e[2] = i * a - r * o, e;
|
|
101
101
|
}
|
|
102
|
-
var ne =
|
|
102
|
+
var ne = Mt, Nt = it;
|
|
103
103
|
(function() {
|
|
104
104
|
var e = P();
|
|
105
105
|
return function(t, n, i, r, s, o) {
|
|
@@ -113,30 +113,34 @@ function q() {
|
|
|
113
113
|
var e = new j(4);
|
|
114
114
|
return j != Float32Array && (e[0] = 0, e[1] = 0, e[2] = 0, e[3] = 0), e;
|
|
115
115
|
}
|
|
116
|
-
function
|
|
116
|
+
function Qe(e, t, n, i, r) {
|
|
117
117
|
return e[0] = t, e[1] = n, e[2] = i, e[3] = r, e;
|
|
118
118
|
}
|
|
119
|
-
function
|
|
119
|
+
function Lt(e, t, n) {
|
|
120
120
|
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;
|
|
121
121
|
}
|
|
122
|
-
function
|
|
122
|
+
function It(e, t, n) {
|
|
123
123
|
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;
|
|
124
124
|
}
|
|
125
|
-
function
|
|
125
|
+
function Ot(e, t, n) {
|
|
126
126
|
return e[0] = t[0] * n, e[1] = t[1] * n, e[2] = t[2] * n, e[3] = t[3] * n, e;
|
|
127
127
|
}
|
|
128
|
-
function
|
|
128
|
+
function Dt(e, t) {
|
|
129
|
+
var n = t[0] - e[0], i = t[1] - e[1], r = t[2] - e[2], s = t[3] - e[3];
|
|
130
|
+
return Math.hypot(n, i, r, s);
|
|
131
|
+
}
|
|
132
|
+
function Ct(e, t) {
|
|
129
133
|
var n = t[0], i = t[1], r = t[2], s = t[3], o = n * n + i * i + r * r + s * s;
|
|
130
134
|
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;
|
|
131
135
|
}
|
|
132
|
-
function
|
|
136
|
+
function Wt(e, t) {
|
|
133
137
|
return e[0] * t[0] + e[1] * t[1] + e[2] * t[2] + e[3] * t[3];
|
|
134
138
|
}
|
|
135
|
-
function
|
|
139
|
+
function qe(e, t, n) {
|
|
136
140
|
var i = t[0], r = t[1], s = t[2], o = t[3];
|
|
137
141
|
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;
|
|
138
142
|
}
|
|
139
|
-
var
|
|
143
|
+
var Xt = It;
|
|
140
144
|
(function() {
|
|
141
145
|
var e = q();
|
|
142
146
|
return function(t, n, i, r, s, o) {
|
|
@@ -146,24 +150,24 @@ var Dt = Nt;
|
|
|
146
150
|
return t;
|
|
147
151
|
};
|
|
148
152
|
})();
|
|
149
|
-
function
|
|
153
|
+
function Pe() {
|
|
150
154
|
var e = new j(4);
|
|
151
155
|
return j != Float32Array && (e[0] = 0, e[1] = 0, e[2] = 0), e[3] = 1, e;
|
|
152
156
|
}
|
|
153
|
-
function
|
|
157
|
+
function jt(e, t, n) {
|
|
154
158
|
n = n * 0.5;
|
|
155
159
|
var i = Math.sin(n);
|
|
156
160
|
return e[0] = i * t[0], e[1] = i * t[1], e[2] = i * t[2], e[3] = Math.cos(n), e;
|
|
157
161
|
}
|
|
158
|
-
function
|
|
159
|
-
var n =
|
|
162
|
+
function rt(e, t) {
|
|
163
|
+
var n = Vt(e, t);
|
|
160
164
|
return Math.acos(2 * n * n - 1);
|
|
161
165
|
}
|
|
162
|
-
function
|
|
166
|
+
function me(e, t, n, i) {
|
|
163
167
|
var r = t[0], s = t[1], o = t[2], a = t[3], c = n[0], f = n[1], d = n[2], u = n[3], l, h, p, E, g;
|
|
164
|
-
return h = r * c + s * f + o * d + a * u, h < 0 && (h = -h, c = -c, f = -f, d = -d, u = -u), 1 - h >
|
|
168
|
+
return h = r * c + s * f + o * d + a * u, h < 0 && (h = -h, c = -c, f = -f, d = -d, u = -u), 1 - h > vt ? (l = Math.acos(h), p = Math.sin(l), E = Math.sin((1 - i) * l) / p, g = Math.sin(i * l) / p) : (E = 1 - i, g = i), e[0] = E * r + g * c, e[1] = E * s + g * f, e[2] = E * o + g * d, e[3] = E * a + g * u, e;
|
|
165
169
|
}
|
|
166
|
-
function
|
|
170
|
+
function Bt(e, t) {
|
|
167
171
|
var n = t[0] + t[4] + t[8], i;
|
|
168
172
|
if (n > 0)
|
|
169
173
|
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;
|
|
@@ -175,50 +179,50 @@ function Xt(e, t) {
|
|
|
175
179
|
}
|
|
176
180
|
return e;
|
|
177
181
|
}
|
|
178
|
-
var
|
|
182
|
+
var Vt = Wt, st = Ct;
|
|
179
183
|
(function() {
|
|
180
|
-
var e = P(), t =
|
|
184
|
+
var e = P(), t = Ke(1, 0, 0), n = Ke(0, 1, 0);
|
|
181
185
|
return function(i, r, s) {
|
|
182
|
-
var o =
|
|
183
|
-
return o < -0.999999 ? (
|
|
186
|
+
var o = Pt(r, s);
|
|
187
|
+
return o < -0.999999 ? (Xe(e, t, r), Nt(e) < 1e-6 && Xe(e, n, r), Ut(e, e), jt(i, e, Math.PI), i) : o > 0.999999 ? (i[0] = 0, i[1] = 0, i[2] = 0, i[3] = 1, i) : (Xe(e, r, s), i[0] = e[0], i[1] = e[1], i[2] = e[2], i[3] = 1 + o, st(i, i));
|
|
184
188
|
};
|
|
185
189
|
})();
|
|
186
190
|
(function() {
|
|
187
|
-
var e =
|
|
191
|
+
var e = Pe(), t = Pe();
|
|
188
192
|
return function(n, i, r, s, o, a) {
|
|
189
|
-
return
|
|
193
|
+
return me(e, i, o, a), me(t, r, s, a), me(n, e, t, 2 * a * (1 - a)), n;
|
|
190
194
|
};
|
|
191
195
|
})();
|
|
192
196
|
(function() {
|
|
193
|
-
var e =
|
|
197
|
+
var e = _t();
|
|
194
198
|
return function(t, n, i, r) {
|
|
195
|
-
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],
|
|
199
|
+
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], st(t, Bt(t, e));
|
|
196
200
|
};
|
|
197
201
|
})();
|
|
198
|
-
function
|
|
202
|
+
function pe() {
|
|
199
203
|
var e = new j(2);
|
|
200
204
|
return j != Float32Array && (e[0] = 0, e[1] = 0), e;
|
|
201
205
|
}
|
|
202
|
-
function
|
|
206
|
+
function Zt(e, t, n) {
|
|
203
207
|
return e[0] = t, e[1] = n, e;
|
|
204
208
|
}
|
|
205
|
-
function
|
|
209
|
+
function Yt(e, t, n) {
|
|
206
210
|
return e[0] = t[0] - n[0], e[1] = t[1] - n[1], e;
|
|
207
211
|
}
|
|
208
|
-
function
|
|
212
|
+
function $t(e, t, n, i) {
|
|
209
213
|
return e[0] = t[0] + n[0] * i, e[1] = t[1] + n[1] * i, e;
|
|
210
214
|
}
|
|
211
|
-
function
|
|
215
|
+
function Ht(e, t) {
|
|
212
216
|
var n = t[0] - e[0], i = t[1] - e[1];
|
|
213
217
|
return n * n + i * i;
|
|
214
218
|
}
|
|
215
|
-
function
|
|
219
|
+
function kt(e) {
|
|
216
220
|
var t = e[0], n = e[1];
|
|
217
221
|
return Math.hypot(t, n);
|
|
218
222
|
}
|
|
219
|
-
var
|
|
223
|
+
var Gt = Yt;
|
|
220
224
|
(function() {
|
|
221
|
-
var e =
|
|
225
|
+
var e = pe();
|
|
222
226
|
return function(t, n, i, r, s, o) {
|
|
223
227
|
var a, c;
|
|
224
228
|
for (n || (n = 2), i || (i = 0), r ? c = Math.min(r * n + i, t.length) : c = t.length, a = i; a < c; a += n)
|
|
@@ -226,29 +230,29 @@ var kt = Vt;
|
|
|
226
230
|
return t;
|
|
227
231
|
};
|
|
228
232
|
})();
|
|
229
|
-
const
|
|
233
|
+
const k = 40075017, ze = (e) => e / 180 * Math.PI, Ft = (e) => e * 180 / Math.PI, Kt = (e, t, n) => {
|
|
230
234
|
const i = Math.sqrt(t * t - 4 * e * n);
|
|
231
235
|
return [(-t - i) / (2 * e), (-t + i) / (2 * e)];
|
|
232
|
-
}, C = ([e = 0, t = 0, n = 0], i = P()) =>
|
|
236
|
+
}, C = ([e = 0, t = 0, n = 0], i = P()) => ye(
|
|
233
237
|
i,
|
|
234
238
|
e / 360 + 0.5,
|
|
235
|
-
-Math.asinh(Math.tan(
|
|
236
|
-
n /
|
|
237
|
-
),
|
|
239
|
+
-Math.asinh(Math.tan(ze(t))) / (2 * Math.PI) + 0.5,
|
|
240
|
+
n / k
|
|
241
|
+
), ve = ([e = 0, t = 0, n = 0], i = P()) => ye(
|
|
238
242
|
i,
|
|
239
243
|
(e - 0.5) * 360,
|
|
240
|
-
|
|
241
|
-
n *
|
|
242
|
-
),
|
|
244
|
+
Ft(Math.atan(Math.sinh(-(t - 0.5) * (2 * Math.PI)))),
|
|
245
|
+
n * k
|
|
246
|
+
), Qt = ([e = 0, t = 0, n = 0], i = P()) => {
|
|
243
247
|
const r = 2 ** -n;
|
|
244
|
-
return
|
|
245
|
-
},
|
|
248
|
+
return ye(i, e * r, t * r, 0);
|
|
249
|
+
}, ae = ([e = 0, t = 0, n = 0]) => {
|
|
246
250
|
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), a = Math.cos(n * 0.5), c = Math.sin(n * 0.5), f = a * s * i + c * o * r, d = c * s * i - a * o * r, u = a * o * i + c * s * r, l = a * s * r - c * o * i;
|
|
247
251
|
return [d, u, l, f];
|
|
248
|
-
},
|
|
252
|
+
}, ot = ([e = 0, t = 0, n = 0, i = 0]) => {
|
|
249
253
|
const r = Math.atan2(2 * (i * e + t * n), 1 - 2 * (e * e + t * t)), s = Math.asin(2 * (i * t - n * e)), o = Math.atan2(2 * (i * n + e * t), 1 - 2 * (t * t + n * n));
|
|
250
254
|
return [s, o, r];
|
|
251
|
-
},
|
|
255
|
+
}, qt = 100, Qn = (e, t) => {
|
|
252
256
|
let n = !0, i = !0, r = !0, s = !1, o = !1;
|
|
253
257
|
const a = () => {
|
|
254
258
|
o = !1;
|
|
@@ -278,13 +282,13 @@ const H = 40075017, Me = (e) => e / 180 * Math.PI, Ht = (e) => e * 180 / Math.PI
|
|
|
278
282
|
};
|
|
279
283
|
}
|
|
280
284
|
}
|
|
281
|
-
}, f =
|
|
285
|
+
}, f = pt(() => s = !1, 100), d = ({ x: h, y: p, deltaY: E }) => {
|
|
282
286
|
if (!n)
|
|
283
287
|
return;
|
|
284
288
|
s || (i && t.recenter([h, p]), s = !0);
|
|
285
289
|
const g = Math.min(
|
|
286
|
-
Math.max(t.view.distance * Math.exp(E * 1e-3),
|
|
287
|
-
|
|
290
|
+
Math.max(t.view.distance * Math.exp(E * 1e-3), qt),
|
|
291
|
+
k
|
|
288
292
|
);
|
|
289
293
|
t.view = {
|
|
290
294
|
...t.view,
|
|
@@ -334,7 +338,7 @@ const H = 40075017, Me = (e) => e / 180 * Math.PI, Ht = (e) => e * 180 / Math.PI
|
|
|
334
338
|
use: s,
|
|
335
339
|
dispose: () => e.deleteBuffer(i)
|
|
336
340
|
};
|
|
337
|
-
},
|
|
341
|
+
}, we = ({
|
|
338
342
|
gl: e,
|
|
339
343
|
vertexSource: t,
|
|
340
344
|
fragmentSource: n
|
|
@@ -342,11 +346,11 @@ const H = 40075017, Me = (e) => e / 180 * Math.PI, Ht = (e) => e * 180 / Math.PI
|
|
|
342
346
|
const i = e.createProgram();
|
|
343
347
|
if (!i)
|
|
344
348
|
throw new Error("Program creation failed");
|
|
345
|
-
const r =
|
|
349
|
+
const r = Je(
|
|
346
350
|
e,
|
|
347
351
|
e.createShader(e.VERTEX_SHADER),
|
|
348
352
|
t
|
|
349
|
-
), s =
|
|
353
|
+
), s = Je(
|
|
350
354
|
e,
|
|
351
355
|
e.createShader(e.FRAGMENT_SHADER),
|
|
352
356
|
n
|
|
@@ -426,13 +430,13 @@ const H = 40075017, Me = (e) => e / 180 * Math.PI, Ht = (e) => e * 180 / Math.PI
|
|
|
426
430
|
e.deleteProgram(i), e.deleteShader(r), e.deleteShader(s);
|
|
427
431
|
}
|
|
428
432
|
};
|
|
429
|
-
},
|
|
433
|
+
}, Je = (e, t, n) => {
|
|
430
434
|
if (!t)
|
|
431
435
|
throw new Error("Shader creation failed");
|
|
432
436
|
if (e.shaderSource(t, n), e.compileShader(t), !e.getShaderParameter(t, e.COMPILE_STATUS))
|
|
433
437
|
throw console.error("Compilation failed", e.getShaderInfoLog(t)), new Error("Compilation failure");
|
|
434
438
|
return t;
|
|
435
|
-
},
|
|
439
|
+
}, je = 2 ** 30, G = ([e = 0, t = 0, n = 0]) => [Math.floor(e * je), Math.floor(t * je), Math.floor(n * je)], Te = (e, t, n) => {
|
|
436
440
|
const { pickable: i, depth: r, polygonOffset: s } = {
|
|
437
441
|
pickable: !0,
|
|
438
442
|
depth: !0,
|
|
@@ -450,7 +454,7 @@ const H = 40075017, Me = (e) => e / 180 * Math.PI, Ht = (e) => e * 180 / Math.PI
|
|
|
450
454
|
e.ONE_MINUS_SRC_ALPHA
|
|
451
455
|
);
|
|
452
456
|
};
|
|
453
|
-
var
|
|
457
|
+
var ge = `#version 300 es
|
|
454
458
|
|
|
455
459
|
precision highp float;
|
|
456
460
|
|
|
@@ -472,11 +476,11 @@ vec2 pack_index(in int index) {
|
|
|
472
476
|
void main(void) {
|
|
473
477
|
result = vec4(pack_depth(gl_FragCoord.z), pack_index(index));
|
|
474
478
|
}`;
|
|
475
|
-
const
|
|
476
|
-
function
|
|
479
|
+
const at = "KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2FkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGFzeW5jIG49Pntjb25zdFtpLHRdPW4uZGF0YTtpZihpIT09ImxvYWQiKXJldHVybjtjb25zdCBvPW5ldyBBYm9ydENvbnRyb2xsZXIse3NpZ25hbDpjfT1vLHI9ZT0+e2NvbnN0W2Esc109ZS5kYXRhO2E9PT0iY2FuY2VsIiYmcz09PXQmJm8uYWJvcnQoKX07YWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscik7dHJ5e2NvbnN0IGU9YXdhaXQgZmV0Y2godCx7bW9kZToiY29ycyIsc2lnbmFsOmN9KTtpZighZS5vayl7cG9zdE1lc3NhZ2Uoe3VybDp0LGltYWdlOnZvaWQgMH0pO3JldHVybn1jb25zdCBhPWF3YWl0IGUuYmxvYigpLHM9YXdhaXQgY3JlYXRlSW1hZ2VCaXRtYXAoYSk7cG9zdE1lc3NhZ2Uoe3VybDp0LGltYWdlOnN9KX1jYXRjaChlKXtpZighKGUgaW5zdGFuY2VvZiBFcnJvciYmZS5tZXNzYWdlPT09IlRoZSB1c2VyIGFib3J0ZWQgYSByZXF1ZXN0LiIpKXRocm93IGV9ZmluYWxseXtyZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIixyKX19KX0pKCk7Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPWltYWdlLWxvYWQtd29ya2VyLW5GZmp0SzhkLmpzLm1hcAo=", et = typeof window < "u" && window.Blob && new Blob([atob(at)], { type: "text/javascript;charset=utf-8" });
|
|
480
|
+
function Jt(e) {
|
|
477
481
|
let t;
|
|
478
482
|
try {
|
|
479
|
-
if (t =
|
|
483
|
+
if (t = et && (window.URL || window.webkitURL).createObjectURL(et), !t)
|
|
480
484
|
throw "";
|
|
481
485
|
const n = new Worker(t, {
|
|
482
486
|
name: e?.name
|
|
@@ -486,7 +490,7 @@ function Qt(e) {
|
|
|
486
490
|
}), n;
|
|
487
491
|
} catch {
|
|
488
492
|
return new Worker(
|
|
489
|
-
"data:text/javascript;base64," +
|
|
493
|
+
"data:text/javascript;base64," + at,
|
|
490
494
|
{
|
|
491
495
|
name: e?.name
|
|
492
496
|
}
|
|
@@ -495,26 +499,26 @@ function Qt(e) {
|
|
|
495
499
|
t && (window.URL || window.webkitURL).revokeObjectURL(t);
|
|
496
500
|
}
|
|
497
501
|
}
|
|
498
|
-
const
|
|
502
|
+
const Se = Jt(), en = ({
|
|
499
503
|
url: e,
|
|
500
504
|
onLoad: t
|
|
501
505
|
}) => {
|
|
502
506
|
let n = !1;
|
|
503
507
|
const i = ({ data: o }) => {
|
|
504
|
-
r || e !== o.url || (
|
|
508
|
+
r || e !== o.url || (Se.removeEventListener("message", i), n = !0, t(o.image));
|
|
505
509
|
};
|
|
506
|
-
|
|
510
|
+
Se.addEventListener("message", i);
|
|
507
511
|
let r = !1;
|
|
508
512
|
const s = () => {
|
|
509
|
-
r = !0,
|
|
513
|
+
r = !0, Se.postMessage(["cancel", e]);
|
|
510
514
|
};
|
|
511
|
-
return
|
|
515
|
+
return Se.postMessage(["load", e]), {
|
|
512
516
|
get loaded() {
|
|
513
517
|
return n;
|
|
514
518
|
},
|
|
515
519
|
cancel: s
|
|
516
520
|
};
|
|
517
|
-
},
|
|
521
|
+
}, tn = (e) => {
|
|
518
522
|
const t = e.createTexture();
|
|
519
523
|
if (!t)
|
|
520
524
|
throw new Error("Texture creation failed");
|
|
@@ -528,12 +532,12 @@ const Re = Qt(), qt = ({
|
|
|
528
532
|
0
|
|
529
533
|
);
|
|
530
534
|
}, dispose: () => e.deleteTexture(t) };
|
|
531
|
-
},
|
|
535
|
+
}, ct = ({
|
|
532
536
|
gl: e,
|
|
533
537
|
url: t,
|
|
534
538
|
onLoad: n
|
|
535
539
|
}) => {
|
|
536
|
-
const i =
|
|
540
|
+
const i = tn(e), r = en({
|
|
537
541
|
url: t,
|
|
538
542
|
onLoad: (c) => {
|
|
539
543
|
c && (i.use(), e.texImage2D(
|
|
@@ -557,7 +561,7 @@ const Re = Qt(), qt = ({
|
|
|
557
561
|
}
|
|
558
562
|
};
|
|
559
563
|
};
|
|
560
|
-
var
|
|
564
|
+
var nn = `#version 300 es
|
|
561
565
|
|
|
562
566
|
precision highp float;
|
|
563
567
|
|
|
@@ -569,7 +573,7 @@ out vec4 result;
|
|
|
569
573
|
void main() {
|
|
570
574
|
result = texture(image, uv_out) * color_out;
|
|
571
575
|
if (result.a == 0.f) discard;
|
|
572
|
-
}`,
|
|
576
|
+
}`, rn = `#version 300 es
|
|
573
577
|
|
|
574
578
|
precision highp float;
|
|
575
579
|
|
|
@@ -604,7 +608,7 @@ void main(void) {
|
|
|
604
608
|
uv_out = uv;
|
|
605
609
|
color_out = color;
|
|
606
610
|
}`;
|
|
607
|
-
const
|
|
611
|
+
const qn = (e, t = {}) => {
|
|
608
612
|
const { gl: n } = e;
|
|
609
613
|
let { options: i, url: r, position: s, color: o, size: a, minSizePixels: c, maxSizePixels: f } = {
|
|
610
614
|
options: {},
|
|
@@ -637,7 +641,7 @@ const Kn = (e, t = {}) => {
|
|
|
637
641
|
);
|
|
638
642
|
let p;
|
|
639
643
|
const E = () => {
|
|
640
|
-
p?.dispose(), p =
|
|
644
|
+
p?.dispose(), p = ct({
|
|
641
645
|
gl: n,
|
|
642
646
|
url: r,
|
|
643
647
|
onLoad: ({ width: x, height: m }) => {
|
|
@@ -646,7 +650,7 @@ const Kn = (e, t = {}) => {
|
|
|
646
650
|
});
|
|
647
651
|
};
|
|
648
652
|
E();
|
|
649
|
-
const { renderProgram: g, depthProgram: w } =
|
|
653
|
+
const { renderProgram: g, depthProgram: w } = sn(n, {
|
|
650
654
|
cornerBuffer: u,
|
|
651
655
|
uvBuffer: l,
|
|
652
656
|
indexBuffer: h
|
|
@@ -656,7 +660,7 @@ const Kn = (e, t = {}) => {
|
|
|
656
660
|
depth: S = !1,
|
|
657
661
|
index: A = 0
|
|
658
662
|
}) => {
|
|
659
|
-
if (
|
|
663
|
+
if (Te(n, S, i) || !p)
|
|
660
664
|
return;
|
|
661
665
|
(S ? w : g).execute({
|
|
662
666
|
projection: x,
|
|
@@ -720,16 +724,16 @@ const Kn = (e, t = {}) => {
|
|
|
720
724
|
}
|
|
721
725
|
};
|
|
722
726
|
return e.add(_), _;
|
|
723
|
-
},
|
|
727
|
+
}, sn = (e, {
|
|
724
728
|
cornerBuffer: t,
|
|
725
729
|
uvBuffer: n,
|
|
726
730
|
indexBuffer: i
|
|
727
731
|
}) => {
|
|
728
732
|
const r = (a = !1) => {
|
|
729
|
-
const c =
|
|
733
|
+
const c = we({
|
|
730
734
|
gl: e,
|
|
731
|
-
vertexSource:
|
|
732
|
-
fragmentSource: a ?
|
|
735
|
+
vertexSource: rn,
|
|
736
|
+
fragmentSource: a ? ge : nn
|
|
733
737
|
}), f = c.attribute2f("corner", t, {
|
|
734
738
|
stride: 2 * Float32Array.BYTES_PER_ELEMENT
|
|
735
739
|
}), d = c.attribute2f("uv", n, {
|
|
@@ -741,20 +745,20 @@ const Kn = (e, t = {}) => {
|
|
|
741
745
|
screen: z,
|
|
742
746
|
image: U,
|
|
743
747
|
imageSize: b,
|
|
744
|
-
position:
|
|
745
|
-
color:
|
|
748
|
+
position: L,
|
|
749
|
+
color: O,
|
|
746
750
|
size: D,
|
|
747
751
|
minSizePixels: X,
|
|
748
752
|
maxSizePixels: V,
|
|
749
753
|
index: $
|
|
750
754
|
}) => {
|
|
751
|
-
c.use(), f.use(), d.use(), u.set(S), l.set(A), h.set(M), p.set(z), g.set(b), w.set(
|
|
755
|
+
c.use(), f.use(), d.use(), u.set(S), l.set(A), h.set(M), p.set(z), g.set(b), w.set(L), R.set(O), _.set(D), x.set(X), m.set(V), v.set($), e.activeTexture(e.TEXTURE0), E.set(0), U.use(), i.use(), e.drawElements(e.TRIANGLES, 6, e.UNSIGNED_SHORT, 0);
|
|
752
756
|
}, { dispose: T } = c;
|
|
753
757
|
return { execute: y, dispose: T };
|
|
754
758
|
}, s = r(), o = r(!0);
|
|
755
759
|
return { renderProgram: s, depthProgram: o };
|
|
756
760
|
};
|
|
757
|
-
var
|
|
761
|
+
var on = `#version 300 es
|
|
758
762
|
|
|
759
763
|
precision highp float;
|
|
760
764
|
|
|
@@ -764,7 +768,7 @@ out vec4 result;
|
|
|
764
768
|
void main() {
|
|
765
769
|
if (color_out.a == 0.f) discard;
|
|
766
770
|
result = color_out;
|
|
767
|
-
}`,
|
|
771
|
+
}`, an = `#version 300 es
|
|
768
772
|
|
|
769
773
|
precision highp float;
|
|
770
774
|
|
|
@@ -827,7 +831,7 @@ void main(void) {
|
|
|
827
831
|
|
|
828
832
|
color_out = color;
|
|
829
833
|
}`;
|
|
830
|
-
const
|
|
834
|
+
const Jn = (e, t = {}) => {
|
|
831
835
|
const { gl: n } = e;
|
|
832
836
|
let { options: i, points: r, color: s, width: o, minWidthPixels: a, maxWidthPixels: c } = {
|
|
833
837
|
options: {},
|
|
@@ -836,7 +840,7 @@ const Qn = (e, t = {}) => {
|
|
|
836
840
|
width: 1,
|
|
837
841
|
...t
|
|
838
842
|
}, f = 0;
|
|
839
|
-
const d = Y({ gl: n, type: "i32", target: "array" }), u = Y({ gl: n, type: "u16", target: "element" }), l = Y({ gl: n, type: "f32", target: "array" }), { renderProgram: h, depthProgram: p } =
|
|
843
|
+
const d = Y({ gl: n, type: "i32", target: "array" }), u = Y({ gl: n, type: "u16", target: "element" }), l = Y({ gl: n, type: "f32", target: "array" }), { renderProgram: h, depthProgram: p } = cn(n, {
|
|
840
844
|
positionBuffer: d,
|
|
841
845
|
indexBuffer: u,
|
|
842
846
|
cornerBuffer: l
|
|
@@ -845,7 +849,7 @@ const Qn = (e, t = {}) => {
|
|
|
845
849
|
depth: y = !1,
|
|
846
850
|
index: T = 0
|
|
847
851
|
}) => {
|
|
848
|
-
if (
|
|
852
|
+
if (Te(n, y, i))
|
|
849
853
|
return;
|
|
850
854
|
(y ? p : h).execute({
|
|
851
855
|
projection: v,
|
|
@@ -869,12 +873,12 @@ const Qn = (e, t = {}) => {
|
|
|
869
873
|
if (S.length === 0)
|
|
870
874
|
return { indexData: y, count: T };
|
|
871
875
|
const A = te(0, (S.length - 1) * 2).flatMap((M) => {
|
|
872
|
-
const [z = 0, U = 0, b = 0,
|
|
873
|
-
(
|
|
876
|
+
const [z = 0, U = 0, b = 0, L = 0] = te(0, 4).map(
|
|
877
|
+
(O) => O + M * 2 + T
|
|
874
878
|
);
|
|
875
879
|
return [
|
|
876
|
-
[z, U,
|
|
877
|
-
[z,
|
|
880
|
+
[z, U, L],
|
|
881
|
+
[z, L, b]
|
|
878
882
|
].flat();
|
|
879
883
|
});
|
|
880
884
|
return T += (S.length + 2) * 4, y = y.concat(A), { indexData: y, count: T };
|
|
@@ -938,16 +942,16 @@ const Qn = (e, t = {}) => {
|
|
|
938
942
|
}
|
|
939
943
|
};
|
|
940
944
|
return e.add(R), R;
|
|
941
|
-
},
|
|
945
|
+
}, cn = (e, {
|
|
942
946
|
positionBuffer: t,
|
|
943
947
|
indexBuffer: n,
|
|
944
948
|
cornerBuffer: i
|
|
945
949
|
}) => {
|
|
946
950
|
const r = (a = !1) => {
|
|
947
|
-
const c =
|
|
951
|
+
const c = we({
|
|
948
952
|
gl: e,
|
|
949
|
-
vertexSource:
|
|
950
|
-
fragmentSource: a ?
|
|
953
|
+
vertexSource: an,
|
|
954
|
+
fragmentSource: a ? ge : on
|
|
951
955
|
}), f = Float32Array.BYTES_PER_ELEMENT, d = Int32Array.BYTES_PER_ELEMENT, u = c.attribute3i("previous", t, {
|
|
952
956
|
stride: d * 3
|
|
953
957
|
}), l = c.attribute3i("current", t, {
|
|
@@ -964,19 +968,19 @@ const Qn = (e, t = {}) => {
|
|
|
964
968
|
camera: z,
|
|
965
969
|
screen: U,
|
|
966
970
|
count: b,
|
|
967
|
-
color:
|
|
968
|
-
width:
|
|
971
|
+
color: L,
|
|
972
|
+
width: O,
|
|
969
973
|
minWidthPixels: D,
|
|
970
974
|
maxWidthPixels: X,
|
|
971
975
|
index: V
|
|
972
976
|
}) => {
|
|
973
|
-
b !== 0 && (c.use(), u.use(), l.use(), h.use(), p.use(), E.set(A), g.set(M), w.set(z), R.set(U), v.set(
|
|
977
|
+
b !== 0 && (c.use(), u.use(), l.use(), h.use(), p.use(), E.set(A), g.set(M), w.set(z), R.set(U), v.set(L), _.set(O), m.set(D), x.set(X), y.set(V), n.use(), e.drawElements(e.TRIANGLES, b, e.UNSIGNED_SHORT, 0));
|
|
974
978
|
}, { dispose: S } = c;
|
|
975
979
|
return { execute: T, dispose: S };
|
|
976
980
|
}, s = r(), o = r(!0);
|
|
977
981
|
return { renderProgram: s, depthProgram: o };
|
|
978
982
|
};
|
|
979
|
-
var
|
|
983
|
+
var fn = `#version 300 es
|
|
980
984
|
|
|
981
985
|
precision highp float;
|
|
982
986
|
|
|
@@ -985,7 +989,7 @@ out vec4 result;
|
|
|
985
989
|
|
|
986
990
|
void main() {
|
|
987
991
|
result = color_out;
|
|
988
|
-
}`,
|
|
992
|
+
}`, ln = `#version 300 es
|
|
989
993
|
|
|
990
994
|
precision highp float;
|
|
991
995
|
|
|
@@ -1021,7 +1025,7 @@ void main(void) {
|
|
|
1021
1025
|
|
|
1022
1026
|
color_out = color;
|
|
1023
1027
|
}`;
|
|
1024
|
-
const
|
|
1028
|
+
const ei = (e, t = {}) => {
|
|
1025
1029
|
const { gl: n } = e;
|
|
1026
1030
|
let {
|
|
1027
1031
|
options: i,
|
|
@@ -1043,7 +1047,7 @@ const qn = (e, t = {}) => {
|
|
|
1043
1047
|
size: 1,
|
|
1044
1048
|
...t
|
|
1045
1049
|
}, l = 0;
|
|
1046
|
-
const h = Y({ gl: n, type: "f32", target: "array" }), p = Y({ gl: n, type: "u16", target: "element" }), { renderProgram: E, depthProgram: g } =
|
|
1050
|
+
const h = Y({ gl: n, type: "f32", target: "array" }), p = Y({ gl: n, type: "u16", target: "element" }), { renderProgram: E, depthProgram: g } = hn(n, {
|
|
1047
1051
|
vertexBuffer: h,
|
|
1048
1052
|
indexBuffer: p
|
|
1049
1053
|
}), w = ({
|
|
@@ -1051,7 +1055,7 @@ const qn = (e, t = {}) => {
|
|
|
1051
1055
|
depth: A = !1,
|
|
1052
1056
|
index: M = 0
|
|
1053
1057
|
}) => {
|
|
1054
|
-
if (
|
|
1058
|
+
if (Te(n, A, i))
|
|
1055
1059
|
return;
|
|
1056
1060
|
(A ? g : E).execute({
|
|
1057
1061
|
projection: m,
|
|
@@ -1060,7 +1064,7 @@ const qn = (e, t = {}) => {
|
|
|
1060
1064
|
screen: S,
|
|
1061
1065
|
count: l,
|
|
1062
1066
|
position: G(C(o)),
|
|
1063
|
-
orientation:
|
|
1067
|
+
orientation: St(de(), a),
|
|
1064
1068
|
color: c,
|
|
1065
1069
|
size: f,
|
|
1066
1070
|
minSizePixels: d || 0,
|
|
@@ -1134,15 +1138,15 @@ const qn = (e, t = {}) => {
|
|
|
1134
1138
|
}
|
|
1135
1139
|
};
|
|
1136
1140
|
return e.add(x), x;
|
|
1137
|
-
},
|
|
1141
|
+
}, hn = (e, {
|
|
1138
1142
|
vertexBuffer: t,
|
|
1139
1143
|
indexBuffer: n
|
|
1140
1144
|
}) => {
|
|
1141
1145
|
const i = (o = !1) => {
|
|
1142
|
-
const a =
|
|
1146
|
+
const a = we({
|
|
1143
1147
|
gl: e,
|
|
1144
|
-
vertexSource:
|
|
1145
|
-
fragmentSource: o ?
|
|
1148
|
+
vertexSource: ln,
|
|
1149
|
+
fragmentSource: o ? ge : fn
|
|
1146
1150
|
}), c = a.attribute3f("vertex", t), f = a.uniformMatrix4f("projection"), d = a.uniformMatrix4f("model_view"), u = a.uniform3i("camera"), l = a.uniform3i("position"), h = a.uniformMatrix4f("orientation"), p = a.uniform2f("screen"), E = a.uniform4f("color"), g = a.uniform1f("size"), w = a.uniform1f("min_size_pixels"), R = a.uniform1f("max_size_pixels"), v = a.uniform1i("index"), _ = ({
|
|
1147
1151
|
projection: m,
|
|
1148
1152
|
modelView: y,
|
|
@@ -1153,125 +1157,125 @@ const qn = (e, t = {}) => {
|
|
|
1153
1157
|
orientation: z,
|
|
1154
1158
|
color: U,
|
|
1155
1159
|
size: b,
|
|
1156
|
-
minSizePixels:
|
|
1157
|
-
maxSizePixels:
|
|
1160
|
+
minSizePixels: L,
|
|
1161
|
+
maxSizePixels: O,
|
|
1158
1162
|
index: D
|
|
1159
1163
|
}) => {
|
|
1160
|
-
a.use(), c.use(), f.set(m), d.set(y), u.set(T), p.set(S), l.set(M), h.set(z), E.set(U), g.set(b), w.set(
|
|
1164
|
+
a.use(), c.use(), f.set(m), d.set(y), u.set(T), p.set(S), l.set(M), h.set(z), E.set(U), g.set(b), w.set(L), R.set(O), v.set(D), n.use(), e.drawElements(e.TRIANGLES, A, e.UNSIGNED_SHORT, 0);
|
|
1161
1165
|
}, { dispose: x } = a;
|
|
1162
1166
|
return { execute: _, dispose: x };
|
|
1163
1167
|
}, r = i(), s = i(!0);
|
|
1164
1168
|
return { renderProgram: r, depthProgram: s };
|
|
1165
1169
|
};
|
|
1166
|
-
var
|
|
1170
|
+
var ft = function(e, t, n, i, r) {
|
|
1167
1171
|
let s, o = null;
|
|
1168
|
-
if (r ===
|
|
1172
|
+
if (r === An(e, t, n, i) > 0)
|
|
1169
1173
|
for (s = t; s < n; s += i)
|
|
1170
1174
|
o = new Ne(s, e[s], e[s + 1], o);
|
|
1171
1175
|
else
|
|
1172
1176
|
for (s = n - i; s >= t; s -= i)
|
|
1173
1177
|
o = new Ne(s, e[s], e[s + 1], o);
|
|
1174
|
-
return o !== null && Oe(o, o.next) && (
|
|
1178
|
+
return o !== null && Oe(o, o.next) && (Ee(o), o = o.next), o;
|
|
1175
1179
|
}, ie = function(e, t) {
|
|
1176
1180
|
t === void 0 && (t = e);
|
|
1177
1181
|
let n = e, i;
|
|
1178
1182
|
do
|
|
1179
1183
|
if (i = !1, !n.steiner && (Oe(n, n.next) || N(n.prev, n, n.next) === 0)) {
|
|
1180
|
-
if (
|
|
1184
|
+
if (Ee(n), n = t = n.prev, n === n.next)
|
|
1181
1185
|
break;
|
|
1182
1186
|
i = !0;
|
|
1183
1187
|
} else
|
|
1184
1188
|
n = n.next;
|
|
1185
1189
|
while (i || n !== t);
|
|
1186
1190
|
return t;
|
|
1187
|
-
},
|
|
1191
|
+
}, xe = function(e, t, n, i, r, s, o) {
|
|
1188
1192
|
if (e === null)
|
|
1189
1193
|
return;
|
|
1190
|
-
o === 0 && s !== 0 &&
|
|
1194
|
+
o === 0 && s !== 0 && yn(e, i, r, s);
|
|
1191
1195
|
let a = e, c, f;
|
|
1192
1196
|
for (; e.prev !== e.next; ) {
|
|
1193
|
-
if (c = e.prev, f = e.next, s !== 0 ?
|
|
1194
|
-
t.push(c.i / n), t.push(e.i / n), t.push(f.i / n),
|
|
1197
|
+
if (c = e.prev, f = e.next, s !== 0 ? dn(e, i, r, s) : un(e)) {
|
|
1198
|
+
t.push(c.i / n), t.push(e.i / n), t.push(f.i / n), Ee(e), e = f.next, a = f.next;
|
|
1195
1199
|
continue;
|
|
1196
1200
|
}
|
|
1197
1201
|
if (e = f, e === a) {
|
|
1198
|
-
o === 0 ?
|
|
1202
|
+
o === 0 ? xe(ie(e), t, n, i, r, s, 1) : o === 1 ? (e = mn(ie(e), t, n), xe(e, t, n, i, r, s, 2)) : o === 2 && pn(e, t, n, i, r, s);
|
|
1199
1203
|
break;
|
|
1200
1204
|
}
|
|
1201
1205
|
}
|
|
1202
|
-
},
|
|
1206
|
+
}, un = function(e) {
|
|
1203
1207
|
const t = e.prev, n = e, i = e.next;
|
|
1204
1208
|
if (N(t, n, i) >= 0)
|
|
1205
1209
|
return !1;
|
|
1206
1210
|
let r = e.next.next;
|
|
1207
1211
|
for (; r !== e.prev; ) {
|
|
1208
|
-
if (
|
|
1212
|
+
if (ce(t.x, t.y, n.x, n.y, i.x, i.y, r.x, r.y) && N(r.prev, r, r.next) >= 0)
|
|
1209
1213
|
return !1;
|
|
1210
1214
|
r = r.next;
|
|
1211
1215
|
}
|
|
1212
1216
|
return !0;
|
|
1213
|
-
},
|
|
1217
|
+
}, dn = function(e, t, n, i) {
|
|
1214
1218
|
const r = e.prev, s = e, o = e.next;
|
|
1215
1219
|
if (N(r, s, o) >= 0)
|
|
1216
1220
|
return !1;
|
|
1217
|
-
const a = r.x < s.x ? r.x < o.x ? r.x : o.x : s.x < o.x ? s.x : o.x, c = 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, d = r.y > s.y ? r.y > o.y ? r.y : o.y : s.y > o.y ? s.y : o.y, u =
|
|
1221
|
+
const a = r.x < s.x ? r.x < o.x ? r.x : o.x : s.x < o.x ? s.x : o.x, c = 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, d = r.y > s.y ? r.y > o.y ? r.y : o.y : s.y > o.y ? s.y : o.y, u = Ze(a, c, t, n, i), l = Ze(f, d, t, n, i);
|
|
1218
1222
|
let { prevZ: h, nextZ: p } = e;
|
|
1219
1223
|
for (; h !== null && p !== null && h.z >= u && p.z <= l; ) {
|
|
1220
|
-
if (h !== e.prev && h !== e.next &&
|
|
1224
|
+
if (h !== e.prev && h !== e.next && ce(r.x, r.y, s.x, s.y, o.x, o.y, h.x, h.y) && N(h.prev, h, h.next) >= 0 || (h = h.prevZ, p !== e.prev && p !== e.next && ce(r.x, r.y, s.x, s.y, o.x, o.y, p.x, p.y) && N(p.prev, p, p.next) >= 0))
|
|
1221
1225
|
return !1;
|
|
1222
1226
|
p = p.nextZ;
|
|
1223
1227
|
}
|
|
1224
1228
|
for (; h !== null && h.z >= u; ) {
|
|
1225
|
-
if (h !== e.prev && h !== e.next &&
|
|
1229
|
+
if (h !== e.prev && h !== e.next && ce(r.x, r.y, s.x, s.y, o.x, o.y, h.x, h.y) && N(h.prev, h, h.next) >= 0)
|
|
1226
1230
|
return !1;
|
|
1227
1231
|
h = h.prevZ;
|
|
1228
1232
|
}
|
|
1229
1233
|
for (; p !== null && p.z <= l; ) {
|
|
1230
|
-
if (p !== e.prev && p !== e.next &&
|
|
1234
|
+
if (p !== e.prev && p !== e.next && ce(r.x, r.y, s.x, s.y, o.x, o.y, p.x, p.y) && N(p.prev, p, p.next) >= 0)
|
|
1231
1235
|
return !1;
|
|
1232
1236
|
p = p.nextZ;
|
|
1233
1237
|
}
|
|
1234
1238
|
return !0;
|
|
1235
|
-
},
|
|
1239
|
+
}, mn = function(e, t, n) {
|
|
1236
1240
|
let i = e;
|
|
1237
1241
|
do {
|
|
1238
1242
|
const r = i.prev, s = i.next.next;
|
|
1239
|
-
!Oe(r, s) &&
|
|
1243
|
+
!Oe(r, s) && lt(r, i, i.next, s) && _e(r, s) && _e(s, r) && (t.push(r.i / n), t.push(i.i / n), t.push(s.i / n), Ee(i), Ee(i.next), i = e = s), i = i.next;
|
|
1240
1244
|
} while (i !== e);
|
|
1241
1245
|
return i;
|
|
1242
|
-
},
|
|
1246
|
+
}, pn = function(e, t, n, i, r, s) {
|
|
1243
1247
|
let o = e;
|
|
1244
1248
|
do {
|
|
1245
1249
|
let a = o.next.next;
|
|
1246
1250
|
for (; a !== o.prev; ) {
|
|
1247
|
-
if (o.i !== a.i &&
|
|
1248
|
-
let c =
|
|
1249
|
-
o = ie(o, o.next), c = ie(c, c.next),
|
|
1251
|
+
if (o.i !== a.i && gn(o, a)) {
|
|
1252
|
+
let c = ht(o, a);
|
|
1253
|
+
o = ie(o, o.next), c = ie(c, c.next), xe(o, t, n, i, r, s, 0), xe(c, t, n, i, r, s, 0);
|
|
1250
1254
|
return;
|
|
1251
1255
|
}
|
|
1252
1256
|
a = a.next;
|
|
1253
1257
|
}
|
|
1254
1258
|
o = o.next;
|
|
1255
1259
|
} while (o !== e);
|
|
1256
|
-
},
|
|
1260
|
+
}, vn = function(e, t, n, i) {
|
|
1257
1261
|
const r = [];
|
|
1258
1262
|
let s, o, a, c, f;
|
|
1259
1263
|
for (s = 0, o = t.length; s < o; s++)
|
|
1260
|
-
a = t[s] * i, c = s < o - 1 ? t[s + 1] * i : e.length, f =
|
|
1261
|
-
for (r.sort(
|
|
1262
|
-
n =
|
|
1264
|
+
a = t[s] * i, c = s < o - 1 ? t[s + 1] * i : e.length, f = ft(e, a, c, i, !1), f === f.next && (f.steiner = !0), r.push(Tn(f));
|
|
1265
|
+
for (r.sort(xn), s = 0; s < r.length; s++)
|
|
1266
|
+
n = _n(r[s], n), n = ie(n, n.next);
|
|
1263
1267
|
return n;
|
|
1264
|
-
},
|
|
1268
|
+
}, xn = function(e, t) {
|
|
1265
1269
|
return e.x - t.x;
|
|
1266
|
-
},
|
|
1267
|
-
const n =
|
|
1270
|
+
}, _n = function(e, t) {
|
|
1271
|
+
const n = En(e, t);
|
|
1268
1272
|
if (n === null)
|
|
1269
1273
|
return t;
|
|
1270
1274
|
{
|
|
1271
|
-
const i =
|
|
1275
|
+
const i = ht(n, e), r = ie(n, n.next);
|
|
1272
1276
|
return ie(i, i.next), t === n ? r : t;
|
|
1273
1277
|
}
|
|
1274
|
-
},
|
|
1278
|
+
}, En = function(e, t) {
|
|
1275
1279
|
let n = t;
|
|
1276
1280
|
const { x: i, y: r } = e;
|
|
1277
1281
|
let s = -1 / 0, o;
|
|
@@ -1298,16 +1302,16 @@ var at = function(e, t, n, i, r) {
|
|
|
1298
1302
|
let d = 1 / 0, u;
|
|
1299
1303
|
n = o;
|
|
1300
1304
|
do
|
|
1301
|
-
i >= n.x && n.x >= c && i !== n.x &&
|
|
1305
|
+
i >= n.x && n.x >= c && i !== n.x && ce(r < f ? i : s, r, c, f, r < f ? s : i, r, n.x, n.y) && (u = Math.abs(r - n.y) / (i - n.x), _e(n, e) && (u < d || u === d && (n.x > o.x || n.x === o.x && N(o.prev, o, n.prev) < 0 && N(n.next, o, o.next) < 0)) && (o = n, d = u)), n = n.next;
|
|
1302
1306
|
while (n !== a);
|
|
1303
1307
|
return o;
|
|
1304
|
-
},
|
|
1308
|
+
}, yn = function(e, t, n, i) {
|
|
1305
1309
|
let r = e;
|
|
1306
1310
|
do
|
|
1307
|
-
r.z === void 0 && (r.z =
|
|
1311
|
+
r.z === void 0 && (r.z = Ze(r.x, r.y, t, n, i)), r.prevZ = r.prev, r.nextZ = r.next, r = r.next;
|
|
1308
1312
|
while (r !== e);
|
|
1309
|
-
r.prevZ !== null && (r.prevZ.nextZ = null), r.prevZ = null,
|
|
1310
|
-
},
|
|
1313
|
+
r.prevZ !== null && (r.prevZ.nextZ = null), r.prevZ = null, wn(r);
|
|
1314
|
+
}, wn = function(e) {
|
|
1311
1315
|
let t, n, i, r, s, o, a, c, f = 1;
|
|
1312
1316
|
do {
|
|
1313
1317
|
for (n = e, e = null, s = null, o = 0; n !== null; ) {
|
|
@@ -1320,52 +1324,52 @@ var at = function(e, t, n, i, r) {
|
|
|
1320
1324
|
s !== null && (s.nextZ = null), f *= 2;
|
|
1321
1325
|
} while (o > 1);
|
|
1322
1326
|
return e;
|
|
1323
|
-
},
|
|
1327
|
+
}, Ze = function(e, t, n, i, r) {
|
|
1324
1328
|
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;
|
|
1325
|
-
},
|
|
1329
|
+
}, Tn = function(e) {
|
|
1326
1330
|
let t = e, n = e;
|
|
1327
1331
|
do
|
|
1328
1332
|
(t.x < n.x || t.x === n.x && t.y < n.y) && (n = t), t = t.next;
|
|
1329
1333
|
while (t !== e);
|
|
1330
1334
|
return n;
|
|
1331
|
-
},
|
|
1335
|
+
}, ce = function(e, t, n, i, r, s, o, a) {
|
|
1332
1336
|
return (r - o) * (t - a) - (e - o) * (s - a) >= 0 && (e - o) * (i - a) - (n - o) * (t - a) >= 0 && (n - o) * (s - a) - (r - o) * (i - a) >= 0;
|
|
1333
|
-
},
|
|
1334
|
-
return e.next.i !== t.i && e.prev.i !== t.i && !
|
|
1337
|
+
}, gn = function(e, t) {
|
|
1338
|
+
return e.next.i !== t.i && e.prev.i !== t.i && !Rn(e, t) && (_e(e, t) && _e(t, e) && Sn(e, t) && (N(e.prev, e, t.prev) !== 0 || N(e, t.prev, t) !== 0) || Oe(e, t) && N(e.prev, e, e.next) > 0 && N(t.prev, t, t.next) > 0);
|
|
1335
1339
|
}, N = function(e, t, n) {
|
|
1336
1340
|
return (t.y - e.y) * (n.x - t.x) - (t.x - e.x) * (n.y - t.y);
|
|
1337
1341
|
}, Oe = function(e, t) {
|
|
1338
1342
|
return e.x === t.x && e.y === t.y;
|
|
1339
|
-
},
|
|
1340
|
-
const r =
|
|
1341
|
-
return !!(r !== s && o !== a || r === 0 &&
|
|
1342
|
-
},
|
|
1343
|
+
}, lt = function(e, t, n, i) {
|
|
1344
|
+
const r = Ae(N(e, t, n)), s = Ae(N(e, t, i)), o = Ae(N(n, i, e)), a = Ae(N(n, i, t));
|
|
1345
|
+
return !!(r !== s && o !== a || r === 0 && be(e, n, t) || s === 0 && be(e, i, t) || o === 0 && be(n, e, i) || a === 0 && be(n, t, i));
|
|
1346
|
+
}, Ae = function(e) {
|
|
1343
1347
|
return e > 0 ? 1 : e < 0 ? -1 : 0;
|
|
1344
|
-
},
|
|
1348
|
+
}, be = function(e, t, n) {
|
|
1345
1349
|
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);
|
|
1346
|
-
},
|
|
1350
|
+
}, Rn = function(e, t) {
|
|
1347
1351
|
let n = e;
|
|
1348
1352
|
do {
|
|
1349
|
-
if (n.i !== e.i && n.next?.i !== e.i && n.i !== t.i && n.next?.i !== t.i &&
|
|
1353
|
+
if (n.i !== e.i && n.next?.i !== e.i && n.i !== t.i && n.next?.i !== t.i && lt(n, n.next, e, t))
|
|
1350
1354
|
return !0;
|
|
1351
1355
|
n = n.next;
|
|
1352
1356
|
} while (n !== e);
|
|
1353
1357
|
return !1;
|
|
1354
|
-
},
|
|
1358
|
+
}, _e = function(e, t) {
|
|
1355
1359
|
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;
|
|
1356
|
-
},
|
|
1360
|
+
}, Sn = function(e, t) {
|
|
1357
1361
|
const n = (e.x + t.x) / 2, i = (e.y + t.y) / 2;
|
|
1358
1362
|
let r = e, s = !1;
|
|
1359
1363
|
do
|
|
1360
1364
|
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;
|
|
1361
1365
|
while (r !== e);
|
|
1362
1366
|
return s;
|
|
1363
|
-
},
|
|
1367
|
+
}, ht = function(e, t) {
|
|
1364
1368
|
const n = new Ne(e.i, e.x, e.y), i = new Ne(t.i, t.x, t.y), r = e.next, s = t.prev;
|
|
1365
1369
|
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;
|
|
1366
|
-
},
|
|
1370
|
+
}, Ee = function(e) {
|
|
1367
1371
|
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);
|
|
1368
|
-
},
|
|
1372
|
+
}, An = function(e, t, n, i) {
|
|
1369
1373
|
let r = 0;
|
|
1370
1374
|
for (let s = t, o = n - i; s < n; s += i)
|
|
1371
1375
|
r += (e[o] - e[s]) * (e[s + 1] + e[o + 1]), o = s;
|
|
@@ -1385,68 +1389,68 @@ class Ne {
|
|
|
1385
1389
|
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);
|
|
1386
1390
|
}
|
|
1387
1391
|
}
|
|
1388
|
-
function
|
|
1392
|
+
function bn(e, t = [], n = 2) {
|
|
1389
1393
|
const i = t.length > 0, r = i ? t[0] * n : e.length;
|
|
1390
|
-
let s =
|
|
1394
|
+
let s = ft(e, 0, r, n, !0);
|
|
1391
1395
|
const o = [];
|
|
1392
1396
|
if (s === null || s.next === s.prev)
|
|
1393
1397
|
return o;
|
|
1394
1398
|
let a = 1 / 0, c = 1 / 0, f = -1 / 0, d = -1 / 0, u = 0, l, h;
|
|
1395
|
-
if (i && (s =
|
|
1399
|
+
if (i && (s = vn(e, t, s, n)), e.length > 80 * n) {
|
|
1396
1400
|
a = f = e[0], c = d = e[1];
|
|
1397
1401
|
for (let p = n; p < r; p += n)
|
|
1398
1402
|
l = e[p], h = e[p + 1], l < a && (a = l), h < c && (c = h), l > f && (f = l), h > d && (d = h);
|
|
1399
1403
|
u = Math.max(f - a, d - c), u = u !== 0 ? 1 / u : 0;
|
|
1400
1404
|
}
|
|
1401
|
-
return
|
|
1405
|
+
return xe(s, o, n, a, c, u, 0), o;
|
|
1402
1406
|
}
|
|
1403
|
-
function
|
|
1404
|
-
const { vertices: i, holeIndices: r, dim: s } =
|
|
1405
|
-
return t !== 1 / 0 &&
|
|
1407
|
+
function Mn(e, t = 1 / 0, n = 0) {
|
|
1408
|
+
const { vertices: i, holeIndices: r, dim: s } = Pn(e), o = bn(i, r, s);
|
|
1409
|
+
return t !== 1 / 0 && zn(i, o, t, s), { vertices: i, indices: o.map((a) => a + n) };
|
|
1406
1410
|
}
|
|
1407
|
-
function
|
|
1411
|
+
function zn(e, t, n, i) {
|
|
1408
1412
|
let r, s, o;
|
|
1409
1413
|
for (let a = 0; a < i; a++)
|
|
1410
1414
|
for (let c = 0; c < t.length; c += 3) {
|
|
1411
1415
|
r = t[c], s = t[c + 1], o = t[c + 2];
|
|
1412
|
-
const f =
|
|
1416
|
+
const f = Un(r, s, o, e, t, i, a, n);
|
|
1413
1417
|
f !== void 0 && (t[c] = f[0], t[c + 1] = f[1], t[c + 2] = f[2], c -= 3);
|
|
1414
1418
|
}
|
|
1415
1419
|
}
|
|
1416
|
-
var
|
|
1420
|
+
var Un = function(e, t, n, i, r, s, o, a) {
|
|
1417
1421
|
const c = i[e * s + o], f = i[t * s + o], d = i[n * s + o];
|
|
1418
1422
|
if (c < f && c < d) {
|
|
1419
1423
|
const u = c + a - re(c, a);
|
|
1420
1424
|
if (u > c && u <= f && u <= d && (f !== u || f !== u))
|
|
1421
|
-
return
|
|
1425
|
+
return Be(u, e, t, n, c, f, d, i, r, s, o, a);
|
|
1422
1426
|
} else if (c > f && c > d) {
|
|
1423
1427
|
let u = re(c, a);
|
|
1424
1428
|
u === 0 && (u = a);
|
|
1425
1429
|
const l = c - u;
|
|
1426
1430
|
if (l < c && l >= f && l >= d && (f !== l || f !== l))
|
|
1427
|
-
return
|
|
1431
|
+
return Ve(l, e, t, n, c, f, d, i, r, s, o, a);
|
|
1428
1432
|
}
|
|
1429
1433
|
if (f < c && f < d) {
|
|
1430
1434
|
const u = f + a - re(f, a);
|
|
1431
1435
|
if (u > f && u <= d && u <= c && (c !== u || d !== u))
|
|
1432
|
-
return
|
|
1436
|
+
return Be(u, t, n, e, f, d, c, i, r, s, o, a);
|
|
1433
1437
|
} else if (f > c && f > d) {
|
|
1434
1438
|
let u = re(f, a);
|
|
1435
1439
|
u === 0 && (u = a);
|
|
1436
1440
|
const l = f - u;
|
|
1437
1441
|
if (l < f && l >= d && l >= c && (c !== l || d !== l))
|
|
1438
|
-
return
|
|
1442
|
+
return Ve(l, t, n, e, f, d, c, i, r, s, o, a);
|
|
1439
1443
|
}
|
|
1440
1444
|
if (d < c && d < f) {
|
|
1441
1445
|
const u = d + a - re(d, a);
|
|
1442
1446
|
if (u > d && u <= c && u <= f && (c !== u || f !== u))
|
|
1443
|
-
return
|
|
1447
|
+
return Be(u, n, e, t, d, c, f, i, r, s, o, a);
|
|
1444
1448
|
} else if (d > c && d > f) {
|
|
1445
1449
|
let u = re(d, a);
|
|
1446
1450
|
u === 0 && (u = a);
|
|
1447
1451
|
const l = d - u;
|
|
1448
1452
|
if (l < d && l >= c && l >= f && (c !== l || f !== l))
|
|
1449
|
-
return
|
|
1453
|
+
return Ve(l, n, e, t, d, c, f, i, r, s, o, a);
|
|
1450
1454
|
}
|
|
1451
1455
|
}, Z = function(e, t, n, i, r, s, o, a) {
|
|
1452
1456
|
const c = s.length / o, f = (r - i) / (e - i);
|
|
@@ -1454,7 +1458,7 @@ var Mn = function(e, t, n, i, r, s, o, a) {
|
|
|
1454
1458
|
for (let l = 0; l < o; l++)
|
|
1455
1459
|
d = s[t * o + l], u = s[n * o + l], l !== a ? s.push(d + (u - d) / f) : s.push(e);
|
|
1456
1460
|
return c;
|
|
1457
|
-
},
|
|
1461
|
+
}, Be = function(e, t, n, i, r, s, o, a, c, f, d, u) {
|
|
1458
1462
|
let l = Z(e, t, n, r, s, a, f, d), h = Z(e, t, i, r, o, a, f, d);
|
|
1459
1463
|
if (c.push(t, l, h), e += u, s < o) {
|
|
1460
1464
|
for (; e < s; )
|
|
@@ -1465,7 +1469,7 @@ var Mn = function(e, t, n, i, r, s, o, a) {
|
|
|
1465
1469
|
c.push(h, l), h = Z(e, t, i, r, o, a, f, d), c.push(h, h, l), l = Z(e, t, n, r, s, a, f, d), c.push(l), e += u;
|
|
1466
1470
|
return c.push(h, l, i), [i, l, n];
|
|
1467
1471
|
}
|
|
1468
|
-
},
|
|
1472
|
+
}, Ve = function(e, t, n, i, r, s, o, a, c, f, d, u) {
|
|
1469
1473
|
let l = Z(e, t, n, r, s, a, f, d), h = Z(e, t, i, r, o, a, f, d);
|
|
1470
1474
|
if (c.push(t, l, h), e -= u, s > o) {
|
|
1471
1475
|
for (; e > s; )
|
|
@@ -1479,7 +1483,7 @@ var Mn = function(e, t, n, i, r, s, o, a) {
|
|
|
1479
1483
|
}, re = function(e, t) {
|
|
1480
1484
|
return (e % t + t) % t;
|
|
1481
1485
|
};
|
|
1482
|
-
function
|
|
1486
|
+
function Pn(e) {
|
|
1483
1487
|
let t = 0;
|
|
1484
1488
|
const n = e[0][0].length, i = [], r = [];
|
|
1485
1489
|
for (let s = 0, o = e.length; s < o; s++) {
|
|
@@ -1490,7 +1494,7 @@ function zn(e) {
|
|
|
1490
1494
|
}
|
|
1491
1495
|
return { vertices: i, holeIndices: r, dim: n };
|
|
1492
1496
|
}
|
|
1493
|
-
var
|
|
1497
|
+
var Nn = `#version 300 es
|
|
1494
1498
|
|
|
1495
1499
|
precision highp float;
|
|
1496
1500
|
|
|
@@ -1499,7 +1503,7 @@ out vec4 result;
|
|
|
1499
1503
|
|
|
1500
1504
|
void main() {
|
|
1501
1505
|
result = color_out;
|
|
1502
|
-
}`,
|
|
1506
|
+
}`, Ln = `#version 300 es
|
|
1503
1507
|
|
|
1504
1508
|
precision highp float;
|
|
1505
1509
|
|
|
@@ -1523,7 +1527,7 @@ void main(void) {
|
|
|
1523
1527
|
gl_Position = transform(position);
|
|
1524
1528
|
color_out = color;
|
|
1525
1529
|
}`;
|
|
1526
|
-
const
|
|
1530
|
+
const ti = (e, t = {}) => {
|
|
1527
1531
|
const { gl: n } = e;
|
|
1528
1532
|
let { options: i, points: r, color: s } = {
|
|
1529
1533
|
options: {},
|
|
@@ -1531,7 +1535,7 @@ const Jn = (e, t = {}) => {
|
|
|
1531
1535
|
color: [1, 1, 1, 1],
|
|
1532
1536
|
...t
|
|
1533
1537
|
}, o = 0;
|
|
1534
|
-
const a = Y({ gl: n, type: "i32", target: "array" }), c = Y({ gl: n, type: "u16", target: "element" }), { renderProgram: f, depthProgram: d } =
|
|
1538
|
+
const a = Y({ gl: n, type: "i32", target: "array" }), c = Y({ gl: n, type: "u16", target: "element" }), { renderProgram: f, depthProgram: d } = In(n, {
|
|
1535
1539
|
positionBuffer: a,
|
|
1536
1540
|
indexBuffer: c
|
|
1537
1541
|
}), u = ({
|
|
@@ -1539,7 +1543,7 @@ const Jn = (e, t = {}) => {
|
|
|
1539
1543
|
depth: v = !1,
|
|
1540
1544
|
index: _ = 0
|
|
1541
1545
|
}) => {
|
|
1542
|
-
if (
|
|
1546
|
+
if (Te(n, v, i))
|
|
1543
1547
|
return;
|
|
1544
1548
|
(v ? d : f).execute({
|
|
1545
1549
|
projection: E,
|
|
@@ -1552,7 +1556,7 @@ const Jn = (e, t = {}) => {
|
|
|
1552
1556
|
});
|
|
1553
1557
|
}, l = (E) => {
|
|
1554
1558
|
r = E;
|
|
1555
|
-
const { vertices: g, indices: w } =
|
|
1559
|
+
const { vertices: g, indices: w } = Mn(
|
|
1556
1560
|
E.map((R) => R.map((v) => [...G(C(v))]))
|
|
1557
1561
|
);
|
|
1558
1562
|
a.set(g), c.set(w), o = w.length;
|
|
@@ -1583,15 +1587,15 @@ const Jn = (e, t = {}) => {
|
|
|
1583
1587
|
}
|
|
1584
1588
|
};
|
|
1585
1589
|
return e.add(p), p;
|
|
1586
|
-
},
|
|
1590
|
+
}, In = (e, {
|
|
1587
1591
|
positionBuffer: t,
|
|
1588
1592
|
indexBuffer: n
|
|
1589
1593
|
}) => {
|
|
1590
1594
|
const i = (o = !1) => {
|
|
1591
|
-
const a =
|
|
1595
|
+
const a = we({
|
|
1592
1596
|
gl: e,
|
|
1593
|
-
vertexSource:
|
|
1594
|
-
fragmentSource: o ?
|
|
1597
|
+
vertexSource: Ln,
|
|
1598
|
+
fragmentSource: o ? ge : Nn
|
|
1595
1599
|
}), c = a.attribute3i("position", t, {
|
|
1596
1600
|
stride: 3 * Int32Array.BYTES_PER_ELEMENT
|
|
1597
1601
|
}), f = a.uniformMatrix4f("projection"), d = a.uniformMatrix4f("model_view"), u = a.uniform3i("camera"), l = a.uniform2f("screen"), h = a.uniform4f("color"), p = a.uniform1i("index"), E = ({
|
|
@@ -1608,7 +1612,7 @@ const Jn = (e, t = {}) => {
|
|
|
1608
1612
|
return { execute: E, dispose: g };
|
|
1609
1613
|
}, r = i(), s = i(!0);
|
|
1610
1614
|
return { renderProgram: r, depthProgram: s };
|
|
1611
|
-
},
|
|
1615
|
+
}, Ye = (e, t = 0) => ({
|
|
1612
1616
|
get: ([n = 0, i = 0, r = 0]) => {
|
|
1613
1617
|
for (let s = Math.min(r, t); s <= r; s++) {
|
|
1614
1618
|
const o = 2 ** s, a = [
|
|
@@ -1620,12 +1624,12 @@ const Jn = (e, t = {}) => {
|
|
|
1620
1624
|
return { texture: c, downsample: s };
|
|
1621
1625
|
}
|
|
1622
1626
|
}
|
|
1623
|
-
}), se = typeof performance == "object" && performance && typeof performance.now == "function" ? performance : Date,
|
|
1624
|
-
typeof
|
|
1627
|
+
}), se = typeof performance == "object" && performance && typeof performance.now == "function" ? performance : Date, ut = /* @__PURE__ */ new Set(), $e = typeof process == "object" && process ? process : {}, dt = (e, t, n, i) => {
|
|
1628
|
+
typeof $e.emitWarning == "function" ? $e.emitWarning(e, t, n, i) : console.error(`[${n}] ${t}: ${e}`);
|
|
1625
1629
|
};
|
|
1626
|
-
let Le = globalThis.AbortController,
|
|
1630
|
+
let Le = globalThis.AbortController, tt = globalThis.AbortSignal;
|
|
1627
1631
|
if (typeof Le > "u") {
|
|
1628
|
-
|
|
1632
|
+
tt = class {
|
|
1629
1633
|
onabort;
|
|
1630
1634
|
_onabort = [];
|
|
1631
1635
|
reason;
|
|
@@ -1637,7 +1641,7 @@ if (typeof Le > "u") {
|
|
|
1637
1641
|
constructor() {
|
|
1638
1642
|
t();
|
|
1639
1643
|
}
|
|
1640
|
-
signal = new
|
|
1644
|
+
signal = new tt();
|
|
1641
1645
|
abort(i) {
|
|
1642
1646
|
if (!this.signal.aborted) {
|
|
1643
1647
|
this.signal.reason = i, this.signal.aborted = !0;
|
|
@@ -1647,32 +1651,32 @@ if (typeof Le > "u") {
|
|
|
1647
1651
|
}
|
|
1648
1652
|
}
|
|
1649
1653
|
};
|
|
1650
|
-
let e =
|
|
1654
|
+
let e = $e.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
|
|
1651
1655
|
const t = () => {
|
|
1652
|
-
e && (e = !1,
|
|
1656
|
+
e && (e = !1, dt("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));
|
|
1653
1657
|
};
|
|
1654
1658
|
}
|
|
1655
|
-
const
|
|
1656
|
-
class
|
|
1659
|
+
const On = (e) => !ut.has(e), Q = (e) => e && e === Math.floor(e) && e > 0 && isFinite(e), mt = (e) => Q(e) ? e <= Math.pow(2, 8) ? Uint8Array : e <= Math.pow(2, 16) ? Uint16Array : e <= Math.pow(2, 32) ? Uint32Array : e <= Number.MAX_SAFE_INTEGER ? Ue : null : null;
|
|
1660
|
+
class Ue extends Array {
|
|
1657
1661
|
constructor(t) {
|
|
1658
1662
|
super(t), this.fill(0);
|
|
1659
1663
|
}
|
|
1660
1664
|
}
|
|
1661
|
-
class
|
|
1665
|
+
class fe {
|
|
1662
1666
|
heap;
|
|
1663
1667
|
length;
|
|
1664
1668
|
// private constructor
|
|
1665
1669
|
static #c = !1;
|
|
1666
1670
|
static create(t) {
|
|
1667
|
-
const n =
|
|
1671
|
+
const n = mt(t);
|
|
1668
1672
|
if (!n)
|
|
1669
1673
|
return [];
|
|
1670
|
-
|
|
1671
|
-
const i = new
|
|
1672
|
-
return
|
|
1674
|
+
fe.#c = !0;
|
|
1675
|
+
const i = new fe(t, n);
|
|
1676
|
+
return fe.#c = !1, i;
|
|
1673
1677
|
}
|
|
1674
1678
|
constructor(t, n) {
|
|
1675
|
-
if (!
|
|
1679
|
+
if (!fe.#c)
|
|
1676
1680
|
throw new TypeError("instantiate Stack using Stack.create(n)");
|
|
1677
1681
|
this.heap = new n(t), this.length = 0;
|
|
1678
1682
|
}
|
|
@@ -1683,7 +1687,7 @@ class ce {
|
|
|
1683
1687
|
return this.heap[--this.length];
|
|
1684
1688
|
}
|
|
1685
1689
|
}
|
|
1686
|
-
class
|
|
1690
|
+
class ke {
|
|
1687
1691
|
// properties coming in from the options of these, only max and maxSize
|
|
1688
1692
|
// really *need* to be protected. The rest can be modified, as they just
|
|
1689
1693
|
// set defaults for various methods.
|
|
@@ -1853,7 +1857,7 @@ class $e {
|
|
|
1853
1857
|
const { max: n = 0, ttl: i, ttlResolution: r = 1, ttlAutopurge: s, updateAgeOnGet: o, updateAgeOnHas: a, allowStale: c, dispose: f, disposeAfter: d, noDisposeOnSet: u, noUpdateTTL: l, maxSize: h = 0, maxEntrySize: p = 0, sizeCalculation: E, fetchMethod: g, noDeleteOnFetchRejection: w, noDeleteOnStaleGet: R, allowStaleOnFetchRejection: v, allowStaleOnFetchAbort: _, ignoreFetchAbort: x } = t;
|
|
1854
1858
|
if (n !== 0 && !Q(n))
|
|
1855
1859
|
throw new TypeError("max option must be a nonnegative integer");
|
|
1856
|
-
const m = n ?
|
|
1860
|
+
const m = n ? mt(n) : Array;
|
|
1857
1861
|
if (!m)
|
|
1858
1862
|
throw new Error("invalid max value: " + n);
|
|
1859
1863
|
if (this.#c = n, this.#h = h, this.maxEntrySize = p || this.#h, this.sizeCalculation = E, this.sizeCalculation) {
|
|
@@ -1864,7 +1868,7 @@ class $e {
|
|
|
1864
1868
|
}
|
|
1865
1869
|
if (g !== void 0 && typeof g != "function")
|
|
1866
1870
|
throw new TypeError("fetchMethod must be a function if specified");
|
|
1867
|
-
if (this.#z = g, this.#S = !!g, this.#i = /* @__PURE__ */ new Map(), this.#n = new Array(n).fill(void 0), this.#e = new Array(n).fill(void 0), this.#f = new m(n), this.#u = new m(n), this.#a = 0, this.#s = 0, this.#_ =
|
|
1871
|
+
if (this.#z = g, this.#S = !!g, this.#i = /* @__PURE__ */ new Map(), this.#n = new Array(n).fill(void 0), this.#e = new Array(n).fill(void 0), this.#f = new m(n), this.#u = new m(n), this.#a = 0, this.#s = 0, this.#_ = fe.create(n), this.#r = 0, this.#x = 0, typeof f == "function" && (this.#p = f), typeof d == "function" ? (this.#v = d, this.#o = []) : (this.#v = void 0, this.#o = void 0), this.#w = !!this.#p, this.#l = !!this.#v, this.noDisposeOnSet = !!u, this.noUpdateTTL = !!l, this.noDeleteOnFetchRejection = !!w, this.allowStaleOnFetchRejection = !!v, this.allowStaleOnFetchAbort = !!_, this.ignoreFetchAbort = !!x, this.maxEntrySize !== 0) {
|
|
1868
1872
|
if (this.#h !== 0 && !Q(this.#h))
|
|
1869
1873
|
throw new TypeError("maxSize must be a positive integer if specified");
|
|
1870
1874
|
if (!Q(this.maxEntrySize))
|
|
@@ -1880,7 +1884,7 @@ class $e {
|
|
|
1880
1884
|
throw new TypeError("At least one of max, maxSize, or ttl is required");
|
|
1881
1885
|
if (!this.ttlAutopurge && !this.#c && !this.#h) {
|
|
1882
1886
|
const y = "LRU_CACHE_UNBOUNDED";
|
|
1883
|
-
|
|
1887
|
+
On(y) && (ut.add(y), dt("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.", "UnboundedCacheWarning", y, ke));
|
|
1884
1888
|
}
|
|
1885
1889
|
}
|
|
1886
1890
|
/**
|
|
@@ -1890,7 +1894,7 @@ class $e {
|
|
|
1890
1894
|
return this.#i.has(t) ? 1 / 0 : 0;
|
|
1891
1895
|
}
|
|
1892
1896
|
#L() {
|
|
1893
|
-
const t = new
|
|
1897
|
+
const t = new Ue(this.#c), n = new Ue(this.#c);
|
|
1894
1898
|
this.#d = t, this.#y = n, this.#I = (s, o, a = se.now()) => {
|
|
1895
1899
|
if (n[s] = o !== 0 ? a : 0, t[s] = o, o !== 0 && this.ttlAutopurge) {
|
|
1896
1900
|
const c = setTimeout(() => {
|
|
@@ -1944,7 +1948,7 @@ class $e {
|
|
|
1944
1948
|
/* c8 ignore stop */
|
|
1945
1949
|
#m = () => !1;
|
|
1946
1950
|
#W() {
|
|
1947
|
-
const t = new
|
|
1951
|
+
const t = new Ue(this.#c);
|
|
1948
1952
|
this.#x = 0, this.#E = t, this.#b = (n) => {
|
|
1949
1953
|
this.#x -= t[n], t[n] = 0;
|
|
1950
1954
|
}, this.#O = (n, i, r, s) => {
|
|
@@ -2451,7 +2455,7 @@ class $e {
|
|
|
2451
2455
|
}
|
|
2452
2456
|
}
|
|
2453
2457
|
const Ie = (e) => {
|
|
2454
|
-
const t = new
|
|
2458
|
+
const t = new ke({
|
|
2455
2459
|
...e,
|
|
2456
2460
|
ttlResolution: 0,
|
|
2457
2461
|
dispose: (r, s) => e.dispose?.(r, i(s))
|
|
@@ -2468,13 +2472,13 @@ const Ie = (e) => {
|
|
|
2468
2472
|
clear: () => t.clear(),
|
|
2469
2473
|
purgeStale: () => t.purgeStale()
|
|
2470
2474
|
};
|
|
2471
|
-
},
|
|
2475
|
+
}, Dn = 15, J = 256, Cn = ({
|
|
2472
2476
|
gl: e,
|
|
2473
2477
|
terrainCache: t
|
|
2474
2478
|
}) => {
|
|
2475
2479
|
const n = Ie({
|
|
2476
2480
|
max: 1e3
|
|
2477
|
-
}), i =
|
|
2481
|
+
}), i = Ye(t), r = e.createFramebuffer();
|
|
2478
2482
|
if (!r)
|
|
2479
2483
|
throw new Error("Framebuffer creation failed");
|
|
2480
2484
|
const s = ([c = 0, f = 0, d = 0]) => {
|
|
@@ -2487,7 +2491,7 @@ const Ie = (e) => {
|
|
|
2487
2491
|
const w = new Uint8Array(4 * J * J);
|
|
2488
2492
|
return e.bindFramebuffer(e.FRAMEBUFFER, r), l.attach(), e.readPixels(0, 0, J, J, e.RGBA, e.UNSIGNED_BYTE, w), e.bindFramebuffer(e.FRAMEBUFFER, null), n.set(E, w), { buffer: w, downsample: h };
|
|
2489
2493
|
};
|
|
2490
|
-
return { get: ([c = 0, f = 0], d =
|
|
2494
|
+
return { get: ([c = 0, f = 0], d = Dn) => {
|
|
2491
2495
|
const u = 2 ** d, l = C([c, f, 0]).map((A) => A * u), [h = 0, p = 0] = l.map((A) => Math.floor(A % u));
|
|
2492
2496
|
let [E = 0, g = 0] = l.map((A) => A % 1);
|
|
2493
2497
|
const w = s([h, p, d]);
|
|
@@ -2501,7 +2505,7 @@ const Ie = (e) => {
|
|
|
2501
2505
|
e.deleteFramebuffer(r);
|
|
2502
2506
|
} };
|
|
2503
2507
|
};
|
|
2504
|
-
var
|
|
2508
|
+
var Wn = `#version 300 es
|
|
2505
2509
|
|
|
2506
2510
|
precision highp float;
|
|
2507
2511
|
|
|
@@ -2513,7 +2517,7 @@ out vec4 result;
|
|
|
2513
2517
|
void main(void) {
|
|
2514
2518
|
result = texture(imagery, uv) * color_out;
|
|
2515
2519
|
}`;
|
|
2516
|
-
const
|
|
2520
|
+
const nt = ({
|
|
2517
2521
|
gl: e,
|
|
2518
2522
|
urlPattern: t,
|
|
2519
2523
|
onLoad: n
|
|
@@ -2535,7 +2539,7 @@ const et = ({
|
|
|
2535
2539
|
return r.delete(c), f;
|
|
2536
2540
|
r.set(c, !0);
|
|
2537
2541
|
} else {
|
|
2538
|
-
const [d, u, l] = c, h = t.replace("{x}", `${d}`).replace("{y}", `${u}`).replace("{z}", `${l}`), p =
|
|
2542
|
+
const [d, u, l] = c, h = t.replace("{x}", `${d}`).replace("{y}", `${u}`).replace("{z}", `${l}`), p = ct({
|
|
2539
2543
|
gl: e,
|
|
2540
2544
|
url: h,
|
|
2541
2545
|
onLoad: () => {
|
|
@@ -2548,7 +2552,7 @@ const et = ({
|
|
|
2548
2552
|
return { get: s, dispose: () => {
|
|
2549
2553
|
clearInterval(o), i.clear();
|
|
2550
2554
|
} };
|
|
2551
|
-
},
|
|
2555
|
+
}, Xn = (e) => {
|
|
2552
2556
|
const t = Ie({
|
|
2553
2557
|
max: 1e4,
|
|
2554
2558
|
ttl: 1e3
|
|
@@ -2562,17 +2566,17 @@ const et = ({
|
|
|
2562
2566
|
const s = t.get(r);
|
|
2563
2567
|
if (s)
|
|
2564
2568
|
return s;
|
|
2565
|
-
const [o = 0, a = 0, c = 0] = r, f = n.map(([d = 0, u = 0]) => [o + d, a + u, c]).map((d) =>
|
|
2569
|
+
const [o = 0, a = 0, c = 0] = r, f = n.map(([d = 0, u = 0]) => [o + d, a + u, c]).map((d) => Qt(d, d)).map((d) => ve(d, d)).map((d) => {
|
|
2566
2570
|
const [u = 0, l = 0] = d, h = Math.max(c - 5, 0);
|
|
2567
2571
|
return C(
|
|
2568
|
-
|
|
2572
|
+
ye(d, u, l, e.get([u, l], h)),
|
|
2569
2573
|
d
|
|
2570
2574
|
);
|
|
2571
2575
|
});
|
|
2572
2576
|
return t.set(r, f), f;
|
|
2573
2577
|
} };
|
|
2574
2578
|
};
|
|
2575
|
-
var
|
|
2579
|
+
var jn = `#version 300 es
|
|
2576
2580
|
|
|
2577
2581
|
precision highp float;
|
|
2578
2582
|
|
|
@@ -2609,7 +2613,7 @@ void main(void) {
|
|
|
2609
2613
|
uv = downsample(downsample_imagery);
|
|
2610
2614
|
color_out = color;
|
|
2611
2615
|
}`;
|
|
2612
|
-
const W = 34,
|
|
2616
|
+
const W = 34, Bn = 22, Vn = te(0, W).flatMap(
|
|
2613
2617
|
(e) => te(0, W).flatMap((t) => [
|
|
2614
2618
|
e * (W + 1) + t,
|
|
2615
2619
|
e * (W + 1) + t + 1,
|
|
@@ -2618,12 +2622,12 @@ const W = 34, Xn = 22, jn = te(0, W).flatMap(
|
|
|
2618
2622
|
(e + 1) * (W + 1) + t + 1,
|
|
2619
2623
|
(e + 1) * (W + 1) + t
|
|
2620
2624
|
])
|
|
2621
|
-
),
|
|
2625
|
+
), Me = 0.1, Zn = te(0, W + 1).flatMap(
|
|
2622
2626
|
(e) => te(0, W + 1).map((t) => {
|
|
2623
2627
|
let n = (t - 1) / (W - 2), i = (e - 1) / (W - 2), r = 0;
|
|
2624
|
-
return t === 0 && (n = 0, r = -
|
|
2628
|
+
return t === 0 && (n = 0, r = -Me), t === W && (n = 1, r = -Me), e === 0 && (i = 0, r = -Me), e === W && (i = 1, r = -Me), [n, i, r];
|
|
2625
2629
|
})
|
|
2626
|
-
),
|
|
2630
|
+
), ri = (e, t = {}) => {
|
|
2627
2631
|
const { gl: n } = e;
|
|
2628
2632
|
let { options: i, terrainUrl: r, color: s } = {
|
|
2629
2633
|
options: {},
|
|
@@ -2635,7 +2639,7 @@ const W = 34, Xn = 22, jn = te(0, W).flatMap(
|
|
|
2635
2639
|
const { imageryUrl: o = "" } = t;
|
|
2636
2640
|
let a, c;
|
|
2637
2641
|
const f = (T) => {
|
|
2638
|
-
a?.dispose(), a =
|
|
2642
|
+
a?.dispose(), a = nt({
|
|
2639
2643
|
gl: n,
|
|
2640
2644
|
urlPattern: T,
|
|
2641
2645
|
onLoad: () => {
|
|
@@ -2654,31 +2658,31 @@ const W = 34, Xn = 22, jn = te(0, W).flatMap(
|
|
|
2654
2658
|
n.LINEAR_MIPMAP_LINEAR
|
|
2655
2659
|
), 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);
|
|
2656
2660
|
}
|
|
2657
|
-
}), c =
|
|
2661
|
+
}), c = Ye(a);
|
|
2658
2662
|
};
|
|
2659
2663
|
f(o);
|
|
2660
|
-
const d =
|
|
2664
|
+
const d = nt({
|
|
2661
2665
|
gl: n,
|
|
2662
2666
|
urlPattern: r,
|
|
2663
2667
|
onLoad: () => {
|
|
2664
2668
|
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);
|
|
2665
2669
|
}
|
|
2666
|
-
}), u =
|
|
2670
|
+
}), u = Ye(d, 3), l = Cn({ gl: n, terrainCache: d }), h = Xn(l), { renderProgram: p, depthProgram: E } = Yn(n), g = [0, 1, 2, 3], w = g.map(P), R = g.map(q), v = g.map(pe), _ = (T) => {
|
|
2667
2671
|
const { camera: S, worldToLocal: A, localToClip: M, clipToScreen: z } = T, U = (b) => {
|
|
2668
|
-
const [
|
|
2669
|
-
let V =
|
|
2672
|
+
const [L = 0, O = 0, D = 0] = b, X = h.get(b);
|
|
2673
|
+
let V = $n(S, X);
|
|
2670
2674
|
if (!V) {
|
|
2671
|
-
const $ = X.map((F,
|
|
2672
|
-
if (
|
|
2675
|
+
const $ = X.map((F, I) => A(F, w[I])).map((F, I) => M(F, R[I]));
|
|
2676
|
+
if (Hn($))
|
|
2673
2677
|
return [];
|
|
2674
|
-
V =
|
|
2678
|
+
V = kn($.map((F, I) => z(F, v[I]))) > 512 / devicePixelRatio;
|
|
2675
2679
|
}
|
|
2676
|
-
return V && D <
|
|
2677
|
-
[2 *
|
|
2678
|
-
[2 *
|
|
2679
|
-
[2 *
|
|
2680
|
-
[2 *
|
|
2681
|
-
].flatMap((
|
|
2680
|
+
return V && D < Bn ? [
|
|
2681
|
+
[2 * L, 2 * O, D + 1],
|
|
2682
|
+
[2 * L + 1, 2 * O, D + 1],
|
|
2683
|
+
[2 * L, 2 * O + 1, D + 1],
|
|
2684
|
+
[2 * L + 1, 2 * O + 1, D + 1]
|
|
2685
|
+
].flatMap((le) => U(le)) : [b];
|
|
2682
2686
|
};
|
|
2683
2687
|
return U([0, 0, 0]);
|
|
2684
2688
|
}, y = {
|
|
@@ -2687,20 +2691,20 @@ const W = 34, Xn = 22, jn = te(0, W).flatMap(
|
|
|
2687
2691
|
depth: S = !1,
|
|
2688
2692
|
index: A = 0
|
|
2689
2693
|
}) => {
|
|
2690
|
-
if (
|
|
2694
|
+
if (Te(n, S, i))
|
|
2691
2695
|
return;
|
|
2692
|
-
const M = S ? E : p, { projection: z, modelView: U, camera: b } = T,
|
|
2693
|
-
for (const
|
|
2694
|
-
const D = S ? void 0 : c?.get(
|
|
2696
|
+
const M = S ? E : p, { projection: z, modelView: U, camera: b } = T, L = _(T);
|
|
2697
|
+
for (const O of L) {
|
|
2698
|
+
const D = S ? void 0 : c?.get(O), X = u.get(O);
|
|
2695
2699
|
if (!S && !D || !X)
|
|
2696
2700
|
continue;
|
|
2697
|
-
const { texture: V, downsample: $ } = X, { texture:
|
|
2701
|
+
const { texture: V, downsample: $ } = X, { texture: le = V, downsample: F = 0 } = D ?? {};
|
|
2698
2702
|
M.execute({
|
|
2699
2703
|
projection: z,
|
|
2700
2704
|
modelView: U,
|
|
2701
2705
|
camera: G(b),
|
|
2702
|
-
xyz:
|
|
2703
|
-
imagery:
|
|
2706
|
+
xyz: O,
|
|
2707
|
+
imagery: le,
|
|
2704
2708
|
terrain: V,
|
|
2705
2709
|
downsampleImagery: F,
|
|
2706
2710
|
downsampleTerrain: $,
|
|
@@ -2738,16 +2742,16 @@ const W = 34, Xn = 22, jn = te(0, W).flatMap(
|
|
|
2738
2742
|
}
|
|
2739
2743
|
};
|
|
2740
2744
|
return e.add(y), y;
|
|
2741
|
-
},
|
|
2745
|
+
}, Yn = (e) => {
|
|
2742
2746
|
const t = (r = !1) => {
|
|
2743
|
-
const s =
|
|
2747
|
+
const s = we({
|
|
2744
2748
|
gl: e,
|
|
2745
|
-
vertexSource:
|
|
2746
|
-
fragmentSource: r ?
|
|
2749
|
+
vertexSource: jn,
|
|
2750
|
+
fragmentSource: r ? ge : Wn
|
|
2747
2751
|
}), o = Y({ gl: e, type: "f32", target: "array" });
|
|
2748
|
-
o.set(
|
|
2752
|
+
o.set(Zn.flatMap(([x = 0, m = 0, y = 0]) => [x, m, y]));
|
|
2749
2753
|
const a = Y({ gl: e, type: "u16", target: "element" });
|
|
2750
|
-
a.set(
|
|
2754
|
+
a.set(Vn);
|
|
2751
2755
|
const c = s.attribute3f("uvw", o), f = s.uniformMatrix4f("projection"), d = s.uniformMatrix4f("model_view"), u = s.uniform1i("imagery"), l = s.uniform1i("terrain"), h = s.uniform1i("downsample_imagery"), p = s.uniform1i("downsample_terrain"), E = s.uniform4f("color"), g = s.uniform3i("xyz"), w = s.uniform3i("camera"), R = s.uniform1i("index");
|
|
2752
2756
|
return { execute: ({
|
|
2753
2757
|
projection: x,
|
|
@@ -2767,7 +2771,7 @@ const W = 34, Xn = 22, jn = te(0, W).flatMap(
|
|
|
2767
2771
|
} };
|
|
2768
2772
|
}, n = t(), i = t(!0);
|
|
2769
2773
|
return { renderProgram: n, depthProgram: i };
|
|
2770
|
-
},
|
|
2774
|
+
}, $n = (e, t) => {
|
|
2771
2775
|
const [n, i, r, s] = t.reduce(
|
|
2772
2776
|
([f, d, u, l], [h = 0, p = 0]) => [
|
|
2773
2777
|
Math.min(h, f),
|
|
@@ -2778,14 +2782,14 @@ const W = 34, Xn = 22, jn = te(0, W).flatMap(
|
|
|
2778
2782
|
[1, 0, 1, 0]
|
|
2779
2783
|
), [o = 0, a = 0, c = 0] = e;
|
|
2780
2784
|
return o > n && o < i && a > r && a < s && c > 0 && c < i - n;
|
|
2781
|
-
},
|
|
2785
|
+
}, Hn = (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), kn = (e) => Math.sqrt(
|
|
2782
2786
|
e.map(
|
|
2783
|
-
(t, n) =>
|
|
2787
|
+
(t, n) => Ht(
|
|
2784
2788
|
e[n] ?? [0, 0],
|
|
2785
2789
|
e[(n + 1) % e.length] ?? [0, 0]
|
|
2786
2790
|
)
|
|
2787
2791
|
).reduce((t, n) => t + n, 0) / e.length
|
|
2788
|
-
),
|
|
2792
|
+
), Ge = 10, De = 1e-3, Re = (e) => {
|
|
2789
2793
|
let t = !0, n, i, r;
|
|
2790
2794
|
const s = () => {
|
|
2791
2795
|
if (!t)
|
|
@@ -2805,30 +2809,30 @@ const W = 34, Xn = 22, jn = te(0, W).flatMap(
|
|
|
2805
2809
|
t = !1;
|
|
2806
2810
|
}
|
|
2807
2811
|
};
|
|
2808
|
-
},
|
|
2812
|
+
}, si = (e) => Re(({ time: t, current: n, target: i }) => (n = n + (i - n) * Ge * t, Math.abs(i - n) < De && (n = i), e?.(n, i), n)), oi = (e) => Re(({ time: t, current: n, target: i }) => (n = Lt(
|
|
2809
2813
|
q(),
|
|
2810
2814
|
n,
|
|
2811
|
-
|
|
2815
|
+
Ot(
|
|
2812
2816
|
q(),
|
|
2813
|
-
|
|
2814
|
-
|
|
2817
|
+
Xt(q(), i, n),
|
|
2818
|
+
Ge * t
|
|
2815
2819
|
)
|
|
2816
|
-
), e?.(n, i), n)),
|
|
2820
|
+
), Dt(n, i) < De && (n = i), e?.(n, i), n)), ai = (e) => Re(({ time: t, current: n, target: i }) => (n = ve(
|
|
2817
2821
|
oe(
|
|
2818
2822
|
P(),
|
|
2819
2823
|
C(n),
|
|
2820
|
-
|
|
2824
|
+
ue(
|
|
2821
2825
|
P(),
|
|
2822
2826
|
ne(P(), C(i), C(n)),
|
|
2823
|
-
|
|
2827
|
+
Ge * t
|
|
2824
2828
|
)
|
|
2825
2829
|
)
|
|
2826
|
-
), e?.(n, i), n)),
|
|
2830
|
+
), He(n, i) < De && (n = i), e?.(n, i), n)), ci = (e) => {
|
|
2827
2831
|
let t = [0, 0, 0], n = [0, 0, 0], i, r;
|
|
2828
|
-
return
|
|
2832
|
+
return Re(({ time: s, current: o, target: a }) => {
|
|
2829
2833
|
if (a === o || s > 1)
|
|
2830
2834
|
return i = void 0, t = [0, 0, 0], n = [0, 0, 0], o;
|
|
2831
|
-
i ? a !== i && r !== void 0 && (n =
|
|
2835
|
+
i ? a !== i && r !== void 0 && (n = ue(
|
|
2832
2836
|
P(),
|
|
2833
2837
|
ne(P(), C(a), C(i)),
|
|
2834
2838
|
1e3 / (performance.now() - r)
|
|
@@ -2836,24 +2840,24 @@ const W = 34, Xn = 22, jn = te(0, W).flatMap(
|
|
|
2836
2840
|
const c = oe(
|
|
2837
2841
|
P(),
|
|
2838
2842
|
t,
|
|
2839
|
-
|
|
2843
|
+
ue(
|
|
2840
2844
|
P(),
|
|
2841
2845
|
ne(P(), n, t),
|
|
2842
2846
|
2 * s
|
|
2843
2847
|
)
|
|
2844
2848
|
);
|
|
2845
|
-
return o =
|
|
2849
|
+
return o = ve(
|
|
2846
2850
|
oe(
|
|
2847
2851
|
P(),
|
|
2848
2852
|
C(o),
|
|
2849
2853
|
oe(
|
|
2850
2854
|
P(),
|
|
2851
|
-
|
|
2855
|
+
ue(
|
|
2852
2856
|
P(),
|
|
2853
2857
|
oe(P(), t, c),
|
|
2854
2858
|
0.5 * s
|
|
2855
2859
|
),
|
|
2856
|
-
|
|
2860
|
+
ue(
|
|
2857
2861
|
P(),
|
|
2858
2862
|
ne(P(), C(a), C(o)),
|
|
2859
2863
|
s
|
|
@@ -2862,17 +2866,14 @@ const W = 34, Xn = 22, jn = te(0, W).flatMap(
|
|
|
2862
2866
|
)
|
|
2863
2867
|
), t = c, e?.(o, a), o;
|
|
2864
2868
|
});
|
|
2865
|
-
},
|
|
2866
|
-
|
|
2867
|
-
|
|
2868
|
-
|
|
2869
|
-
|
|
2870
|
-
|
|
2871
|
-
|
|
2872
|
-
|
|
2873
|
-
);
|
|
2874
|
-
return e?.(r, i), r;
|
|
2875
|
-
}), le = 10, ci = (e) => {
|
|
2869
|
+
}, fi = (e) => Re(({ time: t, current: n, target: i }) => (n = ot(
|
|
2870
|
+
me(
|
|
2871
|
+
Pe(),
|
|
2872
|
+
ae(n),
|
|
2873
|
+
ae(i),
|
|
2874
|
+
2 * t
|
|
2875
|
+
)
|
|
2876
|
+
), rt(ae(n), ae(i)) < De && (i = n), e?.(n, i), n)), he = 10, li = (e) => {
|
|
2876
2877
|
let t = !0, n = {}, i;
|
|
2877
2878
|
const r = () => {
|
|
2878
2879
|
if (!t)
|
|
@@ -2883,35 +2884,35 @@ const W = 34, Xn = 22, jn = te(0, W).flatMap(
|
|
|
2883
2884
|
const c = 1e-3, f = { ...e.view };
|
|
2884
2885
|
if (n.target) {
|
|
2885
2886
|
n.distance || (n.distance = f.distance);
|
|
2886
|
-
const l = ne(P(), n.target, f.target), h =
|
|
2887
|
-
f.target = h ? n.target :
|
|
2887
|
+
const l = ne(P(), n.target, f.target), h = it(l) * k < 1e-3;
|
|
2888
|
+
f.target = h ? n.target : zt(P(), f.target, l, he * a), h && (n.target = void 0);
|
|
2888
2889
|
}
|
|
2889
2890
|
if (n.offset) {
|
|
2890
|
-
const l =
|
|
2891
|
-
f.offset = h ? n.offset :
|
|
2891
|
+
const l = Gt(pe(), n.offset, f.offset), h = kt(l) < c;
|
|
2892
|
+
f.offset = h ? n.offset : $t(pe(), f.offset, l, he * a), h && (n.offset = void 0);
|
|
2892
2893
|
}
|
|
2893
|
-
const d = n.target !== void 0 ?
|
|
2894
|
+
const d = n.target !== void 0 ? He(C(n.target), C(f.target)) * k : void 0, u = Math.max(
|
|
2894
2895
|
...[d, n.distance ?? f.distance, 0].filter(
|
|
2895
2896
|
(l) => l !== void 0
|
|
2896
2897
|
)
|
|
2897
2898
|
);
|
|
2898
2899
|
if (u) {
|
|
2899
2900
|
const l = u - f.distance, h = Math.abs(l) / 1e4 < c;
|
|
2900
|
-
f.distance = h ? u : f.distance + l *
|
|
2901
|
+
f.distance = h ? u : f.distance + l * he * a, h && (n.distance = void 0);
|
|
2901
2902
|
}
|
|
2902
2903
|
if (n.orientation) {
|
|
2903
|
-
const l =
|
|
2904
|
-
p ? l :
|
|
2905
|
-
|
|
2904
|
+
const l = ae(n.orientation), h = ae(f.orientation), p = rt(l, h) < c, E = ot(
|
|
2905
|
+
p ? l : me(
|
|
2906
|
+
Pe(),
|
|
2906
2907
|
h,
|
|
2907
2908
|
l,
|
|
2908
|
-
|
|
2909
|
+
he * a
|
|
2909
2910
|
)
|
|
2910
2911
|
);
|
|
2911
2912
|
f.orientation = E, p && (n.orientation = void 0);
|
|
2912
2913
|
}
|
|
2913
2914
|
if (n.fieldOfView !== void 0) {
|
|
2914
|
-
const l = n.fieldOfView - f.fieldOfView, h = Math.abs(l) < c, p = h ? n.fieldOfView : f.fieldOfView + l *
|
|
2915
|
+
const l = n.fieldOfView - f.fieldOfView, h = Math.abs(l) < c, p = h ? n.fieldOfView : f.fieldOfView + l * he * a;
|
|
2915
2916
|
f.fieldOfView = p, h && (n.fieldOfView = p);
|
|
2916
2917
|
}
|
|
2917
2918
|
e.view = f;
|
|
@@ -2927,7 +2928,7 @@ const W = 34, Xn = 22, jn = te(0, W).flatMap(
|
|
|
2927
2928
|
t = !1;
|
|
2928
2929
|
}
|
|
2929
2930
|
};
|
|
2930
|
-
},
|
|
2931
|
+
}, Gn = (e) => {
|
|
2931
2932
|
const t = e.createTexture();
|
|
2932
2933
|
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);
|
|
2933
2934
|
const n = e.createRenderbuffer();
|
|
@@ -2976,30 +2977,30 @@ const W = 34, Xn = 22, jn = te(0, W).flatMap(
|
|
|
2976
2977
|
e.deleteTexture(t), e.deleteFramebuffer(i), e.deleteRenderbuffer(n);
|
|
2977
2978
|
}
|
|
2978
2979
|
};
|
|
2979
|
-
},
|
|
2980
|
-
const { target: t, offset: n, screen: i, orientation: r, fieldOfView: s } = e, [o = 0, a = 0] = i, [c = 0, f = 0] = n, [d = 0, u = 0, l = 0] = r, h = Math.tan(
|
|
2981
|
-
|
|
2982
|
-
const R =
|
|
2983
|
-
|
|
2984
|
-
const v =
|
|
2985
|
-
const B = [o *
|
|
2986
|
-
return ee({ ...e, offset:
|
|
2987
|
-
}, m = ([
|
|
2988
|
-
const K = 2 *
|
|
2989
|
-
return
|
|
2990
|
-
}, y = ([
|
|
2991
|
-
const [
|
|
2992
|
-
return
|
|
2993
|
-
}, S = ([
|
|
2994
|
-
(
|
|
2995
|
-
z * (
|
|
2996
|
-
z * z + U * U + b * b - e.distance * e.distance /
|
|
2980
|
+
}, Fn = de(), Kn = q(), ee = (e) => {
|
|
2981
|
+
const { target: t, offset: n, screen: i, orientation: r, fieldOfView: s } = e, [o = 0, a = 0] = i, [c = 0, f = 0] = n, [d = 0, u = 0, l = 0] = r, h = Math.tan(ze(45) / 2) / Math.tan(ze(s) / 2), p = e.distance / k * h, E = p / 100, g = p * 1e6, w = de();
|
|
2982
|
+
Fe(w), bt(w, ze(s), o / a, E, g), wt(w, w, [1, -1, 1]);
|
|
2983
|
+
const R = de();
|
|
2984
|
+
Fe(R), Tt(R, R, d), gt(R, R, u), Rt(R, R, l);
|
|
2985
|
+
const v = yt(Fn, w, R), _ = Et(de(), v), x = (I) => {
|
|
2986
|
+
const B = [o * I, a * I], H = [c * I, f * I];
|
|
2987
|
+
return ee({ ...e, offset: H, screen: B });
|
|
2988
|
+
}, m = ([I = 0, B = 0], H = q()) => {
|
|
2989
|
+
const K = 2 * I / o - 1, Ce = -(2 * B / a - 1);
|
|
2990
|
+
return Qe(H, K, Ce, 0, 1);
|
|
2991
|
+
}, y = ([I = 0, B = 0, , H = 0], K = pe()) => Zt(K, (1 + I / H) * o * 0.5, (1 - B / H) * a * 0.5), T = (I, B = P()) => {
|
|
2992
|
+
const [H = 0, K = 0, Ce = 0, We = 0] = qe(Kn, I, _);
|
|
2993
|
+
return ye(B, H / We, K / We, Ce / We);
|
|
2994
|
+
}, S = ([I = 0, B = 0, H = 0], K = q()) => qe(K, Qe(K, I, B, H, 1), v), [A = 0, M = 0] = m([c + o / 2, f + a / 2]), [z = 0, U = 0, b = 0] = T([A, M, -1, 1]), [L = 0, O = 0, D = 0] = T([A, M, 1.00001, 1]), [X = 0] = Kt(
|
|
2995
|
+
(L - z) * (L - z) + (O - U) * (O - U) + (D - b) * (D - b),
|
|
2996
|
+
z * (L - z) + U * (O - U) + b * (D - b),
|
|
2997
|
+
z * z + U * U + b * b - e.distance * e.distance / k / k * h * h
|
|
2997
2998
|
);
|
|
2998
2999
|
if (isNaN(X))
|
|
2999
3000
|
throw new Error("Unexpected");
|
|
3000
3001
|
const V = [
|
|
3001
|
-
z + X * (
|
|
3002
|
-
U + X * (
|
|
3002
|
+
z + X * (L - z),
|
|
3003
|
+
U + X * (O - U),
|
|
3003
3004
|
b + X * (D - b)
|
|
3004
3005
|
], $ = ne(P(), C(t), V);
|
|
3005
3006
|
return {
|
|
@@ -3013,17 +3014,17 @@ const W = 34, Xn = 22, jn = te(0, W).flatMap(
|
|
|
3013
3014
|
clipToScreen: y,
|
|
3014
3015
|
clipToLocal: T,
|
|
3015
3016
|
localToClip: S,
|
|
3016
|
-
localToWorld: (
|
|
3017
|
-
worldToLocal: (
|
|
3017
|
+
localToWorld: (I, B = P()) => oe(B, I, $),
|
|
3018
|
+
worldToLocal: (I, B = P()) => ne(B, I, $)
|
|
3018
3019
|
};
|
|
3019
3020
|
};
|
|
3020
|
-
|
|
3021
|
-
const
|
|
3021
|
+
xt(Array);
|
|
3022
|
+
const hi = (e) => {
|
|
3022
3023
|
let t = !0, n = {
|
|
3023
3024
|
target: [0, 0, 0],
|
|
3024
3025
|
screen: [0, 0],
|
|
3025
3026
|
offset: [0, 0],
|
|
3026
|
-
distance:
|
|
3027
|
+
distance: k,
|
|
3027
3028
|
orientation: [0, 0, 0],
|
|
3028
3029
|
fieldOfView: 45
|
|
3029
3030
|
};
|
|
@@ -3034,7 +3035,7 @@ const fi = (e) => {
|
|
|
3034
3035
|
throw new Error("No WebGL2");
|
|
3035
3036
|
i.enable(i.CULL_FACE), i.cullFace(i.FRONT);
|
|
3036
3037
|
let r = [];
|
|
3037
|
-
const s =
|
|
3038
|
+
const s = Gn(i), o = (v) => {
|
|
3038
3039
|
let [_ = 0, x = 0] = v;
|
|
3039
3040
|
_ = _ || 1, x = x || 1, n.screen = [_, x], e.width = _ * devicePixelRatio, e.height = x * devicePixelRatio, s.resize([e.width, e.height]);
|
|
3040
3041
|
};
|
|
@@ -3051,9 +3052,11 @@ const fi = (e) => {
|
|
|
3051
3052
|
}, f = () => {
|
|
3052
3053
|
const v = ee(n);
|
|
3053
3054
|
c(v.screen), r.forEach((_) => _.render({ viewport: v }));
|
|
3054
|
-
}, d = () => {
|
|
3055
|
-
const
|
|
3056
|
-
c(
|
|
3055
|
+
}, d = (v) => {
|
|
3056
|
+
const _ = ee(n);
|
|
3057
|
+
c(_.screen), (v ? [v] : r).forEach(
|
|
3058
|
+
(x, m) => x.render({ viewport: _, depth: !0, index: m + 1 })
|
|
3059
|
+
);
|
|
3057
3060
|
}, u = () => {
|
|
3058
3061
|
t && (f(), requestAnimationFrame(u));
|
|
3059
3062
|
};
|
|
@@ -3063,15 +3066,15 @@ const fi = (e) => {
|
|
|
3063
3066
|
return m(x(_(C(v))));
|
|
3064
3067
|
}, h = (v) => {
|
|
3065
3068
|
const { localToWorld: _, clipToLocal: x, screenToClip: m } = ee(n);
|
|
3066
|
-
return
|
|
3067
|
-
}, p = (v) => {
|
|
3068
|
-
const [
|
|
3069
|
-
s.use(), d();
|
|
3070
|
-
const [
|
|
3071
|
-
|
|
3072
|
-
|
|
3073
|
-
]), [
|
|
3074
|
-
return { screen: v, position:
|
|
3069
|
+
return ve(_(x(m(v))));
|
|
3070
|
+
}, p = (v, _) => {
|
|
3071
|
+
const [x = 0, m = 0] = v, { screenToClip: y, clipToLocal: T, localToWorld: S } = ee(n);
|
|
3072
|
+
s.use(), d(_);
|
|
3073
|
+
const [A, M] = s.read([
|
|
3074
|
+
x * devicePixelRatio,
|
|
3075
|
+
m * devicePixelRatio
|
|
3076
|
+
]), [z = 0, U = 0] = y([x, m]), b = ve(S(T([z, U, A, 1]))), L = M === 0 ? void 0 : _ ?? r[M - 1];
|
|
3077
|
+
return { screen: v, position: b, layer: L };
|
|
3075
3078
|
};
|
|
3076
3079
|
return {
|
|
3077
3080
|
canvas: e,
|
|
@@ -3094,7 +3097,7 @@ const fi = (e) => {
|
|
|
3094
3097
|
const { camera: x, fieldScale: m } = ee(n), { position: y, layer: T } = p([v, _]);
|
|
3095
3098
|
if (!T)
|
|
3096
3099
|
return;
|
|
3097
|
-
const S =
|
|
3100
|
+
const S = He(C(y), x) * k / m, [A = 0, M = 0] = n.screen, z = [v - A / 2, _ - M / 2];
|
|
3098
3101
|
n = {
|
|
3099
3102
|
...n,
|
|
3100
3103
|
offset: z,
|
|
@@ -3109,28 +3112,28 @@ const fi = (e) => {
|
|
|
3109
3112
|
};
|
|
3110
3113
|
};
|
|
3111
3114
|
export {
|
|
3112
|
-
|
|
3113
|
-
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
|
|
3117
|
-
|
|
3118
|
-
|
|
3119
|
-
|
|
3120
|
-
|
|
3121
|
-
|
|
3122
|
-
|
|
3123
|
-
|
|
3124
|
-
|
|
3125
|
-
|
|
3126
|
-
|
|
3127
|
-
|
|
3128
|
-
|
|
3115
|
+
k as circumference,
|
|
3116
|
+
qn as createBillboardLayer,
|
|
3117
|
+
oi as createColorTransition,
|
|
3118
|
+
Jn as createLineLayer,
|
|
3119
|
+
ei as createMeshLayer,
|
|
3120
|
+
Qn as createMouseControl,
|
|
3121
|
+
si as createNumberTransition,
|
|
3122
|
+
fi as createOrientationTransition,
|
|
3123
|
+
ti as createPolygonLayer,
|
|
3124
|
+
ai as createPositionTransition,
|
|
3125
|
+
ci as createPositionVelocityTransition,
|
|
3126
|
+
ri as createTerrainLayer,
|
|
3127
|
+
Re as createTransition,
|
|
3128
|
+
li as createViewTransition,
|
|
3129
|
+
hi as createWorld,
|
|
3130
|
+
Ft as degrees,
|
|
3131
|
+
ve as geodetic,
|
|
3129
3132
|
C as mercator,
|
|
3130
|
-
|
|
3131
|
-
|
|
3132
|
-
|
|
3133
|
-
|
|
3134
|
-
|
|
3133
|
+
Kt as quadratic,
|
|
3134
|
+
ze as radians,
|
|
3135
|
+
Qt as tileToMercator,
|
|
3136
|
+
ot as toOrientation,
|
|
3137
|
+
ae as toQuaternion
|
|
3135
3138
|
};
|
|
3136
3139
|
//# sourceMappingURL=index.js.map
|