/** * Screenshot capture module for Godot MCP Enhanced. * * Strategy: Run Godot in windowed mode so that the engine renders with a real * GPU context and we can grab the viewport texture. On Windows, headless mode * uses a dummy rendering server that returns null textures, so windowed mode * is the only reliable option. * * Platform logic: * - Windows: always windowed (headless rendering is not supported) * - Linux/macOS: try headless first (opengl3), fall back to windowed * * P4 SubViewport verdict (2026-06-06): SubViewport does NOT work in headless * mode. The dummy renderer's texture_storage returns null textures. Verified on * Godot 4.6.3 Windows headless. Fallback: improved BLANK_DETECTED hints. * * The bundled GDScript (screenshot_capture.gd) uses the process_frame signal * and call_deferred() to reliably load scenes and capture frames. */ export interface ScreenshotResult { success: boolean; imagePath?: string; fileSize?: number; width?: number; height?: number; error?: string; godotOutput?: string; } export interface ScreenshotOptions { godotPath: string; projectPath: string; scene?: string; outputPath: string; frameDelay?: number; viewportSize?: { width: number; height: number; }; timeout?: number; headless?: boolean; waitNode?: string; waitText?: string; } /** * Capture a screenshot of a Godot project scene. * * Runs a Godot instance with the screenshot_capture.gd script. The script * loads the target scene (if provided), waits for the requested number of * frames, then grabs the viewport texture and saves it as PNG. */ export declare function captureScreenshot(options: ScreenshotOptions): Promise; /** * Check if a screenshot result contains a BLANK_DETECTED warning. * Returns the hint text if blank detected, empty string otherwise. */ export declare function getBlankHint(godotOutput: string): string;