pub struct FieldNode {Show 28 fields
pub id: String,
pub name: Option<String>,
pub role: Option<String>,
pub field_type: String,
pub recto: Option<String>,
pub verso: Option<String>,
pub target: Option<String>,
pub folio_style: Option<String>,
pub suppress_first: Option<bool>,
pub x: Option<PropertyValue>,
pub y: Option<PropertyValue>,
pub w: Option<PropertyValue>,
pub h: Option<PropertyValue>,
pub style: Option<String>,
pub fill: Option<PropertyValue>,
pub font_family: Option<PropertyValue>,
pub font_size: Option<PropertyValue>,
pub opacity: Option<f64>,
pub visible: Option<bool>,
pub locked: Option<bool>,
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
A field node — an auto-resolved text placeholder for book interiors.
A field is a LEAF that, at compile time, resolves to a single-line text run against the page it is projected onto. It is the building block of the master-page / running-head / folio system: a master declares a field once (e.g. a running head or a page-number) and every page that uses the master gets the field resolved against that page’s index and parity.
Field types (v0):
"running-head"→ rendersFieldNode::rectoon odd (recto) pages andFieldNode::versoon even (verso) pages; an absent side renders nothing."page-number"→ renders the page’s folio (its 1-based index indoc.body.pages) as a decimal string."page-ref"→ renders the 1-based page index of the page that CONTAINS the node whose id equalsFieldNode::target(document-wide search). A missing target produces an advisoryfield.unresolved_refand renders nothing.
Geometry: when x/w are omitted the field defaults to the page’s live
area (so a running head auto-mirrors recto/verso x via the page margins).
y/h default to the live area’s top/height when omitted. The resolved run
is shaped like a single-line text node: running-head / page-number
default to align="center", page-ref to align="start".
Fields§
§id: String§name: Option<String>§role: Option<String>§field_type: StringThe field kind string ("running-head"/"page-number"/"page-ref").
Validated, not enum-typed, so unknown values survive for forward-compat.
recto: Option<String>Recto-side text for a running-head field (odd, 1-based pages).
verso: Option<String>Verso-side text for a running-head field (even pages).
target: Option<String>Target node id for a page-ref field.
folio_style: Option<String>Folio numbering style for numeric fields (page-number, page-count,
page-ref): "decimal" (default), "lower-roman", or "upper-roman".
Ignored by running-head. Unknown values fall back to decimal.
suppress_first: Option<bool>When true, a numeric field renders nothing on document page 1 (the
title page). Used to suppress the folio on the first page.
x: Option<PropertyValue>§y: Option<PropertyValue>§w: Option<PropertyValue>§h: Option<PropertyValue>§style: Option<String>§fill: Option<PropertyValue>§font_family: Option<PropertyValue>§font_size: Option<PropertyValue>§opacity: Option<f64>§visible: Option<bool>§locked: Option<bool>§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 reference for the anchor. See RectNode::anchor_zone.
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.