Skip to main content

Crate kallo_api

Crate kallo_api 

Source
Expand description

The use case, apart from the interface that asked for it.

kallo-core is the model; this crate is what you do with it. A photograph is read once, metered, developed at a time and printed on a paper; a contact proof is the same photograph exposed once through a ladder of times; a roll is both, from one decode. All of it was written inside kalo first, where the only way to reach it was a command line. It lives here now because the app reaches the same work through a function call, and two implementations of “develop a roll” would be one too many.

The entry points are render(), contact() and roll(). The first two take a decoded image; the third reads the photograph itself, because a roll is exactly the case where reading it once matters. A bench session (PreviewSession) is the same idea for a window: read the photograph once, then print as many previews of it as the person drags past.

Re-exports§

pub use chart::FilmCurve;
pub use chart::FrameChart;
pub use chart::PaperChart;
pub use chart::PrintChart;
pub use chart::PrintChartOptions;
pub use chart::chart;
pub use chart::chart_for;
pub use chart::film_curve;
pub use chart::paper_chart;
pub use chart::print_chart;
pub use chart::print_chart_with;
pub use contact::ContactOptions;
pub use contact::ContactOutcome;
pub use contact::contact;
pub use contact::ladder;
pub use device::RenderDevice;
pub use device::render_device;
pub use error::Error;
pub use input::read_input;
pub use preview::PreviewFrame;
pub use preview::PreviewRequest;
pub use preview::PreviewSession;
pub use render::Backend;
pub use render::Exposure;
pub use render::OwnedFinishing;
pub use render::RenderOptions;
pub use render::RenderOutcome;
pub use render::render;
pub use render::render_image;
pub use roll::Progress;
pub use roll::RollOutcome;
pub use roll::RollRequest;
pub use roll::roll;
pub use selection::Selection;
pub use selection::StockChoice;
pub use selection::camera_profile;
pub use selection::check_model;
pub use selection::resolve;

Modules§

catalogue
The catalogue: what is compiled in, as a document a program can read.
chart
What the developed strip did, as a densitometer reads it.
contact
The proof: the whole ladder on one sheet, exposed once.
device
What this machine would render on.
error
Failures a user can cause, with enough context to fix them.
input
Reading the photograph: an ordinary image, or a camera raw.
preview
The bench’s session: one decode, many previews of it.
render
One photograph, developed at one time and printed on one paper.
roll
A roll: one photograph, one decode, five developments and a proof.
selection
Which stocks, which sensor, which exposure — the choices a render is made of.