pub struct ConnectorNode {Show 21 fields
pub id: String,
pub name: Option<String>,
pub role: Option<String>,
pub from: Option<String>,
pub to: Option<String>,
pub from_anchor: Option<String>,
pub to_anchor: Option<String>,
pub route: Option<String>,
pub marker_start: Option<String>,
pub marker_end: Option<String>,
pub stroke: Option<PropertyValue>,
pub stroke_width: Option<PropertyValue>,
pub opacity: Option<f64>,
pub visible: Option<bool>,
pub locked: Option<bool>,
pub rotate: Option<Dimension>,
pub style: Option<String>,
pub text_style: Option<String>,
pub spans: Vec<TextSpan>,
pub source_span: Option<Span>,
pub unknown_props: BTreeMap<String, UnknownProperty>,
}Expand description
A connector node — a semantic arrow that declares from/to target node
ids and, at COMPILE time, resolves those targets’ bounding boxes to draw a
straight line between anchor points on their edges.
A connector has NO authored geometry (x/y/w/h): its endpoints are
DERIVED from the resolved boxes of from and to, so when a target moves
the connector reroutes automatically (the boxes are recomputed each compile).
It is a stroke-only LEAF: it has a stroke/stroke_width (no fill).
An optional owned label is authored as span children inside the
connector’s { … } block (the same model as a shape or text node).
When spans are present the label is rendered at the geometric midpoint of the
routed polyline, centered in a small auto-sized text box. text-style is
the style ref applied to those spans. When spans is empty (the default)
the connector renders exactly as today — no extra output, byte-identical.
Unit 1 renders a STRAIGHT line between the two resolved anchors with NO
arrowhead markers (Unit 2) and NO orthogonal routing (Unit 3); the route
and marker_* attributes are stored + validated now but render straight /
headless until those units land.
Fields§
§id: String§name: Option<String>§role: Option<String>§from: Option<String>The source target node id (the box the arrow starts from).
to: Option<String>The destination target node id (the box the arrow points to).
from_anchor: Option<String>Source-edge anchor (top/bottom/left/right/center/auto).
Absent or unrecognized is treated as "auto" at compile time.
to_anchor: Option<String>Destination-edge anchor (top/bottom/left/right/center/auto).
route: Option<String>Routing mode (straight(default)/orthogonal). Orthogonal is Unit 3:
stored + validated now, rendered as a straight line until then.
marker_start: Option<String>Start-cap marker (none(default)/arrow). Markers are Unit 2: stored +
validated now, rendered headless until then.
marker_end: Option<String>End-cap marker (none(default)/arrow). Markers are Unit 2.
stroke: Option<PropertyValue>§stroke_width: Option<PropertyValue>§opacity: Option<f64>§visible: Option<bool>§locked: Option<bool>§rotate: Option<Dimension>§style: Option<String>§text_style: Option<String>Style ref applied to the owned label text (mirrors ShapeNode::text_style).
None when no label style is authored (label inherits document defaults).
spans: Vec<TextSpan>The owned label spans rendered at the connector’s midpoint. Empty (the
default) means no label — the connector renders exactly as a span-less
connector. Same model as ShapeNode::spans and TextNode::spans.
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 ConnectorNode
impl Clone for ConnectorNode
Source§fn clone(&self) -> ConnectorNode
fn clone(&self) -> ConnectorNode
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 ConnectorNode
impl Debug for ConnectorNode
Source§impl PartialEq for ConnectorNode
impl PartialEq for ConnectorNode
Source§fn eq(&self, other: &ConnectorNode) -> bool
fn eq(&self, other: &ConnectorNode) -> bool
self and other values to be equal, and is used by ==.