34 lines
898 B
TypeScript
34 lines
898 B
TypeScript
import type { ErrorReport } from "./error";
|
|
import type { ProgressEvent } from "./progress";
|
|
import type { SceneSnapshotIR } from "./scene-ir";
|
|
|
|
export type EngineCommand =
|
|
| { type: "init"; protocolVersion: number }
|
|
| { type: "getSceneSnapshot"; sinceRevision?: number }
|
|
| { type: "setFrame"; frame: number }
|
|
| { type: "setObjectVisibility"; objectId: string; visible: boolean }
|
|
| { type: "shutdown" };
|
|
|
|
export interface EngineRequest {
|
|
requestId: string;
|
|
expectedRevision: number;
|
|
command: EngineCommand;
|
|
}
|
|
|
|
export interface EngineCapabilities {
|
|
engine: "mock" | "blender-wasm";
|
|
protocolVersion: number;
|
|
supportsBlend: boolean;
|
|
supportsMeshEdit: boolean;
|
|
}
|
|
|
|
export interface EngineResponse {
|
|
requestId: string;
|
|
ok: boolean;
|
|
revision: number;
|
|
capabilities?: EngineCapabilities;
|
|
snapshot?: SceneSnapshotIR;
|
|
progress?: ProgressEvent;
|
|
reports?: ErrorReport[];
|
|
}
|