pub struct ImageNode {Show 35 fields
pub id: String,
pub name: Option<String>,
pub role: Option<String>,
pub asset: String,
pub x: Option<PropertyValue>,
pub y: Option<PropertyValue>,
pub w: Option<PropertyValue>,
pub h: Option<PropertyValue>,
pub src_x: Option<Dimension>,
pub src_y: Option<Dimension>,
pub src_w: Option<Dimension>,
pub src_h: Option<Dimension>,
pub fit: Option<String>,
pub clip: Option<String>,
pub clip_radius: Option<PropertyValue>,
pub object_position_x: Option<ObjectPosition>,
pub object_position_y: Option<ObjectPosition>,
pub opacity: Option<f64>,
pub shadow: Option<PropertyValue>,
pub filter: Option<PropertyValue>,
pub mask: Option<PropertyValue>,
pub blend_mode: Option<String>,
pub blur: Option<Dimension>,
pub visible: Option<bool>,
pub locked: Option<bool>,
pub rotate: Option<Dimension>,
pub style: Option<String>,
pub anchor: Option<String>,
pub anchor_zone: Option<String>,
pub anchor_sibling: Option<String>,
pub anchor_edge: Option<String>,
pub anchor_gap: Option<Dimension>,
pub anchor_parent: Option<bool>,
pub source_span: Option<Span>,
pub unknown_props: BTreeMap<String, UnknownProperty>,
}Expand description
An image node — a LEAF that draws a raster (PNG) asset into a declared
[x, y, w, h] box with a fit mode, ALWAYS clipped to that box
(normative image box-clip).
The asset field references an AssetDecl by its
stable id, declared in the document’s assets {} block.
Fields§
§id: String§name: Option<String>§role: Option<String>§asset: StringRequired: the referenced asset id (matches an AssetDecl.id).
x: Option<PropertyValue>§y: Option<PropertyValue>§w: Option<PropertyValue>§h: Option<PropertyValue>§src_x: Option<Dimension>Optional source-sub-rectangle: left edge within the source image (pixels).
All four src-* fields must be present together; partial presence is a hard
error (image.partial_src_rect). Absent ⇒ the full source image is used.
src_y: Option<Dimension>Source-sub-rectangle: top edge within the source image (pixels).
src_w: Option<Dimension>Source-sub-rectangle: width within the source image (pixels, must be > 0).
src_h: Option<Dimension>Source-sub-rectangle: height within the source image (pixels, must be > 0).
fit: Option<String>Fit mode string (contain/cover/stretch/none); validated, not
enum-typed in the AST so unknown values survive for forward-compat.
clip: Option<String>Clip-to-shape mode ("ellipse"/"rounded"/"rect"); absent or an
unrecognized value means the default rectangular box-clip. Validated as a
plain string so unknown values survive for forward-compat.
clip_radius: Option<PropertyValue>Corner radius for clip="rounded", as a (token) dimension ref. Only
meaningful when clip="rounded"; absent → radius 0 (sharp corners).
object_position_x: Option<ObjectPosition>Horizontal object-position anchor (string anchor or (pct)N).
object_position_y: Option<ObjectPosition>Vertical object-position anchor (string anchor or (pct)N).
opacity: Option<f64>§shadow: Option<PropertyValue>Drop shadow / outer glow, as a (token) ref to a shadow token.
filter: Option<PropertyValue>Color/image filter ops, as a (token) ref to a filter token.
mask: Option<PropertyValue>Spatial coverage mask, as a (token) ref to a mask token.
blend_mode: Option<String>Compositing blend mode: "normal" (default) or one of the 11 separable
blends. None/"normal" render source-over (byte-identical).
blur: Option<Dimension>Gaussian blur radius applied to the node’s own rendered ink (sigma in
the declared unit, resolved to pixels at compile time). None / 0 →
no blur (byte-identical to having no attribute).
visible: Option<bool>§locked: Option<bool>§rotate: Option<Dimension>§style: Option<String>§anchor: Option<String>Page-relative placement anchor (one of the nine named positions, e.g.
"bottom-right"). When present and recognized, the compile step derives
the node’s x and/or y from the page and node dimensions. An explicitly-
authored x or y always wins.
anchor_zone: Option<String>Optional safe-zone id selecting the reference rectangle for anchor
(page-relative when absent). See Anchor.
anchor_sibling: Option<String>Optional sibling node id for sibling-relative anchor positioning.
See RectNode::anchor_sibling.
anchor_edge: Option<String>Adjacent-placement edge relative to anchor-sibling: above/below/before/after.
See RectNode::anchor_edge.
anchor_gap: Option<Dimension>Gap (px) between this node and its anchor-sibling edge when anchor-edge is set.
See RectNode::anchor_gap.
anchor_parent: Option<bool>Parent-relative anchor toggle. See RectNode::anchor_parent.
source_span: Option<Span>Source declaration span, when available.
unknown_props: BTreeMap<String, UnknownProperty>Unknown properties preserved for forward-compat.