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