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)