pub struct ConvertPlan {
pub input: String,
pub input_pages: Option<PageSelector>,
pub ops: Vec<Op>,
pub output: String,
pub output_template: Option<PrintfTemplate>,
pub ping: bool,
pub probe: bool,
pub probe_json: bool,
pub probe_watch: bool,
pub mesh3d_options: Mesh3DOptions,
}Expand description
The parsed result of one oxideav convert invocation.
Fields§
§input: StringInput URI WITH any [N]/[N-M] page selector stripped.
Currently exactly one — IM’s multi-input stack is a documented
follow-up.
input_pages: Option<PageSelector>Page selector parsed from the input arg’s […] suffix, when
present. None means “all pages” for Scene-shaped inputs and
is ignored for raster inputs.
ops: Vec<Op>Chain of operations in source order.
output: StringOutput path (literal). Empty string when ping is on and the
caller omitted it.
output_template: Option<PrintfTemplate>Parsed printf template if output contains %[0-9]*d. Used by
the convert runner to fan out per-page when the input is a
Scene-shaped source (PDF) and the output codec doesn’t natively
accept Scenes.
ping: bool-ping mode — read only the headers, print one IM-format line
per “image” (page / video stream) to stdout, skip pixel decode
and any output write. Output positional becomes optional.
probe: bool--probe mode — decode the input far enough to extract
structural metadata (page count, mesh count, sample rate, …),
print a compact summary to stdout, and skip any output write.
Mutually exclusive with an output positional: --probe in.gltf
is the supported shape; --probe in.gltf out.obj errors at
the parser. The summary defaults to a pretty-printed
key: value block; pair with probe_json
for a single-line JSON object instead.
probe_json: bool--json mode — emit machine-readable JSON instead of the
pretty-printed summary. Today this only applies to --probe;
passing --json without --probe is a parser-level error
since there’s nothing else for it to format.
probe_watch: bool--watch mode (paired with --probe) — re-run the probe
whenever the input file’s mtime changes. Each re-probe emits a
fresh summary; in JSON mode each summary is on its own line so
convert --probe --json --watch in.png | jq is well-formed
JSON-lines. Polls the input mtime once per second; the loop
runs forever and exits only on Ctrl+C / signal. Useful for
live-monitoring a render-in-progress.
mesh3d_options: Mesh3DOptionsPer-format encoder options for the 3D side-channel
(-stl-format, -gltf-format, …). Default = “use the
registry’s default factory for each format” so callers who
don’t pass any of these flags see no behaviour change.
Trait Implementations§
Source§impl Clone for ConvertPlan
impl Clone for ConvertPlan
Source§fn clone(&self) -> ConvertPlan
fn clone(&self) -> ConvertPlan
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more