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 install::install_browser;
pub use install::managed_root;
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
install
Downloading a known-good browser.
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.