Generic portable values for already-authorized linear paper composition.
These values carry semantic roles, stable anchors, placement, and safe fallback policy. They intentionally contain no Relay grants, principals, visibility decisions, or resolved private values.
Summary
Types
@type role() :: :authored | :source | :generated | :discussion | :ink
@type t() :: %RelayMark.Composition{ layers: [RelayMark.Composition.Layer.t()], type: String.t(), version: pos_integer() }