@mediapipe/tasks-text 1.0.1 → 1.1.0-rc.20260916
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/LICENSE +218 -0
- package/NOTICE +31049 -0
- package/README.md +0 -0
- package/package.json +1 -1
- package/text.d.ts +112 -0
- package/text_bundle.cjs +1 -1
- package/text_bundle.cjs.map +1 -1
- package/text_bundle.js +1 -1
- package/text_bundle.js.map +1 -0
- package/text_bundle.mjs +1 -1
- package/text_bundle.mjs.map +1 -1
- package/wasm/text_wasm_internal.js +245 -153
- package/wasm/text_wasm_internal.wasm +0 -0
- package/wasm/text_wasm_module_internal.js +245 -153
- package/wasm/text_wasm_module_internal.wasm +0 -0
- package/wasm/text_wasm_nosimd_internal.js +245 -153
- package/wasm/text_wasm_nosimd_internal.wasm +0 -0
|
@@ -192,8 +192,6 @@ var EXITSTATUS;
|
|
|
192
192
|
*/ var isFileURI = filename => filename.startsWith("file://");
|
|
193
193
|
|
|
194
194
|
// include: runtime_common.js
|
|
195
|
-
// include: runtime_stack_check.js
|
|
196
|
-
// end include: runtime_stack_check.js
|
|
197
195
|
// include: runtime_exceptions.js
|
|
198
196
|
// Base Emscripten EH error class
|
|
199
197
|
class EmscriptenEH {}
|
|
@@ -206,8 +204,17 @@ class EmscriptenSjLj extends EmscriptenEH {}
|
|
|
206
204
|
// Memory management
|
|
207
205
|
var runtimeInitialized = false;
|
|
208
206
|
|
|
207
|
+
// When ALLOW_MEMORY_GROWTH is enabled, the conversion from Wasm
|
|
208
|
+
// memory to ArrayBuffer requires some additional logic.
|
|
209
|
+
function getMemoryBuffer() {
|
|
210
|
+
return wasmMemory.buffer;
|
|
211
|
+
}
|
|
212
|
+
|
|
209
213
|
function updateMemoryViews() {
|
|
210
|
-
|
|
214
|
+
// If we already have a heap that is resizeable/growable buffer we don't
|
|
215
|
+
// need to do anything in updateMemoryViews.
|
|
216
|
+
if (HEAP8?.buffer?.resizable) return;
|
|
217
|
+
var b = getMemoryBuffer();
|
|
211
218
|
HEAP8 = new Int8Array(b);
|
|
212
219
|
HEAP16 = new Int16Array(b);
|
|
213
220
|
Module["HEAPU8"] = HEAPU8 = new Uint8Array(b);
|
|
@@ -222,11 +229,10 @@ function updateMemoryViews() {
|
|
|
222
229
|
// end include: memoryprofiler.js
|
|
223
230
|
// end include: runtime_common.js
|
|
224
231
|
function preRun() {
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
}
|
|
232
|
+
var preRun = Module["preRun"];
|
|
233
|
+
if (preRun) {
|
|
234
|
+
if (typeof preRun == "function") preRun = [ preRun ];
|
|
235
|
+
onPreRuns.push(...preRun);
|
|
230
236
|
}
|
|
231
237
|
// Begin ATPRERUNS hooks
|
|
232
238
|
callRuntimeCallbacks(onPreRuns);
|
|
@@ -244,12 +250,10 @@ function initRuntime() {
|
|
|
244
250
|
}
|
|
245
251
|
|
|
246
252
|
function postRun() {
|
|
247
|
-
|
|
248
|
-
if (
|
|
249
|
-
if (typeof
|
|
250
|
-
|
|
251
|
-
addOnPostRun(Module["postRun"].shift());
|
|
252
|
-
}
|
|
253
|
+
var postRun = Module["postRun"];
|
|
254
|
+
if (postRun) {
|
|
255
|
+
if (typeof postRun == "function") postRun = [ postRun ];
|
|
256
|
+
onPostRuns.push(...postRun);
|
|
253
257
|
}
|
|
254
258
|
// Begin ATPOSTRUNS hooks
|
|
255
259
|
callRuntimeCallbacks(onPostRuns);
|
|
@@ -295,9 +299,6 @@ function findWasmBinary() {
|
|
|
295
299
|
}
|
|
296
300
|
|
|
297
301
|
function getBinarySync(file) {
|
|
298
|
-
if (file == wasmBinaryFile && wasmBinary) {
|
|
299
|
-
return new Uint8Array(wasmBinary);
|
|
300
|
-
}
|
|
301
302
|
if (readBinary) {
|
|
302
303
|
return readBinary(file);
|
|
303
304
|
}
|
|
@@ -362,7 +363,7 @@ async function createWasm() {
|
|
|
362
363
|
// Load the wasm module and create an instance of using native support in the JS engine.
|
|
363
364
|
// handle a generated wasm instance, receiving its exports and
|
|
364
365
|
// performing other necessary setup
|
|
365
|
-
|
|
366
|
+
function receiveInstance(instance) {
|
|
366
367
|
wasmExports = instance.exports;
|
|
367
368
|
assignWasmExports(wasmExports);
|
|
368
369
|
updateMemoryViews();
|
|
@@ -383,11 +384,10 @@ async function createWasm() {
|
|
|
383
384
|
// performing.
|
|
384
385
|
// Also pthreads and wasm workers initialize the wasm instance through this
|
|
385
386
|
// path.
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
});
|
|
387
|
+
var instantiateWasm = Module["instantiateWasm"];
|
|
388
|
+
if (instantiateWasm) {
|
|
389
|
+
return new Promise(resolve => {
|
|
390
|
+
instantiateWasm(info, inst => resolve(receiveInstance(inst)));
|
|
391
391
|
});
|
|
392
392
|
}
|
|
393
393
|
wasmBinaryFile ??= findWasmBinary();
|
|
@@ -467,7 +467,7 @@ var callUserCallback = func => {
|
|
|
467
467
|
};
|
|
468
468
|
|
|
469
469
|
function getFullscreenElement() {
|
|
470
|
-
return document.fullscreenElement
|
|
470
|
+
return document.fullscreenElement ?? document.webkitFullscreenElement;
|
|
471
471
|
}
|
|
472
472
|
|
|
473
473
|
/** @param {number=} timeout */ var safeSetTimeout = (func, timeout) => setTimeout(() => {
|
|
@@ -485,12 +485,15 @@ var warnOnce = text => {
|
|
|
485
485
|
|
|
486
486
|
var preloadPlugins = [];
|
|
487
487
|
|
|
488
|
+
/** @type {!Int32Array} */ var HEAP32;
|
|
489
|
+
|
|
490
|
+
/** @type {!Uint32Array} */ var HEAPU32;
|
|
491
|
+
|
|
488
492
|
var Browser = {
|
|
489
493
|
useWebGL: false,
|
|
490
494
|
isFullscreen: false,
|
|
491
495
|
pointerLock: false,
|
|
492
496
|
moduleContextCreatedCallbacks: [],
|
|
493
|
-
workers: [],
|
|
494
497
|
preloadedImages: {},
|
|
495
498
|
preloadedAudios: {},
|
|
496
499
|
getCanvas: () => Module["canvas"],
|
|
@@ -557,7 +560,7 @@ var Browser = {
|
|
|
557
560
|
var url = URL.createObjectURL(b);
|
|
558
561
|
// XXX we never revoke this!
|
|
559
562
|
var audio = new Audio;
|
|
560
|
-
audio.addEventListener("canplaythrough", () => finish(audio)
|
|
563
|
+
audio.addEventListener("canplaythrough", () => finish(audio));
|
|
561
564
|
// use addEventListener due to chromium bug 124926
|
|
562
565
|
audio.onerror = event => {
|
|
563
566
|
if (done) return;
|
|
@@ -605,14 +608,14 @@ var Browser = {
|
|
|
605
608
|
if (canvas) {
|
|
606
609
|
// forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module
|
|
607
610
|
// Module['forcedAspectRatio'] = 4 / 3;
|
|
608
|
-
document.addEventListener("pointerlockchange", pointerLockChange
|
|
611
|
+
document.addEventListener("pointerlockchange", pointerLockChange);
|
|
609
612
|
if (Module["elementPointerLock"]) {
|
|
610
613
|
canvas.addEventListener("click", ev => {
|
|
611
614
|
if (!Browser.pointerLock && Browser.getCanvas().requestPointerLock) {
|
|
612
615
|
Browser.getCanvas().requestPointerLock();
|
|
613
616
|
ev.preventDefault();
|
|
614
617
|
}
|
|
615
|
-
}
|
|
618
|
+
});
|
|
616
619
|
}
|
|
617
620
|
}
|
|
618
621
|
},
|
|
@@ -686,32 +689,30 @@ var Browser = {
|
|
|
686
689
|
Browser.updateCanvasDimensions(canvas);
|
|
687
690
|
}
|
|
688
691
|
}
|
|
689
|
-
Module["onFullScreen"]?.(Browser.isFullscreen);
|
|
690
|
-
Module["onFullscreen"]?.(Browser.isFullscreen);
|
|
691
692
|
}
|
|
692
693
|
if (!Browser.fullscreenHandlersInstalled) {
|
|
693
694
|
Browser.fullscreenHandlersInstalled = true;
|
|
694
|
-
document.addEventListener("fullscreenchange", fullscreenChange
|
|
695
|
-
document.addEventListener("
|
|
696
|
-
document.addEventListener("webkitfullscreenchange", fullscreenChange, false);
|
|
697
|
-
document.addEventListener("MSFullscreenChange", fullscreenChange, false);
|
|
695
|
+
document.addEventListener("fullscreenchange", fullscreenChange);
|
|
696
|
+
document.addEventListener("webkitfullscreenchange", fullscreenChange);
|
|
698
697
|
}
|
|
699
698
|
// create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root
|
|
700
699
|
var canvasContainer = document.createElement("div");
|
|
701
700
|
canvas.parentNode.insertBefore(canvasContainer, canvas);
|
|
702
701
|
canvasContainer.appendChild(canvas);
|
|
703
702
|
// use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size)
|
|
704
|
-
|
|
703
|
+
// Safari didn't support Element.requestFullscreen until 16.4
|
|
704
|
+
// See: https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullscreen
|
|
705
|
+
/** @suppress {checkTypes} */ canvasContainer.requestFullscreen ??= (canvasContainer["webkitRequestFullscreen"] ? () => canvasContainer["webkitRequestFullscreen"](Element.ALLOW_KEYBOARD_INPUT) : null) ?? (canvasContainer["webkitRequestFullScreen"] ? () => canvasContainer["webkitRequestFullScreen"](Element.ALLOW_KEYBOARD_INPUT) : null);
|
|
705
706
|
canvasContainer.requestFullscreen();
|
|
706
707
|
},
|
|
707
708
|
exitFullscreen() {
|
|
708
709
|
// This is workaround for chrome. Trying to exit from fullscreen
|
|
709
|
-
// not in fullscreen state will cause
|
|
710
|
+
// not in fullscreen state will cause 'TypeError: Document not active'
|
|
710
711
|
// in chrome. See https://github.com/emscripten-core/emscripten/pull/8236
|
|
711
712
|
if (!Browser.isFullscreen) {
|
|
712
713
|
return false;
|
|
713
714
|
}
|
|
714
|
-
var CFS = document
|
|
715
|
+
var CFS = document.exitFullscreen ?? document["webkitCancelFullScreen"];
|
|
715
716
|
CFS.apply(document, []);
|
|
716
717
|
return true;
|
|
717
718
|
},
|
|
@@ -733,14 +734,7 @@ var Browser = {
|
|
|
733
734
|
}[name.slice(name.lastIndexOf(".") + 1)];
|
|
734
735
|
},
|
|
735
736
|
getUserMedia(func) {
|
|
736
|
-
|
|
737
|
-
window.getUserMedia(func);
|
|
738
|
-
},
|
|
739
|
-
getMovementX(event) {
|
|
740
|
-
return event["movementX"] || event["mozMovementX"] || event["webkitMovementX"] || 0;
|
|
741
|
-
},
|
|
742
|
-
getMovementY(event) {
|
|
743
|
-
return event["movementY"] || event["mozMovementY"] || event["webkitMovementY"] || 0;
|
|
737
|
+
return navigator.mediaDevices.getUserMedia(func);
|
|
744
738
|
},
|
|
745
739
|
getMouseWheelDelta(event) {
|
|
746
740
|
var delta = 0;
|
|
@@ -818,13 +812,8 @@ var Browser = {
|
|
|
818
812
|
if (Browser.pointerLock) {
|
|
819
813
|
// When the pointer is locked, calculate the coordinates
|
|
820
814
|
// based on the movement of the mouse.
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
Browser.mouseMovementX = Browser.mouseMovementY = 0;
|
|
824
|
-
} else {
|
|
825
|
-
Browser.mouseMovementX = Browser.getMovementX(event);
|
|
826
|
-
Browser.mouseMovementY = Browser.getMovementY(event);
|
|
827
|
-
}
|
|
815
|
+
Browser.mouseMovementX = event.movementX;
|
|
816
|
+
Browser.mouseMovementY = event.movementY;
|
|
828
817
|
// add the mouse delta to the current absolute mouse position
|
|
829
818
|
Browser.mouseX += Browser.mouseMovementX;
|
|
830
819
|
Browser.mouseY += Browser.mouseMovementY;
|
|
@@ -893,13 +882,6 @@ var Browser = {
|
|
|
893
882
|
}
|
|
894
883
|
var w = wNative;
|
|
895
884
|
var h = hNative;
|
|
896
|
-
if (Module["forcedAspectRatio"] > 0) {
|
|
897
|
-
if (w / h < Module["forcedAspectRatio"]) {
|
|
898
|
-
w = Math.round(h * Module["forcedAspectRatio"]);
|
|
899
|
-
} else {
|
|
900
|
-
h = Math.round(w / Module["forcedAspectRatio"]);
|
|
901
|
-
}
|
|
902
|
-
}
|
|
903
885
|
if ((getFullscreenElement() === canvas.parentNode) && (typeof screen != "undefined")) {
|
|
904
886
|
var factor = Math.min(screen.width / w, screen.height / h);
|
|
905
887
|
w = Math.round(w * factor);
|
|
@@ -928,22 +910,8 @@ var Browser = {
|
|
|
928
910
|
}
|
|
929
911
|
};
|
|
930
912
|
|
|
931
|
-
/** @type {!Int16Array} */ var HEAP16;
|
|
932
|
-
|
|
933
|
-
/** @type {!Int32Array} */ var HEAP32;
|
|
934
|
-
|
|
935
913
|
/** @type {!Int8Array} */ var HEAP8;
|
|
936
914
|
|
|
937
|
-
/** @type {!Float32Array} */ var HEAPF32;
|
|
938
|
-
|
|
939
|
-
/** @type {!Float64Array} */ var HEAPF64;
|
|
940
|
-
|
|
941
|
-
/** @type {!Uint16Array} */ var HEAPU16;
|
|
942
|
-
|
|
943
|
-
/** @type {!Uint32Array} */ var HEAPU32;
|
|
944
|
-
|
|
945
|
-
/** @type {!Uint8Array} */ var HEAPU8;
|
|
946
|
-
|
|
947
915
|
var callRuntimeCallbacks = callbacks => {
|
|
948
916
|
while (callbacks.length > 0) {
|
|
949
917
|
// Pass the module as the first argument.
|
|
@@ -953,12 +921,8 @@ var callRuntimeCallbacks = callbacks => {
|
|
|
953
921
|
|
|
954
922
|
var onPostRuns = [];
|
|
955
923
|
|
|
956
|
-
var addOnPostRun = cb => onPostRuns.push(cb);
|
|
957
|
-
|
|
958
924
|
var onPreRuns = [];
|
|
959
925
|
|
|
960
|
-
var addOnPreRun = cb => onPreRuns.push(cb);
|
|
961
|
-
|
|
962
926
|
var noExitRuntime = true;
|
|
963
927
|
|
|
964
928
|
var stackRestore = val => __emscripten_stack_restore(val);
|
|
@@ -1027,7 +991,7 @@ var initRandomFill = () => {
|
|
|
1027
991
|
// This block is not needed on v19+ since crypto.getRandomValues is builtin
|
|
1028
992
|
if (ENVIRONMENT_IS_NODE) {
|
|
1029
993
|
var nodeCrypto = require("node:crypto");
|
|
1030
|
-
return view => nodeCrypto.randomFillSync(view);
|
|
994
|
+
return view => (nodeCrypto.randomFillSync(view), 0);
|
|
1031
995
|
}
|
|
1032
996
|
return view => (crypto.getRandomValues(view), 0);
|
|
1033
997
|
};
|
|
@@ -1089,7 +1053,13 @@ var PATH_FS = {
|
|
|
1089
1053
|
|
|
1090
1054
|
var UTF8Decoder = new TextDecoder;
|
|
1091
1055
|
|
|
1092
|
-
|
|
1056
|
+
/**
|
|
1057
|
+
* heapOrArray is either a regular array, or a JavaScript typed array view.
|
|
1058
|
+
* @param {number} idx
|
|
1059
|
+
* @param {number=} maxBytesToRead
|
|
1060
|
+
* @param {boolean=} ignoreNul
|
|
1061
|
+
* @return {number}
|
|
1062
|
+
*/ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => {
|
|
1093
1063
|
var maxIdx = idx + maxBytesToRead;
|
|
1094
1064
|
if (ignoreNul) return maxIdx;
|
|
1095
1065
|
// TextDecoder needs to know the byte length in advance, it doesn't stop on
|
|
@@ -1352,6 +1322,8 @@ var TTY = {
|
|
|
1352
1322
|
}
|
|
1353
1323
|
};
|
|
1354
1324
|
|
|
1325
|
+
/** @type {!Uint8Array} */ var HEAPU8;
|
|
1326
|
+
|
|
1355
1327
|
var zeroMemory = (ptr, size) => HEAPU8.fill(0, ptr, ptr + size);
|
|
1356
1328
|
|
|
1357
1329
|
var alignMemory = (size, alignment) => Math.ceil(size / alignment) * alignment;
|
|
@@ -1713,23 +1685,26 @@ var FS_createDataFile = (...args) => FS.createDataFile(...args);
|
|
|
1713
1685
|
|
|
1714
1686
|
var getUniqueRunDependency = id => id;
|
|
1715
1687
|
|
|
1688
|
+
var dependenciesPromise = null;
|
|
1689
|
+
|
|
1690
|
+
var resolveRunDependencies = async () => dependenciesPromise;
|
|
1691
|
+
|
|
1716
1692
|
var runDependencies = 0;
|
|
1717
1693
|
|
|
1718
|
-
var
|
|
1694
|
+
var dependenciesPromiseResolve = null;
|
|
1719
1695
|
|
|
1720
1696
|
var removeRunDependency = id => {
|
|
1721
1697
|
runDependencies--;
|
|
1722
1698
|
Module["monitorRunDependencies"]?.(runDependencies);
|
|
1723
|
-
if (runDependencies
|
|
1724
|
-
|
|
1725
|
-
var callback = dependenciesFulfilled;
|
|
1726
|
-
dependenciesFulfilled = null;
|
|
1727
|
-
callback();
|
|
1728
|
-
}
|
|
1699
|
+
if (!runDependencies) {
|
|
1700
|
+
dependenciesPromiseResolve();
|
|
1729
1701
|
}
|
|
1730
1702
|
};
|
|
1731
1703
|
|
|
1732
1704
|
var addRunDependency = id => {
|
|
1705
|
+
if (!runDependencies) {
|
|
1706
|
+
dependenciesPromise = new Promise(resolve => dependenciesPromiseResolve = resolve);
|
|
1707
|
+
}
|
|
1733
1708
|
runDependencies++;
|
|
1734
1709
|
Module["monitorRunDependencies"]?.(runDependencies);
|
|
1735
1710
|
};
|
|
@@ -1863,6 +1838,53 @@ var FS = {
|
|
|
1863
1838
|
get isDevice() {
|
|
1864
1839
|
return FS.isChrdev(this.mode);
|
|
1865
1840
|
}
|
|
1841
|
+
// The per-inode readiness wait-queue. The node carries a Set of listener
|
|
1842
|
+
// entries {cb}; producers (SOCKFS, PIPEFS) call notifyListeners on a
|
|
1843
|
+
// readiness transition, and poll()/epoll consume it. It lives on the node
|
|
1844
|
+
// (not the fd) so dup'd fds share one queue. Only nodes that derive real
|
|
1845
|
+
// readiness (sockets, pipes, and an epoll's own node) ever use this -
|
|
1846
|
+
// always-ready types (regular files, ttys) never register or notify.
|
|
1847
|
+
addListener(cb, exclusive = false) {
|
|
1848
|
+
var entry = {
|
|
1849
|
+
cb,
|
|
1850
|
+
exclusive
|
|
1851
|
+
};
|
|
1852
|
+
var listeners = (this.listeners ??= new Set);
|
|
1853
|
+
listeners.add(entry);
|
|
1854
|
+
return {
|
|
1855
|
+
listeners,
|
|
1856
|
+
entry
|
|
1857
|
+
};
|
|
1858
|
+
}
|
|
1859
|
+
notifyListeners(flags) {
|
|
1860
|
+
// Iterates the set without copying, which is safe ONLY under a
|
|
1861
|
+
// load-bearing contract that every internal listener must honour:
|
|
1862
|
+
// 1. A listener must not run user code synchronously (a poll waiter only
|
|
1863
|
+
// resolves a Promise; an epoll registration only re-lists +
|
|
1864
|
+
// re-notifies; the epoll callback only schedules a tick). User code
|
|
1865
|
+
// runs on a later tick, never inside this loop.
|
|
1866
|
+
// 2. A listener may delete entries only from ITS OWN waiter, never from
|
|
1867
|
+
// a sibling node's set that may be mid-iteration. (Deleting an entry
|
|
1868
|
+
// of the set being iterated here is fine - a Set tolerates removal of
|
|
1869
|
+
// a not-yet-visited entry mid-iteration; mutating a *different* node's
|
|
1870
|
+
// set is fine because that set is not being iterated.)
|
|
1871
|
+
// Violating either gives silently skipped wakeups that are near-impossible
|
|
1872
|
+
// to reproduce. Any new producer/listener must preserve it.
|
|
1873
|
+
if (!this.listeners) return;
|
|
1874
|
+
// Fire every non-exclusive listener. Among EPOLLEXCLUSIVE registrations
|
|
1875
|
+
// (one fd watched by several epolls) wake only one, rotating round-robin
|
|
1876
|
+
// per node, to avoid a thundering herd. (Only epoll registrations are ever
|
|
1877
|
+
// exclusive; poll waiters and a node's own consumers are not.)
|
|
1878
|
+
var excl;
|
|
1879
|
+
for (var entry of this.listeners) {
|
|
1880
|
+
if (entry.exclusive) (excl ||= []).push(entry); else entry.cb(flags);
|
|
1881
|
+
}
|
|
1882
|
+
if (excl) {
|
|
1883
|
+
var i = (this.exclTurn || 0) % excl.length;
|
|
1884
|
+
this.exclTurn = i + 1;
|
|
1885
|
+
excl[i].cb(flags);
|
|
1886
|
+
}
|
|
1887
|
+
}
|
|
1866
1888
|
},
|
|
1867
1889
|
lookupPath(path, opts = {}) {
|
|
1868
1890
|
if (!path) {
|
|
@@ -2408,6 +2430,27 @@ var FS = {
|
|
|
2408
2430
|
}
|
|
2409
2431
|
return parent.node_ops.symlink(parent, newname, oldpath);
|
|
2410
2432
|
},
|
|
2433
|
+
link(oldpath, newpath, flags) {
|
|
2434
|
+
var lookup = FS.lookupPath(newpath, {
|
|
2435
|
+
parent: true
|
|
2436
|
+
});
|
|
2437
|
+
var parent = lookup.node;
|
|
2438
|
+
if (!parent) {
|
|
2439
|
+
throw new FS.ErrnoError(44);
|
|
2440
|
+
}
|
|
2441
|
+
var newname = PATH.basename(newpath);
|
|
2442
|
+
var errCode = FS.mayCreate(parent, newname);
|
|
2443
|
+
if (errCode) {
|
|
2444
|
+
throw new FS.ErrnoError(errCode);
|
|
2445
|
+
}
|
|
2446
|
+
// Hardlinks are only supported by filesystem backends that provide a
|
|
2447
|
+
// `link` node op (e.g. NODERAWFS backed by the host). NODEFS omits it:
|
|
2448
|
+
// a host hardlink cannot be confined to the mount root.
|
|
2449
|
+
if (!parent.node_ops.link) {
|
|
2450
|
+
throw new FS.ErrnoError(34);
|
|
2451
|
+
}
|
|
2452
|
+
return parent.node_ops.link(parent, newname, oldpath, flags);
|
|
2453
|
+
},
|
|
2411
2454
|
rename(old_path, new_path) {
|
|
2412
2455
|
var old_dirname = PATH.dirname(old_path);
|
|
2413
2456
|
var new_dirname = PATH.dirname(new_path);
|
|
@@ -2665,15 +2708,14 @@ var FS = {
|
|
|
2665
2708
|
}
|
|
2666
2709
|
FS.doTruncate(stream, stream.node, len);
|
|
2667
2710
|
},
|
|
2668
|
-
utime(path, atime, mtime) {
|
|
2711
|
+
utime(path, atime, mtime, dontFollow) {
|
|
2669
2712
|
var lookup = FS.lookupPath(path, {
|
|
2670
|
-
follow:
|
|
2713
|
+
follow: !dontFollow
|
|
2671
2714
|
});
|
|
2672
|
-
|
|
2673
|
-
var setattr = FS.checkOpExists(node.node_ops.setattr, 63);
|
|
2674
|
-
setattr(node, {
|
|
2715
|
+
FS.doSetAttr(null, lookup.node, {
|
|
2675
2716
|
atime,
|
|
2676
|
-
mtime
|
|
2717
|
+
mtime,
|
|
2718
|
+
dontFollow
|
|
2677
2719
|
});
|
|
2678
2720
|
},
|
|
2679
2721
|
open(path, flags, mode = 438) {
|
|
@@ -2775,6 +2817,11 @@ var FS = {
|
|
|
2775
2817
|
}
|
|
2776
2818
|
if (stream.getdents) stream.getdents = null;
|
|
2777
2819
|
// free readdir state
|
|
2820
|
+
// The fd is going away: wake anything waiting on it (poll/epoll) with
|
|
2821
|
+
// POLLNVAL so a blocking wait unblocks and an epoll registration is evicted
|
|
2822
|
+
// on its next derive. Only sockets/pipes/epoll ever carry a wait-queue, so
|
|
2823
|
+
// for every other stream (incl. nodeless noderawfs stdio) this is a no-op.
|
|
2824
|
+
stream.node?.notifyListeners(32);
|
|
2778
2825
|
try {
|
|
2779
2826
|
if (stream.stream_ops.close) {
|
|
2780
2827
|
stream.stream_ops.close(stream);
|
|
@@ -3242,7 +3289,7 @@ var FS = {
|
|
|
3242
3289
|
var xhr = new XMLHttpRequest;
|
|
3243
3290
|
xhr.open("HEAD", url, false);
|
|
3244
3291
|
xhr.send(null);
|
|
3245
|
-
if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) abort(
|
|
3292
|
+
if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) abort(`Couldn't load ${url}. Status: ${xhr.status}`);
|
|
3246
3293
|
var datalength = Number(xhr.getResponseHeader("Content-length"));
|
|
3247
3294
|
var header;
|
|
3248
3295
|
var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
|
|
@@ -3257,14 +3304,14 @@ var FS = {
|
|
|
3257
3304
|
// TODO: Use mozResponseArrayBuffer, responseStream, etc. if available.
|
|
3258
3305
|
var xhr = new XMLHttpRequest;
|
|
3259
3306
|
xhr.open("GET", url, false);
|
|
3260
|
-
if (datalength !== chunkSize) xhr.setRequestHeader("Range",
|
|
3307
|
+
if (datalength !== chunkSize) xhr.setRequestHeader("Range", `bytes=${from}-${to}`);
|
|
3261
3308
|
// Some hints to the browser that we want binary data.
|
|
3262
3309
|
xhr.responseType = "arraybuffer";
|
|
3263
3310
|
if (xhr.overrideMimeType) {
|
|
3264
3311
|
xhr.overrideMimeType("text/plain; charset=x-user-defined");
|
|
3265
3312
|
}
|
|
3266
3313
|
xhr.send(null);
|
|
3267
|
-
if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) abort(
|
|
3314
|
+
if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) abort(`Couldn't load ${url}. Status: ${xhr.status}`);
|
|
3268
3315
|
if (xhr.response !== undefined) {
|
|
3269
3316
|
return new Uint8Array(/** @type{Array<number>} */ (xhr.response || []));
|
|
3270
3317
|
}
|
|
@@ -3483,7 +3530,7 @@ var SYSCALLS = {
|
|
|
3483
3530
|
// MAP_PRIVATE calls need not to be synced back to underlying fs
|
|
3484
3531
|
return 0;
|
|
3485
3532
|
}
|
|
3486
|
-
var buffer = HEAPU8.
|
|
3533
|
+
var buffer = HEAPU8.subarray(addr, addr + len);
|
|
3487
3534
|
FS.msync(stream, buffer, offset, len, flags);
|
|
3488
3535
|
},
|
|
3489
3536
|
getStreamFromFD(fd) {
|
|
@@ -3545,6 +3592,8 @@ var syscallGetVarargI = () => {
|
|
|
3545
3592
|
|
|
3546
3593
|
var syscallGetVarargP = syscallGetVarargI;
|
|
3547
3594
|
|
|
3595
|
+
/** @type {!Int16Array} */ var HEAP16;
|
|
3596
|
+
|
|
3548
3597
|
function ___syscall_fcntl64(fd, cmd, varargs) {
|
|
3549
3598
|
SYSCALLS.varargs = varargs;
|
|
3550
3599
|
try {
|
|
@@ -3804,6 +3853,9 @@ var __abort_js = () => abort("");
|
|
|
3804
3853
|
function __gmtime_js(time_low, time_high, tmPtr) {
|
|
3805
3854
|
var time = convertI32PairToI53Checked(time_low, time_high);
|
|
3806
3855
|
var date = new Date(time * 1e3);
|
|
3856
|
+
if (isNaN(date.getTime())) {
|
|
3857
|
+
return 1;
|
|
3858
|
+
}
|
|
3807
3859
|
HEAP32[((tmPtr) >> 2)] = date.getUTCSeconds();
|
|
3808
3860
|
HEAP32[(((tmPtr) + (4)) >> 2)] = date.getUTCMinutes();
|
|
3809
3861
|
HEAP32[(((tmPtr) + (8)) >> 2)] = date.getUTCHours();
|
|
@@ -3814,6 +3866,7 @@ function __gmtime_js(time_low, time_high, tmPtr) {
|
|
|
3814
3866
|
var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);
|
|
3815
3867
|
var yday = ((date.getTime() - start) / (1e3 * 60 * 60 * 24)) | 0;
|
|
3816
3868
|
HEAP32[(((tmPtr) + (28)) >> 2)] = yday;
|
|
3869
|
+
return 0;
|
|
3817
3870
|
}
|
|
3818
3871
|
|
|
3819
3872
|
var isLeapYear = year => year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
|
|
@@ -3833,6 +3886,9 @@ var ydayFromDate = date => {
|
|
|
3833
3886
|
function __localtime_js(time_low, time_high, tmPtr) {
|
|
3834
3887
|
var time = convertI32PairToI53Checked(time_low, time_high);
|
|
3835
3888
|
var date = new Date(time * 1e3);
|
|
3889
|
+
if (isNaN(date.getTime())) {
|
|
3890
|
+
return 1;
|
|
3891
|
+
}
|
|
3836
3892
|
HEAP32[((tmPtr) >> 2)] = date.getSeconds();
|
|
3837
3893
|
HEAP32[(((tmPtr) + (4)) >> 2)] = date.getMinutes();
|
|
3838
3894
|
HEAP32[(((tmPtr) + (8)) >> 2)] = date.getHours();
|
|
@@ -3849,6 +3905,7 @@ function __localtime_js(time_low, time_high, tmPtr) {
|
|
|
3849
3905
|
var winterOffset = start.getTimezoneOffset();
|
|
3850
3906
|
var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;
|
|
3851
3907
|
HEAP32[(((tmPtr) + (32)) >> 2)] = dst;
|
|
3908
|
+
return 0;
|
|
3852
3909
|
}
|
|
3853
3910
|
|
|
3854
3911
|
var setTempRet0 = val => __emscripten_tempret_set(val);
|
|
@@ -3871,13 +3928,17 @@ var __mktime_js = function(tmPtr) {
|
|
|
3871
3928
|
// DST is in December in South
|
|
3872
3929
|
if (dst < 0) {
|
|
3873
3930
|
// Attention: some regions don't have DST at all.
|
|
3874
|
-
|
|
3931
|
+
dst = Number(summerOffset != winterOffset && dstOffset == guessedOffset);
|
|
3875
3932
|
} else if ((dst > 0) != (dstOffset == guessedOffset)) {
|
|
3876
3933
|
var nonDstOffset = Math.max(winterOffset, summerOffset);
|
|
3877
3934
|
var trueOffset = dst > 0 ? dstOffset : nonDstOffset;
|
|
3878
3935
|
// Don't try setMinutes(date.getMinutes() + ...) -- it's messed up.
|
|
3879
3936
|
date.setTime(date.getTime() + (trueOffset - guessedOffset) * 6e4);
|
|
3937
|
+
if (isNaN(date.getTime())) {
|
|
3938
|
+
return -1;
|
|
3939
|
+
}
|
|
3880
3940
|
}
|
|
3941
|
+
HEAP32[(((tmPtr) + (32)) >> 2)] = dst;
|
|
3881
3942
|
HEAP32[(((tmPtr) + (24)) >> 2)] = date.getDay();
|
|
3882
3943
|
var yday = ydayFromDate(date) | 0;
|
|
3883
3944
|
HEAP32[(((tmPtr) + (28)) >> 2)] = yday;
|
|
@@ -3998,6 +4059,8 @@ function _clock_time_get(clk_id, ignored_precision_low, ignored_precision_high,
|
|
|
3998
4059
|
|
|
3999
4060
|
var readEmAsmArgsArray = [];
|
|
4000
4061
|
|
|
4062
|
+
/** @type {!Float64Array} */ var HEAPF64;
|
|
4063
|
+
|
|
4001
4064
|
var readEmAsmArgs = (sigPtr, buf) => {
|
|
4002
4065
|
readEmAsmArgsArray.length = 0;
|
|
4003
4066
|
var ch;
|
|
@@ -4183,7 +4246,7 @@ var _emscripten_stack_unwind_buffer = (addr, buffer, count) => {
|
|
|
4183
4246
|
++offset;
|
|
4184
4247
|
}
|
|
4185
4248
|
for (var i = 0; i < count && stack[i + offset]; ++i) {
|
|
4186
|
-
|
|
4249
|
+
HEAPU32[(((buffer) + (i * 4)) >> 2)] = convertFrameToPC(stack[i + offset]);
|
|
4187
4250
|
}
|
|
4188
4251
|
return i;
|
|
4189
4252
|
};
|
|
@@ -4578,7 +4641,7 @@ var webglPowerPreferences = [ "default", "low-power", "high-performance" ];
|
|
|
4578
4641
|
/** @type {Object} */ var specialHTMLTargets = [ 0, globalThis.document ?? 0, globalThis.window ?? 0 ];
|
|
4579
4642
|
|
|
4580
4643
|
var findEventTarget = target => {
|
|
4581
|
-
// The sensible
|
|
4644
|
+
// The sensible 'default' target varies between events, but use window as the default
|
|
4582
4645
|
// since DOM events mostly can default to that. Specific callback registrations
|
|
4583
4646
|
// override their own defaults.
|
|
4584
4647
|
if (!target) return window;
|
|
@@ -4610,6 +4673,7 @@ var _emscripten_webgl_do_create_context = (target, attributes) => {
|
|
|
4610
4673
|
"preserveDrawingBuffer": !!HEAP8[attributes + 5],
|
|
4611
4674
|
"powerPreference": webglPowerPreferences[powerPreference],
|
|
4612
4675
|
"failIfMajorPerformanceCaveat": !!HEAP8[attributes + 12],
|
|
4676
|
+
"desynchronized": !!HEAP8[attributes + 33],
|
|
4613
4677
|
// The following are not predefined WebGL context attributes in the WebGL specification, so the property names can be minified by Closure.
|
|
4614
4678
|
majorVersion: HEAP32[attr32 + (16 >> 2)],
|
|
4615
4679
|
minorVersion: HEAP32[attr32 + (20 >> 2)],
|
|
@@ -4651,6 +4715,7 @@ var _emscripten_webgl_get_context_attributes = (c, a) => {
|
|
|
4651
4715
|
var power = t["powerPreference"] && webglPowerPreferences.indexOf(t["powerPreference"]);
|
|
4652
4716
|
HEAP32[(((a) + (8)) >> 2)] = power;
|
|
4653
4717
|
HEAP8[(a) + (12)] = t.failIfMajorPerformanceCaveat;
|
|
4718
|
+
HEAP8[(a) + (33)] = t.desynchronized;
|
|
4654
4719
|
HEAP32[(((a) + (16)) >> 2)] = c.version;
|
|
4655
4720
|
HEAP32[(((a) + (20)) >> 2)] = 0;
|
|
4656
4721
|
HEAP8[(a) + (24)] = c.attributes.enableExtensionsByDefault;
|
|
@@ -4693,6 +4758,8 @@ var getWasmTableEntry = funcPtr => {
|
|
|
4693
4758
|
return func;
|
|
4694
4759
|
};
|
|
4695
4760
|
|
|
4761
|
+
/** @type {!Float32Array} */ var HEAPF32;
|
|
4762
|
+
|
|
4696
4763
|
var WebGPU = {
|
|
4697
4764
|
Internals: {
|
|
4698
4765
|
jsObjects: [],
|
|
@@ -5155,6 +5222,28 @@ var WebGPU = {
|
|
|
5155
5222
|
HEAP32[(((infoStruct) + (40)) >> 2)] = adapterType;
|
|
5156
5223
|
HEAPU32[(((infoStruct) + (44)) >> 2)] = 0;
|
|
5157
5224
|
HEAPU32[(((infoStruct) + (48)) >> 2)] = 0;
|
|
5225
|
+
WebGPU.iterateExtensions(infoStruct, {
|
|
5226
|
+
327739: ext => {
|
|
5227
|
+
let configCount = 0;
|
|
5228
|
+
let configsPtr = 0;
|
|
5229
|
+
if (info.subgroupMatrixConfigs) {
|
|
5230
|
+
configCount = info.subgroupMatrixConfigs.length;
|
|
5231
|
+
configsPtr = _malloc(configCount * 20);
|
|
5232
|
+
for (const [i, cfg] of info.subgroupMatrixConfigs.entries()) {
|
|
5233
|
+
const ptr = configsPtr + i * 20;
|
|
5234
|
+
const componentType = WebGPU.SubgroupMatrixComponentType.indexOf(cfg.componentType);
|
|
5235
|
+
const resultComponentType = WebGPU.SubgroupMatrixComponentType.indexOf(cfg.resultComponentType);
|
|
5236
|
+
HEAP32[((ptr) >> 2)] = componentType;
|
|
5237
|
+
HEAP32[(((ptr) + (4)) >> 2)] = resultComponentType;
|
|
5238
|
+
HEAPU32[(((ptr) + (8)) >> 2)] = cfg.M;
|
|
5239
|
+
HEAPU32[(((ptr) + (12)) >> 2)] = cfg.N;
|
|
5240
|
+
HEAPU32[(((ptr) + (16)) >> 2)] = cfg.K;
|
|
5241
|
+
}
|
|
5242
|
+
}
|
|
5243
|
+
HEAPU32[(((ext) + (12)) >> 2)] = configsPtr;
|
|
5244
|
+
HEAPU32[(((ext) + (8)) >> 2)] = configCount;
|
|
5245
|
+
}
|
|
5246
|
+
});
|
|
5158
5247
|
},
|
|
5159
5248
|
AddressMode: [ , "clamp-to-edge", "repeat", "mirror-repeat" ],
|
|
5160
5249
|
BlendFactor: [ , "zero", "one", "src", "one-minus-src", "src-alpha", "one-minus-src-alpha", "dst", "one-minus-dst", "dst-alpha", "one-minus-dst-alpha", "src-alpha-saturated", "constant", "one-minus-constant", "src1", "one-minus-src1", "src1-alpha", "one-minus-src1-alpha" ],
|
|
@@ -5193,7 +5282,8 @@ var WebGPU = {
|
|
|
5193
5282
|
22: "texture-component-swizzle",
|
|
5194
5283
|
23: "subgroup-size-control",
|
|
5195
5284
|
327692: "chromium-experimental-unorm16-texture-formats",
|
|
5196
|
-
327729: "chromium-experimental-multi-draw-indirect"
|
|
5285
|
+
327729: "chromium-experimental-multi-draw-indirect",
|
|
5286
|
+
327732: "chromium-experimental-subgroup-matrix"
|
|
5197
5287
|
},
|
|
5198
5288
|
FilterMode: [ , "nearest", "linear" ],
|
|
5199
5289
|
FrontFace: [ , "ccw", "cw" ],
|
|
@@ -5211,6 +5301,7 @@ var WebGPU = {
|
|
|
5211
5301
|
StencilOperation: [ , "keep", "zero", "replace", "invert", "increment-clamp", "decrement-clamp", "increment-wrap", "decrement-wrap" ],
|
|
5212
5302
|
StorageTextureAccess: [ , , "write-only", "read-only", "read-write" ],
|
|
5213
5303
|
StoreOp: [ , "store", "discard" ],
|
|
5304
|
+
SubgroupMatrixComponentType: [ , "f32", "f16", "u32", "i32", "u8", "i8" ],
|
|
5214
5305
|
SurfaceGetCurrentTextureStatus: [ , "success-optimal", "success-suboptimal", "timeout", "outdated", "lost", "error" ],
|
|
5215
5306
|
TextureAspect: [ , "all", "stencil-only", "depth-only" ],
|
|
5216
5307
|
TextureDimension: [ , "1d", "2d", "3d" ],
|
|
@@ -5220,7 +5311,7 @@ var WebGPU = {
|
|
|
5220
5311
|
ToneMappingMode: [ , "standard", "extended" ],
|
|
5221
5312
|
VertexFormat: [ , "uint8", "uint8x2", "uint8x4", "sint8", "sint8x2", "sint8x4", "unorm8", "unorm8x2", "unorm8x4", "snorm8", "snorm8x2", "snorm8x4", "uint16", "uint16x2", "uint16x4", "sint16", "sint16x2", "sint16x4", "unorm16", "unorm16x2", "unorm16x4", "snorm16", "snorm16x2", "snorm16x4", "float16", "float16x2", "float16x4", "float32", "float32x2", "float32x3", "float32x4", "uint32", "uint32x2", "uint32x3", "uint32x4", "sint32", "sint32x2", "sint32x3", "sint32x4", "unorm10-10-10-2", "unorm8x4-bgra", "snorm10-10-10-2" ],
|
|
5222
5313
|
VertexStepMode: [ , "vertex", "instance" ],
|
|
5223
|
-
WGSLLanguageFeatureName: [ , "readonly_and_readwrite_storage_textures", "packed_4x8_integer_dot_product", "unrestricted_pointer_parameters", "pointer_composite_access", "uniform_buffer_standard_layout", "subgroup_id", "texture_and_sampler_let", "subgroup_uniformity", "texture_formats_tier1", "linear_indexing", "immediate_address_space", "buffer_view" ]
|
|
5314
|
+
WGSLLanguageFeatureName: [ , "readonly_and_readwrite_storage_textures", "packed_4x8_integer_dot_product", "unrestricted_pointer_parameters", "pointer_composite_access", "uniform_buffer_standard_layout", "subgroup_id", "texture_and_sampler_let", "subgroup_uniformity", "texture_formats_tier1", "linear_indexing", "immediate_address_space", "buffer_view", "swizzle_assignment", "fragment_depth" ]
|
|
5224
5315
|
};
|
|
5225
5316
|
|
|
5226
5317
|
var _emwgpuBufferDestroy = bufferPtr => {
|
|
@@ -5342,7 +5433,17 @@ function _fd_close(fd) {
|
|
|
5342
5433
|
var ptr = HEAPU32[((iov) >> 2)];
|
|
5343
5434
|
var len = HEAPU32[(((iov) + (4)) >> 2)];
|
|
5344
5435
|
iov += 8;
|
|
5345
|
-
|
|
5436
|
+
try {
|
|
5437
|
+
var curr = FS.read(stream, HEAP8, ptr, len, offset);
|
|
5438
|
+
} catch (e) {
|
|
5439
|
+
// On a non-blocking stream a subsequent read may would-block after we
|
|
5440
|
+
// already gathered data. POSIX readv is a single gather-read: return
|
|
5441
|
+
// what we have rather than failing the whole call.
|
|
5442
|
+
if (ret > 0 && e instanceof FS.ErrnoError && (e.errno == 6 || e.errno == 6)) {
|
|
5443
|
+
break;
|
|
5444
|
+
}
|
|
5445
|
+
throw e;
|
|
5446
|
+
}
|
|
5346
5447
|
if (curr < 0) return -1;
|
|
5347
5448
|
ret += curr;
|
|
5348
5449
|
if (curr < len) break;
|
|
@@ -5384,23 +5485,27 @@ function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {
|
|
|
5384
5485
|
}
|
|
5385
5486
|
|
|
5386
5487
|
/** @param {number=} offset */ var doWritev = (stream, iov, iovcnt, offset) => {
|
|
5387
|
-
|
|
5388
|
-
|
|
5488
|
+
// Gather all iovecs into one contiguous buffer and issue a single
|
|
5489
|
+
// FS.write, matching POSIX writev's single gather-write semantics (as
|
|
5490
|
+
// __syscall_sendmsg already does). Per-iovec writes fragment a stream
|
|
5491
|
+
// socket send into multiple segments, breaking stream byte semantics.
|
|
5492
|
+
if (iovcnt == 1) {
|
|
5493
|
+
// Single iovec: write directly from HEAP8, no gather buffer needed.
|
|
5494
|
+
return FS.write(stream, HEAP8, HEAPU32[((iov) >> 2)], HEAPU32[(((iov) + (4)) >> 2)], offset);
|
|
5495
|
+
}
|
|
5496
|
+
var total = 0;
|
|
5497
|
+
for (var i = 0, p = iov; i < iovcnt; i++, p += 8) {
|
|
5498
|
+
total += HEAPU32[(((p) + (4)) >> 2)];
|
|
5499
|
+
}
|
|
5500
|
+
var view = new Uint8Array(total);
|
|
5501
|
+
var voff = 0;
|
|
5502
|
+
for (var i = 0; i < iovcnt; i++, iov += 8) {
|
|
5389
5503
|
var ptr = HEAPU32[((iov) >> 2)];
|
|
5390
5504
|
var len = HEAPU32[(((iov) + (4)) >> 2)];
|
|
5391
|
-
|
|
5392
|
-
|
|
5393
|
-
if (curr < 0) return -1;
|
|
5394
|
-
ret += curr;
|
|
5395
|
-
if (curr < len) {
|
|
5396
|
-
// No more space to write.
|
|
5397
|
-
break;
|
|
5398
|
-
}
|
|
5399
|
-
if (typeof offset != "undefined") {
|
|
5400
|
-
offset += curr;
|
|
5401
|
-
}
|
|
5505
|
+
view.set(HEAPU8.subarray(ptr, ptr + len), voff);
|
|
5506
|
+
voff += len;
|
|
5402
5507
|
}
|
|
5403
|
-
return
|
|
5508
|
+
return FS.write(stream, view, 0, total, offset);
|
|
5404
5509
|
};
|
|
5405
5510
|
|
|
5406
5511
|
function _fd_write(fd, iov, iovcnt, pnum) {
|
|
@@ -6093,6 +6198,8 @@ var colorChannelsInGlTextureFormat = format => {
|
|
|
6093
6198
|
return colorChannels[format - 6402] || 1;
|
|
6094
6199
|
};
|
|
6095
6200
|
|
|
6201
|
+
/** @type {!Uint16Array} */ var HEAPU16;
|
|
6202
|
+
|
|
6096
6203
|
var heapObjectForWebGLType = type => {
|
|
6097
6204
|
// Micro-optimization for size: Subtract lowest GL enum number (0x1400/* GL_BYTE */) from type to compare
|
|
6098
6205
|
// smaller values for the heap, for shorter generated code size.
|
|
@@ -6362,18 +6469,19 @@ registerPreMainLoop(() => GL.newRenderingFrameStarted());
|
|
|
6362
6469
|
// but before the wasm module is created.
|
|
6363
6470
|
{
|
|
6364
6471
|
// Begin ATMODULES hooks
|
|
6365
|
-
if (Module["preloadPlugins"]) preloadPlugins = Module["preloadPlugins"];
|
|
6366
6472
|
if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"];
|
|
6367
6473
|
if (Module["print"]) out = Module["print"];
|
|
6368
6474
|
if (Module["printErr"]) err = Module["printErr"];
|
|
6369
|
-
if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"];
|
|
6370
6475
|
// End ATMODULES hooks
|
|
6371
6476
|
if (Module["arguments"]) programArgs = Module["arguments"];
|
|
6372
6477
|
if (Module["thisProgram"]) thisProgram = Module["thisProgram"];
|
|
6373
|
-
|
|
6374
|
-
|
|
6375
|
-
|
|
6376
|
-
|
|
6478
|
+
var preInit = Module["preInit"];
|
|
6479
|
+
if (preInit) {
|
|
6480
|
+
if (typeof preInit == "function") Module["preInit"] = preInit = [ preInit ];
|
|
6481
|
+
// Written as a loop so that preInit functions that themselves add more
|
|
6482
|
+
// preInit functions. Is this actually needed?
|
|
6483
|
+
while (preInit.length > 0) {
|
|
6484
|
+
preInit.shift()();
|
|
6377
6485
|
}
|
|
6378
6486
|
}
|
|
6379
6487
|
}
|
|
@@ -6404,7 +6512,7 @@ Module["FS_createLazyFile"] = FS_createLazyFile;
|
|
|
6404
6512
|
// End JS library exports
|
|
6405
6513
|
// end include: postlibrary.js
|
|
6406
6514
|
var ASM_CONSTS = {
|
|
6407
|
-
|
|
6515
|
+
754792: () => {
|
|
6408
6516
|
specialHTMLTargets["#canvas"] = Module.canvas;
|
|
6409
6517
|
}
|
|
6410
6518
|
};
|
|
@@ -6554,7 +6662,7 @@ function JsWrapErrorListenerInternal(code, message) {
|
|
|
6554
6662
|
}
|
|
6555
6663
|
|
|
6556
6664
|
// Imports from the Wasm binary.
|
|
6557
|
-
var _free, _malloc, _mediapipeLoggerGetEncodedApiKey, _registerModelResourcesGraphService, _bindTextureToStream, _addBoundTextureToStream, _addDoubleToInputStream, _addFloatToInputStream, _addBoolToInputStream, _addIntToInputStream, _addUintToInputStream, _addStringToInputStream, _addRawDataSpanToInputStream, _allocateBoolVector, _allocateFloatVector, _allocateDoubleVector, _allocateIntVector, _allocateUintVector, _allocateStringVector, _addBoolVectorEntry, _addFloatVectorEntry, _addDoubleVectorEntry, _addIntVectorEntry, _addUintVectorEntry, _addStringVectorEntry, _addBoolVectorToInputStream, _addFloatVectorToInputStream, _addDoubleVectorToInputStream, _addIntVectorToInputStream, _addUintVectorToInputStream, _addStringVectorToInputStream, _addFlatHashMapToInputStream, _addProtoToInputStream, _addEmptyPacketToInputStream, _addBoolToInputSidePacket, _addDoubleToInputSidePacket, _addFloatToInputSidePacket, _addIntToInputSidePacket, _addUintToInputSidePacket, _addStringToInputSidePacket, _addRawDataSpanToInputSidePacket, _addProtoToInputSidePacket, _addBoolVectorToInputSidePacket, _addDoubleVectorToInputSidePacket, _addFloatVectorToInputSidePacket, _addIntVectorToInputSidePacket, _addUintVectorToInputSidePacket, _addStringVectorToInputSidePacket, _attachBoolListener, _attachBoolVectorListener, _attachDoubleListener, _attachDoubleVectorListener, _attachFloatListener, _attachFloatVectorListener, _attachIntListener, _attachIntVectorListener, _attachUintListener, _attachUintVectorListener, _attachStringListener, _attachStringVectorListener, _attachProtoListener, _attachProtoVectorListener, _getGraphConfig, _emwgpuCreateBindGroup, _emwgpuCreateBindGroupLayout, _emwgpuCreateCommandBuffer, _emwgpuCreateCommandEncoder, _emwgpuCreateComputePassEncoder, _emwgpuCreateComputePipeline, _emwgpuCreateExternalTexture, _emwgpuCreatePipelineLayout, _emwgpuCreateQuerySet, _emwgpuCreateRenderBundle, _emwgpuCreateRenderBundleEncoder, _emwgpuCreateRenderPassEncoder, _emwgpuCreateRenderPipeline, _emwgpuCreateSampler, _emwgpuCreateSurface, _emwgpuCreateTexture, _emwgpuCreateTextureView, _emwgpuCreateAdapter, _emwgpuImportBuffer, _emwgpuCreateDevice, _emwgpuCreateQueue, _emwgpuCreateShaderModule, _clearSubgraphs, _pushBinarySubgraph, _pushTextSubgraph, _changeBinaryGraph, _changeTextGraph, _processGl, _process, _bindTextureToCanvas, _requestShaderRefreshOnGraphChange, _waitUntilIdle, _closeGraph, _setAutoRenderToScreen, _emscripten_builtin_memalign, __emscripten_tempret_set, __emscripten_stack_restore, __emscripten_stack_alloc, _emscripten_stack_get_current, dynCall_jii, dynCall_ji, dynCall_iiiijij, dynCall_viji, dynCall_viijii,
|
|
6665
|
+
var _free, _malloc, _mediapipeLoggerGetEncodedApiKey, _registerModelResourcesGraphService, _bindTextureToStream, _addBoundTextureToStream, _addDoubleToInputStream, _addFloatToInputStream, _addBoolToInputStream, _addIntToInputStream, _addUintToInputStream, _addStringToInputStream, _addRawDataSpanToInputStream, _allocateBoolVector, _allocateFloatVector, _allocateDoubleVector, _allocateIntVector, _allocateUintVector, _allocateStringVector, _addBoolVectorEntry, _addFloatVectorEntry, _addDoubleVectorEntry, _addIntVectorEntry, _addUintVectorEntry, _addStringVectorEntry, _addBoolVectorToInputStream, _addFloatVectorToInputStream, _addDoubleVectorToInputStream, _addIntVectorToInputStream, _addUintVectorToInputStream, _addStringVectorToInputStream, _addFlatHashMapToInputStream, _addProtoToInputStream, _addEmptyPacketToInputStream, _addBoolToInputSidePacket, _addDoubleToInputSidePacket, _addFloatToInputSidePacket, _addIntToInputSidePacket, _addUintToInputSidePacket, _addStringToInputSidePacket, _addRawDataSpanToInputSidePacket, _addProtoToInputSidePacket, _addBoolVectorToInputSidePacket, _addDoubleVectorToInputSidePacket, _addFloatVectorToInputSidePacket, _addIntVectorToInputSidePacket, _addUintVectorToInputSidePacket, _addStringVectorToInputSidePacket, _attachBoolListener, _attachBoolVectorListener, _attachDoubleListener, _attachDoubleVectorListener, _attachFloatListener, _attachFloatVectorListener, _attachIntListener, _attachIntVectorListener, _attachUintListener, _attachUintVectorListener, _attachStringListener, _attachStringVectorListener, _attachProtoListener, _attachProtoVectorListener, _getGraphConfig, _emwgpuCreateBindGroup, _emwgpuCreateBindGroupLayout, _emwgpuCreateCommandBuffer, _emwgpuCreateCommandEncoder, _emwgpuCreateComputePassEncoder, _emwgpuCreateComputePipeline, _emwgpuCreateExternalTexture, _emwgpuCreatePipelineLayout, _emwgpuCreateQuerySet, _emwgpuCreateRenderBundle, _emwgpuCreateRenderBundleEncoder, _emwgpuCreateRenderPassEncoder, _emwgpuCreateRenderPipeline, _emwgpuCreateSampler, _emwgpuCreateSurface, _emwgpuCreateTexture, _emwgpuCreateTextureView, _emwgpuCreateAdapter, _emwgpuImportBuffer, _emwgpuCreateDevice, _emwgpuCreateQueue, _emwgpuCreateShaderModule, _clearSubgraphs, _pushBinarySubgraph, _pushTextSubgraph, _changeBinaryGraph, _changeTextGraph, _processGl, _process, _bindTextureToCanvas, _requestShaderRefreshOnGraphChange, _waitUntilIdle, _closeGraph, _setAutoRenderToScreen, _emscripten_builtin_memalign, __emscripten_tempret_set, __emscripten_stack_restore, __emscripten_stack_alloc, _emscripten_stack_get_current, dynCall_jii, dynCall_ji, dynCall_iiiijij, dynCall_viji, dynCall_viijii, dynCall_jjj, dynCall_iiiijj, dynCall_viijj, dynCall_viiijjj, dynCall_iiiji, dynCall_vij, dynCall_vijjj, dynCall_vj, dynCall_viij, dynCall_jiji, dynCall_iiiiij, dynCall_iiiiijj, dynCall_iiiiiijj, memory, _kVersionStampBuildChangelistStr, _kVersionStampCitcSnapshotStr, _kVersionStampCitcWorkspaceIdStr, _kVersionStampSourceUriStr, _kVersionStampBuildClientStr, _kVersionStampBuildClientMintStatusStr, _kVersionStampBuildCompilerStr, _kVersionStampBuildDateTimePstStr, _kVersionStampBuildDepotPathStr, _kVersionStampBuildIdStr, _kVersionStampBuildInfoStr, _kVersionStampBuildLabelStr, _kVersionStampBuildTargetStr, _kVersionStampBuildTimestampStr, _kVersionStampBuildToolStr, _kVersionStampG3BuildTargetStr, _kVersionStampVerifiableStr, _kVersionStampBuildFdoTypeStr, _kVersionStampBuildBaselineChangelistStr, _kVersionStampBuildLtoTypeStr, _kVersionStampBuildPropellerTypeStr, _kVersionStampBuildPghoTypeStr, _kVersionStampBuildFdoProfileChangelistStr, _kVersionStampBuildMemprofProfileChangelistStr, _kVersionStampBuildUsernameStr, _kVersionStampBuildHostnameStr, _kVersionStampBuildDirectoryStr, _kVersionStampBuildChangelistInt, _kVersionStampCitcSnapshotInt, _kVersionStampBuildClientMintStatusInt, _kVersionStampBuildTimestampInt, _kVersionStampVerifiableInt, _kVersionStampBuildCoverageEnabledInt, _kVersionStampBuildBaselineChangelistInt, _kVersionStampPrecookedTimestampStr, _kVersionStampPrecookedClientInfoStr, __indirect_function_table, _kVersionStampBuildHasHardeningProtobuf, wasmMemory, wasmTable;
|
|
6558
6666
|
|
|
6559
6667
|
function assignWasmExports(wasmExports) {
|
|
6560
6668
|
_free = Module["_free"] = wasmExports["Vb"];
|
|
@@ -6664,7 +6772,6 @@ function assignWasmExports(wasmExports) {
|
|
|
6664
6772
|
dynCall_iiiijij = wasmExports["dynCall_iiiijij"];
|
|
6665
6773
|
dynCall_viji = wasmExports["dynCall_viji"];
|
|
6666
6774
|
dynCall_viijii = wasmExports["dynCall_viijii"];
|
|
6667
|
-
dynCall_ijj = wasmExports["dynCall_ijj"];
|
|
6668
6775
|
dynCall_jjj = wasmExports["dynCall_jjj"];
|
|
6669
6776
|
dynCall_iiiijj = wasmExports["dynCall_iiiijj"];
|
|
6670
6777
|
dynCall_viijj = wasmExports["dynCall_viijj"];
|
|
@@ -6841,37 +6948,22 @@ var wasmImports = {
|
|
|
6841
6948
|
// include: postamble.js
|
|
6842
6949
|
// === Auto-generated postamble setup entry stuff ===
|
|
6843
6950
|
async function run() {
|
|
6844
|
-
if (runDependencies > 0) {
|
|
6845
|
-
await new Promise(resolve => dependenciesFulfilled = resolve);
|
|
6846
|
-
}
|
|
6847
6951
|
preRun();
|
|
6848
|
-
|
|
6849
|
-
|
|
6850
|
-
await new Promise(resolve => dependenciesFulfilled = resolve);
|
|
6952
|
+
if (runDependencies) {
|
|
6953
|
+
await resolveRunDependencies();
|
|
6851
6954
|
}
|
|
6852
|
-
|
|
6853
|
-
|
|
6854
|
-
|
|
6855
|
-
|
|
6856
|
-
|
|
6857
|
-
|
|
6858
|
-
|
|
6859
|
-
postRun();
|
|
6860
|
-
}
|
|
6861
|
-
if (Module["setStatus"]) {
|
|
6862
|
-
Module["setStatus"]("Running...");
|
|
6863
|
-
// Yield the main thread to allow the browser to paint "Running...", then clear
|
|
6864
|
-
// the status text after the synchronous doRun() completes.
|
|
6865
|
-
await new Promise(resolve => {
|
|
6866
|
-
setTimeout(() => {
|
|
6867
|
-
setTimeout(() => Module["setStatus"](""), 1);
|
|
6868
|
-
doRun();
|
|
6869
|
-
resolve();
|
|
6870
|
-
}, 1);
|
|
6871
|
-
});
|
|
6872
|
-
} else {
|
|
6873
|
-
doRun();
|
|
6955
|
+
var setStatus = Module["setStatus"];
|
|
6956
|
+
if (setStatus) {
|
|
6957
|
+
setStatus("Running...");
|
|
6958
|
+
// Yield to the event loop to allow the browser to paint "Running..."
|
|
6959
|
+
await new Promise(resolve => setTimeout(resolve, 1));
|
|
6960
|
+
// Then we want to clear the status text, but only after the rest of this function runs.
|
|
6961
|
+
setTimeout(setStatus, 1, "");
|
|
6874
6962
|
}
|
|
6963
|
+
if (ABORT) return;
|
|
6964
|
+
initRuntime();
|
|
6965
|
+
Module["onRuntimeInitialized"]?.();
|
|
6966
|
+
postRun();
|
|
6875
6967
|
}
|
|
6876
6968
|
|
|
6877
6969
|
var wasmExports;
|