@eva/plugin-renderer 1.1.1-beta.0 → 1.1.1-fix.2

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 (107) hide show
  1. package/dist/EVA.plugin.renderer.js +2052 -4659
  2. package/dist/EVA.plugin.renderer.min.js +2 -1
  3. package/dist/EVA.plugin.renderer.min.js.map +1 -0
  4. package/dist/plugin-renderer.cjs.js +416 -426
  5. package/dist/plugin-renderer.cjs.prod.js +2 -1
  6. package/dist/plugin-renderer.cjs.prod.js.map +1 -0
  7. package/dist/plugin-renderer.d.ts +0 -65
  8. package/dist/plugin-renderer.esm.js +413 -421
  9. package/package.json +4 -5
  10. package/dist/vite-test/dist/assets/Graphics.f535ed8f.d.ts +0 -6
  11. package/dist/vite-test/dist/assets/Graphics.f535ed8f.d.ts.map +0 -1
  12. package/dist/vite-test/dist/assets/Sprite.703a9f94.d.ts +0 -9
  13. package/dist/vite-test/dist/assets/Sprite.703a9f94.d.ts.map +0 -1
  14. package/dist/vite-test/dist/assets/a11y.9b3ce839.d.ts +0 -4
  15. package/dist/vite-test/dist/assets/a11y.9b3ce839.d.ts.map +0 -1
  16. package/dist/vite-test/dist/assets/component.caf56816.d.ts +0 -4
  17. package/dist/vite-test/dist/assets/component.caf56816.d.ts.map +0 -1
  18. package/dist/vite-test/dist/assets/compressed-texture-animation.6dcf9ab4.d.ts +0 -4
  19. package/dist/vite-test/dist/assets/compressed-texture-animation.6dcf9ab4.d.ts.map +0 -1
  20. package/dist/vite-test/dist/assets/compressed-texture-mipmap.cc4fada9.d.ts +0 -4
  21. package/dist/vite-test/dist/assets/compressed-texture-mipmap.cc4fada9.d.ts.map +0 -1
  22. package/dist/vite-test/dist/assets/compressed-texture.07a67c9f.d.ts +0 -4
  23. package/dist/vite-test/dist/assets/compressed-texture.07a67c9f.d.ts.map +0 -1
  24. package/dist/vite-test/dist/assets/dragonbone.bfd80a38.d.ts +0 -4
  25. package/dist/vite-test/dist/assets/dragonbone.bfd80a38.d.ts.map +0 -1
  26. package/dist/vite-test/dist/assets/event.0de0fd28.d.ts +0 -4
  27. package/dist/vite-test/dist/assets/event.0de0fd28.d.ts.map +0 -1
  28. package/dist/vite-test/dist/assets/graphics.df3659e9.d.ts +0 -4
  29. package/dist/vite-test/dist/assets/graphics.df3659e9.d.ts.map +0 -1
  30. package/dist/vite-test/dist/assets/image.9d7f7b54.d.ts +0 -4
  31. package/dist/vite-test/dist/assets/image.9d7f7b54.d.ts.map +0 -1
  32. package/dist/vite-test/dist/assets/index.cf7bfffd.d.ts +0 -2
  33. package/dist/vite-test/dist/assets/index.cf7bfffd.d.ts.map +0 -1
  34. package/dist/vite-test/dist/assets/loader.03643d14.d.ts +0 -4
  35. package/dist/vite-test/dist/assets/loader.03643d14.d.ts.map +0 -1
  36. package/dist/vite-test/dist/assets/lottie.8e29b509.d.ts +0 -4
  37. package/dist/vite-test/dist/assets/lottie.8e29b509.d.ts.map +0 -1
  38. package/dist/vite-test/dist/assets/mask.c3592934.d.ts +0 -4
  39. package/dist/vite-test/dist/assets/mask.c3592934.d.ts.map +0 -1
  40. package/dist/vite-test/dist/assets/matter.bcb02c9e.d.ts +0 -4
  41. package/dist/vite-test/dist/assets/matter.bcb02c9e.d.ts.map +0 -1
  42. package/dist/vite-test/dist/assets/multi-canvas.a081d481.d.ts +0 -4
  43. package/dist/vite-test/dist/assets/multi-canvas.a081d481.d.ts.map +0 -1
  44. package/dist/vite-test/dist/assets/ninePatch.ec5000f5.d.ts +0 -4
  45. package/dist/vite-test/dist/assets/ninePatch.ec5000f5.d.ts.map +0 -1
  46. package/dist/vite-test/dist/assets/sound.81f19bb0.d.ts +0 -4
  47. package/dist/vite-test/dist/assets/sound.81f19bb0.d.ts.map +0 -1
  48. package/dist/vite-test/dist/assets/spine.08037e2f.d.ts +0 -4
  49. package/dist/vite-test/dist/assets/spine.08037e2f.d.ts.map +0 -1
  50. package/dist/vite-test/dist/assets/sprite.ab61ce04.d.ts +0 -4
  51. package/dist/vite-test/dist/assets/sprite.ab61ce04.d.ts.map +0 -1
  52. package/dist/vite-test/dist/assets/spriteAnimation.fbd1b62d.d.ts +0 -4
  53. package/dist/vite-test/dist/assets/spriteAnimation.fbd1b62d.d.ts.map +0 -1
  54. package/dist/vite-test/dist/assets/text.3e406bba.d.ts +0 -4
  55. package/dist/vite-test/dist/assets/text.3e406bba.d.ts.map +0 -1
  56. package/dist/vite-test/dist/assets/tilingSprite.3f09d780.d.ts +0 -4
  57. package/dist/vite-test/dist/assets/tilingSprite.3f09d780.d.ts.map +0 -1
  58. package/dist/vite-test/dist/assets/transition.f3d6a6eb.d.ts +0 -4
  59. package/dist/vite-test/dist/assets/transition.f3d6a6eb.d.ts.map +0 -1
  60. package/dist/vite-test/dist/assets/vendor.1f31f96e.d.ts +0 -5
  61. package/dist/vite-test/dist/assets/vendor.1f31f96e.d.ts.map +0 -1
  62. package/dist/vite-test/index.d.ts +0 -2
  63. package/dist/vite-test/index.d.ts.map +0 -1
  64. package/dist/vite-test/ts/a11y.d.ts +0 -3
  65. package/dist/vite-test/ts/a11y.d.ts.map +0 -1
  66. package/dist/vite-test/ts/component.d.ts +0 -3
  67. package/dist/vite-test/ts/component.d.ts.map +0 -1
  68. package/dist/vite-test/ts/compressed-texture-animation.d.ts +0 -3
  69. package/dist/vite-test/ts/compressed-texture-animation.d.ts.map +0 -1
  70. package/dist/vite-test/ts/compressed-texture-mipmap.d.ts +0 -3
  71. package/dist/vite-test/ts/compressed-texture-mipmap.d.ts.map +0 -1
  72. package/dist/vite-test/ts/compressed-texture.d.ts +0 -3
  73. package/dist/vite-test/ts/compressed-texture.d.ts.map +0 -1
  74. package/dist/vite-test/ts/dragonbone.d.ts +0 -3
  75. package/dist/vite-test/ts/dragonbone.d.ts.map +0 -1
  76. package/dist/vite-test/ts/event.d.ts +0 -3
  77. package/dist/vite-test/ts/event.d.ts.map +0 -1
  78. package/dist/vite-test/ts/graphics.d.ts +0 -3
  79. package/dist/vite-test/ts/graphics.d.ts.map +0 -1
  80. package/dist/vite-test/ts/image.d.ts +0 -3
  81. package/dist/vite-test/ts/image.d.ts.map +0 -1
  82. package/dist/vite-test/ts/loader.d.ts +0 -3
  83. package/dist/vite-test/ts/loader.d.ts.map +0 -1
  84. package/dist/vite-test/ts/lottie.d.ts +0 -3
  85. package/dist/vite-test/ts/lottie.d.ts.map +0 -1
  86. package/dist/vite-test/ts/mask.d.ts +0 -4
  87. package/dist/vite-test/ts/mask.d.ts.map +0 -1
  88. package/dist/vite-test/ts/matter.d.ts +0 -3
  89. package/dist/vite-test/ts/matter.d.ts.map +0 -1
  90. package/dist/vite-test/ts/multi-canvas.d.ts +0 -3
  91. package/dist/vite-test/ts/multi-canvas.d.ts.map +0 -1
  92. package/dist/vite-test/ts/ninePatch.d.ts +0 -3
  93. package/dist/vite-test/ts/ninePatch.d.ts.map +0 -1
  94. package/dist/vite-test/ts/sound.d.ts +0 -3
  95. package/dist/vite-test/ts/sound.d.ts.map +0 -1
  96. package/dist/vite-test/ts/spine.d.ts +0 -3
  97. package/dist/vite-test/ts/spine.d.ts.map +0 -1
  98. package/dist/vite-test/ts/sprite.d.ts +0 -3
  99. package/dist/vite-test/ts/sprite.d.ts.map +0 -1
  100. package/dist/vite-test/ts/spriteAnimation.d.ts +0 -3
  101. package/dist/vite-test/ts/spriteAnimation.d.ts.map +0 -1
  102. package/dist/vite-test/ts/text.d.ts +0 -3
  103. package/dist/vite-test/ts/text.d.ts.map +0 -1
  104. package/dist/vite-test/ts/tilingSprite.d.ts +0 -3
  105. package/dist/vite-test/ts/tilingSprite.d.ts.map +0 -1
  106. package/dist/vite-test/ts/transition.d.ts +0 -3
  107. package/dist/vite-test/ts/transition.d.ts.map +0 -1
