Skip to main content

Crate qa_inspect_host

Crate qa_inspect_host 

Source
Expand description

Host a Blitz document over the inspection socket, with no window.

§Why this exists

A component sweep drives one component at a time and asks what happens when a control is pressed. Answering that needs a live document on the other end of a socket: a screenshot says only that something painted, and a semantic tree written to a file says only what was on screen at one instant, so every check involving a click is undecidable against either.

Hosting that socket used to require opening a window, because AgentControlServer::start was private to the runtime. A sweep of 71 components then meant 71 windows over whatever the person at the machine was doing. Nothing about the server needs a window, and this is what that fact buys: a process that owns a document, serves inspection and only paints offscreen when a visual assertion explicitly asks for pixels.

§Why it is not part of ps-qa

ps-qa is forbidden from depending on blitz, tauri, winit or wgpu, so that driving a control does not build a browser engine. A host has to link a renderer. They are two crates for that reason, talking over the socket.

§Use

QA_INSPECT_PAGE=/path/to/one/components/dist qa-inspect-host

It prints its descriptor path on stdout when it is ready, then serves until killed. ps-qa sweep-components launches one of these per component and waits for that line.

Functions§

serve