Orrery v0.4.0

  • 2 min read
  • Tags: 
  • release

Orrery v0.4.0 adds edge routing — parallel edges, reverse edges, and self-loops now render as separate, visually distinguishable curves instead of overlapping on a single line.

What changed

Added

  • Edge routing for parallel edges, reverse edges, and self-loops — Multiple arrows between the same components now render as separate, visually distinguishable curves. Reverse arrows render on opposite sides, and self-referencing relations render as visible loops. (#104)

Changed

  • BREAKING: Default ArrowStyle changed to Curved — The default arrow style is now Curved (was Straight). Curved renders a straight line when no control points are provided, and follows bezier control points when they are. (#106)
  • BREAKING: Arrow rendering API accepts control pointsArrowDrawer::draw_arrow, ArrowWithText::render_to_layers, and ArrowWithTextDrawer::draw_arrow_with_text now require an additional control_points: &[Point] parameter. Pass &[] to preserve previous behavior. (#106)
  • BREAKING: Arrow rendering API accepts an optional label positionArrowWithText::render_to_layers and ArrowWithTextDrawer::draw_arrow_with_text now require an additional text_position_override: Option<Point> parameter, and PositionedArrowWithText exposes a with_text_position builder. (#117)

Fixed

  • Removed redundant normalize_offset on embedded diagram containers — Container positions were double-shifted: once during component layout and again during layer composition. The redundant first shift displaced containers from their layout-assigned positions, causing overlap with siblings and cascading misalignment in multi-level nesting. (#111)

Update

cargo install orrery-cli