@openheart/tavio-renderer 2.3.2-with-wasm → 2.3.3-with-wasm
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/build/esm/index.js +33 -11
- package/build/esm/types/module.d.ts +1 -0
- package/build/esm/types/wasm-bindings/wasm-pkg-base-url.d.ts +1 -5
- package/build/esm/types/wasm-bindings/wasm-worker.d.ts +2 -0
- package/build/esm/{wasm-worker-CEuC2YyS.js → wasm-worker-_2ktlwfC.js} +8 -8
- package/package.json +1 -1
package/build/esm/index.js
CHANGED
|
@@ -37463,19 +37463,36 @@ function WorkerWrapper$1(options) {
|
|
|
37463
37463
|
);
|
|
37464
37464
|
}
|
|
37465
37465
|
}
|
|
37466
|
+
let wasmPkgBaseUrlOverride = null;
|
|
37467
|
+
function setWasmPkgBaseUrl(url) {
|
|
37468
|
+
const u = url.trim();
|
|
37469
|
+
wasmPkgBaseUrlOverride = u.endsWith("/") ? u : `${u}/`;
|
|
37470
|
+
}
|
|
37471
|
+
function getWasmPkgBaseUrl() {
|
|
37472
|
+
if (wasmPkgBaseUrlOverride != null) {
|
|
37473
|
+
return wasmPkgBaseUrlOverride;
|
|
37474
|
+
}
|
|
37475
|
+
return new URL(
|
|
37476
|
+
/* @vite-ignore */
|
|
37477
|
+
"./wasm/pkg/",
|
|
37478
|
+
import.meta.url
|
|
37479
|
+
).href;
|
|
37480
|
+
}
|
|
37466
37481
|
const TavioWasm = /* @__PURE__ */ (() => {
|
|
37467
37482
|
let instancePromise = null;
|
|
37468
37483
|
return () => {
|
|
37469
37484
|
if (instancePromise == null) {
|
|
37470
37485
|
instancePromise = (async () => {
|
|
37471
|
-
|
|
37472
|
-
|
|
37473
|
-
|
|
37474
|
-
|
|
37475
|
-
|
|
37476
|
-
|
|
37477
|
-
|
|
37478
|
-
|
|
37486
|
+
let instance;
|
|
37487
|
+
{
|
|
37488
|
+
const raw = getWasmPkgBaseUrl();
|
|
37489
|
+
const base = raw.endsWith("/") ? raw : `${raw}/`;
|
|
37490
|
+
const href = new URL("no-thread/tavio.js", base).href;
|
|
37491
|
+
instance = await import(
|
|
37492
|
+
/* @vite-ignore */
|
|
37493
|
+
href
|
|
37494
|
+
);
|
|
37495
|
+
}
|
|
37479
37496
|
console.info("[TavioMesh] Initializing WASM...");
|
|
37480
37497
|
try {
|
|
37481
37498
|
await instance.default();
|
|
@@ -37503,7 +37520,7 @@ const TavioWasm = /* @__PURE__ */ (() => {
|
|
|
37503
37520
|
})();
|
|
37504
37521
|
function WorkerWrapper(options) {
|
|
37505
37522
|
return new Worker(
|
|
37506
|
-
"" + new URL("wasm-worker-
|
|
37523
|
+
"" + new URL("wasm-worker-_2ktlwfC.js", import.meta.url).href,
|
|
37507
37524
|
{
|
|
37508
37525
|
type: "module",
|
|
37509
37526
|
name: options?.name
|
|
@@ -37521,7 +37538,10 @@ class TavioWasmWorkerClient {
|
|
|
37521
37538
|
this.worker.onmessage = this.handleMessage;
|
|
37522
37539
|
this.worker.postMessage({
|
|
37523
37540
|
kind: "init",
|
|
37524
|
-
options
|
|
37541
|
+
options: {
|
|
37542
|
+
...options,
|
|
37543
|
+
wasmPkgBaseUrl: options?.wasmPkgBaseUrl ?? getWasmPkgBaseUrl()
|
|
37544
|
+
}
|
|
37525
37545
|
});
|
|
37526
37546
|
this.readyPromise = new Promise((resolve) => {
|
|
37527
37547
|
this.readyResolve = resolve;
|
|
@@ -45204,5 +45224,7 @@ export {
|
|
|
45204
45224
|
Core,
|
|
45205
45225
|
TavioError,
|
|
45206
45226
|
TavioErrorCode,
|
|
45207
|
-
Core as default
|
|
45227
|
+
Core as default,
|
|
45228
|
+
getWasmPkgBaseUrl,
|
|
45229
|
+
setWasmPkgBaseUrl
|
|
45208
45230
|
};
|
|
@@ -2,4 +2,5 @@ import { Core, TavioError, TavioErrorCode } from './viewer/canvas';
|
|
|
2
2
|
import { iAnimationConfig } from './animation/animationController';
|
|
3
3
|
export { Core, TavioError, TavioErrorCode };
|
|
4
4
|
export type { iAnimationConfig };
|
|
5
|
+
export { getWasmPkgBaseUrl, setWasmPkgBaseUrl } from './wasm-bindings/wasm-pkg-base-url';
|
|
5
6
|
export default Core;
|
|
@@ -1,6 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* wasm/pkg のベース URL(末尾スラッシュ付き)。
|
|
3
|
-
* - ライブラリ本番ビルド(build/esm/index.js): index と同階層の ./wasm/pkg/
|
|
4
|
-
* - Vite 開発サーバ: ソースは src/wasm-bindings 配下のためリポジトリルートの ../../wasm/pkg/
|
|
5
|
-
*/
|
|
1
|
+
export declare function setWasmPkgBaseUrl(url: string): void;
|
|
6
2
|
export declare function getWasmPkgBaseUrl(): string;
|
|
@@ -13,6 +13,8 @@ export type WasmWorkerInitRequest = {
|
|
|
13
13
|
options?: {
|
|
14
14
|
useSharedArrayBuffer?: boolean;
|
|
15
15
|
threadCount?: number;
|
|
16
|
+
/** メインスレッドの {@link getWasmPkgBaseUrl} を渡す(バンドラで Worker の import.meta.url が壊れる場合に必須) */
|
|
17
|
+
wasmPkgBaseUrl?: string;
|
|
16
18
|
};
|
|
17
19
|
};
|
|
18
20
|
export type WasmWorkerRegisterEventHandlerRequest = {
|
|
@@ -42,16 +42,13 @@ self.onmessage = async (e) => {
|
|
|
42
42
|
break;
|
|
43
43
|
}
|
|
44
44
|
};
|
|
45
|
-
async function importWasmBindings(useSharedArrayBuffer) {
|
|
46
|
-
const
|
|
45
|
+
async function importWasmBindings(useSharedArrayBuffer, wasmPkgBaseUrl) {
|
|
46
|
+
const base = wasmPkgBaseUrl != null && wasmPkgBaseUrl !== "" ? wasmPkgBaseUrl.endsWith("/") ? wasmPkgBaseUrl : `${wasmPkgBaseUrl}/` : new URL(
|
|
47
47
|
/* @vite-ignore */
|
|
48
|
-
"./wasm/pkg/
|
|
49
|
-
import.meta.url
|
|
50
|
-
).href : new URL(
|
|
51
|
-
/* @vite-ignore */
|
|
52
|
-
"./wasm/pkg/no-thread/tavio.js",
|
|
48
|
+
"./wasm/pkg/",
|
|
53
49
|
import.meta.url
|
|
54
50
|
).href;
|
|
51
|
+
const href = useSharedArrayBuffer ? new URL("thread/tavio.js", base).href : new URL("no-thread/tavio.js", base).href;
|
|
55
52
|
return await import(
|
|
56
53
|
/* @vite-ignore */
|
|
57
54
|
href
|
|
@@ -64,7 +61,10 @@ async function init(options) {
|
|
|
64
61
|
navigator.hardwareConcurrency
|
|
65
62
|
);
|
|
66
63
|
const isParallel = useSharedArrayBuffer && threadCount > 1;
|
|
67
|
-
wasm = await importWasmBindings(
|
|
64
|
+
wasm = await importWasmBindings(
|
|
65
|
+
useSharedArrayBuffer,
|
|
66
|
+
options?.wasmPkgBaseUrl
|
|
67
|
+
);
|
|
68
68
|
try {
|
|
69
69
|
await wasm.default();
|
|
70
70
|
console.info(
|