import type { RendererChoice } from '../browser-gl.js'; import type { VerifyPlatform } from './platform.js'; /** * The URL verify boots the game at — one place, because one-shot and watch * mode were already building it separately and drift here is invisible until * a run silently stops pinning the renderer or asking for the event session. * * `?renderer=` pins the pipeline so the verdict does not depend on a stale * localStorage preference. `?eventlog=1` asks the engine to run a passive * GameEventLog session for the semantic-events probe — an engine too old to * know the param ignores it, and the probe then reads null ("not observed"). * * `?platform=mobile` is the engine's own boot override and wins over every * device probe (`isMobileRuntime.ts`), which is what makes the mobile run * exercise the real branch — the touch HUD, the pixel-ratio clamp, the * level-detail tier, the light warmup — rather than a resized desktop page. * A desktop run sends NO platform param rather than `?platform=desktop`, so a * vendored engine that predates the override boots exactly as it always has. */ export declare function buildVerifyUrl(port: number, renderer: RendererChoice, platform?: VerifyPlatform): string;