From c896b826a9e89f2e83d5aaa60195378e3d5ba6b3 Mon Sep 17 00:00:00 2001 From: Alexander Wang Date: Sun, 4 Dec 2022 19:21:13 -0800 Subject: [PATCH] fix span adjustments --- d2layouts/d2sequence/sequence_diagram.go | 1 - .../dagre/board.exp.json | 12 +- .../dagre/sketch.exp.svg | 2 +- .../elk/board.exp.json | 12 +- .../elk/sketch.exp.svg | 2 +- .../dagre/board.exp.json | 30 ++--- .../dagre/sketch.exp.svg | 2 +- .../elk/board.exp.json | 30 ++--- .../elk/sketch.exp.svg | 2 +- .../dagre/board.exp.json | 14 +- .../dagre/sketch.exp.svg | 16 +-- .../sequence_diagram_real/elk/board.exp.json | 14 +- .../sequence_diagram_real/elk/sketch.exp.svg | 16 +-- .../dagre/board.exp.json | 14 +- .../dagre/sketch.exp.svg | 10 +- .../elk/board.exp.json | 14 +- .../elk/sketch.exp.svg | 10 +- .../dagre/board.exp.json | 48 +++---- .../dagre/sketch.exp.svg | 6 +- .../sequence_diagram_span/elk/board.exp.json | 48 +++---- .../sequence_diagram_span/elk/sketch.exp.svg | 6 +- .../sequence_diagrams/dagre/board.exp.json | 124 +++++++++--------- .../sequence_diagrams/dagre/sketch.exp.svg | 10 +- .../sequence_diagrams/elk/board.exp.json | 124 +++++++++--------- .../sequence_diagrams/elk/sketch.exp.svg | 10 +- 25 files changed, 288 insertions(+), 289 deletions(-) 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">