Render states and regression¶
- async layoutlens.capture_state(source, *, viewport='desktop', timeout=30000, wait_for_selector=None, revision=None, browser='chromium', color_scheme='light', reduced_motion='reduce', locale='en-US', timezone_id='UTC', device_scale_factor=None)[source]¶
Capture a URL or HTML source as a portable render state.
- Parameters:
source (str | Path) – URL or local HTML file; screenshot-only inputs are unsupported.
viewport (ViewportType | tuple[int, int]) – Named browser viewport or (width, height) in CSS pixels.
timeout (int) – Navigation and readiness timeout in milliseconds.
wait_for_selector (str | None) – Optional application readiness selector.
revision (str | None) – Optional source revision recorded for later attribution.
browser (str) – Local Playwright engine: chromium, firefox, or webkit.
color_scheme (str) – Emulated light, dark, or no-preference color scheme.
reduced_motion (str) – Emulated reduce or no-preference motion preference.
locale (str) – Browser locale.
timezone_id (str) – Browser timezone.
device_scale_factor (float | None) – Optional DPR override for the viewport.
- Returns:
A versioned render state; use its save method to establish a baseline.
- Return type:
- async layoutlens.capture_page(page, *, source=None, timeout=30000, revision=None, config=None)[source]¶
Capture an already prepared page without changing its interaction state.
- Parameters:
page (Page) – Playwright page, including any caller-established interaction state.
source (str | None) – Source label recorded in the artifact.
timeout (int) – Maximum wait for fonts and images, in milliseconds.
revision (str | None) – Optional verified source revision label for attribution.
config (BrowserConfig | None) – Requested emulation settings recorded alongside measured conditions.
- Returns:
Browser measurements and screenshot with explicit completeness status.
- Return type:
- layoutlens.diff(before, after, *, tolerance_px=1, policy='qualified', qualifications=None, verifications=None, repository=None)[source]¶
Compare persisted measurements without a browser or model call.
- Parameters:
before (RenderState) – Baseline render state.
after (RenderState) – Candidate render state.
tolerance_px (float) – Significance tolerance for geometric movement in CSS pixels.
policy (GatePolicy) – Qualified gates by default, explicit findings, or report-only nothing.
qualifications (list[Qualification] | None) – Independent rule qualification records; none ship by default.
verifications (list[Verification] | None) – Recorded review or independent evidence for individual findings.
repository (str | Path | None) – Optional local repository for revision-verified git attribution.
- Returns:
Structured observations, candidate regressions, and completeness status.
- Return type:
- class layoutlens.RenderState(*, schema_version=2, source, environment, graph, capabilities=<factory>, geometry=<factory>, loading=<factory>, accessibility=<factory>, dom='', detector_evidence=<factory>, detector_config=<factory>, rule_version='1', coverage_gaps=<factory>, stable=True, revision=None, screenshot=b'')[source]¶
A replayable capture with screenshot bytes kept outside its manifest.
- Parameters:
- classmethod load(path)[source]¶
Load a versioned artifact and verify every referenced asset.
- Parameters:
- Return type:
- diff(after, **options)[source]¶
Compare this baseline with a candidate without opening a browser.
- Parameters:
after (RenderState)
options (Any)
- Return type:
- class layoutlens.DiffReport(*, schema_version=1, before, after, matches=<factory>, deltas=<factory>, incomplete_reasons=<factory>, policy='qualified', tolerance_px=1, explanation=None)[source]¶
Structured comparison whose gate status never depends on prose.
- Parameters:
- class layoutlens.VisualDelta(*, element, before_element=None, after_element=None, before_bbox=None, after_bbox=None, changed_properties=<factory>, pixel_region=<factory>, measured_delta=<factory>, defect_class=None, evidence=<factory>, severity='note', level='observation', status='changed', likely_source=<factory>, gateability=<factory>)[source]¶
Measured change, diagnosis, and independently evaluated gate decision.
- Parameters:
element (str)
before_element (str | None)
after_element (str | None)
defect_class (str | None)
severity (Literal['note', 'warning', 'error'])
level (Literal['observation', 'candidate', 'verified', 'gateable'])
status (Literal['changed', 'introduced', 'worsened', 'unchanged', 'resolved', 'unresolved'])
- class layoutlens.Qualification(*, rule, rule_version, configuration, conditions, dataset_sha256, independent, sealed, true_positives, false_positives, provenance)[source]¶
Independent, sealed precision evidence for one versioned rule.
- Parameters: