Executes a normalised pipeline against an open Vix.Vips.Image.
The interpreter is a single Enum.reduce_while/3 over the op list
with one apply_op/2 clause per op kind. There is no implicit
reordering — Image.Plug.Pipeline.Normaliser runs first, so the
ops arrive in canonical order with no-ops already folded away.
Summary
Functions
Runs the pipeline.
Functions
@spec execute(Image.Plug.Pipeline.t(), Vix.Vips.Image.t(), keyword()) :: {:ok, Vix.Vips.Image.t()} | {:error, Image.Plug.Error.t()}
Runs the pipeline.
Arguments
pipelineis a normalisedImage.Plug.Pipelinestruct.imageis an openVix.Vips.Image.optionsis a keyword list of context the interpreter may need for ops that reference external resources.
Options
:resolve_layer_source— a 1-arity functionfn %Image.Plug.Source{} -> {:ok, Vix.Vips.Image.t()} | {:error, term()} endused by theImage.Plug.Pipeline.Ops.Drawclause to fetch overlay images. The plug passes a closure over its configuredImage.Plug.SourceResolver. If omitted and a Draw op is encountered, the interpreter returns:invalid_option.
Returns
{:ok, image}on success.{:error, %Image.Plug.Error{}}on the first failed op.