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