@rings-webgpu/core 1.0.7 → 1.0.9

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.
@@ -7167,10 +7167,19 @@ let PBRLItShader = (
7167
7167
  @group(1) @binding(auto)
7168
7168
  var normalMap: texture_2d<f32>;
7169
7169
 
7170
+ // #if USE_ARMC
7171
+ // @group(1) @binding(auto)
7172
+ // var maskMapSampler: sampler;
7173
+ // @group(1) @binding(auto)
7174
+ // var maskMap: texture_2d<f32>;
7175
+ // #endif
7176
+
7177
+ // #if USE_MR
7170
7178
  @group(1) @binding(auto)
7171
7179
  var maskMapSampler: sampler;
7172
7180
  @group(1) @binding(auto)
7173
7181
  var maskMap: texture_2d<f32>;
7182
+ // #endif
7174
7183
 
7175
7184
  #if USE_AOTEX
7176
7185
  @group(1) @binding(auto)
@@ -7198,6 +7207,7 @@ let PBRLItShader = (
7198
7207
 
7199
7208
  #if USE_SRGB_ALBEDO
7200
7209
  ORI_ShadingInput.BaseColor = textureSample(baseMap, baseMapSampler, uv ) ;
7210
+ // ORI_ShadingInput.BaseColor = sRGBToLinear(ORI_ShadingInput.BaseColor.rgb) ;
7201
7211
  ORI_ShadingInput.BaseColor = vec4<f32>( ORI_ShadingInput.BaseColor * materialUniform.baseColor.rgb, ORI_ShadingInput.BaseColor.w * materialUniform.baseColor.a) ;
7202
7212
  #else
7203
7213
  ORI_ShadingInput.BaseColor = textureSample(baseMap, baseMapSampler, uv ) ;
@@ -7302,6 +7312,7 @@ let PBRLItShader = (
7302
7312
 
7303
7313
  BxDFShading();
7304
7314
 
7315
+ // ORI_FragmentOutput.color = vec4<f32>(vec3<f32>(normal.rgb),1.0) ;
7305
7316
  }
7306
7317
  `
7307
7318
  );
@@ -39280,483 +39291,483 @@ class AtlasParser extends ParserBase {
39280
39291
  }
39281
39292
  }
39282
39293
 
39283
- // DEFLATE is a complex format; to read this code, you should probably check the RFC first:
39284
- // https://tools.ietf.org/html/rfc1951
39285
- // You may also wish to take a look at the guide I made about this program:
39286
- // https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad
39287
- // Some of the following code is similar to that of UZIP.js:
39288
- // https://github.com/photopea/UZIP.js
39289
- // However, the vast majority of the codebase has diverged from UZIP.js to increase performance and reduce bundle size.
39290
- // Sometimes 0 will appear where -1 would be more appropriate. This is because using a uint
39291
- // is better for memory in most engines (I *think*).
39292
-
39293
- // aliases for shorter compressed code (most minifers don't do this)
39294
- var u8 = Uint8Array, u16 = Uint16Array, i32 = Int32Array;
39295
- // fixed length extra bits
39296
- var fleb = new u8([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, /* unused */ 0, 0, /* impossible */ 0]);
39297
- // fixed distance extra bits
39298
- var fdeb = new u8([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, /* unused */ 0, 0]);
39299
- // code length index map
39300
- var clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);
39301
- // get base, reverse index map from extra bits
39302
- var freb = function (eb, start) {
39303
- var b = new u16(31);
39304
- for (var i = 0; i < 31; ++i) {
39305
- b[i] = start += 1 << eb[i - 1];
39306
- }
39307
- // numbers here are at max 18 bits
39308
- var r = new i32(b[30]);
39309
- for (var i = 1; i < 30; ++i) {
39310
- for (var j = b[i]; j < b[i + 1]; ++j) {
39311
- r[j] = ((j - b[i]) << 5) | i;
39312
- }
39313
- }
39314
- return { b: b, r: r };
39315
- };
39316
- var _a = freb(fleb, 2), fl = _a.b, revfl = _a.r;
39317
- // we can ignore the fact that the other numbers are wrong; they never happen anyway
39318
- fl[28] = 258, revfl[258] = 28;
39319
- var _b = freb(fdeb, 0), fd = _b.b;
39320
- // map of value to reverse (assuming 16 bits)
39321
- var rev = new u16(32768);
39322
- for (var i = 0; i < 32768; ++i) {
39323
- // reverse table algorithm from SO
39324
- var x = ((i & 0xAAAA) >> 1) | ((i & 0x5555) << 1);
39325
- x = ((x & 0xCCCC) >> 2) | ((x & 0x3333) << 2);
39326
- x = ((x & 0xF0F0) >> 4) | ((x & 0x0F0F) << 4);
39327
- rev[i] = (((x & 0xFF00) >> 8) | ((x & 0x00FF) << 8)) >> 1;
39328
- }
39329
- // create huffman tree from u8 "map": index -> code length for code index
39330
- // mb (max bits) must be at most 15
39331
- // TODO: optimize/split up?
39332
- var hMap = (function (cd, mb, r) {
39333
- var s = cd.length;
39334
- // index
39335
- var i = 0;
39336
- // u16 "map": index -> # of codes with bit length = index
39337
- var l = new u16(mb);
39338
- // length of cd must be 288 (total # of codes)
39339
- for (; i < s; ++i) {
39340
- if (cd[i])
39341
- ++l[cd[i] - 1];
39342
- }
39343
- // u16 "map": index -> minimum code for bit length = index
39344
- var le = new u16(mb);
39345
- for (i = 1; i < mb; ++i) {
39346
- le[i] = (le[i - 1] + l[i - 1]) << 1;
39347
- }
39348
- var co;
39349
- if (r) {
39350
- // u16 "map": index -> number of actual bits, symbol for code
39351
- co = new u16(1 << mb);
39352
- // bits to remove for reverser
39353
- var rvb = 15 - mb;
39354
- for (i = 0; i < s; ++i) {
39355
- // ignore 0 lengths
39356
- if (cd[i]) {
39357
- // num encoding both symbol and bits read
39358
- var sv = (i << 4) | cd[i];
39359
- // free bits
39360
- var r_1 = mb - cd[i];
39361
- // start value
39362
- var v = le[cd[i] - 1]++ << r_1;
39363
- // m is end value
39364
- for (var m = v | ((1 << r_1) - 1); v <= m; ++v) {
39365
- // every 16 bit value starting with the code yields the same result
39366
- co[rev[v] >> rvb] = sv;
39367
- }
39368
- }
39369
- }
39370
- }
39371
- else {
39372
- co = new u16(s);
39373
- for (i = 0; i < s; ++i) {
39374
- if (cd[i]) {
39375
- co[i] = rev[le[cd[i] - 1]++] >> (15 - cd[i]);
39376
- }
39377
- }
39378
- }
39379
- return co;
39380
- });
39381
- // fixed length tree
39382
- var flt = new u8(288);
39383
- for (var i = 0; i < 144; ++i)
39384
- flt[i] = 8;
39385
- for (var i = 144; i < 256; ++i)
39386
- flt[i] = 9;
39387
- for (var i = 256; i < 280; ++i)
39388
- flt[i] = 7;
39389
- for (var i = 280; i < 288; ++i)
39390
- flt[i] = 8;
39391
- // fixed distance tree
39392
- var fdt = new u8(32);
39393
- for (var i = 0; i < 32; ++i)
39394
- fdt[i] = 5;
39395
- // fixed length map
39396
- var flrm = /*#__PURE__*/ hMap(flt, 9, 1);
39397
- // fixed distance map
39398
- var fdrm = /*#__PURE__*/ hMap(fdt, 5, 1);
39399
- // find max of array
39400
- var max = function (a) {
39401
- var m = a[0];
39402
- for (var i = 1; i < a.length; ++i) {
39403
- if (a[i] > m)
39404
- m = a[i];
39405
- }
39406
- return m;
39407
- };
39408
- // read d, starting at bit p and mask with m
39409
- var bits = function (d, p, m) {
39410
- var o = (p / 8) | 0;
39411
- return ((d[o] | (d[o + 1] << 8)) >> (p & 7)) & m;
39412
- };
39413
- // read d, starting at bit p continuing for at least 16 bits
39414
- var bits16 = function (d, p) {
39415
- var o = (p / 8) | 0;
39416
- return ((d[o] | (d[o + 1] << 8) | (d[o + 2] << 16)) >> (p & 7));
39417
- };
39418
- // get end of byte
39419
- var shft = function (p) { return ((p + 7) / 8) | 0; };
39420
- // typed array slice - allows garbage collector to free original reference,
39421
- // while being more compatible than .slice
39422
- var slc = function (v, s, e) {
39423
- if (s == null || s < 0)
39424
- s = 0;
39425
- if (e == null || e > v.length)
39426
- e = v.length;
39427
- // can't use .constructor in case user-supplied
39428
- return new u8(v.subarray(s, e));
39429
- };
39430
- // error codes
39431
- var ec = [
39432
- 'unexpected EOF',
39433
- 'invalid block type',
39434
- 'invalid length/literal',
39435
- 'invalid distance',
39436
- 'stream finished',
39437
- 'no stream handler',
39438
- ,
39439
- 'no callback',
39440
- 'invalid UTF-8 data',
39441
- 'extra field too long',
39442
- 'date not in range 1980-2099',
39443
- 'filename too long',
39444
- 'stream finishing',
39445
- 'invalid zip data'
39446
- // determined by unknown compression method
39447
- ];
39448
- var err = function (ind, msg, nt) {
39449
- var e = new Error(msg || ec[ind]);
39450
- e.code = ind;
39451
- if (Error.captureStackTrace)
39452
- Error.captureStackTrace(e, err);
39453
- if (!nt)
39454
- throw e;
39455
- return e;
39456
- };
39457
- // expands raw DEFLATE data
39458
- var inflt = function (dat, st, buf, dict) {
39459
- // source length dict length
39460
- var sl = dat.length, dl = dict ? dict.length : 0;
39461
- if (!sl || st.f && !st.l)
39462
- return buf || new u8(0);
39463
- var noBuf = !buf;
39464
- // have to estimate size
39465
- var resize = noBuf || st.i != 2;
39466
- // no state
39467
- var noSt = st.i;
39468
- // Assumes roughly 33% compression ratio average
39469
- if (noBuf)
39470
- buf = new u8(sl * 3);
39471
- // ensure buffer can fit at least l elements
39472
- var cbuf = function (l) {
39473
- var bl = buf.length;
39474
- // need to increase size to fit
39475
- if (l > bl) {
39476
- // Double or set to necessary, whichever is greater
39477
- var nbuf = new u8(Math.max(bl * 2, l));
39478
- nbuf.set(buf);
39479
- buf = nbuf;
39480
- }
39481
- };
39482
- // last chunk bitpos bytes
39483
- var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;
39484
- // total bits
39485
- var tbts = sl * 8;
39486
- do {
39487
- if (!lm) {
39488
- // BFINAL - this is only 1 when last chunk is next
39489
- final = bits(dat, pos, 1);
39490
- // type: 0 = no compression, 1 = fixed huffman, 2 = dynamic huffman
39491
- var type = bits(dat, pos + 1, 3);
39492
- pos += 3;
39493
- if (!type) {
39494
- // go to end of byte boundary
39495
- var s = shft(pos) + 4, l = dat[s - 4] | (dat[s - 3] << 8), t = s + l;
39496
- if (t > sl) {
39497
- if (noSt)
39498
- err(0);
39499
- break;
39500
- }
39501
- // ensure size
39502
- if (resize)
39503
- cbuf(bt + l);
39504
- // Copy over uncompressed data
39505
- buf.set(dat.subarray(s, t), bt);
39506
- // Get new bitpos, update byte count
39507
- st.b = bt += l, st.p = pos = t * 8, st.f = final;
39508
- continue;
39509
- }
39510
- else if (type == 1)
39511
- lm = flrm, dm = fdrm, lbt = 9, dbt = 5;
39512
- else if (type == 2) {
39513
- // literal lengths
39514
- var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;
39515
- var tl = hLit + bits(dat, pos + 5, 31) + 1;
39516
- pos += 14;
39517
- // length+distance tree
39518
- var ldt = new u8(tl);
39519
- // code length tree
39520
- var clt = new u8(19);
39521
- for (var i = 0; i < hcLen; ++i) {
39522
- // use index map to get real code
39523
- clt[clim[i]] = bits(dat, pos + i * 3, 7);
39524
- }
39525
- pos += hcLen * 3;
39526
- // code lengths bits
39527
- var clb = max(clt), clbmsk = (1 << clb) - 1;
39528
- // code lengths map
39529
- var clm = hMap(clt, clb, 1);
39530
- for (var i = 0; i < tl;) {
39531
- var r = clm[bits(dat, pos, clbmsk)];
39532
- // bits read
39533
- pos += r & 15;
39534
- // symbol
39535
- var s = r >> 4;
39536
- // code length to copy
39537
- if (s < 16) {
39538
- ldt[i++] = s;
39539
- }
39540
- else {
39541
- // copy count
39542
- var c = 0, n = 0;
39543
- if (s == 16)
39544
- n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1];
39545
- else if (s == 17)
39546
- n = 3 + bits(dat, pos, 7), pos += 3;
39547
- else if (s == 18)
39548
- n = 11 + bits(dat, pos, 127), pos += 7;
39549
- while (n--)
39550
- ldt[i++] = c;
39551
- }
39552
- }
39553
- // length tree distance tree
39554
- var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);
39555
- // max length bits
39556
- lbt = max(lt);
39557
- // max dist bits
39558
- dbt = max(dt);
39559
- lm = hMap(lt, lbt, 1);
39560
- dm = hMap(dt, dbt, 1);
39561
- }
39562
- else
39563
- err(1);
39564
- if (pos > tbts) {
39565
- if (noSt)
39566
- err(0);
39567
- break;
39568
- }
39569
- }
39570
- // Make sure the buffer can hold this + the largest possible addition
39571
- // Maximum chunk size (practically, theoretically infinite) is 2^17
39572
- if (resize)
39573
- cbuf(bt + 131072);
39574
- var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;
39575
- var lpos = pos;
39576
- for (;; lpos = pos) {
39577
- // bits read, code
39578
- var c = lm[bits16(dat, pos) & lms], sym = c >> 4;
39579
- pos += c & 15;
39580
- if (pos > tbts) {
39581
- if (noSt)
39582
- err(0);
39583
- break;
39584
- }
39585
- if (!c)
39586
- err(2);
39587
- if (sym < 256)
39588
- buf[bt++] = sym;
39589
- else if (sym == 256) {
39590
- lpos = pos, lm = null;
39591
- break;
39592
- }
39593
- else {
39594
- var add = sym - 254;
39595
- // no extra bits needed if less
39596
- if (sym > 264) {
39597
- // index
39598
- var i = sym - 257, b = fleb[i];
39599
- add = bits(dat, pos, (1 << b) - 1) + fl[i];
39600
- pos += b;
39601
- }
39602
- // dist
39603
- var d = dm[bits16(dat, pos) & dms], dsym = d >> 4;
39604
- if (!d)
39605
- err(3);
39606
- pos += d & 15;
39607
- var dt = fd[dsym];
39608
- if (dsym > 3) {
39609
- var b = fdeb[dsym];
39610
- dt += bits16(dat, pos) & (1 << b) - 1, pos += b;
39611
- }
39612
- if (pos > tbts) {
39613
- if (noSt)
39614
- err(0);
39615
- break;
39616
- }
39617
- if (resize)
39618
- cbuf(bt + 131072);
39619
- var end = bt + add;
39620
- if (bt < dt) {
39621
- var shift = dl - dt, dend = Math.min(dt, end);
39622
- if (shift + bt < 0)
39623
- err(3);
39624
- for (; bt < dend; ++bt)
39625
- buf[bt] = dict[shift + bt];
39626
- }
39627
- for (; bt < end; ++bt)
39628
- buf[bt] = buf[bt - dt];
39629
- }
39630
- }
39631
- st.l = lm, st.p = lpos, st.b = bt, st.f = final;
39632
- if (lm)
39633
- final = 1, st.m = lbt, st.d = dm, st.n = dbt;
39634
- } while (!final);
39635
- // don't reallocate for streams or user buffers
39636
- return bt != buf.length && noBuf ? slc(buf, 0, bt) : buf.subarray(0, bt);
39637
- };
39638
- // empty
39639
- var et = /*#__PURE__*/ new u8(0);
39640
- // read 2 bytes
39641
- var b2 = function (d, b) { return d[b] | (d[b + 1] << 8); };
39642
- // read 4 bytes
39643
- var b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16) | (d[b + 3] << 24)) >>> 0; };
39644
- var b8 = function (d, b) { return b4(d, b) + (b4(d, b + 4) * 4294967296); };
39645
- /**
39646
- * Expands DEFLATE data with no wrapper
39647
- * @param data The data to decompress
39648
- * @param opts The decompression options
39649
- * @returns The decompressed version of the data
39650
- */
39651
- function inflateSync(data, opts) {
39652
- return inflt(data, { i: 2 }, opts && opts.out, opts && opts.dictionary);
39653
- }
39654
- // text decoder
39655
- var td = typeof TextDecoder != 'undefined' && /*#__PURE__*/ new TextDecoder();
39656
- // text decoder stream
39657
- var tds = 0;
39658
- try {
39659
- td.decode(et, { stream: true });
39660
- tds = 1;
39661
- }
39662
- catch (e) { }
39663
- // decode UTF8
39664
- var dutf8 = function (d) {
39665
- for (var r = '', i = 0;;) {
39666
- var c = d[i++];
39667
- var eb = (c > 127) + (c > 223) + (c > 239);
39668
- if (i + eb > d.length)
39669
- return { s: r, r: slc(d, i - 1) };
39670
- if (!eb)
39671
- r += String.fromCharCode(c);
39672
- else if (eb == 3) {
39673
- c = ((c & 15) << 18 | (d[i++] & 63) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63)) - 65536,
39674
- r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023));
39675
- }
39676
- else if (eb & 1)
39677
- r += String.fromCharCode((c & 31) << 6 | (d[i++] & 63));
39678
- else
39679
- r += String.fromCharCode((c & 15) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63));
39680
- }
39681
- };
39682
- /**
39683
- * Converts a Uint8Array to a string
39684
- * @param dat The data to decode to string
39685
- * @param latin1 Whether or not to interpret the data as Latin-1. This should
39686
- * not need to be true unless encoding to binary string.
39687
- * @returns The original UTF-8/Latin-1 string
39688
- */
39689
- function strFromU8(dat, latin1) {
39690
- if (latin1) {
39691
- var r = '';
39692
- for (var i = 0; i < dat.length; i += 16384)
39693
- r += String.fromCharCode.apply(null, dat.subarray(i, i + 16384));
39694
- return r;
39695
- }
39696
- else if (td) {
39697
- return td.decode(dat);
39698
- }
39699
- else {
39700
- var _a = dutf8(dat), s = _a.s, r = _a.r;
39701
- if (r.length)
39702
- err(8);
39703
- return s;
39704
- }
39705
- }
39706
- // skip local zip header
39707
- var slzh = function (d, b) { return b + 30 + b2(d, b + 26) + b2(d, b + 28); };
39708
- // read zip header
39709
- var zh = function (d, b, z) {
39710
- var fnl = b2(d, b + 28), fn = strFromU8(d.subarray(b + 46, b + 46 + fnl), !(b2(d, b + 8) & 2048)), es = b + 46 + fnl, bs = b4(d, b + 20);
39711
- var _a = z && bs == 4294967295 ? z64e(d, es) : [bs, b4(d, b + 24), b4(d, b + 42)], sc = _a[0], su = _a[1], off = _a[2];
39712
- return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off];
39713
- };
39714
- // read zip64 extra field
39715
- var z64e = function (d, b) {
39716
- for (; b2(d, b) != 1; b += 4 + b2(d, b + 2))
39717
- ;
39718
- return [b8(d, b + 12), b8(d, b + 4), b8(d, b + 20)];
39719
- };
39720
- /**
39721
- * Synchronously decompresses a ZIP archive. Prefer using `unzip` for better
39722
- * performance with more than one file.
39723
- * @param data The raw compressed ZIP file
39724
- * @param opts The ZIP extraction options
39725
- * @returns The decompressed files
39726
- */
39727
- function unzipSync(data, opts) {
39728
- var files = {};
39729
- var e = data.length - 22;
39730
- for (; b4(data, e) != 0x6054B50; --e) {
39731
- if (!e || data.length - e > 65558)
39732
- err(13);
39733
- }
39734
- var c = b2(data, e + 8);
39735
- if (!c)
39736
- return {};
39737
- var o = b4(data, e + 16);
39738
- var z = o == 4294967295 || c == 65535;
39739
- if (z) {
39740
- var ze = b4(data, e - 12);
39741
- z = b4(data, ze) == 0x6064B50;
39742
- if (z) {
39743
- c = b4(data, ze + 32);
39744
- o = b4(data, ze + 48);
39745
- }
39746
- }
39747
- for (var i = 0; i < c; ++i) {
39748
- var _a = zh(data, o, z), c_2 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);
39749
- o = no;
39750
- {
39751
- if (!c_2)
39752
- files[fn] = slc(data, b, b + sc);
39753
- else if (c_2 == 8)
39754
- files[fn] = inflateSync(data.subarray(b, b + sc), { out: new u8(su) });
39755
- else
39756
- err(14, 'unknown compression type ' + c_2);
39757
- }
39758
- }
39759
- return files;
39294
+ // DEFLATE is a complex format; to read this code, you should probably check the RFC first:
39295
+ // https://tools.ietf.org/html/rfc1951
39296
+ // You may also wish to take a look at the guide I made about this program:
39297
+ // https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad
39298
+ // Some of the following code is similar to that of UZIP.js:
39299
+ // https://github.com/photopea/UZIP.js
39300
+ // However, the vast majority of the codebase has diverged from UZIP.js to increase performance and reduce bundle size.
39301
+ // Sometimes 0 will appear where -1 would be more appropriate. This is because using a uint
39302
+ // is better for memory in most engines (I *think*).
39303
+
39304
+ // aliases for shorter compressed code (most minifers don't do this)
39305
+ var u8 = Uint8Array, u16 = Uint16Array, i32 = Int32Array;
39306
+ // fixed length extra bits
39307
+ var fleb = new u8([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, /* unused */ 0, 0, /* impossible */ 0]);
39308
+ // fixed distance extra bits
39309
+ var fdeb = new u8([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, /* unused */ 0, 0]);
39310
+ // code length index map
39311
+ var clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);
39312
+ // get base, reverse index map from extra bits
39313
+ var freb = function (eb, start) {
39314
+ var b = new u16(31);
39315
+ for (var i = 0; i < 31; ++i) {
39316
+ b[i] = start += 1 << eb[i - 1];
39317
+ }
39318
+ // numbers here are at max 18 bits
39319
+ var r = new i32(b[30]);
39320
+ for (var i = 1; i < 30; ++i) {
39321
+ for (var j = b[i]; j < b[i + 1]; ++j) {
39322
+ r[j] = ((j - b[i]) << 5) | i;
39323
+ }
39324
+ }
39325
+ return { b: b, r: r };
39326
+ };
39327
+ var _a = freb(fleb, 2), fl = _a.b, revfl = _a.r;
39328
+ // we can ignore the fact that the other numbers are wrong; they never happen anyway
39329
+ fl[28] = 258, revfl[258] = 28;
39330
+ var _b = freb(fdeb, 0), fd = _b.b;
39331
+ // map of value to reverse (assuming 16 bits)
39332
+ var rev = new u16(32768);
39333
+ for (var i = 0; i < 32768; ++i) {
39334
+ // reverse table algorithm from SO
39335
+ var x = ((i & 0xAAAA) >> 1) | ((i & 0x5555) << 1);
39336
+ x = ((x & 0xCCCC) >> 2) | ((x & 0x3333) << 2);
39337
+ x = ((x & 0xF0F0) >> 4) | ((x & 0x0F0F) << 4);
39338
+ rev[i] = (((x & 0xFF00) >> 8) | ((x & 0x00FF) << 8)) >> 1;
39339
+ }
39340
+ // create huffman tree from u8 "map": index -> code length for code index
39341
+ // mb (max bits) must be at most 15
39342
+ // TODO: optimize/split up?
39343
+ var hMap = (function (cd, mb, r) {
39344
+ var s = cd.length;
39345
+ // index
39346
+ var i = 0;
39347
+ // u16 "map": index -> # of codes with bit length = index
39348
+ var l = new u16(mb);
39349
+ // length of cd must be 288 (total # of codes)
39350
+ for (; i < s; ++i) {
39351
+ if (cd[i])
39352
+ ++l[cd[i] - 1];
39353
+ }
39354
+ // u16 "map": index -> minimum code for bit length = index
39355
+ var le = new u16(mb);
39356
+ for (i = 1; i < mb; ++i) {
39357
+ le[i] = (le[i - 1] + l[i - 1]) << 1;
39358
+ }
39359
+ var co;
39360
+ if (r) {
39361
+ // u16 "map": index -> number of actual bits, symbol for code
39362
+ co = new u16(1 << mb);
39363
+ // bits to remove for reverser
39364
+ var rvb = 15 - mb;
39365
+ for (i = 0; i < s; ++i) {
39366
+ // ignore 0 lengths
39367
+ if (cd[i]) {
39368
+ // num encoding both symbol and bits read
39369
+ var sv = (i << 4) | cd[i];
39370
+ // free bits
39371
+ var r_1 = mb - cd[i];
39372
+ // start value
39373
+ var v = le[cd[i] - 1]++ << r_1;
39374
+ // m is end value
39375
+ for (var m = v | ((1 << r_1) - 1); v <= m; ++v) {
39376
+ // every 16 bit value starting with the code yields the same result
39377
+ co[rev[v] >> rvb] = sv;
39378
+ }
39379
+ }
39380
+ }
39381
+ }
39382
+ else {
39383
+ co = new u16(s);
39384
+ for (i = 0; i < s; ++i) {
39385
+ if (cd[i]) {
39386
+ co[i] = rev[le[cd[i] - 1]++] >> (15 - cd[i]);
39387
+ }
39388
+ }
39389
+ }
39390
+ return co;
39391
+ });
39392
+ // fixed length tree
39393
+ var flt = new u8(288);
39394
+ for (var i = 0; i < 144; ++i)
39395
+ flt[i] = 8;
39396
+ for (var i = 144; i < 256; ++i)
39397
+ flt[i] = 9;
39398
+ for (var i = 256; i < 280; ++i)
39399
+ flt[i] = 7;
39400
+ for (var i = 280; i < 288; ++i)
39401
+ flt[i] = 8;
39402
+ // fixed distance tree
39403
+ var fdt = new u8(32);
39404
+ for (var i = 0; i < 32; ++i)
39405
+ fdt[i] = 5;
39406
+ // fixed length map
39407
+ var flrm = /*#__PURE__*/ hMap(flt, 9, 1);
39408
+ // fixed distance map
39409
+ var fdrm = /*#__PURE__*/ hMap(fdt, 5, 1);
39410
+ // find max of array
39411
+ var max = function (a) {
39412
+ var m = a[0];
39413
+ for (var i = 1; i < a.length; ++i) {
39414
+ if (a[i] > m)
39415
+ m = a[i];
39416
+ }
39417
+ return m;
39418
+ };
39419
+ // read d, starting at bit p and mask with m
39420
+ var bits = function (d, p, m) {
39421
+ var o = (p / 8) | 0;
39422
+ return ((d[o] | (d[o + 1] << 8)) >> (p & 7)) & m;
39423
+ };
39424
+ // read d, starting at bit p continuing for at least 16 bits
39425
+ var bits16 = function (d, p) {
39426
+ var o = (p / 8) | 0;
39427
+ return ((d[o] | (d[o + 1] << 8) | (d[o + 2] << 16)) >> (p & 7));
39428
+ };
39429
+ // get end of byte
39430
+ var shft = function (p) { return ((p + 7) / 8) | 0; };
39431
+ // typed array slice - allows garbage collector to free original reference,
39432
+ // while being more compatible than .slice
39433
+ var slc = function (v, s, e) {
39434
+ if (s == null || s < 0)
39435
+ s = 0;
39436
+ if (e == null || e > v.length)
39437
+ e = v.length;
39438
+ // can't use .constructor in case user-supplied
39439
+ return new u8(v.subarray(s, e));
39440
+ };
39441
+ // error codes
39442
+ var ec = [
39443
+ 'unexpected EOF',
39444
+ 'invalid block type',
39445
+ 'invalid length/literal',
39446
+ 'invalid distance',
39447
+ 'stream finished',
39448
+ 'no stream handler',
39449
+ ,
39450
+ 'no callback',
39451
+ 'invalid UTF-8 data',
39452
+ 'extra field too long',
39453
+ 'date not in range 1980-2099',
39454
+ 'filename too long',
39455
+ 'stream finishing',
39456
+ 'invalid zip data'
39457
+ // determined by unknown compression method
39458
+ ];
39459
+ var err = function (ind, msg, nt) {
39460
+ var e = new Error(msg || ec[ind]);
39461
+ e.code = ind;
39462
+ if (Error.captureStackTrace)
39463
+ Error.captureStackTrace(e, err);
39464
+ if (!nt)
39465
+ throw e;
39466
+ return e;
39467
+ };
39468
+ // expands raw DEFLATE data
39469
+ var inflt = function (dat, st, buf, dict) {
39470
+ // source length dict length
39471
+ var sl = dat.length, dl = dict ? dict.length : 0;
39472
+ if (!sl || st.f && !st.l)
39473
+ return buf || new u8(0);
39474
+ var noBuf = !buf;
39475
+ // have to estimate size
39476
+ var resize = noBuf || st.i != 2;
39477
+ // no state
39478
+ var noSt = st.i;
39479
+ // Assumes roughly 33% compression ratio average
39480
+ if (noBuf)
39481
+ buf = new u8(sl * 3);
39482
+ // ensure buffer can fit at least l elements
39483
+ var cbuf = function (l) {
39484
+ var bl = buf.length;
39485
+ // need to increase size to fit
39486
+ if (l > bl) {
39487
+ // Double or set to necessary, whichever is greater
39488
+ var nbuf = new u8(Math.max(bl * 2, l));
39489
+ nbuf.set(buf);
39490
+ buf = nbuf;
39491
+ }
39492
+ };
39493
+ // last chunk bitpos bytes
39494
+ var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;
39495
+ // total bits
39496
+ var tbts = sl * 8;
39497
+ do {
39498
+ if (!lm) {
39499
+ // BFINAL - this is only 1 when last chunk is next
39500
+ final = bits(dat, pos, 1);
39501
+ // type: 0 = no compression, 1 = fixed huffman, 2 = dynamic huffman
39502
+ var type = bits(dat, pos + 1, 3);
39503
+ pos += 3;
39504
+ if (!type) {
39505
+ // go to end of byte boundary
39506
+ var s = shft(pos) + 4, l = dat[s - 4] | (dat[s - 3] << 8), t = s + l;
39507
+ if (t > sl) {
39508
+ if (noSt)
39509
+ err(0);
39510
+ break;
39511
+ }
39512
+ // ensure size
39513
+ if (resize)
39514
+ cbuf(bt + l);
39515
+ // Copy over uncompressed data
39516
+ buf.set(dat.subarray(s, t), bt);
39517
+ // Get new bitpos, update byte count
39518
+ st.b = bt += l, st.p = pos = t * 8, st.f = final;
39519
+ continue;
39520
+ }
39521
+ else if (type == 1)
39522
+ lm = flrm, dm = fdrm, lbt = 9, dbt = 5;
39523
+ else if (type == 2) {
39524
+ // literal lengths
39525
+ var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;
39526
+ var tl = hLit + bits(dat, pos + 5, 31) + 1;
39527
+ pos += 14;
39528
+ // length+distance tree
39529
+ var ldt = new u8(tl);
39530
+ // code length tree
39531
+ var clt = new u8(19);
39532
+ for (var i = 0; i < hcLen; ++i) {
39533
+ // use index map to get real code
39534
+ clt[clim[i]] = bits(dat, pos + i * 3, 7);
39535
+ }
39536
+ pos += hcLen * 3;
39537
+ // code lengths bits
39538
+ var clb = max(clt), clbmsk = (1 << clb) - 1;
39539
+ // code lengths map
39540
+ var clm = hMap(clt, clb, 1);
39541
+ for (var i = 0; i < tl;) {
39542
+ var r = clm[bits(dat, pos, clbmsk)];
39543
+ // bits read
39544
+ pos += r & 15;
39545
+ // symbol
39546
+ var s = r >> 4;
39547
+ // code length to copy
39548
+ if (s < 16) {
39549
+ ldt[i++] = s;
39550
+ }
39551
+ else {
39552
+ // copy count
39553
+ var c = 0, n = 0;
39554
+ if (s == 16)
39555
+ n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1];
39556
+ else if (s == 17)
39557
+ n = 3 + bits(dat, pos, 7), pos += 3;
39558
+ else if (s == 18)
39559
+ n = 11 + bits(dat, pos, 127), pos += 7;
39560
+ while (n--)
39561
+ ldt[i++] = c;
39562
+ }
39563
+ }
39564
+ // length tree distance tree
39565
+ var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);
39566
+ // max length bits
39567
+ lbt = max(lt);
39568
+ // max dist bits
39569
+ dbt = max(dt);
39570
+ lm = hMap(lt, lbt, 1);
39571
+ dm = hMap(dt, dbt, 1);
39572
+ }
39573
+ else
39574
+ err(1);
39575
+ if (pos > tbts) {
39576
+ if (noSt)
39577
+ err(0);
39578
+ break;
39579
+ }
39580
+ }
39581
+ // Make sure the buffer can hold this + the largest possible addition
39582
+ // Maximum chunk size (practically, theoretically infinite) is 2^17
39583
+ if (resize)
39584
+ cbuf(bt + 131072);
39585
+ var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;
39586
+ var lpos = pos;
39587
+ for (;; lpos = pos) {
39588
+ // bits read, code
39589
+ var c = lm[bits16(dat, pos) & lms], sym = c >> 4;
39590
+ pos += c & 15;
39591
+ if (pos > tbts) {
39592
+ if (noSt)
39593
+ err(0);
39594
+ break;
39595
+ }
39596
+ if (!c)
39597
+ err(2);
39598
+ if (sym < 256)
39599
+ buf[bt++] = sym;
39600
+ else if (sym == 256) {
39601
+ lpos = pos, lm = null;
39602
+ break;
39603
+ }
39604
+ else {
39605
+ var add = sym - 254;
39606
+ // no extra bits needed if less
39607
+ if (sym > 264) {
39608
+ // index
39609
+ var i = sym - 257, b = fleb[i];
39610
+ add = bits(dat, pos, (1 << b) - 1) + fl[i];
39611
+ pos += b;
39612
+ }
39613
+ // dist
39614
+ var d = dm[bits16(dat, pos) & dms], dsym = d >> 4;
39615
+ if (!d)
39616
+ err(3);
39617
+ pos += d & 15;
39618
+ var dt = fd[dsym];
39619
+ if (dsym > 3) {
39620
+ var b = fdeb[dsym];
39621
+ dt += bits16(dat, pos) & (1 << b) - 1, pos += b;
39622
+ }
39623
+ if (pos > tbts) {
39624
+ if (noSt)
39625
+ err(0);
39626
+ break;
39627
+ }
39628
+ if (resize)
39629
+ cbuf(bt + 131072);
39630
+ var end = bt + add;
39631
+ if (bt < dt) {
39632
+ var shift = dl - dt, dend = Math.min(dt, end);
39633
+ if (shift + bt < 0)
39634
+ err(3);
39635
+ for (; bt < dend; ++bt)
39636
+ buf[bt] = dict[shift + bt];
39637
+ }
39638
+ for (; bt < end; ++bt)
39639
+ buf[bt] = buf[bt - dt];
39640
+ }
39641
+ }
39642
+ st.l = lm, st.p = lpos, st.b = bt, st.f = final;
39643
+ if (lm)
39644
+ final = 1, st.m = lbt, st.d = dm, st.n = dbt;
39645
+ } while (!final);
39646
+ // don't reallocate for streams or user buffers
39647
+ return bt != buf.length && noBuf ? slc(buf, 0, bt) : buf.subarray(0, bt);
39648
+ };
39649
+ // empty
39650
+ var et = /*#__PURE__*/ new u8(0);
39651
+ // read 2 bytes
39652
+ var b2 = function (d, b) { return d[b] | (d[b + 1] << 8); };
39653
+ // read 4 bytes
39654
+ var b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16) | (d[b + 3] << 24)) >>> 0; };
39655
+ var b8 = function (d, b) { return b4(d, b) + (b4(d, b + 4) * 4294967296); };
39656
+ /**
39657
+ * Expands DEFLATE data with no wrapper
39658
+ * @param data The data to decompress
39659
+ * @param opts The decompression options
39660
+ * @returns The decompressed version of the data
39661
+ */
39662
+ function inflateSync(data, opts) {
39663
+ return inflt(data, { i: 2 }, opts && opts.out, opts && opts.dictionary);
39664
+ }
39665
+ // text decoder
39666
+ var td = typeof TextDecoder != 'undefined' && /*#__PURE__*/ new TextDecoder();
39667
+ // text decoder stream
39668
+ var tds = 0;
39669
+ try {
39670
+ td.decode(et, { stream: true });
39671
+ tds = 1;
39672
+ }
39673
+ catch (e) { }
39674
+ // decode UTF8
39675
+ var dutf8 = function (d) {
39676
+ for (var r = '', i = 0;;) {
39677
+ var c = d[i++];
39678
+ var eb = (c > 127) + (c > 223) + (c > 239);
39679
+ if (i + eb > d.length)
39680
+ return { s: r, r: slc(d, i - 1) };
39681
+ if (!eb)
39682
+ r += String.fromCharCode(c);
39683
+ else if (eb == 3) {
39684
+ c = ((c & 15) << 18 | (d[i++] & 63) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63)) - 65536,
39685
+ r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023));
39686
+ }
39687
+ else if (eb & 1)
39688
+ r += String.fromCharCode((c & 31) << 6 | (d[i++] & 63));
39689
+ else
39690
+ r += String.fromCharCode((c & 15) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63));
39691
+ }
39692
+ };
39693
+ /**
39694
+ * Converts a Uint8Array to a string
39695
+ * @param dat The data to decode to string
39696
+ * @param latin1 Whether or not to interpret the data as Latin-1. This should
39697
+ * not need to be true unless encoding to binary string.
39698
+ * @returns The original UTF-8/Latin-1 string
39699
+ */
39700
+ function strFromU8(dat, latin1) {
39701
+ if (latin1) {
39702
+ var r = '';
39703
+ for (var i = 0; i < dat.length; i += 16384)
39704
+ r += String.fromCharCode.apply(null, dat.subarray(i, i + 16384));
39705
+ return r;
39706
+ }
39707
+ else if (td) {
39708
+ return td.decode(dat);
39709
+ }
39710
+ else {
39711
+ var _a = dutf8(dat), s = _a.s, r = _a.r;
39712
+ if (r.length)
39713
+ err(8);
39714
+ return s;
39715
+ }
39716
+ }
39717
+ // skip local zip header
39718
+ var slzh = function (d, b) { return b + 30 + b2(d, b + 26) + b2(d, b + 28); };
39719
+ // read zip header
39720
+ var zh = function (d, b, z) {
39721
+ var fnl = b2(d, b + 28), fn = strFromU8(d.subarray(b + 46, b + 46 + fnl), !(b2(d, b + 8) & 2048)), es = b + 46 + fnl, bs = b4(d, b + 20);
39722
+ var _a = z && bs == 4294967295 ? z64e(d, es) : [bs, b4(d, b + 24), b4(d, b + 42)], sc = _a[0], su = _a[1], off = _a[2];
39723
+ return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off];
39724
+ };
39725
+ // read zip64 extra field
39726
+ var z64e = function (d, b) {
39727
+ for (; b2(d, b) != 1; b += 4 + b2(d, b + 2))
39728
+ ;
39729
+ return [b8(d, b + 12), b8(d, b + 4), b8(d, b + 20)];
39730
+ };
39731
+ /**
39732
+ * Synchronously decompresses a ZIP archive. Prefer using `unzip` for better
39733
+ * performance with more than one file.
39734
+ * @param data The raw compressed ZIP file
39735
+ * @param opts The ZIP extraction options
39736
+ * @returns The decompressed files
39737
+ */
39738
+ function unzipSync(data, opts) {
39739
+ var files = {};
39740
+ var e = data.length - 22;
39741
+ for (; b4(data, e) != 0x6054B50; --e) {
39742
+ if (!e || data.length - e > 65558)
39743
+ err(13);
39744
+ }
39745
+ var c = b2(data, e + 8);
39746
+ if (!c)
39747
+ return {};
39748
+ var o = b4(data, e + 16);
39749
+ var z = o == 4294967295 || c == 65535;
39750
+ if (z) {
39751
+ var ze = b4(data, e - 12);
39752
+ z = b4(data, ze) == 0x6064B50;
39753
+ if (z) {
39754
+ c = b4(data, ze + 32);
39755
+ o = b4(data, ze + 48);
39756
+ }
39757
+ }
39758
+ for (var i = 0; i < c; ++i) {
39759
+ var _a = zh(data, o, z), c_2 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);
39760
+ o = no;
39761
+ {
39762
+ if (!c_2)
39763
+ files[fn] = slc(data, b, b + sc);
39764
+ else if (c_2 == 8)
39765
+ files[fn] = inflateSync(data.subarray(b, b + sc), { out: new u8(su) });
39766
+ else
39767
+ err(14, 'unknown compression type ' + c_2);
39768
+ }
39769
+ }
39770
+ return files;
39760
39771
  }
39761
39772
 
39762
39773
  class UnLitMaterial extends Material {
@@ -40527,7 +40538,7 @@ class PostProcessingComponent extends ComponentBase {
40527
40538
  }
40528
40539
  }
40529
40540
 
40530
- const version = "1.0.7";
40541
+ const version = "1.0.9";
40531
40542
 
40532
40543
  class Engine3D {
40533
40544
  /**