diff --git a/d2layouts/d2sequence/sequence_diagram.go b/d2layouts/d2sequence/sequence_diagram.go index 9d70eb837..b0efef69f 100644 --- a/d2layouts/d2sequence/sequence_diagram.go +++ b/d2layouts/d2sequence/sequence_diagram.go @@ -260,12 +260,7 @@ func (sd *sequenceDiagram) routeMessages() { } if message.Attributes.Label.Value != "" { - if isLeftToRight { - message.LabelPosition = go2.Pointer(string(label.OutsideTopCenter)) - } else { - // the label will be placed above the message because the orientation is based on the edge normal vector - message.LabelPosition = go2.Pointer(string(label.OutsideBottomCenter)) - } + message.LabelPosition = go2.Pointer(string(label.InsideMiddleCenter)) } } } diff --git a/e2etests/testdata/stable/sequence_diagram_simple/dagre/board.exp.json b/e2etests/testdata/stable/sequence_diagram_simple/dagre/board.exp.json index 1fc4cf4c9..7260594d3 100644 --- a/e2etests/testdata/stable/sequence_diagram_simple/dagre/board.exp.json +++ b/e2etests/testdata/stable/sequence_diagram_simple/dagre/board.exp.json @@ -220,7 +220,7 @@ "underline": false, "labelWidth": 155, "labelHeight": 21, - "labelPosition": "OUTSIDE_TOP_CENTER", + "labelPosition": "INSIDE_MIDDLE_CENTER", "labelPercentage": 0, "route": [ { @@ -259,7 +259,7 @@ "underline": false, "labelWidth": 801, "labelHeight": 21, - "labelPosition": "OUTSIDE_TOP_CENTER", + "labelPosition": "INSIDE_MIDDLE_CENTER", "labelPercentage": 0, "route": [ { @@ -298,7 +298,7 @@ "underline": false, "labelWidth": 131, "labelHeight": 21, - "labelPosition": "OUTSIDE_BOTTOM_CENTER", + "labelPosition": "INSIDE_MIDDLE_CENTER", "labelPercentage": 0, "route": [ { @@ -415,7 +415,7 @@ "underline": false, "labelWidth": 164, "labelHeight": 21, - "labelPosition": "OUTSIDE_BOTTOM_CENTER", + "labelPosition": "INSIDE_MIDDLE_CENTER", "labelPercentage": 0, "route": [ { @@ -454,7 +454,7 @@ "underline": false, "labelWidth": 210, "labelHeight": 21, - "labelPosition": "OUTSIDE_TOP_CENTER", + "labelPosition": "INSIDE_MIDDLE_CENTER", "labelPercentage": 0, "route": [ { @@ -493,7 +493,7 @@ "underline": false, "labelWidth": 65, "labelHeight": 21, - "labelPosition": "OUTSIDE_TOP_CENTER", + "labelPosition": "INSIDE_MIDDLE_CENTER", "labelPercentage": 0, "route": [ { @@ -532,7 +532,7 @@ "underline": false, "labelWidth": 44, "labelHeight": 21, - "labelPosition": "OUTSIDE_BOTTOM_CENTER", + "labelPosition": "INSIDE_MIDDLE_CENTER", "labelPercentage": 0, "route": [ { @@ -571,7 +571,7 @@ "underline": false, "labelWidth": 219, "labelHeight": 21, - "labelPosition": "OUTSIDE_BOTTOM_CENTER", + "labelPosition": "INSIDE_MIDDLE_CENTER", "labelPercentage": 0, "route": [ { diff --git a/e2etests/testdata/stable/sequence_diagram_simple/dagre/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagram_simple/dagre/sketch.exp.svg index c51dfc31d..2b277bd9e 100644 --- a/e2etests/testdata/stable/sequence_diagram_simple/dagre/sketch.exp.svg +++ b/e2etests/testdata/stable/sequence_diagram_simple/dagre/sketch.exp.svg @@ -14,7 +14,31 @@ width="2238" height="2088" viewBox="-100 -50 2238 2088">AlicelinebreakerBobdbqueueanoddservicewithanameinmultiple lines Authentication Requestmake request for something that is quite far away and requires a really long label to take all the space between the objectsvalidate credentialsAuthentication ResponseAnother authentication Requestdo it later storedAnother authentication ResponseAlicelinebreakerBobdbqueueanoddservicewithanameinmultiple lines + + +Authentication Request + + +make request for something that is quite far away and requires a really long label to take all the space between the objects + + +validate credentials + + +Authentication Response + + +Another authentication Request + + +do it later + + +stored + + +Another authentication ResponseAlicelinebreakerBobdbqueueanoddservicewithanameinmultiple lines Authentication Requestmake request for something that is quite far away and requires a really long label to take all the space between the objectsvalidate credentialsAuthentication ResponseAnother authentication Requestdo it later storedAnother authentication ResponseAlicelinebreakerBobdbqueueanoddservicewithanameinmultiple lines + + +Authentication Request + + +make request for something that is quite far away and requires a really long label to take all the space between the objects + + +validate credentials + + +Authentication Response + + +Another authentication Request + + +do it later + + +stored + + +Another authentication ResponsescoreritemResponseitemessayRubricconceptitemOutcome getItem() itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts)scoreritemResponseitemessayRubricconceptitemOutcome + + +getItem() + + +item + + +getRubric() + + +rubric + + +applyTo(essayResp) + + +match(essayResponse) + + +score + + +new + + +getNormalMinimum() + + +getNormalMaximum() + + +setScore(score) + + +setFeedback(missingConcepts)scoreritemResponseitemessayRubricconceptitemOutcome getItem() itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts)scoreritemResponseitemessayRubricconceptitemOutcome + + +getItem() + + +item + + +getRubric() + + +rubric + + +applyTo(essayResp) + + +match(essayResponse) + + +score + + +new + + +getNormalMinimum() + + +getNormalMaximum() + + +setScore(score) + + +setFeedback(missingConcepts)a_shapea_sequenceanotherfinallysequencesequencesequencescoreritemResponseitemessayRubricconceptitemOutcomescorerconceptessayRubricitemitemOutcomeitemResponsescoreritemResponseitemessayRubricconceptitemOutcome getItem()itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts)getItem()itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts)a_shapea_sequenceanotherfinallysequencesequencesequencescoreritemResponseitemessayRubricconceptitemOutcomescorerconceptessayRubricitemitemOutcomeitemResponsescoreritemResponseitemessayRubricconceptitemOutcome + + +getItem() + + +item + + +getRubric() + + +rubric + + +applyTo(essayResp) + + +match(essayResponse) + + +score + + +new + + +getNormalMinimum() + + +getNormalMaximum() + + +setScore(score) + + +setFeedback(missingConcepts) + + +getItem() + + +item + + +getRubric() + + +rubric + + +applyTo(essayResp) + + +match(essayResponse) + + +score + + +new + + +getNormalMinimum() + + +getNormalMaximum() + + +setScore(score) + + +setFeedback(missingConcepts)a_shapea_sequenceanotherfinallysequencesequencesequencescoreritemResponseitemessayRubricconceptitemOutcomescorerconceptessayRubricitemitemOutcomeitemResponsescoreritemResponseitemessayRubricconceptitemOutcome getItem()itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts)getItem()itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts)a_shapea_sequenceanotherfinallysequencesequencesequencescoreritemResponseitemessayRubricconceptitemOutcomescorerconceptessayRubricitemitemOutcomeitemResponsescoreritemResponseitemessayRubricconceptitemOutcome + + +getItem() + + +item + + +getRubric() + + +rubric + + +applyTo(essayResp) + + +match(essayResponse) + + +score + + +new + + +getNormalMinimum() + + +getNormalMaximum() + + +setScore(score) + + +setFeedback(missingConcepts) + + +getItem() + + +item + + +getRubric() + + +rubric + + +applyTo(essayResp) + + +match(essayResponse) + + +score + + +new + + +getNormalMinimum() + + +getNormalMaximum() + + +setScore(score) + + +setFeedback(missingConcepts)