pub struct Frame {Show 20 fields
pub id: EntityId,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
pub parent_frame: Option<EntityId>,
pub blocks: Vec<EntityId>,
pub child_order: Vec<i64>,
pub fmt_height: Option<i64>,
pub fmt_width: Option<i64>,
pub fmt_top_margin: Option<i64>,
pub fmt_bottom_margin: Option<i64>,
pub fmt_left_margin: Option<i64>,
pub fmt_right_margin: Option<i64>,
pub fmt_padding: Option<i64>,
pub fmt_border: Option<i64>,
pub fmt_position: Option<FramePosition>,
pub fmt_is_blockquote: Option<bool>,
pub fmt_semantic_role: Option<SemanticRole>,
pub table: Option<EntityId>,
pub byte_range: (u32, u32),
pub footnote_label: Option<String>,
}Fields§
§id: EntityId§created_at: DateTime<Utc>§updated_at: DateTime<Utc>§parent_frame: Option<EntityId>§blocks: Vec<EntityId>§child_order: Vec<i64>§fmt_height: Option<i64>§fmt_width: Option<i64>§fmt_top_margin: Option<i64>§fmt_bottom_margin: Option<i64>§fmt_left_margin: Option<i64>§fmt_right_margin: Option<i64>§fmt_padding: Option<i64>§fmt_border: Option<i64>§fmt_position: Option<FramePosition>§fmt_is_blockquote: Option<bool>§fmt_semantic_role: Option<SemanticRole>What this frame is, when a blockquote stands in for something a format can
name semantically (an epigraph). None for an ordinary quotation.
table: Option<EntityId>§byte_range: (u32, u32)Rope byte range occupied by this frame’s contents. Plan §1.6
invariant: all blocks in Frame.blocks have byte ranges
contained within this range, and no two frames’ ranges
overlap. Empty/unset = (0, 0). Internal field — not
surfaced through DTOs.
footnote_label: Option<String>The footnote this frame is the body of, identified by the label its
references name it with. None for every ordinary frame.
A definition is arbitrary block content, so it needs a frame of its own exactly as a table cell does — but unlike a cell it is not part of the flow it was written in: it belongs at the foot of a page, the end of a chapter, or wherever the format puts notes. So it is a detached top-level frame, reachable by label rather than by position.
Hand-maintained beside byte_range above, for the same reason.