@remix_labs/machine-starter 2.2786.0-dev → 2.2792.0-dev
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/common.js +13 -42
- package/groovebox_build.js +1 -1
- package/package.json +2 -2
- package/start.js +1 -1
package/common.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { GROOVEBOX_BUILD } from "./groovebox_build.js";
|
|
2
2
|
import { nanoid } from "nanoid";
|
|
3
|
+
import { MixcoreTauri } from "mixcore";
|
|
3
4
|
|
|
4
5
|
let workers = {};
|
|
5
6
|
let children = {};
|
|
@@ -63,10 +64,10 @@ async function StartWASM2(hub, config) {
|
|
|
63
64
|
let worker = globalThis.GetMachineWASMWorker();
|
|
64
65
|
workers[config.vmID] = worker;
|
|
65
66
|
let localFFIs = config.localFFIs || {};
|
|
66
|
-
let
|
|
67
|
-
if (
|
|
67
|
+
let mixcore = await getMixcore(config.mixcore);
|
|
68
|
+
if (mixcore) {
|
|
68
69
|
delete config.mixcore;
|
|
69
|
-
|
|
70
|
+
await assignMixcoreLocalFFIs(localFFIs, mixcore);
|
|
70
71
|
}
|
|
71
72
|
let localFFIkind = {};
|
|
72
73
|
let localFFIfuns = {};
|
|
@@ -345,55 +346,25 @@ class FFIComm {
|
|
|
345
346
|
}
|
|
346
347
|
}
|
|
347
348
|
|
|
348
|
-
async function
|
|
349
|
+
async function getMixcore(config) {
|
|
349
350
|
let mixcore;
|
|
350
351
|
switch (config?.kind) {
|
|
351
352
|
case 'mixcore':
|
|
352
|
-
|
|
353
|
-
break;
|
|
353
|
+
return config.mixcore;
|
|
354
354
|
case 'tauri':
|
|
355
|
-
|
|
356
|
-
break;
|
|
355
|
+
return await MixcoreTauri(config.workspace, config.app);
|
|
357
356
|
default:
|
|
358
357
|
return;
|
|
359
358
|
}
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
async function assignMixcoreLocalFFIs(localFFIs, mixcore) {
|
|
360
362
|
let names = await mixcore.ffiNames();
|
|
361
|
-
|
|
362
|
-
|
|
363
|
+
for (let name of names) {
|
|
364
|
+
localFFIs[name] = {
|
|
363
365
|
isRaw: true,
|
|
364
366
|
run: (conn, argsBuf) => mixcore.ffiDispatch(conn.call_id, name, argsBuf),
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
|
|
368
|
-
// tauri commands cannot be dispatched in the worker, so we have to do it here
|
|
369
|
-
class MixcoreTauri {
|
|
370
|
-
|
|
371
|
-
constructor(id) {
|
|
372
|
-
this.id = id;
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
static async create(workspace, app) {
|
|
376
|
-
let id = await window.__TAURI__.core.invoke(
|
|
377
|
-
"mixcore_setup",
|
|
378
|
-
{ workspace, app },
|
|
379
|
-
);
|
|
380
|
-
return new MixcoreTauri(id);
|
|
381
|
-
}
|
|
382
|
-
|
|
383
|
-
async ffiNames() {
|
|
384
|
-
return await window.__TAURI__.core.invoke(
|
|
385
|
-
"mixcore_ffi_names",
|
|
386
|
-
{id: this.id},
|
|
387
|
-
);
|
|
388
|
-
}
|
|
389
|
-
|
|
390
|
-
async ffiDispatch(co, name, argsBuf32) {
|
|
391
|
-
let argsBuf = Array.from(new Uint8Array(argsBuf32.buffer));
|
|
392
|
-
let resBuf = await window.__TAURI__.core.invoke(
|
|
393
|
-
"mixcore_ffi_dispatch",
|
|
394
|
-
{ id: this.id, co, name, argsBuf },
|
|
395
|
-
);
|
|
396
|
-
return new Uint8Array(resBuf);
|
|
367
|
+
};
|
|
397
368
|
}
|
|
398
369
|
}
|
|
399
370
|
|
package/groovebox_build.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var GROOVEBOX_BUILD = "
|
|
1
|
+
var GROOVEBOX_BUILD = "3050";
|
|
2
2
|
export { GROOVEBOX_BUILD }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remix_labs/machine-starter",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2792.0-dev",
|
|
4
4
|
"description": "start the groove",
|
|
5
5
|
"main": "node.js",
|
|
6
6
|
"browser": "index.js",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"author": "Remixlabs staff",
|
|
12
12
|
"license": "ISC",
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@remix_labs/hub-client": "2.
|
|
14
|
+
"@remix_labs/hub-client": "2.2792.0-dev",
|
|
15
15
|
"nanoid": "^5.0.2",
|
|
16
16
|
"web-worker": "^1.2.0"
|
|
17
17
|
},
|
package/start.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Process from "process";
|
|
2
2
|
import { StartWASM2, Hub } from "./node.js";
|
|
3
3
|
import { MixcoreWasm, MixcoreWasmApi } from "mixcore";
|
|
4
|
-
import { mixcoreWasmCode } from './mixcore-wasm
|
|
4
|
+
import { mixcoreWasmCode } from './mixcore-wasm.js';
|
|
5
5
|
import { WASI, OpenFile, File, Directory, PreopenDirectory, ConsoleStdout } from "@bjorn3/browser_wasi_shim";
|
|
6
6
|
function importCode(base64) {
|
|
7
7
|
let binstr = atob(base64);
|