@ggez/workers 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -0
- package/dist/index.d.ts +71 -0
- package/dist/index.js +2320 -0
- package/dist/index.js.map +1 -0
- package/package.json +47 -0
package/README.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# @ggez/workers
|
|
2
|
+
|
|
3
|
+
Worker task contracts and manager utilities for Web Hammer.
|
|
4
|
+
|
|
5
|
+
Use this package for worker-facing task definitions and export helpers shared between the editor shell and background processing code.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
bun add @ggez/workers
|
|
11
|
+
```
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { SceneDocumentSnapshot } from '@ggez/editor-core';
|
|
2
|
+
import { WebHammerEngineBundle } from '@ggez/runtime-build';
|
|
3
|
+
|
|
4
|
+
declare const workerIds: readonly ["geometryWorker", "meshWorker", "navWorker", "exportWorker"];
|
|
5
|
+
type WorkerId = (typeof workerIds)[number];
|
|
6
|
+
type WorkerTask = {
|
|
7
|
+
worker: "geometryWorker";
|
|
8
|
+
task: "brush-rebuild" | "clip" | "triangulation";
|
|
9
|
+
} | {
|
|
10
|
+
worker: "meshWorker";
|
|
11
|
+
task: "triangulation" | "loop-cut" | "bevel";
|
|
12
|
+
} | {
|
|
13
|
+
worker: "navWorker";
|
|
14
|
+
task: "navmesh";
|
|
15
|
+
} | {
|
|
16
|
+
worker: "exportWorker";
|
|
17
|
+
task: "ai-model-generate" | "engine-format" | "gltf" | "usd" | "whmap-load" | "whmap-save";
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
type WorkerJobStatus = "queued" | "running" | "completed";
|
|
21
|
+
type WorkerJob = {
|
|
22
|
+
id: string;
|
|
23
|
+
label: string;
|
|
24
|
+
status: WorkerJobStatus;
|
|
25
|
+
task: WorkerTask;
|
|
26
|
+
};
|
|
27
|
+
type Listener = (jobs: WorkerJob[]) => void;
|
|
28
|
+
type WorkerTaskManager = {
|
|
29
|
+
enqueue: (task: WorkerTask, label: string, durationMs?: number) => string;
|
|
30
|
+
getJobs: () => WorkerJob[];
|
|
31
|
+
subscribe: (listener: Listener) => () => void;
|
|
32
|
+
};
|
|
33
|
+
declare function createWorkerTaskManager(): WorkerTaskManager;
|
|
34
|
+
|
|
35
|
+
type WorkerExportKind = "whmap-load" | "whmap-save" | "engine-export" | "gltf-export" | "ai-model-generate";
|
|
36
|
+
type WorkerRequest = {
|
|
37
|
+
id: string;
|
|
38
|
+
kind: "whmap-save";
|
|
39
|
+
snapshot: SceneDocumentSnapshot;
|
|
40
|
+
} | {
|
|
41
|
+
id: string;
|
|
42
|
+
kind: "whmap-load";
|
|
43
|
+
text: string;
|
|
44
|
+
} | {
|
|
45
|
+
id: string;
|
|
46
|
+
kind: "engine-export" | "gltf-export";
|
|
47
|
+
snapshot: SceneDocumentSnapshot;
|
|
48
|
+
} | {
|
|
49
|
+
id: string;
|
|
50
|
+
kind: "ai-model-generate";
|
|
51
|
+
prompt: string;
|
|
52
|
+
};
|
|
53
|
+
type WorkerResponse = {
|
|
54
|
+
id: string;
|
|
55
|
+
kind: WorkerExportKind;
|
|
56
|
+
ok: true;
|
|
57
|
+
payload: string | SceneDocumentSnapshot | WebHammerEngineBundle;
|
|
58
|
+
} | {
|
|
59
|
+
id: string;
|
|
60
|
+
kind: WorkerExportKind;
|
|
61
|
+
ok: false;
|
|
62
|
+
error: string;
|
|
63
|
+
};
|
|
64
|
+
declare function executeWorkerRequest(request: WorkerRequest): Promise<WorkerResponse>;
|
|
65
|
+
declare function serializeWhmap(snapshot: SceneDocumentSnapshot): string;
|
|
66
|
+
declare function parseWhmap(text: string): SceneDocumentSnapshot;
|
|
67
|
+
declare function serializeEngineScene(snapshot: SceneDocumentSnapshot): Promise<string>;
|
|
68
|
+
declare function exportEngineBundle(snapshot: SceneDocumentSnapshot): Promise<WebHammerEngineBundle>;
|
|
69
|
+
declare function serializeGltfScene(snapshot: SceneDocumentSnapshot): Promise<string>;
|
|
70
|
+
|
|
71
|
+
export { type WorkerExportKind, type WorkerId, type WorkerJob, type WorkerJobStatus, type WorkerRequest, type WorkerResponse, type WorkerTask, type WorkerTaskManager, createWorkerTaskManager, executeWorkerRequest, exportEngineBundle, parseWhmap, serializeEngineScene, serializeGltfScene, serializeWhmap, workerIds };
|