@genome-spy/app 0.84.0 → 0.86.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.md +28 -0
  2. package/dist/{agentApi-DHXYZVvQ.js → agentApi-DgopQbMV.js} +5804 -7009
  3. package/dist/agentApi.es.js +2823 -2594
  4. package/dist/agentShared.es.js +15 -14
  5. package/dist/canvas2d-8uxuN_vx.js +619 -0
  6. package/dist/canvas2d-BtQC7Xr8.js +619 -0
  7. package/dist/canvasSizeHelper-7h_8rOcx.js +56 -0
  8. package/dist/clipOptions-BQfNhxgP.js +2239 -0
  9. package/dist/clipOptions-taFzEljc.js +2259 -0
  10. package/dist/{debug-aHQsa6hU.js → debug-Bzc3SoRg.js} +8 -8
  11. package/dist/{debug-D6FqxKEj.js → debug-D_VtWQ6l.js} +8 -8
  12. package/dist/{esm-CGLz7idZ.js → esm-BA6yMcc-.js} +438 -434
  13. package/dist/{esm-D8vvQAP3.js → esm-CcDLRSvC.js} +33 -33
  14. package/dist/{esm-BeV56E_5.js → esm-CfYZhLHN.js} +33 -33
  15. package/dist/{esm-DQ3lJSQN.js → esm-JAiZmFIS.js} +1 -1
  16. package/dist/index.es.js +3067 -2987
  17. package/dist/index.js +2030 -2022
  18. package/dist/indexer-qiFctgR3.js +72 -0
  19. package/dist/indexer-qy_dq5l5.js +72 -0
  20. package/dist/layoutResult-D50MSHXR.js +97 -0
  21. package/dist/nativeText-DFV5XIx8.js +860 -0
  22. package/dist/nativeText-vT3AWE14.js +860 -0
  23. package/dist/performanceProfiler-CPLEjApa.js +20 -0
  24. package/dist/rasterExport-B8pVoOsj.js +44 -0
  25. package/dist/rasterExport-C4r4xjQT.js +44 -0
  26. package/dist/rasterImage-B4rPLaW9.js +18 -0
  27. package/dist/rasterization-CFogVB3B.js +50 -0
  28. package/dist/rectangle-DKnrAmKs.js +142 -0
  29. package/dist/renderCanvas2D-BQrRWp2Z.js +271 -0
  30. package/dist/renderCanvas2D-CHVNfIUz.js +271 -0
  31. package/dist/schema.json +1559 -219
  32. package/dist/style.css +1 -1
  33. package/dist/svg-C-Sw6E6G.js +1167 -0
  34. package/dist/svg-CKHwwKRt.js +1167 -0
  35. package/dist/{svgNumber-C6aRPc8Z.js → svgNumber-DNxESJQB.js} +1 -1
  36. package/dist/svgRasterizer-BgD72AmG.js +40 -0
  37. package/dist/svgRasterizer-BgSNqI3L.js +40 -0
  38. package/dist/vega-scale-CK0_al6O.js +2700 -0
  39. package/dist/vega-scale-D46-iCaL.js +2700 -0
  40. package/dist/viewError-BiR9VCgL.js +29 -0
  41. package/dist/{viewIdentityRegistry-Dl7rR4Ay.js → viewIdentityRegistry-B-VGlez1.js} +1 -1
  42. package/dist/{viewIdentityRegistry-AEQpJTDm.js → viewIdentityRegistry-CDtVktJD.js} +1 -1
  43. package/dist/viewSelectors-CKfxF_LM.js +1817 -0
  44. package/dist/viewSelectors-D_imtq5Z.js +1817 -0
  45. package/dist/viewUtils-nCJ7AoaI.js +5782 -0
  46. package/dist/warning-CpIIpk8e.js +7 -0
  47. package/dist/webgl-BaA3jSa2.js +4128 -0
  48. package/dist/webgl-FP-4EsBL.js +4128 -0
  49. package/package.json +7 -6
  50. package/dist/bmFontMetrics-CuNB-kNN.js +0 -31
  51. package/dist/clipOptions-Dqco1p8b.js +0 -377
  52. package/dist/framebufferReadback-Bje9lHb7.js +0 -1993
  53. package/dist/framebufferReadback-CC0D6Haw.js +0 -147
  54. package/dist/raster-9uKYMjHZ.js +0 -53
  55. package/dist/raster-BofBWXbe.js +0 -54
  56. package/dist/svg-CvsT1Y2V.js +0 -1793
  57. package/dist/svg-DRgWfcsL.js +0 -1793
  58. package/dist/twgl-full.module-BNEMlXRV.js +0 -1849
  59. package/dist/viewRenderingContext-HtpqwS_x.js +0 -120
  60. package/dist/viewSelectors-BhW4mTR1.js +0 -6386
  61. package/dist/viewSelectors-Bwzj10Qz.js +0 -6363
  62. package/dist/viewUtils-DMNiWslc.js +0 -7228
