pub struct PatternNode {Show 50 fields
pub id: String,
pub name: Option<String>,
pub role: Option<String>,
pub x: Option<PropertyValue>,
pub y: Option<PropertyValue>,
pub w: Option<PropertyValue>,
pub h: Option<PropertyValue>,
pub radius: Option<PropertyValue>,
pub radius_tl: Option<PropertyValue>,
pub radius_tr: Option<PropertyValue>,
pub radius_br: Option<PropertyValue>,
pub radius_bl: Option<PropertyValue>,
pub style: Option<String>,
pub fill: Option<PropertyValue>,
pub stroke: Option<PropertyValue>,
pub stroke_width: Option<PropertyValue>,
pub stroke_alignment: Option<String>,
pub stroke_dash: Option<PropertyValue>,
pub stroke_gap: Option<PropertyValue>,
pub stroke_linecap: Option<String>,
pub border_top: Option<PropertyValue>,
pub border_bottom: Option<PropertyValue>,
pub border_left: Option<PropertyValue>,
pub border_right: Option<PropertyValue>,
pub border_width: Option<PropertyValue>,
pub stroke_outer: Option<PropertyValue>,
pub stroke_outer_width: Option<PropertyValue>,
pub shadow: Option<PropertyValue>,
pub filter: Option<PropertyValue>,
pub mask: Option<PropertyValue>,
pub blend_mode: Option<String>,
pub blur: Option<Dimension>,
pub opacity: Option<f64>,
pub visible: Option<bool>,
pub locked: Option<bool>,
pub rotate: Option<Dimension>,
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 kind: String,
pub seed: Option<i64>,
pub count: Option<i64>,
pub spacing: Option<Dimension>,
pub jitter: Option<f64>,
pub motif: Box<Node>,
pub source_span: Option<Span>,
pub unknown_props: BTreeMap<String, UnknownProperty>,
}Expand description
A pattern node — a compact procedural primitive.
A pattern carries one TEMPLATE child — the motif —
a single Node that will be expanded deterministically into many native
shapes (a grid or scatter of the motif). The node currently renders nothing;
expansion is not yet implemented. The motif is NOT an addressable/rendered
node — id-collection, validation, anchor, and tx passes treat the pattern as
a LEAF and never descend into the motif.
The common visual/geometry fields mirror RectNode; the pattern-specific
fields (kind, seed, count, spacing, jitter) describe the expansion.
Fields§
§id: String§name: Option<String>§role: Option<String>§x: Option<PropertyValue>§y: Option<PropertyValue>§w: Option<PropertyValue>§h: Option<PropertyValue>§radius: Option<PropertyValue>§radius_tl: Option<PropertyValue>Per-corner radius overrides (top-left, top-right, bottom-right, bottom-left).
radius_tr: Option<PropertyValue>§radius_br: Option<PropertyValue>§radius_bl: Option<PropertyValue>§style: Option<String>§fill: Option<PropertyValue>§stroke: Option<PropertyValue>§stroke_width: Option<PropertyValue>§stroke_alignment: Option<String>§stroke_dash: Option<PropertyValue>Dash segment length in pixels; None = solid stroke.
stroke_gap: Option<PropertyValue>Gap length in pixels between dashes; defaults to stroke_dash when absent.
stroke_linecap: Option<String>Dash end-cap style: "butt" (default), "round", or "square".
border_top: Option<PropertyValue>Per-side border color for the top edge. Token-required (color token).
border_bottom: Option<PropertyValue>Per-side border color for the bottom edge. Token-required (color token).
border_left: Option<PropertyValue>Per-side border color for the left edge. Token-required (color token).
border_right: Option<PropertyValue>Per-side border color for the right edge. Token-required (color token).
border_width: Option<PropertyValue>Shared border width for per-side borders. Token-required (dimension).
stroke_outer: Option<PropertyValue>Outer stroke color: a SECOND stroke painted OUTSIDE the geometry.
stroke_outer_width: Option<PropertyValue>Outer stroke width for stroke_outer. Token-required (dimension).
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 separable blends.
blur: Option<Dimension>Gaussian blur radius applied to the node’s own rendered ink.
opacity: Option<f64>§visible: Option<bool>§locked: Option<bool>§rotate: Option<Dimension>§anchor: Option<String>Page-relative placement anchor. See RectNode::anchor.
anchor_zone: Option<String>Optional safe-zone reference for the anchor. See RectNode::anchor_zone.
anchor_sibling: Option<String>Optional sibling node id for sibling-relative anchor positioning.
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.
kind: StringRequired: the pattern kind ("grid" | "scatter"; freeform, validated later).
seed: Option<i64>Deterministic jitter seed.
count: Option<i64>Scatter: number of instances.
spacing: Option<Dimension>Grid: cell spacing.
jitter: Option<f64>Positional jitter amount in 0..1.
motif: Box<Node>The single template child shape expanded by the pattern (mandatory). This is a TEMPLATE, NOT an addressable/rendered node: id-collection, validation, anchor, and tx passes never descend into it.
source_span: Option<Span>Source declaration span, when available.
unknown_props: BTreeMap<String, UnknownProperty>Unknown properties preserved for forward-compat.
Trait Implementations§
Source§impl Clone for PatternNode
impl Clone for PatternNode
Source§fn clone(&self) -> PatternNode
fn clone(&self) -> PatternNode
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PatternNode
impl Debug for PatternNode
Source§impl PartialEq for PatternNode
impl PartialEq for PatternNode
Source§fn eq(&self, other: &PatternNode) -> bool
fn eq(&self, other: &PatternNode) -> bool
self and other values to be equal, and is used by ==.