@@ -7,8 +7,6 @@ var rendererAdapter = require('@eva/renderer-adapter');
7
7
  var isEqual = require('lodash-es/isEqual');
8
8
  var EventEmitter = require('eventemitter3');
9
9
  var pixi_js = require('pixi.js');
10
- var resourceLoader = require('resource-loader');
11
- var constants = require('@pixi/constants');
12
10
 
13
11
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
14
12
 
@@ -220,7 +218,8 @@ var RendererManager = (function () {
220
218
  }
221
219
  };
222
220
  return RendererManager;
223
- }());
221
+ }());
222
+ var RendererManager$1 = RendererManager;
224
223
 
225
224
  var ContainerManager = (function () {
226
225
  function ContainerManager() {
@@ -241,7 +240,7 @@ var ContainerManager = (function () {
241
240
  ContainerManager.prototype.updateTransform = function (_a) {
242
241
  var name = _a.name, transform = _a.transform;
243
242
  var container = this.containerMap[name];
244
- if (!container)
243
+ if (!container || !transform)
245
244
  return;
246
245
  var anchor = transform.anchor, origin = transform.origin, position = transform.position, rotation = transform.rotation, scale = transform.scale, size = transform.size, skew = transform.skew;
247
246
  container.rotation = rotation;
@@ -259,7 +258,8 @@ var ContainerManager = (function () {
259
258
  container.position = { x: x, y: y };
260
259
  };
261
260
  return ContainerManager;
262
- }());
261
+ }());
262
+ var ContainerManager$1 = ContainerManager;
263
263
 
264
264
  var Transform = (function (_super) {
265
265
  __extends(Transform, _super);
@@ -367,206 +367,45 @@ var Transform = (function (_super) {
367
367
  })
368
368
  ], Transform);
369
369
  return Transform;
370
- }(EventEmitter__default));
370
+ }(EventEmitter__default));
371
+ var Transform$1 = Transform;
371
372
 
