diff --git a/d2layouts/d2sequence/sequence_diagram.go b/d2layouts/d2sequence/sequence_diagram.go
index 51a0d0bd1..4e981c6d9 100644
--- a/d2layouts/d2sequence/sequence_diagram.go
+++ b/d2layouts/d2sequence/sequence_diagram.go
@@ -226,7 +226,6 @@ func (sd *sequenceDiagram) layout() error {
sd.placeSpans()
sd.adjustRouteEndpoints()
sd.placeNotes()
- sd.routeMessages()
sd.placeGroups()
sd.addLifelineEdges()
return nil
diff --git a/e2etests/testdata/stable/sequence_diagram_groups/dagre/board.exp.json b/e2etests/testdata/stable/sequence_diagram_groups/dagre/board.exp.json
index 340ba41fc..4c97039b0 100644
--- a/e2etests/testdata/stable/sequence_diagram_groups/dagre/board.exp.json
+++ b/e2etests/testdata/stable/sequence_diagram_groups/dagre/board.exp.json
@@ -762,11 +762,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 475,
+ "x": 481,
"y": 999
},
{
- "x": 875,
+ "x": 869,
"y": 999
}
],
@@ -801,11 +801,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 475,
+ "x": 485,
"y": 1129
},
{
- "x": 875,
+ "x": 869,
"y": 1129
}
],
@@ -840,11 +840,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 875,
+ "x": 869,
"y": 1259
},
{
- "x": 475,
+ "x": 481,
"y": 1259
}
],
diff --git a/e2etests/testdata/stable/sequence_diagram_groups/dagre/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagram_groups/dagre/sketch.exp.svg
index a87b67540..71742568e 100644
--- a/e2etests/testdata/stable/sequence_diagram_groups/dagre/sketch.exp.svg
+++ b/e2etests/testdata/stable/sequence_diagram_groups/dagre/sketch.exp.svg
@@ -14,7 +14,7 @@ width="1609" height="2311" viewBox="-100 -50 1609 2311">abcdggggroup 1group bchoonested guywhat would arnold saythis note lalaeyokayokay
+abcdggggroup 1group bchoonested guywhat would arnold saythis note lalaeyokayokay
diff --git a/e2etests/testdata/stable/sequence_diagram_groups/elk/board.exp.json b/e2etests/testdata/stable/sequence_diagram_groups/elk/board.exp.json
index 340ba41fc..4c97039b0 100644
--- a/e2etests/testdata/stable/sequence_diagram_groups/elk/board.exp.json
+++ b/e2etests/testdata/stable/sequence_diagram_groups/elk/board.exp.json
@@ -762,11 +762,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 475,
+ "x": 481,
"y": 999
},
{
- "x": 875,
+ "x": 869,
"y": 999
}
],
@@ -801,11 +801,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 475,
+ "x": 485,
"y": 1129
},
{
- "x": 875,
+ "x": 869,
"y": 1129
}
],
@@ -840,11 +840,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 875,
+ "x": 869,
"y": 1259
},
{
- "x": 475,
+ "x": 481,
"y": 1259
}
],
diff --git a/e2etests/testdata/stable/sequence_diagram_groups/elk/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagram_groups/elk/sketch.exp.svg
index a87b67540..71742568e 100644
--- a/e2etests/testdata/stable/sequence_diagram_groups/elk/sketch.exp.svg
+++ b/e2etests/testdata/stable/sequence_diagram_groups/elk/sketch.exp.svg
@@ -14,7 +14,7 @@ width="1609" height="2311" viewBox="-100 -50 1609 2311">abcdggggroup 1group bchoonested guywhat would arnold saythis note lalaeyokayokay
+abcdggggroup 1group bchoonested guywhat would arnold saythis note lalaeyokayokay
diff --git a/e2etests/testdata/stable/sequence_diagram_nested_span/dagre/board.exp.json b/e2etests/testdata/stable/sequence_diagram_nested_span/dagre/board.exp.json
index 23986a0ad..a99b8fa61 100644
--- a/e2etests/testdata/stable/sequence_diagram_nested_span/dagre/board.exp.json
+++ b/e2etests/testdata/stable/sequence_diagram_nested_span/dagre/board.exp.json
@@ -913,7 +913,7 @@
"y": 320
},
{
- "x": 500,
+ "x": 494,
"y": 320
}
],
@@ -948,11 +948,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 500,
+ "x": 506,
"y": 450
},
{
- "x": 925,
+ "x": 915,
"y": 450
}
],
@@ -987,11 +987,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 925,
+ "x": 935,
"y": 580
},
{
- "x": 1343,
+ "x": 1329,
"y": 580
}
],
@@ -1026,11 +1026,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 1343,
+ "x": 1357,
"y": 710
},
{
- "x": 1766,
+ "x": 1748,
"y": 710
}
],
@@ -1065,11 +1065,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 925,
+ "x": 931,
"y": 840
},
{
- "x": 1343,
+ "x": 1333,
"y": 840
}
],
@@ -1104,11 +1104,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 1766,
+ "x": 1784,
"y": 970
},
{
- "x": 2194.5,
+ "x": 2172.5,
"y": 970
}
],
@@ -1143,11 +1143,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 75,
+ "x": 81,
"y": 1100
},
{
- "x": 925,
+ "x": 919,
"y": 1100
}
],
@@ -1182,7 +1182,7 @@
"labelPercentage": 0,
"route": [
{
- "x": 2194.5,
+ "x": 2172.5,
"y": 1230
},
{
@@ -1225,7 +1225,7 @@
"y": 1360
},
{
- "x": 500,
+ "x": 494,
"y": 1360
}
],
diff --git a/e2etests/testdata/stable/sequence_diagram_nested_span/dagre/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagram_nested_span/dagre/sketch.exp.svg
index 674dc436e..26d4f47aa 100644
--- a/e2etests/testdata/stable/sequence_diagram_nested_span/dagre/sketch.exp.svg
+++ b/e2etests/testdata/stable/sequence_diagram_nested_span/dagre/sketch.exp.svg
@@ -14,7 +14,7 @@ width="2493" height="1640" viewBox="-100 -50 2493 1640">scoreritemResponseitemessayRubricconceptitemOutcome scoreritemResponseitemessayRubricconceptitemOutcome scoreritemResponseitemessayRubricconceptitemOutcome scoreritemResponseitemessayRubricconceptitemOutcome How this is renderedCLId2astd2compilerd2layoutd2exporterd2themesd2rendererd2sequencelayoutd2dagrelayoutmeasurements also take place 'How this is rendered: {...}'tokenized ASTcompile ASTobjects and edgesrun layout enginesrun engine on shape: sequence_diagram, temporarily removerun core engine on rest add back in sequence diagramsdiagram with correct positions and dimensionsexport diagram with chosen theme and rendererget theme stylesrender to SVGresulting SVG
+How this is renderedCLId2astd2compilerd2layoutd2exporterd2themesd2rendererd2sequencelayoutd2dagrelayoutmeasurements also take place 'How this is rendered: {...}'tokenized ASTcompile ASTobjects and edgesrun layout enginesrun engine on shape: sequence_diagram, temporarily removerun core engine on rest add back in sequence diagramsdiagram with correct positions and dimensionsexport diagram with chosen theme and rendererget theme stylesrender to SVGresulting SVG
-
-
-
-
+
+
+
+
-
-
-
+
+
+
How this is renderedCLId2astd2compilerd2layoutd2exporterd2themesd2rendererd2sequencelayoutd2dagrelayoutmeasurements also take place 'How this is rendered: {...}'tokenized ASTcompile ASTobjects and edgesrun layout enginesrun engine on shape: sequence_diagram, temporarily removerun core engine on rest add back in sequence diagramsdiagram with correct positions and dimensionsexport diagram with chosen theme and rendererget theme stylesrender to SVGresulting SVG
+How this is renderedCLId2astd2compilerd2layoutd2exporterd2themesd2rendererd2sequencelayoutd2dagrelayoutmeasurements also take place 'How this is rendered: {...}'tokenized ASTcompile ASTobjects and edgesrun layout enginesrun engine on shape: sequence_diagram, temporarily removerun core engine on rest add back in sequence diagramsdiagram with correct positions and dimensionsexport diagram with chosen theme and rendererget theme stylesrender to SVGresulting SVG
-
-
-
-
+
+
+
+
-
-
-
+
+
+
ab a self edge herebetween actorsto descendantto deeper descendantto parentactor
+ab a self edge herebetween actorsto descendantto deeper descendantto parentactor
-
-
-
-
+
+
+
+
ab a self edge herebetween actorsto descendantto deeper descendantto parentactor
+ab a self edge herebetween actorsto descendantto deeper descendantto parentactor
-
-
-
-
+
+
+
+
scoreritemResponseitemessayRubricconceptitemOutcome getItem() itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts)
+scoreritemResponseitemessayRubricconceptitemOutcome getItem() itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts)
-
-
+
+
diff --git a/e2etests/testdata/stable/sequence_diagram_span/elk/board.exp.json b/e2etests/testdata/stable/sequence_diagram_span/elk/board.exp.json
index 3525465d4..6d2c55f61 100644
--- a/e2etests/testdata/stable/sequence_diagram_span/elk/board.exp.json
+++ b/e2etests/testdata/stable/sequence_diagram_span/elk/board.exp.json
@@ -681,11 +681,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 75,
+ "x": 81,
"y": 320
},
{
- "x": 500,
+ "x": 494,
"y": 320
}
],
@@ -720,11 +720,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 75,
+ "x": 81,
"y": 450
},
{
- "x": 500,
+ "x": 494,
"y": 450
}
],
@@ -759,11 +759,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 75,
+ "x": 81,
"y": 580
},
{
- "x": 925,
+ "x": 919,
"y": 580
}
],
@@ -798,11 +798,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 75,
+ "x": 81,
"y": 710
},
{
- "x": 925,
+ "x": 919,
"y": 710
}
],
@@ -837,11 +837,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 75,
+ "x": 81,
"y": 840
},
{
- "x": 1343,
+ "x": 1337,
"y": 840
}
],
@@ -880,7 +880,7 @@
"y": 970
},
{
- "x": 1343,
+ "x": 1333,
"y": 970
}
],
@@ -915,11 +915,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 1343,
+ "x": 1353,
"y": 1100
},
{
- "x": 1766,
+ "x": 1760,
"y": 1100
}
],
@@ -958,7 +958,7 @@
"y": 1230
},
{
- "x": 1343,
+ "x": 1337,
"y": 1230
}
],
@@ -993,11 +993,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 75,
+ "x": 81,
"y": 1360
},
{
- "x": 2194.5,
+ "x": 2188.5,
"y": 1360
}
],
@@ -1032,11 +1032,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 75,
+ "x": 81,
"y": 1490
},
{
- "x": 925,
+ "x": 919,
"y": 1490
}
],
@@ -1071,11 +1071,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 75,
+ "x": 81,
"y": 1620
},
{
- "x": 925,
+ "x": 919,
"y": 1620
}
],
@@ -1110,11 +1110,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 75,
+ "x": 81,
"y": 1750
},
{
- "x": 2194.5,
+ "x": 2188.5,
"y": 1750
}
],
@@ -1149,11 +1149,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 75,
+ "x": 81,
"y": 1880
},
{
- "x": 2194.5,
+ "x": 2188.5,
"y": 1880
}
],
diff --git a/e2etests/testdata/stable/sequence_diagram_span/elk/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagram_span/elk/sketch.exp.svg
index 9cbe8881f..edb12da43 100644
--- a/e2etests/testdata/stable/sequence_diagram_span/elk/sketch.exp.svg
+++ b/e2etests/testdata/stable/sequence_diagram_span/elk/sketch.exp.svg
@@ -14,15 +14,15 @@ width="2493" height="2160" viewBox="-100 -50 2493 2160">scoreritemResponseitemessayRubricconceptitemOutcome getItem() itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts)
+scoreritemResponseitemessayRubricconceptitemOutcome getItem() itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts)
-
-
+
+
diff --git a/e2etests/testdata/stable/sequence_diagrams/dagre/board.exp.json b/e2etests/testdata/stable/sequence_diagrams/dagre/board.exp.json
index 3c1fd3340..5d18bf4a4 100644
--- a/e2etests/testdata/stable/sequence_diagrams/dagre/board.exp.json
+++ b/e2etests/testdata/stable/sequence_diagrams/dagre/board.exp.json
@@ -2486,11 +2486,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 2626,
+ "x": 2636,
"y": 670
},
{
- "x": 3051,
+ "x": 3041,
"y": 670
}
],
@@ -2525,11 +2525,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 2626,
+ "x": 2636,
"y": 800
},
{
- "x": 3051,
+ "x": 3041,
"y": 800
}
],
@@ -2564,11 +2564,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 2626,
+ "x": 2636,
"y": 930
},
{
- "x": 3476,
+ "x": 3466,
"y": 930
}
],
@@ -2603,11 +2603,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 2626,
+ "x": 2636,
"y": 1060
},
{
- "x": 3476,
+ "x": 3466,
"y": 1060
}
],
@@ -2642,11 +2642,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 2626,
+ "x": 2636,
"y": 1190
},
{
- "x": 3894,
+ "x": 3884,
"y": 1190
}
],
@@ -2685,7 +2685,7 @@
"y": 1320
},
{
- "x": 3894,
+ "x": 3880,
"y": 1320
}
],
@@ -2720,11 +2720,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 3894,
+ "x": 3908,
"y": 1450
},
{
- "x": 4317,
+ "x": 4307,
"y": 1450
}
],
@@ -2763,7 +2763,7 @@
"y": 1580
},
{
- "x": 3894,
+ "x": 3884,
"y": 1580
}
],
@@ -2798,11 +2798,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 2626,
+ "x": 2636,
"y": 1710
},
{
- "x": 4745.5,
+ "x": 4735.5,
"y": 1710
}
],
@@ -2837,11 +2837,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 2626,
+ "x": 2636,
"y": 1840
},
{
- "x": 3476,
+ "x": 3466,
"y": 1840
}
],
@@ -2876,11 +2876,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 2626,
+ "x": 2636,
"y": 1970
},
{
- "x": 3476,
+ "x": 3466,
"y": 1970
}
],
@@ -2915,11 +2915,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 2626,
+ "x": 2636,
"y": 2100
},
{
- "x": 4745.5,
+ "x": 4735.5,
"y": 2100
}
],
@@ -2954,11 +2954,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 2626,
+ "x": 2636,
"y": 2230
},
{
- "x": 4745.5,
+ "x": 4735.5,
"y": 2230
}
],
@@ -2993,11 +2993,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 125,
+ "x": 139,
"y": 668
},
{
- "x": 550,
+ "x": 536,
"y": 668
}
],
@@ -3032,11 +3032,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 125,
+ "x": 139,
"y": 798
},
{
- "x": 550,
+ "x": 536,
"y": 798
}
],
@@ -3071,11 +3071,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 125,
+ "x": 139,
"y": 928
},
{
- "x": 975,
+ "x": 961,
"y": 928
}
],
@@ -3110,11 +3110,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 125,
+ "x": 139,
"y": 1058
},
{
- "x": 975,
+ "x": 961,
"y": 1058
}
],
@@ -3149,11 +3149,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 125,
+ "x": 139,
"y": 1188
},
{
- "x": 1393,
+ "x": 1379,
"y": 1188
}
],
@@ -3192,7 +3192,7 @@
"y": 1318
},
{
- "x": 1393,
+ "x": 1375,
"y": 1318
}
],
@@ -3227,11 +3227,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 1393,
+ "x": 1411,
"y": 1448
},
{
- "x": 1816,
+ "x": 1802,
"y": 1448
}
],
@@ -3270,7 +3270,7 @@
"y": 1578
},
{
- "x": 1393,
+ "x": 1379,
"y": 1578
}
],
@@ -3305,11 +3305,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 125,
+ "x": 139,
"y": 1708
},
{
- "x": 2244.5,
+ "x": 2230.5,
"y": 1708
}
],
@@ -3344,11 +3344,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 125,
+ "x": 139,
"y": 1838
},
{
- "x": 975,
+ "x": 961,
"y": 1838
}
],
@@ -3383,11 +3383,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 125,
+ "x": 139,
"y": 1968
},
{
- "x": 975,
+ "x": 961,
"y": 1968
}
],
@@ -3422,11 +3422,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 125,
+ "x": 139,
"y": 2098
},
{
- "x": 2244.5,
+ "x": 2230.5,
"y": 2098
}
],
@@ -3461,11 +3461,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 125,
+ "x": 139,
"y": 2228
},
{
- "x": 2244.5,
+ "x": 2230.5,
"y": 2228
}
],
@@ -3800,11 +3800,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 2861,
+ "x": 2847,
"y": 2911
},
{
- "x": 1989,
+ "x": 2007,
"y": 2911
}
],
@@ -3839,11 +3839,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 1989,
+ "x": 1971,
"y": 3041
},
{
- "x": 1571,
+ "x": 1593,
"y": 3041
}
],
@@ -3878,11 +3878,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 1571,
+ "x": 1549,
"y": 3171
},
{
- "x": 1148,
+ "x": 1174,
"y": 3171
}
],
@@ -3917,11 +3917,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 1989,
+ "x": 1975,
"y": 3301
},
{
- "x": 1571,
+ "x": 1589,
"y": 3301
}
],
@@ -3956,11 +3956,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 1148,
+ "x": 1174,
"y": 3431
},
{
- "x": 2412.5,
+ "x": 2382.5,
"y": 3431
}
],
@@ -3995,11 +3995,11 @@
"labelPercentage": 0,
"route": [
{
- "x": 743,
+ "x": 757,
"y": 3561
},
{
- "x": 1989,
+ "x": 1975,
"y": 3561
}
],
@@ -4034,7 +4034,7 @@
"labelPercentage": 0,
"route": [
{
- "x": 2412.5,
+ "x": 2382.5,
"y": 3691
},
{
@@ -4077,7 +4077,7 @@
"y": 3821
},
{
- "x": 2861,
+ "x": 2847,
"y": 3821
}
],
diff --git a/e2etests/testdata/stable/sequence_diagrams/dagre/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagrams/dagre/sketch.exp.svg
index f5e9861f5..86332068e 100644
--- a/e2etests/testdata/stable/sequence_diagrams/dagre/sketch.exp.svg
+++ b/e2etests/testdata/stable/sequence_diagrams/dagre/sketch.exp.svg
@@ -14,15 +14,15 @@ width="5044" height="4201" viewBox="-100 -100 5044 4201">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()itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts)getItem()itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts)
-
-
+
+
@@ -33,8 +33,8 @@ width="5044" height="4201" viewBox="-100 -100 5044 4201">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()itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts)getItem()itemgetRubric()rubricapplyTo(essayResp)match(essayResponse)scorenewgetNormalMinimum()getNormalMaximum()setScore(score)setFeedback(missingConcepts)
-
-
+
+
@@ -33,8 +33,8 @@ width="4966" height="4321" viewBox="-88 -88 4966 4321">