Raw projected node plus graph-resolver metadata.
A seed node is the input to Figler.Scene.Graph resolution. It is not the
final effective node: resolver stages may clone it, patch fields, or attach
provenance. Override-related fields are intentionally structured even when
currently empty so the Elixir resolver can grow without changing public shape.
Summary
Functions
Builds a cloned seed node.
Builds seed nodes from a decoded generated Message struct.
Builds seed nodes from native graph seed records.
Builds a seed node from the current projected scene node.
Builds a seed node from a generated NodeChange struct, including initial
graph resolver metadata.
Builds a cloned seed only when later resolver stages need seed metadata.
Returns true when a cloned seed carries metadata used after clone population.
Converts a seed node to an internal graph node with parsed GUIDs.
Converts a seed node back to the public projected node struct.
Types
@type t() :: %Figler.Scene.Graph.Seed.Node{ component_guid: term(), component_key: term(), component_prop_assignments: term(), component_prop_defs: term(), component_prop_refs: term(), derived_symbol_data: term(), effect_style_guid: term(), fill_count: term(), fill_style_guid: term(), font_family: term(), font_postscript: term(), font_size: term(), font_style: term(), grid_style_guid: term(), guid: term(), locked: term(), name: term(), native_clone_seed: term(), node_type: term(), opacity: term(), origin: term(), origin_component_key: term(), override_key: term(), parent_guid: term(), position: term(), size: term(), source: term(), stack_horizontal_padding: term(), stack_mode: term(), stack_padding_bottom: term(), stack_padding_right: term(), stack_spacing: term(), stack_vertical_padding: term(), stroke_count: term(), stroke_style_guid: term(), symbol_id: term(), symbol_overrides: term(), text: term(), text_style_guid: term(), transform: term(), variable_consumption: term(), variable_data_values: term(), visible: term() }
Functions
@spec clone( t() | nil, Figler.Scene.Graph.GUID.graph_guid(), Figler.Scene.Graph.GUID.graph_guid() ) :: t() | nil
Builds a cloned seed node.
@spec from_message( Figler.Schema.Message.t() | map(), keyword() ) :: [t()]
Builds seed nodes from a decoded generated Message struct.
Builds seed nodes from native graph seed records.
@spec from_node(Figler.Scene.Node.t()) :: t()
Builds a seed node from the current projected scene node.
@spec from_node_change(Figler.Schema.NodeChange.t() | map()) :: t()
Builds a seed node from a generated NodeChange struct, including initial
graph resolver metadata.
@spec graph_clone( t() | nil, Figler.Scene.Graph.GUID.graph_guid(), Figler.Scene.Graph.GUID.graph_guid() ) :: t() | nil
Builds a cloned seed only when later resolver stages need seed metadata.
Returns true when a cloned seed carries metadata used after clone population.
@spec to_graph_node(t()) :: Figler.Scene.Node.t()
Converts a seed node to an internal graph node with parsed GUIDs.
@spec to_node(t()) :: Figler.Scene.Node.t()
Converts a seed node back to the public projected node struct.