diff --git a/d2target/d2target.go b/d2target/d2target.go index bf0d90c0e..a95324d91 100644 --- a/d2target/d2target.go +++ b/d2target/d2target.go @@ -69,6 +69,11 @@ func (diagram Diagram) BoundingBox() (topLeft, bottomRight Point) { x2 = go2.Max(x2, targetShape.Pos.X+targetShape.StrokeWidth+targetShape.Width+16) } + if targetShape.ThreeDee { + y1 = go2.Min(y1, targetShape.Pos.Y-THREE_DEE_OFFSET-targetShape.StrokeWidth) + x2 = go2.Max(x2, targetShape.Pos.X+THREE_DEE_OFFSET+targetShape.Width+targetShape.StrokeWidth) + } + if targetShape.Label != "" { labelPosition := label.Position(targetShape.LabelPosition) if !labelPosition.IsOutside() { @@ -90,11 +95,6 @@ func (diagram Diagram) BoundingBox() (topLeft, bottomRight Point) { x2 = go2.Max(x2, int(labelTL.X)+targetShape.LabelWidth) y2 = go2.Max(y2, int(labelTL.Y)+targetShape.LabelHeight) } - - if targetShape.ThreeDee { - y1 = go2.Min(y1, targetShape.Pos.Y-THREE_DEE_OFFSET-targetShape.StrokeWidth) - x2 = go2.Max(x2, targetShape.Pos.X+THREE_DEE_OFFSET+targetShape.Width+targetShape.StrokeWidth) - } } for _, connection := range diagram.Connections { diff --git a/e2etests/testdata/stable/square_3d/dagre/sketch.exp.svg b/e2etests/testdata/stable/square_3d/dagre/sketch.exp.svg index 166969dbe..b80e43dda 100644 --- a/e2etests/testdata/stable/square_3d/dagre/sketch.exp.svg +++ b/e2etests/testdata/stable/square_3d/dagre/sketch.exp.svg @@ -3,7 +3,7 @@ id="d2-svg" style="background: white;" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" -width="375" height="584" viewBox="-102 -102 375 584">