flash555588_ai-model-workbench/src/render/preview/grid.ts
flash555588 d362c5d1ec Default previews to Babylon compatibility mode
Add load interruption handling, camera zoom controls, refreshed measurement UI, diagnostics/default-route coverage, and aligned docs for the Babylon-default renderer contract.
2026-06-27 19:17:52 +08:00

25 lines
863 B
TypeScript

import type { GridBlockConfig, ModelConfig, PresetResult } from "../../domain/models";
import type { CameraZoomPreview } from "./types";
export interface PreviewGridRenderer extends CameraZoomPreview {
loadModels(
models: ModelConfig[],
config: GridBlockConfig,
readFile: (path: string) => Promise<ArrayBuffer>,
): Promise<void>;
loadWithPreset(
result: PresetResult,
readFile: (path: string) => Promise<ArrayBuffer>,
): Promise<void>;
captureSnapshot(): string | null;
setRenderScale(scale: number): number;
resetView(): void;
toggleWireframe(): boolean;
exportModelInfo(): string;
destroy(): void;
}
export async function createGridRenderer(canvas: HTMLCanvasElement): Promise<PreviewGridRenderer> {
const { createBabylonGridRenderer } = await import("../babylon/grid");
return createBabylonGridRenderer(canvas);
}