Lightweight projected scene node.
This is a flattened projection of Figler.Schema.NodeChange, backed by the
generated Kiwi schema metadata at compile time. It is intentionally smaller
than NodeChange so large scenes can be indexed without materializing every
schema field.
Summary
Functions
Returns projected scene node field names.
Returns the ParentIndex fields flattened into this projection.
Returns the NodeChange fields consumed by this projection.
Returns the generated Kiwi schema module this projection is derived from.
Types
@type t() :: %Figler.Scene.Node{ children: term(), component_key: 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(), node_type: term(), opacity: term(), origin_component_key: term(), parent_guid: term(), position: term(), size: term(), stroke_count: term(), stroke_style_guid: term(), text: term(), text_style_guid: term(), transform: term(), visible: term() }
Functions
@spec field_names() :: [atom()]
Returns projected scene node field names.
@spec parent_index_source_fields() :: [atom()]
Returns the ParentIndex fields flattened into this projection.
@spec source_fields() :: [atom()]
Returns the NodeChange fields consumed by this projection.
@spec source_module() :: module()
Returns the generated Kiwi schema module this projection is derived from.