@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
|
@@ -193,8 +193,6 @@ var EXITSTATUS;
|
|
|
193
193
|
*/ var isFileURI = filename => filename.startsWith("file://");
|
|
194
194
|
|
|
195
195
|
// include: runtime_common.js
|
|
196
|
-
// include: runtime_stack_check.js
|
|
197
|
-
// end include: runtime_stack_check.js
|
|
198
196
|
// include: runtime_exceptions.js
|
|
199
197
|
// Base Emscripten EH error class
|
|
200
198
|
class EmscriptenEH {}
|
|
@@ -207,8 +205,17 @@ class EmscriptenSjLj extends EmscriptenEH {}
|
|
|
207
205
|
// Memory management
|
|
208
206
|
var runtimeInitialized = false;
|
|
209
207
|
|
|
208
|
+
// When ALLOW_MEMORY_GROWTH is enabled, the conversion from Wasm
|
|
209
|
+
// memory to ArrayBuffer requires some additional logic.
|
|
210
|
+
function getMemoryBuffer() {
|
|
211
|
+
return wasmMemory.buffer;
|
|
212
|
+
}
|
|
213
|
+
|
|
210
214
|
function updateMemoryViews() {
|
|
211
|
-
|
|
215
|
+
// If we already have a heap that is resizeable/growable buffer we don't
|
|
216
|
+
// need to do anything in updateMemoryViews.
|
|
217
|
+
if (HEAP8?.buffer?.resizable) return;
|
|
218
|
+
var b = getMemoryBuffer();
|
|
212
219
|
HEAP8 = new Int8Array(b);
|
|
213
220
|
HEAP16 = new Int16Array(b);
|
|
214
221
|
Module["HEAPU8"] = HEAPU8 = new Uint8Array(b);
|
|
@@ -223,11 +230,10 @@ function updateMemoryViews() {
|
|
|
223
230
|
// end include: memoryprofiler.js
|
|
224
231
|
// end include: runtime_common.js
|
|
225
232
|
function preRun() {
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
}
|
|
233
|
+
var preRun = Module["preRun"];
|
|
234
|
+
if (preRun) {
|
|
235
|
+
if (typeof preRun == "function") preRun = [ preRun ];
|
|
236
|
+
onPreRuns.push(...preRun);
|
|
231
237
|
}
|
|
232
238
|
// Begin ATPRERUNS hooks
|
|
233
239
|
callRuntimeCallbacks(onPreRuns);
|
|
@@ -245,12 +251,10 @@ function initRuntime() {
|
|
|
245
251
|
}
|
|
246
252
|
|
|
247
253
|
function postRun() {
|
|
248
|
-
|
|
249
|
-
if (
|
|
250
|
-
if (typeof
|
|
251
|
-
|
|
252
|
-
addOnPostRun(Module["postRun"].shift());
|
|
253
|
-
}
|
|
254
|
+
var postRun = Module["postRun"];
|
|
255
|
+
if (postRun) {
|
|
256
|
+
if (typeof postRun == "function") postRun = [ postRun ];
|
|
257
|
+
onPostRuns.push(...postRun);
|
|
254
258
|
}
|
|
255
259
|
// Begin ATPOSTRUNS hooks
|
|
256
260
|
callRuntimeCallbacks(onPostRuns);
|
|
@@ -292,9 +296,6 @@ function findWasmBinary() {
|
|
|
292
296
|
}
|
|
293
297
|
|
|
294
298
|
function getBinarySync(file) {
|
|
295
|
-
if (file == wasmBinaryFile && wasmBinary) {
|
|
296
|
-
return new Uint8Array(wasmBinary);
|
|
297
|
-
}
|
|
298
299
|
if (readBinary) {
|
|
299
300
|
return readBinary(file);
|
|
300
301
|
}
|
|
@@ -359,7 +360,7 @@ async function createWasm() {
|
|
|
359
360
|
// Load the wasm module and create an instance of using native support in the JS engine.
|
|
360
361
|
// handle a generated wasm instance, receiving its exports and
|
|
361
362
|
// performing other necessary setup
|
|
362
|
-
|
|
363
|
+
function receiveInstance(instance) {
|
|
363
364
|
wasmExports = instance.exports;
|
|
364
365
|
assignWasmExports(wasmExports);
|
|
365
366
|
updateMemoryViews();
|
|
@@ -380,11 +381,10 @@ async function createWasm() {
|
|
|
380
381
|
// performing.
|
|
381
382
|
// Also pthreads and wasm workers initialize the wasm instance through this
|
|
382
383
|
// path.
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
});
|
|
384
|
+
var instantiateWasm = Module["instantiateWasm"];
|
|
385
|
+
if (instantiateWasm) {
|
|
386
|
+
return new Promise(resolve => {
|
|
387
|
+
instantiateWasm(info, inst => resolve(receiveInstance(inst)));
|
|
388
388
|
});
|
|
389
389
|
}
|
|
390
390
|
wasmBinaryFile ??= findWasmBinary();
|
|
@@ -464,7 +464,7 @@ var callUserCallback = func => {
|
|
|
464
464
|
};
|
|
465
465
|
|
|
466
466
|
function getFullscreenElement() {
|
|
467
|
-
return document.fullscreenElement
|
|
467
|
+
return document.fullscreenElement ?? document.webkitFullscreenElement;
|
|
468
468
|
}
|
|
469
469
|
|
|
470
470
|
/** @param {number=} timeout */ var safeSetTimeout = (func, timeout) => setTimeout(() => {
|
|
@@ -482,12 +482,15 @@ var warnOnce = text => {
|
|
|
482
482
|
|
|
483
483
|
var preloadPlugins = [];
|
|
484
484
|
|
|
485
|
+
/** @type {!Int32Array} */ var HEAP32;
|
|
486
|
+
|
|
487
|
+
/** @type {!Uint32Array} */ var HEAPU32;
|
|
488
|
+
|
|
485
489
|
var Browser = {
|
|
486
490
|
useWebGL: false,
|
|
487
491
|
isFullscreen: false,
|
|
488
492
|
pointerLock: false,
|
|
489
493
|
moduleContextCreatedCallbacks: [],
|
|
490
|
-
workers: [],
|
|
491
494
|
preloadedImages: {},
|
|
492
495
|
preloadedAudios: {},
|
|
493
496
|
getCanvas: () => Module["canvas"],
|
|
@@ -554,7 +557,7 @@ var Browser = {
|
|
|
554
557
|
var url = URL.createObjectURL(b);
|
|
555
558
|
// XXX we never revoke this!
|
|
556
559
|
var audio = new Audio;
|
|
557
|
-
audio.addEventListener("canplaythrough", () => finish(audio)
|
|
560
|
+
audio.addEventListener("canplaythrough", () => finish(audio));
|
|
558
561
|
// use addEventListener due to chromium bug 124926
|
|
559
562
|
audio.onerror = event => {
|
|
560
563
|
if (done) return;
|
|
@@ -602,14 +605,14 @@ var Browser = {
|
|
|
602
605
|
if (canvas) {
|
|
603
606
|
// forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module
|
|
604
607
|
// Module['forcedAspectRatio'] = 4 / 3;
|
|
605
|
-
document.addEventListener("pointerlockchange", pointerLockChange
|
|
608
|
+
document.addEventListener("pointerlockchange", pointerLockChange);
|
|
606
609
|
if (Module["elementPointerLock"]) {
|
|
607
610
|
canvas.addEventListener("click", ev => {
|
|
608
611
|
if (!Browser.pointerLock && Browser.getCanvas().requestPointerLock) {
|
|
609
612
|
Browser.getCanvas().requestPointerLock();
|
|
610
613
|
ev.preventDefault();
|
|
611
614
|
}
|
|
612
|
-
}
|
|
615
|
+
});
|
|
613
616
|
}
|
|
614
617
|
}
|
|
615
618
|
},
|
|
@@ -683,32 +686,30 @@ var Browser = {
|
|
|
683
686
|
Browser.updateCanvasDimensions(canvas);
|
|
684
687
|
}
|
|
685
688
|
}
|
|
686
|
-
Module["onFullScreen"]?.(Browser.isFullscreen);
|
|
687
|
-
Module["onFullscreen"]?.(Browser.isFullscreen);
|
|
688
689
|
}
|
|
689
690
|
if (!Browser.fullscreenHandlersInstalled) {
|
|
690
691
|
Browser.fullscreenHandlersInstalled = true;
|
|
691
|
-
document.addEventListener("fullscreenchange", fullscreenChange
|
|
692
|
-
document.addEventListener("
|
|
693
|
-
document.addEventListener("webkitfullscreenchange", fullscreenChange, false);
|
|
694
|
-
document.addEventListener("MSFullscreenChange", fullscreenChange, false);
|
|
692
|
+
document.addEventListener("fullscreenchange", fullscreenChange);
|
|
693
|
+
document.addEventListener("webkitfullscreenchange", fullscreenChange);
|
|
695
694
|
}
|
|
696
695
|
// 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
|
|
697
696
|
var canvasContainer = document.createElement("div");
|
|
698
697
|
canvas.parentNode.insertBefore(canvasContainer, canvas);
|
|
699
698
|
canvasContainer.appendChild(canvas);
|
|
700
699
|
// use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size)
|
|
701
|
-
|
|
700
|
+
// Safari didn't support Element.requestFullscreen until 16.4
|
|
701
|
+
// See: https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullscreen
|
|
702
|
+
/** @suppress {checkTypes} */ canvasContainer.requestFullscreen ??= (canvasContainer["webkitRequestFullscreen"] ? () => canvasContainer["webkitRequestFullscreen"](Element.ALLOW_KEYBOARD_INPUT) : null) ?? (canvasContainer["webkitRequestFullScreen"] ? () => canvasContainer["webkitRequestFullScreen"](Element.ALLOW_KEYBOARD_INPUT) : null);
|
|
702
703
|
canvasContainer.requestFullscreen();
|
|
703
704
|
},
|
|
704
705
|
exitFullscreen() {
|
|
705
706
|
// This is workaround for chrome. Trying to exit from fullscreen
|
|
706
|
-
// not in fullscreen state will cause
|
|
707
|
+
// not in fullscreen state will cause 'TypeError: Document not active'
|
|
707
708
|
// in chrome. See https://github.com/emscripten-core/emscripten/pull/8236
|
|
708
709
|
if (!Browser.isFullscreen) {
|
|
709
710
|
return false;
|
|
710
711
|
}
|
|
711
|
-
var CFS = document
|
|
712
|
+
var CFS = document.exitFullscreen ?? document["webkitCancelFullScreen"];
|
|
712
713
|
CFS.apply(document, []);
|
|
713
714
|
return true;
|
|
714
715
|
},
|
|
@@ -730,14 +731,7 @@ var Browser = {
|
|
|
730
731
|
}[name.slice(name.lastIndexOf(".") + 1)];
|
|
731
732
|
},
|
|
732
733
|
getUserMedia(func) {
|
|
733
|
-
|
|
734
|
-
window.getUserMedia(func);
|
|
735
|
-
},
|
|
736
|
-
getMovementX(event) {
|
|
737
|
-
return event["movementX"] || event["mozMovementX"] || event["webkitMovementX"] || 0;
|
|
738
|
-
},
|
|
739
|
-
getMovementY(event) {
|
|
740
|
-
return event["movementY"] || event["mozMovementY"] || event["webkitMovementY"] || 0;
|
|
734
|
+
return navigator.mediaDevices.getUserMedia(func);
|
|
741
735
|
},
|
|
742
736
|
getMouseWheelDelta(event) {
|
|
743
737
|
var delta = 0;
|
|
@@ -815,13 +809,8 @@ var Browser = {
|
|
|
815
809
|
if (Browser.pointerLock) {
|
|
816
810
|
// When the pointer is locked, calculate the coordinates
|
|
817
811
|
// based on the movement of the mouse.
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
Browser.mouseMovementX = Browser.mouseMovementY = 0;
|
|
821
|
-
} else {
|
|
822
|
-
Browser.mouseMovementX = Browser.getMovementX(event);
|
|
823
|
-
Browser.mouseMovementY = Browser.getMovementY(event);
|
|
824
|
-
}
|
|
812
|
+
Browser.mouseMovementX = event.movementX;
|
|
813
|
+
Browser.mouseMovementY = event.movementY;
|
|
825
814
|
// add the mouse delta to the current absolute mouse position
|
|
826
815
|
Browser.mouseX += Browser.mouseMovementX;
|
|
827
816
|
Browser.mouseY += Browser.mouseMovementY;
|
|
@@ -890,13 +879,6 @@ var Browser = {
|
|
|
890
879
|
}
|
|
891
880
|
var w = wNative;
|
|
892
881
|
var h = hNative;
|
|
893
|
-
if (Module["forcedAspectRatio"] > 0) {
|
|
894
|
-
if (w / h < Module["forcedAspectRatio"]) {
|
|
895
|
-
w = Math.round(h * Module["forcedAspectRatio"]);
|
|
896
|
-
} else {
|
|
897
|
-
h = Math.round(w / Module["forcedAspectRatio"]);
|
|
898
|
-
}
|
|
899
|
-
}
|
|
900
882
|
if ((getFullscreenElement() === canvas.parentNode) && (typeof screen != "undefined")) {
|
|
901
883
|
var factor = Math.min(screen.width / w, screen.height / h);
|
|
902
884
|
w = Math.round(w * factor);
|
|
@@ -925,22 +907,8 @@ var Browser = {
|
|
|
925
907
|
}
|
|
926
908
|
};
|
|
927
909
|
|
|
928
|
-
/** @type {!Int16Array} */ var HEAP16;
|
|
929
|
-
|
|
930
|
-
/** @type {!Int32Array} */ var HEAP32;
|
|
931
|
-
|
|
932
910
|
/** @type {!Int8Array} */ var HEAP8;
|
|
933
911
|
|
|
934
|
-
/** @type {!Float32Array} */ var HEAPF32;
|
|
935
|
-
|
|
936
|
-
/** @type {!Float64Array} */ var HEAPF64;
|
|
937
|
-
|
|
938
|
-
/** @type {!Uint16Array} */ var HEAPU16;
|
|
939
|
-
|
|
940
|
-
/** @type {!Uint32Array} */ var HEAPU32;
|
|
941
|
-
|
|
942
|
-
/** @type {!Uint8Array} */ var HEAPU8;
|
|
943
|
-
|
|
944
912
|
var callRuntimeCallbacks = callbacks => {
|
|
945
913
|
while (callbacks.length > 0) {
|
|
946
914
|
// Pass the module as the first argument.
|
|
@@ -950,12 +918,8 @@ var callRuntimeCallbacks = callbacks => {
|
|
|
950
918
|
|
|
951
919
|
var onPostRuns = [];
|
|
952
920
|
|
|
953
|
-
var addOnPostRun = cb => onPostRuns.push(cb);
|
|
954
|
-
|
|
955
921
|
var onPreRuns = [];
|
|
956
922
|
|
|
957
|
-
var addOnPreRun = cb => onPreRuns.push(cb);
|
|
958
|
-
|
|
959
923
|
var noExitRuntime = true;
|
|
960
924
|
|
|
961
925
|
var stackRestore = val => __emscripten_stack_restore(val);
|
|
@@ -1024,7 +988,7 @@ var initRandomFill = () => {
|
|
|
1024
988
|
// This block is not needed on v19+ since crypto.getRandomValues is builtin
|
|
1025
989
|
if (ENVIRONMENT_IS_NODE) {
|
|
1026
990
|
var nodeCrypto = require("node:crypto");
|
|
1027
|
-
return view => nodeCrypto.randomFillSync(view);
|
|
991
|
+
return view => (nodeCrypto.randomFillSync(view), 0);
|
|
1028
992
|
}
|
|
1029
993
|
return view => (crypto.getRandomValues(view), 0);
|
|
1030
994
|
};
|
|
@@ -1086,7 +1050,13 @@ var PATH_FS = {
|
|
|
1086
1050
|
|
|
1087
1051
|
var UTF8Decoder = new TextDecoder;
|
|
1088
1052
|
|
|
1089
|
-
|
|
1053
|
+
/**
|
|
1054
|
+
* heapOrArray is either a regular array, or a JavaScript typed array view.
|
|
1055
|
+
* @param {number} idx
|
|
1056
|
+
* @param {number=} maxBytesToRead
|
|
1057
|
+
* @param {boolean=} ignoreNul
|
|
1058
|
+
* @return {number}
|
|
1059
|
+
*/ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => {
|
|
1090
1060
|
var maxIdx = idx + maxBytesToRead;
|
|
1091
1061
|
if (ignoreNul) return maxIdx;
|
|
1092
1062
|
// TextDecoder needs to know the byte length in advance, it doesn't stop on
|
|
@@ -1349,6 +1319,8 @@ var TTY = {
|
|
|
1349
1319
|
}
|
|
1350
1320
|
};
|
|
1351
1321
|
|
|
1322
|
+
/** @type {!Uint8Array} */ var HEAPU8;
|
|
1323
|
+
|
|
1352
1324
|
var zeroMemory = (ptr, size) => HEAPU8.fill(0, ptr, ptr + size);
|
|
1353
1325
|
|
|
1354
1326
|
var alignMemory = (size, alignment) => Math.ceil(size / alignment) * alignment;
|
|
@@ -1710,23 +1682,26 @@ var FS_createDataFile = (...args) => FS.createDataFile(...args);
|
|
|
1710
1682
|
|
|
1711
1683
|
var getUniqueRunDependency = id => id;
|
|
1712
1684
|
|
|
1685
|
+
var dependenciesPromise = null;
|
|
1686
|
+
|
|
1687
|
+
var resolveRunDependencies = async () => dependenciesPromise;
|
|
1688
|
+
|
|
1713
1689
|
var runDependencies = 0;
|
|
1714
1690
|
|
|
1715
|
-
var
|
|
1691
|
+
var dependenciesPromiseResolve = null;
|
|
1716
1692
|
|
|
1717
1693
|
var removeRunDependency = id => {
|
|
1718
1694
|
runDependencies--;
|
|
1719
1695
|
Module["monitorRunDependencies"]?.(runDependencies);
|
|
1720
|
-
if (runDependencies
|
|
1721
|
-
|
|
1722
|
-
var callback = dependenciesFulfilled;
|
|
1723
|
-
dependenciesFulfilled = null;
|
|
1724
|
-
callback();
|
|
1725
|
-
}
|
|
1696
|
+
if (!runDependencies) {
|
|
1697
|
+
dependenciesPromiseResolve();
|
|
1726
1698
|
}
|
|
1727
1699
|
};
|
|
1728
1700
|
|
|
1729
1701
|
var addRunDependency = id => {
|
|
1702
|
+
if (!runDependencies) {
|
|
1703
|
+
dependenciesPromise = new Promise(resolve => dependenciesPromiseResolve = resolve);
|
|
1704
|
+
}
|
|
1730
1705
|
runDependencies++;
|
|
1731
1706
|
Module["monitorRunDependencies"]?.(runDependencies);
|
|
1732
1707
|
};
|
|
@@ -1860,6 +1835,53 @@ var FS = {
|
|
|
1860
1835
|
get isDevice() {
|
|
1861
1836
|
return FS.isChrdev(this.mode);
|
|
1862
1837
|
}
|
|
1838
|
+
// The per-inode readiness wait-queue. The node carries a Set of listener
|
|
1839
|
+
// entries {cb}; producers (SOCKFS, PIPEFS) call notifyListeners on a
|
|
1840
|
+
// readiness transition, and poll()/epoll consume it. It lives on the node
|
|
1841
|
+
// (not the fd) so dup'd fds share one queue. Only nodes that derive real
|
|
1842
|
+
// readiness (sockets, pipes, and an epoll's own node) ever use this -
|
|
1843
|
+
// always-ready types (regular files, ttys) never register or notify.
|
|
1844
|
+
addListener(cb, exclusive = false) {
|
|
1845
|
+
var entry = {
|
|
1846
|
+
cb,
|
|
1847
|
+
exclusive
|
|
1848
|
+
};
|
|
1849
|
+
var listeners = (this.listeners ??= new Set);
|
|
1850
|
+
listeners.add(entry);
|
|
1851
|
+
return {
|
|
1852
|
+
listeners,
|
|
1853
|
+
entry
|
|
1854
|
+
};
|
|
1855
|
+
}
|
|
1856
|
+
notifyListeners(flags) {
|
|
1857
|
+
// Iterates the set without copying, which is safe ONLY under a
|
|
1858
|
+
// load-bearing contract that every internal listener must honour:
|
|
1859
|
+
// 1. A listener must not run user code synchronously (a poll waiter only
|
|
1860
|
+
// resolves a Promise; an epoll registration only re-lists +
|
|
1861
|
+
// re-notifies; the epoll callback only schedules a tick). User code
|
|
1862
|
+
// runs on a later tick, never inside this loop.
|
|
1863
|
+
// 2. A listener may delete entries only from ITS OWN waiter, never from
|
|
1864
|
+
// a sibling node's set that may be mid-iteration. (Deleting an entry
|
|
1865
|
+
// of the set being iterated here is fine - a Set tolerates removal of
|
|
1866
|
+
// a not-yet-visited entry mid-iteration; mutating a *different* node's
|
|
1867
|
+
// set is fine because that set is not being iterated.)
|
|
1868
|
+
// Violating either gives silently skipped wakeups that are near-impossible
|
|
1869
|
+
// to reproduce. Any new producer/listener must preserve it.
|
|
1870
|
+
if (!this.listeners) return;
|
|
1871
|
+
// Fire every non-exclusive listener. Among EPOLLEXCLUSIVE registrations
|
|
1872
|
+
// (one fd watched by several epolls) wake only one, rotating round-robin
|
|
1873
|
+
// per node, to avoid a thundering herd. (Only epoll registrations are ever
|
|
1874
|
+
// exclusive; poll waiters and a node's own consumers are not.)
|
|
1875
|
+
var excl;
|
|
1876
|
+
for (var entry of this.listeners) {
|
|
1877
|
+
if (entry.exclusive) (excl ||= []).push(entry); else entry.cb(flags);
|
|
1878
|
+
}
|
|
1879
|
+
if (excl) {
|
|
1880
|
+
var i = (this.exclTurn || 0) % excl.length;
|
|
1881
|
+
this.exclTurn = i + 1;
|
|
1882
|
+
excl[i].cb(flags);
|
|
1883
|
+
}
|
|
1884
|
+
}
|
|
1863
1885
|
},
|
|
1864
1886
|
lookupPath(path, opts = {}) {
|
|
1865
1887
|
if (!path) {
|
|
@@ -2405,6 +2427,27 @@ var FS = {
|
|
|
2405
2427
|
}
|
|
2406
2428
|
return parent.node_ops.symlink(parent, newname, oldpath);
|
|
2407
2429
|
},
|
|
2430
|
+
link(oldpath, newpath, flags) {
|
|
2431
|
+
var lookup = FS.lookupPath(newpath, {
|
|
2432
|
+
parent: true
|
|
2433
|
+
});
|
|
2434
|
+
var parent = lookup.node;
|
|
2435
|
+
if (!parent) {
|
|
2436
|
+
throw new FS.ErrnoError(44);
|
|
2437
|
+
}
|
|
2438
|
+
var newname = PATH.basename(newpath);
|
|
2439
|
+
var errCode = FS.mayCreate(parent, newname);
|
|
2440
|
+
if (errCode) {
|
|
2441
|
+
throw new FS.ErrnoError(errCode);
|
|
2442
|
+
}
|
|
2443
|
+
// Hardlinks are only supported by filesystem backends that provide a
|
|
2444
|
+
// `link` node op (e.g. NODERAWFS backed by the host). NODEFS omits it:
|
|
2445
|
+
// a host hardlink cannot be confined to the mount root.
|
|
2446
|
+
if (!parent.node_ops.link) {
|
|
2447
|
+
throw new FS.ErrnoError(34);
|
|
2448
|
+
}
|
|
2449
|
+
return parent.node_ops.link(parent, newname, oldpath, flags);
|
|
2450
|
+
},
|
|
2408
2451
|
rename(old_path, new_path) {
|
|
2409
2452
|
var old_dirname = PATH.dirname(old_path);
|
|
2410
2453
|
var new_dirname = PATH.dirname(new_path);
|
|
@@ -2662,15 +2705,14 @@ var FS = {
|
|
|
2662
2705
|
}
|
|
2663
2706
|
FS.doTruncate(stream, stream.node, len);
|
|
2664
2707
|
},
|
|
2665
|
-
utime(path, atime, mtime) {
|
|
2708
|
+
utime(path, atime, mtime, dontFollow) {
|
|
2666
2709
|
var lookup = FS.lookupPath(path, {
|
|
2667
|
-
follow:
|
|
2710
|
+
follow: !dontFollow
|
|
2668
2711
|
});
|
|
2669
|
-
|
|
2670
|
-
var setattr = FS.checkOpExists(node.node_ops.setattr, 63);
|
|
2671
|
-
setattr(node, {
|
|
2712
|
+
FS.doSetAttr(null, lookup.node, {
|
|
2672
2713
|
atime,
|
|
2673
|
-
mtime
|
|
2714
|
+
mtime,
|
|
2715
|
+
dontFollow
|
|
2674
2716
|
});
|
|
2675
2717
|
},
|
|
2676
2718
|
open(path, flags, mode = 438) {
|
|
@@ -2772,6 +2814,11 @@ var FS = {
|
|
|
2772
2814
|
}
|
|
2773
2815
|
if (stream.getdents) stream.getdents = null;
|
|
2774
2816
|
// free readdir state
|
|
2817
|
+
// The fd is going away: wake anything waiting on it (poll/epoll) with
|
|
2818
|
+
// POLLNVAL so a blocking wait unblocks and an epoll registration is evicted
|
|
2819
|
+
// on its next derive. Only sockets/pipes/epoll ever carry a wait-queue, so
|
|
2820
|
+
// for every other stream (incl. nodeless noderawfs stdio) this is a no-op.
|
|
2821
|
+
stream.node?.notifyListeners(32);
|
|
2775
2822
|
try {
|
|
2776
2823
|
if (stream.stream_ops.close) {
|
|
2777
2824
|
stream.stream_ops.close(stream);
|
|
@@ -3239,7 +3286,7 @@ var FS = {
|
|
|
3239
3286
|
var xhr = new XMLHttpRequest;
|
|
3240
3287
|
xhr.open("HEAD", url, false);
|
|
3241
3288
|
xhr.send(null);
|
|
3242
|
-
if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) abort(
|
|
3289
|
+
if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) abort(`Couldn't load ${url}. Status: ${xhr.status}`);
|
|
3243
3290
|
var datalength = Number(xhr.getResponseHeader("Content-length"));
|
|
3244
3291
|
var header;
|
|
3245
3292
|
var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
|
|
@@ -3254,14 +3301,14 @@ var FS = {
|
|
|
3254
3301
|
// TODO: Use mozResponseArrayBuffer, responseStream, etc. if available.
|
|
3255
3302
|
var xhr = new XMLHttpRequest;
|
|
3256
3303
|
xhr.open("GET", url, false);
|
|
3257
|
-
if (datalength !== chunkSize) xhr.setRequestHeader("Range",
|
|
3304
|
+
if (datalength !== chunkSize) xhr.setRequestHeader("Range", `bytes=${from}-${to}`);
|
|
3258
3305
|
// Some hints to the browser that we want binary data.
|
|
3259
3306
|
xhr.responseType = "arraybuffer";
|
|
3260
3307
|
if (xhr.overrideMimeType) {
|
|
3261
3308
|
xhr.overrideMimeType("text/plain; charset=x-user-defined");
|
|
3262
3309
|
}
|
|
3263
3310
|
xhr.send(null);
|
|
3264
|
-
if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) abort(
|
|
3311
|
+
if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) abort(`Couldn't load ${url}. Status: ${xhr.status}`);
|
|
3265
3312
|
if (xhr.response !== undefined) {
|
|
3266
3313
|
return new Uint8Array(/** @type{Array<number>} */ (xhr.response || []));
|
|
3267
3314
|
}
|
|
@@ -3480,7 +3527,7 @@ var SYSCALLS = {
|
|
|
3480
3527
|
// MAP_PRIVATE calls need not to be synced back to underlying fs
|
|
3481
3528
|
return 0;
|
|
3482
3529
|
}
|
|
3483
|
-
var buffer = HEAPU8.
|
|
3530
|
+
var buffer = HEAPU8.subarray(addr, addr + len);
|
|
3484
3531
|
FS.msync(stream, buffer, offset, len, flags);
|
|
3485
3532
|
},
|
|
3486
3533
|
getStreamFromFD(fd) {
|
|
@@ -3542,6 +3589,8 @@ var syscallGetVarargI = () => {
|
|
|
3542
3589
|
|
|
3543
3590
|
var syscallGetVarargP = syscallGetVarargI;
|
|
3544
3591
|
|
|
3592
|
+
/** @type {!Int16Array} */ var HEAP16;
|
|
3593
|
+
|
|
3545
3594
|
function ___syscall_fcntl64(fd, cmd, varargs) {
|
|
3546
3595
|
SYSCALLS.varargs = varargs;
|
|
3547
3596
|
try {
|
|
@@ -3801,6 +3850,9 @@ var __abort_js = () => abort("");
|
|
|
3801
3850
|
function __gmtime_js(time_low, time_high, tmPtr) {
|
|
3802
3851
|
var time = convertI32PairToI53Checked(time_low, time_high);
|
|
3803
3852
|
var date = new Date(time * 1e3);
|
|
3853
|
+
if (isNaN(date.getTime())) {
|
|
3854
|
+
return 1;
|
|
3855
|
+
}
|
|
3804
3856
|
HEAP32[((tmPtr) >> 2)] = date.getUTCSeconds();
|
|
3805
3857
|
HEAP32[(((tmPtr) + (4)) >> 2)] = date.getUTCMinutes();
|
|
3806
3858
|
HEAP32[(((tmPtr) + (8)) >> 2)] = date.getUTCHours();
|
|
@@ -3811,6 +3863,7 @@ function __gmtime_js(time_low, time_high, tmPtr) {
|
|
|
3811
3863
|
var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);
|
|
3812
3864
|
var yday = ((date.getTime() - start) / (1e3 * 60 * 60 * 24)) | 0;
|
|
3813
3865
|
HEAP32[(((tmPtr) + (28)) >> 2)] = yday;
|
|
3866
|
+
return 0;
|
|
3814
3867
|
}
|
|
3815
3868
|
|
|
3816
3869
|
var isLeapYear = year => year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
|
|
@@ -3830,6 +3883,9 @@ var ydayFromDate = date => {
|
|
|
3830
3883
|
function __localtime_js(time_low, time_high, tmPtr) {
|
|
3831
3884
|
var time = convertI32PairToI53Checked(time_low, time_high);
|
|
3832
3885
|
var date = new Date(time * 1e3);
|
|
3886
|
+
if (isNaN(date.getTime())) {
|
|
3887
|
+
return 1;
|
|
3888
|
+
}
|
|
3833
3889
|
HEAP32[((tmPtr) >> 2)] = date.getSeconds();
|
|
3834
3890
|
HEAP32[(((tmPtr) + (4)) >> 2)] = date.getMinutes();
|
|
3835
3891
|
HEAP32[(((tmPtr) + (8)) >> 2)] = date.getHours();
|
|
@@ -3846,6 +3902,7 @@ function __localtime_js(time_low, time_high, tmPtr) {
|
|
|
3846
3902
|
var winterOffset = start.getTimezoneOffset();
|
|
3847
3903
|
var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;
|
|
3848
3904
|
HEAP32[(((tmPtr) + (32)) >> 2)] = dst;
|
|
3905
|
+
return 0;
|
|
3849
3906
|
}
|
|
3850
3907
|
|
|
3851
3908
|
var setTempRet0 = val => __emscripten_tempret_set(val);
|
|
@@ -3868,13 +3925,17 @@ var __mktime_js = function(tmPtr) {
|
|
|
3868
3925
|
// DST is in December in South
|
|
3869
3926
|
if (dst < 0) {
|
|
3870
3927
|
// Attention: some regions don't have DST at all.
|
|
3871
|
-
|
|
3928
|
+
dst = Number(summerOffset != winterOffset && dstOffset == guessedOffset);
|
|
3872
3929
|
} else if ((dst > 0) != (dstOffset == guessedOffset)) {
|
|
3873
3930
|
var nonDstOffset = Math.max(winterOffset, summerOffset);
|
|
3874
3931
|
var trueOffset = dst > 0 ? dstOffset : nonDstOffset;
|
|
3875
3932
|
// Don't try setMinutes(date.getMinutes() + ...) -- it's messed up.
|
|
3876
3933
|
date.setTime(date.getTime() + (trueOffset - guessedOffset) * 6e4);
|
|
3934
|
+
if (isNaN(date.getTime())) {
|
|
3935
|
+
return -1;
|
|
3936
|
+
}
|
|
3877
3937
|
}
|
|
3938
|
+
HEAP32[(((tmPtr) + (32)) >> 2)] = dst;
|
|
3878
3939
|
HEAP32[(((tmPtr) + (24)) >> 2)] = date.getDay();
|
|
3879
3940
|
var yday = ydayFromDate(date) | 0;
|
|
3880
3941
|
HEAP32[(((tmPtr) + (28)) >> 2)] = yday;
|
|
@@ -3995,6 +4056,8 @@ function _clock_time_get(clk_id, ignored_precision_low, ignored_precision_high,
|
|
|
3995
4056
|
|
|
3996
4057
|
var readEmAsmArgsArray = [];
|
|
3997
4058
|
|
|
4059
|
+
/** @type {!Float64Array} */ var HEAPF64;
|
|
4060
|
+
|
|
3998
4061
|
var readEmAsmArgs = (sigPtr, buf) => {
|
|
3999
4062
|
readEmAsmArgsArray.length = 0;
|
|
4000
4063
|
var ch;
|
|
@@ -4180,7 +4243,7 @@ var _emscripten_stack_unwind_buffer = (addr, buffer, count) => {
|
|
|
4180
4243
|
++offset;
|
|
4181
4244
|
}
|
|
4182
4245
|
for (var i = 0; i < count && stack[i + offset]; ++i) {
|
|
4183
|
-
|
|
4246
|
+
HEAPU32[(((buffer) + (i * 4)) >> 2)] = convertFrameToPC(stack[i + offset]);
|
|
4184
4247
|
}
|
|
4185
4248
|
return i;
|
|
4186
4249
|
};
|
|
@@ -4575,7 +4638,7 @@ var webglPowerPreferences = [ "default", "low-power", "high-performance" ];
|
|
|
4575
4638
|
/** @type {Object} */ var specialHTMLTargets = [ 0, globalThis.document ?? 0, globalThis.window ?? 0 ];
|
|
4576
4639
|
|
|
4577
4640
|
var findEventTarget = target => {
|
|
4578
|
-
// The sensible
|
|
4641
|
+
// The sensible 'default' target varies between events, but use window as the default
|
|
4579
4642
|
// since DOM events mostly can default to that. Specific callback registrations
|
|
4580
4643
|
// override their own defaults.
|
|
4581
4644
|
if (!target) return window;
|
|
@@ -4607,6 +4670,7 @@ var _emscripten_webgl_do_create_context = (target, attributes) => {
|
|
|
4607
4670
|
"preserveDrawingBuffer": !!HEAP8[attributes + 5],
|
|
4608
4671
|
"powerPreference": webglPowerPreferences[powerPreference],
|
|
4609
4672
|
"failIfMajorPerformanceCaveat": !!HEAP8[attributes + 12],
|
|
4673
|
+
"desynchronized": !!HEAP8[attributes + 33],
|
|
4610
4674
|
// The following are not predefined WebGL context attributes in the WebGL specification, so the property names can be minified by Closure.
|
|
4611
4675
|
majorVersion: HEAP32[attr32 + (16 >> 2)],
|
|
4612
4676
|
minorVersion: HEAP32[attr32 + (20 >> 2)],
|
|
@@ -4648,6 +4712,7 @@ var _emscripten_webgl_get_context_attributes = (c, a) => {
|
|
|
4648
4712
|
var power = t["powerPreference"] && webglPowerPreferences.indexOf(t["powerPreference"]);
|
|
4649
4713
|
HEAP32[(((a) + (8)) >> 2)] = power;
|
|
4650
4714
|
HEAP8[(a) + (12)] = t.failIfMajorPerformanceCaveat;
|
|
4715
|
+
HEAP8[(a) + (33)] = t.desynchronized;
|
|
4651
4716
|
HEAP32[(((a) + (16)) >> 2)] = c.version;
|
|
4652
4717
|
HEAP32[(((a) + (20)) >> 2)] = 0;
|
|
4653
4718
|
HEAP8[(a) + (24)] = c.attributes.enableExtensionsByDefault;
|
|
@@ -4690,6 +4755,8 @@ var getWasmTableEntry = funcPtr => {
|
|
|
4690
4755
|
return func;
|
|
4691
4756
|
};
|
|
4692
4757
|
|
|
4758
|
+
/** @type {!Float32Array} */ var HEAPF32;
|
|
4759
|
+
|
|
4693
4760
|
var WebGPU = {
|
|
4694
4761
|
Internals: {
|
|
4695
4762
|
jsObjects: [],
|
|
@@ -5152,6 +5219,28 @@ var WebGPU = {
|
|
|
5152
5219
|
HEAP32[(((infoStruct) + (40)) >> 2)] = adapterType;
|
|
5153
5220
|
HEAPU32[(((infoStruct) + (44)) >> 2)] = 0;
|
|
5154
5221
|
HEAPU32[(((infoStruct) + (48)) >> 2)] = 0;
|
|
5222
|
+
WebGPU.iterateExtensions(infoStruct, {
|
|
5223
|
+
327739: ext => {
|
|
5224
|
+
let configCount = 0;
|
|
5225
|
+
let configsPtr = 0;
|
|
5226
|
+
if (info.subgroupMatrixConfigs) {
|
|
5227
|
+
configCount = info.subgroupMatrixConfigs.length;
|
|
5228
|
+
configsPtr = _malloc(configCount * 20);
|
|
5229
|
+
for (const [i, cfg] of info.subgroupMatrixConfigs.entries()) {
|
|
5230
|
+
const ptr = configsPtr + i * 20;
|
|
5231
|
+
const componentType = WebGPU.SubgroupMatrixComponentType.indexOf(cfg.componentType);
|
|
5232
|
+
const resultComponentType = WebGPU.SubgroupMatrixComponentType.indexOf(cfg.resultComponentType);
|
|
5233
|
+
HEAP32[((ptr) >> 2)] = componentType;
|
|
5234
|
+
HEAP32[(((ptr) + (4)) >> 2)] = resultComponentType;
|
|
5235
|
+
HEAPU32[(((ptr) + (8)) >> 2)] = cfg.M;
|
|
5236
|
+
HEAPU32[(((ptr) + (12)) >> 2)] = cfg.N;
|
|
5237
|
+
HEAPU32[(((ptr) + (16)) >> 2)] = cfg.K;
|
|
5238
|
+
}
|
|
5239
|
+
}
|
|
5240
|
+
HEAPU32[(((ext) + (12)) >> 2)] = configsPtr;
|
|
5241
|
+
HEAPU32[(((ext) + (8)) >> 2)] = configCount;
|
|
5242
|
+
}
|
|
5243
|
+
});
|
|
5155
5244
|
},
|
|
5156
5245
|
AddressMode: [ , "clamp-to-edge", "repeat", "mirror-repeat" ],
|
|
5157
5246
|
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" ],
|
|
@@ -5190,7 +5279,8 @@ var WebGPU = {
|
|
|
5190
5279
|
22: "texture-component-swizzle",
|
|
5191
5280
|
23: "subgroup-size-control",
|
|
5192
5281
|
327692: "chromium-experimental-unorm16-texture-formats",
|
|
5193
|
-
327729: "chromium-experimental-multi-draw-indirect"
|
|
5282
|
+
327729: "chromium-experimental-multi-draw-indirect",
|
|
5283
|
+
327732: "chromium-experimental-subgroup-matrix"
|
|
5194
5284
|
},
|
|
5195
5285
|
FilterMode: [ , "nearest", "linear" ],
|
|
5196
5286
|
FrontFace: [ , "ccw", "cw" ],
|
|
@@ -5208,6 +5298,7 @@ var WebGPU = {
|
|
|
5208
5298
|
StencilOperation: [ , "keep", "zero", "replace", "invert", "increment-clamp", "decrement-clamp", "increment-wrap", "decrement-wrap" ],
|
|
5209
5299
|
StorageTextureAccess: [ , , "write-only", "read-only", "read-write" ],
|
|
5210
5300
|
StoreOp: [ , "store", "discard" ],
|
|
5301
|
+
SubgroupMatrixComponentType: [ , "f32", "f16", "u32", "i32", "u8", "i8" ],
|
|
5211
5302
|
SurfaceGetCurrentTextureStatus: [ , "success-optimal", "success-suboptimal", "timeout", "outdated", "lost", "error" ],
|
|
5212
5303
|
TextureAspect: [ , "all", "stencil-only", "depth-only" ],
|
|
5213
5304
|
TextureDimension: [ , "1d", "2d", "3d" ],
|
|
@@ -5217,7 +5308,7 @@ var WebGPU = {
|
|
|
5217
5308
|
ToneMappingMode: [ , "standard", "extended" ],
|
|
5218
5309
|
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" ],
|
|
5219
5310
|
VertexStepMode: [ , "vertex", "instance" ],
|
|
5220
|
-
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" ]
|
|
5311
|
+
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" ]
|
|
5221
5312
|
};
|
|
5222
5313
|
|
|
5223
5314
|
var _emwgpuBufferDestroy = bufferPtr => {
|
|
@@ -5339,7 +5430,17 @@ function _fd_close(fd) {
|
|
|
5339
5430
|
var ptr = HEAPU32[((iov) >> 2)];
|
|
5340
5431
|
var len = HEAPU32[(((iov) + (4)) >> 2)];
|
|
5341
5432
|
iov += 8;
|
|
5342
|
-
|
|
5433
|
+
try {
|
|
5434
|
+
var curr = FS.read(stream, HEAP8, ptr, len, offset);
|
|
5435
|
+
} catch (e) {
|
|
5436
|
+
// On a non-blocking stream a subsequent read may would-block after we
|
|
5437
|
+
// already gathered data. POSIX readv is a single gather-read: return
|
|
5438
|
+
// what we have rather than failing the whole call.
|
|
5439
|
+
if (ret > 0 && e instanceof FS.ErrnoError && (e.errno == 6 || e.errno == 6)) {
|
|
5440
|
+
break;
|
|
5441
|
+
}
|
|
5442
|
+
throw e;
|
|
5443
|
+
}
|
|
5343
5444
|
if (curr < 0) return -1;
|
|
5344
5445
|
ret += curr;
|
|
5345
5446
|
if (curr < len) break;
|
|
@@ -5381,23 +5482,27 @@ function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {
|
|
|
5381
5482
|
}
|
|
5382
5483
|
|
|
5383
5484
|
/** @param {number=} offset */ var doWritev = (stream, iov, iovcnt, offset) => {
|
|
5384
|
-
|
|
5385
|
-
|
|
5485
|
+
// Gather all iovecs into one contiguous buffer and issue a single
|
|
5486
|
+
// FS.write, matching POSIX writev's single gather-write semantics (as
|
|
5487
|
+
// __syscall_sendmsg already does). Per-iovec writes fragment a stream
|
|
5488
|
+
// socket send into multiple segments, breaking stream byte semantics.
|
|
5489
|
+
if (iovcnt == 1) {
|
|
5490
|
+
// Single iovec: write directly from HEAP8, no gather buffer needed.
|
|
5491
|
+
return FS.write(stream, HEAP8, HEAPU32[((iov) >> 2)], HEAPU32[(((iov) + (4)) >> 2)], offset);
|
|
5492
|
+
}
|
|
5493
|
+
var total = 0;
|
|
5494
|
+
for (var i = 0, p = iov; i < iovcnt; i++, p += 8) {
|
|
5495
|
+
total += HEAPU32[(((p) + (4)) >> 2)];
|
|
5496
|
+
}
|
|
5497
|
+
var view = new Uint8Array(total);
|
|
5498
|
+
var voff = 0;
|
|
5499
|
+
for (var i = 0; i < iovcnt; i++, iov += 8) {
|
|
5386
5500
|
var ptr = HEAPU32[((iov) >> 2)];
|
|
5387
5501
|
var len = HEAPU32[(((iov) + (4)) >> 2)];
|
|
5388
|
-
|
|
5389
|
-
|
|
5390
|
-
if (curr < 0) return -1;
|
|
5391
|
-
ret += curr;
|
|
5392
|
-
if (curr < len) {
|
|
5393
|
-
// No more space to write.
|
|
5394
|
-
break;
|
|
5395
|
-
}
|
|
5396
|
-
if (typeof offset != "undefined") {
|
|
5397
|
-
offset += curr;
|
|
5398
|
-
}
|
|
5502
|
+
view.set(HEAPU8.subarray(ptr, ptr + len), voff);
|
|
5503
|
+
voff += len;
|
|
5399
5504
|
}
|
|
5400
|
-
return
|
|
5505
|
+
return FS.write(stream, view, 0, total, offset);
|
|
5401
5506
|
};
|
|
5402
5507
|
|
|
5403
5508
|
function _fd_write(fd, iov, iovcnt, pnum) {
|
|
@@ -6090,6 +6195,8 @@ var colorChannelsInGlTextureFormat = format => {
|
|
|
6090
6195
|
return colorChannels[format - 6402] || 1;
|
|
6091
6196
|
};
|
|
6092
6197
|
|
|
6198
|
+
/** @type {!Uint16Array} */ var HEAPU16;
|
|
6199
|
+
|
|
6093
6200
|
var heapObjectForWebGLType = type => {
|
|
6094
6201
|
// Micro-optimization for size: Subtract lowest GL enum number (0x1400/* GL_BYTE */) from type to compare
|
|
6095
6202
|
// smaller values for the heap, for shorter generated code size.
|
|
@@ -6359,18 +6466,19 @@ registerPreMainLoop(() => GL.newRenderingFrameStarted());
|
|
|
6359
6466
|
// but before the wasm module is created.
|
|
6360
6467
|
{
|
|
6361
6468
|
// Begin ATMODULES hooks
|
|
6362
|
-
if (Module["preloadPlugins"]) preloadPlugins = Module["preloadPlugins"];
|
|
6363
6469
|
if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"];
|
|
6364
6470
|
if (Module["print"]) out = Module["print"];
|
|
6365
6471
|
if (Module["printErr"]) err = Module["printErr"];
|
|
6366
|
-
if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"];
|
|
6367
6472
|
// End ATMODULES hooks
|
|
6368
6473
|
if (Module["arguments"]) programArgs = Module["arguments"];
|
|
6369
6474
|
if (Module["thisProgram"]) thisProgram = Module["thisProgram"];
|
|
6370
|
-
|
|
6371
|
-
|
|
6372
|
-
|
|
6373
|
-
|
|
6475
|
+
var preInit = Module["preInit"];
|
|
6476
|
+
if (preInit) {
|
|
6477
|
+
if (typeof preInit == "function") Module["preInit"] = preInit = [ preInit ];
|
|
6478
|
+
// Written as a loop so that preInit functions that themselves add more
|
|
6479
|
+
// preInit functions. Is this actually needed?
|
|
6480
|
+
while (preInit.length > 0) {
|
|
6481
|
+
preInit.shift()();
|
|
6374
6482
|
}
|
|
6375
6483
|
}
|
|
6376
6484
|
}
|
|
@@ -6401,7 +6509,7 @@ Module["FS_createLazyFile"] = FS_createLazyFile;
|
|
|
6401
6509
|
// End JS library exports
|
|
6402
6510
|
// end include: postlibrary.js
|
|
6403
6511
|
var ASM_CONSTS = {
|
|
6404
|
-
|
|
6512
|
+
754792: () => {
|
|
6405
6513
|
specialHTMLTargets["#canvas"] = Module.canvas;
|
|
6406
6514
|
}
|
|
6407
6515
|
};
|
|
@@ -6551,7 +6659,7 @@ function JsWrapErrorListenerInternal(code, message) {
|
|
|
6551
6659
|
}
|
|
6552
6660
|
|
|
6553
6661
|
// Imports from the Wasm binary.
|
|
6554
|
-
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,
|
|
6662
|
+
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;
|
|
6555
6663
|
|
|
6556
6664
|
function assignWasmExports(wasmExports) {
|
|
6557
6665
|
_free = Module["_free"] = wasmExports["Vb"];
|
|
@@ -6661,7 +6769,6 @@ function assignWasmExports(wasmExports) {
|
|
|
6661
6769
|
dynCall_iiiijij = wasmExports["dynCall_iiiijij"];
|
|
6662
6770
|
dynCall_viji = wasmExports["dynCall_viji"];
|
|
6663
6771
|
dynCall_viijii = wasmExports["dynCall_viijii"];
|
|
6664
|
-
dynCall_ijj = wasmExports["dynCall_ijj"];
|
|
6665
6772
|
dynCall_jjj = wasmExports["dynCall_jjj"];
|
|
6666
6773
|
dynCall_iiiijj = wasmExports["dynCall_iiiijj"];
|
|
6667
6774
|
dynCall_viijj = wasmExports["dynCall_viijj"];
|
|
@@ -6838,37 +6945,22 @@ var wasmImports = {
|
|
|
6838
6945
|
// include: postamble.js
|
|
6839
6946
|
// === Auto-generated postamble setup entry stuff ===
|
|
6840
6947
|
async function run() {
|
|
6841
|
-
if (runDependencies > 0) {
|
|
6842
|
-
await new Promise(resolve => dependenciesFulfilled = resolve);
|
|
6843
|
-
}
|
|
6844
6948
|
preRun();
|
|
6845
|
-
|
|
6846
|
-
|
|
6847
|
-
await new Promise(resolve => dependenciesFulfilled = resolve);
|
|
6949
|
+
if (runDependencies) {
|
|
6950
|
+
await resolveRunDependencies();
|
|
6848
6951
|
}
|
|
6849
|
-
|
|
6850
|
-
|
|
6851
|
-
|
|
6852
|
-
|
|
6853
|
-
|
|
6854
|
-
|
|
6855
|
-
|
|
6856
|
-
postRun();
|
|
6857
|
-
}
|
|
6858
|
-
if (Module["setStatus"]) {
|
|
6859
|
-
Module["setStatus"]("Running...");
|
|
6860
|
-
// Yield the main thread to allow the browser to paint "Running...", then clear
|
|
6861
|
-
// the status text after the synchronous doRun() completes.
|
|
6862
|
-
await new Promise(resolve => {
|
|
6863
|
-
setTimeout(() => {
|
|
6864
|
-
setTimeout(() => Module["setStatus"](""), 1);
|
|
6865
|
-
doRun();
|
|
6866
|
-
resolve();
|
|
6867
|
-
}, 1);
|
|
6868
|
-
});
|
|
6869
|
-
} else {
|
|
6870
|
-
doRun();
|
|
6952
|
+
var setStatus = Module["setStatus"];
|
|
6953
|
+
if (setStatus) {
|
|
6954
|
+
setStatus("Running...");
|
|
6955
|
+
// Yield to the event loop to allow the browser to paint "Running..."
|
|
6956
|
+
await new Promise(resolve => setTimeout(resolve, 1));
|
|
6957
|
+
// Then we want to clear the status text, but only after the rest of this function runs.
|
|
6958
|
+
setTimeout(setStatus, 1, "");
|
|
6871
6959
|
}
|
|
6960
|
+
if (ABORT) return;
|
|
6961
|
+
initRuntime();
|
|
6962
|
+
Module["onRuntimeInitialized"]?.();
|
|
6963
|
+
postRun();
|
|
6872
6964
|
}
|
|
6873
6965
|
|
|
6874
6966
|
var wasmExports;
|