@kalyptos/narcissus 0.1.3 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/cli/main.js +1 -1
- package/dist/controls/controls.d.ts +10 -2
- package/dist/controls/pose.d.ts +8 -1
- package/dist/controls--A-CvrQ5.js +3570 -0
- package/dist/element/index.js +1 -1
- package/dist/engine/engine.d.ts +35 -3
- package/dist/engine/gpu/masks.d.ts +26 -0
- package/dist/engine/gpu/overlay.d.ts +21 -0
- package/dist/engine/gpu/pick.d.ts +28 -0
- package/dist/engine/gpu/pool.d.ts +10 -2
- package/dist/engine/gpu/project.d.ts +5 -0
- package/dist/engine/gpu/raster.d.ts +0 -5
- package/dist/engine/gpu/renderer.d.ts +8 -8
- package/dist/engine/index.d.ts +5 -2
- package/dist/engine/layer.d.ts +26 -0
- package/dist/engine/mask.d.ts +18 -0
- package/dist/engine/math/frustum.d.ts +5 -2
- package/dist/engine/math/prism.d.ts +13 -0
- package/dist/engine/overlay.d.ts +28 -0
- package/dist/engine/stream/feed.d.ts +2 -0
- package/dist/engine/types.d.ts +8 -0
- package/dist/format/encode.d.ts +8 -0
- package/dist/format/idx.d.ts +2 -0
- package/dist/format/index.d.ts +2 -1
- package/dist/format/index.js +1 -1
- package/dist/{format-C3Vn0c2b.js → format-CbtEy9NS.js} +352 -139
- package/dist/index.d.ts +1 -0
- package/dist/index.js +30 -29
- package/dist/synthetic-DO8oIw_x.js +212 -0
- package/dist/tools/index.js +1 -1
- package/dist/tools-DnfuHeoO.js +227 -0
- package/package.json +1 -1
- package/dist/controls-IBLB-RWS.js +0 -2773
- package/dist/synthetic-BeGCzYIv.js +0 -383
- package/dist/tools-NykPVccD.js +0 -242
|
@@ -71,7 +71,18 @@ function A(e, t) {
|
|
|
71
71
|
length: e.getUint32(t + 48, !0)
|
|
72
72
|
};
|
|
73
73
|
}
|
|
74
|
-
async function j(e) {
|
|
74
|
+
async function j(e, t) {
|
|
75
|
+
if (t < 16) throw Error("is shorter than a pack trailer");
|
|
76
|
+
let n = await e(t - 16, t), r = new DataView(n.buffer, n.byteOffset, n.byteLength);
|
|
77
|
+
if (String.fromCharCode(...n.subarray(8, 12)) !== "GMPK") throw Error("does not end in a pack trailer");
|
|
78
|
+
let i = r.getUint16(12, !0);
|
|
79
|
+
if (i !== 1) throw Error(`is version ${i}; narcissus reads 1`);
|
|
80
|
+
let a = r.getUint32(0, !0), o = r.getUint32(4, !0);
|
|
81
|
+
if (a + o * 52 !== t - 16) throw Error("has a page table that does not end at its trailer");
|
|
82
|
+
let s = await e(a, t - 16), c = new DataView(s.buffer, s.byteOffset, s.byteLength);
|
|
83
|
+
return Array.from({ length: o }, (e, t) => A(c, t * 52));
|
|
84
|
+
}
|
|
85
|
+
async function M(e) {
|
|
75
86
|
let t = await O(e, a, ".idx");
|
|
76
87
|
if (t.byteLength < 40) throw Error(".idx header is cut off");
|
|
77
88
|
let n = t.getUint16(32, !0), r = t.getUint8(34), i = t.getUint16(36, !0), o = 40 + n * 52 + r * 9 + i * 11;
|
|
@@ -100,12 +111,12 @@ async function j(e) {
|
|
|
100
111
|
});
|
|
101
112
|
return c;
|
|
102
113
|
}
|
|
103
|
-
function
|
|
114
|
+
function N(e, t, n) {
|
|
104
115
|
return `u/${e.level}/${e.e}/${e.n}.${t}.${n}`;
|
|
105
116
|
}
|
|
106
|
-
var
|
|
107
|
-
function
|
|
108
|
-
let t =
|
|
117
|
+
var P = /(?:^|\/)u\/(\d+)\/(-?\d+)\/(-?\d+)\.([0-9a-f]{16})\.(?:idx|pack|col)$/;
|
|
118
|
+
function F(e) {
|
|
119
|
+
let t = P.exec(e);
|
|
109
120
|
return t ? {
|
|
110
121
|
level: Number(t[1]),
|
|
111
122
|
e: Number(t[2]),
|
|
@@ -113,7 +124,7 @@ function P(e) {
|
|
|
113
124
|
hash: t[4]
|
|
114
125
|
} : null;
|
|
115
126
|
}
|
|
116
|
-
function
|
|
127
|
+
function I(e) {
|
|
117
128
|
let { level: t, e: n, n: r } = e, i = 250 * 2 ** (t - 1), a = e.children.map(({ quadrant: e, idx: a }) => ({
|
|
118
129
|
key: {
|
|
119
130
|
level: t - 1,
|
|
@@ -137,7 +148,7 @@ function F(e) {
|
|
|
137
148
|
}
|
|
138
149
|
//#endregion
|
|
139
150
|
//#region src/format/world.ts
|
|
140
|
-
var
|
|
151
|
+
var L = /* @__PURE__ */ new Set([
|
|
141
152
|
"version",
|
|
142
153
|
"crs",
|
|
143
154
|
"height",
|
|
@@ -145,62 +156,62 @@ var ee = /* @__PURE__ */ new Set([
|
|
|
145
156
|
"roots",
|
|
146
157
|
"extent"
|
|
147
158
|
]);
|
|
148
|
-
function
|
|
159
|
+
function R(e) {
|
|
149
160
|
return /* @__PURE__ */ Error(`This world has ${e}.`);
|
|
150
161
|
}
|
|
151
|
-
function
|
|
152
|
-
if (typeof e != "object" || !e || Array.isArray(e)) throw
|
|
162
|
+
function z(e, t) {
|
|
163
|
+
if (typeof e != "object" || !e || Array.isArray(e)) throw R(t);
|
|
153
164
|
return e;
|
|
154
165
|
}
|
|
155
|
-
function
|
|
156
|
-
if (typeof e != "string" || e === "") throw
|
|
166
|
+
function B(e, t) {
|
|
167
|
+
if (typeof e != "string" || e === "") throw R(t);
|
|
157
168
|
return e;
|
|
158
169
|
}
|
|
159
|
-
function
|
|
160
|
-
if (!Array.isArray(e) || e.length !== 2 || !e.every(Number.isFinite) || e[0] > e[1]) throw
|
|
170
|
+
function V(e, t) {
|
|
171
|
+
if (!Array.isArray(e) || e.length !== 2 || !e.every(Number.isFinite) || e[0] > e[1]) throw R(t);
|
|
161
172
|
return [e[0], e[1]];
|
|
162
173
|
}
|
|
163
|
-
function
|
|
164
|
-
let t =
|
|
165
|
-
if (!Number.isInteger(n) || !Number.isInteger(r) || !Number.isInteger(i) || n < 0) throw
|
|
174
|
+
function ee(e) {
|
|
175
|
+
let t = z(e, "an invalid root"), { level: n, e: r, n: i } = t;
|
|
176
|
+
if (!Number.isInteger(n) || !Number.isInteger(r) || !Number.isInteger(i) || n < 0) throw R("an invalid root");
|
|
166
177
|
let a = {
|
|
167
178
|
level: n,
|
|
168
179
|
e: r,
|
|
169
180
|
n: i
|
|
170
|
-
}, o = 250 * 2 ** a.level, s =
|
|
171
|
-
if (a.e % o !== 0 || a.n % o !== 0 || !s.endsWith(".idx") || !c || c.level !== a.level || c.e !== a.e || c.n !== a.n) throw
|
|
181
|
+
}, o = 250 * 2 ** a.level, s = B(t.idx, "a root without an index"), c = F(s);
|
|
182
|
+
if (a.e % o !== 0 || a.n % o !== 0 || !s.endsWith(".idx") || !c || c.level !== a.level || c.e !== a.e || c.n !== a.n) throw R("a root whose index does not match its unit");
|
|
172
183
|
return {
|
|
173
184
|
...a,
|
|
174
185
|
idx: s
|
|
175
186
|
};
|
|
176
187
|
}
|
|
177
|
-
function
|
|
188
|
+
function te(e) {
|
|
178
189
|
let t = e.split(/[?#]/)[0];
|
|
179
190
|
return t.slice(0, t.lastIndexOf("/") + 1);
|
|
180
191
|
}
|
|
181
|
-
function
|
|
182
|
-
let t =
|
|
192
|
+
function ne(e) {
|
|
193
|
+
let t = z(e, "an unreadable world.json");
|
|
183
194
|
if (t.version !== 1) throw Error(`This world is version ${String(t.version)}; narcissus reads 1.`);
|
|
184
|
-
if (t.leaf !== 250) throw
|
|
185
|
-
if (!Array.isArray(t.roots) || t.roots.length === 0) throw
|
|
186
|
-
let n =
|
|
195
|
+
if (t.leaf !== 250) throw R(`${String(t.leaf)} m leaf units, not 250 m`);
|
|
196
|
+
if (!Array.isArray(t.roots) || t.roots.length === 0) throw R("no roots");
|
|
197
|
+
let n = z(t.extent, "no extent");
|
|
187
198
|
return {
|
|
188
199
|
version: 1,
|
|
189
|
-
crs:
|
|
190
|
-
height:
|
|
200
|
+
crs: B(t.crs, "no coordinate system"),
|
|
201
|
+
height: B(t.height, "no height datum"),
|
|
191
202
|
leaf: 250,
|
|
192
|
-
roots: t.roots.map(
|
|
203
|
+
roots: t.roots.map(ee),
|
|
193
204
|
extent: {
|
|
194
|
-
e:
|
|
195
|
-
n:
|
|
196
|
-
h:
|
|
205
|
+
e: V(n.e, "an invalid easting extent"),
|
|
206
|
+
n: V(n.n, "an invalid northing extent"),
|
|
207
|
+
h: V(n.h, "an invalid height extent")
|
|
197
208
|
},
|
|
198
|
-
extra: Object.fromEntries(Object.entries(t).filter(([e]) => !
|
|
209
|
+
extra: Object.fromEntries(Object.entries(t).filter(([e]) => !L.has(e)))
|
|
199
210
|
};
|
|
200
211
|
}
|
|
201
212
|
//#endregion
|
|
202
213
|
//#region src/format/col.ts
|
|
203
|
-
async function
|
|
214
|
+
async function re(e) {
|
|
204
215
|
let t = await O(e, o, ".col");
|
|
205
216
|
if (t.byteLength < 60) throw Error(".col header is cut off");
|
|
206
217
|
let n = t.getUint16(0, !0), r = 60 + 12 * n * n;
|
|
@@ -220,28 +231,28 @@ async function ie(e) {
|
|
|
220
231
|
values: i
|
|
221
232
|
};
|
|
222
233
|
}
|
|
223
|
-
function
|
|
234
|
+
function ie(e, t, n, r) {
|
|
224
235
|
let { n: i, pitch: a, margin: o, values: s } = e, c = i - 1, l = Math.min(Math.max((t + o) / a - .5, 0), c), u = Math.min(Math.max((n + o) / a - .5, 0), c), d = Math.min(Math.floor(l), Math.max(c - 1, 0)), f = Math.min(Math.floor(u), Math.max(c - 1, 0)), p = Math.min(d + 1, c), m = Math.min(f + 1, c), h = l - d, g = u - f, _ = (1 - h) * (1 - g), v = h * (1 - g), y = (1 - h) * g, b = h * g, x = i * i;
|
|
225
236
|
for (let e = 0, t = 0; e < 12; e++, t += x) r[e] = s[t + f * i + d] * _ + s[t + f * i + p] * v + s[t + m * i + d] * y + s[t + m * i + p] * b;
|
|
226
237
|
return r;
|
|
227
238
|
}
|
|
228
239
|
//#endregion
|
|
229
240
|
//#region src/format/page.ts
|
|
230
|
-
var
|
|
231
|
-
function
|
|
232
|
-
let a =
|
|
241
|
+
var H = Float64Array.from({ length: 256 }, (e, t) => (t / 255 - .5) * Math.SQRT2);
|
|
242
|
+
function ae(e, t, n, r, i) {
|
|
243
|
+
let a = H[t], o = H[n], s = H[r];
|
|
233
244
|
i[e] = Math.sqrt(Math.max(0, 1 - a * a - o * o - s * s)), i[e > 0 ? 0 : 1] = a, i[e > 1 ? 1 : 2] = o, i[e > 2 ? 2 : 3] = s;
|
|
234
245
|
}
|
|
235
|
-
function
|
|
246
|
+
function oe(e, t, n, r, i) {
|
|
236
247
|
let a = e[0], o = e[1], s = e[2], c = e[3], l = t * t, u = n * n, d = r * r, f = 1 - 2 * (s * s + c * c), p = 2 * (o * s - a * c), m = 2 * (o * c + a * s), h = 2 * (o * s + a * c), g = 1 - 2 * (o * o + c * c), _ = 2 * (s * c - a * o), v = 2 * (o * c - a * s), y = 2 * (s * c + a * o), b = 1 - 2 * (o * o + s * s);
|
|
237
248
|
i[0] = 3 * Math.sqrt(f * f * l + p * p * u + m * m * d), i[1] = 3 * Math.sqrt(h * h * l + g * g * u + _ * _ * d), i[2] = 3 * Math.sqrt(v * v * l + y * y * u + b * b * d);
|
|
238
249
|
}
|
|
239
|
-
function
|
|
250
|
+
function se(e) {
|
|
240
251
|
if (e.length < 128) throw Error("page payload is shorter than its header");
|
|
241
252
|
return new DataView(e.buffer, e.byteOffset, e.byteLength);
|
|
242
253
|
}
|
|
243
|
-
function
|
|
244
|
-
let t =
|
|
254
|
+
function ce(e) {
|
|
255
|
+
let t = se(e), n = t.getUint32(0, !0), r = t.getUint16(16, !0), i = 128 + (17 + (r > 0 ? 2 : 0)) * n, a = i + r * 9;
|
|
245
256
|
if (e.length !== a) throw Error(`page payload holds ${e.length} bytes, its header needs ${a}`);
|
|
246
257
|
return {
|
|
247
258
|
view: t,
|
|
@@ -250,15 +261,15 @@ function le(e) {
|
|
|
250
261
|
book: i
|
|
251
262
|
};
|
|
252
263
|
}
|
|
253
|
-
function
|
|
264
|
+
function le(e) {
|
|
254
265
|
return [
|
|
255
266
|
e.getUint32(4, !0),
|
|
256
267
|
e.getUint32(8, !0),
|
|
257
268
|
e.getUint32(12, !0)
|
|
258
269
|
];
|
|
259
270
|
}
|
|
260
|
-
function
|
|
261
|
-
let { view: n, count: r, k: i, book: a } =
|
|
271
|
+
function ue(e, t) {
|
|
272
|
+
let { view: n, count: r, k: i, book: a } = ce(e), o = /* @__PURE__ */ new Float32Array(27);
|
|
262
273
|
for (let e = 0; e < 27; e++) o[e] = n.getFloat32(20 + 4 * e, !0);
|
|
263
274
|
i === 0 && o.fill(0, C.shScale);
|
|
264
275
|
let s = new Uint32Array(r * 4), c = new Float32Array(Math.ceil(r / 256) * 6), l = /* @__PURE__ */ new Float64Array(768);
|
|
@@ -273,7 +284,7 @@ function de(e, t) {
|
|
|
273
284
|
let t = e[p + n] | e[p + r + n] << 8;
|
|
274
285
|
x = x + (t >>> 1 ^ -(t & 1)) & 65535, t = e[p + 2 * r + n] | e[p + 3 * r + n] << 8, S = S + (t >>> 1 ^ -(t & 1)) & 65535, t = e[p + 4 * r + n] | e[p + 5 * r + n] << 8, w = w + (t >>> 1 ^ -(t & 1)) & 65535;
|
|
275
286
|
let c = e[h + n], E = e[g + n], D = e[g + r + n], O = e[g + 2 * r + n], k = e[v + n], A = e[v + r + n], j = e[v + 2 * r + n], M = n * 4;
|
|
276
|
-
s[M] = x | S << 16, s[M + 1] = w | e[m + n] << 16 | c << 24, s[M + 2] = E | D << 8 | O << 16 | k << 24, s[M + 3] = A | j << 8,
|
|
287
|
+
s[M] = x | S << 16, s[M + 1] = w | e[m + n] << 16 | c << 24, s[M + 2] = E | D << 8 | O << 16 | k << 24, s[M + 3] = A | j << 8, ae(c, E, D, O, y), oe(y, l[k], l[256 + A], l[512 + j], b);
|
|
277
288
|
let N = x * u, P = S * d, F = w * f;
|
|
278
289
|
i = Math.min(i, N - b[0]), a = Math.min(a, P - b[1]), o = Math.min(o, F - b[2]), _ = Math.max(_, N + b[0]), C = Math.max(C, P + b[1]), T = Math.max(T, F + b[2]);
|
|
279
290
|
}
|
|
@@ -286,17 +297,17 @@ function de(e, t) {
|
|
|
286
297
|
T
|
|
287
298
|
], t * 6);
|
|
288
299
|
}
|
|
289
|
-
let T = t ?
|
|
300
|
+
let T = t ? fe(e, r, i, a, s, o, t) : de(e, r, i, a);
|
|
290
301
|
return {
|
|
291
302
|
count: r,
|
|
292
|
-
quadrants:
|
|
303
|
+
quadrants: le(n),
|
|
293
304
|
geometry: s,
|
|
294
305
|
colour: T,
|
|
295
306
|
params: o,
|
|
296
307
|
clusters: c
|
|
297
308
|
};
|
|
298
309
|
}
|
|
299
|
-
function
|
|
310
|
+
function de(e, t, n, r) {
|
|
300
311
|
let i = new Uint32Array(t * 3), a = 128 + _.dc * t, o = 128 + _.label * t;
|
|
301
312
|
for (let s = 0; s < t; s++) {
|
|
302
313
|
let c = s * 3;
|
|
@@ -306,7 +317,7 @@ function fe(e, t, n, r) {
|
|
|
306
317
|
}
|
|
307
318
|
return i;
|
|
308
319
|
}
|
|
309
|
-
function
|
|
320
|
+
function fe(t, n, r, i, a, o, s) {
|
|
310
321
|
let c = 128 + _.dc * n, l = 128 + _.label * n, u = new Int8Array(t.buffer, t.byteOffset + i, r * 9), d = new Float32Array(n * 3), f = new Float32Array(n * 9), p = [
|
|
311
322
|
Infinity,
|
|
312
323
|
Infinity,
|
|
@@ -324,7 +335,7 @@ function pe(t, n, r, i, a, o, s) {
|
|
|
324
335
|
for (let e = 0; e < r * 9; e++) w[e] = u[e] / 127 * o[C.shScale + e % 9];
|
|
325
336
|
for (let i = 0; i < n; i++) {
|
|
326
337
|
let o = a[i * 4];
|
|
327
|
-
|
|
338
|
+
ie(s, v + (o & 65535) * b, y + (o >>> 16) * x, g);
|
|
328
339
|
for (let r = 0; r < 3; r++) {
|
|
329
340
|
let a = i * 3 + r;
|
|
330
341
|
d[a] = S[r * 256 + t[c + r * n + i]] + g[r] / e, p[r] = Math.min(p[r], d[a]), m[r] = Math.max(m[r], d[a]);
|
|
@@ -362,14 +373,14 @@ function pe(t, n, r, i, a, o, s) {
|
|
|
362
373
|
}
|
|
363
374
|
return O;
|
|
364
375
|
}
|
|
365
|
-
function
|
|
366
|
-
let t =
|
|
376
|
+
function pe(e) {
|
|
377
|
+
let t = se(e);
|
|
367
378
|
return {
|
|
368
379
|
count: t.getUint32(0, !0),
|
|
369
|
-
quadrants:
|
|
380
|
+
quadrants: le(t)
|
|
370
381
|
};
|
|
371
382
|
}
|
|
372
|
-
function
|
|
383
|
+
function me(e) {
|
|
373
384
|
return [
|
|
374
385
|
e(0),
|
|
375
386
|
e(1),
|
|
@@ -382,20 +393,20 @@ function he(t, n) {
|
|
|
382
393
|
i[0] >>> 16,
|
|
383
394
|
i[1] & 65535
|
|
384
395
|
], l = /* @__PURE__ */ new Float64Array(4);
|
|
385
|
-
|
|
396
|
+
ae(o(i, 7), o(i, 8), o(i, 9), o(i, 10), l);
|
|
386
397
|
let u = [];
|
|
387
398
|
for (let e = 0; e < 9; e++) u.push((o(a, e + 3) << 24 >> 24) / 127 * r[C.shScale + e]);
|
|
388
399
|
return {
|
|
389
|
-
position:
|
|
400
|
+
position: me((e) => r[C.origin + e] + c[e] * r[C.step + e]),
|
|
390
401
|
rotation: [
|
|
391
402
|
l[0],
|
|
392
403
|
l[1],
|
|
393
404
|
l[2],
|
|
394
405
|
l[3]
|
|
395
406
|
],
|
|
396
|
-
scale:
|
|
407
|
+
scale: me((e) => Math.exp(s(C.scaleMin, C.scaleMax, e, o(i, 11 + e)))),
|
|
397
408
|
alpha: o(i, 6) / 255,
|
|
398
|
-
colour:
|
|
409
|
+
colour: me((t) => .5 + e * s(C.dcMin, C.dcMax, t, o(a, t))),
|
|
399
410
|
sh: u
|
|
400
411
|
};
|
|
401
412
|
}
|
|
@@ -404,34 +415,34 @@ function he(t, n) {
|
|
|
404
415
|
function ge(e) {
|
|
405
416
|
return e instanceof Uint8Array || ArrayBuffer.isView(e) && e.constructor.name === "Uint8Array" && "BYTES_PER_ELEMENT" in e && e.BYTES_PER_ELEMENT === 1;
|
|
406
417
|
}
|
|
407
|
-
var
|
|
418
|
+
var _e = (e) => e ? `"${e}" ` : "";
|
|
408
419
|
function U(e, t = "") {
|
|
409
|
-
if (typeof e != "number") throw TypeError(
|
|
410
|
-
if (!Number.isSafeInteger(e) || e < 0) throw RangeError(
|
|
420
|
+
if (typeof e != "number") throw TypeError(_e(t) + "expected number, got " + typeof e);
|
|
421
|
+
if (!Number.isSafeInteger(e) || e < 0) throw RangeError(_e(t) + "expected integer >= 0, got " + e);
|
|
411
422
|
return e;
|
|
412
423
|
}
|
|
413
424
|
function W(e, t, n = "") {
|
|
414
425
|
if (ge(e) && (t === void 0 || e.length === t)) return e;
|
|
415
426
|
t !== void 0 && U(t, "length");
|
|
416
|
-
let r = ge(e), i = t === void 0 ? "" : ` of length ${t}`, a = r ? `length=${e.length}` : `type=${typeof e}`, o =
|
|
427
|
+
let r = ge(e), i = t === void 0 ? "" : ` of length ${t}`, a = r ? `length=${e.length}` : `type=${typeof e}`, o = _e(n) + "expected Uint8Array" + i + ", got " + a;
|
|
417
428
|
throw r ? RangeError(o) : TypeError(o);
|
|
418
429
|
}
|
|
419
|
-
function
|
|
430
|
+
function ve(e) {
|
|
420
431
|
return Uint8Array.from(W(e));
|
|
421
432
|
}
|
|
422
|
-
var
|
|
433
|
+
var ye = (e, t) => {
|
|
423
434
|
if (typeof e != "object" || !e || Array.isArray(e)) throw TypeError((t === "object" ? "" : `"${t}" `) + "expected object, got type=" + typeof e);
|
|
424
|
-
},
|
|
425
|
-
|
|
435
|
+
}, be = (e, t) => {
|
|
436
|
+
ye(e, t);
|
|
426
437
|
let n = Object.getPrototypeOf(e);
|
|
427
438
|
if (n !== Object.prototype && n !== null) throw TypeError(`"${t}" expected plain object`);
|
|
428
439
|
if (Object.hasOwn(e, "__proto__")) throw TypeError(`"${t}.__proto__" is not allowed`);
|
|
429
440
|
};
|
|
430
|
-
function
|
|
441
|
+
function xe(e, t = !0) {
|
|
431
442
|
if (e.destroyed) throw Error("hash was destroyed");
|
|
432
443
|
if (t && e.finished) throw Error("digest() was already called");
|
|
433
444
|
}
|
|
434
|
-
function
|
|
445
|
+
function Se(e, t) {
|
|
435
446
|
W(e, void 0, "output");
|
|
436
447
|
let n = t.outputLen;
|
|
437
448
|
if (!(e.length >= n)) throw RangeError("\"output\" expected length >= " + n);
|
|
@@ -439,37 +450,37 @@ function xe(e, t) {
|
|
|
439
450
|
function G(e) {
|
|
440
451
|
return new Uint32Array(e.buffer, e.byteOffset, Math.floor(e.byteLength / 4));
|
|
441
452
|
}
|
|
442
|
-
function
|
|
453
|
+
function Ce(...e) {
|
|
443
454
|
for (let t = 0; t < e.length; t++) e[t].fill(0);
|
|
444
455
|
}
|
|
445
|
-
var
|
|
446
|
-
function
|
|
456
|
+
var we = new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68;
|
|
457
|
+
function Te(e) {
|
|
447
458
|
return e << 24 & 4278190080 | e << 8 & 16711680 | e >>> 8 & 65280 | e >>> 24 & 255;
|
|
448
459
|
}
|
|
449
|
-
var
|
|
450
|
-
function
|
|
451
|
-
for (let t = 0; t < e.length; t++) e[t] =
|
|
460
|
+
var K = we ? (e) => e : (e) => Te(e) >>> 0;
|
|
461
|
+
function Ee(e) {
|
|
462
|
+
for (let t = 0; t < e.length; t++) e[t] = Te(e[t]);
|
|
452
463
|
return e;
|
|
453
464
|
}
|
|
454
|
-
var
|
|
455
|
-
function
|
|
456
|
-
if (W(e),
|
|
465
|
+
var q = we ? (e) => e : Ee, De = typeof Uint8Array.from([]).toHex == "function" && typeof Uint8Array.fromHex == "function", Oe = /* @__PURE__ */ Array.from({ length: 256 }, (e, t) => t.toString(16).padStart(2, "0"));
|
|
466
|
+
function ke(e) {
|
|
467
|
+
if (W(e), De) return e.toHex();
|
|
457
468
|
let t = "";
|
|
458
|
-
for (let n = 0; n < e.length; n++) t +=
|
|
469
|
+
for (let n = 0; n < e.length; n++) t += Oe[e[n]];
|
|
459
470
|
return t;
|
|
460
471
|
}
|
|
461
|
-
function
|
|
462
|
-
return
|
|
472
|
+
function Ae(e, t, n = "opts") {
|
|
473
|
+
return be(e, "defaults"), t !== void 0 && be(t, n), Object.assign(Object.create(null), e, t);
|
|
463
474
|
}
|
|
464
|
-
function
|
|
475
|
+
function je(e, t = {}) {
|
|
465
476
|
if (typeof e != "function") throw TypeError("\"hashCons\" expected function, got type=" + typeof e);
|
|
466
|
-
t =
|
|
477
|
+
t = Ae({}, t, "info");
|
|
467
478
|
let n = (t, n) => e(n).update(t).digest(), r = e(void 0);
|
|
468
479
|
return n.outputLen = r.outputLen, n.blockLen = r.blockLen, n.canXOF = r.canXOF, n.create = (t) => e(t), Object.assign(n, t), Object.freeze(n);
|
|
469
480
|
}
|
|
470
481
|
//#endregion
|
|
471
482
|
//#region node_modules/.pnpm/@noble+hashes@2.4.0/node_modules/@noble/hashes/_blake.js
|
|
472
|
-
var
|
|
483
|
+
var Me = /* @__PURE__ */ Uint8Array.from([
|
|
473
484
|
0,
|
|
474
485
|
1,
|
|
475
486
|
2,
|
|
@@ -726,15 +737,15 @@ var Ae = /* @__PURE__ */ Uint8Array.from([
|
|
|
726
737
|
14,
|
|
727
738
|
1,
|
|
728
739
|
9
|
|
729
|
-
]),
|
|
730
|
-
function
|
|
740
|
+
]), Ne = (e) => e / 2 ** 32 | 0, Pe = (e) => e >>> 0, Fe = (e, t, n) => e >>> n | t << 32 - n, Ie = (e, t, n) => e << 32 - n | t >>> n, Le = (e, t, n) => e << 64 - n | t >>> n - 32, Re = (e, t, n) => e >>> n - 32 | t << 64 - n, ze = (e, t) => t, Be = (e, t) => e;
|
|
741
|
+
function Ve(e, t, n, r) {
|
|
731
742
|
let i = (t >>> 0) + (r >>> 0);
|
|
732
743
|
return {
|
|
733
744
|
h: e + n + (i / 2 ** 32 | 0) | 0,
|
|
734
745
|
l: i | 0
|
|
735
746
|
};
|
|
736
747
|
}
|
|
737
|
-
var
|
|
748
|
+
var He = (e, t, n) => (e >>> 0) + (t >>> 0) + (n >>> 0), Ue = (e, t, n, r) => t + n + r + (e / 2 ** 32 | 0) | 0, J = /* @__PURE__ */ Uint32Array.from([
|
|
738
749
|
4089235720,
|
|
739
750
|
1779033703,
|
|
740
751
|
2227873595,
|
|
@@ -751,26 +762,26 @@ var ze = (e, t, n) => (e >>> 0) + (t >>> 0) + (n >>> 0), Be = (e, t, n, r) => t
|
|
|
751
762
|
528734635,
|
|
752
763
|
327033209,
|
|
753
764
|
1541459225
|
|
754
|
-
]),
|
|
755
|
-
function
|
|
756
|
-
let o = i[a], s = i[a + 1], c =
|
|
757
|
-
l =
|
|
765
|
+
]), Y = /* @__PURE__ */ new Uint32Array(32);
|
|
766
|
+
function X(e, t, n, r, i, a) {
|
|
767
|
+
let o = i[a], s = i[a + 1], c = Y[2 * e], l = Y[2 * e + 1], u = Y[2 * t], d = Y[2 * t + 1], f = Y[2 * n], p = Y[2 * n + 1], m = Y[2 * r], h = Y[2 * r + 1], g = He(c, u, o);
|
|
768
|
+
l = Ue(g, l, d, s), c = g | 0;
|
|
758
769
|
let _ = h ^ l, v = m ^ c;
|
|
759
|
-
h =
|
|
770
|
+
h = ze(_, v), m = Be(_, v), {h: p, l: f} = Ve(p, f, h, m), _ = d ^ p, v = u ^ f, d = Fe(_, v, 24), u = Ie(_, v, 24), Y[2 * e] = c, Y[2 * e + 1] = l, Y[2 * t] = u, Y[2 * t + 1] = d, Y[2 * n] = f, Y[2 * n + 1] = p, Y[2 * r] = m, Y[2 * r + 1] = h;
|
|
760
771
|
}
|
|
761
|
-
function
|
|
762
|
-
let o = i[a], s = i[a + 1], c =
|
|
763
|
-
l =
|
|
772
|
+
function Z(e, t, n, r, i, a) {
|
|
773
|
+
let o = i[a], s = i[a + 1], c = Y[2 * e], l = Y[2 * e + 1], u = Y[2 * t], d = Y[2 * t + 1], f = Y[2 * n], p = Y[2 * n + 1], m = Y[2 * r], h = Y[2 * r + 1], g = He(c, u, o);
|
|
774
|
+
l = Ue(g, l, d, s), c = g | 0;
|
|
764
775
|
let _ = h ^ l, v = m ^ c;
|
|
765
|
-
h =
|
|
776
|
+
h = Fe(_, v, 16), m = Ie(_, v, 16), {h: p, l: f} = Ve(p, f, h, m), _ = d ^ p, v = u ^ f, d = Le(_, v, 63), u = Re(_, v, 63), Y[2 * e] = c, Y[2 * e + 1] = l, Y[2 * t] = u, Y[2 * t + 1] = d, Y[2 * n] = f, Y[2 * n + 1] = p, Y[2 * r] = m, Y[2 * r + 1] = h;
|
|
766
777
|
}
|
|
767
|
-
function
|
|
778
|
+
function We(e, t = {}, n, r, i) {
|
|
768
779
|
if (U(n), e <= 0 || e > n) throw Error("\"dkLen\" must be 1.." + n + ", got " + e);
|
|
769
780
|
let { key: a, salt: o, personalization: s } = t;
|
|
770
781
|
if (a !== void 0 && (a.length < 1 || a.length > n)) throw Error("\"key\" expected to be undefined or of length=1.." + n);
|
|
771
782
|
o !== void 0 && W(o, r, "salt"), s !== void 0 && W(s, i, "personalization");
|
|
772
783
|
}
|
|
773
|
-
var
|
|
784
|
+
var Ge = class {
|
|
774
785
|
buffer;
|
|
775
786
|
buffer32;
|
|
776
787
|
finished = !1;
|
|
@@ -784,26 +795,26 @@ var He = class {
|
|
|
784
795
|
U(e), U(t), this.blockLen = e, this.outputLen = t, this.buffer = new Uint8Array(e), this.buffer32 = G(this.buffer);
|
|
785
796
|
}
|
|
786
797
|
update(e) {
|
|
787
|
-
|
|
798
|
+
xe(this), W(e);
|
|
788
799
|
let { blockLen: t, buffer: n, buffer32: r } = this, i = e.length, a = e.byteOffset, o = e.buffer;
|
|
789
800
|
for (let s = 0; s < i;) {
|
|
790
|
-
this.pos === t && (
|
|
801
|
+
this.pos === t && (q(r), this.compress(r, 0, !1), q(r), this.pos = 0);
|
|
791
802
|
let c = Math.min(t - this.pos, i - s), l = a + s;
|
|
792
803
|
if (c === t && !(l % 4) && s + c < i) {
|
|
793
804
|
let e = new Uint32Array(o, l, Math.floor((i - s) / 4));
|
|
794
|
-
|
|
805
|
+
q(e);
|
|
795
806
|
for (let n = 0; s + t < i; n += r.length, s += t) this.length += t, this.compress(e, n, !1);
|
|
796
|
-
|
|
807
|
+
q(e);
|
|
797
808
|
} else n.set(s === 0 && c === i ? e : e.subarray(s, s + c), this.pos), this.pos += c, this.length += c, s += c;
|
|
798
809
|
}
|
|
799
810
|
return this;
|
|
800
811
|
}
|
|
801
812
|
digestInto(e) {
|
|
802
|
-
if (
|
|
813
|
+
if (xe(this), Se(e, this), e.byteOffset & 3) throw RangeError("\"output\" expected 4-byte aligned byteOffset, got " + e.byteOffset);
|
|
803
814
|
let { pos: t, buffer32: n } = this;
|
|
804
|
-
this.finished = !0, this.buffer.fill(0, t),
|
|
815
|
+
this.finished = !0, this.buffer.fill(0, t), q(n), this.compress(n, 0, !0), q(n);
|
|
805
816
|
let r = this.get(), i = e === this.buffer ? n : G(e), a = Math.floor(this.outputLen / 4);
|
|
806
|
-
for (let e = 0; e < a; e++) i[e] =
|
|
817
|
+
for (let e = 0; e < a; e++) i[e] = K(r[e]);
|
|
807
818
|
let o = this.outputLen % 4;
|
|
808
819
|
if (!o) return;
|
|
809
820
|
let s = a * 4, c = r[a];
|
|
@@ -822,41 +833,41 @@ var He = class {
|
|
|
822
833
|
clone() {
|
|
823
834
|
return this._cloneInto();
|
|
824
835
|
}
|
|
825
|
-
},
|
|
826
|
-
v0l =
|
|
827
|
-
v0h =
|
|
828
|
-
v1l =
|
|
829
|
-
v1h =
|
|
830
|
-
v2l =
|
|
831
|
-
v2h =
|
|
832
|
-
v3l =
|
|
833
|
-
v3h =
|
|
834
|
-
v4l =
|
|
835
|
-
v4h =
|
|
836
|
-
v5l =
|
|
837
|
-
v5h =
|
|
838
|
-
v6l =
|
|
839
|
-
v6h =
|
|
840
|
-
v7l =
|
|
841
|
-
v7h =
|
|
836
|
+
}, Ke = class extends Ge {
|
|
837
|
+
v0l = J[0] | 0;
|
|
838
|
+
v0h = J[1] | 0;
|
|
839
|
+
v1l = J[2] | 0;
|
|
840
|
+
v1h = J[3] | 0;
|
|
841
|
+
v2l = J[4] | 0;
|
|
842
|
+
v2h = J[5] | 0;
|
|
843
|
+
v3l = J[6] | 0;
|
|
844
|
+
v3h = J[7] | 0;
|
|
845
|
+
v4l = J[8] | 0;
|
|
846
|
+
v4h = J[9] | 0;
|
|
847
|
+
v5l = J[10] | 0;
|
|
848
|
+
v5h = J[11] | 0;
|
|
849
|
+
v6l = J[12] | 0;
|
|
850
|
+
v6h = J[13] | 0;
|
|
851
|
+
v7l = J[14] | 0;
|
|
852
|
+
v7h = J[15] | 0;
|
|
842
853
|
constructor(e = {}) {
|
|
843
|
-
e =
|
|
854
|
+
e = Ae({}, e);
|
|
844
855
|
let t = e.dkLen === void 0 ? 64 : e.dkLen;
|
|
845
|
-
super(128, t),
|
|
856
|
+
super(128, t), We(t, e, 64, 16, 16);
|
|
846
857
|
let { key: n, personalization: r, salt: i } = e, a = 0;
|
|
847
858
|
if (n !== void 0 && (W(n, void 0, "key"), a = n.length), this.v0l ^= this.outputLen | a << 8 | 16842752, i !== void 0) {
|
|
848
859
|
W(i, void 0, "salt");
|
|
849
|
-
let e = G(
|
|
850
|
-
this.v4l ^=
|
|
860
|
+
let e = G(ve(i));
|
|
861
|
+
this.v4l ^= K(e[0]), this.v4h ^= K(e[1]), this.v5l ^= K(e[2]), this.v5h ^= K(e[3]);
|
|
851
862
|
}
|
|
852
863
|
if (r !== void 0) {
|
|
853
864
|
W(r, void 0, "personalization");
|
|
854
|
-
let e = G(
|
|
855
|
-
this.v6l ^=
|
|
865
|
+
let e = G(ve(r));
|
|
866
|
+
this.v6l ^= K(e[0]), this.v6h ^= K(e[1]), this.v7l ^= K(e[2]), this.v7h ^= K(e[3]);
|
|
856
867
|
}
|
|
857
868
|
if (n !== void 0) {
|
|
858
869
|
let e = new Uint8Array(this.blockLen);
|
|
859
|
-
e.set(n), this.update(e),
|
|
870
|
+
e.set(n), this.update(e), Ce(e);
|
|
860
871
|
}
|
|
861
872
|
}
|
|
862
873
|
get() {
|
|
@@ -885,21 +896,223 @@ var He = class {
|
|
|
885
896
|
}
|
|
886
897
|
compress(e, t, n) {
|
|
887
898
|
let { v0l: r, v0h: i, v1l: a, v1h: o, v2l: s, v2h: c, v3l: l, v3h: u, v4l: d, v4h: f, v5l: p, v5h: m, v6l: h, v6h: g, v7l: _, v7h: v } = this;
|
|
888
|
-
|
|
889
|
-
let y =
|
|
890
|
-
|
|
891
|
-
let x = 0, S =
|
|
892
|
-
for (let n = 0; n < 12; n++)
|
|
893
|
-
this.v0l ^=
|
|
899
|
+
Y[0] = r, Y[1] = i, Y[2] = a, Y[3] = o, Y[4] = s, Y[5] = c, Y[6] = l, Y[7] = u, Y[8] = d, Y[9] = f, Y[10] = p, Y[11] = m, Y[12] = h, Y[13] = g, Y[14] = _, Y[15] = v, Y.set(J, 16);
|
|
900
|
+
let y = Pe(this.length), b = Ne(this.length);
|
|
901
|
+
Y[24] = J[8] ^ y, Y[25] = J[9] ^ b, n && (Y[28] = ~Y[28], Y[29] = ~Y[29]);
|
|
902
|
+
let x = 0, S = Me;
|
|
903
|
+
for (let n = 0; n < 12; n++) X(0, 4, 8, 12, e, t + 2 * S[x++]), Z(0, 4, 8, 12, e, t + 2 * S[x++]), X(1, 5, 9, 13, e, t + 2 * S[x++]), Z(1, 5, 9, 13, e, t + 2 * S[x++]), X(2, 6, 10, 14, e, t + 2 * S[x++]), Z(2, 6, 10, 14, e, t + 2 * S[x++]), X(3, 7, 11, 15, e, t + 2 * S[x++]), Z(3, 7, 11, 15, e, t + 2 * S[x++]), X(0, 5, 10, 15, e, t + 2 * S[x++]), Z(0, 5, 10, 15, e, t + 2 * S[x++]), X(1, 6, 11, 12, e, t + 2 * S[x++]), Z(1, 6, 11, 12, e, t + 2 * S[x++]), X(2, 7, 8, 13, e, t + 2 * S[x++]), Z(2, 7, 8, 13, e, t + 2 * S[x++]), X(3, 4, 9, 14, e, t + 2 * S[x++]), Z(3, 4, 9, 14, e, t + 2 * S[x++]);
|
|
904
|
+
this.v0l ^= Y[0] ^ Y[16], this.v0h ^= Y[1] ^ Y[17], this.v1l ^= Y[2] ^ Y[18], this.v1h ^= Y[3] ^ Y[19], this.v2l ^= Y[4] ^ Y[20], this.v2h ^= Y[5] ^ Y[21], this.v3l ^= Y[6] ^ Y[22], this.v3h ^= Y[7] ^ Y[23], this.v4l ^= Y[8] ^ Y[24], this.v4h ^= Y[9] ^ Y[25], this.v5l ^= Y[10] ^ Y[26], this.v5h ^= Y[11] ^ Y[27], this.v6l ^= Y[12] ^ Y[28], this.v6h ^= Y[13] ^ Y[29], this.v7l ^= Y[14] ^ Y[30], this.v7h ^= Y[15] ^ Y[31], Ce(Y);
|
|
894
905
|
}
|
|
895
906
|
destroy() {
|
|
896
|
-
this.destroyed = !0,
|
|
907
|
+
this.destroyed = !0, Ce(this.buffer32), this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
|
897
908
|
}
|
|
898
|
-
},
|
|
909
|
+
}, qe = /* @__PURE__ */ je((e) => new Ke(e));
|
|
899
910
|
//#endregion
|
|
900
911
|
//#region src/format/hash.ts
|
|
901
|
-
function
|
|
902
|
-
return
|
|
912
|
+
function Je(e) {
|
|
913
|
+
return ke(qe(e, { dkLen: 8 }));
|
|
914
|
+
}
|
|
915
|
+
//#endregion
|
|
916
|
+
//#region src/format/encode.ts
|
|
917
|
+
var Ye = 5e-4, Xe = 2048, Ze = 256, Q = (e, t, n) => Math.min(n, Math.max(t, e));
|
|
918
|
+
function Qe(e, t, n) {
|
|
919
|
+
return n > t ? Q(Math.round((e - t) / (n - t) * 255), 0, 255) : 0;
|
|
920
|
+
}
|
|
921
|
+
function $e(e, t) {
|
|
922
|
+
return t > 0 ? Q(Math.round(e / t * 127), -127, 127) : 0;
|
|
923
|
+
}
|
|
924
|
+
function et(e) {
|
|
925
|
+
return e &= 1023, e = (e | e << 16) & 50331903, e = (e | e << 8) & 50393103, e = (e | e << 4) & 51130563, (e | e << 2) & 153391689;
|
|
926
|
+
}
|
|
927
|
+
function tt(e, t, n) {
|
|
928
|
+
return et(e >> 6) | et(t >> 6) << 1 | et(n >> 6) << 2;
|
|
929
|
+
}
|
|
930
|
+
function nt(e, t) {
|
|
931
|
+
let n = /* @__PURE__ */ new Float32Array(9);
|
|
932
|
+
for (let r = 0; r < t; r++) for (let t = 0; t < 9; t++) n[t] = Math.max(n[t], Math.abs(e[r * 9 + t]));
|
|
933
|
+
return n;
|
|
934
|
+
}
|
|
935
|
+
function rt(e, t, n) {
|
|
936
|
+
let r = new Int8Array(t * 9);
|
|
937
|
+
for (let i = 0; i < t; i++) for (let t = 0; t < 9; t++) r[i * 9 + t] = $e(e[i * 9 + t], n[t]);
|
|
938
|
+
let i = (e) => r.subarray(e * 9, (e + 1) * 9), a = /* @__PURE__ */ new Map(), o = [], s = new Uint16Array(t);
|
|
939
|
+
for (let e = 0; e < t; e++) {
|
|
940
|
+
let t = i(e).join(), n = a.get(t);
|
|
941
|
+
n === void 0 && (n = o.length, a.set(t, n), o.push(e)), s[e] = n;
|
|
942
|
+
}
|
|
943
|
+
if (o.length > Xe) {
|
|
944
|
+
let e = o.length / Ze, n = Array.from({ length: Ze }, (t, n) => o[Math.floor(n * e)]);
|
|
945
|
+
o.splice(0, o.length, ...n);
|
|
946
|
+
for (let e = 0; e < t; e++) {
|
|
947
|
+
let t = Infinity;
|
|
948
|
+
for (let n = 0; n < Ze; n++) {
|
|
949
|
+
let i = 0;
|
|
950
|
+
for (let t = 0; t < 9; t++) i += (r[e * 9 + t] - r[o[n] * 9 + t]) ** 2;
|
|
951
|
+
i < t && (t = i, s[e] = n);
|
|
952
|
+
}
|
|
953
|
+
}
|
|
954
|
+
}
|
|
955
|
+
let c = new Int8Array(o.length * 9);
|
|
956
|
+
return o.forEach((e, t) => c.set(i(e), t * 9)), {
|
|
957
|
+
book: c,
|
|
958
|
+
labels: s
|
|
959
|
+
};
|
|
960
|
+
}
|
|
961
|
+
function it(e, t) {
|
|
962
|
+
let { count: r, position: i, rotation: a, scale: o, alpha: s, dc: c, sh: l } = e, u = [
|
|
963
|
+
Infinity,
|
|
964
|
+
Infinity,
|
|
965
|
+
Infinity
|
|
966
|
+
], d = [
|
|
967
|
+
-Infinity,
|
|
968
|
+
-Infinity,
|
|
969
|
+
-Infinity
|
|
970
|
+
], f = [...u], p = [...d], m = [...u], h = [...d];
|
|
971
|
+
for (let e = 0; e < r; e++) for (let t = 0; t < 3; t++) u[t] = Math.min(u[t], i[e * 3 + t]), d[t] = Math.max(d[t], i[e * 3 + t]), f[t] = Math.min(f[t], o[e * 3 + t]), p[t] = Math.max(p[t], o[e * 3 + t]), m[t] = Math.min(m[t], c[e * 3 + t]), h[t] = Math.max(h[t], c[e * 3 + t]);
|
|
972
|
+
let g = Ye * 2 ** t.g, v = Float32Array.from(u), y = Float32Array.from(u, (e, t) => Math.max(g, (d[t] - e) / 65535)), b = new Uint16Array(r * 3);
|
|
973
|
+
for (let e = 0; e < r; e++) for (let t = 0; t < 3; t++) {
|
|
974
|
+
let n = (i[e * 3 + t] - v[t]) / y[t];
|
|
975
|
+
b[e * 3 + t] = Q(Math.round(n), 0, 65535);
|
|
976
|
+
}
|
|
977
|
+
let x = n * 2 ** t.g, S = (t.i + .5) * x, C = (t.j + .5) * x, w = new Uint8Array(r), T = new Float64Array(r);
|
|
978
|
+
for (let e = 0; e < r; e++) {
|
|
979
|
+
let t = +(i[e * 3] >= S), n = +(i[e * 3 + 1] >= C);
|
|
980
|
+
w[e] = t + 2 * n, T[e] = w[e] * 2 ** 30 + tt(b[e * 3], b[e * 3 + 1], b[e * 3 + 2]);
|
|
981
|
+
}
|
|
982
|
+
let E = Uint32Array.from({ length: r }, (e, t) => t).sort((e, t) => T[e] - T[t]), D = [
|
|
983
|
+
0,
|
|
984
|
+
0,
|
|
985
|
+
0
|
|
986
|
+
];
|
|
987
|
+
for (let e = 1; e < 4; e++) D[e - 1] = w.filter((t) => t < e).length;
|
|
988
|
+
let O = l ? nt(l, r) : /* @__PURE__ */ new Float32Array(9), { book: k, labels: A } = l ? rt(l, r, O) : {
|
|
989
|
+
book: null,
|
|
990
|
+
labels: null
|
|
991
|
+
}, j = k ? k.length / 9 : 0, M = 17 + (j > 0 ? 2 : 0), N = new Uint8Array(128 + M * r + j * 9), P = new DataView(N.buffer);
|
|
992
|
+
P.setUint32(0, r, !0), D.forEach((e, t) => P.setUint32(4 + 4 * t, e, !0)), P.setUint16(16, j, !0), [
|
|
993
|
+
...v,
|
|
994
|
+
...y,
|
|
995
|
+
...f,
|
|
996
|
+
...p,
|
|
997
|
+
...m,
|
|
998
|
+
...h,
|
|
999
|
+
...O
|
|
1000
|
+
].forEach((e, t) => P.setFloat32(20 + 4 * t, e, !0));
|
|
1001
|
+
let F = (e) => 128 + e * r, I = new Float32Array([...u, ...d]), L = /* @__PURE__ */ new Float64Array(4), R = /* @__PURE__ */ new Float64Array(3), z = [
|
|
1002
|
+
0,
|
|
1003
|
+
0,
|
|
1004
|
+
0
|
|
1005
|
+
];
|
|
1006
|
+
for (let e = 0; e < r; e++) {
|
|
1007
|
+
let t = E[e];
|
|
1008
|
+
for (let n = 0; n < 3; n++) {
|
|
1009
|
+
let r = b[t * 3 + n] - z[n] << 16 >> 16, i = r < 0 ? -2 * r - 1 : 2 * r;
|
|
1010
|
+
z[n] = b[t * 3 + n], N[F(_.position + 2 * n) + e] = i & 255, N[F(_.position + 2 * n + 1) + e] = i >> 8;
|
|
1011
|
+
}
|
|
1012
|
+
N[F(_.alpha) + e] = Q(Math.round(s[t] * 255), 0, 255);
|
|
1013
|
+
let n = Math.hypot(...a.subarray(t * 4, t * 4 + 4));
|
|
1014
|
+
for (let e = 0; e < 4; e++) L[e] = a[t * 4 + e] / n;
|
|
1015
|
+
let r = 0;
|
|
1016
|
+
for (let e = 1; e < 4; e++) Math.abs(L[e]) > Math.abs(L[r]) && (r = e);
|
|
1017
|
+
let l = L[r] < 0 ? -1 : 1;
|
|
1018
|
+
N[F(_.rotationIndex) + e] = r;
|
|
1019
|
+
for (let t = 0, n = 0; t < 4; t++) {
|
|
1020
|
+
if (t === r) continue;
|
|
1021
|
+
let i = Math.round((l * L[t] / Math.SQRT2 + .5) * 255);
|
|
1022
|
+
N[F(_.rotation + n++) + e] = Q(i, 0, 255);
|
|
1023
|
+
}
|
|
1024
|
+
for (let n = 0; n < 3; n++) N[F(_.scale + n) + e] = Qe(o[t * 3 + n], f[n], p[n]), N[F(_.dc + n) + e] = Qe(c[t * 3 + n], m[n], h[n]);
|
|
1025
|
+
A && (N[F(_.label) + e] = A[t] & 255, N[F(_.label + 1) + e] = A[t] >> 8);
|
|
1026
|
+
let [u, d, g] = [
|
|
1027
|
+
0,
|
|
1028
|
+
1,
|
|
1029
|
+
2
|
|
1030
|
+
].map((e) => Math.exp(o[t * 3 + e]));
|
|
1031
|
+
oe(L, u, d, g, R);
|
|
1032
|
+
for (let e = 0; e < 3; e++) I[e] = Math.min(I[e], i[t * 3 + e] - R[e]), I[3 + e] = Math.max(I[3 + e], i[t * 3 + e] + R[e]);
|
|
1033
|
+
}
|
|
1034
|
+
return k && N.set(new Uint8Array(k.buffer), F(M)), {
|
|
1035
|
+
payload: N,
|
|
1036
|
+
row: {
|
|
1037
|
+
g: t.g,
|
|
1038
|
+
i: t.i,
|
|
1039
|
+
j: t.j,
|
|
1040
|
+
count: r,
|
|
1041
|
+
quadrants: D,
|
|
1042
|
+
box: I,
|
|
1043
|
+
offset: 0,
|
|
1044
|
+
length: 0
|
|
1045
|
+
}
|
|
1046
|
+
};
|
|
1047
|
+
}
|
|
1048
|
+
function at(e, t, n) {
|
|
1049
|
+
e.setUint8(t, n.g), e.setUint8(t + 1, n.i), e.setUint8(t + 2, n.j), e.setUint32(t + 4, n.count, !0), n.quadrants.forEach((n, r) => e.setUint32(t + 8 + 4 * r, n, !0)), n.box.forEach((n, r) => e.setFloat32(t + 20 + 4 * r, n, !0)), e.setUint32(t + 44, n.offset, !0), e.setUint32(t + 48, n.length, !0);
|
|
1050
|
+
}
|
|
1051
|
+
function ot(e) {
|
|
1052
|
+
let t = e.reduce((e, t) => e + t.blob.length, 0), n = new Uint8Array(t + e.length * 52 + 16), r = new DataView(n.buffer), a = 0;
|
|
1053
|
+
for (let { row: t, blob: r } of e) t.offset = a, t.length = r.length, n.set(r, a), a += r.length;
|
|
1054
|
+
for (let { row: t } of e) at(r, a, t), a += 52;
|
|
1055
|
+
return r.setUint32(a, t, !0), r.setUint32(a + 4, e.length, !0), ct(n, a + 8, i), r.setUint16(a + 12, 1, !0), n;
|
|
1056
|
+
}
|
|
1057
|
+
async function st(e) {
|
|
1058
|
+
let { count: t, position: r } = e;
|
|
1059
|
+
if (t === 0) throw Error("a layer needs at least one splat");
|
|
1060
|
+
let i = [Infinity, Infinity], a = [-Infinity, -Infinity];
|
|
1061
|
+
for (let e = 0; e < t; e++) for (let t = 0; t < 2; t++) i[t] = Math.min(i[t], r[e * 3 + t]), a[t] = Math.max(a[t], r[e * 3 + t]);
|
|
1062
|
+
let o = [Math.floor(i[0]), Math.floor(i[1])], s = Float64Array.from(r);
|
|
1063
|
+
for (let e = 0; e < t; e++) s[e * 3] -= o[0], s[e * 3 + 1] -= o[1];
|
|
1064
|
+
let c = Math.max(a[0] - o[0], a[1] - o[1]), l = 0;
|
|
1065
|
+
for (; n * 2 ** l <= c;) l++;
|
|
1066
|
+
let { payload: u, row: d } = it({
|
|
1067
|
+
...e,
|
|
1068
|
+
position: s
|
|
1069
|
+
}, {
|
|
1070
|
+
g: l,
|
|
1071
|
+
i: 0,
|
|
1072
|
+
j: 0
|
|
1073
|
+
});
|
|
1074
|
+
return {
|
|
1075
|
+
pack: ot([{
|
|
1076
|
+
row: d,
|
|
1077
|
+
blob: await D(u)
|
|
1078
|
+
}]),
|
|
1079
|
+
origin: o
|
|
1080
|
+
};
|
|
1081
|
+
}
|
|
1082
|
+
function ct(e, t, n) {
|
|
1083
|
+
for (let r = 0; r < 4; r++) e[t + r] = n.charCodeAt(r);
|
|
1084
|
+
}
|
|
1085
|
+
function $(e) {
|
|
1086
|
+
return Uint8Array.from({ length: 8 }, (t, n) => parseInt(e.slice(2 * n, 2 * n + 2), 16));
|
|
1087
|
+
}
|
|
1088
|
+
async function lt(e, t) {
|
|
1089
|
+
let n = await D(e), r = new Uint8Array(8 + n.length);
|
|
1090
|
+
return ct(r, 0, t), new DataView(r.buffer).setUint16(4, 1, !0), r.set(n, 8), r;
|
|
1091
|
+
}
|
|
1092
|
+
async function ut(e) {
|
|
1093
|
+
let { rows: t, children: n, descendants: r } = e, i = new Uint8Array(40 + t.length * 52 + n.length * 9 + r.length * 11), o = new DataView(i.buffer);
|
|
1094
|
+
o.setUint8(0, e.level), o.setInt32(4, e.e, !0), o.setInt32(8, e.n, !0), i.set($(e.pack), 12), o.setUint32(20, e.packSize, !0), e.col && i.set($(e.col), 24), o.setUint16(32, t.length, !0), o.setUint8(34, n.length), o.setUint16(36, r.length, !0);
|
|
1095
|
+
let s = 40;
|
|
1096
|
+
for (let e of t) at(o, s, e), s += 52;
|
|
1097
|
+
for (let e of n) o.setUint8(s, e.quadrant), i.set($(e.idx), s + 1), s += 9;
|
|
1098
|
+
for (let e of r) o.setUint8(s, e.depth), o.setUint8(s + 1, e.column), o.setUint8(s + 2, e.row), i.set($(e.idx), s + 3), s += 11;
|
|
1099
|
+
return lt(i, a);
|
|
1100
|
+
}
|
|
1101
|
+
function dt(e) {
|
|
1102
|
+
let t = 3421674724, n = 2216829733;
|
|
1103
|
+
for (let r = 0; r < e.length; r++) {
|
|
1104
|
+
n = (n ^ e[r]) >>> 0;
|
|
1105
|
+
let i = n * 435;
|
|
1106
|
+
t = t * 435 + (n << 8 >>> 0) + Math.floor(i / 4294967296) >>> 0, n = i >>> 0;
|
|
1107
|
+
}
|
|
1108
|
+
return t.toString(16).padStart(8, "0") + n.toString(16).padStart(8, "0");
|
|
1109
|
+
}
|
|
1110
|
+
function ft(e) {
|
|
1111
|
+
return () => {
|
|
1112
|
+
e = e + 1831565813 | 0;
|
|
1113
|
+
let t = Math.imul(e ^ e >>> 15, 1 | e);
|
|
1114
|
+
return t = t + Math.imul(t ^ t >>> 7, 61 | t) ^ t, ((t ^ t >>> 14) >>> 0) / 2 ** 32;
|
|
1115
|
+
};
|
|
903
1116
|
}
|
|
904
1117
|
//#endregion
|
|
905
|
-
export {
|
|
1118
|
+
export { p as A, C as B, t as C, h as D, S as E, i as F, s as G, c as H, l as I, g as L, u as M, a as N, m as O, r as P, w as R, e as S, b as T, d as U, _ as V, y as W, F as _, ft as a, E as b, pe as c, ie as d, te as f, M as g, j as h, it as i, x as j, o as k, he as l, I as m, ut as n, Je as o, ne as p, st as r, ue as s, dt as t, re as u, A as v, f as w, v as x, N as y, n as z };
|