372
- exports.RENDERER_TYPE = void 0;
373
- (function (RENDERER_TYPE) {
374
- RENDERER_TYPE[RENDERER_TYPE["UNKNOWN"] = 0] = "UNKNOWN";
375
- RENDERER_TYPE[RENDERER_TYPE["WEBGL"] = 1] = "WEBGL";
376
- RENDERER_TYPE[RENDERER_TYPE["CANVAS"] = 2] = "CANVAS";
377
- })(exports.RENDERER_TYPE || (exports.RENDERER_TYPE = {}));
378
- var disableScroll = function (renderer) {
379
- renderer.plugins.interaction.autoPreventDefault = true;
380
- renderer.view.style.touchAction = 'none';
381
- };
382
- var enableScroll = function (renderer) {
383
- renderer.plugins.interaction.autoPreventDefault = false;
384
- renderer.view.style.touchAction = 'auto';
385
- };
386
- var Renderer$1 = (function (_super) {
387
- __extends(Renderer, _super);
388
- function Renderer() {
389
- var _this = _super !== null && _super.apply(this, arguments) || this;
390
- _this.multiApps = [];
391
- return _this;
373
+ var result = undefined;
374
+ function getSuportCompressedTextureFormats(gl) {
375
+ if (result)
376
+ return result;
377
+ if (!gl) {
378
+ console.warn('WebGL not available for compressed textures. Silently failing.');
379
+ return {
380
+ s3tc: false,
381
+ etc: false,
382
+ etc1: false,
383
+ pvrtc: false,
384
+ atc: false,
385
+ astc: false,
386
+ };
392
387
  }
393
- Renderer.prototype.init = function (params) {
394
- var _this = this;
395
- this.params = params;
396
- this.application = this.createApplication(params);
397
- this.containerManager = new ContainerManager();
398
- this.rendererManager = new RendererManager({
399
- game: this.game,
400
- rendererSystem: this,
401
- });
402
- this.game.canvas = this.application.view;
403
- this.transform = new Transform({
404
- system: this,
405
- containerManager: this.containerManager,
406
- });
407
- this.game.on('sceneChanged', function (_a) {
408
- var scene = _a.scene, mode = _a.mode, params = _a.params;
409
- var application;
410
- switch (mode) {
411
- case eva_js.LOAD_SCENE_MODE.SINGLE:
412
- application = _this.application;
413
- break;
414
- case eva_js.LOAD_SCENE_MODE.MULTI_CANVAS:
415
- application = _this.createMultiApplication({ params: params });
416
- break;
417
- }
418
- scene.canvas = application.view;
419
- _this.transform.emit('changeScene', {
420
- scene: scene,
421
- mode: mode,
422
- application: application,
423
- });
424
- });
388
+ result = {
389
+ s3tc: !!gl.getExtension('WEBGL_compressed_texture_s3tc'),
390
+ etc: !!gl.getExtension('WEBGL_compressed_texture_etc'),
391
+ etc1: !!gl.getExtension('WEBGL_compressed_texture_etc1'),
392
+ pvrtc: !!gl.getExtension('WEBGL_compressed_texture_pvrtc')
393
+ || !!gl.getExtension('WEBKIT_WEBGL_compressed_texture_pvrtc'),
394
+ atc: !!gl.getExtension('WEBGL_compressed_texture_atc'),
395
+ astc: !!gl.getExtension('WEBGL_compressed_texture_astc')
425
396
  };
426
- Renderer.prototype.registerObserver = function (observerInfo) {
427
- var _a;
428
- var thisObserverInfo = this.constructor.observerInfo;
429
- for (var key in observerInfo) {
430
- if (!thisObserverInfo[key]) {
431
- thisObserverInfo[key] = [];
432
- }
433
- (_a = thisObserverInfo[key]).push.apply(_a, __spread(observerInfo[key]));
434
- }
435
- };
436
- Renderer.prototype.createMultiApplication = function (_a) {
437
- var params = _a.params;
438
- var app = this.createApplication(params);
439
- this.multiApps.push(app);
440
- return app;
441
- };
442
- Renderer.prototype.createApplication = function (params) {
443
- params.view = params.canvas;
444
- if (params.renderType === exports.RENDERER_TYPE.CANVAS) {
445
- params.forceCanvas = true;
446
- }
447
- pixi_js.ticker.shared.autoStart = false;
448
- pixi_js.ticker.shared.stop();
449
- var app = new rendererAdapter.Application(__assign({ sharedTicker: true }, params));
450
- if (params.preventScroll !== undefined) {
451
- console.warn('PreventScroll property will deprecate at next major version, please use enableEnable instead. https://eva.js.org/#/tutorials/game');
452
- params.preventScroll ? enableScroll(app.renderer) : disableScroll(app.renderer);
453
- }
454
- if (params.enableScroll !== undefined) {
455
- params.enableScroll ? enableScroll(app.renderer) : disableScroll(app.renderer);
456
- }
457
- if (params.preventScroll === undefined && params.enableScroll === undefined) {
458
- enableScroll(app.renderer);
459
- }
460
- return app;
461
- };
462
- Renderer.prototype.update = function () {
463
- var e_1, _a, e_2, _b;
464
- var changes = this.componentObserver.clear();
465
- try {
466
- for (var changes_1 = __values(changes), changes_1_1 = changes_1.next(); !changes_1_1.done; changes_1_1 = changes_1.next()) {
467
- var changed = changes_1_1.value;
468
- this.transform.componentChanged(changed);
469
- }
470
- }
471
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
472
- finally {
473
- try {
474
- if (changes_1_1 && !changes_1_1.done && (_a = changes_1.return)) _a.call(changes_1);
475
- }
476
- finally { if (e_1) throw e_1.error; }
477
- }
478
- try {
479
- for (var _c = __values(this.game.gameObjects), _d = _c.next(); !_d.done; _d = _c.next()) {
480
- var gameObject = _d.value;
481
- this.containerManager.updateTransform({
482
- name: gameObject.id,
483
- transform: gameObject.transform,
484
- });
485
- this.rendererManager.update(gameObject);
486
- }
487
- }
488
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
489
- finally {
490
- try {
491
- if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
492
- }
493
- finally { if (e_2) throw e_2.error; }
494
- }
495
- };
496
- Renderer.prototype.lateUpdate = function (e) {
497
- this.transform.update();
498
- this.application.ticker.update(e.time);
499
- };
500
- Renderer.prototype.onDestroy = function () {
501
- var e_3, _a;
502
- this.application.destroy();
503
- try {
504
- for (var _b = __values(this.multiApps), _c = _b.next(); !_c.done; _c = _b.next()) {
505
- var app = _c.value;
506
- app && app.destroy();
507
- }
508
- }
509
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
510
- finally {
511
- try {
512
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
513
- }
514
- finally { if (e_3) throw e_3.error; }
515
- }
516
- this.transform.destroy();
517
- this.transform = null;
518
- this.params = null;
519
- this.rendererManager = null;
520
- this.containerManager = null;
521
- this.application = null;
522
- this.game = null;
523
- this.multiApps = null;
524
- };
525
- Renderer.prototype.resize = function (width, height) {
526
- this.params.width = width;
527
- this.params.height = height;
528
- this.application.renderer.resize(width, height);
529
- };
530
- Renderer.systemName = 'Renderer';
531
- Renderer = __decorate([
532
- eva_js.decorators.componentObserver({
533
- Transform: ['_parent'],
534
- })
535
- ], Renderer);
536
- return Renderer;
537
- }(eva_js.System));
538
-
539
- var Renderer = (function (_super) {
540
- __extends(Renderer, _super);
541
- function Renderer(params) {
542
- var _this = _super.call(this, params) || this;
543
- _this.observerInfo = _this.constructor.observerInfo;
544
- return _this;
397
+ try {
398
+ console.log('Eva.js Supported Compressed Texture Format List: ' + Object.keys(result).filter(function (type) { return result[type]; }).join(', '));
545
399
  }
546
- Renderer.prototype.componentChanged = function (_changed) { };
547
- Renderer.prototype.rendererUpdate = function (_gameObject) { };
548
- Renderer.prototype.update = function () {
549
- var e_1, _a;
550
- var changes = this.componentObserver.clear();
551
- try {
552
- for (var changes_1 = __values(changes), changes_1_1 = changes_1.next(); !changes_1_1.done; changes_1_1 = changes_1.next()) {
553
- var changed = changes_1_1.value;
554
- this.componentChanged(changed);
555
- }
556
- }
557
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
558
- finally {
559
- try {
560
- if (changes_1_1 && !changes_1_1.done && (_a = changes_1.return)) _a.call(changes_1);
561
- }
562
- finally { if (e_1) throw e_1.error; }
563
- }
564
- };
565
- return Renderer;
566
- }(eva_js.System));
400
+ catch (e) { }
401
+ return result;
402
+ }
403
+
404
+ var XLS = eva_js.resourceLoader.XhrLoadStrategy;
405
+ var XhrLoadStrategy = XLS;
567
406
 
568
- var _a$3, _b$1;
569
- exports.INTERNAL_FORMATS = void 0;
407
+ var _a, _b;
408
+ var INTERNAL_FORMATS;
570
409
  (function (INTERNAL_FORMATS) {
571
410
  INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGB_S3TC_DXT1_EXT"] = 33776] = "COMPRESSED_RGB_S3TC_DXT1_EXT";
572
411
  INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_RGBA_S3TC_DXT1_EXT"] = 33777] = "COMPRESSED_RGBA_S3TC_DXT1_EXT";
@@ -622,115 +461,87 @@ exports.INTERNAL_FORMATS = void 0;
622
461
  INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR"] = 37845] = "COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR";
623
462
  INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR"] = 37846] = "COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR";
624
463
  INTERNAL_FORMATS[INTERNAL_FORMATS["COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR"] = 37847] = "COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR";
625
- })(exports.INTERNAL_FORMATS || (exports.INTERNAL_FORMATS = {}));
626
- var INTERNAL_FORMAT_TO_BYTES_PER_PIXEL = (_a$3 = {},
627
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_RGB_S3TC_DXT1_EXT] = 0.5,
628
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT1_EXT] = 0.5,
629
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT3_EXT] = 1,
630
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT5_EXT] = 1,
631
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_SRGB_S3TC_DXT1_EXT] = 0.5,
632
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT] = 0.5,
633
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT] = 1,
634
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT] = 1,
635
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_R11_EAC] = 0.5,
636
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_SIGNED_R11_EAC] = 0.5,
637
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_RG11_EAC] = 1,
638
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_SIGNED_RG11_EAC] = 1,
639
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_RGB8_ETC2] = 0.5,
640
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_RGBA8_ETC2_EAC] = 1,
641
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_SRGB8_ETC2] = 0.5,
642
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC] = 1,
643
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2] = 0.5,
644
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2] = 0.5,
645
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG] = 0.5,
646
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG] = 0.5,
647
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_RGB_PVRTC_2BPPV1_IMG] = 0.25,
648
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG] = 0.25,
649
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_RGB_ETC1_WEBGL] = 0.5,
650
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_RGB_ATC_WEBGL] = 0.5,
651
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL] = 1,
652
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL] = 1,
653
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_4x4_KHR] = 1,
654
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_5x5_KHR] = 5.12 * 0.125,
655
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_6x6_KHR] = 3.56 * 0.125,
656
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_8x8_KHR] = 2 * 0.125,
657
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_10x10_KHR] = 1.28 * 0.125,
658
- _a$3[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_12x12_KHR] = 0.89 * 0.125,
659
- _a$3);
660
- var INTERNAL_FORMATS_TO_EXTENSION_NAME = (_b$1 = {},
661
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_RGB_S3TC_DXT1_EXT] = 'WEBGL_compressed_texture_s3tc',
662
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT1_EXT] = 'WEBGL_compressed_texture_s3tc',
663
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT3_EXT] = 'WEBGL_compressed_texture_s3tc',
664
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT5_EXT] = 'WEBGL_compressed_texture_s3tc',
665
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_SRGB_S3TC_DXT1_EXT] = 'WEBGL_compressed_texture_s3tc_srgb',
666
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT] = 'WEBGL_compressed_texture_s3tc_srgb',
667
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT] = 'WEBGL_compressed_texture_s3tc_srgb',
668
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT] = 'WEBGL_compressed_texture_s3tc_srgb',
669
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_R11_EAC] = 'WEBGL_compressed_texture_etc',
670
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_SIGNED_R11_EAC] = 'WEBGL_compressed_texture_etc',
671
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_RG11_EAC] = 'WEBGL_compressed_texture_etc',
672
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_SIGNED_RG11_EAC] = 'WEBGL_compressed_texture_etc',
673
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_RGB8_ETC2] = 'WEBGL_compressed_texture_etc',
674
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_RGBA8_ETC2_EAC] = 'WEBGL_compressed_texture_etc',
675
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_SRGB8_ETC2] = 'WEBGL_compressed_texture_etc',
676
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC] = 'WEBGL_compressed_texture_etc',
677
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2] = 'WEBGL_compressed_texture_etc',
678
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2] = 'WEBGL_compressed_texture_etc',
679
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG] = 'WEBGL_compressed_texture_pvrtc',
680
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG] = 'WEBGL_compressed_texture_pvrtc',
681
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_RGB_PVRTC_2BPPV1_IMG] = 'WEBGL_compressed_texture_pvrtc',
682
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG] = 'WEBGL_compressed_texture_pvrtc',
683
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_RGB_ETC1_WEBGL] = 'WEBGL_compressed_texture_etc1',
684
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_RGB_ATC_WEBGL] = 'WEBGL_compressed_texture_atc',
685
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL] = 'WEBGL_compressed_texture_atc',
686
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL] = 'WEBGL_compressed_texture_atc',
687
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_4x4_KHR] = 'WEBGL_compressed_texture_astc',
688
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_5x5_KHR] = 'WEBGL_compressed_texture_astc',
689
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_6x6_KHR] = 'WEBGL_compressed_texture_astc',
690
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_8x8_KHR] = 'WEBGL_compressed_texture_astc',
691
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_10x10_KHR] = 'WEBGL_compressed_texture_astc',
692
- _b$1[exports.INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_12x12_KHR] = 'WEBGL_compressed_texture_astc',
693
- _b$1);
694
-
695
- var res = undefined;
696
- function getAbilities() {
697
- if (res)
698
- return res;
699
- var canvas = document.createElement('canvas');
700
- var gl = canvas.getContext('webgl');
701
- if (!gl) {
702
- console.warn('WebGL not available for compressed textures. Silently failing.');
703
- return;
704
- }
705
- var extensions = {
706
- s3tc: gl.getExtension('WEBGL_compressed_texture_s3tc'),
707
- s3tc_sRGB: gl.getExtension('WEBGL_compressed_texture_s3tc_srgb'),
708
- etc: gl.getExtension('WEBGL_compressed_texture_etc'),
709
- etc1: gl.getExtension('WEBGL_compressed_texture_etc1'),
710
- pvrtc: gl.getExtension('WEBGL_compressed_texture_pvrtc')
711
- || gl.getExtension('WEBKIT_WEBGL_compressed_texture_pvrtc'),
712
- atc: gl.getExtension('WEBGL_compressed_texture_atc'),
713
- astc: gl.getExtension('WEBGL_compressed_texture_astc')
714
- };
715
- var textureFormats = {};
716
- for (var extensionName in extensions) {
717
- var extension = extensions[extensionName];
718
- if (!extension) {
719
- continue;
720
- }
721
- Object.assign(textureFormats, Object.getPrototypeOf(extension));
722
- }
723
- var formats = Object.values(textureFormats);
724
- res = {
725
- extensions: extensions,
726
- textureFormats: textureFormats,
727
- formats: formats
728
- };
729
- return res;
730
- }
464
+ })(INTERNAL_FORMATS || (INTERNAL_FORMATS = {}));
465
+ var INTERNAL_FORMAT_TO_BLOCK_SIZE = (_a = {},
466
+ _a[INTERNAL_FORMATS.COMPRESSED_RGB_S3TC_DXT1_EXT] = [4, 4],
467
+ _a[INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT1_EXT] = [4, 4],
468
+ _a[INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT3_EXT] = [4, 4],
469
+ _a[INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT5_EXT] = [4, 4],
470
+ _a[INTERNAL_FORMATS.COMPRESSED_SRGB_S3TC_DXT1_EXT] = [4, 4],
471
+ _a[INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT] = [4, 4],
472
+ _a[INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT] = [4, 4],
473
+ _a[INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT] = [4, 4],
474
+ _a[INTERNAL_FORMATS.COMPRESSED_R11_EAC] = [4, 4],
475
+ _a[INTERNAL_FORMATS.COMPRESSED_SIGNED_R11_EAC] = [4, 4],
476
+ _a[INTERNAL_FORMATS.COMPRESSED_RG11_EAC] = [4, 4],
477
+ _a[INTERNAL_FORMATS.COMPRESSED_SIGNED_RG11_EAC] = [4, 4],
478
+ _a[INTERNAL_FORMATS.COMPRESSED_RGB8_ETC2] = [4, 4],
479
+ _a[INTERNAL_FORMATS.COMPRESSED_RGBA8_ETC2_EAC] = [4, 4],
480
+ _a[INTERNAL_FORMATS.COMPRESSED_SRGB8_ETC2] = [4, 4],
481
+ _a[INTERNAL_FORMATS.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC] = [4, 4],
482
+ _a[INTERNAL_FORMATS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2] = [4, 4],
483
+ _a[INTERNAL_FORMATS.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2] = [4, 4],
484
+ _a[INTERNAL_FORMATS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG] = [4, 4],
485
+ _a[INTERNAL_FORMATS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG] = [4, 4],
486
+ _a[INTERNAL_FORMATS.COMPRESSED_RGB_PVRTC_2BPPV1_IMG] = [8, 4],
487
+ _a[INTERNAL_FORMATS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG] = [8, 4],
488
+ _a[INTERNAL_FORMATS.COMPRESSED_RGB_ETC1_WEBGL] = [4, 4],
489
+ _a[INTERNAL_FORMATS.COMPRESSED_RGB_ATC_WEBGL] = [4, 4],
490
+ _a[INTERNAL_FORMATS.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL] = [4, 4],
491
+ _a[INTERNAL_FORMATS.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL] = [4, 4],
492
+ _a[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_4x4_KHR] = [4, 4],
493
+ _a[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_5x5_KHR] = [5, 5],
494
+ _a[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_6x6_KHR] = [6, 6],
495
+ _a[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_8x8_KHR] = [8, 8],
496
+ _a[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_10x10_KHR] = [10, 10],
497
+ _a[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_12x12_KHR] = [12, 12],
498
+ _a[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_10x5_KHR] = [10, 5],
499
+ _a[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_10x6_KHR] = [10, 6],
500
+ _a[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_10x8_KHR] = [10, 8],
501
+ _a[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_12x10_KHR] = [12, 10],
502
+ _a[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_5x4_KHR] = [5, 4],
503
+ _a[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_6x5_KHR] = [6, 5],
504
+ _a[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_8x5_KHR] = [8, 5],
505
+ _a[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_8x6_KHR] = [8, 6],
506
+ _a);
507
+ var INTERNAL_FORMATS_TO_EXTENSION_NAME = (_b = {},
508
+ _b[INTERNAL_FORMATS.COMPRESSED_RGB_S3TC_DXT1_EXT] = 'WEBGL_compressed_texture_s3tc',
509
+ _b[INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT1_EXT] = 'WEBGL_compressed_texture_s3tc',
510
+ _b[INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT3_EXT] = 'WEBGL_compressed_texture_s3tc',
511
+ _b[INTERNAL_FORMATS.COMPRESSED_RGBA_S3TC_DXT5_EXT] = 'WEBGL_compressed_texture_s3tc',
512
+ _b[INTERNAL_FORMATS.COMPRESSED_SRGB_S3TC_DXT1_EXT] = 'WEBGL_compressed_texture_s3tc_srgb',
513
+ _b[INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT] = 'WEBGL_compressed_texture_s3tc_srgb',
514
+ _b[INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT] = 'WEBGL_compressed_texture_s3tc_srgb',
515
+ _b[INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT] = 'WEBGL_compressed_texture_s3tc_srgb',
516
+ _b[INTERNAL_FORMATS.COMPRESSED_R11_EAC] = 'WEBGL_compressed_texture_etc',
517
+ _b[INTERNAL_FORMATS.COMPRESSED_SIGNED_R11_EAC] = 'WEBGL_compressed_texture_etc',
518
+ _b[INTERNAL_FORMATS.COMPRESSED_RG11_EAC] = 'WEBGL_compressed_texture_etc',
519
+ _b[INTERNAL_FORMATS.COMPRESSED_SIGNED_RG11_EAC] = 'WEBGL_compressed_texture_etc',
520
+ _b[INTERNAL_FORMATS.COMPRESSED_RGB8_ETC2] = 'WEBGL_compressed_texture_etc',
521
+ _b[INTERNAL_FORMATS.COMPRESSED_RGBA8_ETC2_EAC] = 'WEBGL_compressed_texture_etc',
522
+ _b[INTERNAL_FORMATS.COMPRESSED_SRGB8_ETC2] = 'WEBGL_compressed_texture_etc',
523
+ _b[INTERNAL_FORMATS.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC] = 'WEBGL_compressed_texture_etc',
524
+ _b[INTERNAL_FORMATS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2] = 'WEBGL_compressed_texture_etc',
525
+ _b[INTERNAL_FORMATS.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2] = 'WEBGL_compressed_texture_etc',
526
+ _b[INTERNAL_FORMATS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG] = 'WEBGL_compressed_texture_pvrtc',
527
+ _b[INTERNAL_FORMATS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG] = 'WEBGL_compressed_texture_pvrtc',
528
+ _b[INTERNAL_FORMATS.COMPRESSED_RGB_PVRTC_2BPPV1_IMG] = 'WEBGL_compressed_texture_pvrtc',
529
+ _b[INTERNAL_FORMATS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG] = 'WEBGL_compressed_texture_pvrtc',
530
+ _b[INTERNAL_FORMATS.COMPRESSED_RGB_ETC1_WEBGL] = 'WEBGL_compressed_texture_etc1',
531
+ _b[INTERNAL_FORMATS.COMPRESSED_RGB_ATC_WEBGL] = 'WEBGL_compressed_texture_atc',
532
+ _b[INTERNAL_FORMATS.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL] = 'WEBGL_compressed_texture_atc',
533
+ _b[INTERNAL_FORMATS.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL] = 'WEBGL_compressed_texture_atc',
534
+ _b[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_4x4_KHR] = 'WEBGL_compressed_texture_astc',
535
+ _b[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_5x5_KHR] = 'WEBGL_compressed_texture_astc',
536
+ _b[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_6x6_KHR] = 'WEBGL_compressed_texture_astc',
537
+ _b[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_8x8_KHR] = 'WEBGL_compressed_texture_astc',
538
+ _b[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_10x10_KHR] = 'WEBGL_compressed_texture_astc',
539
+ _b[INTERNAL_FORMATS.COMPRESSED_RGBA_ASTC_12x12_KHR] = 'WEBGL_compressed_texture_astc',
540
+ _b);
731
541
 
