From b2036e8bdff376d3c3ff2595846a7783e0f91b72 Mon Sep 17 00:00:00 2001 From: Gavin Nishizawa Date: Mon, 23 Jan 2023 20:39:57 -0800 Subject: [PATCH] fix sequence diagram actor shape scaling --- d2layouts/d2sequence/sequence_diagram.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/d2layouts/d2sequence/sequence_diagram.go b/d2layouts/d2sequence/sequence_diagram.go index 053694d1a..ddd8d55bc 100644 --- a/d2layouts/d2sequence/sequence_diagram.go +++ b/d2layouts/d2sequence/sequence_diagram.go @@ -105,6 +105,12 @@ func newSequenceDiagram(objects []*d2graph.Object, messages []*d2graph.Edge) *se sd.objectRank[actor] = rank if actor.Width < MIN_ACTOR_WIDTH { + dslShape := strings.ToLower(actor.Attributes.Shape.Value) + switch dslShape { + case d2target.ShapePerson, d2target.ShapeSquare, d2target.ShapeCircle: + // scale shape up to min width uniformly + actor.Height *= MIN_ACTOR_WIDTH / actor.Width + } actor.Width = MIN_ACTOR_WIDTH } sd.maxActorHeight = math.Max(sd.maxActorHeight, actor.Height)