Skip to main content

Crate proofsheet_core

Crate proofsheet_core 

Source
Expand description

§proofsheet-core

Local-first browser control for two jobs that turn out to be the same job: producing store-ready screenshots at exact dimensions, and running deterministic tests against a real browser.

Both need the same three things — a driver, a way to make the page stop being nondeterministic, and a record of what happened that can be checked later. So they share one core.

§Design commitments

  • The model never authors code or selectors. Actions are typed; the runtime composes them. A free-text field in a tool schema is grammar-constrained to any text, so the field is removed rather than validated after the fact.
  • Output pixels are the source of truth. Stores specify pixels; the viewport is derived. See device.
  • Determinism is injected, not hoped for. See determinism.
  • Nothing is claimed without a negative control. A check that cannot fail on correct input is not evidence.

§Dependencies

Deliberately small. No async runtime, no browser automation framework: a tool people install should not drag a dependency tree behind it.

Re-exports§

pub use capture::capture;
pub use capture::Capture;
pub use capture::CaptureRequest;
pub use capture::Environment;
pub use capture::Stability;
pub use cdp::find_browser;
pub use cdp::Browser;
pub use cdp::LaunchOptions;
pub use determinism::Determinism;
pub use device::builtin;
pub use device::by_id;
pub use device::for_store;
pub use device::Device;
pub use device::Platform;
pub use device::Requirement;
pub use device::Store;
pub use error::Error;
pub use error::Result;
pub use progress::Collector;
pub use progress::DeviceEvent;
pub use progress::Outcome;
pub use progress::Progress;
pub use progress::Silent;
pub use progress::Summary;
pub use progress::Tally;
pub use run::run;
pub use run::DeviceResult;
pub use run::RunOptions;
pub use run::RunReport;

Modules§

capture
Capturing one image, at exactly the size a store demands.
cdp
Launching a headless Chromium and speaking the DevTools Protocol to it.
determinism
The determinism preamble.
device
Device presets.
error
png
Just enough PNG to verify what the browser handed back.
progress
Progress reporting.
run
Driving a whole capture matrix.

Constants§

VERSION
The crate version, surfaced so receipts can record which build produced them.