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