/** * How verify boots one platform's browser check — one place, for the same reason `url.ts` is one * place: the one-shot command and the watch loop were assembling this block separately, and drift * here is invisible until a run quietly stops pinning the renderer, stops emulating the phone, or * starts capturing a screenshot the caller asked it not to. */ import type { RendererChoice } from '../browser-gl.js'; import type { MobileOrientation } from '../project/platform-declaration.js'; import type { VerifyArtifactPaths } from './artifacts.js'; import type { HeadlessCheckOptions } from './browser.js'; import type { VerifyPlatform } from './platform.js'; /** What every platform of one verify run shares; the per-platform parts are the other arguments * to `verifyCheckOptions` below. */ export interface VerifyRunSettings { /** The vite dev server's port — already up; the run only builds URLs from it. */ port: number; renderer: RendererChoice; /** Hard cap on the adaptive settle. */ settleMs: number; /** Skip the screenshot pipeline (default in watch mode). */ fast: boolean; /** Which way round the emulated phone is held. Ignored by a desktop check. */ orientation: MobileOrientation; } /** * No `?autostart=1`: verify presses the engine Play button like a real player would * (`startInteraction`), which both proves the menu came up AND that gameplay starts from it. * Autostart bypassed the menu — a game whose Play flow was broken could still pass. It is also * suppressed outright on mobile, where the tap supplies the user activation fullscreen-on-start * needs. */ export declare function verifyCheckOptions(run: VerifyRunSettings, platform: VerifyPlatform, paths: VerifyArtifactPaths): HeadlessCheckOptions;