@eva/plugin-renderer 1.3.0-alpha.1 → 2.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
- import { OBSERVER_TYPE, decorators, resourceLoader, resource, RESOURCE_TYPE_STRATEGY, LOAD_SCENE_MODE, System } from '@eva/eva.js';
1
+ import { OBSERVER_TYPE, decorators, System, LOAD_SCENE_MODE, resource } from '@eva/eva.js';
2
2
  import { Container, Application } from '@eva/renderer-adapter';
3
3
  import isEqual from 'lodash-es/isEqual';
4
4
  import EventEmitter from 'eventemitter3';
5
- import { glCore, Texture, BaseTexture, utils, ticker } from 'pixi.js';
5
+ import { Ticker, setKTXTranscoderPath, extensions, loadKTX2, resolveCompressedTextureUrl, detectCompressed } from 'pixi.js';
6
6
 
7
7
  /*! *****************************************************************************
8
8
  Copyright (c) Microsoft Corporation. All rights reserved.
@@ -51,6 +51,43 @@ function __decorate(decorators, target, key, desc) {
51
51
  return c > 3 && r && Object.defineProperty(target, key, r), r;
52
52
  }
53
53
 
54
+ function __awaiter(thisArg, _arguments, P, generator) {
55
+ return new (P || (P = Promise))(function (resolve, reject) {
56
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
57
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
58
+ function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
59
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
60
+ });
61
+ }
62
+
63
+ function __generator(thisArg, body) {
64
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
65
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
66
+ function verb(n) { return function (v) { return step([n, v]); }; }
67
+ function step(op) {
68
+ if (f) throw new TypeError("Generator is already executing.");
69
+ while (_) try {
70
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
71
+ if (y = 0, t) op = [op[0] & 2, t.value];
72
+ switch (op[0]) {
73
+ case 0: case 1: t = op; break;
74
+ case 4: _.label++; return { value: op[1], done: false };
75
+ case 5: _.label++; y = op[1]; op = [0]; continue;
76
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
77
+ default:
78
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
79
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
80
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
81
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
82
+ if (t[2]) _.ops.pop();
83
+ _.trys.pop(); continue;
84
+ }
85
+ op = body.call(thisArg, _);
86
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
87
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
88
+ }
89
+ }
90
+
54
91
  function __values(o) {
55
92
  var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
56
93
  if (m) return m.call(o);
@@ -231,7 +268,7 @@ var ContainerManager = (function () {
231
268
  ContainerManager.prototype.updateTransform = function (_a) {
232
269
  var name = _a.name, transform = _a.transform;
233
270
  var container = this.containerMap[name];
234
- if (!container)
271
+ if (!container || !transform)
235
272
  return;
236
273
  var anchor = transform.anchor, origin = transform.origin, position = transform.position, rotation = transform.rotation, scale = transform.scale, size = transform.size, skew = transform.skew;
237
274
  container.rotation = rotation;
@@ -320,13 +357,13 @@ var Transform = (function (_super) {
320
357
  };
321
358
  Transform.prototype.addContainer = function (changed) {
322
359
  var container = new Container();
323
- container.name = changed.gameObject.name;
360
+ container.label = changed.gameObject.name;
324
361
  this.containerManager.addContainer({
325
362
  name: changed.gameObject.id,
326
363
  container: container,
327
364
  });
328
365
  var transform = changed.component;
329
- transform.worldTransform = container.transform.worldTransform;
366
+ transform.worldTransform = container.worldTransform;
330
367
  };
331
368
  Transform.prototype.change = function (changed) {
332
369
  var transform = changed.component;
@@ -361,407 +398,6 @@ var Transform = (function (_super) {
361
398
  }(EventEmitter));
362
399
  var Transform$1 = Transform;
363
400
 
364
- var result = undefined;
365
- function getSuportCompressedTextureFormats(gl) {
366
- if (result)
367
- return result;
368
- if (!gl) {
369
- console.warn('WebGL not available for compressed textures. Silently failing.');
370
- return {
371
- s3tc: false,
372
- etc: false,
373
- etc1: false,
374
- pvrtc: false,
375
- atc: false,
376
- astc: false,
377
- };
378
- }
379
- result = {
380
- s3tc: !!gl.getExtension('WEBGL_compressed_texture_s3tc'),
381
- etc: !!gl.getExtension('WEBGL_compressed_texture_etc'),
382
- etc1: !!gl.getExtension('WEBGL_compressed_texture_etc1'),
383
- pvrtc: !!gl.getExtension('WEBGL_compressed_texture_pvrtc')
384
- || !!gl.getExtension('WEBKIT_WEBGL_compressed_texture_pvrtc'),
385
- atc: !!gl.getExtension('WEBGL_compressed_texture_atc'),
386
- astc: !!gl.getExtension('WEBGL_compressed_texture_astc')
387
- };
388
- try {
389
- console.log('Eva.js Supported Compressed Texture Format List: ' + Object.keys(result).filter(function (type) { return result[type]; }).join(', '));
390
- }
391
- catch (e) { }
392
- return result;
393
- }
394
-
395
- var XLS = resourceLoader.XhrLoadStrategy;
396
- var XhrLoadStrategy = XLS;
397
-
398
- var _a$2, _b;
399
- var INTERNAL_FORMATS;
400
- (function (INTERNAL_FORMATS) {
401
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGB_S3TC_DXT1_EXT"] = 33776] = "COMPRESSED_RGB_S3TC_DXT1_EXT";
402
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_S3TC_DXT1_EXT"] = 33777] = "COMPRESSED_RGBA_S3TC_DXT1_EXT";
403
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_S3TC_DXT3_EXT"] = 33778] = "COMPRESSED_RGBA_S3TC_DXT3_EXT";
404
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_S3TC_DXT5_EXT"] = 33779] = "COMPRESSED_RGBA_S3TC_DXT5_EXT";
405
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT"] = 35917] = "COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT";
406
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT"] = 35918] = "COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT";
407
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT"] = 35919] = "COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT";
408
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB_S3TC_DXT1_EXT"] = 35916] = "COMPRESSED_SRGB_S3TC_DXT1_EXT";
409
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_R11_EAC"] = 37488] = "COMPRESSED_R11_EAC";
410
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SIGNED_R11_EAC"] = 37489] = "COMPRESSED_SIGNED_R11_EAC";
411
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RG11_EAC"] = 37490] = "COMPRESSED_RG11_EAC";
412
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SIGNED_RG11_EAC"] = 37491] = "COMPRESSED_SIGNED_RG11_EAC";
413
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGB8_ETC2"] = 37492] = "COMPRESSED_RGB8_ETC2";
414
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA8_ETC2_EAC"] = 37496] = "COMPRESSED_RGBA8_ETC2_EAC";
415
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ETC2"] = 37493] = "COMPRESSED_SRGB8_ETC2";
416
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ETC2_EAC"] = 37497] = "COMPRESSED_SRGB8_ALPHA8_ETC2_EAC";
417
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2"] = 37494] = "COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2";
418
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2"] = 37495] = "COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2";
419
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGB_PVRTC_4BPPV1_IMG"] = 35840] = "COMPRESSED_RGB_PVRTC_4BPPV1_IMG";
420
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_PVRTC_4BPPV1_IMG"] = 35842] = "COMPRESSED_RGBA_PVRTC_4BPPV1_IMG";
421
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGB_PVRTC_2BPPV1_IMG"] = 35841] = "COMPRESSED_RGB_PVRTC_2BPPV1_IMG";
422
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_PVRTC_2BPPV1_IMG"] = 35843] = "COMPRESSED_RGBA_PVRTC_2BPPV1_IMG";
423
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGB_ETC1_WEBGL"] = 36196] = "COMPRESSED_RGB_ETC1_WEBGL";
424
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGB_ATC_WEBGL"] = 35986] = "COMPRESSED_RGB_ATC_WEBGL";
425
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL"] = 35986] = "COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL";
426
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL"] = 34798] = "COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL";
427
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_10x10_KHR"] = 37819] = "COMPRESSED_RGBA_ASTC_10x10_KHR";
428
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_10x5_KHR"] = 37816] = "COMPRESSED_RGBA_ASTC_10x5_KHR";
429
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_10x6_KHR"] = 37817] = "COMPRESSED_RGBA_ASTC_10x6_KHR";
430
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_10x8_KHR"] = 37818] = "COMPRESSED_RGBA_ASTC_10x8_KHR";
431
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_12x10_KHR"] = 37820] = "COMPRESSED_RGBA_ASTC_12x10_KHR";
432
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_12x12_KHR"] = 37821] = "COMPRESSED_RGBA_ASTC_12x12_KHR";
433
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_4x4_KHR"] = 37808] = "COMPRESSED_RGBA_ASTC_4x4_KHR";
434
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_5x4_KHR"] = 37809] = "COMPRESSED_RGBA_ASTC_5x4_KHR";
435
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_5x5_KHR"] = 37810] = "COMPRESSED_RGBA_ASTC_5x5_KHR";
436
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_6x5_KHR"] = 37811] = "COMPRESSED_RGBA_ASTC_6x5_KHR";
437
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_6x6_KHR"] = 37812] = "COMPRESSED_RGBA_ASTC_6x6_KHR";
438
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_8x5_KHR"] = 37813] = "COMPRESSED_RGBA_ASTC_8x5_KHR";
439
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_8x6_KHR"] = 37814] = "COMPRESSED_RGBA_ASTC_8x6_KHR";
440
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_ASTC_8x8_KHR"] = 37815] = "COMPRESSED_RGBA_ASTC_8x8_KHR";
441
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR"] = 3781] = "COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR";
442
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR"] = 37847] = "COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR";
443
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR"] = 37849] = "COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR";
444
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR"] = 37850] = "COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR";
445
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR"] = 37852] = "COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR";
446
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR"] = 37853] = "COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR";
447
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR"] = 37840] = "COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR";
448
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR"] = 37841] = "COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR";
449
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR"] = 37842] = "COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR";
450
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR"] = 37843] = "COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR";
451
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR"] = 37844] = "COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR";
452
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR"] = 37845] = "COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR";
453
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR"] = 37846] = "COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR";
454
- INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR"] = 37847] = "COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR";
455
- })(INTERNAL_FORMATS || (INTERNAL_FORMATS = {}));
456
- var INTERNAL_FORMAT_TO_BLOCK_SIZE = (_a$2 = {},
457
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGB_S3TC_DXT1_EXT] = [4, 4],
458
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT1_EXT] = [4, 4],
459
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT3_EXT] = [4, 4],
460
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT5_EXT] = [4, 4],
461
- _a$2[INTERNAL_FORMATS.COMPRESSED_SRGB_S3TC_DXT1_EXT] = [4, 4],
462
- _a$2[INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT] = [4, 4],
463
- _a$2[INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT] = [4, 4],
464
- _a$2[INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT] = [4, 4],
465
- _a$2[INTERNAL_FORMATS.COMPRESSED_R11_EAC] = [4, 4],
466
- _a$2[INTERNAL_FORMATS.COMPRESSED_SIGNED_R11_EAC] = [4, 4],
467
- _a$2[INTERNAL_FORMATS.COMPRESSED_RG11_EAC] = [4, 4],
468
- _a$2[INTERNAL_FORMATS.COMPRESSED_SIGNED_RG11_EAC] = [4, 4],
469
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGB8_ETC2] = [4, 4],
470
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGBA8_ETC2_EAC] = [4, 4],
471
- _a$2[INTERNAL_FORMATS.COMPRESSED_SRGB8_ETC2] = [4, 4],
472
- _a$2[INTERNAL_FORMATS.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC] = [4, 4],
473
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2] = [4, 4],
474
- _a$2[INTERNAL_FORMATS.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2] = [4, 4],
475
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG] = [4, 4],
476
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG] = [4, 4],
477
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGB_PVRTC_2BPPV1_IMG] = [8, 4],
478
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG] = [8, 4],
479
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGB_ETC1_WEBGL] = [4, 4],
480
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGB_ATC_WEBGL] = [4, 4],
481
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL] = [4, 4],
482
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL] = [4, 4],
483
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_4x4_KHR] = [4, 4],
484
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_5x5_KHR] = [5, 5],
485
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_6x6_KHR] = [6, 6],
486
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_8x8_KHR] = [8, 8],
487
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_10x10_KHR] = [10, 10],
488
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_12x12_KHR] = [12, 12],
489
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_10x5_KHR] = [10, 5],
490
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_10x6_KHR] = [10, 6],
491
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_10x8_KHR] = [10, 8],
492
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_12x10_KHR] = [12, 10],
493
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_5x4_KHR] = [5, 4],
494
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_6x5_KHR] = [6, 5],
495
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_8x5_KHR] = [8, 5],
496
- _a$2[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_8x6_KHR] = [8, 6],
497
- _a$2);
498
- var INTERNAL_FORMATS_TO_EXTENSION_NAME = (_b = {},
499
- _b[INTERNAL_FORMATS.COMPRESSED_RGB_S3TC_DXT1_EXT] = 'WEBGL_compressed_texture_s3tc',
500
- _b[INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT1_EXT] = 'WEBGL_compressed_texture_s3tc',
501
- _b[INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT3_EXT] = 'WEBGL_compressed_texture_s3tc',
502
- _b[INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT5_EXT] = 'WEBGL_compressed_texture_s3tc',
503
- _b[INTERNAL_FORMATS.COMPRESSED_SRGB_S3TC_DXT1_EXT] = 'WEBGL_compressed_texture_s3tc_srgb',
504
- _b[INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT] = 'WEBGL_compressed_texture_s3tc_srgb',
505
- _b[INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT] = 'WEBGL_compressed_texture_s3tc_srgb',
506
- _b[INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT] = 'WEBGL_compressed_texture_s3tc_srgb',
507
- _b[INTERNAL_FORMATS.COMPRESSED_R11_EAC] = 'WEBGL_compressed_texture_etc',
508
- _b[INTERNAL_FORMATS.COMPRESSED_SIGNED_R11_EAC] = 'WEBGL_compressed_texture_etc',
509
- _b[INTERNAL_FORMATS.COMPRESSED_RG11_EAC] = 'WEBGL_compressed_texture_etc',
510
- _b[INTERNAL_FORMATS.COMPRESSED_SIGNED_RG11_EAC] = 'WEBGL_compressed_texture_etc',
511
- _b[INTERNAL_FORMATS.COMPRESSED_RGB8_ETC2] = 'WEBGL_compressed_texture_etc',
512
- _b[INTERNAL_FORMATS.COMPRESSED_RGBA8_ETC2_EAC] = 'WEBGL_compressed_texture_etc',
513
- _b[INTERNAL_FORMATS.COMPRESSED_SRGB8_ETC2] = 'WEBGL_compressed_texture_etc',
514
- _b[INTERNAL_FORMATS.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC] = 'WEBGL_compressed_texture_etc',
515
- _b[INTERNAL_FORMATS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2] = 'WEBGL_compressed_texture_etc',
516
- _b[INTERNAL_FORMATS.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2] = 'WEBGL_compressed_texture_etc',
517
- _b[INTERNAL_FORMATS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG] = 'WEBGL_compressed_texture_pvrtc',
518
- _b[INTERNAL_FORMATS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG] = 'WEBGL_compressed_texture_pvrtc',
519
- _b[INTERNAL_FORMATS.COMPRESSED_RGB_PVRTC_2BPPV1_IMG] = 'WEBGL_compressed_texture_pvrtc',
520
- _b[INTERNAL_FORMATS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG] = 'WEBGL_compressed_texture_pvrtc',
521
- _b[INTERNAL_FORMATS.COMPRESSED_RGB_ETC1_WEBGL] = 'WEBGL_compressed_texture_etc1',
522
- _b[INTERNAL_FORMATS.COMPRESSED_RGB_ATC_WEBGL] = 'WEBGL_compressed_texture_atc',
523
- _b[INTERNAL_FORMATS.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL] = 'WEBGL_compressed_texture_atc',
524
- _b[INTERNAL_FORMATS.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL] = 'WEBGL_compressed_texture_atc',
525
- _b[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_4x4_KHR] = 'WEBGL_compressed_texture_astc',
526
- _b[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_5x5_KHR] = 'WEBGL_compressed_texture_astc',
527
- _b[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_6x6_KHR] = 'WEBGL_compressed_texture_astc',
528
- _b[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_8x8_KHR] = 'WEBGL_compressed_texture_astc',
529
- _b[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_10x10_KHR] = 'WEBGL_compressed_texture_astc',
530
- _b[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_12x12_KHR] = 'WEBGL_compressed_texture_astc',
531
- _b);
532
-
533
- var CompressedTextureResource = (function () {
534
- function CompressedTextureResource() {
535
- this.levelBuffers = [];
536
- }
537
- CompressedTextureResource.prototype.upload = function (gl) {
538
- var levels = this.levels;
539
- var name = INTERNAL_FORMATS_TO_EXTENSION_NAME[this.internalFormat];
540
- if (!gl[name]) {
541
- gl[name] = true;
542
- if (name === 'WEBGL_compressed_texture_pvrtc') {
543
- gl.getExtension(name) || gl.getExtension('WEBKIT_WEBGL_compressed_texture_pvrtc');
544
- }
545
- else {
546
- gl.getExtension(name);
547
- }
548
- }
549
- for (var i = 0; i < this.levels; ++i) {
550
- var _a = this.levelBuffers[i], levelWidth = _a.levelWidth, levelHeight = _a.levelHeight, levelBuffer = _a.levelBuffer;
551
- gl.compressedTexImage2D(gl.TEXTURE_2D, i, this.internalFormat, levelWidth, levelHeight, 0, levelBuffer);
552
- }
553
- if (levels > 1) {
554
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
555
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_NEAREST);
556
- }
557
- else {
558
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
559
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
560
- }
561
- };
562
- return CompressedTextureResource;
563
- }());
564
-
565
- var FILE_HEADER_SIZE = 64;
566
- var KTX_FIELDS = {
567
- FILE_IDENTIFIER: 0,
568
- ENDIANNESS: 12,
569
- GL_TYPE: 16,
570
- GL_TYPE_SIZE: 20,
571
- GL_FORMAT: 24,
572
- GL_INTERNAL_FORMAT: 28,
573
- GL_BASE_INTERNAL_FORMAT: 32,
574
- PIXEL_WIDTH: 36,
575
- PIXEL_HEIGHT: 40,
576
- PIXEL_DEPTH: 44,
577
- NUMBER_OF_ARRAY_ELEMENTS: 48,
578
- NUMBER_OF_FACES: 52,
579
- NUMBER_OF_MIPMAP_LEVELS: 56,
580
- BYTES_OF_KEY_VALUE_DATA: 60
581
- };
582
- var FILE_IDENTIFIER = [0xAB, 0x4B, 0x54, 0x58, 0x20, 0x31, 0x31, 0xBB, 0x0D, 0x0A, 0x1A, 0x0A];
583
- var ENDIANNESS = 0x04030201;
584
- var KTXTextureResource = (function (_super) {
585
- __extends(KTXTextureResource, _super);
586
- function KTXTextureResource(source, config) {
587
- var _a;
588
- var _this = _super.call(this) || this;
589
- _this.complete = true;
590
- _this.src = config.url;
591
- var dataView = new DataView(source);
592
- if (!validateKTX(dataView)) {
593
- throw new Error('Not a valid KTX Texture');
594
- }
595
- var littleEndian = dataView.getUint32(KTX_FIELDS.ENDIANNESS, true) === ENDIANNESS;
596
- _this.internalFormat = dataView.getUint32(KTX_FIELDS.GL_INTERNAL_FORMAT, littleEndian);
597
- var pixelWidth = _this.formerWidth = dataView.getUint32(KTX_FIELDS.PIXEL_WIDTH, littleEndian);
598
- var pixelHeight = _this.formerHeight = dataView.getUint32(KTX_FIELDS.PIXEL_HEIGHT, littleEndian) || 1;
599
- var size = INTERNAL_FORMAT_TO_BLOCK_SIZE[_this.internalFormat];
600
- _this.width = pixelWidth % size[0] === 0 ? pixelWidth : (pixelWidth + size[0] - (pixelWidth % size[0]));
601
- _this.height = pixelHeight % size[1] === 0 ? pixelHeight : (pixelHeight + size[1] - (pixelHeight % size[1]));
602
- var src = resource.resourcesMap[config.metadata.name].src[config.metadata.key];
603
- var _b = (_a = src === null || src === void 0 ? void 0 : src.size) !== null && _a !== void 0 ? _a : {}, width = _b.width, height = _b.height;
604
- if (width && height) {
605
- _this.naturalWidth = width;
606
- _this.naturalHeight = height;
607
- }
608
- var pixelDepth = dataView.getUint32(KTX_FIELDS.PIXEL_DEPTH, littleEndian) || 1;
609
- var numberOfArrayElements = dataView.getUint32(KTX_FIELDS.NUMBER_OF_ARRAY_ELEMENTS, littleEndian) || 1;
610
- var numberOfFaces = dataView.getUint32(KTX_FIELDS.NUMBER_OF_FACES, littleEndian);
611
- var numberOfMipmapLevels = _this.levels = dataView.getUint32(KTX_FIELDS.NUMBER_OF_MIPMAP_LEVELS, littleEndian);
612
- var bytesOfKeyValueData = dataView.getUint32(KTX_FIELDS.BYTES_OF_KEY_VALUE_DATA, littleEndian);
613
- if (pixelHeight === 0 || pixelDepth !== 1) {
614
- throw new Error('Only 2D textures are supported!');
615
- }
616
- if (numberOfFaces !== 1) {
617
- throw new Error('CubeTextures are not supported!');
618
- }
619
- if (numberOfArrayElements !== 1) {
620
- throw new Error('It does not support array textures!');
621
- }
622
- var mipWidth = pixelWidth;
623
- var mipHeight = pixelHeight;
624
- var imageOffset = FILE_HEADER_SIZE + bytesOfKeyValueData;
625
- for (var mipmapLevel = 0; mipmapLevel < numberOfMipmapLevels; mipmapLevel++) {
626
- var imageSize = dataView.getUint32(imageOffset, littleEndian);
627
- imageOffset += 4;
628
- var size_1 = INTERNAL_FORMAT_TO_BLOCK_SIZE[_this.internalFormat];
629
- var levelWidth = mipWidth % size_1[0] === 0 ? mipWidth : mipWidth + size_1[0] - (mipWidth % size_1[0]);
630
- var levelHeight = mipHeight % size_1[1] === 0 ? mipHeight : mipHeight + size_1[1] - (mipHeight % size_1[1]);
631
- var mip = {
632
- levelID: mipmapLevel,
633
- levelWidth: levelWidth,
634
- levelHeight: levelHeight,
635
- levelBuffer: new Uint8Array(source, imageOffset, imageSize)
636
- };
637
- _this.levelBuffers.push(mip);
638
- imageOffset += imageSize;
639
- imageOffset += 3 - ((imageOffset + 3) % 4);
640
- mipWidth = (mipWidth >> 1) || 1;
641
- mipHeight = (mipHeight >> 1) || 1;
642
- }
643
- return _this;
644
- }
645
- return KTXTextureResource;
646
- }(CompressedTextureResource));
647
- function validateKTX(dataView) {
648
- for (var i = 0; i < FILE_IDENTIFIER.length; i++) {
649
- if (dataView.getUint8(i) !== FILE_IDENTIFIER[i]) {
650
- return false;
651
- }
652
- }
653
- return true;
654
- }
655
-
656
- var KTXLoadStrategy = (function (_super) {
657
- __extends(KTXLoadStrategy, _super);
658
- function KTXLoadStrategy() {
659
- return _super !== null && _super.apply(this, arguments) || this;
660
- }
661
- KTXLoadStrategy.prototype._complete = function (type, data) {
662
- _super.prototype._complete.call(this, type, new KTXTextureResource(data, this.config));
663
- };
664
- return KTXLoadStrategy;
665
- }(XhrLoadStrategy));
666
- var KTXLoadStrategy$1 = KTXLoadStrategy;
667
-
668
- var XhrResponseType = resourceLoader.XhrResponseType;
669
- function addPreProcessResourceHandler(resource, gl) {
670
- resource.addPreProcessResourceHandler(function normalizeResource(resource) {
671
- var _a, _b, _c;
672
- var textures = (_b = (_a = resource.src) === null || _a === void 0 ? void 0 : _a.image) === null || _b === void 0 ? void 0 : _b.texture;
673
- if (!textures)
674
- return;
675
- if (!Array.isArray(textures)) {
676
- textures = [textures];
677
- }
678
- var formats = (_c = getSuportCompressedTextureFormats(gl)) !== null && _c !== void 0 ? _c : {};
679
- var target = textures.find(function (texture) { return formats[texture.type]; });
680
- if (target) {
681
- Object.assign(resource.src.image, target);
682
- }
683
- });
684
- }
685
- function addKTXStragetyAndRegister() {
686
- Object.assign(RESOURCE_TYPE_STRATEGY, {
687
- astc: KTXLoadStrategy$1,
688
- etc: KTXLoadStrategy$1,
689
- pvrtc: KTXLoadStrategy$1,
690
- s3tc: KTXLoadStrategy$1,
691
- atc: KTXLoadStrategy$1,
692
- });
693
- KTXLoadStrategy$1.setExtensionXhrType('ktx', XhrResponseType.Buffer);
694
- }
695
-
696
- var GLTexture = glCore.GLTexture;
697
- var GLTextureMixin = {
698
- isCompressed: false,
699
- uploadNotCompressed: GLTexture.prototype.upload,
700
- upload: function (source) {
701
- if (!(source instanceof CompressedTextureResource)) {
702
- return this.uploadNotCompressed(source);
703
- }
704
- this.bind();
705
- var gl = this.gl;
706
- gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, this.premultiplyAlpha);
707
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST_MIPMAP_NEAREST);
708
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
709
- this.isCompressed = true;
710
- source.upload(gl);
711
- },
712
- enableMipmap: function () {
713
- if (this.isCompressed) {
714
- return;
715
- }
716
- var gl = this.gl;
717
- this.bind();
718
- this.mipmap = true;
719
- gl.generateMipmap(gl.TEXTURE_2D);
720
- }
721
- };
722
-
723
- var _a$1;
724
- var oldFrom$1 = Symbol();
725
- var TextureMixin = (_a$1 = {},
726
- _a$1[oldFrom$1] = Texture.from,
727
- _a$1.from = function (source) {
728
- if (!(source instanceof CompressedTextureResource)) {
729
- return this[oldFrom$1](source);
730
- }
731
- return new Texture(BaseTexture.from(source));
732
- },
733
- _a$1);
734
-
735
- var _a;
736
- var oldFrom = Symbol();
737
- var BaseTextureMixin = (_a = {},
738
- _a[oldFrom] = BaseTexture.from,
739
- _a.from = function (source, scaleMode, sourceScale) {
740
- if (!(source instanceof CompressedTextureResource)) {
741
- return this[oldFrom](source, scaleMode, sourceScale);
742
- }
743
- var imageUrl = source.src;
744
- var baseTexture = utils.BaseTextureCache[imageUrl];
745
- if (!baseTexture) {
746
- baseTexture = new BaseTexture(source, scaleMode);
747
- baseTexture.imageUrl = imageUrl;
748
- if (sourceScale) {
749
- baseTexture.sourceScale = sourceScale;
750
- }
751
- BaseTexture.addToCache(baseTexture, imageUrl);
752
- }
753
- return baseTexture;
754
- },
755
- _a);
756
-
757
- function registerCompressedTexture(gl) {
758
- addPreProcessResourceHandler(resource, gl);
759
- addKTXStragetyAndRegister();
760
- Object.assign(glCore.GLTexture.prototype, GLTextureMixin);
761
- Object.assign(Texture, TextureMixin);
762
- Object.assign(BaseTexture, BaseTextureMixin);
763
- }
764
-
765
401
  var RENDERER_TYPE;
766
402
  (function (RENDERER_TYPE) {
767
403
  RENDERER_TYPE[RENDERER_TYPE["UNKNOWN"] = 0] = "UNKNOWN";
@@ -769,12 +405,12 @@ var RENDERER_TYPE;
769
405
  RENDERER_TYPE[RENDERER_TYPE["CANVAS"] = 2] = "CANVAS";
770
406
  })(RENDERER_TYPE || (RENDERER_TYPE = {}));
771
407
  var disableScroll = function (renderer) {
772
- renderer.plugins.interaction.autoPreventDefault = true;
773
- renderer.view.style.touchAction = 'none';
408
+ renderer.events.autoPreventDefault = true;
409
+ renderer.canvas.style.touchAction = 'none';
774
410
  };
775
411
  var enableScroll = function (renderer) {
776
- renderer.plugins.interaction.autoPreventDefault = false;
777
- renderer.view.style.touchAction = 'auto';
412
+ renderer.events.autoPreventDefault = false;
413
+ renderer.canvas.style.touchAction = 'auto';
778
414
  };
779
415
  var Renderer$2 = (function (_super) {
780
416
  __extends(Renderer, _super);
@@ -784,42 +420,49 @@ var Renderer$2 = (function (_super) {
784
420
  return _this;
785
421
  }
786
422
  Renderer.prototype.init = function (params) {
787
- var _this = this;
788
- this.params = params;
789
- this.application = this.createApplication(params);
790
- this.containerManager = new ContainerManager$1();
791
- this.rendererManager = new RendererManager$1({
792
- game: this.game,
793
- rendererSystem: this,
794
- });
795
- this.game.canvas = this.application.view;
796
- this.transform = new Transform$1({
797
- system: this,
798
- containerManager: this.containerManager,
799
- });
800
- this.game.on('sceneChanged', function (_a) {
801
- var scene = _a.scene, mode = _a.mode, params = _a.params;
802
- var application;
803
- switch (mode) {
804
- case LOAD_SCENE_MODE.SINGLE:
805
- application = _this.application;
806
- break;
807
- case LOAD_SCENE_MODE.MULTI_CANVAS:
808
- application = _this.createMultiApplication({ params: params });
809
- break;
810
- }
811
- scene.canvas = application.view;
812
- _this.transform.emit('changeScene', {
813
- scene: scene,
814
- mode: mode,
815
- application: application,
423
+ return __awaiter(this, void 0, void 0, function () {
424
+ var _a;
425
+ var _this = this;
426
+ return __generator(this, function (_b) {
427
+ switch (_b.label) {
428
+ case 0:
429
+ this.params = params;
430
+ _a = this;
431
+ return [4, this.createApplication(params)];
432
+ case 1:
433
+ _a.application = _b.sent();
434
+ this.containerManager = new ContainerManager$1();
435
+ this.rendererManager = new RendererManager$1({
436
+ game: this.game,
437
+ rendererSystem: this,
438
+ });
439
+ this.game.canvas = this.application.canvas;
440
+ this.transform = new Transform$1({
441
+ system: this,
442
+ containerManager: this.containerManager,
443
+ });
444
+ this.game.on('sceneChanged', function (_a) {
445
+ var scene = _a.scene, mode = _a.mode, params = _a.params;
446
+ var application;
447
+ switch (mode) {
448
+ case LOAD_SCENE_MODE.SINGLE:
449
+ application = _this.application;
450
+ break;
451
+ case LOAD_SCENE_MODE.MULTI_CANVAS:
452
+ application = _this.createMultiApplication({ params: params });
453
+ break;
454
+ }
455
+ scene.canvas = application.canvas;
456
+ _this.transform.emit('changeScene', {
457
+ scene: scene,
458
+ mode: mode,
459
+ application: application,
460
+ });
461
+ });
462
+ return [2];
463
+ }
816
464
  });
817
465
  });
818
- var gl = this.application.renderer.gl;
819
- if (gl) {
820
- this.suportedCompressedTextureFormats = getSuportCompressedTextureFormats(gl);
821
- registerCompressedTexture(gl);
822
- }
823
466
  };
824
467
  Renderer.prototype.registerObserver = function (observerInfo) {
825
468
  var _a;
@@ -833,29 +476,41 @@ var Renderer$2 = (function (_super) {
833
476
  };
834
477
  Renderer.prototype.createMultiApplication = function (_a) {
835
478
  var params = _a.params;
836
- var app = this.createApplication(params);
837
- this.multiApps.push(app);
838
- return app;
479
+ return __awaiter(this, void 0, void 0, function () {
480
+ var app;
481
+ return __generator(this, function (_b) {
482
+ switch (_b.label) {
483
+ case 0: return [4, this.createApplication(params)];
484
+ case 1:
485
+ app = _b.sent();
486
+ this.multiApps.push(app);
487
+ return [2, app];
488
+ }
489
+ });
490
+ });
839
491
  };
840
492
  Renderer.prototype.createApplication = function (params) {
841
- params.view = params.canvas;
842
- if (params.renderType === RENDERER_TYPE.CANVAS) {
843
- params.forceCanvas = true;
844
- }
845
- ticker.shared.autoStart = false;
846
- ticker.shared.stop();
847
- var app = new Application(__assign({ sharedTicker: true }, params));
848
- if (params.preventScroll !== undefined) {
849
- console.warn('PreventScroll property will deprecate at next major version, please use enableEnable instead. https://eva.js.org/#/tutorials/game');
850
- params.preventScroll ? enableScroll(app.renderer) : disableScroll(app.renderer);
851
- }
852
- if (params.enableScroll !== undefined) {
853
- params.enableScroll ? enableScroll(app.renderer) : disableScroll(app.renderer);
854
- }
855
- if (params.preventScroll === undefined && params.enableScroll === undefined) {
856
- enableScroll(app.renderer);
857
- }
858
- return app;
493
+ return __awaiter(this, void 0, void 0, function () {
494
+ var app;
495
+ return __generator(this, function (_a) {
496
+ switch (_a.label) {
497
+ case 0:
498
+ app = new Application();
499
+ if (params.debugMode) {
500
+ globalThis.__PIXI_APP__ = app;
501
+ }
502
+ return [4, app.init(__assign(__assign({ sharedTicker: true }, params), { hello: true }))];
503
+ case 1:
504
+ _a.sent();
505
+ Ticker.shared.stop();
506
+ Ticker.shared.autoStart = false;
507
+ if (params.enableScroll !== undefined) {
508
+ params.enableScroll ? enableScroll(app.renderer) : disableScroll(app.renderer);
509
+ }
510
+ return [2, app];
511
+ }
512
+ });
513
+ });
859
514
  };
860
515
  Renderer.prototype.update = function () {
861
516
  var e_1, _a, e_2, _b;
@@ -939,6 +594,7 @@ var Renderer = (function (_super) {
939
594
  __extends(Renderer, _super);
940
595
  function Renderer(params) {
941
596
  var _this = _super.call(this, params) || this;
597
+ _this.asyncIdMap = {};
942
598
  _this.observerInfo = _this.constructor.observerInfo;
943
599
  return _this;
944
600
  }
@@ -961,24 +617,80 @@ var Renderer = (function (_super) {
961
617
  finally { if (e_1) throw e_1.error; }
962
618
  }
963
619
  };
620
+ Renderer.prototype.increaseAsyncId = function (id) {
621
+ this.asyncIdMap[id] = (this.asyncIdMap[id] || 0) + 1;
622
+ return this.asyncIdMap[id];
623
+ };
624
+ Renderer.prototype.validateAsyncId = function (id, asyncId) {
625
+ return this.asyncIdMap[id] === asyncId;
626
+ };
964
627
  return Renderer;
965
628
  }(System));
966
629
  var Renderer$1 = Renderer;
967
630
 
968
631
  var mixinPIXI = function () {
969
- BaseTexture.prototype.destroy = function () {
970
- if (this.imageUrl) {
971
- delete utils.TextureCache[this.imageUrl];
972
- this.imageUrl = null;
973
- }
974
- this.source = null;
975
- this.dispose();
976
- BaseTexture.removeFromCache(this);
977
- this.textureCacheIds = null;
978
- this._destroyed = true;
979
- };
980
632
  };
981
633
 
634
+ var result = undefined;
635
+ function getSuportCompressedTextureFormats() {
636
+ if (result)
637
+ return result;
638
+ var canvas = document.createElement('canvas');
639
+ var gl = canvas.getContext('webgl2') || canvas.getContext('webgl');
640
+ if (!gl) {
641
+ console.warn('WebGL not available for compressed textures. Silently failing.');
642
+ return {
643
+ s3tc: false,
644
+ etc: false,
645
+ etc1: false,
646
+ pvrtc: false,
647
+ atc: false,
648
+ astc: false,
649
+ };
650
+ }
651
+ result = {
652
+ s3tc: !!gl.getExtension('WEBGL_compressed_texture_s3tc'),
653
+ etc: !!gl.getExtension('WEBGL_compressed_texture_etc'),
654
+ etc1: !!gl.getExtension('WEBGL_compressed_texture_etc1'),
655
+ pvrtc: !!gl.getExtension('WEBGL_compressed_texture_pvrtc') || !!gl.getExtension('WEBKIT_WEBGL_compressed_texture_pvrtc'),
656
+ atc: !!gl.getExtension('WEBGL_compressed_texture_atc'),
657
+ astc: !!gl.getExtension('WEBGL_compressed_texture_astc'),
658
+ };
659
+ try {
660
+ console.log('Eva.js Supported Compressed Texture Format List: ' +
661
+ Object.keys(result)
662
+ .filter(function (type) { return result[type]; })
663
+ .join(', '));
664
+ }
665
+ catch (e) { }
666
+ return result;
667
+ }
668
+
669
+ function addPreProcessResourceHandler(resource) {
670
+ resource.addPreProcessResourceHandler(function normalizeResource(resource) {
671
+ var _a, _b, _c;
672
+ var textures = (_b = (_a = resource.src) === null || _a === void 0 ? void 0 : _a.image) === null || _b === void 0 ? void 0 : _b.texture;
673
+ if (!textures)
674
+ return;
675
+ if (!Array.isArray(textures)) {
676
+ textures = [textures];
677
+ }
678
+ var formats = (_c = getSuportCompressedTextureFormats()) !== null && _c !== void 0 ? _c : {};
679
+ var target = textures.find(function (texture) { return formats[texture.type]; });
680
+ if (target) {
681
+ Object.assign(resource.src.image, target);
682
+ }
683
+ });
684
+ }
685
+
686
+ function registerKtx2CompressedTexture(params) {
687
+ setKTXTranscoderPath(params);
688
+ extensions.add(loadKTX2);
689
+ extensions.add(resolveCompressedTextureUrl);
690
+ extensions.add(detectCompressed);
691
+ addPreProcessResourceHandler(resource);
692
+ }
693
+
982
694
  mixinPIXI();
983
695
 
984
- export { ContainerManager$1 as ContainerManager, RENDERER_TYPE, Renderer$1 as Renderer, RendererManager$1 as RendererManager, Renderer$3 as RendererSystem };
696
+ export { ContainerManager$1 as ContainerManager, RENDERER_TYPE, Renderer$1 as Renderer, RendererManager$1 as RendererManager, Renderer$3 as RendererSystem, registerKtx2CompressedTexture };