Files
2026-08-12 04:47:48 -04:00

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[];
}