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