pixi.js 7.3.3 → 7.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/pixi.js +201 -134
- package/dist/pixi.js.map +1 -1
- package/dist/pixi.min.js +122 -176
- package/dist/pixi.min.js.map +1 -1
- package/dist/pixi.min.mjs +58 -112
- package/dist/pixi.min.mjs.map +1 -1
- package/dist/pixi.mjs +201 -134
- package/dist/pixi.mjs.map +1 -1
- package/package.json +31 -31
package/dist/pixi.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* pixi.js - v7.
|
|
3
|
-
* Compiled
|
|
2
|
+
* pixi.js - v7.4.0
|
|
3
|
+
* Compiled Sat, 27 Jan 2024 00:20:54 UTC
|
|
4
4
|
*
|
|
5
5
|
* pixi.js is licensed under the MIT License.
|
|
6
6
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -2023,20 +2023,20 @@ var index = {
|
|
|
2023
2023
|
trimCanvas,
|
|
2024
2024
|
uid,
|
|
2025
2025
|
url
|
|
2026
|
-
}, __defProp$d = Object.defineProperty, __defProps$
|
|
2026
|
+
}, __defProp$d = Object.defineProperty, __defProps$5 = Object.defineProperties, __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors, __getOwnPropSymbols$e = Object.getOwnPropertySymbols, __hasOwnProp$e = Object.prototype.hasOwnProperty, __propIsEnum$e = Object.prototype.propertyIsEnumerable, __defNormalProp$d = (obj, key, value) => key in obj ? __defProp$d(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value, __spreadValues$d = (a2, b2) => {
|
|
2027
2027
|
for (var prop in b2 || (b2 = {}))
|
|
2028
2028
|
__hasOwnProp$e.call(b2, prop) && __defNormalProp$d(a2, prop, b2[prop]);
|
|
2029
2029
|
if (__getOwnPropSymbols$e)
|
|
2030
2030
|
for (var prop of __getOwnPropSymbols$e(b2))
|
|
2031
2031
|
__propIsEnum$e.call(b2, prop) && __defNormalProp$d(a2, prop, b2[prop]);
|
|
2032
2032
|
return a2;
|
|
2033
|
-
}, __spreadProps$
|
|
2033
|
+
}, __spreadProps$5 = (a2, b2) => __defProps$5(a2, __getOwnPropDescs$5(b2)), ExtensionType = /* @__PURE__ */ ((ExtensionType2) => (ExtensionType2.Renderer = "renderer", ExtensionType2.Application = "application", ExtensionType2.RendererSystem = "renderer-webgl-system", ExtensionType2.RendererPlugin = "renderer-webgl-plugin", ExtensionType2.CanvasRendererSystem = "renderer-canvas-system", ExtensionType2.CanvasRendererPlugin = "renderer-canvas-plugin", ExtensionType2.Asset = "asset", ExtensionType2.LoadParser = "load-parser", ExtensionType2.ResolveParser = "resolve-parser", ExtensionType2.CacheParser = "cache-parser", ExtensionType2.DetectionParser = "detection-parser", ExtensionType2))(ExtensionType || {});
|
|
2034
2034
|
const normalizeExtension = (ext) => {
|
|
2035
2035
|
if (typeof ext == "function" || typeof ext == "object" && ext.extension) {
|
|
2036
2036
|
if (!ext.extension)
|
|
2037
2037
|
throw new Error("Extension class must have an extension object");
|
|
2038
2038
|
const metadata = typeof ext.extension != "object" ? { type: ext.extension } : ext.extension;
|
|
2039
|
-
ext = __spreadProps$
|
|
2039
|
+
ext = __spreadProps$5(__spreadValues$d({}, metadata), { ref: ext });
|
|
2040
2040
|
}
|
|
2041
2041
|
if (typeof ext == "object")
|
|
2042
2042
|
ext = __spreadValues$d({}, ext);
|
|
@@ -2074,8 +2074,9 @@ const normalizeExtension = (ext) => {
|
|
|
2074
2074
|
add(...extensions2) {
|
|
2075
2075
|
return extensions2.map(normalizeExtension).forEach((ext) => {
|
|
2076
2076
|
ext.type.forEach((type) => {
|
|
2077
|
+
var _a2, _b;
|
|
2077
2078
|
const handlers = this._addHandlers, queue = this._queue;
|
|
2078
|
-
handlers[type] ? handlers[type](ext) : (queue[type] = queue[type] || [], queue[type].push(ext));
|
|
2079
|
+
handlers[type] ? (_b = handlers[type]) == null || _b.call(handlers, ext) : (queue[type] = queue[type] || [], (_a2 = queue[type]) == null || _a2.push(ext));
|
|
2079
2080
|
});
|
|
2080
2081
|
}), this;
|
|
2081
2082
|
},
|
|
@@ -2087,12 +2088,13 @@ const normalizeExtension = (ext) => {
|
|
|
2087
2088
|
* @returns {PIXI.extensions} For chaining.
|
|
2088
2089
|
*/
|
|
2089
2090
|
handle(type, onAdd, onRemove) {
|
|
2091
|
+
var _a2;
|
|
2090
2092
|
const addHandlers = this._addHandlers, removeHandlers = this._removeHandlers;
|
|
2091
2093
|
if (addHandlers[type] || removeHandlers[type])
|
|
2092
2094
|
throw new Error(`Extension type ${type} already has a handler`);
|
|
2093
2095
|
addHandlers[type] = onAdd, removeHandlers[type] = onRemove;
|
|
2094
2096
|
const queue = this._queue;
|
|
2095
|
-
return queue[type] && (queue[type].forEach((ext) => onAdd(ext)), delete queue[type]), this;
|
|
2097
|
+
return queue[type] && ((_a2 = queue[type]) == null || _a2.forEach((ext) => onAdd(ext)), delete queue[type]), this;
|
|
2096
2098
|
},
|
|
2097
2099
|
/**
|
|
2098
2100
|
* Handle a type, but using a map by `name` property.
|
|
@@ -2104,10 +2106,10 @@ const normalizeExtension = (ext) => {
|
|
|
2104
2106
|
return this.handle(
|
|
2105
2107
|
type,
|
|
2106
2108
|
(extension) => {
|
|
2107
|
-
map2[extension.name] = extension.ref;
|
|
2109
|
+
extension.name && (map2[extension.name] = extension.ref);
|
|
2108
2110
|
},
|
|
2109
2111
|
(extension) => {
|
|
2110
|
-
delete map2[extension.name];
|
|
2112
|
+
extension.name && delete map2[extension.name];
|
|
2111
2113
|
}
|
|
2112
2114
|
);
|
|
2113
2115
|
},
|
|
@@ -2326,7 +2328,7 @@ function autoDetectResource(source, options) {
|
|
|
2326
2328
|
}
|
|
2327
2329
|
class Runner {
|
|
2328
2330
|
/**
|
|
2329
|
-
* @param name - The function name that will be executed on the listeners added to this Runner.
|
|
2331
|
+
* @param {string} name - The function name that will be executed on the listeners added to this Runner.
|
|
2330
2332
|
*/
|
|
2331
2333
|
constructor(name) {
|
|
2332
2334
|
this.items = [], this._name = name, this._aliasCount = 0;
|
|
@@ -2391,7 +2393,7 @@ class Runner {
|
|
|
2391
2393
|
}
|
|
2392
2394
|
/** Remove all references, don't use after this. */
|
|
2393
2395
|
destroy() {
|
|
2394
|
-
this.removeAll(), this.items =
|
|
2396
|
+
this.removeAll(), this.items.length = 0, this._name = "";
|
|
2395
2397
|
}
|
|
2396
2398
|
/**
|
|
2397
2399
|
* `true` if there are no this Runner contains no listeners
|
|
@@ -2402,7 +2404,7 @@ class Runner {
|
|
|
2402
2404
|
}
|
|
2403
2405
|
/**
|
|
2404
2406
|
* The name of the runner.
|
|
2405
|
-
* @
|
|
2407
|
+
* @type {string}
|
|
2406
2408
|
*/
|
|
2407
2409
|
get name() {
|
|
2408
2410
|
return this._name;
|
|
@@ -2592,7 +2594,7 @@ const defaultBufferOptions = {
|
|
|
2592
2594
|
alphaMode: ALPHA_MODES.NPM
|
|
2593
2595
|
}, _BaseTexture = class _BaseTexture2 extends EventEmitter {
|
|
2594
2596
|
/**
|
|
2595
|
-
* @param {PIXI.Resource|
|
|
2597
|
+
* @param {PIXI.Resource|PIXI.ImageSource|string} [resource=null] -
|
|
2596
2598
|
* The current resource to use, for things that aren't Resource objects, will be converted
|
|
2597
2599
|
* into a Resource.
|
|
2598
2600
|
* @param options - Collection of options, default options inherited from {@link PIXI.BaseTexture.defaultOptions}.
|
|
@@ -2770,7 +2772,7 @@ const defaultBufferOptions = {
|
|
|
2770
2772
|
* source is an image url or an image element and not in the base texture
|
|
2771
2773
|
* cache, it will be created and loaded.
|
|
2772
2774
|
* @static
|
|
2773
|
-
* @param {
|
|
2775
|
+
* @param {PIXI.ImageSource|string|string[]} source - The
|
|
2774
2776
|
* source to create base texture from.
|
|
2775
2777
|
* @param options - See {@link PIXI.BaseTexture}'s constructor for options.
|
|
2776
2778
|
* @param {string} [options.pixiIdPrefix=pixiid] - If a source has no id, this is the prefix of the generated id
|
|
@@ -5560,7 +5562,8 @@ class ContextSystem {
|
|
|
5560
5562
|
etc1: gl.getExtension("WEBGL_compressed_texture_etc1"),
|
|
5561
5563
|
pvrtc: gl.getExtension("WEBGL_compressed_texture_pvrtc") || gl.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"),
|
|
5562
5564
|
atc: gl.getExtension("WEBGL_compressed_texture_atc"),
|
|
5563
|
-
astc: gl.getExtension("WEBGL_compressed_texture_astc")
|
|
5565
|
+
astc: gl.getExtension("WEBGL_compressed_texture_astc"),
|
|
5566
|
+
bptc: gl.getExtension("EXT_texture_compression_bptc")
|
|
5564
5567
|
};
|
|
5565
5568
|
this.webGLVersion === 1 ? Object.assign(this.extensions, common, {
|
|
5566
5569
|
drawBuffers: gl.getExtension("WEBGL_draw_buffers"),
|
|
@@ -5797,10 +5800,10 @@ class BaseRenderTexture extends BaseTexture {
|
|
|
5797
5800
|
}
|
|
5798
5801
|
class BaseImageResource extends Resource {
|
|
5799
5802
|
/**
|
|
5800
|
-
* @param {
|
|
5803
|
+
* @param {PIXI.ImageSourcee} source
|
|
5801
5804
|
*/
|
|
5802
5805
|
constructor(source) {
|
|
5803
|
-
const sourceAny = source, width = sourceAny.naturalWidth || sourceAny.videoWidth || sourceAny.width, height = sourceAny.naturalHeight || sourceAny.videoHeight || sourceAny.height;
|
|
5806
|
+
const sourceAny = source, width = sourceAny.naturalWidth || sourceAny.videoWidth || sourceAny.displayWidth || sourceAny.width, height = sourceAny.naturalHeight || sourceAny.videoHeight || sourceAny.displayHeight || sourceAny.height;
|
|
5804
5807
|
super(width, height), this.source = source, this.noSubImage = !1;
|
|
5805
5808
|
}
|
|
5806
5809
|
/**
|
|
@@ -5817,7 +5820,7 @@ class BaseImageResource extends Resource {
|
|
|
5817
5820
|
* @param renderer - Upload to the renderer
|
|
5818
5821
|
* @param baseTexture - Reference to parent texture
|
|
5819
5822
|
* @param glTexture
|
|
5820
|
-
* @param {
|
|
5823
|
+
* @param {PIXI.ImageSourcee} [source] - (optional)
|
|
5821
5824
|
* @returns - true is success
|
|
5822
5825
|
*/
|
|
5823
5826
|
upload(renderer, baseTexture, glTexture, source) {
|
|
@@ -8277,7 +8280,7 @@ class StartupSystem {
|
|
|
8277
8280
|
*/
|
|
8278
8281
|
run(options) {
|
|
8279
8282
|
const { renderer } = this;
|
|
8280
|
-
renderer.runners.init.emit(renderer.options), options.hello && console.log(`PixiJS 7.
|
|
8283
|
+
renderer.runners.init.emit(renderer.options), options.hello && console.log(`PixiJS 7.4.0 - ${renderer.rendererLogId} - https://pixijs.com`), renderer.resize(renderer.screen.width, renderer.screen.height);
|
|
8281
8284
|
}
|
|
8282
8285
|
destroy() {
|
|
8283
8286
|
}
|
|
@@ -10578,6 +10581,23 @@ _SVGResource.SVG_XML = /^(<\?xml[^?]+\?>)?\s*(<!--[^(-->)]*-->)?\s*\<svg/m, /**
|
|
|
10578
10581
|
*/
|
|
10579
10582
|
_SVGResource.SVG_SIZE = /<svg[^>]*(?:\s(width|height)=('|")(\d*(?:\.\d+)?)(?:px)?('|"))[^>]*(?:\s(width|height)=('|")(\d*(?:\.\d+)?)(?:px)?('|"))[^>]*>/i;
|
|
10580
10583
|
let SVGResource = _SVGResource;
|
|
10584
|
+
class VideoFrameResource extends BaseImageResource {
|
|
10585
|
+
/**
|
|
10586
|
+
* @param source - Image element to use
|
|
10587
|
+
*/
|
|
10588
|
+
// eslint-disable-next-line @typescript-eslint/no-useless-constructor
|
|
10589
|
+
constructor(source) {
|
|
10590
|
+
super(source);
|
|
10591
|
+
}
|
|
10592
|
+
/**
|
|
10593
|
+
* Used to auto-detect the type of resource.
|
|
10594
|
+
* @param {*} source - The source object
|
|
10595
|
+
* @returns {boolean} `true` if source is an VideoFrame
|
|
10596
|
+
*/
|
|
10597
|
+
static test(source) {
|
|
10598
|
+
return !!globalThis.VideoFrame && source instanceof globalThis.VideoFrame;
|
|
10599
|
+
}
|
|
10600
|
+
}
|
|
10581
10601
|
const _VideoResource = class _VideoResource2 extends BaseImageResource {
|
|
10582
10602
|
/**
|
|
10583
10603
|
* @param {HTMLVideoElement|object|string|Array<string|object>} source - Video element to use.
|
|
@@ -10585,7 +10605,8 @@ const _VideoResource = class _VideoResource2 extends BaseImageResource {
|
|
|
10585
10605
|
* @param {boolean} [options.autoLoad=true] - Start loading the video immediately
|
|
10586
10606
|
* @param {boolean} [options.autoPlay=true] - Start playing video immediately
|
|
10587
10607
|
* @param {number} [options.updateFPS=0] - How many times a second to update the texture from the video.
|
|
10588
|
-
*
|
|
10608
|
+
* If 0, `requestVideoFrameCallback` is used to update the texture.
|
|
10609
|
+
* If `requestVideoFrameCallback` is not available, the texture is updated every render.
|
|
10589
10610
|
* @param {boolean} [options.crossorigin=true] - Load image using cross origin
|
|
10590
10611
|
* @param {boolean} [options.loop=false] - Loops the video
|
|
10591
10612
|
* @param {boolean} [options.muted=false] - Mutes the video audio, useful for autoplay
|
|
@@ -10699,7 +10720,8 @@ const _VideoResource = class _VideoResource2 extends BaseImageResource {
|
|
|
10699
10720
|
value !== this._autoUpdate && (this._autoUpdate = value, this._configureAutoUpdate());
|
|
10700
10721
|
}
|
|
10701
10722
|
/**
|
|
10702
|
-
* How many times a second to update the texture from the video.
|
|
10723
|
+
* How many times a second to update the texture from the video. If 0, `requestVideoFrameCallback` is used to
|
|
10724
|
+
* update the texture. If `requestVideoFrameCallback` is not available, the texture is updated every render.
|
|
10703
10725
|
* A lower fps can help performance, as updating the texture at 60fps on a 30ps video may not be efficient.
|
|
10704
10726
|
*/
|
|
10705
10727
|
get updateFPS() {
|
|
@@ -10738,6 +10760,7 @@ INSTALLED.push(
|
|
|
10738
10760
|
ImageResource,
|
|
10739
10761
|
CanvasResource,
|
|
10740
10762
|
VideoResource,
|
|
10763
|
+
VideoFrameResource,
|
|
10741
10764
|
SVGResource,
|
|
10742
10765
|
BufferResource,
|
|
10743
10766
|
CubeResource,
|
|
@@ -10760,7 +10783,7 @@ class TransformFeedback {
|
|
|
10760
10783
|
this.disposeRunner.emit(this, !1);
|
|
10761
10784
|
}
|
|
10762
10785
|
}
|
|
10763
|
-
const VERSION = "7.
|
|
10786
|
+
const VERSION = "7.4.0";
|
|
10764
10787
|
class Bounds {
|
|
10765
10788
|
constructor() {
|
|
10766
10789
|
this.minX = 1 / 0, this.minY = 1 / 0, this.maxX = -1 / 0, this.maxY = -1 / 0, this.rect = null, this.updateID = -1;
|
|
@@ -14989,8 +15012,12 @@ const FederatedDisplayObject = {
|
|
|
14989
15012
|
* });
|
|
14990
15013
|
*/
|
|
14991
15014
|
addEventListener(type, listener, options) {
|
|
14992
|
-
const capture = typeof options == "boolean" && options || typeof options == "object" && options.capture, context2 = typeof listener == "function" ? void 0 : listener;
|
|
14993
|
-
type = capture ? `${type}capture` : type
|
|
15015
|
+
const capture = typeof options == "boolean" && options || typeof options == "object" && options.capture, signal = typeof options == "object" ? options.signal : void 0, once = typeof options == "object" ? options.once === !0 : !1, context2 = typeof listener == "function" ? void 0 : listener;
|
|
15016
|
+
type = capture ? `${type}capture` : type;
|
|
15017
|
+
const listenerFn = typeof listener == "function" ? listener : listener.handleEvent, emitter = this;
|
|
15018
|
+
signal && signal.addEventListener("abort", () => {
|
|
15019
|
+
emitter.off(type, listenerFn, context2);
|
|
15020
|
+
}), once ? emitter.once(type, listenerFn, context2) : emitter.on(type, listenerFn, context2);
|
|
14994
15021
|
},
|
|
14995
15022
|
/**
|
|
14996
15023
|
* Unlike `off` or `removeListener` which are methods from EventEmitter, `removeEventListener`
|
|
@@ -15572,14 +15599,14 @@ class CacheClass {
|
|
|
15572
15599
|
}
|
|
15573
15600
|
}
|
|
15574
15601
|
const Cache = new CacheClass();
|
|
15575
|
-
var __defProp$9 = Object.defineProperty, __defProps$
|
|
15602
|
+
var __defProp$9 = Object.defineProperty, __defProps$4 = Object.defineProperties, __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors, __getOwnPropSymbols$9 = Object.getOwnPropertySymbols, __hasOwnProp$9 = Object.prototype.hasOwnProperty, __propIsEnum$9 = Object.prototype.propertyIsEnumerable, __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value, __spreadValues$9 = (a2, b2) => {
|
|
15576
15603
|
for (var prop in b2 || (b2 = {}))
|
|
15577
15604
|
__hasOwnProp$9.call(b2, prop) && __defNormalProp$9(a2, prop, b2[prop]);
|
|
15578
15605
|
if (__getOwnPropSymbols$9)
|
|
15579
15606
|
for (var prop of __getOwnPropSymbols$9(b2))
|
|
15580
15607
|
__propIsEnum$9.call(b2, prop) && __defNormalProp$9(a2, prop, b2[prop]);
|
|
15581
15608
|
return a2;
|
|
15582
|
-
}, __spreadProps$
|
|
15609
|
+
}, __spreadProps$4 = (a2, b2) => __defProps$4(a2, __getOwnPropDescs$4(b2));
|
|
15583
15610
|
class Loader {
|
|
15584
15611
|
constructor() {
|
|
15585
15612
|
this._parsers = [], this._parsersValidated = !1, this.parsers = new Proxy(this._parsers, {
|
|
@@ -15669,7 +15696,7 @@ ${e2}`);
|
|
|
15669
15696
|
}
|
|
15670
15697
|
/** validates our parsers, right now it only checks for name conflicts but we can add more here as required! */
|
|
15671
15698
|
_validateParsers() {
|
|
15672
|
-
this._parsersValidated = !0, this._parserHash = this._parsers.filter((parser) => parser.name).reduce((hash, parser) => (hash[parser.name] && console.warn(`[Assets] loadParser name conflict "${parser.name}"`), __spreadProps$
|
|
15699
|
+
this._parsersValidated = !0, this._parserHash = this._parsers.filter((parser) => parser.name).reduce((hash, parser) => (hash[parser.name] && console.warn(`[Assets] loadParser name conflict "${parser.name}"`), __spreadProps$4(__spreadValues$9({}, hash), { [parser.name]: parser })), {});
|
|
15673
15700
|
}
|
|
15674
15701
|
}
|
|
15675
15702
|
var LoaderParserPriority = /* @__PURE__ */ ((LoaderParserPriority2) => (LoaderParserPriority2[LoaderParserPriority2.Low = 0] = "Low", LoaderParserPriority2[LoaderParserPriority2.Normal = 1] = "Normal", LoaderParserPriority2[LoaderParserPriority2.High = 2] = "High", LoaderParserPriority2))(LoaderParserPriority || {});
|
|
@@ -15701,14 +15728,14 @@ const validTXTExtension = ".txt", validTXTMIME = "text/plain", loadTxt = {
|
|
|
15701
15728
|
}
|
|
15702
15729
|
};
|
|
15703
15730
|
extensions$1.add(loadTxt);
|
|
15704
|
-
var __defProp$8 = Object.defineProperty, __defProps$
|
|
15731
|
+
var __defProp$8 = Object.defineProperty, __defProps$3 = Object.defineProperties, __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors, __getOwnPropSymbols$8 = Object.getOwnPropertySymbols, __hasOwnProp$8 = Object.prototype.hasOwnProperty, __propIsEnum$8 = Object.prototype.propertyIsEnumerable, __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$8(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value, __spreadValues$8 = (a2, b2) => {
|
|
15705
15732
|
for (var prop in b2 || (b2 = {}))
|
|
15706
15733
|
__hasOwnProp$8.call(b2, prop) && __defNormalProp$8(a2, prop, b2[prop]);
|
|
15707
15734
|
if (__getOwnPropSymbols$8)
|
|
15708
15735
|
for (var prop of __getOwnPropSymbols$8(b2))
|
|
15709
15736
|
__propIsEnum$8.call(b2, prop) && __defNormalProp$8(a2, prop, b2[prop]);
|
|
15710
15737
|
return a2;
|
|
15711
|
-
}, __spreadProps$
|
|
15738
|
+
}, __spreadProps$3 = (a2, b2) => __defProps$3(a2, __getOwnPropDescs$3(b2));
|
|
15712
15739
|
const validWeights = [
|
|
15713
15740
|
"normal",
|
|
15714
15741
|
"bold",
|
|
@@ -15757,7 +15784,7 @@ const loadWebFont = {
|
|
|
15757
15784
|
if (fonts) {
|
|
15758
15785
|
const fontFaces = [], name = (_b = (_a2 = options.data) == null ? void 0 : _a2.family) != null ? _b : getFontFamilyName(url2), weights = (_e = (_d = (_c = options.data) == null ? void 0 : _c.weights) == null ? void 0 : _d.filter((weight) => validWeights.includes(weight))) != null ? _e : ["normal"], data = (_f = options.data) != null ? _f : {};
|
|
15759
15786
|
for (let i2 = 0; i2 < weights.length; i2++) {
|
|
15760
|
-
const weight = weights[i2], font = new FontFace(name, `url(${encodeURIWhenNeeded(url2)})`, __spreadProps$
|
|
15787
|
+
const weight = weights[i2], font = new FontFace(name, `url(${encodeURIWhenNeeded(url2)})`, __spreadProps$3(__spreadValues$8({}, data), {
|
|
15761
15788
|
weight
|
|
15762
15789
|
}));
|
|
15763
15790
|
await font.load(), fonts.add(font), fontFaces.push(font);
|
|
@@ -15771,82 +15798,78 @@ const loadWebFont = {
|
|
|
15771
15798
|
}
|
|
15772
15799
|
};
|
|
15773
15800
|
extensions$1.add(loadWebFont);
|
|
15774
|
-
|
|
15775
|
-
|
|
15776
|
-
|
|
15777
|
-
|
|
15778
|
-
|
|
15779
|
-
|
|
15780
|
-
|
|
15781
|
-
|
|
15782
|
-
|
|
15783
|
-
|
|
15784
|
-
|
|
15785
|
-
const imageBlob = await response.blob();
|
|
15786
|
-
const imageBitmap = await createImageBitmap(imageBlob);
|
|
15787
|
-
|
|
15788
|
-
return imageBitmap.width === 1 && imageBitmap.height === 1;
|
|
15789
|
-
}
|
|
15790
|
-
catch (e)
|
|
15791
|
-
{
|
|
15792
|
-
return false;
|
|
15793
|
-
}
|
|
15801
|
+
const WORKER_CODE$1 = `(function() {
|
|
15802
|
+
"use strict";
|
|
15803
|
+
const WHITE_PNG = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+ip1sAAAAASUVORK5CYII=";
|
|
15804
|
+
async function checkImageBitmap() {
|
|
15805
|
+
try {
|
|
15806
|
+
if (typeof createImageBitmap != "function")
|
|
15807
|
+
return !1;
|
|
15808
|
+
const imageBlob = await (await fetch(WHITE_PNG)).blob(), imageBitmap = await createImageBitmap(imageBlob);
|
|
15809
|
+
return imageBitmap.width === 1 && imageBitmap.height === 1;
|
|
15810
|
+
} catch (e) {
|
|
15811
|
+
return !1;
|
|
15794
15812
|
}
|
|
15795
|
-
|
|
15796
|
-
|
|
15797
|
-
|
|
15798
|
-
|
|
15799
|
-
|
|
15800
|
-
|
|
15801
|
-
|
|
15802
|
-
|
|
15803
|
-
|
|
15804
|
-
|
|
15805
|
-
|
|
15806
|
-
|
|
15807
|
-
|
|
15808
|
-
|
|
15809
|
-
|
|
15810
|
-
|
|
15811
|
-
|
|
15812
|
-
|
|
15813
|
-
|
|
15813
|
+
}
|
|
15814
|
+
checkImageBitmap().then((result) => {
|
|
15815
|
+
self.postMessage(result);
|
|
15816
|
+
});
|
|
15817
|
+
})();
|
|
15818
|
+
`;
|
|
15819
|
+
let WORKER_URL$1 = null, WorkerInstance$1 = class extends Worker {
|
|
15820
|
+
constructor() {
|
|
15821
|
+
WORKER_URL$1 || (WORKER_URL$1 = URL.createObjectURL(new Blob([WORKER_CODE$1], { type: "application/javascript" }))), super(WORKER_URL$1);
|
|
15822
|
+
}
|
|
15823
|
+
};
|
|
15824
|
+
WorkerInstance$1.revokeObjectURL = function() {
|
|
15825
|
+
WORKER_URL$1 && (URL.revokeObjectURL(WORKER_URL$1), WORKER_URL$1 = null);
|
|
15826
|
+
};
|
|
15827
|
+
const WORKER_CODE = `(function() {
|
|
15828
|
+
"use strict";
|
|
15829
|
+
async function loadImageBitmap(url) {
|
|
15830
|
+
const response = await fetch(url);
|
|
15831
|
+
if (!response.ok)
|
|
15832
|
+
throw new Error(\`[WorkerManager.loadImageBitmap] Failed to fetch \${url}: \${response.status} \${response.statusText}\`);
|
|
15833
|
+
const imageBlob = await response.blob();
|
|
15834
|
+
return await createImageBitmap(imageBlob);
|
|
15835
|
+
}
|
|
15836
|
+
self.onmessage = async (event) => {
|
|
15837
|
+
try {
|
|
15838
|
+
const imageBitmap = await loadImageBitmap(event.data.data[0]);
|
|
15839
|
+
self.postMessage({
|
|
15840
|
+
data: imageBitmap,
|
|
15841
|
+
uuid: event.data.uuid,
|
|
15842
|
+
id: event.data.id
|
|
15843
|
+
}, [imageBitmap]);
|
|
15844
|
+
} catch (e) {
|
|
15845
|
+
self.postMessage({
|
|
15846
|
+
error: e,
|
|
15847
|
+
uuid: event.data.uuid,
|
|
15848
|
+
id: event.data.id
|
|
15849
|
+
});
|
|
15814
15850
|
}
|
|
15815
|
-
|
|
15816
|
-
|
|
15817
|
-
|
|
15818
|
-
|
|
15819
|
-
|
|
15820
|
-
|
|
15821
|
-
|
|
15822
|
-
|
|
15823
|
-
|
|
15824
|
-
|
|
15825
|
-
|
|
15826
|
-
}
|
|
15827
|
-
catch(e)
|
|
15828
|
-
{
|
|
15829
|
-
self.postMessage({
|
|
15830
|
-
error: e,
|
|
15831
|
-
uuid: event.data.uuid,
|
|
15832
|
-
id: event.data.id,
|
|
15833
|
-
});
|
|
15834
|
-
}
|
|
15835
|
-
};`
|
|
15851
|
+
};
|
|
15852
|
+
})();
|
|
15853
|
+
`;
|
|
15854
|
+
let WORKER_URL = null;
|
|
15855
|
+
class WorkerInstance2 extends Worker {
|
|
15856
|
+
constructor() {
|
|
15857
|
+
WORKER_URL || (WORKER_URL = URL.createObjectURL(new Blob([WORKER_CODE], { type: "application/javascript" }))), super(WORKER_URL);
|
|
15858
|
+
}
|
|
15859
|
+
}
|
|
15860
|
+
WorkerInstance2.revokeObjectURL = function() {
|
|
15861
|
+
WORKER_URL && (URL.revokeObjectURL(WORKER_URL), WORKER_URL = null);
|
|
15836
15862
|
};
|
|
15837
|
-
let
|
|
15863
|
+
let UUID = 0, MAX_WORKERS;
|
|
15838
15864
|
class WorkerManagerClass {
|
|
15839
15865
|
constructor() {
|
|
15840
15866
|
this._initialized = !1, this._createdWorkers = 0, this.workerPool = [], this.queue = [], this.resolveHash = {};
|
|
15841
15867
|
}
|
|
15842
15868
|
isImageBitmapSupported() {
|
|
15843
15869
|
return this._isImageBitmapSupported !== void 0 ? this._isImageBitmapSupported : (this._isImageBitmapSupported = new Promise((resolve2) => {
|
|
15844
|
-
const
|
|
15845
|
-
[checkImageBitmapCode.code],
|
|
15846
|
-
{ type: "application/javascript" }
|
|
15847
|
-
)), worker = new Worker(workerURL2);
|
|
15870
|
+
const worker = new WorkerInstance$1();
|
|
15848
15871
|
worker.addEventListener("message", (event) => {
|
|
15849
|
-
worker.terminate(),
|
|
15872
|
+
worker.terminate(), WorkerInstance$1.revokeObjectURL(), resolve2(event.data);
|
|
15850
15873
|
});
|
|
15851
15874
|
}), this._isImageBitmapSupported);
|
|
15852
15875
|
}
|
|
@@ -15859,7 +15882,7 @@ class WorkerManagerClass {
|
|
|
15859
15882
|
getWorker() {
|
|
15860
15883
|
MAX_WORKERS === void 0 && (MAX_WORKERS = navigator.hardwareConcurrency || 4);
|
|
15861
15884
|
let worker = this.workerPool.pop();
|
|
15862
|
-
return !worker && this._createdWorkers < MAX_WORKERS && (
|
|
15885
|
+
return !worker && this._createdWorkers < MAX_WORKERS && (this._createdWorkers++, worker = new WorkerInstance2(), worker.addEventListener("message", (event) => {
|
|
15863
15886
|
this.complete(event.data), this.returnWorker(event.target), this.next();
|
|
15864
15887
|
})), worker;
|
|
15865
15888
|
}
|
|
@@ -15990,14 +16013,14 @@ const validSVGExtension = ".svg", validSVGMIME = "image/svg+xml", loadSVG = {
|
|
|
15990
16013
|
unload: loadTextures.unload
|
|
15991
16014
|
};
|
|
15992
16015
|
extensions$1.add(loadSVG);
|
|
15993
|
-
var __defProp$5 = Object.defineProperty, __getOwnPropSymbols$5 = Object.getOwnPropertySymbols, __hasOwnProp$5 = Object.prototype.hasOwnProperty, __propIsEnum$5 = Object.prototype.propertyIsEnumerable, __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value, __spreadValues$5 = (a2, b2) => {
|
|
16016
|
+
var __defProp$5 = Object.defineProperty, __defProps$2 = Object.defineProperties, __getOwnPropDescs$2 = Object.getOwnPropertyDescriptors, __getOwnPropSymbols$5 = Object.getOwnPropertySymbols, __hasOwnProp$5 = Object.prototype.hasOwnProperty, __propIsEnum$5 = Object.prototype.propertyIsEnumerable, __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value, __spreadValues$5 = (a2, b2) => {
|
|
15994
16017
|
for (var prop in b2 || (b2 = {}))
|
|
15995
16018
|
__hasOwnProp$5.call(b2, prop) && __defNormalProp$5(a2, prop, b2[prop]);
|
|
15996
16019
|
if (__getOwnPropSymbols$5)
|
|
15997
16020
|
for (var prop of __getOwnPropSymbols$5(b2))
|
|
15998
16021
|
__propIsEnum$5.call(b2, prop) && __defNormalProp$5(a2, prop, b2[prop]);
|
|
15999
16022
|
return a2;
|
|
16000
|
-
};
|
|
16023
|
+
}, __spreadProps$2 = (a2, b2) => __defProps$2(a2, __getOwnPropDescs$2(b2));
|
|
16001
16024
|
const validVideoExtensions = [".mp4", ".m4v", ".webm", ".ogv"], validVideoMIMEs = [
|
|
16002
16025
|
"video/mp4",
|
|
16003
16026
|
"video/webm",
|
|
@@ -16009,7 +16032,11 @@ const validVideoExtensions = [".mp4", ".m4v", ".webm", ".ogv"], validVideoMIMEs
|
|
|
16009
16032
|
priority: LoaderParserPriority.High
|
|
16010
16033
|
},
|
|
16011
16034
|
config: {
|
|
16012
|
-
defaultAutoPlay: !0
|
|
16035
|
+
defaultAutoPlay: !0,
|
|
16036
|
+
defaultUpdateFPS: 0,
|
|
16037
|
+
defaultLoop: !1,
|
|
16038
|
+
defaultMuted: !1,
|
|
16039
|
+
defaultPlaysinline: !0
|
|
16013
16040
|
},
|
|
16014
16041
|
test(url2) {
|
|
16015
16042
|
return checkDataUrl(url2, validVideoMIMEs) || checkExtension(url2, validVideoExtensions);
|
|
@@ -16019,9 +16046,15 @@ const validVideoExtensions = [".mp4", ".m4v", ".webm", ".ogv"], validVideoMIMEs
|
|
|
16019
16046
|
let texture;
|
|
16020
16047
|
const blob = await (await settings.ADAPTER.fetch(url2)).blob(), blobURL = URL.createObjectURL(blob);
|
|
16021
16048
|
try {
|
|
16022
|
-
const options = __spreadValues$5({
|
|
16023
|
-
autoPlay: this.config.defaultAutoPlay
|
|
16024
|
-
|
|
16049
|
+
const options = __spreadProps$2(__spreadValues$5({
|
|
16050
|
+
autoPlay: this.config.defaultAutoPlay,
|
|
16051
|
+
updateFPS: this.config.defaultUpdateFPS,
|
|
16052
|
+
loop: this.config.defaultLoop,
|
|
16053
|
+
muted: this.config.defaultMuted,
|
|
16054
|
+
playsinline: this.config.defaultPlaysinline
|
|
16055
|
+
}, (_a2 = loadAsset == null ? void 0 : loadAsset.data) == null ? void 0 : _a2.resourceOptions), {
|
|
16056
|
+
autoLoad: !0
|
|
16057
|
+
}), src = new VideoResource(blobURL, options);
|
|
16025
16058
|
await src.load();
|
|
16026
16059
|
const base = new BaseTexture(src, __spreadValues$5({
|
|
16027
16060
|
alphaMode: await detectVideoAlphaMode(),
|
|
@@ -16876,7 +16909,7 @@ const resolveTextureUrl = {
|
|
|
16876
16909
|
}
|
|
16877
16910
|
};
|
|
16878
16911
|
extensions$1.add(resolveTextureUrl);
|
|
16879
|
-
var INTERNAL_FORMATS = /* @__PURE__ */ ((INTERNAL_FORMATS2) => (INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGB_S3TC_DXT1_EXT = 33776] = "COMPRESSED_RGB_S3TC_DXT1_EXT", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGBA_S3TC_DXT1_EXT = 33777] = "COMPRESSED_RGBA_S3TC_DXT1_EXT", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGBA_S3TC_DXT3_EXT = 33778] = "COMPRESSED_RGBA_S3TC_DXT3_EXT", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGBA_S3TC_DXT5_EXT = 33779] = "COMPRESSED_RGBA_S3TC_DXT5_EXT", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 35917] = "COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 35918] = "COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 35919] = "COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_SRGB_S3TC_DXT1_EXT = 35916] = "COMPRESSED_SRGB_S3TC_DXT1_EXT", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_R11_EAC = 37488] = "COMPRESSED_R11_EAC", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_SIGNED_R11_EAC = 37489] = "COMPRESSED_SIGNED_R11_EAC", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RG11_EAC = 37490] = "COMPRESSED_RG11_EAC", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_SIGNED_RG11_EAC = 37491] = "COMPRESSED_SIGNED_RG11_EAC", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGB8_ETC2 = 37492] = "COMPRESSED_RGB8_ETC2", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGBA8_ETC2_EAC = 37496] = "COMPRESSED_RGBA8_ETC2_EAC", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_SRGB8_ETC2 = 37493] = "COMPRESSED_SRGB8_ETC2", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 37497] = "COMPRESSED_SRGB8_ALPHA8_ETC2_EAC", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 37494] = "COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 37495] = "COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGB_PVRTC_4BPPV1_IMG = 35840] = "COMPRESSED_RGB_PVRTC_4BPPV1_IMG", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = 35842] = "COMPRESSED_RGBA_PVRTC_4BPPV1_IMG", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGB_PVRTC_2BPPV1_IMG = 35841] = "COMPRESSED_RGB_PVRTC_2BPPV1_IMG", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 35843] = "COMPRESSED_RGBA_PVRTC_2BPPV1_IMG", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGB_ETC1_WEBGL = 36196] = "COMPRESSED_RGB_ETC1_WEBGL", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGB_ATC_WEBGL = 35986] = "COMPRESSED_RGB_ATC_WEBGL", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL = 35987] = "COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL = 34798] = "COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGBA_ASTC_4x4_KHR = 37808] = "COMPRESSED_RGBA_ASTC_4x4_KHR", INTERNAL_FORMATS2))(INTERNAL_FORMATS || {});
|
|
16912
|
+
var INTERNAL_FORMATS = /* @__PURE__ */ ((INTERNAL_FORMATS2) => (INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGB_S3TC_DXT1_EXT = 33776] = "COMPRESSED_RGB_S3TC_DXT1_EXT", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGBA_S3TC_DXT1_EXT = 33777] = "COMPRESSED_RGBA_S3TC_DXT1_EXT", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGBA_S3TC_DXT3_EXT = 33778] = "COMPRESSED_RGBA_S3TC_DXT3_EXT", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGBA_S3TC_DXT5_EXT = 33779] = "COMPRESSED_RGBA_S3TC_DXT5_EXT", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 35917] = "COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 35918] = "COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 35919] = "COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_SRGB_S3TC_DXT1_EXT = 35916] = "COMPRESSED_SRGB_S3TC_DXT1_EXT", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_R11_EAC = 37488] = "COMPRESSED_R11_EAC", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_SIGNED_R11_EAC = 37489] = "COMPRESSED_SIGNED_R11_EAC", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RG11_EAC = 37490] = "COMPRESSED_RG11_EAC", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_SIGNED_RG11_EAC = 37491] = "COMPRESSED_SIGNED_RG11_EAC", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGB8_ETC2 = 37492] = "COMPRESSED_RGB8_ETC2", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGBA8_ETC2_EAC = 37496] = "COMPRESSED_RGBA8_ETC2_EAC", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_SRGB8_ETC2 = 37493] = "COMPRESSED_SRGB8_ETC2", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 37497] = "COMPRESSED_SRGB8_ALPHA8_ETC2_EAC", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 37494] = "COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 37495] = "COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGB_PVRTC_4BPPV1_IMG = 35840] = "COMPRESSED_RGB_PVRTC_4BPPV1_IMG", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = 35842] = "COMPRESSED_RGBA_PVRTC_4BPPV1_IMG", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGB_PVRTC_2BPPV1_IMG = 35841] = "COMPRESSED_RGB_PVRTC_2BPPV1_IMG", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 35843] = "COMPRESSED_RGBA_PVRTC_2BPPV1_IMG", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGB_ETC1_WEBGL = 36196] = "COMPRESSED_RGB_ETC1_WEBGL", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGB_ATC_WEBGL = 35986] = "COMPRESSED_RGB_ATC_WEBGL", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL = 35987] = "COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL = 34798] = "COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGBA_ASTC_4x4_KHR = 37808] = "COMPRESSED_RGBA_ASTC_4x4_KHR", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGBA_BPTC_UNORM_EXT = 36492] = "COMPRESSED_RGBA_BPTC_UNORM_EXT", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT = 36493] = "COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT = 36494] = "COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT", INTERNAL_FORMATS2[INTERNAL_FORMATS2.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT = 36495] = "COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT", INTERNAL_FORMATS2))(INTERNAL_FORMATS || {});
|
|
16880
16913
|
const INTERNAL_FORMAT_TO_BYTES_PER_PIXEL = {
|
|
16881
16914
|
// WEBGL_compressed_texture_s3tc
|
|
16882
16915
|
33776: 0.5,
|
|
@@ -16916,7 +16949,13 @@ const INTERNAL_FORMAT_TO_BYTES_PER_PIXEL = {
|
|
|
16916
16949
|
// @see https://registry.khronos.org/OpenGL/extensions/KHR/KHR_texture_compression_astc_hdr.txt
|
|
16917
16950
|
// WEBGL_compressed_texture_astc
|
|
16918
16951
|
/* eslint-disable-next-line camelcase */
|
|
16919
|
-
37808: 1
|
|
16952
|
+
37808: 1,
|
|
16953
|
+
// @see https://registry.khronos.org/OpenGL/extensions/EXT/EXT_texture_compression_bptc.txt
|
|
16954
|
+
// EXT_texture_compression_bptc
|
|
16955
|
+
36492: 1,
|
|
16956
|
+
36493: 1,
|
|
16957
|
+
36494: 1,
|
|
16958
|
+
36495: 1
|
|
16920
16959
|
};
|
|
16921
16960
|
let storedGl, extensions;
|
|
16922
16961
|
function getCompressedTextureExtensions() {
|
|
@@ -16928,7 +16967,8 @@ function getCompressedTextureExtensions() {
|
|
|
16928
16967
|
etc1: storedGl.getExtension("WEBGL_compressed_texture_etc1"),
|
|
16929
16968
|
pvrtc: storedGl.getExtension("WEBGL_compressed_texture_pvrtc") || storedGl.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"),
|
|
16930
16969
|
atc: storedGl.getExtension("WEBGL_compressed_texture_atc"),
|
|
16931
|
-
astc: storedGl.getExtension("WEBGL_compressed_texture_astc")
|
|
16970
|
+
astc: storedGl.getExtension("WEBGL_compressed_texture_astc"),
|
|
16971
|
+
bptc: storedGl.getExtension("EXT_texture_compression_bptc")
|
|
16932
16972
|
};
|
|
16933
16973
|
}
|
|
16934
16974
|
const detectCompressedTextures = {
|
|
@@ -17034,15 +17074,21 @@ class CompressedTextureResource extends BlobResource {
|
|
|
17034
17074
|
static _formatToExtension(format2) {
|
|
17035
17075
|
if (format2 >= 33776 && format2 <= 33779)
|
|
17036
17076
|
return "s3tc";
|
|
17077
|
+
if (format2 >= 35916 && format2 <= 35919)
|
|
17078
|
+
return "s3tc_sRGB";
|
|
17037
17079
|
if (format2 >= 37488 && format2 <= 37497)
|
|
17038
17080
|
return "etc";
|
|
17039
17081
|
if (format2 >= 35840 && format2 <= 35843)
|
|
17040
17082
|
return "pvrtc";
|
|
17041
|
-
if (format2
|
|
17083
|
+
if (format2 === 36196)
|
|
17042
17084
|
return "etc1";
|
|
17043
|
-
if (format2
|
|
17085
|
+
if (format2 === 35986 || format2 === 35987 || format2 === 34798)
|
|
17044
17086
|
return "atc";
|
|
17045
|
-
|
|
17087
|
+
if (format2 >= 36492 && format2 <= 36495)
|
|
17088
|
+
return "bptc";
|
|
17089
|
+
if (format2 === 37808)
|
|
17090
|
+
return "astc";
|
|
17091
|
+
throw new Error(`Invalid (compressed) texture format given: ${format2}`);
|
|
17046
17092
|
}
|
|
17047
17093
|
/**
|
|
17048
17094
|
* Pre-creates buffer views for each mipmap level
|
|
@@ -17105,7 +17151,14 @@ const DDS_MAGIC_SIZE = 4, DDS_HEADER_SIZE = 124, DDS_HEADER_PF_SIZE = 32, DDS_HE
|
|
|
17105
17151
|
// WEBGL_compressed_texture_s3tc_srgb
|
|
17106
17152
|
72: INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,
|
|
17107
17153
|
75: INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,
|
|
17108
|
-
78: INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT
|
|
17154
|
+
78: INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,
|
|
17155
|
+
// EXT_texture_compression_bptc
|
|
17156
|
+
// BC6H
|
|
17157
|
+
96: INTERNAL_FORMATS.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT,
|
|
17158
|
+
95: INTERNAL_FORMATS.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT,
|
|
17159
|
+
// BC7
|
|
17160
|
+
98: INTERNAL_FORMATS.COMPRESSED_RGBA_BPTC_UNORM_EXT,
|
|
17161
|
+
99: INTERNAL_FORMATS.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT
|
|
17109
17162
|
};
|
|
17110
17163
|
function parseDDS(arrayBuffer) {
|
|
17111
17164
|
const data = new Uint32Array(arrayBuffer);
|
|
@@ -17405,7 +17458,8 @@ const resolveCompressedTextureUrl = {
|
|
|
17405
17458
|
".etc1.ktx",
|
|
17406
17459
|
".pvrt.ktx",
|
|
17407
17460
|
".atc.ktx",
|
|
17408
|
-
".astc.ktx"
|
|
17461
|
+
".astc.ktx",
|
|
17462
|
+
".bptc.ktx"
|
|
17409
17463
|
];
|
|
17410
17464
|
if (extensions2.some((ext) => value.endsWith(ext)))
|
|
17411
17465
|
return {
|
|
@@ -21892,15 +21946,11 @@ TilingSpriteRenderer.extension = {
|
|
|
21892
21946
|
};
|
|
21893
21947
|
extensions$1.add(TilingSpriteRenderer);
|
|
21894
21948
|
const _Spritesheet = class _Spritesheet2 {
|
|
21895
|
-
/**
|
|
21896
|
-
|
|
21897
|
-
|
|
21898
|
-
|
|
21899
|
-
|
|
21900
|
-
* be used on the BaseTexture.
|
|
21901
|
-
*/
|
|
21902
|
-
constructor(texture, data, resolutionFilename = null) {
|
|
21903
|
-
this.linkedSheets = [], this._texture = texture instanceof Texture ? texture : null, this.baseTexture = texture instanceof BaseTexture ? texture : this._texture.baseTexture, this.textures = {}, this.animations = {}, this.data = data;
|
|
21949
|
+
/** @ignore */
|
|
21950
|
+
constructor(optionsOrTexture, arg1, arg2) {
|
|
21951
|
+
this.linkedSheets = [], (optionsOrTexture instanceof BaseTexture || optionsOrTexture instanceof Texture) && (optionsOrTexture = { texture: optionsOrTexture, data: arg1, resolutionFilename: arg2 });
|
|
21952
|
+
const { texture, data, resolutionFilename = null, cachePrefix = "" } = optionsOrTexture;
|
|
21953
|
+
this.cachePrefix = cachePrefix, this._texture = texture instanceof Texture ? texture : null, this.baseTexture = texture instanceof BaseTexture ? texture : this._texture.baseTexture, this.textures = {}, this.animations = {}, this.data = data;
|
|
21904
21954
|
const resource = this.baseTexture.resource;
|
|
21905
21955
|
this.resolution = this._updateResolution(resolutionFilename || (resource ? resource.url : null)), this._frames = this.data.frames, this._frameKeys = Object.keys(this._frames), this._batchIndex = 0, this._callback = null;
|
|
21906
21956
|
}
|
|
@@ -21966,7 +22016,7 @@ const _Spritesheet = class _Spritesheet2 {
|
|
|
21966
22016
|
data.rotated ? 2 : 0,
|
|
21967
22017
|
data.anchor,
|
|
21968
22018
|
data.borders
|
|
21969
|
-
), Texture.addToCache(this.textures[i2], i2.toString());
|
|
22019
|
+
), Texture.addToCache(this.textures[i2], this.cachePrefix + i2.toString());
|
|
21970
22020
|
}
|
|
21971
22021
|
frameIndex++;
|
|
21972
22022
|
}
|
|
@@ -22012,12 +22062,15 @@ function getCacheableAssets(keys, asset, ignoreMultiPack) {
|
|
|
22012
22062
|
if (keys.forEach((key) => {
|
|
22013
22063
|
out[key] = asset;
|
|
22014
22064
|
}), Object.keys(asset.textures).forEach((key) => {
|
|
22015
|
-
out[key] = asset.textures[key];
|
|
22065
|
+
out[`${asset.cachePrefix}${key}`] = asset.textures[key];
|
|
22016
22066
|
}), !ignoreMultiPack) {
|
|
22017
22067
|
const basePath = path.dirname(keys[0]);
|
|
22018
22068
|
asset.linkedSheets.forEach((item, i2) => {
|
|
22019
|
-
|
|
22020
|
-
|
|
22069
|
+
Object.assign(out, getCacheableAssets(
|
|
22070
|
+
[`${basePath}/${asset.data.meta.related_multi_packs[i2]}`],
|
|
22071
|
+
item,
|
|
22072
|
+
!0
|
|
22073
|
+
));
|
|
22021
22074
|
});
|
|
22022
22075
|
}
|
|
22023
22076
|
return out;
|
|
@@ -22062,25 +22115,39 @@ const spritesheetAsset = {
|
|
|
22062
22115
|
return path.extname(options.src).toLowerCase() === ".json" && !!asset.frames;
|
|
22063
22116
|
},
|
|
22064
22117
|
async parse(asset, options, loader) {
|
|
22065
|
-
var _a2, _b;
|
|
22118
|
+
var _a2, _b, _c;
|
|
22119
|
+
const {
|
|
22120
|
+
texture: imageTexture,
|
|
22121
|
+
// if user need to use preloaded texture
|
|
22122
|
+
imageFilename,
|
|
22123
|
+
// if user need to use custom filename (not from jsonFile.meta.image)
|
|
22124
|
+
cachePrefix
|
|
22125
|
+
// if user need to use custom cache prefix
|
|
22126
|
+
} = (_a2 = options == null ? void 0 : options.data) != null ? _a2 : {};
|
|
22066
22127
|
let basePath = path.dirname(options.src);
|
|
22067
22128
|
basePath && basePath.lastIndexOf("/") !== basePath.length - 1 && (basePath += "/");
|
|
22068
|
-
let
|
|
22069
|
-
|
|
22070
|
-
|
|
22071
|
-
|
|
22072
|
-
asset,
|
|
22073
|
-
|
|
22074
|
-
|
|
22129
|
+
let texture;
|
|
22130
|
+
if (imageTexture && imageTexture.baseTexture)
|
|
22131
|
+
texture = imageTexture;
|
|
22132
|
+
else {
|
|
22133
|
+
const imagePath = copySearchParams(basePath + (imageFilename != null ? imageFilename : asset.meta.image), options.src);
|
|
22134
|
+
texture = (await loader.load([imagePath]))[imagePath];
|
|
22135
|
+
}
|
|
22136
|
+
const spritesheet = new Spritesheet({
|
|
22137
|
+
texture: texture.baseTexture,
|
|
22138
|
+
data: asset,
|
|
22139
|
+
resolutionFilename: options.src,
|
|
22140
|
+
cachePrefix
|
|
22141
|
+
});
|
|
22075
22142
|
await spritesheet.parse();
|
|
22076
|
-
const multiPacks = (
|
|
22143
|
+
const multiPacks = (_b = asset == null ? void 0 : asset.meta) == null ? void 0 : _b.related_multi_packs;
|
|
22077
22144
|
if (Array.isArray(multiPacks)) {
|
|
22078
22145
|
const promises = [];
|
|
22079
22146
|
for (const item of multiPacks) {
|
|
22080
22147
|
if (typeof item != "string")
|
|
22081
22148
|
continue;
|
|
22082
22149
|
let itemUrl = basePath + item;
|
|
22083
|
-
(
|
|
22150
|
+
(_c = options.data) != null && _c.ignoreMultiPack || (itemUrl = copySearchParams(itemUrl, options.src), promises.push(loader.load({
|
|
22084
22151
|
src: itemUrl,
|
|
22085
22152
|
data: {
|
|
22086
22153
|
ignoreMultiPack: !0
|