Renderer for sequence diagrams.
Draws participants as boxes at the top, vertical lifelines, horizontal message arrows between them, activation boxes, interaction blocks (loop/alt/opt/par), and notes.
Uses Boxart.Canvas for all drawing operations.
Summary
Types
@type arrow_type() :: :arrow | :open | :cross | :async
@type event() :: Boxart.Render.Sequence.Message.t() | Boxart.Render.Sequence.Note.t() | Boxart.Render.Sequence.Block.t() | Boxart.Render.Sequence.Activate.t() | Boxart.Render.Sequence.Destroy.t()
@type line_type() :: :solid | :dotted
@type participant_type() :: :participant | :actor
Functions
@spec render( Boxart.Render.Sequence.SequenceDiagram.t(), keyword() ) :: String.t()
Renders a SequenceDiagram to a string.
Options
:charset—:unicode(default) or:ascii:padding_x— horizontal padding inside participant boxes (default:4):gap— minimum gap between participant centers (default:16)
@spec render_canvas( Boxart.Render.Sequence.SequenceDiagram.t(), keyword() ) :: Boxart.Canvas.t()
Renders a SequenceDiagram to a Boxart.Canvas.