@@ -1,1993 +0,0 @@
1
- import { _ as e, a as t, n, o as r, u as i } from "./clipOptions-Dqco1p8b.js";
2
- import { t as a } from "./viewRenderingContext-HtpqwS_x.js";
3
- //#region ../../node_modules/d3-array/src/identity.js
4
- function o(e) {
5
- return e;
6
- }
7
- //#endregion
8
- //#region ../../node_modules/d3-array/src/group.js
9
- function s(e, ...t) {
10
- return l(e, o, o, t);
11
- }
12
- function c(e, ...t) {
13
- return l(e, Array.from, o, t);
14
- }
15
- function l(t, n, r, i) {
16
- return (function t(a, o) {
17
- if (o >= i.length) return r(a);
18
- let s = new e(), c = i[o++], l = -1;
19
- for (let e of a) {
20
- let t = c(e, ++l, a), n = s.get(t);
21
- n ? n.push(e) : s.set(t, [e]);
22
- }
23
- for (let [e, n] of s) s.set(e, t(n, o));
24
- return n(s);
25
- })(t, 0);
26
- }
27
- //#endregion
28
- //#region ../../node_modules/twgl.js/dist/4.x/twgl-full.module.js
29
- var u = 5120, d = 5121, f = 5122, p = 5123, m = 5124, h = 5125, g = 5126, ee = 32819, _ = 32820, te = 33635, ne = 5131, re = 33640, ie = 35899, ae = 35902, oe = 36269, se = 34042, ce = {};
30
- {
31
- let e = ce;
32
- e[u] = Int8Array, e[d] = Uint8Array, e[f] = Int16Array, e[p] = Uint16Array, e[m] = Int32Array, e[h] = Uint32Array, e[g] = Float32Array, e[ee] = Uint16Array, e[_] = Uint16Array, e[te] = Uint16Array, e[ne] = Uint16Array, e[re] = Uint32Array, e[ie] = Uint32Array, e[ae] = Uint32Array, e[oe] = Uint32Array, e[se] = Uint32Array;
33
- }
34
- function le(e) {
35
- if (e instanceof Int8Array) return u;
36
- if (e instanceof Uint8Array || e instanceof Uint8ClampedArray) return d;
37
- if (e instanceof Int16Array) return f;
38
- if (e instanceof Uint16Array) return p;
39
- if (e instanceof Int32Array) return m;
40
- if (e instanceof Uint32Array) return h;
41
- if (e instanceof Float32Array) return g;
42
- throw Error("unsupported typed array type");
43
- }
44
- function ue(e) {
45
- if (e === Int8Array) return u;
46
- if (e === Uint8Array || e === Uint8ClampedArray) return d;
47
- if (e === Int16Array) return f;
48
- if (e === Uint16Array) return p;
49
- if (e === Int32Array) return m;
50
- if (e === Uint32Array) return h;
51
- if (e === Float32Array) return g;
52
- throw Error("unsupported typed array type");
53
- }
54
- function de(e) {
55
- let t = ce[e];
56
- if (!t) throw Error("unknown gl type");
57
- return t;
58
- }
59
- var fe = typeof SharedArrayBuffer < "u" ? function(e) {
60
- return e && e.buffer && (e.buffer instanceof ArrayBuffer || e.buffer instanceof SharedArrayBuffer);
61
- } : function(e) {
62
- return e && e.buffer && e.buffer instanceof ArrayBuffer;
63
- };
64
- function pe(...e) {
65
- console.error(...e);
66
- }
67
- function me(...e) {
68
- console.warn(...e);
69
- }
70
- function he(e, t) {
71
- return typeof WebGLBuffer < "u" && t instanceof WebGLBuffer;
72
- }
73
- function ge(e, t) {
74
- return typeof WebGLRenderbuffer < "u" && t instanceof WebGLRenderbuffer;
75
- }
76
- function _e(e, t) {
77
- return typeof WebGLTexture < "u" && t instanceof WebGLTexture;
78
- }
79
- function ve(e, t) {
80
- return typeof WebGLSampler < "u" && t instanceof WebGLSampler;
81
- }
82
- var ye = 35044, v = 34962, be = 34963, xe = 34660, Se = 5120, Ce = 5121, we = 5122, Te = 5123, Ee = 5124, De = 5125, Oe = 5126, ke = { attribPrefix: "" };
83
- function Ae(e, t, n, r, i) {
84
- e.bindBuffer(t, n), e.bufferData(t, r, i || ye);
85
- }
86
- function je(e, t, n, r) {
87
- if (he(e, t)) return t;
88
- n ||= v;
89
- let i = e.createBuffer();
90
- return Ae(e, n, i, t, r), i;
91
- }
92
- function Me(e) {
93
- return e === "indices";
94
- }
95
- function Ne(e) {
96
- return e instanceof Int8Array || e instanceof Uint8Array;
97
- }
98
- function Pe(e) {
99
- return e === Int8Array || e === Uint8Array;
100
- }
101
- function Fe(e) {
102
- return e.length ? e : e.data;
103
- }
104
- var Ie = /coord|texture/i, Le = /color|colour/i;
105
- function Re(e, t) {
106
- let n;
107
- if (n = Ie.test(e) ? 2 : Le.test(e) ? 4 : 3, t % n > 0) throw Error(`Can not guess numComponents for attribute '${e}'. Tried ${n} but ${t} values is not evenly divisible by ${n}. You should specify it.`);
108
- return n;
109
- }
110
- function ze(e, t) {
111
- return e.numComponents || e.size || Re(t, Fe(e).length);
112
- }
113
- function Be(e, t) {
114
- if (fe(e)) return e;
115
- if (fe(e.data)) return e.data;
116
- Array.isArray(e) && (e = { data: e });
117
- let n = e.type;
118
- return n ||= Me(t) ? Uint16Array : Float32Array, new n(e.data);
119
- }
120
- function Ve(e, t) {
121
- let n = {};
122
- return Object.keys(t).forEach(function(r) {
123
- if (!Me(r)) {
124
- let i = t[r], a = i.attrib || i.name || i.attribName || ke.attribPrefix + r;
125
- if (i.value) {
126
- if (!Array.isArray(i.value) && !fe(i.value)) throw Error("array.value is not array or typedarray");
127
- n[a] = { value: i.value };
128
- } else {
129
- let t, o, s, c;
130
- if (i.buffer && i.buffer instanceof WebGLBuffer) t = i.buffer, c = i.numComponents || i.size, o = i.type, s = i.normalize;
131
- else if (typeof i == "number" || typeof i.data == "number") {
132
- let n = i.data || i, a = i.type || Float32Array, l = n * a.BYTES_PER_ELEMENT;
133
- o = ue(a), s = i.normalize === void 0 ? Pe(a) : i.normalize, c = i.numComponents || i.size || Re(r, n), t = e.createBuffer(), e.bindBuffer(v, t), e.bufferData(v, l, i.drawType || ye);
134
- } else {
135
- let n = Be(i, r);
136
- t = je(e, n, void 0, i.drawType), o = le(n), s = i.normalize === void 0 ? Ne(n) : i.normalize, c = ze(i, r);
137
- }
138
- n[a] = {
139
- buffer: t,
140
- numComponents: c,
141
- type: o,
142
- normalize: s,
143
- stride: i.stride || 0,
144
- offset: i.offset || 0,
145
- divisor: i.divisor === void 0 ? void 0 : i.divisor,
146
- drawType: i.drawType
147
- };
148
- }
149
- }
150
- }), e.bindBuffer(v, null), n;
151
- }
152
- function He(e, t, n, r) {
153
- n = Be(n), r === void 0 ? Ae(e, v, t.buffer, n, t.drawType) : (e.bindBuffer(v, t.buffer), e.bufferSubData(v, r, n));
154
- }
155
- function Ue(e, t) {
156
- return t === Se || t === Ce ? 1 : t === we || t === Te ? 2 : t === Ee || t === De || t === Oe ? 4 : 0;
157
- }
158
- var We = [
159
- "position",
160
- "positions",
161
- "a_position"
162
- ];
163
- function Ge(e, t) {
164
- let n, r;
165
- for (r = 0; r < We.length && (n = We[r], !(n in t || (n = ke.attribPrefix + n, n in t))); ++r);
166
- r === We.length && (n = Object.keys(t)[0]);
167
- let i = t[n];
168
- if (!i.buffer) return 1;
169
- e.bindBuffer(v, i.buffer);
170
- let a = e.getBufferParameter(v, xe);
171
- e.bindBuffer(v, null);
172
- let o = a / Ue(e, i.type), s = i.numComponents || i.size, c = o / s;
173
- if (c % 1 != 0) throw Error(`numComponents ${s} not correct for length ${length}`);
174
- return c;
175
- }
176
- function Ke(e, t, n) {
177
- let r = Ve(e, t), i = Object.assign({}, n || {});
178
- i.attribs = Object.assign({}, n ? n.attribs : {}, r);
179
- let a = t.indices;
180
- if (a) {
181
- let t = Be(a, "indices");
182
- i.indices = je(e, t, be), i.numElements = t.length, i.elementType = le(t);
183
- } else i.numElements ||= Ge(e, i.attribs);
184
- return i;
185
- }
186
- function y(e) {
187
- return !!e.texStorage2D;
188
- }
189
- var qe = function() {
190
- let e = {}, t = {};
191
- function n(n) {
192
- let r = n.constructor.name;
193
- if (!e[r]) {
194
- for (let e in n) if (typeof n[e] == "number") {
195
- let r = t[n[e]];
196
- t[n[e]] = r ? `${r} | ${e}` : e;
197
- }
198
- e[r] = !0;
199
- }
200
- }
201
- return function(e, r) {
202
- return n(e), t[r] || (typeof r == "number" ? `0x${r.toString(16)}` : r);
203
- };
204
- }(), b = {
205
- textureColor: new Uint8Array([
206
- 128,
207
- 192,
208
- 255,
209
- 255
210
- ]),
211
- textureOptions: {},
212
- crossOrigin: void 0
213
- }, x = fe, Je = function() {
214
- let e;
215
- return function() {
216
- return e ||= typeof document < "u" && document.createElement ? document.createElement("canvas").getContext("2d") : null, e;
217
- };
218
- }(), Ye = 6406, S = 6407, C = 6408, Xe = 6409, Ze = 6410, w = 6402, Qe = 34041, $e = 33071, et = 9728, tt = 9729, T = 3553, E = 34067, D = 32879, O = 35866, nt = 34069, rt = 34070, it = 34071, at = 34072, ot = 34073, st = 34074, ct = 10241, lt = 10240, ut = 10242, dt = 10243, ft = 32882, pt = 33082, mt = 33083, ht = 33084, gt = 33085, _t = 3317, vt = 3314, yt = 32878, bt = 3316, xt = 3315, St = 32877, Ct = 37443, wt = 37441, Tt = 37440, Et = 33321, Dt = 36756, Ot = 33325, kt = 33326, At = 33330, jt = 33329, Mt = 33338, Nt = 33337, Pt = 33340, Ft = 33339, It = 33323, Lt = 36757, Rt = 33327, zt = 33328, Bt = 33336, Vt = 33335, Ht = 33332, Ut = 33331, Wt = 33334, Gt = 33333, Kt = 32849, qt = 35905, Jt = 36194, Yt = 36758, Xt = 35898, Zt = 35901, Qt = 34843, $t = 34837, en = 36221, tn = 36239, nn = 36215, rn = 36233, an = 36209, on = 36227, sn = 32856, cn = 35907, ln = 36759, un = 32855, dn = 32854, fn = 32857, pn = 34842, mn = 34836, hn = 36220, gn = 36238, _n = 36975, vn = 36214, yn = 36232, bn = 36226, xn = 36208, Sn = 33189, Cn = 33190, wn = 36012, Tn = 36013, En = 35056, k = 5120, A = 5121, Dn = 5122, j = 5123, On = 5124, M = 5125, N = 5126, kn = 32819, An = 32820, jn = 33635, P = 5131, F = 36193, Mn = 33640, Nn = 35899, Pn = 35902, Fn = 36269, In = 34042, I = 33319, L = 33320, R = 6403, z = 36244, B = 36248, V = 36249, Ln = {};
219
- {
220
- let e = Ln;
221
- e[Ye] = { numColorComponents: 1 }, e[Xe] = { numColorComponents: 1 }, e[Ze] = { numColorComponents: 2 }, e[S] = { numColorComponents: 3 }, e[C] = { numColorComponents: 4 }, e[R] = { numColorComponents: 1 }, e[z] = { numColorComponents: 1 }, e[I] = { numColorComponents: 2 }, e[L] = { numColorComponents: 2 }, e[S] = { numColorComponents: 3 }, e[B] = { numColorComponents: 3 }, e[C] = { numColorComponents: 4 }, e[V] = { numColorComponents: 4 }, e[w] = { numColorComponents: 1 }, e[Qe] = { numColorComponents: 2 };
222
- }
223
- var Rn;
224
- function zn(e) {
225
- if (!Rn) {
226
- let e = {};
227
- e[Ye] = {
228
- textureFormat: Ye,
229
- colorRenderable: !0,
230
- textureFilterable: !0,
231
- bytesPerElement: [
232
- 1,
233
- 2,
234
- 2,
235
- 4
236
- ],
237
- type: [
238
- A,
239
- P,
240
- F,
241
- N
242
- ]
243
- }, e[Xe] = {
244
- textureFormat: Xe,
245
- colorRenderable: !0,
246
- textureFilterable: !0,
247
- bytesPerElement: [
248
- 1,
249
- 2,
250
- 2,
251
- 4
252
- ],
253
- type: [
254
- A,
255
- P,
256
- F,
257
- N
258
- ]
259
- }, e[Ze] = {
260
- textureFormat: Ze,
261
- colorRenderable: !0,
262
- textureFilterable: !0,
263
- bytesPerElement: [
264
- 2,
265
- 4,
266
- 4,
267
- 8
268
- ],
269
- type: [
270
- A,
271
- P,
272
- F,
273
- N
274
- ]
275
- }, e[S] = {
276
- textureFormat: S,
277
- colorRenderable: !0,
278
- textureFilterable: !0,
279
- bytesPerElement: [
280
- 3,
281
- 6,
282
- 6,
283
- 12,
284
- 2
285
- ],
286
- type: [
287
- A,
288
- P,
289
- F,
290
- N,
291
- jn
292
- ]
293
- }, e[C] = {
294
- textureFormat: C,
295
- colorRenderable: !0,
296
- textureFilterable: !0,
297
- bytesPerElement: [
298
- 4,
299
- 8,
300
- 8,
301
- 16,
302
- 2,
303
- 2
304
- ],
305
- type: [
306
- A,
307
- P,
308
- F,
309
- N,
310
- kn,
311
- An
312
- ]
313
- }, e[w] = {
314
- textureFormat: w,
315
- colorRenderable: !0,
316
- textureFilterable: !1,
317
- bytesPerElement: [2, 4],
318
- type: [M, j]
319
- }, e[Et] = {
320
- textureFormat: R,
321
- colorRenderable: !0,
322
- textureFilterable: !0,
323
- bytesPerElement: [1],
324
- type: [A]
325
- }, e[Dt] = {
326
- textureFormat: R,
327
- colorRenderable: !1,
328
- textureFilterable: !0,
329
- bytesPerElement: [1],
330
- type: [k]
331
- }, e[Ot] = {
332
- textureFormat: R,
333
- colorRenderable: !1,
334
- textureFilterable: !0,
335
- bytesPerElement: [4, 2],
336
- type: [N, P]
337
- }, e[kt] = {
338
- textureFormat: R,
339
- colorRenderable: !1,
340
- textureFilterable: !1,
341
- bytesPerElement: [4],
342
- type: [N]
343
- }, e[At] = {
344
- textureFormat: z,
345
- colorRenderable: !0,
346
- textureFilterable: !1,
347
- bytesPerElement: [1],
348
- type: [A]
349
- }, e[jt] = {
350
- textureFormat: z,
351
- colorRenderable: !0,
352
- textureFilterable: !1,
353
- bytesPerElement: [1],
354
- type: [k]
355
- }, e[Ht] = {
356
- textureFormat: z,
357
- colorRenderable: !0,
358
- textureFilterable: !1,
359
- bytesPerElement: [2],
360
- type: [j]
361
- }, e[Ut] = {
362
- textureFormat: z,
363
- colorRenderable: !0,
364
- textureFilterable: !1,
365
- bytesPerElement: [2],
366
- type: [Dn]
367
- }, e[Wt] = {
368
- textureFormat: z,
369
- colorRenderable: !0,
370
- textureFilterable: !1,
371
- bytesPerElement: [4],
372
- type: [M]
373
- }, e[Gt] = {
374
- textureFormat: z,
375
- colorRenderable: !0,
376
- textureFilterable: !1,
377
- bytesPerElement: [4],
378
- type: [On]
379
- }, e[It] = {
380
- textureFormat: I,
381
- colorRenderable: !0,
382
- textureFilterable: !0,
383
- bytesPerElement: [2],
384
- type: [A]
385
- }, e[Lt] = {
386
- textureFormat: I,
387
- colorRenderable: !1,
388
- textureFilterable: !0,
389
- bytesPerElement: [2],
390
- type: [k]
391
- }, e[Rt] = {
392
- textureFormat: I,
393
- colorRenderable: !1,
394
- textureFilterable: !0,
395
- bytesPerElement: [8, 4],
396
- type: [N, P]
397
- }, e[zt] = {
398
- textureFormat: I,
399
- colorRenderable: !1,
400
- textureFilterable: !1,
401
- bytesPerElement: [8],
402
- type: [N]
403
- }, e[Bt] = {
404
- textureFormat: L,
405
- colorRenderable: !0,
406
- textureFilterable: !1,
407
- bytesPerElement: [2],
408
- type: [A]
409
- }, e[Vt] = {
410
- textureFormat: L,
411
- colorRenderable: !0,
412
- textureFilterable: !1,
413
- bytesPerElement: [2],
414
- type: [k]
415
- }, e[Mt] = {
416
- textureFormat: L,
417
- colorRenderable: !0,
418
- textureFilterable: !1,
419
- bytesPerElement: [4],
420
- type: [j]
421
- }, e[Nt] = {
422
- textureFormat: L,
423
- colorRenderable: !0,
424
- textureFilterable: !1,
425
- bytesPerElement: [4],
426
- type: [Dn]
427
- }, e[Pt] = {
428
- textureFormat: L,
429
- colorRenderable: !0,
430
- textureFilterable: !1,
431
- bytesPerElement: [8],
432
- type: [M]
433
- }, e[Ft] = {
434
- textureFormat: L,
435
- colorRenderable: !0,
436
- textureFilterable: !1,
437
- bytesPerElement: [8],
438
- type: [On]
439
- }, e[Kt] = {
440
- textureFormat: S,
441
- colorRenderable: !0,
442
- textureFilterable: !0,
443
- bytesPerElement: [3],
444
- type: [A]
445
- }, e[qt] = {
446
- textureFormat: S,
447
- colorRenderable: !1,
448
- textureFilterable: !0,
449
- bytesPerElement: [3],
450
- type: [A]
451
- }, e[Jt] = {
452
- textureFormat: S,
453
- colorRenderable: !0,
454
- textureFilterable: !0,
455
- bytesPerElement: [3, 2],
456
- type: [A, jn]
457
- }, e[Yt] = {
458
- textureFormat: S,
459
- colorRenderable: !1,
460
- textureFilterable: !0,
461
- bytesPerElement: [3],
462
- type: [k]
463
- }, e[Xt] = {
464
- textureFormat: S,
465
- colorRenderable: !1,
466
- textureFilterable: !0,
467
- bytesPerElement: [
468
- 12,
469
- 6,
470
- 4
471
- ],
472
- type: [
473
- N,
474
- P,
475
- Nn
476
- ]
477
- }, e[Zt] = {
478
- textureFormat: S,
479
- colorRenderable: !1,
480
- textureFilterable: !0,
481
- bytesPerElement: [
482
- 12,
483
- 6,
484
- 4
485
- ],
486
- type: [
487
- N,
488
- P,
489
- Pn
490
- ]
491
- }, e[Qt] = {
492
- textureFormat: S,
493
- colorRenderable: !1,
494
- textureFilterable: !0,
495
- bytesPerElement: [12, 6],
496
- type: [N, P]
497
- }, e[$t] = {
498
- textureFormat: S,
499
- colorRenderable: !1,
500
- textureFilterable: !1,
501
- bytesPerElement: [12],
502
- type: [N]
503
- }, e[en] = {
504
- textureFormat: B,
505
- colorRenderable: !1,
506
- textureFilterable: !1,
507
- bytesPerElement: [3],
508
- type: [A]
509
- }, e[tn] = {
510
- textureFormat: B,
511
- colorRenderable: !1,
512
- textureFilterable: !1,
513
- bytesPerElement: [3],
514
- type: [k]
515
- }, e[nn] = {
516
- textureFormat: B,
517
- colorRenderable: !1,
518
- textureFilterable: !1,
519
- bytesPerElement: [6],
520
- type: [j]
521
- }, e[rn] = {
522
- textureFormat: B,
523
- colorRenderable: !1,
524
- textureFilterable: !1,
525
- bytesPerElement: [6],
526
- type: [Dn]
527
- }, e[an] = {
528
- textureFormat: B,
529
- colorRenderable: !1,
530
- textureFilterable: !1,
531
- bytesPerElement: [12],
532
- type: [M]
533
- }, e[on] = {
534
- textureFormat: B,
535
- colorRenderable: !1,
536
- textureFilterable: !1,
537
- bytesPerElement: [12],
538
- type: [On]
539
- }, e[sn] = {
540
- textureFormat: C,
541
- colorRenderable: !0,
542
- textureFilterable: !0,
543
- bytesPerElement: [4],
544
- type: [A]
545
- }, e[cn] = {
546
- textureFormat: C,
547
- colorRenderable: !0,
548
- textureFilterable: !0,
549
- bytesPerElement: [4],
550
- type: [A]
551
- }, e[ln] = {
552
- textureFormat: C,
553
- colorRenderable: !1,
554
- textureFilterable: !0,
555
- bytesPerElement: [4],
556
- type: [k]
557
- }, e[un] = {
558
- textureFormat: C,
559
- colorRenderable: !0,
560
- textureFilterable: !0,
561
- bytesPerElement: [
562
- 4,
563
- 2,
564
- 4
565
- ],
566
- type: [
567
- A,
568
- An,
569
- Mn
570
- ]
571
- }, e[dn] = {
572
- textureFormat: C,
573
- colorRenderable: !0,
574
- textureFilterable: !0,
575
- bytesPerElement: [4, 2],
576
- type: [A, kn]
577
- }, e[fn] = {
578
- textureFormat: C,
579
- colorRenderable: !0,
580
- textureFilterable: !0,
581
- bytesPerElement: [4],
582
- type: [Mn]
583
- }, e[pn] = {
584
- textureFormat: C,
585
- colorRenderable: !1,
586
- textureFilterable: !0,
587
- bytesPerElement: [16, 8],
588
- type: [N, P]
589
- }, e[mn] = {
590
- textureFormat: C,
591
- colorRenderable: !1,
592
- textureFilterable: !1,
593
- bytesPerElement: [16],
594
- type: [N]
595
- }, e[hn] = {
596
- textureFormat: V,
597
- colorRenderable: !0,
598
- textureFilterable: !1,
599
- bytesPerElement: [4],
600
- type: [A]
601
- }, e[gn] = {
602
- textureFormat: V,
603
- colorRenderable: !0,
604
- textureFilterable: !1,
605
- bytesPerElement: [4],
606
- type: [k]
607
- }, e[_n] = {
608
- textureFormat: V,
609
- colorRenderable: !0,
610
- textureFilterable: !1,
611
- bytesPerElement: [4],
612
- type: [Mn]
613
- }, e[vn] = {
614
- textureFormat: V,
615
- colorRenderable: !0,
616
- textureFilterable: !1,
617
- bytesPerElement: [8],
618
- type: [j]
619
- }, e[yn] = {
620
- textureFormat: V,
621
- colorRenderable: !0,
622
- textureFilterable: !1,
623
- bytesPerElement: [8],
624
- type: [Dn]
625
- }, e[bn] = {
626
- textureFormat: V,
627
- colorRenderable: !0,
628
- textureFilterable: !1,
629
- bytesPerElement: [16],
630
- type: [On]
631
- }, e[xn] = {
632
- textureFormat: V,
633
- colorRenderable: !0,
634
- textureFilterable: !1,
635
- bytesPerElement: [16],
636
- type: [M]
637
- }, e[Sn] = {
638
- textureFormat: w,
639
- colorRenderable: !0,
640
- textureFilterable: !1,
641
- bytesPerElement: [2, 4],
642
- type: [j, M]
643
- }, e[Cn] = {
644
- textureFormat: w,
645
- colorRenderable: !0,
646
- textureFilterable: !1,
647
- bytesPerElement: [4],
648
- type: [M]
649
- }, e[wn] = {
650
- textureFormat: w,
651
- colorRenderable: !0,
652
- textureFilterable: !1,
653
- bytesPerElement: [4],
654
- type: [N]
655
- }, e[En] = {
656
- textureFormat: Qe,
657
- colorRenderable: !0,
658
- textureFilterable: !1,
659
- bytesPerElement: [4],
660
- type: [In]
661
- }, e[Tn] = {
662
- textureFormat: Qe,
663
- colorRenderable: !0,
664
- textureFilterable: !1,
665
- bytesPerElement: [4],
666
- type: [Fn]
667
- }, Object.keys(e).forEach(function(t) {
668
- let n = e[t];
669
- n.bytesPerElementMap = {}, n.bytesPerElement.forEach(function(e, t) {
670
- let r = n.type[t];
671
- n.bytesPerElementMap[r] = e;
672
- });
673
- }), Rn = e;
674
- }
675
- return Rn[e];
676
- }
677
- function Bn(e, t) {
678
- let n = zn(e);
679
- if (!n) throw "unknown internal format";
680
- let r = n.bytesPerElementMap[t];
681
- if (r === void 0) throw "unknown internal format";
682
- return r;
683
- }
684
- function H(e) {
685
- let t = zn(e);
686
- if (!t) throw "unknown internal format";
687
- return {
688
- format: t.textureFormat,
689
- type: t.type[0]
690
- };
691
- }
692
- function Vn(e) {
693
- return (e & e - 1) == 0;
694
- }
695
- function Hn(e, t, n, r) {
696
- if (!y(e)) return Vn(t) && Vn(n);
697
- let i = zn(r);
698
- if (!i) throw "unknown internal format";
699
- return i.colorRenderable && i.textureFilterable;
700
- }
701
- function Un(e) {
702
- let t = zn(e);
703
- if (!t) throw "unknown internal format";
704
- return t.textureFilterable;
705
- }
706
- function Wn(e, t, n) {
707
- return x(t) ? le(t) : n || A;
708
- }
709
- function Gn(e, t, n, r, i) {
710
- if (i % 1 != 0) throw "can't guess dimensions";
711
- if (!n && !r) {
712
- let e = Math.sqrt(i / (t === E ? 6 : 1));
713
- e % 1 == 0 ? (n = e, r = e) : (n = i, r = 1);
714
- } else if (!r) {
715
- if (r = i / n, r % 1) throw "can't guess dimensions";
716
- } else if (!n && (n = i / r, n % 1)) throw "can't guess dimensions";
717
- return {
718
- width: n,
719
- height: r
720
- };
721
- }
722
- function U(e, t) {
723
- t.colorspaceConversion !== void 0 && e.pixelStorei(Ct, t.colorspaceConversion), t.premultiplyAlpha !== void 0 && e.pixelStorei(wt, t.premultiplyAlpha), t.flipY !== void 0 && e.pixelStorei(Tt, t.flipY);
724
- }
725
- function Kn(e) {
726
- e.pixelStorei(_t, 4), y(e) && (e.pixelStorei(vt, 0), e.pixelStorei(yt, 0), e.pixelStorei(bt, 0), e.pixelStorei(xt, 0), e.pixelStorei(St, 0));
727
- }
728
- function qn(e, t, n, r) {
729
- r.minMag && (n.call(e, t, ct, r.minMag), n.call(e, t, lt, r.minMag)), r.min && n.call(e, t, ct, r.min), r.mag && n.call(e, t, lt, r.mag), r.wrap && (n.call(e, t, ut, r.wrap), n.call(e, t, dt, r.wrap), (t === D || ve(e, t)) && n.call(e, t, ft, r.wrap)), r.wrapR && n.call(e, t, ft, r.wrapR), r.wrapS && n.call(e, t, ut, r.wrapS), r.wrapT && n.call(e, t, dt, r.wrapT), r.minLod && n.call(e, t, pt, r.minLod), r.maxLod && n.call(e, t, mt, r.maxLod), r.baseLevel && n.call(e, t, ht, r.baseLevel), r.maxLevel && n.call(e, t, gt, r.maxLevel);
730
- }
731
- function Jn(e, t, n) {
732
- let r = n.target || T;
733
- e.bindTexture(r, t), qn(e, r, e.texParameteri, n);
734
- }
735
- function Yn(e) {
736
- return e ||= b.textureColor, x(e) ? e : new Uint8Array([
737
- e[0] * 255,
738
- e[1] * 255,
739
- e[2] * 255,
740
- e[3] * 255
741
- ]);
742
- }
743
- function Xn(e, t, n, r, i, a) {
744
- n ||= b.textureOptions, a ||= C;
745
- let o = n.target || T;
746
- if (r ||= n.width, i ||= n.height, e.bindTexture(o, t), Hn(e, r, i, a)) e.generateMipmap(o);
747
- else {
748
- let t = Un(a) ? tt : et;
749
- e.texParameteri(o, ct, t), e.texParameteri(o, lt, t), e.texParameteri(o, ut, $e), e.texParameteri(o, dt, $e);
750
- }
751
- }
752
- function W(e) {
753
- return e.auto === !0 || e.auto === void 0 && e.level === void 0;
754
- }
755
- function Zn(e, t) {
756
- return t ||= {}, t.cubeFaceOrder || [
757
- nt,
758
- rt,
759
- it,
760
- at,
761
- ot,
762
- st
763
- ];
764
- }
765
- function Qn(e, t) {
766
- let n = Zn(e, t).map(function(e, t) {
767
- return {
768
- face: e,
769
- ndx: t
770
- };
771
- });
772
- return n.sort(function(e, t) {
773
- return e.face - t.face;
774
- }), n;
775
- }
776
- function $n(e, t, n, r) {
777
- r ||= b.textureOptions;
778
- let i = r.target || T, a = r.level || 0, o = n.width, s = n.height, c = r.internalFormat || r.format || C, l = H(c), u = r.format || l.format, d = r.type || l.type;
779
- if (U(e, r), e.bindTexture(i, t), i === E) {
780
- let l = n.width, f = n.height, p, m;
781
- if (l / 6 === f) p = f, m = [
782
- 0,
783
- 0,
784
- 1,
785
- 0,
786
- 2,
787
- 0,
788
- 3,
789
- 0,
790
- 4,
791
- 0,
792
- 5,
793
- 0
794
- ];
795
- else if (f / 6 === l) p = l, m = [
796
- 0,
797
- 0,
798
- 0,
799
- 1,
800
- 0,
801
- 2,
802
- 0,
803
- 3,
804
- 0,
805
- 4,
806
- 0,
807
- 5
808
- ];
809
- else if (l / 3 == f / 2) p = l / 3, m = [
810
- 0,
811
- 0,
812
- 1,
813
- 0,
814
- 2,
815
- 0,
816
- 0,
817
- 1,
818
- 1,
819
- 1,
820
- 2,
821
- 1
822
- ];
823
- else if (l / 2 == f / 3) p = l / 2, m = [
824
- 0,
825
- 0,
826
- 1,
827
- 0,
828
- 0,
829
- 1,
830
- 1,
831
- 1,
832
- 0,
833
- 2,
834
- 1,
835
- 2
836
- ];
837
- else throw "can't figure out cube map from element: " + (n.src ? n.src : n.nodeName);
838
- let h = Je();
839
- h ? (h.canvas.width = p, h.canvas.height = p, o = p, s = p, Qn(e, r).forEach(function(t) {
840
- let r = m[t.ndx * 2 + 0] * p, i = m[t.ndx * 2 + 1] * p;
841
- h.drawImage(n, r, i, p, p, 0, 0, p, p), e.texImage2D(t.face, a, c, u, d, h.canvas);
842
- }), h.canvas.width = 1, h.canvas.height = 1) : typeof createImageBitmap < "u" && (o = p, s = p, Qn(e, r).forEach(function(l) {
843
- let f = m[l.ndx * 2 + 0] * p, h = m[l.ndx * 2 + 1] * p;
844
- e.texImage2D(l.face, a, c, p, p, 0, u, d, null), createImageBitmap(n, f, h, p, p, {
845
- premultiplyAlpha: "none",
846
- colorSpaceConversion: "none"
847
- }).then(function(n) {
848
- U(e, r), e.bindTexture(i, t), e.texImage2D(l.face, a, c, u, d, n), W(r) && Xn(e, t, r, o, s, c);
849
- });
850
- }));
851
- } else if (i === D || i === O) {
852
- let t = Math.min(n.width, n.height), r = Math.max(n.width, n.height), o = r / t;
853
- if (o % 1 != 0) throw "can not compute 3D dimensions of element";
854
- let s = +(n.width === r), l = +(n.height === r);
855
- e.pixelStorei(_t, 1), e.pixelStorei(vt, n.width), e.pixelStorei(yt, 0), e.pixelStorei(St, 0), e.texImage3D(i, a, c, t, t, t, 0, u, d, null);
856
- for (let r = 0; r < o; ++r) {
857
- let o = r * t * s, c = r * t * l;
858
- e.pixelStorei(bt, o), e.pixelStorei(xt, c), e.texSubImage3D(i, a, 0, 0, r, t, t, 1, u, d, n);
859
- }
860
- Kn(e);
861
- } else e.texImage2D(i, a, c, u, d, n);
862
- W(r) && Xn(e, t, r, o, s, c), Jn(e, t, r);
863
- }
864
- function G() {}
865
- function er(e) {
866
- if (typeof document < "u") {
867
- let t = document.createElement("a");
868
- return t.href = e, t.hostname === location.hostname && t.port === location.port && t.protocol === location.protocol;
869
- } else {
870
- let t = new URL(location.href).origin;
871
- return new URL(e, location.href).origin === t;
872
- }
873
- }
874
- function tr(e, t) {
875
- return t === void 0 && !er(e) ? "anonymous" : t;
876
- }
877
- function nr(e, t, n) {
878
- n ||= G;
879
- let r;
880
- if (t = t === void 0 ? b.crossOrigin : t, t = tr(e, t), typeof Image < "u") {
881
- r = new Image(), t !== void 0 && (r.crossOrigin = t);
882
- let i = function() {
883
- r.removeEventListener("error", a), r.removeEventListener("load", o), r = null;
884
- }, a = function() {
885
- let t = "couldn't load image: " + e;
886
- pe(t), n(t, r), i();
887
- }, o = function() {
888
- n(null, r), i();
889
- };
890
- return r.addEventListener("error", a), r.addEventListener("load", o), r.src = e, r;
891
- } else if (typeof ImageBitmap < "u") {
892
- let i, a, o = function() {
893
- n(i, a);
894
- }, s = {};
895
- t && (s.mode = "cors"), fetch(e, s).then(function(e) {
896
- if (!e.ok) throw e;
897
- return e.blob();
898
- }).then(function(e) {
899
- return createImageBitmap(e, {
900
- premultiplyAlpha: "none",
901
- colorSpaceConversion: "none"
902
- });
903
- }).then(function(e) {
904
- a = e, setTimeout(o);
905
- }).catch(function(e) {
906
- i = e, setTimeout(o);
907
- }), r = null;
908
- }
909
- return r;
910
- }
911
- function rr(e) {
912
- return typeof ImageBitmap < "u" && e instanceof ImageBitmap || typeof ImageData < "u" && e instanceof ImageData || typeof HTMLElement < "u" && e instanceof HTMLElement;
913
- }
914
- function ir(e, t, n) {
915
- return rr(e) ? (setTimeout(function() {
916
- n(null, e);
917
- }), e) : nr(e, t, n);
918
- }
919
- function ar(e, t, n) {
920
- n ||= b.textureOptions;
921
- let r = n.target || T;
922
- if (e.bindTexture(r, t), n.color === !1) return;
923
- let i = Yn(n.color);
924
- if (r === E) for (let t = 0; t < 6; ++t) e.texImage2D(nt + t, 0, C, 1, 1, 0, C, A, i);
925
- else r === D || r === O ? e.texImage3D(r, 0, C, 1, 1, 1, 0, C, A, i) : e.texImage2D(r, 0, C, 1, 1, 0, C, A, i);
926
- }
927
- function or(e, t, n, r) {
928
- return r ||= G, n ||= b.textureOptions, ar(e, t, n), n = Object.assign({}, n), ir(n.src, n.crossOrigin, function(i, a) {
929
- i ? r(i, t, a) : ($n(e, t, a, n), r(null, t, a));
930
- });
931
- }
932
- function sr(e, t, n, r) {
933
- r ||= G;
934
- let i = n.src;
935
- if (i.length !== 6) throw "there must be 6 urls for a cubemap";
936
- let a = n.level || 0, o = n.internalFormat || n.format || C, s = H(o), c = n.format || s.format, l = n.type || A, u = n.target || T;
937
- if (u !== E) throw "target must be TEXTURE_CUBE_MAP";
938
- ar(e, t, n), n = Object.assign({}, n);
939
- let d = 6, f = [], p = Zn(e, n), m;
940
- function h(i) {
941
- return function(s, p) {
942
- --d, s ? f.push(s) : p.width === p.height ? (U(e, n), e.bindTexture(u, t), d === 5 ? Zn().forEach(function(t) {
943
- e.texImage2D(t, a, o, c, l, p);
944
- }) : e.texImage2D(i, a, o, c, l, p), W(n) && e.generateMipmap(u)) : f.push("cubemap face img is not a square: " + p.src), d === 0 && r(f.length ? f : void 0, t, m);
945
- };
946
- }
947
- m = i.map(function(e, t) {
948
- return ir(e, n.crossOrigin, h(p[t]));
949
- });
950
- }
951
- function cr(e, t, n, r) {
952
- r ||= G;
953
- let i = n.src, a = n.internalFormat || n.format || C, o = H(a), s = n.format || o.format, c = n.type || A, l = n.target || O;
954
- if (l !== D && l !== O) throw "target must be TEXTURE_3D or TEXTURE_2D_ARRAY";
955
- ar(e, t, n), n = Object.assign({}, n);
956
- let u = i.length, d = [], f, p = n.level || 0, m = n.width, h = n.height, g = i.length, ee = !0;
957
- function _(i) {
958
- return function(o, _) {
959
- if (--u, o) d.push(o);
960
- else {
961
- if (U(e, n), e.bindTexture(l, t), ee) {
962
- ee = !1, m = n.width || _.width, h = n.height || _.height, e.texImage3D(l, p, a, m, h, g, 0, s, c, null);
963
- for (let t = 0; t < g; ++t) e.texSubImage3D(l, p, 0, 0, t, m, h, 1, s, c, _);
964
- } else {
965
- let t = _, n;
966
- (_.width !== m || _.height !== h) && (n = Je(), t = n.canvas, n.canvas.width = m, n.canvas.height = h, n.drawImage(_, 0, 0, m, h)), e.texSubImage3D(l, p, 0, 0, i, m, h, 1, s, c, t), n && t === n.canvas && (n.canvas.width = 0, n.canvas.height = 0);
967
- }
968
- W(n) && e.generateMipmap(l);
969
- }
970
- u === 0 && r(d.length ? d : void 0, t, f);
971
- };
972
- }
973
- f = i.map(function(e, t) {
974
- return ir(e, n.crossOrigin, _(t));
975
- });
976
- }
977
- function lr(e, t, n, r) {
978
- r ||= b.textureOptions;
979
- let i = r.target || T;
980
- e.bindTexture(i, t);
981
- let a = r.width, o = r.height, s = r.depth, c = r.level || 0, l = r.internalFormat || r.format || C, u = H(l), d = r.format || u.format, f = r.type || Wn(e, n, u.type);
982
- x(n) ? n instanceof Uint8ClampedArray && (n = new Uint8Array(n.buffer)) : n = new (de(f))(n);
983
- let p = Bn(l, f), m = n.byteLength / p;
984
- if (m % 1) throw "length wrong size for format: " + qe(e, d);
985
- let h;
986
- if (i === D || i === O) if (!a && !o && !s) {
987
- let e = Math.cbrt(m);
988
- if (e % 1 != 0) throw "can't guess cube size of array of numElements: " + m;
989
- a = e, o = e, s = e;
990
- } else a && (!o || !s) ? (h = Gn(e, i, o, s, m / a), o = h.width, s = h.height) : o && (!a || !s) ? (h = Gn(e, i, a, s, m / o), a = h.width, s = h.height) : (h = Gn(e, i, a, o, m / s), a = h.width, o = h.height);
991
- else h = Gn(e, i, a, o, m), a = h.width, o = h.height;
992
- if (Kn(e), e.pixelStorei(_t, r.unpackAlignment || 1), U(e, r), i === E) {
993
- let t = p / n.BYTES_PER_ELEMENT, i = m / 6 * t;
994
- Qn(e, r).forEach((t) => {
995
- let r = i * t.ndx, s = n.subarray(r, r + i);
996
- e.texImage2D(t.face, c, l, a, o, 0, d, f, s);
997
- });
998
- } else i === D || i === O ? e.texImage3D(i, c, l, a, o, s, 0, d, f, n) : e.texImage2D(i, c, l, a, o, 0, d, f, n);
999
- return {
1000
- width: a,
1001
- height: o,
1002
- depth: s,
1003
- type: f
1004
- };
1005
- }
1006
- function ur(e, t, n) {
1007
- let r = n.target || T;
1008
- e.bindTexture(r, t);
1009
- let i = n.level || 0, a = n.internalFormat || n.format || C, o = H(a), s = n.format || o.format, c = n.type || o.type;
1010
- if (U(e, n), r === E) for (let t = 0; t < 6; ++t) e.texImage2D(nt + t, i, a, n.width, n.height, 0, s, c, null);
1011
- else r === D || r === O ? e.texImage3D(r, i, a, n.width, n.height, n.depth, 0, s, c, null) : e.texImage2D(r, i, a, n.width, n.height, 0, s, c, null);
1012
- }
1013
- function dr(e, t, n) {
1014
- n ||= G, t ||= b.textureOptions;
1015
- let r = e.createTexture(), i = t.target || T, a = t.width || 1, o = t.height || 1, s = t.internalFormat || C;
1016
- e.bindTexture(i, r), i === E && (e.texParameteri(i, ut, $e), e.texParameteri(i, dt, $e));
1017
- let c = t.src;
1018
- if (c) if (typeof c == "function" && (c = c(e, t)), typeof c == "string") or(e, r, t, n);
1019
- else if (x(c) || Array.isArray(c) && (typeof c[0] == "number" || Array.isArray(c[0]) || x(c[0]))) {
1020
- let n = lr(e, r, c, t);
1021
- a = n.width, o = n.height;
1022
- } else Array.isArray(c) && (typeof c[0] == "string" || rr(c[0])) ? i === E ? sr(e, r, t, n) : cr(e, r, t, n) : ($n(e, r, c, t), a = c.width, o = c.height);
1023
- else ur(e, r, t);
1024
- return W(t) && Xn(e, r, t, a, o, s), Jn(e, r, t), r;
1025
- }
1026
- function fr(e, t, n, r, i, a) {
1027
- r ||= n.width, i ||= n.height, a ||= n.depth;
1028
- let o = n.target || T;
1029
- e.bindTexture(o, t);
1030
- let s = n.level || 0, c = n.internalFormat || n.format || C, l = H(c), u = n.format || l.format, d, f = n.src;
1031
- if (d = f && (x(f) || Array.isArray(f) && typeof f[0] == "number") ? n.type || Wn(e, f, l.type) : n.type || l.type, o === E) for (let t = 0; t < 6; ++t) e.texImage2D(nt + t, s, c, r, i, 0, u, d, null);
1032
- else o === D || o === O ? e.texImage3D(o, s, c, r, i, a, 0, u, d, null) : e.texImage2D(o, s, c, r, i, 0, u, d, null);
1033
- }
1034
- var pr = me, mr = 33984, hr = 35048, gr = 34962, _r = 34963, vr = 35345, yr = 35718, br = 35721, xr = 35971, Sr = 35382, Cr = 35396, wr = 35398, Tr = 35392, Er = 35395, Dr = 5126, Or = 35664, kr = 35665, Ar = 35666, jr = 5124, Mr = 35667, Nr = 35668, Pr = 35669, Fr = 35670, Ir = 35671, Lr = 35672, Rr = 35673, zr = 35674, Br = 35675, Vr = 35676, Hr = 35678, Ur = 35680, Wr = 35679, Gr = 35682, Kr = 35685, qr = 35686, Jr = 35687, Yr = 35688, Xr = 35689, Zr = 35690, Qr = 36289, $r = 36292, ei = 36293, ti = 5125, ni = 36294, ri = 36295, ii = 36296, ai = 36298, oi = 36299, si = 36300, ci = 36303, li = 36306, ui = 36307, di = 36308, fi = 36311, pi = 3553, mi = 34067, hi = 32879, gi = 35866, K = {};
1035
- function _i(e, t) {
1036
- return K[t].bindPoint;
1037
- }
1038
- function vi(e, t) {
1039
- return function(n) {
1040
- e.uniform1f(t, n);
1041
- };
1042
- }
1043
- function yi(e, t) {
1044
- return function(n) {
1045
- e.uniform1fv(t, n);
1046
- };
1047
- }
1048
- function bi(e, t) {
1049
- return function(n) {
1050
- e.uniform2fv(t, n);
1051
- };
1052
- }
1053
- function xi(e, t) {
1054
- return function(n) {
1055
- e.uniform3fv(t, n);
1056
- };
1057
- }
1058
- function Si(e, t) {
1059
- return function(n) {
1060
- e.uniform4fv(t, n);
1061
- };
1062
- }
1063
- function Ci(e, t) {
1064
- return function(n) {
1065
- e.uniform1i(t, n);
1066
- };
1067
- }
1068
- function wi(e, t) {
1069
- return function(n) {
1070
- e.uniform1iv(t, n);
1071
- };
1072
- }
1073
- function Ti(e, t) {
1074
- return function(n) {
1075
- e.uniform2iv(t, n);
1076
- };
1077
- }
1078
- function Ei(e, t) {
1079
- return function(n) {
1080
- e.uniform3iv(t, n);
1081
- };
1082
- }
1083
- function Di(e, t) {
1084
- return function(n) {
1085
- e.uniform4iv(t, n);
1086
- };
1087
- }
1088
- function Oi(e, t) {
1089
- return function(n) {
1090
- e.uniform1ui(t, n);
1091
- };
1092
- }
1093
- function ki(e, t) {
1094
- return function(n) {
1095
- e.uniform1uiv(t, n);
1096
- };
1097
- }
1098
- function Ai(e, t) {
1099
- return function(n) {
1100
- e.uniform2uiv(t, n);
1101
- };
1102
- }
1103
- function ji(e, t) {
1104
- return function(n) {
1105
- e.uniform3uiv(t, n);
1106
- };
1107
- }
1108
- function Mi(e, t) {
1109
- return function(n) {
1110
- e.uniform4uiv(t, n);
1111
- };
1112
- }
1113
- function Ni(e, t) {
1114
- return function(n) {
1115
- e.uniformMatrix2fv(t, !1, n);
1116
- };
1117
- }
1118
- function Pi(e, t) {
1119
- return function(n) {
1120
- e.uniformMatrix3fv(t, !1, n);
1121
- };
1122
- }
1123
- function Fi(e, t) {
1124
- return function(n) {
1125
- e.uniformMatrix4fv(t, !1, n);
1126
- };
1127
- }
1128
- function Ii(e, t) {
1129
- return function(n) {
1130
- e.uniformMatrix2x3fv(t, !1, n);
1131
- };
1132
- }
1133
- function Li(e, t) {
1134
- return function(n) {
1135
- e.uniformMatrix3x2fv(t, !1, n);
1136
- };
1137
- }
1138
- function Ri(e, t) {
1139
- return function(n) {
1140
- e.uniformMatrix2x4fv(t, !1, n);
1141
- };
1142
- }
1143
- function zi(e, t) {
1144
- return function(n) {
1145
- e.uniformMatrix4x2fv(t, !1, n);
1146
- };
1147
- }
1148
- function Bi(e, t) {
1149
- return function(n) {
1150
- e.uniformMatrix3x4fv(t, !1, n);
1151
- };
1152
- }
1153
- function Vi(e, t) {
1154
- return function(n) {
1155
- e.uniformMatrix4x3fv(t, !1, n);
1156
- };
1157
- }
1158
- function q(e, t, n, r) {
1159
- let i = _i(e, t);
1160
- return y(e) ? function(t) {
1161
- let a, o;
1162
- _e(e, t) ? (a = t, o = null) : (a = t.texture, o = t.sampler), e.uniform1i(r, n), e.activeTexture(mr + n), e.bindTexture(i, a), e.bindSampler(n, o);
1163
- } : function(t) {
1164
- e.uniform1i(r, n), e.activeTexture(mr + n), e.bindTexture(i, t);
1165
- };
1166
- }
1167
- function J(e, t, n, r, i) {
1168
- let a = _i(e, t), o = new Int32Array(i);
1169
- for (let e = 0; e < i; ++e) o[e] = n + e;
1170
- return y(e) ? function(t) {
1171
- e.uniform1iv(r, o), t.forEach(function(t, r) {
1172
- e.activeTexture(mr + o[r]);
1173
- let i, s;
1174
- _e(e, t) ? (i = t, s = null) : (i = t.texture, s = t.sampler), e.bindSampler(n, s), e.bindTexture(a, i);
1175
- });
1176
- } : function(t) {
1177
- e.uniform1iv(r, o), t.forEach(function(t, n) {
1178
- e.activeTexture(mr + o[n]), e.bindTexture(a, t);
1179
- });
1180
- };
1181
- }
1182
- K[Dr] = {
1183
- Type: Float32Array,
1184
- size: 4,
1185
- setter: vi,
1186
- arraySetter: yi
1187
- }, K[Or] = {
1188
- Type: Float32Array,
1189
- size: 8,
1190
- setter: bi,
1191
- cols: 2
1192
- }, K[kr] = {
1193
- Type: Float32Array,
1194
- size: 12,
1195
- setter: xi,
1196
- cols: 3
1197
- }, K[Ar] = {
1198
- Type: Float32Array,
1199
- size: 16,
1200
- setter: Si,
1201
- cols: 4
1202
- }, K[jr] = {
1203
- Type: Int32Array,
1204
- size: 4,
1205
- setter: Ci,
1206
- arraySetter: wi
1207
- }, K[Mr] = {
1208
- Type: Int32Array,
1209
- size: 8,
1210
- setter: Ti,
1211
- cols: 2
1212
- }, K[Nr] = {
1213
- Type: Int32Array,
1214
- size: 12,
1215
- setter: Ei,
1216
- cols: 3
1217
- }, K[Pr] = {
1218
- Type: Int32Array,
1219
- size: 16,
1220
- setter: Di,
1221
- cols: 4
1222
- }, K[ti] = {
1223
- Type: Uint32Array,
1224
- size: 4,
1225
- setter: Oi,
1226
- arraySetter: ki
1227
- }, K[ni] = {
1228
- Type: Uint32Array,
1229
- size: 8,
1230
- setter: Ai,
1231
- cols: 2
1232
- }, K[ri] = {
1233
- Type: Uint32Array,
1234
- size: 12,
1235
- setter: ji,
1236
- cols: 3
1237
- }, K[ii] = {
1238
- Type: Uint32Array,
1239
- size: 16,
1240
- setter: Mi,
1241
- cols: 4
1242
- }, K[Fr] = {
1243
- Type: Uint32Array,
1244
- size: 4,
1245
- setter: Ci,
1246
- arraySetter: wi
1247
- }, K[Ir] = {
1248
- Type: Uint32Array,
1249
- size: 8,
1250
- setter: Ti,
1251
- cols: 2
1252
- }, K[Lr] = {
1253
- Type: Uint32Array,
1254
- size: 12,
1255
- setter: Ei,
1256
- cols: 3
1257
- }, K[Rr] = {
1258
- Type: Uint32Array,
1259
- size: 16,
1260
- setter: Di,
1261
- cols: 4
1262
- }, K[zr] = {
1263
- Type: Float32Array,
1264
- size: 32,
1265
- setter: Ni,
1266
- rows: 2,
1267
- cols: 2
1268
- }, K[Br] = {
1269
- Type: Float32Array,
1270
- size: 48,
1271
- setter: Pi,
1272
- rows: 3,
1273
- cols: 3
1274
- }, K[Vr] = {
1275
- Type: Float32Array,
1276
- size: 64,
1277
- setter: Fi,
1278
- rows: 4,
1279
- cols: 4
1280
- }, K[Kr] = {
1281
- Type: Float32Array,
1282
- size: 32,
1283
- setter: Ii,
1284
- rows: 2,
1285
- cols: 3
1286
- }, K[qr] = {
1287
- Type: Float32Array,
1288
- size: 32,
1289
- setter: Ri,
1290
- rows: 2,
1291
- cols: 4
1292
- }, K[Jr] = {
1293
- Type: Float32Array,
1294
- size: 48,
1295
- setter: Li,
1296
- rows: 3,
1297
- cols: 2
1298
- }, K[Yr] = {
1299
- Type: Float32Array,
1300
- size: 48,
1301
- setter: Bi,
1302
- rows: 3,
1303
- cols: 4
1304
- }, K[Xr] = {
1305
- Type: Float32Array,
1306
- size: 64,
1307
- setter: zi,
1308
- rows: 4,
1309
- cols: 2
1310
- }, K[Zr] = {
1311
- Type: Float32Array,
1312
- size: 64,
1313
- setter: Vi,
1314
- rows: 4,
1315
- cols: 3
1316
- }, K[Hr] = {
1317
- Type: null,
1318
- size: 0,
1319
- setter: q,
1320
- arraySetter: J,
1321
- bindPoint: pi
1322
- }, K[Ur] = {
1323
- Type: null,
1324
- size: 0,
1325
- setter: q,
1326
- arraySetter: J,
1327
- bindPoint: mi
1328
- }, K[Wr] = {
1329
- Type: null,
1330
- size: 0,
1331
- setter: q,
1332
- arraySetter: J,
1333
- bindPoint: hi
1334
- }, K[Gr] = {
1335
- Type: null,
1336
- size: 0,
1337
- setter: q,
1338
- arraySetter: J,
1339
- bindPoint: pi
1340
- }, K[Qr] = {
1341
- Type: null,
1342
- size: 0,
1343
- setter: q,
1344
- arraySetter: J,
1345
- bindPoint: gi
1346
- }, K[$r] = {
1347
- Type: null,
1348
- size: 0,
1349
- setter: q,
1350
- arraySetter: J,
1351
- bindPoint: gi
1352
- }, K[ei] = {
1353
- Type: null,
1354
- size: 0,
1355
- setter: q,
1356
- arraySetter: J,
1357
- bindPoint: mi
1358
- }, K[ai] = {
1359
- Type: null,
1360
- size: 0,
1361
- setter: q,
1362
- arraySetter: J,
1363
- bindPoint: pi
1364
- }, K[oi] = {
1365
- Type: null,
1366
- size: 0,
1367
- setter: q,
1368
- arraySetter: J,
1369
- bindPoint: hi
1370
- }, K[si] = {
1371
- Type: null,
1372
- size: 0,
1373
- setter: q,
1374
- arraySetter: J,
1375
- bindPoint: mi
1376
- }, K[ci] = {
1377
- Type: null,
1378
- size: 0,
1379
- setter: q,
1380
- arraySetter: J,
1381
- bindPoint: gi
1382
- }, K[li] = {
1383
- Type: null,
1384
- size: 0,
1385
- setter: q,
1386
- arraySetter: J,
1387
- bindPoint: pi
1388
- }, K[ui] = {
1389
- Type: null,
1390
- size: 0,
1391
- setter: q,
1392
- arraySetter: J,
1393
- bindPoint: hi
1394
- }, K[di] = {
1395
- Type: null,
1396
- size: 0,
1397
- setter: q,
1398
- arraySetter: J,
1399
- bindPoint: mi
1400
- }, K[fi] = {
1401
- Type: null,
1402
- size: 0,
1403
- setter: q,
1404
- arraySetter: J,
1405
- bindPoint: gi
1406
- };
1407
- function Hi(e, t) {
1408
- return function(n) {
1409
- if (n.value) switch (e.disableVertexAttribArray(t), n.value.length) {
1410
- case 4:
1411
- e.vertexAttrib4fv(t, n.value);
1412
- break;
1413
- case 3:
1414
- e.vertexAttrib3fv(t, n.value);
1415
- break;
1416
- case 2:
1417
- e.vertexAttrib2fv(t, n.value);
1418
- break;
1419
- case 1:
1420
- e.vertexAttrib1fv(t, n.value);
1421
- break;
1422
- default: throw Error("the length of a float constant value must be between 1 and 4!");
1423
- }
1424
- else e.bindBuffer(gr, n.buffer), e.enableVertexAttribArray(t), e.vertexAttribPointer(t, n.numComponents || n.size, n.type || Dr, n.normalize || !1, n.stride || 0, n.offset || 0), n.divisor !== void 0 && e.vertexAttribDivisor(t, n.divisor);
1425
- };
1426
- }
1427
- function Y(e, t) {
1428
- return function(n) {
1429
- if (n.value) if (e.disableVertexAttribArray(t), n.value.length === 4) e.vertexAttrib4iv(t, n.value);
1430
- else throw Error("The length of an integer constant value must be 4!");
1431
- else e.bindBuffer(gr, n.buffer), e.enableVertexAttribArray(t), e.vertexAttribIPointer(t, n.numComponents || n.size, n.type || jr, n.stride || 0, n.offset || 0), n.divisor !== void 0 && e.vertexAttribDivisor(t, n.divisor);
1432
- };
1433
- }
1434
- function Ui(e, t) {
1435
- return function(n) {
1436
- if (n.value) if (e.disableVertexAttribArray(t), n.value.length === 4) e.vertexAttrib4uiv(t, n.value);
1437
- else throw Error("The length of an unsigned integer constant value must be 4!");
1438
- else e.bindBuffer(gr, n.buffer), e.enableVertexAttribArray(t), e.vertexAttribIPointer(t, n.numComponents || n.size, n.type || ti, n.stride || 0, n.offset || 0), n.divisor !== void 0 && e.vertexAttribDivisor(t, n.divisor);
1439
- };
1440
- }
1441
- function Wi(e, t, n) {
1442
- let r = n.size, i = n.count;
1443
- return function(n) {
1444
- e.bindBuffer(gr, n.buffer);
1445
- let a = n.size || n.numComponents || r, o = a / i, s = n.type || Dr, c = K[s].size * a, l = n.normalize || !1, u = n.offset || 0, d = c / i;
1446
- for (let r = 0; r < i; ++r) e.enableVertexAttribArray(t + r), e.vertexAttribPointer(t + r, o, s, l, c, u + d * r), n.divisor !== void 0 && e.vertexAttribDivisor(t + r, n.divisor);
1447
- };
1448
- }
1449
- var X = {};
1450
- X[Dr] = {
1451
- size: 4,
1452
- setter: Hi
1453
- }, X[Or] = {
1454
- size: 8,
1455
- setter: Hi
1456
- }, X[kr] = {
1457
- size: 12,
1458
- setter: Hi
1459
- }, X[Ar] = {
1460
- size: 16,
1461
- setter: Hi
1462
- }, X[jr] = {
1463
- size: 4,
1464
- setter: Y
1465
- }, X[Mr] = {
1466
- size: 8,
1467
- setter: Y
1468
- }, X[Nr] = {
1469
- size: 12,
1470
- setter: Y
1471
- }, X[Pr] = {
1472
- size: 16,
1473
- setter: Y
1474
- }, X[ti] = {
1475
- size: 4,
1476
- setter: Ui
1477
- }, X[ni] = {
1478
- size: 8,
1479
- setter: Ui
1480
- }, X[ri] = {
1481
- size: 12,
1482
- setter: Ui
1483
- }, X[ii] = {
1484
- size: 16,
1485
- setter: Ui
1486
- }, X[Fr] = {
1487
- size: 4,
1488
- setter: Y
1489
- }, X[Ir] = {
1490
- size: 8,
1491
- setter: Y
1492
- }, X[Lr] = {
1493
- size: 12,
1494
- setter: Y
1495
- }, X[Rr] = {
1496
- size: 16,
1497
- setter: Y
1498
- }, X[zr] = {
1499
- size: 4,
1500
- setter: Wi,
1501
- count: 2
1502
- }, X[Br] = {
1503
- size: 9,
1504
- setter: Wi,
1505
- count: 3
1506
- }, X[Vr] = {
1507
- size: 16,
1508
- setter: Wi,
1509
- count: 4
1510
- };
1511
- function Gi(e) {
1512
- let t = e.name;
1513
- return t.startsWith("gl_") || t.startsWith("webgl_");
1514
- }
1515
- var Ki = /(\.|\[|]|\w+)/g, qi = (e) => e >= "0" && e <= "9";
1516
- function Ji(e, t, n, r) {
1517
- let i = e.split(Ki).filter((e) => e !== ""), a = 0, o = "";
1518
- for (;;) {
1519
- let e = i[a++];
1520
- o += e;
1521
- let s = qi(e[0]), c = s ? parseInt(e) : e;
1522
- if (s && (o += i[a++]), a === i.length) {
1523
- n[c] = t;
1524
- break;
1525
- } else {
1526
- let e = i[a++], t = e === "[", s = n[c] || (t ? [] : {});
1527
- n[c] = s, n = s, r[o] = r[o] || function(e) {
1528
- return function(t) {
1529
- oa(e, t);
1530
- };
1531
- }(s), o += e;
1532
- }
1533
- }
1534
- }
1535
- function Yi(e, t) {
1536
- let n = 0;
1537
- function r(t, r, i) {
1538
- let a = r.name.endsWith("[0]"), o = r.type, s = K[o];
1539
- if (!s) throw Error(`unknown type: 0x${o.toString(16)}`);
1540
- let c;
1541
- if (s.bindPoint) {
1542
- let t = n;
1543
- n += r.size, c = a ? s.arraySetter(e, o, t, i, r.size) : s.setter(e, o, t, i, r.size);
1544
- } else c = s.arraySetter && a ? s.arraySetter(e, i) : s.setter(e, i);
1545
- return c.location = i, c;
1546
- }
1547
- let i = {}, a = {}, o = e.getProgramParameter(t, yr);
1548
- for (let n = 0; n < o; ++n) {
1549
- let o = e.getActiveUniform(t, n);
1550
- if (Gi(o)) continue;
1551
- let s = o.name;
1552
- s.endsWith("[0]") && (s = s.substr(0, s.length - 3));
1553
- let c = e.getUniformLocation(t, o.name);
1554
- if (c) {
1555
- let e = r(t, o, c);
1556
- i[s] = e, Ji(s, e, a, i);
1557
- }
1558
- }
1559
- return i;
1560
- }
1561
- function Xi(e, t) {
1562
- let n = {}, r = e.getProgramParameter(t, xr);
1563
- for (let i = 0; i < r; ++i) {
1564
- let r = e.getTransformFeedbackVarying(t, i);
1565
- n[r.name] = {
1566
- index: i,
1567
- type: r.type,
1568
- size: r.size
1569
- };
1570
- }
1571
- return n;
1572
- }
1573
- function Zi(e, t) {
1574
- let n = e.getProgramParameter(t, yr), r = [], i = [];
1575
- for (let a = 0; a < n; ++a) {
1576
- i.push(a), r.push({});
1577
- let n = e.getActiveUniform(t, a);
1578
- r[a].name = n.name;
1579
- }
1580
- [
1581
- ["UNIFORM_TYPE", "type"],
1582
- ["UNIFORM_SIZE", "size"],
1583
- ["UNIFORM_BLOCK_INDEX", "blockNdx"],
1584
- ["UNIFORM_OFFSET", "offset"]
1585
- ].forEach(function(n) {
1586
- let a = n[0], o = n[1];
1587
- e.getActiveUniforms(t, i, e[a]).forEach(function(e, t) {
1588
- r[t][o] = e;
1589
- });
1590
- });
1591
- let a = {}, o = e.getProgramParameter(t, Sr);
1592
- for (let n = 0; n < o; ++n) {
1593
- let r = e.getActiveUniformBlockName(t, n), i = {
1594
- index: e.getUniformBlockIndex(t, r),
1595
- usedByVertexShader: e.getActiveUniformBlockParameter(t, n, Cr),
1596
- usedByFragmentShader: e.getActiveUniformBlockParameter(t, n, wr),
1597
- size: e.getActiveUniformBlockParameter(t, n, Tr),
1598
- uniformIndices: e.getActiveUniformBlockParameter(t, n, Er)
1599
- };
1600
- i.used = i.usedByVertexShader || i.usedByFragmentShader, a[r] = i;
1601
- }
1602
- return {
1603
- blockSpecs: a,
1604
- uniformData: r
1605
- };
1606
- }
1607
- var Qi = /\[\d+\]\.$/, $i = (e, t) => ((e + (t - 1)) / t | 0) * t;
1608
- function ea(e, t, n, r) {
1609
- if (t || n) {
1610
- r ||= 1;
1611
- let t = e.length / 4;
1612
- return function(n) {
1613
- let i = 0, a = 0;
1614
- for (let o = 0; o < t; ++o) {
1615
- for (let t = 0; t < r; ++t) e[i++] = n[a++];
1616
- i += 4 - r;
1617
- }
1618
- };
1619
- } else return function(t) {
1620
- t.length ? e.set(t) : e[0] = t;
1621
- };
1622
- }
1623
- function ta(e, t, n, r) {
1624
- let i = n.blockSpecs, a = n.uniformData, o = i[r];
1625
- if (!o) return pr("no uniform block object named:", r), {
1626
- name: r,
1627
- uniforms: {}
1628
- };
1629
- let s = new ArrayBuffer(o.size), c = e.createBuffer(), l = o.index;
1630
- e.bindBuffer(vr, c), e.uniformBlockBinding(t, o.index, l);
1631
- let u = r + ".";
1632
- Qi.test(u) && (u = u.replace(Qi, "."));
1633
- let d = {}, f = {}, p = {};
1634
- return o.uniformIndices.forEach(function(e) {
1635
- let t = a[e], n = t.name;
1636
- n.startsWith(u) && (n = n.substr(u.length));
1637
- let r = n.endsWith("[0]");
1638
- r && (n = n.substr(0, n.length - 3));
1639
- let i = K[t.type], o = i.Type, c = r ? $i(i.size, 16) * t.size : i.size * t.size, l = new o(s, t.offset, c / o.BYTES_PER_ELEMENT);
1640
- d[n] = l;
1641
- let m = ea(l, r, i.rows, i.cols);
1642
- f[n] = m, Ji(n, m, p, f);
1643
- }), {
1644
- name: r,
1645
- array: s,
1646
- asFloat: new Float32Array(s),
1647
- buffer: c,
1648
- uniforms: d,
1649
- setters: f
1650
- };
1651
- }
1652
- function na(e, t, n) {
1653
- return ta(e, t.program, t.uniformBlockSpec, n);
1654
- }
1655
- function ra(e, t, n) {
1656
- let r = (t.uniformBlockSpec || t).blockSpecs[n.name];
1657
- if (r) {
1658
- let t = r.index;
1659
- return e.bindBufferRange(vr, t, n.buffer, n.offset || 0, n.array.byteLength), !0;
1660
- }
1661
- return !1;
1662
- }
1663
- function ia(e, t, n) {
1664
- ra(e, t, n) && e.bufferData(vr, n.array, hr);
1665
- }
1666
- function aa(e, t) {
1667
- let n = e.setters;
1668
- for (let e in t) {
1669
- let r = n[e];
1670
- if (r) {
1671
- let n = t[e];
1672
- r(n);
1673
- }
1674
- }
1675
- }
1676
- function oa(e, t) {
1677
- for (let n in t) {
1678
- let r = e[n];
1679
- typeof r == "function" ? r(t[n]) : oa(e[n], t[n]);
1680
- }
1681
- }
1682
- function sa(e, ...t) {
1683
- let n = e.uniformSetters || e, r = t.length;
1684
- for (let e = 0; e < r; ++e) {
1685
- let r = t[e];
1686
- if (Array.isArray(r)) {
1687
- let e = r.length;
1688
- for (let t = 0; t < e; ++t) sa(n, r[t]);
1689
- } else for (let e in r) {
1690
- let t = n[e];
1691
- t && t(r[e]);
1692
- }
1693
- }
1694
- }
1695
- function ca(e, t) {
1696
- let n = {}, r = e.getProgramParameter(t, br);
1697
- for (let i = 0; i < r; ++i) {
1698
- let r = e.getActiveAttrib(t, i);
1699
- if (Gi(r)) continue;
1700
- let a = e.getAttribLocation(t, r.name), o = X[r.type], s = o.setter(e, a, o);
1701
- s.location = a, n[r.name] = s;
1702
- }
1703
- return n;
1704
- }
1705
- function la(e, t) {
1706
- for (let n in t) {
1707
- let r = e[n];
1708
- r && r(t[n]);
1709
- }
1710
- }
1711
- function ua(e, t, n) {
1712
- n.vertexArrayObject ? e.bindVertexArray(n.vertexArrayObject) : (la(t.attribSetters || t, n.attribs), n.indices && e.bindBuffer(_r, n.indices));
1713
- }
1714
- function da(e, t) {
1715
- let n = {
1716
- program: t,
1717
- uniformSetters: Yi(e, t),
1718
- attribSetters: ca(e, t)
1719
- };
1720
- return y(e) && (n.uniformBlockSpec = Zi(e, t), n.transformFeedbackInfo = Xi(e, t)), n;
1721
- }
1722
- var fa = 4, pa = 5123;
1723
- function ma(e, t, n, r, i, a) {
1724
- n = n === void 0 ? fa : n;
1725
- let o = t.indices, s = t.elementType, c = r === void 0 ? t.numElements : r;
1726
- i = i === void 0 ? 0 : i, s || o ? a === void 0 ? e.drawElements(n, c, s === void 0 ? pa : t.elementType, i) : e.drawElementsInstanced(n, c, s === void 0 ? pa : t.elementType, i, a) : a === void 0 ? e.drawArrays(n, i, c) : e.drawArraysInstanced(n, i, c, a);
1727
- }
1728
- var ha = 36160, Z = 36161, ga = 3553, _a = 5121, va = 6402, ya = 6408, ba = 33190, xa = 36012, Sa = 35056, Ca = 36013, wa = 32854, Ta = 32855, Ea = 36194, Da = 33189, Oa = 6401, ka = 36168, Aa = 34041, ja = 36064, Ma = 36096, Na = 36128, Pa = 33306, Fa = 33071, Ia = 9729, La = [{
1729
- format: ya,
1730
- type: _a,
1731
- min: Ia,
1732
- wrap: Fa
1733
- }, { format: Aa }], Q = {};
1734
- Q[Aa] = Pa, Q[Oa] = Na, Q[ka] = Na, Q[va] = Ma, Q[Da] = Ma, Q[ba] = Ma, Q[xa] = Ma, Q[Sa] = Pa, Q[Ca] = Pa;
1735
- function Ra(e, t) {
1736
- return Q[e] || Q[t];
1737
- }
1738
- var $ = {};
1739
- $[wa] = !0, $[Ta] = !0, $[Ea] = !0, $[Aa] = !0, $[Da] = !0, $[Oa] = !0, $[ka] = !0;
1740
- function za(e) {
1741
- return $[e];
1742
- }
1743
- function Ba(e) {
1744
- return e >= ja && e < 36096;
1745
- }
1746
- function Va(e, t, n, r) {
1747
- let i = ha, a = e.createFramebuffer();
1748
- e.bindFramebuffer(i, a), n ||= e.drawingBufferWidth, r ||= e.drawingBufferHeight, t ||= La;
1749
- let o = [], s = {
1750
- framebuffer: a,
1751
- attachments: [],
1752
- width: n,
1753
- height: r
1754
- };
1755
- return t.forEach(function(t, a) {
1756
- let c = t.attachment, l = t.samples, u = t.format, d = t.attachmentPoint || Ra(u, t.internalFormat);
1757
- if (d ||= ja + a, Ba(d) && o.push(d), !c) if (l !== void 0 || za(u)) c = e.createRenderbuffer(), e.bindRenderbuffer(Z, c), l > 1 ? e.renderbufferStorageMultisample(Z, l, u, n, r) : e.renderbufferStorage(Z, u, n, r);
1758
- else {
1759
- let i = Object.assign({}, t);
1760
- i.width = n, i.height = r, i.auto === void 0 && (i.auto = !1, i.min = i.min || i.minMag || Ia, i.mag = i.mag || i.minMag || Ia, i.wrapS = i.wrapS || i.wrap || Fa, i.wrapT = i.wrapT || i.wrap || Fa), c = dr(e, i);
1761
- }
1762
- if (ge(e, c)) e.framebufferRenderbuffer(i, d, Z, c);
1763
- else if (_e(e, c)) t.layer === void 0 ? e.framebufferTexture2D(i, d, t.target || ga, c, t.level || 0) : e.framebufferTextureLayer(i, d, c, t.level || 0, t.layer);
1764
- else throw Error("unknown attachment type");
1765
- s.attachments.push(c);
1766
- }), e.drawBuffers && e.drawBuffers(o), s;
1767
- }
1768
- function Ha(e, t, n, r, i) {
1769
- r ||= e.drawingBufferWidth, i ||= e.drawingBufferHeight, t.width = r, t.height = i, n ||= La, n.forEach(function(n, a) {
1770
- let o = t.attachments[a], s = n.format, c = n.samples;
1771
- if (c !== void 0 || ge(e, o)) e.bindRenderbuffer(Z, o), c > 1 ? e.renderbufferStorageMultisample(Z, c, s, r, i) : e.renderbufferStorage(Z, s, r, i);
1772
- else if (_e(e, o)) fr(e, o, n, r, i);
1773
- else throw Error("unknown attachment type");
1774
- });
1775
- }
1776
- function Ua(e, t, n) {
1777
- let r = e.createVertexArray();
1778
- return e.bindVertexArray(r), t.length || (t = [t]), t.forEach(function(t) {
1779
- ua(e, t, n);
1780
- }), e.bindVertexArray(null), {
1781
- numElements: n.numElements,
1782
- elementType: n.elementType,
1783
- vertexArrayObject: r
1784
- };
1785
- }
1786
- var Wa = { addExtensionsToContext: !0 }, Ga = /^(.*?)_/;
1787
- function Ka(e, t) {
1788
- qe(e, 0);
1789
- let n = e.getExtension(t);
1790
- if (n) {
1791
- let r = {}, i = Ga.exec(t)[1], a = "_" + i;
1792
- for (let t in n) {
1793
- let o = n[t], s = typeof o == "function", c = s ? i : a, l = t;
1794
- t.endsWith(c) && (l = t.substring(0, t.length - c.length)), e[l] === void 0 ? s ? e[l] = function(e) {
1795
- return function() {
1796
- return e.apply(n, arguments);
1797
- };
1798
- }(o) : (e[l] = o, r[l] = o) : !s && e[l] !== o && me(l, e[l], o, t);
1799
- }
1800
- r.constructor = { name: n.constructor.name }, qe(r, 0);
1801
- }
1802
- return n;
1803
- }
1804
- var qa = [
1805
- "ANGLE_instanced_arrays",
1806
- "EXT_blend_minmax",
1807
- "EXT_color_buffer_float",
1808
- "EXT_color_buffer_half_float",
1809
- "EXT_disjoint_timer_query",
1810
- "EXT_disjoint_timer_query_webgl2",
1811
- "EXT_frag_depth",
1812
- "EXT_sRGB",
1813
- "EXT_shader_texture_lod",
1814
- "EXT_texture_filter_anisotropic",
1815
- "OES_element_index_uint",
1816
- "OES_standard_derivatives",
1817
- "OES_texture_float",
1818
- "OES_texture_float_linear",
1819
- "OES_texture_half_float",
1820
- "OES_texture_half_float_linear",
1821
- "OES_vertex_array_object",
1822
- "WEBGL_color_buffer_float",
1823
- "WEBGL_compressed_texture_atc",
1824
- "WEBGL_compressed_texture_etc1",
1825
- "WEBGL_compressed_texture_pvrtc",
1826
- "WEBGL_compressed_texture_s3tc",
1827
- "WEBGL_compressed_texture_s3tc_srgb",
1828
- "WEBGL_depth_texture",
1829
- "WEBGL_draw_buffers"
1830
- ];
1831
- function Ja(e) {
1832
- for (let t = 0; t < qa.length; ++t) Ka(e, qa[t]);
1833
- }
1834
- function Ya(e, t) {
1835
- let n = [
1836
- "webgl2",
1837
- "webgl",
1838
- "experimental-webgl"
1839
- ], r = null;
1840
- for (let i = 0; i < n.length; ++i) if (r = e.getContext(n[i], t), r) {
1841
- Wa.addExtensionsToContext && Ja(r);
1842
- break;
1843
- }
1844
- return r;
1845
- }
1846
- function Xa(e, t) {
1847
- return Ya(e, t);
1848
- }
1849
- //#endregion
1850
- //#region ../core/src/view/renderingContext/bufferedViewRenderingContext.js
1851
- var Za = class extends a {
1852
- #e = [
1853
- 0,
1854
- 0,
1855
- 0,
1856
- 0
1857
- ];
1858
- #t;
1859
- #n = [];
1860
- #r;
1861
- #i;
1862
- #a = /* @__PURE__ */ new Set();
1863
- #o;
1864
- #s = void 0;
1865
- #c = 1;
1866
- #l = {
1867
- width: 0,
1868
- height: 0
1869
- };
1870
- #u;
1871
- constructor(e, t) {
1872
- if (super(e), this.#i = t.webGLHelper, this.#r = t.framebufferInfo, this.#c = t.devicePixelRatio, this.#l = t.canvasSize, this.#o = t.markPredicate ?? (() => !0), this.#u = t.pixelOffset, t.clearColor) {
1873
- let e = i(t.clearColor).rgb();
1874
- this.#e = [
1875
- e.r / 255,
1876
- e.g / 255,
1877
- e.b / 255,
1878
- e.opacity
1879
- ];
1880
- }
1881
- }
1882
- getDevicePixelRatio() {
1883
- return this.#c;
1884
- }
1885
- pushView(e, t) {
1886
- this.#a.add(e), this.#s = t;
1887
- }
1888
- renderMark(e, n) {
1889
- if (!this.#o(e) || this.globalOptions.picking && !e.isPickingParticipant()) return;
1890
- let i = e.render(n);
1891
- if (i) {
1892
- let a = t(n);
1893
- this.#n.push({
1894
- mark: e,
1895
- callback: i,
1896
- coords: this.#s,
1897
- clip: r(a, e.properties.clip, this.#s),
1898
- cullClip: a
1899
- });
1900
- }
1901
- }
1902
- render() {
1903
- if (this.#t || this.#d(), this.#t.length == 0) return;
1904
- let e = this.#i.gl, t = this.#r;
1905
- t ? (e.bindFramebuffer(e.FRAMEBUFFER, t.framebuffer), e.viewport(0, 0, t.width, t.height)) : e.viewport(0, 0, e.drawingBufferWidth, e.drawingBufferHeight), e.disable(e.SCISSOR_TEST), e.clearColor(...this.#e), e.clear(e.COLOR_BUFFER_BIT);
1906
- for (let e of this.#a) e.onBeforeRender();
1907
- for (let e of this.#t) e();
1908
- this.#r && e.bindFramebuffer(e.FRAMEBUFFER, null);
1909
- }
1910
- #d() {
1911
- this.#t = [];
1912
- let e = !0, t = !0, r = (t) => () => {
1913
- e && t();
1914
- }, i = (n) => () => {
1915
- e && t && n();
1916
- }, a = s(this.#n.reverse(), (e) => e.mark);
1917
- for (let [o, s] of [...a.entries()].reverse()) {
1918
- if (!o.isReady()) continue;
1919
- this.#t.push(() => {
1920
- e = o.unitView.getEffectiveOpacity() > 0;
1921
- }), this.#t.push(...o.prepareRender(this.globalOptions).map((e) => r(e)));
1922
- let a, c, l;
1923
- for (let e of s) {
1924
- let s = e.coords;
1925
- (!s.equals(a) || !n(e.clip, c) || !n(e.cullClip, l)) && this.#t.push(r(() => {
1926
- t = o.setViewport(this.#l, this.#c, s, e.clip, e.cullClip, this.#u);
1927
- })), this.#t.push(i(e.callback)), a = e.coords, c = e.clip, l = e.cullClip;
1928
- }
1929
- }
1930
- }
1931
- };
1932
- //#endregion
1933
- //#region ../core/src/gl/framebufferReadback.js
1934
- function Qa(e, t, n = {}) {
1935
- let r = n.x ?? 0, i = n.y ?? 0, a = n.width ?? t.width, o = n.height ?? t.height;
1936
- ro(t, r, i, a, o);
1937
- let s = new Uint8Array(a * o * 4);
1938
- e.bindFramebuffer(e.FRAMEBUFFER, t.framebuffer);
1939
- try {
1940
- e.readPixels(r, t.height - i - o, a, o, e.RGBA, e.UNSIGNED_BYTE, s);
1941
- } finally {
1942
- e.bindFramebuffer(e.FRAMEBUFFER, null);
1943
- }
1944
- return {
1945
- pixels: no(s, a, o, n.unpremultiplyAlpha ?? !1),
1946
- width: a,
1947
- height: o
1948
- };
1949
- }
1950
- function $a(e, t, n = "image/png", r = {}) {
1951
- return to(e, t, r).toDataURL(n);
1952
- }
1953
- function eo(e, t, n = "image/png", r = {}) {
1954
- let i = to(e, t, r);
1955
- return new Promise((e, t) => {
1956
- i.toBlob((r) => {
1957
- r ? e(r) : t(/* @__PURE__ */ Error(`Could not encode framebuffer as ${n}.`));
1958
- }, n);
1959
- });
1960
- }
1961
- function to(e, t, n) {
1962
- let { pixels: r, width: i, height: a } = Qa(e, t, n), o = document.createElement("canvas");
1963
- o.width = i, o.height = a;
1964
- let s = o.getContext("2d"), c = s.createImageData(i, a);
1965
- return c.data.set(r), s.putImageData(c, 0, 0), o;
1966
- }
1967
- function no(e, t, n, r) {
1968
- let i = new Uint8ClampedArray(e.length), a = t * 4;
1969
- for (let t = 0; t < n; t++) {
1970
- let r = (n - t - 1) * a, o = t * a;
1971
- i.set(e.subarray(r, r + a), o);
1972
- }
1973
- if (r) for (let e = 0; e < i.length; e += 4) {
1974
- let t = i[e + 3];
1975
- if (t == 0) i[e] = 0, i[e + 1] = 0, i[e + 2] = 0;
1976
- else if (t < 255) {
1977
- let n = 255 / t;
1978
- i[e] = Math.round(i[e] * n), i[e + 1] = Math.round(i[e + 1] * n), i[e + 2] = Math.round(i[e + 2] * n);
1979
- }
1980
- }
1981
- return i;
1982
- }
1983
- function ro(e, t, n, r, i) {
1984
- if (![
1985
- t,
1986
- n,
1987
- r,
1988
- i
1989
- ].every(Number.isInteger)) throw RangeError("Framebuffer readback bounds must be integers.");
1990
- if (t < 0 || n < 0 || r <= 0 || i <= 0 || t + r > e.width || n + i > e.height) throw RangeError("Framebuffer readback bounds are out of range.");
1991
- }
1992
- //#endregion
1993
- export { c as C, s as S, aa as _, ra as a, ia as b, da as c, Ua as d, ma as f, He as g, Ha as h, Ja as i, dr as l, y as m, $a as n, Ke as o, Xa as p, Za as r, Va as s, eo as t, na as u, ua as v, o as w, sa as x, lr as y };