From 87e05bcdd02b32db31c7a82dde125a709e05132a Mon Sep 17 00:00:00 2001 From: Alexander Wang Date: Fri, 6 Jan 2023 11:13:52 -0800 Subject: [PATCH 1/2] fix near overlapping labels --- d2layouts/d2near/layout.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/d2layouts/d2near/layout.go b/d2layouts/d2near/layout.go index 99e8a10e1..e05709169 100644 --- a/d2layouts/d2near/layout.go +++ b/d2layouts/d2near/layout.go @@ -139,6 +139,16 @@ func boundingBox(g *d2graph.Graph) (tl, br *geo.Point) { y1 = math.Min(y1, obj.TopLeft.Y) x2 = math.Max(x2, obj.TopLeft.X+obj.Width) y2 = math.Max(y2, obj.TopLeft.Y+obj.Height) + if obj.Attributes.Label.Value != "" && obj.LabelPosition != nil { + labelPosition := label.Position(*obj.LabelPosition) + if labelPosition.IsOutside() { + labelTL := labelPosition.GetPointOnBox(obj.Box, label.PADDING, float64(*obj.LabelWidth), float64(*obj.LabelHeight)) + x1 = math.Min(x1, labelTL.X) + y1 = math.Min(y1, labelTL.Y) + x2 = math.Max(x2, labelTL.X+float64(*obj.LabelWidth)) + y2 = math.Max(y2, labelTL.Y+float64(*obj.LabelHeight)) + } + } } } From 5bc4db36b48f638e1e47df738c653783ea15aa60 Mon Sep 17 00:00:00 2001 From: Alexander Wang Date: Fri, 6 Jan 2023 11:16:16 -0800 Subject: [PATCH 2/2] changelog --- ci/release/changelogs/next.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ci/release/changelogs/next.md b/ci/release/changelogs/next.md index 46319b2cf..94d61a45d 100644 --- a/ci/release/changelogs/next.md +++ b/ci/release/changelogs/next.md @@ -10,3 +10,4 @@ - Appendix seperator line no longer added to PNG export when appendix doesn't exist. [#582](https://github.com/terrastruct/d2/pull/582) - Watch mode only fits to screen on initial load. [#601](https://github.com/terrastruct/d2/pull/601) - Dimensions (`width`/`height`) were incorrectly giving compiler errors when applied on a shape with style. [#614](https://github.com/terrastruct/d2/pull/614) +- `near` would collide with labels if they were on the diagram boundaries in the same position. [#617](https://github.com/terrastruct/d2/pull/617)