732
542
  var CompressedTextureResource = (function () {
733
543
  function CompressedTextureResource() {
544
+ this.levelBuffers = [];
734
545
  }
735
546
  CompressedTextureResource.prototype.upload = function (gl) {
736
547
  var levels = this.levels;
@@ -760,26 +571,7 @@ var CompressedTextureResource = (function () {
760
571
  return CompressedTextureResource;
761
572
  }());
762
573
 
763
- var _a$2, _b, _c;
764
574
  var FILE_HEADER_SIZE = 64;
765
- var TYPES_TO_BYTES_PER_COMPONENT = (_a$2 = {},
766
- _a$2[constants.TYPES.UNSIGNED_BYTE] = 1,
767
- _a$2[constants.TYPES.UNSIGNED_SHORT] = 2,
768
- _a$2[constants.TYPES.FLOAT] = 4,
769
- _a$2[constants.TYPES.HALF_FLOAT] = 8,
770
- _a$2);
771
- var FORMATS_TO_COMPONENTS = (_b = {},
772
- _b[constants.FORMATS.RGBA] = 4,
773
- _b[constants.FORMATS.RGB] = 3,
774
- _b[constants.FORMATS.LUMINANCE] = 1,
775
- _b[constants.FORMATS.LUMINANCE_ALPHA] = 2,
776
- _b[constants.FORMATS.ALPHA] = 1,
777
- _b);
778
- var TYPES_TO_BYTES_PER_PIXEL = (_c = {},
779
- _c[constants.TYPES.UNSIGNED_SHORT_4_4_4_4] = 2,
780
- _c[constants.TYPES.UNSIGNED_SHORT_5_5_5_1] = 2,
781
- _c[constants.TYPES.UNSIGNED_SHORT_5_6_5] = 2,
782
- _c);
783
575
  var KTX_FIELDS = {
784
576
  FILE_IDENTIFIER: 0,
785
577
  ENDIANNESS: 12,
@@ -800,93 +592,63 @@ var FILE_IDENTIFIER = [0xAB, 0x4B, 0x54, 0x58, 0x20, 0x31, 0x31, 0xBB, 0x0D, 0x0
800
592
  var ENDIANNESS = 0x04030201;
801
593
  var KTXTextureResource = (function (_super) {
802
594
  __extends(KTXTextureResource, _super);
803
- function KTXTextureResource(source, src) {
595
+ function KTXTextureResource(source, config) {
596
+ var _a;
804
597
  var _this = _super.call(this) || this;
805
- _this.src = src;
806
598
  _this.complete = true;
599
+ _this.src = config.url;
807
600
  var dataView = new DataView(source);
808
601
  if (!validateKTX(dataView)) {
809
602
  throw new Error('Not a valid KTX Texture');
810
603
  }
811
604
  var littleEndian = dataView.getUint32(KTX_FIELDS.ENDIANNESS, true) === ENDIANNESS;
812
- var glType = dataView.getUint32(KTX_FIELDS.GL_TYPE, littleEndian);
813
- var glFormat = dataView.getUint32(KTX_FIELDS.GL_FORMAT, littleEndian);
814
- var glInternalFormat = _this.internalFormat = dataView.getUint32(KTX_FIELDS.GL_INTERNAL_FORMAT, littleEndian);
815
- var pixelWidth = _this.width = dataView.getUint32(KTX_FIELDS.PIXEL_WIDTH, littleEndian);
816
- var pixelHeight = _this.height = dataView.getUint32(KTX_FIELDS.PIXEL_HEIGHT, littleEndian) || 1;
605
+ _this.internalFormat = dataView.getUint32(KTX_FIELDS.GL_INTERNAL_FORMAT, littleEndian);
606
+ var pixelWidth = _this.formerWidth = dataView.getUint32(KTX_FIELDS.PIXEL_WIDTH, littleEndian);
607
+ var pixelHeight = _this.formerHeight = dataView.getUint32(KTX_FIELDS.PIXEL_HEIGHT, littleEndian) || 1;
608
+ var size = INTERNAL_FORMAT_TO_BLOCK_SIZE[_this.internalFormat];
609
+ _this.width = pixelWidth % size[0] === 0 ? pixelWidth : (pixelWidth + size[0] - (pixelWidth % size[0]));
610
+ _this.height = pixelHeight % size[1] === 0 ? pixelHeight : (pixelHeight + size[1] - (pixelHeight % size[1]));
611
+ var src = eva_js.resource.resourcesMap[config.metadata.name].src[config.metadata.key];
612
+ var _b = (_a = src === null || src === void 0 ? void 0 : src.size) !== null && _a !== void 0 ? _a : {}, width = _b.width, height = _b.height;
613
+ if (width && height) {
614
+ _this.naturalWidth = width;
615
+ _this.naturalHeight = height;
616
+ }
817
617
  var pixelDepth = dataView.getUint32(KTX_FIELDS.PIXEL_DEPTH, littleEndian) || 1;
818
618
  var numberOfArrayElements = dataView.getUint32(KTX_FIELDS.NUMBER_OF_ARRAY_ELEMENTS, littleEndian) || 1;
819
619
  var numberOfFaces = dataView.getUint32(KTX_FIELDS.NUMBER_OF_FACES, littleEndian);
820
620
  var numberOfMipmapLevels = _this.levels = dataView.getUint32(KTX_FIELDS.NUMBER_OF_MIPMAP_LEVELS, littleEndian);
821
621
  var bytesOfKeyValueData = dataView.getUint32(KTX_FIELDS.BYTES_OF_KEY_VALUE_DATA, littleEndian);
822
622
  if (pixelHeight === 0 || pixelDepth !== 1) {
823
- throw new Error('Only 2D textures are supported');
623
+ throw new Error('Only 2D textures are supported!');
824
624
  }
825
625
  if (numberOfFaces !== 1) {
826
- throw new Error('CubeTextures are not supported by KTXLoader yet!');
626
+ throw new Error('CubeTextures are not supported!');
827
627
  }
828
628
  if (numberOfArrayElements !== 1) {
829
- throw new Error('WebGL does not support array textures');
830
- }
831
- var blockWidth = 4;
832
- var blockHeight = 4;
833
- var alignedWidth = (pixelWidth + 3) & ~3;
834
- var alignedHeight = (pixelHeight + 3) & ~3;
835
- var imageBuffers = new Array(numberOfArrayElements);
836
- var imagePixels = pixelWidth * pixelHeight;
837
- if (glType === 0) {
838
- imagePixels = alignedWidth * alignedHeight;
839
- }
840
- var imagePixelByteSize;
841
- if (glType !== 0) {
842
- if (TYPES_TO_BYTES_PER_COMPONENT[glType]) {
843
- imagePixelByteSize = TYPES_TO_BYTES_PER_COMPONENT[glType] * FORMATS_TO_COMPONENTS[glFormat];
844
- }
845
- else {
846
- imagePixelByteSize = TYPES_TO_BYTES_PER_PIXEL[glType];
847
- }
848
- }
849
- else {
850
- imagePixelByteSize = INTERNAL_FORMAT_TO_BYTES_PER_PIXEL[glInternalFormat];
629
+ throw new Error('It does not support array textures!');
851
630
  }
852
- if (imagePixelByteSize === undefined) {
853
- throw new Error('Unable to resolve the pixel format stored in the *.ktx file!');
854
- }
855
- var imageByteSize = imagePixels * imagePixelByteSize;
856
- var mipByteSize = imageByteSize;
857
631
  var mipWidth = pixelWidth;
858
632
  var mipHeight = pixelHeight;
859
- var alignedMipWidth = alignedWidth;
860
- var alignedMipHeight = alignedHeight;
861
633
  var imageOffset = FILE_HEADER_SIZE + bytesOfKeyValueData;
862
634
  for (var mipmapLevel = 0; mipmapLevel < numberOfMipmapLevels; mipmapLevel++) {
863
635
  var imageSize = dataView.getUint32(imageOffset, littleEndian);
864
- var elementOffset = imageOffset + 4;
865
- for (var arrayElement = 0; arrayElement < numberOfArrayElements; arrayElement++) {
866
- var mips = imageBuffers[arrayElement];
867
- if (!mips) {
868
- mips = imageBuffers[arrayElement] = new Array(numberOfMipmapLevels);
869
- }
870
- mips[mipmapLevel] = {
871
- levelID: mipmapLevel,
872
- levelWidth: numberOfMipmapLevels > 1 ? mipWidth : alignedMipWidth,
873
- levelHeight: numberOfMipmapLevels > 1 ? mipHeight : alignedMipHeight,
874
- levelBuffer: new Uint8Array(source, elementOffset, mipByteSize)
875
- };
876
- elementOffset += mipByteSize;
877
- }
878
- imageOffset += imageSize + 4;
879
- imageOffset = imageOffset % 4 !== 0 ? imageOffset + 4 - (imageOffset % 4) : imageOffset;
636
+ imageOffset += 4;
637
+ var size_1 = INTERNAL_FORMAT_TO_BLOCK_SIZE[_this.internalFormat];
638
+ var levelWidth = mipWidth % size_1[0] === 0 ? mipWidth : mipWidth + size_1[0] - (mipWidth % size_1[0]);
639
+ var levelHeight = mipHeight % size_1[1] === 0 ? mipHeight : mipHeight + size_1[1] - (mipHeight % size_1[1]);
640
+ var mip = {
641
+ levelID: mipmapLevel,
642
+ levelWidth: levelWidth,
643
+ levelHeight: levelHeight,
644
+ levelBuffer: new Uint8Array(source, imageOffset, imageSize)
645
+ };
646
+ _this.levelBuffers.push(mip);
647
+ imageOffset += imageSize;
648
+ imageOffset += 3 - ((imageOffset + 3) % 4);
880
649
  mipWidth = (mipWidth >> 1) || 1;
881
650
  mipHeight = (mipHeight >> 1) || 1;
882
- alignedMipWidth = (mipWidth + blockWidth - 1) & ~(blockWidth - 1);
883
- alignedMipHeight = (mipHeight + blockHeight - 1) & ~(blockHeight - 1);
884
- mipByteSize = alignedMipWidth * alignedMipHeight * imagePixelByteSize;
885
- }
886
- if (glType !== 0) {
887
- throw new Error('TODO: Uncompressed');
888
651
  }
889
- _this.levelBuffers = imageBuffers[0];
890
652
  return _this;
891
653
  }
892
654
  return KTXTextureResource;
@@ -906,37 +668,38 @@ var KTXLoadStrategy = (function (_super) {
906
668
  return _super !== null && _super.apply(this, arguments) || this;
907
669
  }
908
670
  KTXLoadStrategy.prototype._complete = function (type, data) {
909
- _super.prototype._complete.call(this, type, new KTXTextureResource(data, this.config.url));
671
+ _super.prototype._complete.call(this, type, new KTXTextureResource(data, this.config));
910
672
  };
911
673
  return KTXLoadStrategy;
912
- }(resourceLoader.XhrLoadStrategy));
674
+ }(XhrLoadStrategy));
675
+ var KTXLoadStrategy$1 = KTXLoadStrategy;
913
676
 
914
- function addPreProcessResourceHandler(resource) {
677
+ var XhrResponseType = eva_js.resourceLoader.XhrResponseType;
678
+ function addPreProcessResourceHandler(resource, gl) {
915
679
  resource.addPreProcessResourceHandler(function normalizeResource(resource) {
916
- var _a, _b;
680
+ var _a, _b, _c;
917
681
  var textures = (_b = (_a = resource.src) === null || _a === void 0 ? void 0 : _a.image) === null || _b === void 0 ? void 0 : _b.texture;
918
682
  if (!textures)
919
683
  return;
920
684
  if (!Array.isArray(textures)) {
921
685
  textures = [textures];
922
686
  }
923
- var extensions = getAbilities().extensions;
924
- var target = textures.find(function (texture) { return extensions[texture.type]; });
687
+ var formats = (_c = getSuportCompressedTextureFormats(gl)) !== null && _c !== void 0 ? _c : {};
688
+ var target = textures.find(function (texture) { return formats[texture.type]; });
925
689
  if (target) {
926
- resource.src.image.url = target.url;
927
- resource.src.image.type = target.type;
690
+ Object.assign(resource.src.image, target);
928
691
  }
929
692
  });
930
693
  }
931
694
  function addKTXStragetyAndRegister() {
932
- Object.assign(eva_js.STRATEGY, {
933
- astc: KTXLoadStrategy,
934
- etc: KTXLoadStrategy,
935
- pvrtc: KTXLoadStrategy,
936
- s3tc: KTXLoadStrategy,
937
- atc: KTXLoadStrategy,
695
+ Object.assign(eva_js.RESOURCE_TYPE_STRATEGY, {
696
+ astc: KTXLoadStrategy$1,
697
+ etc: KTXLoadStrategy$1,
698
+ pvrtc: KTXLoadStrategy$1,
699
+ s3tc: KTXLoadStrategy$1,
700
+ atc: KTXLoadStrategy$1,
938
701
  });
939
- KTXLoadStrategy.setExtensionXhrType('ktx', resourceLoader.XhrResponseType.Buffer);
702
+ KTXLoadStrategy$1.setExtensionXhrType('ktx', XhrResponseType.Buffer);
940
703
  }
941
704
 
942
705
  var GLTexture = pixi_js.glCore.GLTexture;
@@ -966,25 +729,21 @@ var GLTextureMixin = {
966
729
  }
967
730
  };
968
731
 
969
- var _a$1;
970
- var oldFrom$1 = Symbol();
971
- var TextureMixin = (_a$1 = {},
972
- _a$1[oldFrom$1] = pixi_js.Texture.from,
973
- _a$1.from = function (source) {
732
+ var TextureMixin = {
733
+ oldFrom: pixi_js.Texture.from,
734
+ from: function (source) {
974
735
  if (!(source instanceof CompressedTextureResource)) {
975
- return this[oldFrom$1](source);
736
+ return this.oldFrom(source);
976
737
  }
977
738
  return new pixi_js.Texture(pixi_js.BaseTexture.from(source));
978
- },
979
- _a$1);
739
+ }
740
+ };
980
741
 
981
- var _a;
982
- var oldFrom = Symbol();
983
- var BaseTextureMixin = (_a = {},
984
- _a[oldFrom] = pixi_js.BaseTexture.from,
985
- _a.from = function (source, scaleMode, sourceScale) {
742
+ var BaseTextureMixin = {
743
+ oldFrom: pixi_js.BaseTexture.from,
744
+ from: function (source, scaleMode, sourceScale) {
986
745
  if (!(source instanceof CompressedTextureResource)) {
987
- return this[oldFrom](source, scaleMode, sourceScale);
746
+ return this.oldFrom(source, scaleMode, sourceScale);
988
747
  }
989
748
  var imageUrl = source.src;
990
749
  var baseTexture = pixi_js.utils.BaseTextureCache[imageUrl];
@@ -997,22 +756,253 @@ var BaseTextureMixin = (_a = {},
997
756
  pixi_js.BaseTexture.addToCache(baseTexture, imageUrl);
998
757
  }
999
758
  return baseTexture;
1000
- },
1001
- _a);
759
+ }
760
+ };
1002
761
 
1003
- function registerCompressedTexture() {
1004
- addPreProcessResourceHandler(eva_js.resource);
762
+ function registerCompressedTexture(gl) {
763
+ addPreProcessResourceHandler(eva_js.resource, gl);
1005
764
  addKTXStragetyAndRegister();
1006
765
  Object.assign(pixi_js.glCore.GLTexture.prototype, GLTextureMixin);
1007
766
  Object.assign(pixi_js.Texture, TextureMixin);
1008
767
  Object.assign(pixi_js.BaseTexture, BaseTextureMixin);
1009
768
  }
1010
769
 
1011
- registerCompressedTexture();
770
+ exports.RENDERER_TYPE = void 0;
771
+ (function (RENDERER_TYPE) {
772
+ RENDERER_TYPE[RENDERER_TYPE["UNKNOWN"] = 0] = "UNKNOWN";
773
+ RENDERER_TYPE[RENDERER_TYPE["WEBGL"] = 1] = "WEBGL";
774
+ RENDERER_TYPE[RENDERER_TYPE["CANVAS"] = 2] = "CANVAS";
775
+ })(exports.RENDERER_TYPE || (exports.RENDERER_TYPE = {}));
776
+ var disableScroll = function (renderer) {
777
+ renderer.plugins.interaction.autoPreventDefault = true;
778
+ renderer.view.style.touchAction = 'none';
779
+ };
780
+ var enableScroll = function (renderer) {
781
+ renderer.plugins.interaction.autoPreventDefault = false;
782
+ renderer.view.style.touchAction = 'auto';
783
+ };
784
+ var Renderer$2 = (function (_super) {
785
+ __extends(Renderer, _super);
786
+ function Renderer() {
787
+ var _this = _super !== null && _super.apply(this, arguments) || this;
788
+ _this.multiApps = [];
789
+ return _this;
790
+ }
791
+ Renderer.prototype.init = function (params) {
792
+ var _this = this;
793
+ this.params = params;
794
+ this.application = this.createApplication(params);
795
+ this.containerManager = new ContainerManager$1();
796
+ this.rendererManager = new RendererManager$1({
797
+ game: this.game,
798
+ rendererSystem: this,
799
+ });
800
+ this.game.canvas = this.application.view;
801
+ this.transform = new Transform$1({
802
+ system: this,
803
+ containerManager: this.containerManager,
804
+ });
805
+ this.game.on('sceneChanged', function (_a) {
806
+ var scene = _a.scene, mode = _a.mode, params = _a.params;
807
+ var application;
808
+ switch (mode) {
809
+ case eva_js.LOAD_SCENE_MODE.SINGLE:
810
+ application = _this.application;
811
+ break;
812
+ case eva_js.LOAD_SCENE_MODE.MULTI_CANVAS:
813
+ application = _this.createMultiApplication({ params: params });
814
+ break;
815
+ }
816
+ scene.canvas = application.view;
817
+ _this.transform.emit('changeScene', {
818
+ scene: scene,
819
+ mode: mode,
820
+ application: application,
821
+ });
822
+ });
823
+ var gl = this.application.renderer.gl;
824
+ if (gl) {
825
+ this.suportedCompressedTextureFormats = getSuportCompressedTextureFormats(gl);
826
+ registerCompressedTexture(gl);
827
+ }
828
+ };
829
+ Renderer.prototype.registerObserver = function (observerInfo) {
830
+ var _a;
831
+ var thisObserverInfo = this.constructor.observerInfo;
832
+ for (var key in observerInfo) {
833
+ if (!thisObserverInfo[key]) {
834
+ thisObserverInfo[key] = [];
835
+ }
836
+ (_a = thisObserverInfo[key]).push.apply(_a, __spread(observerInfo[key]));
837
+ }
838
+ };
839
+ Renderer.prototype.createMultiApplication = function (_a) {
840
+ var params = _a.params;
841
+ var app = this.createApplication(params);
842
+ this.multiApps.push(app);
843
+ return app;
844
+ };
845
+ Renderer.prototype.createApplication = function (params) {
846
+ params.view = params.canvas;
847
+ if (params.renderType === exports.RENDERER_TYPE.CANVAS) {
848
+ params.forceCanvas = true;
849
+ }
850
+ var app;
851
+ try {
852
+ app = new rendererAdapter.Application(__assign({ sharedTicker: true }, params));
853
+ }
854
+ catch (e) {
855
+ if (e.message.match(/not support webgl/i) !== undefined) {
856
+ app = new rendererAdapter.Application(__assign(__assign({ sharedTicker: true }, params), { forceCanvas: true }));
857
+ }
858
+ }
859
+ pixi_js.ticker.shared.stop();
860
+ pixi_js.ticker.shared.autoStart = false;
861
+ if (params.preventScroll !== undefined) {
862
+ console.warn('PreventScroll property will deprecate at next major version, please use enableEnable instead. https://eva.js.org/#/tutorials/game');
863
+ params.preventScroll ? enableScroll(app.renderer) : disableScroll(app.renderer);
864
+ }
865
+ if (params.enableScroll !== undefined) {
866
+ params.enableScroll ? enableScroll(app.renderer) : disableScroll(app.renderer);
867
+ }
868
+ if (params.preventScroll === undefined && params.enableScroll === undefined) {
869
+ enableScroll(app.renderer);
870
+ }
871
+ return app;
872
+ };
873
+ Renderer.prototype.update = function () {
874
+ var e_1, _a, e_2, _b;
875
+ var changes = this.componentObserver.clear();
876
+ try {
877
+ for (var changes_1 = __values(changes), changes_1_1 = changes_1.next(); !changes_1_1.done; changes_1_1 = changes_1.next()) {
878
+ var changed = changes_1_1.value;
879
+ this.transform.componentChanged(changed);
880
+ }
881
+ }
882
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
883
+ finally {
884
+ try {
885
+ if (changes_1_1 && !changes_1_1.done && (_a = changes_1.return)) _a.call(changes_1);
886
+ }
887
+ finally { if (e_1) throw e_1.error; }
888
+ }
889
+ try {
890
+ for (var _c = __values(this.game.gameObjects), _d = _c.next(); !_d.done; _d = _c.next()) {
891
+ var gameObject = _d.value;
892
+ this.containerManager.updateTransform({
893
+ name: gameObject.id,
894
+ transform: gameObject.transform,
895
+ });
896
+ this.rendererManager.update(gameObject);
897
+ }
898
+ }
899
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
900
+ finally {
901
+ try {
902
+ if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
903
+ }
904
+ finally { if (e_2) throw e_2.error; }
905
+ }
906
+ };
907
+ Renderer.prototype.lateUpdate = function (e) {
908
+ this.transform.update();
909
+ this.application.ticker.update(e.time);
910
+ };
911
+ Renderer.prototype.onDestroy = function () {
912
+ var e_3, _a;
913
+ this.application.destroy();
914
+ try {
915
+ for (var _b = __values(this.multiApps), _c = _b.next(); !_c.done; _c = _b.next()) {
916
+ var app = _c.value;
917
+ app && app.destroy();
918
+ }
919
+ }
920
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
921
+ finally {
922
+ try {
923
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
924
+ }
925
+ finally { if (e_3) throw e_3.error; }
926
+ }
927
+ this.transform.destroy();
928
+ this.transform = null;
929
+ this.params = null;
930
+ this.rendererManager = null;
931
+ this.containerManager = null;
932
+ this.application = null;
933
+ this.game = null;
934
+ this.multiApps = null;
935
+ };
936
+ Renderer.prototype.resize = function (width, height) {
937
+ this.params.width = width;
938
+ this.params.height = height;
939
+ this.application.renderer.resize(width, height);
940
+ };
941
+ Renderer.systemName = 'Renderer';
942
+ Renderer = __decorate([
943
+ eva_js.decorators.componentObserver({
944
+ Transform: ['_parent'],
945
+ })
946
+ ], Renderer);
947
+ return Renderer;
948
+ }(eva_js.System));
949
+ var Renderer$3 = Renderer$2;
950
+
951
+ var Renderer = (function (_super) {
952
+ __extends(Renderer, _super);
953
+ function Renderer(params) {
954
+ var _this = _super.call(this, params) || this;
955
+ _this.asyncIdMap = {};
956
+ _this.observerInfo = _this.constructor.observerInfo;
957
+ return _this;
958
+ }
959
+ Renderer.prototype.componentChanged = function (_changed) { };
960
+ Renderer.prototype.rendererUpdate = function (_gameObject) { };
961
+ Renderer.prototype.update = function (e) {
962
+ var e_1, _a;
963
+ var changes = this.componentObserver.clear();
964
+ try {
965
+ for (var changes_1 = __values(changes), changes_1_1 = changes_1.next(); !changes_1_1.done; changes_1_1 = changes_1.next()) {
966
+ var changed = changes_1_1.value;
967
+ this.componentChanged(changed);
968
+ }
969
+ }
970
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
971
+ finally {
972
+ try {
973
+ if (changes_1_1 && !changes_1_1.done && (_a = changes_1.return)) _a.call(changes_1);
974
+ }
975
+ finally { if (e_1) throw e_1.error; }
976
+ }
977
+ };
978
+ Renderer.prototype.increaseAsyncId = function (id) {
979
+ this.asyncIdMap[id] = (this.asyncIdMap[id] || 0) + 1;
980
+ return this.asyncIdMap[id];
981
+ };
982
+ Renderer.prototype.validateAsyncId = function (id, asyncId) {
983
+ return this.asyncIdMap[id] === asyncId;
984
+ };
985
+ return Renderer;
986
+ }(eva_js.System));
987
+ var Renderer$1 = Renderer;
988
+
989
+ var mixinPIXI = function () {
990
+ pixi_js.BaseTexture.prototype.destroy = function () {
991
+ if (this.imageUrl) {
992
+ delete pixi_js.utils.TextureCache[this.imageUrl];
993
+ this.imageUrl = null;
994
+ }
995
+ this.source = null;
996
+ this.dispose();
997
+ pixi_js.BaseTexture.removeFromCache(this);
998
+ this.textureCacheIds = null;
999
+ this._destroyed = true;
1000
+ };
1001
+ };
1002
+
1003
+ mixinPIXI();
1012
1004
 
1013
- exports.ContainerManager = ContainerManager;
1014
- exports.INTERNAL_FORMATS_TO_EXTENSION_NAME = INTERNAL_FORMATS_TO_EXTENSION_NAME;
1015
- exports.INTERNAL_FORMAT_TO_BYTES_PER_PIXEL = INTERNAL_FORMAT_TO_BYTES_PER_PIXEL;
1016
- exports.Renderer = Renderer;
1017
- exports.RendererManager = RendererManager;
1018
- exports.RendererSystem = Renderer$1;
1005
+ exports.ContainerManager = ContainerManager$1;
1006
+ exports.Renderer = Renderer$1;
1007
+ exports.RendererManager = RendererManager$1;
1008
+ exports.RendererSystem = Renderer$3;