diff --git a/ci/release/changelogs/next.md b/ci/release/changelogs/next.md
index 5bd2d8eb3..f026c7e6d 100644
--- a/ci/release/changelogs/next.md
+++ b/ci/release/changelogs/next.md
@@ -1,5 +1,7 @@
#### Features π
+- Sequence diagrams are now supported. See [docs](https://d2lang.com/tour/sequence-diagrams) for more.
+ [#99](https://github.com/terrastruct/d2/issues/99)
- Formatting of d2 scripts is supported on the CLI with the `fmt` subcommand.
[#292](https://github.com/terrastruct/d2/pull/292)
- Latex is now supported. See [docs](https://d2lang.com/tour/text) for more.
diff --git a/d2layouts/d2sequence/constants.go b/d2layouts/d2sequence/constants.go
index 7dc2e8798..232109345 100644
--- a/d2layouts/d2sequence/constants.go
+++ b/d2layouts/d2sequence/constants.go
@@ -3,22 +3,22 @@ package d2sequence
// leaves at least 25 units of space on the left/right when computing the space required between actors
const HORIZONTAL_PAD = 50.
-// leaves at least 25 units of space on the top/bottom when computing the space required between edges
+// leaves at least 25 units of space on the top/bottom when computing the space required between messages
const VERTICAL_PAD = 50.
const MIN_ACTOR_DISTANCE = 200.
-// min vertical distance between edges
-const MIN_EDGE_DISTANCE = 100.
+// min vertical distance between messages
+const MIN_MESSAGE_DISTANCE = 100.
// default size
const SPAN_WIDTH = 20.
-// small pad so that edges don't touch lifelines and spans
-const SPAN_EDGE_PAD = 5.
+// small pad so that messages don't touch lifelines and spans
+const SPAN_MESSAGE_PAD = 5.
// as the spans start getting nested, their size grows
const SPAN_DEPTH_GROW_FACTOR = 10.
-// when a span has a single edge
-const MIN_SPAN_HEIGHT = MIN_EDGE_DISTANCE / 2.
+// when a span has a single messages
+const MIN_SPAN_HEIGHT = MIN_MESSAGE_DISTANCE / 2.
diff --git a/d2layouts/d2sequence/layout.go b/d2layouts/d2sequence/layout.go
index 6e15061d3..586ed248b 100644
--- a/d2layouts/d2sequence/layout.go
+++ b/d2layouts/d2sequence/layout.go
@@ -2,280 +2,169 @@ package d2sequence
import (
"context"
- "fmt"
- "math"
"sort"
+ "strings"
"oss.terrastruct.com/util-go/go2"
"oss.terrastruct.com/d2/d2graph"
+ "oss.terrastruct.com/d2/d2target"
"oss.terrastruct.com/d2/lib/geo"
"oss.terrastruct.com/d2/lib/label"
- "oss.terrastruct.com/d2/lib/shape"
)
-func Layout(ctx context.Context, g *d2graph.Graph) (err error) {
- sd := &sequenceDiagram{
- graph: g,
- objectRank: make(map[*d2graph.Object]int),
- minEdgeRank: make(map[*d2graph.Object]int),
- maxEdgeRank: make(map[*d2graph.Object]int),
- edgeYStep: MIN_EDGE_DISTANCE,
- actorXStep: MIN_ACTOR_DISTANCE,
- maxActorHeight: 0.,
- }
+// Layout runs the sequence diagram layout engine on objects of shape sequence_diagram
+//
+// 1. Traverse graph from root, skip objects with shape not `sequence_diagram`
+// 2. Construct a sequence diagram from all descendant objects and edges
+// 3. Remove those objects and edges from the main graph
+// 4. Run layout on sequence diagrams
+// 5. Set the resulting dimensions to the main graph shape
+// 6. Run core layouts (still without sequence diagram innards)
+// 7. Put back sequence diagram innards in correct location
+func Layout(ctx context.Context, g *d2graph.Graph, layout func(ctx context.Context, g *d2graph.Graph) error) error {
+ objectsToRemove := make(map[*d2graph.Object]struct{})
+ edgesToRemove := make(map[*d2graph.Edge]struct{})
+ sequenceDiagrams := make(map[string]*sequenceDiagram)
- sd.init()
- sd.placeActors()
- sd.placeSpans()
- sd.routeEdges()
- sd.addLifelineEdges()
-
- return nil
-}
-
-type sequenceDiagram struct {
- graph *d2graph.Graph
-
- edges []*d2graph.Edge
- actors []*d2graph.Object
- spans []*d2graph.Object
-
- // can be either actors or spans
- // rank: left to right position of actors/spans (spans have the same rank as their parents)
- objectRank map[*d2graph.Object]int
-
- // keep track of the first and last edge of a given actor
- // the edge rank is the order in which it appears from top to bottom
- minEdgeRank map[*d2graph.Object]int
- maxEdgeRank map[*d2graph.Object]int
-
- edgeYStep float64
- actorXStep float64
- maxActorHeight float64
-}
-
-func (sd *sequenceDiagram) init() {
- sd.edges = make([]*d2graph.Edge, len(sd.graph.Edges))
- copy(sd.edges, sd.graph.Edges)
-
- queue := make([]*d2graph.Object, len(sd.graph.Root.ChildrenArray))
- copy(queue, sd.graph.Root.ChildrenArray)
+ queue := make([]*d2graph.Object, 1, len(g.Objects))
+ queue[0] = g.Root
for len(queue) > 0 {
obj := queue[0]
queue = queue[1:]
-
- if sd.isActor(obj) {
- sd.actors = append(sd.actors, obj)
- sd.objectRank[obj] = len(sd.actors)
- sd.maxActorHeight = math.Max(sd.maxActorHeight, obj.Height)
- } else {
- // spans are always rectangles and have no labels
- obj.Attributes.Label = d2graph.Scalar{Value: ""}
- obj.Attributes.Shape = d2graph.Scalar{Value: shape.SQUARE_TYPE}
- sd.spans = append(sd.spans, obj)
- sd.objectRank[obj] = sd.objectRank[obj.Parent]
+ if obj.Attributes.Shape.Value != d2target.ShapeSequenceDiagram {
+ queue = append(queue, obj.ChildrenArray...)
+ continue
}
- queue = append(queue, obj.ChildrenArray...)
+ sd := layoutSequenceDiagram(g, obj)
+ obj.Children = make(map[string]*d2graph.Object)
+ obj.ChildrenArray = nil
+ obj.Box = geo.NewBox(nil, sd.getWidth(), sd.getHeight())
+ sequenceDiagrams[obj.AbsID()] = sd
+
+ for _, edge := range sd.messages {
+ edgesToRemove[edge] = struct{}{}
+ }
+ for _, obj := range sd.actors {
+ objectsToRemove[obj] = struct{}{}
+ }
+ for _, obj := range sd.spans {
+ objectsToRemove[obj] = struct{}{}
+ }
}
- for rank, edge := range sd.edges {
- sd.edgeYStep = math.Max(sd.edgeYStep, float64(edge.LabelDimensions.Height))
+ layoutEdges, edgeOrder := getLayoutEdges(g, edgesToRemove)
+ g.Edges = layoutEdges
+ layoutObjects, objectOrder := getLayoutObjects(g, objectsToRemove)
+ g.Objects = layoutObjects
- sd.setMinMaxEdgeRank(edge.Src, rank)
- sd.setMinMaxEdgeRank(edge.Dst, rank)
-
- // ensures that long labels, spanning over multiple actors, don't make for large gaps between actors
- // by distributing the label length across the actors rank difference
- rankDiff := math.Abs(float64(sd.objectRank[edge.Src]) - float64(sd.objectRank[edge.Dst]))
- distributedLabelWidth := float64(edge.LabelDimensions.Width) / rankDiff
- sd.actorXStep = math.Max(sd.actorXStep, distributedLabelWidth+HORIZONTAL_PAD)
+ if isRootSequenceDiagram(g) {
+ // the sequence diagram is the only layout engine if the whole diagram is
+ // shape: sequence_diagram
+ g.Root.TopLeft = geo.NewPoint(0, 0)
+ } else if err := layout(ctx, g); err != nil {
+ return err
}
- sd.maxActorHeight += VERTICAL_PAD
- sd.edgeYStep += VERTICAL_PAD
+ cleanup(g, sequenceDiagrams, objectOrder, edgeOrder)
+ return nil
}
-func (sd *sequenceDiagram) setMinMaxEdgeRank(actor *d2graph.Object, rank int) {
- if minRank, exists := sd.minEdgeRank[actor]; exists {
- sd.minEdgeRank[actor] = go2.IntMin(minRank, rank)
+func isRootSequenceDiagram(g *d2graph.Graph) bool {
+ return g.Root.Attributes.Shape.Value == d2target.ShapeSequenceDiagram
+}
+
+// layoutSequenceDiagram finds the edges inside the sequence diagram and performs the layout on the object descendants
+func layoutSequenceDiagram(g *d2graph.Graph, obj *d2graph.Object) *sequenceDiagram {
+ var edges []*d2graph.Edge
+ for _, edge := range g.Edges {
+ // both Src and Dst must be inside the sequence diagram
+ if strings.HasPrefix(edge.Src.AbsID(), obj.AbsID()) && strings.HasPrefix(edge.Dst.AbsID(), obj.AbsID()) {
+ edges = append(edges, edge)
+ }
+ }
+
+ sd := newSequenceDiagram(obj.ChildrenArray, edges)
+ sd.layout()
+ return sd
+}
+
+func getLayoutEdges(g *d2graph.Graph, toRemove map[*d2graph.Edge]struct{}) ([]*d2graph.Edge, map[string]int) {
+ edgeOrder := make(map[string]int)
+ layoutEdges := make([]*d2graph.Edge, 0, len(g.Edges)-len(toRemove))
+ for i, edge := range g.Edges {
+ edgeOrder[edge.AbsID()] = i
+ if _, exists := toRemove[edge]; !exists {
+ layoutEdges = append(layoutEdges, edge)
+ }
+ }
+ return layoutEdges, edgeOrder
+}
+
+func getLayoutObjects(g *d2graph.Graph, toRemove map[*d2graph.Object]struct{}) ([]*d2graph.Object, map[string]int) {
+ objectOrder := make(map[string]int)
+ layoutObjects := make([]*d2graph.Object, 0, len(toRemove))
+ for i, obj := range g.Objects {
+ objectOrder[obj.AbsID()] = i
+ if _, exists := toRemove[obj]; !exists {
+ layoutObjects = append(layoutObjects, obj)
+ }
+ }
+ return layoutObjects, objectOrder
+}
+
+// cleanup restores the graph after the core layout engine finishes
+// - translating the sequence diagram to its position placed by the core layout engine
+// - restore the children of the sequence diagram graph object
+// - adds the sequence diagram edges (messages) back to the graph
+// - adds the sequence diagram lifelines to the graph edges
+// - adds the sequence diagram descendants back to the graph objects
+// - sorts edges and objects to their original graph order
+func cleanup(g *d2graph.Graph, sequenceDiagrams map[string]*sequenceDiagram, objectsOrder, edgesOrder map[string]int) {
+ var objects []*d2graph.Object
+ if isRootSequenceDiagram(g) {
+ objects = []*d2graph.Object{g.Root}
} else {
- sd.minEdgeRank[actor] = rank
+ objects = g.Objects
+ }
+ for _, obj := range objects {
+ if _, exists := sequenceDiagrams[obj.AbsID()]; !exists {
+ continue
+ }
+ obj.LabelPosition = go2.Pointer(string(label.InsideTopCenter))
+ sd := sequenceDiagrams[obj.AbsID()]
+
+ // shift the sequence diagrams as they are always placed at (0, 0)
+ sd.shift(obj.TopLeft)
+
+ obj.Children = make(map[string]*d2graph.Object)
+ for _, child := range sd.actors {
+ obj.Children[child.ID] = child
+ }
+ obj.ChildrenArray = sd.actors
+
+ g.Edges = append(g.Edges, sequenceDiagrams[obj.AbsID()].messages...)
+ g.Edges = append(g.Edges, sequenceDiagrams[obj.AbsID()].lifelines...)
+ g.Objects = append(g.Objects, sequenceDiagrams[obj.AbsID()].actors...)
+ g.Objects = append(g.Objects, sequenceDiagrams[obj.AbsID()].spans...)
}
- sd.maxEdgeRank[actor] = go2.IntMax(sd.maxEdgeRank[actor], rank)
-}
-
-// placeActors places actors bottom aligned, side by side
-func (sd *sequenceDiagram) placeActors() {
- x := 0.
- for _, actors := range sd.actors {
- yOffset := sd.maxActorHeight - actors.Height
- actors.TopLeft = geo.NewPoint(x, yOffset)
- x += actors.Width + sd.actorXStep
- actors.LabelPosition = go2.Pointer(string(label.InsideMiddleCenter))
- }
-}
-
-// addLifelineEdges adds a new edge for each actor in the graph that represents the its lifeline
-// ββββββββββββββββ
-// β actor β
-// ββββββββ¬ββββββββ
-// β
-// β lifeline
-// β
-// β
-func (sd *sequenceDiagram) addLifelineEdges() {
- endY := sd.getEdgeY(len(sd.edges))
- for _, actor := range sd.actors {
- actorBottom := actor.Center()
- actorBottom.Y = actor.TopLeft.Y + actor.Height
- actorLifelineEnd := actor.Center()
- actorLifelineEnd.Y = endY
- sd.graph.Edges = append(sd.graph.Edges, &d2graph.Edge{
- Attributes: d2graph.Attributes{
- Style: d2graph.Style{
- StrokeDash: &d2graph.Scalar{Value: "10"},
- Stroke: actor.Attributes.Style.Stroke,
- StrokeWidth: actor.Attributes.Style.StrokeWidth,
- },
- },
- Src: actor,
- SrcArrow: false,
- Dst: &d2graph.Object{
- ID: actor.ID + fmt.Sprintf("-lifeline-end-%d", go2.StringToIntHash(actor.ID+"-lifeline-end")),
- },
- DstArrow: false,
- Route: []*geo.Point{actorBottom, actorLifelineEnd},
- })
- }
-}
-
-// placeSpans places spans over the object lifeline
-// ββββββββββββ
-// β actor β
-// ββββββ¬ββββββ
-// βββ΄βββ
-// β β
-// |span|
-// β β
-// βββ¬βββ
-// β
-// lifeline
-// β
-func (sd *sequenceDiagram) placeSpans() {
- // quickly find the span center X
- rankToX := make(map[int]float64)
- for _, actor := range sd.actors {
- rankToX[sd.objectRank[actor]] = actor.Center().X
- }
-
- // places spans from most to least nested
- // the order is important because the only way a child span exists is if there'e an edge to it
- // however, the parent span might not have an edge to it and then its position is based on the child position
- // or, there can be edge to it, but it comes after the child one meaning the top left position is still based on the child
- // and not on its own edge
- spanFromMostNested := make([]*d2graph.Object, len(sd.spans))
- copy(spanFromMostNested, sd.spans)
- sort.SliceStable(spanFromMostNested, func(i, j int) bool {
- return spanFromMostNested[i].Level() > spanFromMostNested[j].Level()
+ // no new objects, so just keep the same position
+ sort.SliceStable(g.Objects, func(i, j int) bool {
+ return objectsOrder[g.Objects[i].AbsID()] < objectsOrder[g.Objects[j].AbsID()]
})
- for _, span := range spanFromMostNested {
- // finds the position based on children
- minChildY := math.Inf(1)
- maxChildY := math.Inf(-1)
- for _, child := range span.ChildrenArray {
- minChildY = math.Min(minChildY, child.TopLeft.Y)
- maxChildY = math.Max(maxChildY, child.TopLeft.Y+child.Height)
- }
- // finds the position if there are edges to this span
- minEdgeY := math.Inf(1)
- if minRank, exists := sd.minEdgeRank[span]; exists {
- minEdgeY = sd.getEdgeY(minRank)
+ // sequence diagrams add lifelines, and they must be the last ones in this slice
+ sort.SliceStable(g.Edges, func(i, j int) bool {
+ iOrder, iExists := edgesOrder[g.Edges[i].AbsID()]
+ jOrder, jExists := edgesOrder[g.Edges[j].AbsID()]
+ if iExists && jExists {
+ return iOrder < jOrder
+ } else if iExists && !jExists {
+ return true
}
- maxEdgeY := math.Inf(-1)
- if maxRank, exists := sd.maxEdgeRank[span]; exists {
- maxEdgeY = sd.getEdgeY(maxRank)
- }
-
- // if it is the same as the child top left, add some padding
- minY := math.Min(minEdgeY, minChildY)
- if minY == minChildY {
- minY -= SPAN_DEPTH_GROW_FACTOR
- } else {
- minY -= SPAN_EDGE_PAD
- }
- maxY := math.Max(maxEdgeY, maxChildY)
- if maxY == maxChildY {
- maxY += SPAN_DEPTH_GROW_FACTOR
- } else {
- maxY += SPAN_EDGE_PAD
- }
-
- height := math.Max(maxY-minY, MIN_SPAN_HEIGHT)
- // -2 because the actors count as level 1 making the first level span getting 2*SPAN_DEPTH_GROW_FACTOR
- width := SPAN_WIDTH + (float64(span.Level()-2) * SPAN_DEPTH_GROW_FACTOR)
- x := rankToX[sd.objectRank[span]] - (width / 2.)
- span.Box = geo.NewBox(geo.NewPoint(x, minY), width, height)
- span.ZIndex = 1
- }
-}
-
-// routeEdges routes horizontal edges from Src to Dst
-func (sd *sequenceDiagram) routeEdges() {
- for rank, edge := range sd.edges {
- isLeftToRight := edge.Src.TopLeft.X < edge.Dst.TopLeft.X
-
- // finds the proper anchor point based on the edge direction
- var startX, endX float64
- if sd.isActor(edge.Src) {
- startX = edge.Src.Center().X
- } else if isLeftToRight {
- startX = edge.Src.TopLeft.X + edge.Src.Width
- } else {
- startX = edge.Src.TopLeft.X
- }
-
- if sd.isActor(edge.Dst) {
- endX = edge.Dst.Center().X
- } else if isLeftToRight {
- endX = edge.Dst.TopLeft.X
- } else {
- endX = edge.Dst.TopLeft.X + edge.Dst.Width
- }
-
- if isLeftToRight {
- startX += SPAN_EDGE_PAD
- endX -= SPAN_EDGE_PAD
- } else {
- startX -= SPAN_EDGE_PAD
- endX += SPAN_EDGE_PAD
- }
-
- edgeY := sd.getEdgeY(rank)
- edge.Route = []*geo.Point{
- geo.NewPoint(startX, edgeY),
- geo.NewPoint(endX, edgeY),
- }
-
- if edge.Attributes.Label.Value != "" {
- if isLeftToRight {
- edge.LabelPosition = go2.Pointer(string(label.OutsideTopCenter))
- } else {
- // the label will be placed above the edge because the orientation is based on the edge normal vector
- edge.LabelPosition = go2.Pointer(string(label.OutsideBottomCenter))
- }
- }
- }
-}
-
-func (sd *sequenceDiagram) getEdgeY(rank int) float64 {
- // +1 so that the first edge has the top padding for its label
- return ((float64(rank) + 1.) * sd.edgeYStep) + sd.maxActorHeight
-}
-
-func (sd *sequenceDiagram) isActor(obj *d2graph.Object) bool {
- return obj.Parent == sd.graph.Root
+ // either both don't exist or i doesn't exist and j exists
+ return false
+ })
}
diff --git a/d2layouts/d2sequence/layout_test.go b/d2layouts/d2sequence/layout_test.go
index 7935b71da..cd8974922 100644
--- a/d2layouts/d2sequence/layout_test.go
+++ b/d2layouts/d2sequence/layout_test.go
@@ -5,6 +5,7 @@ import (
"testing"
"oss.terrastruct.com/d2/d2graph"
+ "oss.terrastruct.com/d2/d2target"
"oss.terrastruct.com/d2/lib/geo"
"oss.terrastruct.com/d2/lib/label"
"oss.terrastruct.com/d2/lib/log"
@@ -25,6 +26,7 @@ func TestBasicSequenceDiagram(t *testing.T) {
// βββββββββββββββββββββββββ€
// β β
g := d2graph.NewGraph(nil)
+ g.Root.Attributes.Shape = d2graph.Scalar{Value: d2target.ShapeSequenceDiagram}
n1 := g.Root.EnsureChild([]string{"n1"})
n1.Box = geo.NewBox(nil, 100, 100)
n2 := g.Root.EnsureChild([]string{"n2"})
@@ -32,32 +34,46 @@ func TestBasicSequenceDiagram(t *testing.T) {
g.Edges = []*d2graph.Edge{
{
- Src: n1,
- Dst: n2,
+ Src: n1,
+ Dst: n2,
+ Index: 0,
Attributes: d2graph.Attributes{
Label: d2graph.Scalar{Value: "left to right"},
},
},
{
- Src: n2,
- Dst: n1,
+ Src: n2,
+ Dst: n1,
+ Index: 0,
Attributes: d2graph.Attributes{
Label: d2graph.Scalar{Value: "right to left"},
},
},
{
- Src: n1,
- Dst: n2,
+ Src: n1,
+ Dst: n2,
+ Index: 1,
},
{
- Src: n2,
- Dst: n1,
+ Src: n2,
+ Dst: n1,
+ Index: 1,
},
}
nEdges := len(g.Edges)
ctx := log.WithTB(context.Background(), t, nil)
- Layout(ctx, g)
+ Layout(ctx, g, func(ctx context.Context, g *d2graph.Graph) error {
+ // just set some position as if it had been properly placed
+ for _, obj := range g.Objects {
+ obj.TopLeft = geo.NewPoint(0, 0)
+ }
+
+ for _, edge := range g.Edges {
+ edge.Route = []*geo.Point{geo.NewPoint(1, 1)}
+ }
+ return nil
+ })
// asserts that actors were placed in the expected x order and at y=0
actors := []*d2graph.Object{
@@ -92,19 +108,19 @@ func TestBasicSequenceDiagram(t *testing.T) {
}
if edge.Src.TopLeft.X < edge.Dst.TopLeft.X {
// left to right
- if edge.Route[0].X != edge.Src.Center().X+SPAN_EDGE_PAD {
+ if edge.Route[0].X != edge.Src.Center().X+SPAN_MESSAGE_PAD {
t.Fatalf("expected edge[%d] x to be at the actor center", i)
}
- if edge.Route[1].X != edge.Dst.Center().X-SPAN_EDGE_PAD {
+ if edge.Route[1].X != edge.Dst.Center().X-SPAN_MESSAGE_PAD {
t.Fatalf("expected edge[%d] x to be at the actor center", i)
}
} else {
- if edge.Route[0].X != edge.Src.Center().X-SPAN_EDGE_PAD {
+ if edge.Route[0].X != edge.Src.Center().X-SPAN_MESSAGE_PAD {
t.Fatalf("expected edge[%d] x to be at the actor center", i)
}
- if edge.Route[1].X != edge.Dst.Center().X+SPAN_EDGE_PAD {
+ if edge.Route[1].X != edge.Dst.Center().X+SPAN_MESSAGE_PAD {
t.Fatalf("expected edge[%d] x to be at the actor center", i)
}
}
@@ -157,6 +173,7 @@ func TestSpansSequenceDiagram(t *testing.T) {
// t2 ββ β
// βββββββββββββββββββββββββ€
g := d2graph.NewGraph(nil)
+ g.Root.Attributes.Shape = d2graph.Scalar{Value: d2target.ShapeSequenceDiagram}
a := g.Root.EnsureChild([]string{"a"})
a.Box = geo.NewBox(nil, 100, 100)
a.Attributes = d2graph.Attributes{
@@ -174,22 +191,36 @@ func TestSpansSequenceDiagram(t *testing.T) {
g.Edges = []*d2graph.Edge{
{
- Src: a_t1,
- Dst: b_t1,
+ Src: a_t1,
+ Dst: b_t1,
+ Index: 0,
}, {
- Src: b_t1,
- Dst: a_t1,
+ Src: b_t1,
+ Dst: a_t1,
+ Index: 0,
}, {
- Src: a_t2,
- Dst: b,
+ Src: a_t2,
+ Dst: b,
+ Index: 0,
}, {
- Src: b,
- Dst: a_t2,
+ Src: b,
+ Dst: a_t2,
+ Index: 0,
},
}
ctx := log.WithTB(context.Background(), t, nil)
- Layout(ctx, g)
+ Layout(ctx, g, func(ctx context.Context, g *d2graph.Graph) error {
+ // just set some position as if it had been properly placed
+ for _, obj := range g.Objects {
+ obj.TopLeft = geo.NewPoint(0, 0)
+ }
+
+ for _, edge := range g.Edges {
+ edge.Route = []*geo.Point{geo.NewPoint(1, 1)}
+ }
+ return nil
+ })
// check properties
if a.Attributes.Shape.Value != shape.PERSON_TYPE {
@@ -215,7 +246,7 @@ func TestSpansSequenceDiagram(t *testing.T) {
}
// Y diff of the 2 first edges
- expectedHeight := g.Edges[1].Route[0].Y - g.Edges[0].Route[0].Y + (2 * SPAN_EDGE_PAD)
+ expectedHeight := g.Edges[1].Route[0].Y - g.Edges[0].Route[0].Y + (2 * SPAN_MESSAGE_PAD)
if a_t1.Height != expectedHeight {
t.Fatalf("expected a.t1 height to be %.5f, got %.5f", expectedHeight, a_t1.Height)
}
@@ -237,20 +268,118 @@ func TestSpansSequenceDiagram(t *testing.T) {
if a_t1.TopLeft.Y != b_t1.TopLeft.Y {
t.Fatal("expected a.t1 and b.t1 to be placed at the same Y")
}
- if a_t1.TopLeft.Y != g.Edges[0].Route[0].Y-SPAN_EDGE_PAD {
- t.Fatal("expected a.t1 to be placed at the same Y of the first edge")
+ if a_t1.TopLeft.Y != g.Edges[0].Route[0].Y-SPAN_MESSAGE_PAD {
+ t.Fatal("expected a.t1 to be placed at the same Y of the first message")
}
// check routes
- if g.Edges[0].Route[0].X != a_t1.TopLeft.X+a_t1.Width+SPAN_EDGE_PAD {
- t.Fatal("expected the first edge to start on a.t1 top right X")
+ if g.Edges[0].Route[0].X != a_t1.TopLeft.X+a_t1.Width+SPAN_MESSAGE_PAD {
+ t.Fatal("expected the first message to start on a.t1 top right X")
}
- if g.Edges[0].Route[1].X != b_t1.TopLeft.X-SPAN_EDGE_PAD {
- t.Fatal("expected the first edge to end on b.t1 top left X")
+ if g.Edges[0].Route[1].X != b_t1.TopLeft.X-SPAN_MESSAGE_PAD {
+ t.Fatal("expected the first message to end on b.t1 top left X")
}
- if g.Edges[2].Route[1].X != b.Center().X-SPAN_EDGE_PAD {
- t.Fatal("expected the third edge to end on b.t1 center X")
+ if g.Edges[2].Route[1].X != b.Center().X-SPAN_MESSAGE_PAD {
+ t.Fatal("expected the third message to end on b.t1 center X")
+ }
+}
+
+func TestNestedSequenceDiagrams(t *testing.T) {
+ // ββββββββββββββββββββββββββββββββββββββββββ
+ // | βββββββ container βββββββ |
+ // | β a β β b β | βββββββ
+ // | ββββ¬βββ ββββ¬βββ βββββedge1ββββ€ c β
+ // | βββββββββsdEdge1βββββββΊββ€ | βββββββ
+ // | t1 ββ ββ t1 |
+ // | βββββββββsdEdge2βββββββββ€ |
+ // ββββββββββββββββββββββββββββββββββββββββββ
+ g := d2graph.NewGraph(nil)
+ container := g.Root.EnsureChild([]string{"container"})
+ container.Attributes.Shape = d2graph.Scalar{Value: d2target.ShapeSequenceDiagram}
+ container.Box = geo.NewBox(nil, 500, 500)
+ a := container.EnsureChild([]string{"a"})
+ a.Box = geo.NewBox(nil, 100, 100)
+ a.Attributes.Shape = d2graph.Scalar{Value: shape.PERSON_TYPE}
+ a_t1 := a.EnsureChild([]string{"t1"})
+ b := container.EnsureChild([]string{"b"})
+ b.Box = geo.NewBox(nil, 30, 30)
+ b_t1 := b.EnsureChild([]string{"t1"})
+
+ c := g.Root.EnsureChild([]string{"c"})
+ c.Box = geo.NewBox(nil, 100, 100)
+ c.Attributes.Shape = d2graph.Scalar{Value: d2target.ShapeSquare}
+
+ sdEdge1, err := g.Root.Connect(a_t1.AbsIDArray(), b_t1.AbsIDArray(), false, true, "sequence diagram edge 1")
+ if err != nil {
+ t.Fatal(err)
+ }
+ sdEdge2, err := g.Root.Connect(b_t1.AbsIDArray(), a_t1.AbsIDArray(), false, true, "sequence diagram edge 2")
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ edge1, err := g.Root.Connect(container.AbsIDArray(), c.AbsIDArray(), false, false, "edge 1")
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ layoutFn := func(ctx context.Context, g *d2graph.Graph) error {
+ if len(g.Objects) != 2 {
+ t.Fatal("expected only diagram objects for layout")
+ }
+ for _, obj := range g.Objects {
+ if obj == a || obj == a_t1 || obj == b || obj == b_t1 {
+ t.Fatal("expected to have removed all sequence diagram objects")
+ }
+ }
+ if len(container.ChildrenArray) != 0 {
+ t.Fatalf("expected no `container` children, got %d", len(container.ChildrenArray))
+ }
+
+ if len(container.Children) != len(container.ChildrenArray) {
+ t.Fatal("container children mismatch")
+ }
+
+ for _, edge := range g.Edges {
+ if edge == sdEdge1 || edge == sdEdge2 {
+ t.Fatal("expected to have removed all sequence diagram edges from graph")
+ }
+ }
+ if g.Edges[0] != edge1 {
+ t.Fatal("expected graph edge to be in the graph")
+ }
+
+ // just set some position as if it had been properly placed
+ for _, obj := range g.Objects {
+ obj.TopLeft = geo.NewPoint(0, 0)
+ }
+
+ for _, edge := range g.Edges {
+ edge.Route = []*geo.Point{geo.NewPoint(1, 1)}
+ }
+
+ return nil
+ }
+
+ ctx := log.WithTB(context.Background(), t, nil)
+ if err = Layout(ctx, g, layoutFn); err != nil {
+ t.Fatal(err)
+ }
+
+ if len(g.Edges) != 5 {
+ t.Fatal("expected graph to have all edges and lifelines after layout")
+ }
+
+ for _, obj := range g.Objects {
+ if obj.TopLeft == nil {
+ t.Fatal("expected to have placed all objects")
+ }
+ }
+ for _, edge := range g.Edges {
+ if len(edge.Route) == 0 {
+ t.Fatal("expected to have routed all edges")
+ }
}
}
diff --git a/d2layouts/d2sequence/sequence_diagram.go b/d2layouts/d2sequence/sequence_diagram.go
new file mode 100644
index 000000000..9d70eb837
--- /dev/null
+++ b/d2layouts/d2sequence/sequence_diagram.go
@@ -0,0 +1,309 @@
+package d2sequence
+
+import (
+ "fmt"
+ "math"
+ "sort"
+
+ "oss.terrastruct.com/util-go/go2"
+
+ "oss.terrastruct.com/d2/d2graph"
+ "oss.terrastruct.com/d2/lib/geo"
+ "oss.terrastruct.com/d2/lib/label"
+ "oss.terrastruct.com/d2/lib/shape"
+)
+
+type sequenceDiagram struct {
+ root *d2graph.Object
+ messages []*d2graph.Edge
+ lifelines []*d2graph.Edge
+ actors []*d2graph.Object
+ spans []*d2graph.Object
+
+ // can be either actors or spans
+ // rank: left to right position of actors/spans (spans have the same rank as their parents)
+ objectRank map[*d2graph.Object]int
+
+ // keep track of the first and last message of a given actor/span
+ // the message rank is the order in which it appears from top to bottom
+ minMessageRank map[*d2graph.Object]int
+ maxMessageRank map[*d2graph.Object]int
+
+ messageYStep float64
+ actorXStep float64
+ maxActorHeight float64
+}
+
+func newSequenceDiagram(actors []*d2graph.Object, messages []*d2graph.Edge) *sequenceDiagram {
+ sd := &sequenceDiagram{
+ messages: messages,
+ actors: actors,
+ spans: nil,
+ lifelines: nil,
+ objectRank: make(map[*d2graph.Object]int),
+ minMessageRank: make(map[*d2graph.Object]int),
+ maxMessageRank: make(map[*d2graph.Object]int),
+ messageYStep: MIN_MESSAGE_DISTANCE,
+ actorXStep: MIN_ACTOR_DISTANCE,
+ maxActorHeight: 0.,
+ }
+
+ for rank, actor := range actors {
+ sd.root = actor.Parent
+ sd.objectRank[actor] = rank
+ sd.maxActorHeight = math.Max(sd.maxActorHeight, actor.Height)
+
+ queue := make([]*d2graph.Object, len(actor.ChildrenArray))
+ copy(queue, actor.ChildrenArray)
+ for len(queue) > 0 {
+ span := queue[0]
+ queue = queue[1:]
+
+ // spans are always rectangles and have no labels
+ span.Attributes.Label = d2graph.Scalar{Value: ""}
+ span.Attributes.Shape = d2graph.Scalar{Value: shape.SQUARE_TYPE}
+ sd.spans = append(sd.spans, span)
+ sd.objectRank[span] = rank
+
+ queue = append(queue, span.ChildrenArray...)
+ }
+ }
+
+ for rank, message := range sd.messages {
+ sd.messageYStep = math.Max(sd.messageYStep, float64(message.LabelDimensions.Height))
+
+ sd.setMinMaxMessageRank(message.Src, rank)
+ sd.setMinMaxMessageRank(message.Dst, rank)
+
+ // ensures that long labels, spanning over multiple actors, don't make for large gaps between actors
+ // by distributing the label length across the actors rank difference
+ rankDiff := math.Abs(float64(sd.objectRank[message.Src]) - float64(sd.objectRank[message.Dst]))
+ distributedLabelWidth := float64(message.LabelDimensions.Width) / rankDiff
+ sd.actorXStep = math.Max(sd.actorXStep, distributedLabelWidth+HORIZONTAL_PAD)
+ }
+
+ sd.maxActorHeight += VERTICAL_PAD
+ sd.messageYStep += VERTICAL_PAD
+
+ return sd
+}
+
+func (sd *sequenceDiagram) setMinMaxMessageRank(actor *d2graph.Object, rank int) {
+ if minRank, exists := sd.minMessageRank[actor]; exists {
+ sd.minMessageRank[actor] = go2.IntMin(minRank, rank)
+ } else {
+ sd.minMessageRank[actor] = rank
+ }
+
+ sd.maxMessageRank[actor] = go2.IntMax(sd.maxMessageRank[actor], rank)
+}
+
+func (sd *sequenceDiagram) layout() {
+ sd.placeActors()
+ sd.placeSpans()
+ sd.routeMessages()
+ sd.addLifelineEdges()
+}
+
+// placeActors places actors bottom aligned, side by side
+func (sd *sequenceDiagram) placeActors() {
+ x := 0.
+ for _, actors := range sd.actors {
+ yOffset := sd.maxActorHeight - actors.Height
+ actors.TopLeft = geo.NewPoint(x, yOffset)
+ x += actors.Width + sd.actorXStep
+ actors.LabelPosition = go2.Pointer(string(label.InsideMiddleCenter))
+ }
+}
+
+// addLifelineEdges adds a new edge for each actor in the graph that represents the its lifeline
+// ββββββββββββββββ
+// β actor β
+// ββββββββ¬ββββββββ
+// β
+// β lifeline
+// β
+// β
+func (sd *sequenceDiagram) addLifelineEdges() {
+ endY := sd.getMessageY(len(sd.messages))
+ for _, actor := range sd.actors {
+ actorBottom := actor.Center()
+ actorBottom.Y = actor.TopLeft.Y + actor.Height
+ actorLifelineEnd := actor.Center()
+ actorLifelineEnd.Y = endY
+ sd.lifelines = append(sd.lifelines, &d2graph.Edge{
+ Attributes: d2graph.Attributes{
+ Style: d2graph.Style{
+ StrokeDash: &d2graph.Scalar{Value: "10"},
+ Stroke: actor.Attributes.Style.Stroke,
+ StrokeWidth: actor.Attributes.Style.StrokeWidth,
+ },
+ },
+ Src: actor,
+ SrcArrow: false,
+ Dst: &d2graph.Object{
+ ID: actor.ID + fmt.Sprintf("-lifeline-end-%d", go2.StringToIntHash(actor.ID+"-lifeline-end")),
+ },
+ DstArrow: false,
+ Route: []*geo.Point{actorBottom, actorLifelineEnd},
+ })
+ }
+}
+
+// placeSpans places spans over the object lifeline
+// ββββββββββββ
+// β actor β
+// ββββββ¬ββββββ
+// βββ΄βββ
+// β β
+// |span|
+// β β
+// βββ¬βββ
+// β
+// lifeline
+// β
+func (sd *sequenceDiagram) placeSpans() {
+ // quickly find the span center X
+ rankToX := make(map[int]float64)
+ for _, actor := range sd.actors {
+ rankToX[sd.objectRank[actor]] = actor.Center().X
+ }
+
+ // places spans from most to least nested
+ // the order is important because the only way a child span exists is if there'e an message to it
+ // however, the parent span might not have a message to it and then its position is based on the child position
+ // or, there can be a message to it, but it comes after the child one meaning the top left position is still based on the child
+ // and not on its own message
+ spanFromMostNested := make([]*d2graph.Object, len(sd.spans))
+ copy(spanFromMostNested, sd.spans)
+ sort.SliceStable(spanFromMostNested, func(i, j int) bool {
+ return spanFromMostNested[i].Level() > spanFromMostNested[j].Level()
+ })
+ for _, span := range spanFromMostNested {
+ // finds the position based on children
+ minChildY := math.Inf(1)
+ maxChildY := math.Inf(-1)
+ for _, child := range span.ChildrenArray {
+ minChildY = math.Min(minChildY, child.TopLeft.Y)
+ maxChildY = math.Max(maxChildY, child.TopLeft.Y+child.Height)
+ }
+
+ // finds the position if there are messages to this span
+ minMessageY := math.Inf(1)
+ if minRank, exists := sd.minMessageRank[span]; exists {
+ minMessageY = sd.getMessageY(minRank)
+ }
+ maxMessageY := math.Inf(-1)
+ if maxRank, exists := sd.maxMessageRank[span]; exists {
+ maxMessageY = sd.getMessageY(maxRank)
+ }
+
+ // if it is the same as the child top left, add some padding
+ minY := math.Min(minMessageY, minChildY)
+ if minY == minChildY {
+ minY -= SPAN_DEPTH_GROW_FACTOR
+ } else {
+ minY -= SPAN_MESSAGE_PAD
+ }
+ maxY := math.Max(maxMessageY, maxChildY)
+ if maxY == maxChildY {
+ maxY += SPAN_DEPTH_GROW_FACTOR
+ } else {
+ maxY += SPAN_MESSAGE_PAD
+ }
+
+ height := math.Max(maxY-minY, MIN_SPAN_HEIGHT)
+ // -2 because the actors count as level 1 making the first level span getting 2*SPAN_DEPTH_GROW_FACTOR
+ width := SPAN_WIDTH + (float64(span.Level()-2) * SPAN_DEPTH_GROW_FACTOR)
+ x := rankToX[sd.objectRank[span]] - (width / 2.)
+ span.Box = geo.NewBox(geo.NewPoint(x, minY), width, height)
+ span.ZIndex = 1
+ }
+}
+
+// routeMessages routes horizontal edges (messages) from Src to Dst
+func (sd *sequenceDiagram) routeMessages() {
+ for rank, message := range sd.messages {
+ message.ZIndex = 2
+ isLeftToRight := message.Src.TopLeft.X < message.Dst.TopLeft.X
+
+ // finds the proper anchor point based on the message direction
+ var startX, endX float64
+ if sd.isActor(message.Src) {
+ startX = message.Src.Center().X
+ } else if isLeftToRight {
+ startX = message.Src.TopLeft.X + message.Src.Width
+ } else {
+ startX = message.Src.TopLeft.X
+ }
+
+ if sd.isActor(message.Dst) {
+ endX = message.Dst.Center().X
+ } else if isLeftToRight {
+ endX = message.Dst.TopLeft.X
+ } else {
+ endX = message.Dst.TopLeft.X + message.Dst.Width
+ }
+
+ if isLeftToRight {
+ startX += SPAN_MESSAGE_PAD
+ endX -= SPAN_MESSAGE_PAD
+ } else {
+ startX -= SPAN_MESSAGE_PAD
+ endX += SPAN_MESSAGE_PAD
+ }
+
+ messageY := sd.getMessageY(rank)
+ message.Route = []*geo.Point{
+ geo.NewPoint(startX, messageY),
+ geo.NewPoint(endX, messageY),
+ }
+
+ 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))
+ }
+ }
+ }
+}
+
+func (sd *sequenceDiagram) getMessageY(rank int) float64 {
+ // +1 so that the first message has the top padding for its label
+ return ((float64(rank) + 1.) * sd.messageYStep) + sd.maxActorHeight
+}
+
+func (sd *sequenceDiagram) isActor(obj *d2graph.Object) bool {
+ return obj.Parent == sd.root
+}
+
+func (sd *sequenceDiagram) getWidth() float64 {
+ // the layout is always placed starting at 0, so the width is just the last actor
+ lastActor := sd.actors[len(sd.actors)-1]
+ return lastActor.TopLeft.X + lastActor.Width
+}
+
+func (sd *sequenceDiagram) getHeight() float64 {
+ // the layout is always placed starting at 0, so the height is just the last message
+ return sd.getMessageY(len(sd.messages))
+}
+
+func (sd *sequenceDiagram) shift(tl *geo.Point) {
+ allObjects := append([]*d2graph.Object{}, sd.actors...)
+ allObjects = append(allObjects, sd.spans...)
+ for _, obj := range allObjects {
+ obj.TopLeft.X += tl.X
+ obj.TopLeft.Y += tl.Y
+ }
+
+ allEdges := append([]*d2graph.Edge{}, sd.messages...)
+ allEdges = append(allEdges, sd.lifelines...)
+ for _, edge := range allEdges {
+ for _, p := range edge.Route {
+ p.X += tl.X
+ p.Y += tl.Y
+ }
+ }
+}
diff --git a/d2lib/d2.go b/d2lib/d2.go
index cfc0a0713..182dd0ae3 100644
--- a/d2lib/d2.go
+++ b/d2lib/d2.go
@@ -9,6 +9,7 @@ import (
"oss.terrastruct.com/d2/d2compiler"
"oss.terrastruct.com/d2/d2exporter"
"oss.terrastruct.com/d2/d2graph"
+ "oss.terrastruct.com/d2/d2layouts/d2sequence"
"oss.terrastruct.com/d2/d2target"
"oss.terrastruct.com/d2/lib/textmeasure"
)
@@ -39,14 +40,9 @@ func Compile(ctx context.Context, input string, opts *CompileOptions) (*d2target
return nil, nil, err
}
- if opts.Layout != nil {
- err = opts.Layout(ctx, g)
- } else if os.Getenv("D2_LAYOUT") == "dagre" && dagreLayout != nil {
- err = dagreLayout(ctx, g)
- } else {
- err = errors.New("no available layout")
- }
- if err != nil {
+ if layout, err := getLayout(opts); err != nil {
+ return nil, nil, err
+ } else if err := d2sequence.Layout(ctx, g, layout); err != nil {
return nil, nil, err
}
@@ -54,5 +50,15 @@ func Compile(ctx context.Context, input string, opts *CompileOptions) (*d2target
return diagram, g, err
}
+func getLayout(opts *CompileOptions) (func(context.Context, *d2graph.Graph) error, error) {
+ if opts.Layout != nil {
+ return opts.Layout, nil
+ } else if os.Getenv("D2_LAYOUT") == "dagre" && dagreLayout != nil {
+ return dagreLayout, nil
+ } else {
+ return nil, errors.New("no available layout")
+ }
+}
+
// See c.go
var dagreLayout func(context.Context, *d2graph.Graph) error
diff --git a/e2etests/stable_test.go b/e2etests/stable_test.go
index f75a8d6e3..0d191b284 100644
--- a/e2etests/stable_test.go
+++ b/e2etests/stable_test.go
@@ -1043,6 +1043,172 @@ size XXXL -> custom 64: custom 48 {
style.font-size: 48
}
`,
+ }, {
+ name: "sequence_diagram_simple",
+ script: `shape: sequence_diagram
+alice: "Alice\nline\nbreaker" {
+ shape: person
+ style.stroke: red
+}
+bob: "Bob" {
+ shape: person
+ style.stroke-width: 5
+}
+db: {
+ shape: cylinder
+}
+queue: {
+ shape: queue
+}
+service: "an\nodd\nservice\nwith\na\nname\nin\nmultiple lines"
+
+alice -> bob: "Authentication Request"
+bob -> service: "make request for something that is quite far away and requires a really long label to take all the space between the objects"
+service -> db: "validate credentials"
+db -> service: {
+ style.stroke-dash: 4
+}
+service -> bob: {
+ style.stroke-dash: 4
+}
+bob -> alice: "Authentication Response"
+alice -> bob: "Another authentication Request"
+bob -> queue: "do it later"
+queue -> bob: "stored" {
+ style.stroke-dash: 3
+ style.stroke-width: 5
+ style.stroke: green
+}
+
+bob -> alice: "Another authentication Response"`,
+ }, {
+ name: "sequence_diagram_span",
+ script: `shape: sequence_diagram
+
+scorer.t -> itemResponse.t: getItem()
+scorer.t <- itemResponse.t: item
+
+scorer.t -> item.t1: getRubric()
+scorer.t <- item.t1: rubric
+
+scorer.t -> essayRubric.t: applyTo(essayResp)
+itemResponse -> essayRubric.t.c
+essayRubric.t.c -> concept.t: match(essayResponse)
+scorer <- essayRubric.t: score
+
+scorer.t -> itemOutcome.t1: new
+scorer.t -> item.t2: getNormalMinimum()
+scorer.t -> item.t3: getNormalMaximum()
+
+scorer.t -> itemOutcome.t2: setScore(score)
+scorer.t -> itemOutcome.t3: setFeedback(missingConcepts)`,
+ }, {
+ name: "sequence_diagram_nested_span",
+ script: `shape: sequence_diagram
+
+scorer: {
+ stroke: red
+ stroke-width: 5
+}
+
+scorer.abc: {
+ fill: yellow
+ stroke-width: 7
+}
+
+scorer -> itemResponse.a: {
+ stroke-width: 10
+}
+itemResponse.a -> item.a.b
+item.a.b -> essayRubric.a.b.c
+essayRubric.a.b.c -> concept.a.b.c.d
+item.a -> essayRubric.a.b
+concept.a.b.c.d -> itemOutcome.a.b.c.d.e
+
+scorer.abc -> item.a
+
+itemOutcome.a.b.c.d.e -> scorer
+scorer -> itemResponse.c`,
+ }, {
+ name: "sequence_diagrams",
+ script: `a_shape.shape: circle
+a_sequence: {
+ shape: sequence_diagram
+
+ scorer.t -> itemResponse.t: getItem()
+ scorer.t <- itemResponse.t: item
+
+ scorer.t -> item.t1: getRubric()
+ scorer.t <- item.t1: rubric
+
+ scorer.t -> essayRubric.t: applyTo(essayResp)
+ itemResponse -> essayRubric.t.c
+ essayRubric.t.c -> concept.t: match(essayResponse)
+ scorer <- essayRubric.t: score
+
+ scorer.t <-> itemOutcome.t1: new
+ scorer.t <-> item.t2: getNormalMinimum()
+ scorer.t -> item.t3: getNormalMaximum()
+
+ scorer.t -- itemOutcome.t2: setScore(score)
+ scorer.t -- itemOutcome.t3: setFeedback(missingConcepts)
+}
+
+another: {
+ sequence: {
+ shape: sequence_diagram
+
+ # scoped edges
+ scorer.t -> itemResponse.t: getItem()
+ scorer.t <- itemResponse.t: item
+
+ scorer.t -> item.t1: getRubric()
+ scorer.t <- item.t1: rubric
+
+ scorer.t -> essayRubric.t: applyTo(essayResp)
+ itemResponse -> essayRubric.t.c
+ essayRubric.t.c -> concept.t: match(essayResponse)
+ scorer <- essayRubric.t: score
+
+ scorer.t -> itemOutcome.t1: new
+ scorer.t <-> item.t2: getNormalMinimum()
+ scorer.t -> item.t3: getNormalMaximum()
+
+ scorer.t -> itemOutcome.t2: setScore(score)
+ scorer.t -> itemOutcome.t3: setFeedback(missingConcepts)
+ }
+}
+
+a_shape -> a_sequence
+a_shape -> another.sequence
+a_sequence -> sequence
+another.sequence <-> finally.sequence
+a_shape -- finally
+
+
+finally: {
+ shape: queue
+ sequence: {
+ shape: sequence_diagram
+ # items appear in this order
+ scorer
+ concept
+ essayRubric
+ item
+ itemOutcome
+ itemResponse
+ }
+}
+
+# full path edges
+finally.sequence.itemResponse.a -> finally.sequence.item.a.b
+finally.sequence.item.a.b -> finally.sequence.essayRubric.a.b.c
+finally.sequence.essayRubric.a.b.c -> finally.sequence.concept.a.b.c.d
+finally.sequence.item.a -> finally.sequence.essayRubric.a.b
+finally.sequence.concept.a.b.c.d -> finally.sequence.itemOutcome.a.b.c.d.e
+finally.sequence.scorer.abc -> finally.sequence.item.a
+finally.sequence.itemOutcome.a.b.c.d.e -> finally.sequence.scorer
+finally.sequence.scorer -> finally.sequence.itemResponse.c`,
},
}
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
new file mode 100644
index 000000000..f91a979ec
--- /dev/null
+++ b/e2etests/testdata/stable/sequence_diagram_nested_span/dagre/board.exp.json
@@ -0,0 +1,1472 @@
+{
+ "name": "",
+ "shapes": [
+ {
+ "id": "scorer",
+ "type": "",
+ "pos": {
+ "x": 0,
+ "y": 50
+ },
+ "width": 179,
+ "height": 141,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 5,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "red",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "scorer",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 79,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "scorer.abc",
+ "type": "rectangle",
+ "pos": {
+ "x": 79,
+ "y": 1236
+ },
+ "width": 20,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 7,
+ "borderRadius": 0,
+ "fill": "yellow",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 31,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "itemResponse",
+ "type": "",
+ "pos": {
+ "x": 379,
+ "y": 50
+ },
+ "width": 270,
+ "height": 141,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "itemResponse",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 170,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "itemResponse.a",
+ "type": "rectangle",
+ "pos": {
+ "x": 504,
+ "y": 336
+ },
+ "width": 20,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "item",
+ "type": "",
+ "pos": {
+ "x": 849,
+ "y": 50
+ },
+ "width": 157,
+ "height": 141,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "item",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 57,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "item.a",
+ "type": "rectangle",
+ "pos": {
+ "x": 917,
+ "y": 476
+ },
+ "width": 20,
+ "height": 770,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 15,
+ "labelHeight": 36,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "item.a.b",
+ "type": "rectangle",
+ "pos": {
+ "x": 912,
+ "y": 486
+ },
+ "width": 30,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "essayRubric",
+ "type": "",
+ "pos": {
+ "x": 1206,
+ "y": 50
+ },
+ "width": 245,
+ "height": 141,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "essayRubric",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 145,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "essayRubric.a",
+ "type": "rectangle",
+ "pos": {
+ "x": 1318,
+ "y": 616
+ },
+ "width": 20,
+ "height": 340,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 15,
+ "labelHeight": 36,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "essayRubric.a.b",
+ "type": "rectangle",
+ "pos": {
+ "x": 1313,
+ "y": 626
+ },
+ "width": 30,
+ "height": 320,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 15,
+ "labelHeight": 31,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "essayRubric.a.b.c",
+ "type": "rectangle",
+ "pos": {
+ "x": 1308,
+ "y": 636
+ },
+ "width": 40,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "concept",
+ "type": "",
+ "pos": {
+ "x": 1651,
+ "y": 50
+ },
+ "width": 200,
+ "height": 141,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "concept",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 100,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "concept.a",
+ "type": "rectangle",
+ "pos": {
+ "x": 1741,
+ "y": 756
+ },
+ "width": 20,
+ "height": 370,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 15,
+ "labelHeight": 36,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "concept.a.b",
+ "type": "rectangle",
+ "pos": {
+ "x": 1736,
+ "y": 766
+ },
+ "width": 30,
+ "height": 350,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 15,
+ "labelHeight": 31,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "concept.a.b.c",
+ "type": "rectangle",
+ "pos": {
+ "x": 1731,
+ "y": 776
+ },
+ "width": 40,
+ "height": 330,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 12,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "concept.a.b.c.d",
+ "type": "rectangle",
+ "pos": {
+ "x": 1726,
+ "y": 786
+ },
+ "width": 50,
+ "height": 310,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 14,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 5
+ },
+ {
+ "id": "itemOutcome",
+ "type": "",
+ "pos": {
+ "x": 2051,
+ "y": 50
+ },
+ "width": 265,
+ "height": 141,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "itemOutcome",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 165,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "itemOutcome.a",
+ "type": "rectangle",
+ "pos": {
+ "x": 2173,
+ "y": 1046
+ },
+ "width": 20,
+ "height": 390,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 15,
+ "labelHeight": 36,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "itemOutcome.a.b",
+ "type": "rectangle",
+ "pos": {
+ "x": 2168,
+ "y": 1056
+ },
+ "width": 30,
+ "height": 370,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 15,
+ "labelHeight": 31,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "itemOutcome.a.b.c",
+ "type": "rectangle",
+ "pos": {
+ "x": 2163,
+ "y": 1066
+ },
+ "width": 40,
+ "height": 350,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 12,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "itemOutcome.a.b.c.d",
+ "type": "rectangle",
+ "pos": {
+ "x": 2158,
+ "y": 1076
+ },
+ "width": 50,
+ "height": 330,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 5
+ },
+ {
+ "id": "itemOutcome.a.b.c.d.e",
+ "type": "rectangle",
+ "pos": {
+ "x": 2153,
+ "y": 1086
+ },
+ "width": 60,
+ "height": 310,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 6
+ },
+ {
+ "id": "itemResponse.c",
+ "type": "rectangle",
+ "pos": {
+ "x": 504,
+ "y": 1536
+ },
+ "width": 20,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 2
+ }
+ ],
+ "connections": [
+ {
+ "id": "(scorer -> itemResponse.a)[0]",
+ "src": "scorer",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemResponse.a",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 10,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 94.5,
+ "y": 341
+ },
+ {
+ "x": 499,
+ "y": 341
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(itemResponse.a -> item.a.b)[0]",
+ "src": "itemResponse.a",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "item.a.b",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 529,
+ "y": 491
+ },
+ {
+ "x": 907.5,
+ "y": 491
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(item.a.b -> essayRubric.a.b.c)[0]",
+ "src": "item.a.b",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "essayRubric.a.b.c",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 947.5,
+ "y": 641
+ },
+ {
+ "x": 1303.5,
+ "y": 641
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(essayRubric.a.b.c -> concept.a.b.c.d)[0]",
+ "src": "essayRubric.a.b.c",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "concept.a.b.c.d",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1353.5,
+ "y": 791
+ },
+ {
+ "x": 1721,
+ "y": 791
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(item.a -> essayRubric.a.b)[0]",
+ "src": "item.a",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "essayRubric.a.b",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 942.5,
+ "y": 941
+ },
+ {
+ "x": 1308.5,
+ "y": 941
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(concept.a.b.c.d -> itemOutcome.a.b.c.d.e)[0]",
+ "src": "concept.a.b.c.d",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemOutcome.a.b.c.d.e",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1781,
+ "y": 1091
+ },
+ {
+ "x": 2148.5,
+ "y": 1091
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer.abc -> item.a)[0]",
+ "src": "scorer.abc",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "item.a",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 104.5,
+ "y": 1241
+ },
+ {
+ "x": 912.5,
+ "y": 1241
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(itemOutcome.a.b.c.d.e -> scorer)[0]",
+ "src": "itemOutcome.a.b.c.d.e",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "scorer",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2148.5,
+ "y": 1391
+ },
+ {
+ "x": 94.5,
+ "y": 1391
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer -> itemResponse.c)[0]",
+ "src": "scorer",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemResponse.c",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 94.5,
+ "y": 1541
+ },
+ {
+ "x": 499,
+ "y": 1541
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer -- )[0]",
+ "src": "scorer",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "scorer-lifeline-end-3390057676",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 5,
+ "stroke": "red",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 89.5,
+ "y": 191
+ },
+ {
+ "x": 89.5,
+ "y": 1691
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(itemResponse -- )[0]",
+ "src": "itemResponse",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemResponse-lifeline-end-3886259856",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 514,
+ "y": 191
+ },
+ {
+ "x": 514,
+ "y": 1691
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(item -- )[0]",
+ "src": "item",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "item-lifeline-end-4102336625",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 927.5,
+ "y": 191
+ },
+ {
+ "x": 927.5,
+ "y": 1691
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(essayRubric -- )[0]",
+ "src": "essayRubric",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "essayRubric-lifeline-end-1632038932",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1328.5,
+ "y": 191
+ },
+ {
+ "x": 1328.5,
+ "y": 1691
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(concept -- )[0]",
+ "src": "concept",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "concept-lifeline-end-1391711018",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1751,
+ "y": 191
+ },
+ {
+ "x": 1751,
+ "y": 1691
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(itemOutcome -- )[0]",
+ "src": "itemOutcome",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemOutcome-lifeline-end-3921917181",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2183.5,
+ "y": 191
+ },
+ {
+ "x": 2183.5,
+ "y": 1691
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ }
+ ]
+}
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
new file mode 100644
index 000000000..a4cc51663
--- /dev/null
+++ b/e2etests/testdata/stable/sequence_diagram_nested_span/dagre/sketch.exp.svg
@@ -0,0 +1,24 @@
+
+
\ No newline at end of file
diff --git a/e2etests/testdata/stable/sequence_diagram_nested_span/elk/board.exp.json b/e2etests/testdata/stable/sequence_diagram_nested_span/elk/board.exp.json
new file mode 100644
index 000000000..f91a979ec
--- /dev/null
+++ b/e2etests/testdata/stable/sequence_diagram_nested_span/elk/board.exp.json
@@ -0,0 +1,1472 @@
+{
+ "name": "",
+ "shapes": [
+ {
+ "id": "scorer",
+ "type": "",
+ "pos": {
+ "x": 0,
+ "y": 50
+ },
+ "width": 179,
+ "height": 141,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 5,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "red",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "scorer",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 79,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "scorer.abc",
+ "type": "rectangle",
+ "pos": {
+ "x": 79,
+ "y": 1236
+ },
+ "width": 20,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 7,
+ "borderRadius": 0,
+ "fill": "yellow",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 31,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "itemResponse",
+ "type": "",
+ "pos": {
+ "x": 379,
+ "y": 50
+ },
+ "width": 270,
+ "height": 141,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "itemResponse",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 170,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "itemResponse.a",
+ "type": "rectangle",
+ "pos": {
+ "x": 504,
+ "y": 336
+ },
+ "width": 20,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "item",
+ "type": "",
+ "pos": {
+ "x": 849,
+ "y": 50
+ },
+ "width": 157,
+ "height": 141,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "item",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 57,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "item.a",
+ "type": "rectangle",
+ "pos": {
+ "x": 917,
+ "y": 476
+ },
+ "width": 20,
+ "height": 770,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 15,
+ "labelHeight": 36,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "item.a.b",
+ "type": "rectangle",
+ "pos": {
+ "x": 912,
+ "y": 486
+ },
+ "width": 30,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "essayRubric",
+ "type": "",
+ "pos": {
+ "x": 1206,
+ "y": 50
+ },
+ "width": 245,
+ "height": 141,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "essayRubric",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 145,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "essayRubric.a",
+ "type": "rectangle",
+ "pos": {
+ "x": 1318,
+ "y": 616
+ },
+ "width": 20,
+ "height": 340,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 15,
+ "labelHeight": 36,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "essayRubric.a.b",
+ "type": "rectangle",
+ "pos": {
+ "x": 1313,
+ "y": 626
+ },
+ "width": 30,
+ "height": 320,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 15,
+ "labelHeight": 31,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "essayRubric.a.b.c",
+ "type": "rectangle",
+ "pos": {
+ "x": 1308,
+ "y": 636
+ },
+ "width": 40,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "concept",
+ "type": "",
+ "pos": {
+ "x": 1651,
+ "y": 50
+ },
+ "width": 200,
+ "height": 141,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "concept",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 100,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "concept.a",
+ "type": "rectangle",
+ "pos": {
+ "x": 1741,
+ "y": 756
+ },
+ "width": 20,
+ "height": 370,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 15,
+ "labelHeight": 36,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "concept.a.b",
+ "type": "rectangle",
+ "pos": {
+ "x": 1736,
+ "y": 766
+ },
+ "width": 30,
+ "height": 350,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 15,
+ "labelHeight": 31,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "concept.a.b.c",
+ "type": "rectangle",
+ "pos": {
+ "x": 1731,
+ "y": 776
+ },
+ "width": 40,
+ "height": 330,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 12,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "concept.a.b.c.d",
+ "type": "rectangle",
+ "pos": {
+ "x": 1726,
+ "y": 786
+ },
+ "width": 50,
+ "height": 310,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 14,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 5
+ },
+ {
+ "id": "itemOutcome",
+ "type": "",
+ "pos": {
+ "x": 2051,
+ "y": 50
+ },
+ "width": 265,
+ "height": 141,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "itemOutcome",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 165,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "itemOutcome.a",
+ "type": "rectangle",
+ "pos": {
+ "x": 2173,
+ "y": 1046
+ },
+ "width": 20,
+ "height": 390,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 15,
+ "labelHeight": 36,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "itemOutcome.a.b",
+ "type": "rectangle",
+ "pos": {
+ "x": 2168,
+ "y": 1056
+ },
+ "width": 30,
+ "height": 370,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 15,
+ "labelHeight": 31,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "itemOutcome.a.b.c",
+ "type": "rectangle",
+ "pos": {
+ "x": 2163,
+ "y": 1066
+ },
+ "width": 40,
+ "height": 350,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 12,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "itemOutcome.a.b.c.d",
+ "type": "rectangle",
+ "pos": {
+ "x": 2158,
+ "y": 1076
+ },
+ "width": 50,
+ "height": 330,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 5
+ },
+ {
+ "id": "itemOutcome.a.b.c.d.e",
+ "type": "rectangle",
+ "pos": {
+ "x": 2153,
+ "y": 1086
+ },
+ "width": 60,
+ "height": 310,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 6
+ },
+ {
+ "id": "itemResponse.c",
+ "type": "rectangle",
+ "pos": {
+ "x": 504,
+ "y": 1536
+ },
+ "width": 20,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 2
+ }
+ ],
+ "connections": [
+ {
+ "id": "(scorer -> itemResponse.a)[0]",
+ "src": "scorer",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemResponse.a",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 10,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 94.5,
+ "y": 341
+ },
+ {
+ "x": 499,
+ "y": 341
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(itemResponse.a -> item.a.b)[0]",
+ "src": "itemResponse.a",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "item.a.b",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 529,
+ "y": 491
+ },
+ {
+ "x": 907.5,
+ "y": 491
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(item.a.b -> essayRubric.a.b.c)[0]",
+ "src": "item.a.b",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "essayRubric.a.b.c",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 947.5,
+ "y": 641
+ },
+ {
+ "x": 1303.5,
+ "y": 641
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(essayRubric.a.b.c -> concept.a.b.c.d)[0]",
+ "src": "essayRubric.a.b.c",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "concept.a.b.c.d",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1353.5,
+ "y": 791
+ },
+ {
+ "x": 1721,
+ "y": 791
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(item.a -> essayRubric.a.b)[0]",
+ "src": "item.a",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "essayRubric.a.b",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 942.5,
+ "y": 941
+ },
+ {
+ "x": 1308.5,
+ "y": 941
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(concept.a.b.c.d -> itemOutcome.a.b.c.d.e)[0]",
+ "src": "concept.a.b.c.d",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemOutcome.a.b.c.d.e",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1781,
+ "y": 1091
+ },
+ {
+ "x": 2148.5,
+ "y": 1091
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer.abc -> item.a)[0]",
+ "src": "scorer.abc",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "item.a",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 104.5,
+ "y": 1241
+ },
+ {
+ "x": 912.5,
+ "y": 1241
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(itemOutcome.a.b.c.d.e -> scorer)[0]",
+ "src": "itemOutcome.a.b.c.d.e",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "scorer",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2148.5,
+ "y": 1391
+ },
+ {
+ "x": 94.5,
+ "y": 1391
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer -> itemResponse.c)[0]",
+ "src": "scorer",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemResponse.c",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 94.5,
+ "y": 1541
+ },
+ {
+ "x": 499,
+ "y": 1541
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer -- )[0]",
+ "src": "scorer",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "scorer-lifeline-end-3390057676",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 5,
+ "stroke": "red",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 89.5,
+ "y": 191
+ },
+ {
+ "x": 89.5,
+ "y": 1691
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(itemResponse -- )[0]",
+ "src": "itemResponse",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemResponse-lifeline-end-3886259856",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 514,
+ "y": 191
+ },
+ {
+ "x": 514,
+ "y": 1691
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(item -- )[0]",
+ "src": "item",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "item-lifeline-end-4102336625",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 927.5,
+ "y": 191
+ },
+ {
+ "x": 927.5,
+ "y": 1691
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(essayRubric -- )[0]",
+ "src": "essayRubric",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "essayRubric-lifeline-end-1632038932",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1328.5,
+ "y": 191
+ },
+ {
+ "x": 1328.5,
+ "y": 1691
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(concept -- )[0]",
+ "src": "concept",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "concept-lifeline-end-1391711018",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1751,
+ "y": 191
+ },
+ {
+ "x": 1751,
+ "y": 1691
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(itemOutcome -- )[0]",
+ "src": "itemOutcome",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemOutcome-lifeline-end-3921917181",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2183.5,
+ "y": 191
+ },
+ {
+ "x": 2183.5,
+ "y": 1691
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ }
+ ]
+}
diff --git a/e2etests/testdata/stable/sequence_diagram_nested_span/elk/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagram_nested_span/elk/sketch.exp.svg
new file mode 100644
index 000000000..a4cc51663
--- /dev/null
+++ b/e2etests/testdata/stable/sequence_diagram_nested_span/elk/sketch.exp.svg
@@ -0,0 +1,24 @@
+
+
\ No newline at end of file
diff --git a/e2etests/testdata/stable/sequence_diagram_simple/dagre/board.exp.json b/e2etests/testdata/stable/sequence_diagram_simple/dagre/board.exp.json
new file mode 100644
index 000000000..1fc4cf4c9
--- /dev/null
+++ b/e2etests/testdata/stable/sequence_diagram_simple/dagre/board.exp.json
@@ -0,0 +1,787 @@
+{
+ "name": "",
+ "shapes": [
+ {
+ "id": "alice",
+ "type": "person",
+ "pos": {
+ "x": 0,
+ "y": 130
+ },
+ "width": 163,
+ "height": 158,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "red",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "Alice\nline\nbreaker",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 63,
+ "labelHeight": 58,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "bob",
+ "type": "person",
+ "pos": {
+ "x": 480,
+ "y": 162
+ },
+ "width": 132,
+ "height": 126,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 5,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "Bob",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 32,
+ "labelHeight": 26,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "db",
+ "type": "cylinder",
+ "pos": {
+ "x": 929,
+ "y": 162
+ },
+ "width": 124,
+ "height": 126,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "db",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 24,
+ "labelHeight": 26,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "queue",
+ "type": "queue",
+ "pos": {
+ "x": 1370,
+ "y": 162
+ },
+ "width": 149,
+ "height": 126,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F0F3F9",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "queue",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 49,
+ "labelHeight": 26,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "service",
+ "type": "",
+ "pos": {
+ "x": 1836,
+ "y": 50
+ },
+ "width": 202,
+ "height": 238,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "an\nodd\nservice\nwith\na\nname\nin\nmultiple lines",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 102,
+ "labelHeight": 138,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ }
+ ],
+ "connections": [
+ {
+ "id": "(alice -> bob)[0]",
+ "src": "alice",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "bob",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "Authentication Request",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 155,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 86.5,
+ "y": 438
+ },
+ {
+ "x": 541,
+ "y": 438
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(bob -> service)[0]",
+ "src": "bob",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "service",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "make request for something that is quite far away and requires a really long label to take all the space between the objects",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 801,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 551,
+ "y": 588
+ },
+ {
+ "x": 1932,
+ "y": 588
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(service -> db)[0]",
+ "src": "service",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "db",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "validate credentials",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 131,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_BOTTOM_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1932,
+ "y": 738
+ },
+ {
+ "x": 996,
+ "y": 738
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(db -> service)[0]",
+ "src": "db",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "service",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 4,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 996,
+ "y": 888
+ },
+ {
+ "x": 1932,
+ "y": 888
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(service -> bob)[0]",
+ "src": "service",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "bob",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 4,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1932,
+ "y": 1038
+ },
+ {
+ "x": 551,
+ "y": 1038
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(bob -> alice)[0]",
+ "src": "bob",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "alice",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "Authentication Response",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 164,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_BOTTOM_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 541,
+ "y": 1188
+ },
+ {
+ "x": 86.5,
+ "y": 1188
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(alice -> bob)[1]",
+ "src": "alice",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "bob",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "Another authentication Request",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 210,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 86.5,
+ "y": 1338
+ },
+ {
+ "x": 541,
+ "y": 1338
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(bob -> queue)[0]",
+ "src": "bob",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "queue",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "do it later",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 65,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 551,
+ "y": 1488
+ },
+ {
+ "x": 1439.5,
+ "y": 1488
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(queue -> bob)[0]",
+ "src": "queue",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "bob",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 3,
+ "strokeWidth": 5,
+ "stroke": "green",
+ "label": "stored",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 44,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_BOTTOM_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1439.5,
+ "y": 1638
+ },
+ {
+ "x": 551,
+ "y": 1638
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(bob -> alice)[1]",
+ "src": "bob",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "alice",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "Another authentication Response",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 219,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_BOTTOM_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 541,
+ "y": 1788
+ },
+ {
+ "x": 86.5,
+ "y": 1788
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(alice -- )[0]",
+ "src": "alice",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "alice-lifeline-end-3851299086",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "red",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 81.5,
+ "y": 288
+ },
+ {
+ "x": 81.5,
+ "y": 1938
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(bob -- )[0]",
+ "src": "bob",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "bob-lifeline-end-3036726343",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 5,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 546,
+ "y": 288
+ },
+ {
+ "x": 546,
+ "y": 1938
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(db -- )[0]",
+ "src": "db",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "db-lifeline-end-2675250554",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 991,
+ "y": 288
+ },
+ {
+ "x": 991,
+ "y": 1938
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(queue -- )[0]",
+ "src": "queue",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "queue-lifeline-end-1097346683",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1444.5,
+ "y": 288
+ },
+ {
+ "x": 1444.5,
+ "y": 1938
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(service -- )[0]",
+ "src": "service",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "service-lifeline-end-22863415",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1937,
+ "y": 288
+ },
+ {
+ "x": 1937,
+ "y": 1938
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ }
+ ]
+}
diff --git a/e2etests/testdata/stable/sequence_diagram_simple/dagre/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagram_simple/dagre/sketch.exp.svg
new file mode 100644
index 000000000..c51dfc31d
--- /dev/null
+++ b/e2etests/testdata/stable/sequence_diagram_simple/dagre/sketch.exp.svg
@@ -0,0 +1,31 @@
+
+
\ No newline at end of file
diff --git a/e2etests/testdata/stable/sequence_diagram_simple/elk/board.exp.json b/e2etests/testdata/stable/sequence_diagram_simple/elk/board.exp.json
new file mode 100644
index 000000000..1fc4cf4c9
--- /dev/null
+++ b/e2etests/testdata/stable/sequence_diagram_simple/elk/board.exp.json
@@ -0,0 +1,787 @@
+{
+ "name": "",
+ "shapes": [
+ {
+ "id": "alice",
+ "type": "person",
+ "pos": {
+ "x": 0,
+ "y": 130
+ },
+ "width": 163,
+ "height": 158,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "red",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "Alice\nline\nbreaker",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 63,
+ "labelHeight": 58,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "bob",
+ "type": "person",
+ "pos": {
+ "x": 480,
+ "y": 162
+ },
+ "width": 132,
+ "height": 126,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 5,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "Bob",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 32,
+ "labelHeight": 26,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "db",
+ "type": "cylinder",
+ "pos": {
+ "x": 929,
+ "y": 162
+ },
+ "width": 124,
+ "height": 126,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "db",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 24,
+ "labelHeight": 26,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "queue",
+ "type": "queue",
+ "pos": {
+ "x": 1370,
+ "y": 162
+ },
+ "width": 149,
+ "height": 126,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F0F3F9",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "queue",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 49,
+ "labelHeight": 26,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "service",
+ "type": "",
+ "pos": {
+ "x": 1836,
+ "y": 50
+ },
+ "width": 202,
+ "height": 238,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "an\nodd\nservice\nwith\na\nname\nin\nmultiple lines",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 102,
+ "labelHeight": 138,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ }
+ ],
+ "connections": [
+ {
+ "id": "(alice -> bob)[0]",
+ "src": "alice",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "bob",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "Authentication Request",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 155,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 86.5,
+ "y": 438
+ },
+ {
+ "x": 541,
+ "y": 438
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(bob -> service)[0]",
+ "src": "bob",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "service",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "make request for something that is quite far away and requires a really long label to take all the space between the objects",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 801,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 551,
+ "y": 588
+ },
+ {
+ "x": 1932,
+ "y": 588
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(service -> db)[0]",
+ "src": "service",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "db",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "validate credentials",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 131,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_BOTTOM_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1932,
+ "y": 738
+ },
+ {
+ "x": 996,
+ "y": 738
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(db -> service)[0]",
+ "src": "db",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "service",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 4,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 996,
+ "y": 888
+ },
+ {
+ "x": 1932,
+ "y": 888
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(service -> bob)[0]",
+ "src": "service",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "bob",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 4,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1932,
+ "y": 1038
+ },
+ {
+ "x": 551,
+ "y": 1038
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(bob -> alice)[0]",
+ "src": "bob",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "alice",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "Authentication Response",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 164,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_BOTTOM_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 541,
+ "y": 1188
+ },
+ {
+ "x": 86.5,
+ "y": 1188
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(alice -> bob)[1]",
+ "src": "alice",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "bob",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "Another authentication Request",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 210,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 86.5,
+ "y": 1338
+ },
+ {
+ "x": 541,
+ "y": 1338
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(bob -> queue)[0]",
+ "src": "bob",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "queue",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "do it later",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 65,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 551,
+ "y": 1488
+ },
+ {
+ "x": 1439.5,
+ "y": 1488
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(queue -> bob)[0]",
+ "src": "queue",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "bob",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 3,
+ "strokeWidth": 5,
+ "stroke": "green",
+ "label": "stored",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 44,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_BOTTOM_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1439.5,
+ "y": 1638
+ },
+ {
+ "x": 551,
+ "y": 1638
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(bob -> alice)[1]",
+ "src": "bob",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "alice",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "Another authentication Response",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 219,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_BOTTOM_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 541,
+ "y": 1788
+ },
+ {
+ "x": 86.5,
+ "y": 1788
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(alice -- )[0]",
+ "src": "alice",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "alice-lifeline-end-3851299086",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "red",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 81.5,
+ "y": 288
+ },
+ {
+ "x": 81.5,
+ "y": 1938
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(bob -- )[0]",
+ "src": "bob",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "bob-lifeline-end-3036726343",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 5,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 546,
+ "y": 288
+ },
+ {
+ "x": 546,
+ "y": 1938
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(db -- )[0]",
+ "src": "db",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "db-lifeline-end-2675250554",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 991,
+ "y": 288
+ },
+ {
+ "x": 991,
+ "y": 1938
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(queue -- )[0]",
+ "src": "queue",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "queue-lifeline-end-1097346683",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1444.5,
+ "y": 288
+ },
+ {
+ "x": 1444.5,
+ "y": 1938
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(service -- )[0]",
+ "src": "service",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "service-lifeline-end-22863415",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1937,
+ "y": 288
+ },
+ {
+ "x": 1937,
+ "y": 1938
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ }
+ ]
+}
diff --git a/e2etests/testdata/stable/sequence_diagram_simple/elk/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagram_simple/elk/sketch.exp.svg
new file mode 100644
index 000000000..c51dfc31d
--- /dev/null
+++ b/e2etests/testdata/stable/sequence_diagram_simple/elk/sketch.exp.svg
@@ -0,0 +1,31 @@
+
+
\ No newline at end of file
diff --git a/e2etests/testdata/stable/sequence_diagram_span/dagre/board.exp.json b/e2etests/testdata/stable/sequence_diagram_span/dagre/board.exp.json
new file mode 100644
index 000000000..8f7545fc0
--- /dev/null
+++ b/e2etests/testdata/stable/sequence_diagram_span/dagre/board.exp.json
@@ -0,0 +1,1400 @@
+{
+ "name": "",
+ "shapes": [
+ {
+ "id": "scorer",
+ "type": "",
+ "pos": {
+ "x": 0,
+ "y": 50
+ },
+ "width": 179,
+ "height": 141,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "scorer",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 79,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "scorer.t",
+ "type": "rectangle",
+ "pos": {
+ "x": 79,
+ "y": 336
+ },
+ "width": 20,
+ "height": 1810,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 11,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "itemResponse",
+ "type": "",
+ "pos": {
+ "x": 379,
+ "y": 50
+ },
+ "width": 270,
+ "height": 141,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "itemResponse",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 170,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "itemResponse.t",
+ "type": "rectangle",
+ "pos": {
+ "x": 504,
+ "y": 336
+ },
+ "width": 20,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 11,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "item",
+ "type": "",
+ "pos": {
+ "x": 849,
+ "y": 50
+ },
+ "width": 157,
+ "height": 141,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "item",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 57,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "item.t1",
+ "type": "rectangle",
+ "pos": {
+ "x": 917,
+ "y": 636
+ },
+ "width": 20,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "essayRubric",
+ "type": "",
+ "pos": {
+ "x": 1206,
+ "y": 50
+ },
+ "width": 245,
+ "height": 141,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "essayRubric",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 145,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "essayRubric.t",
+ "type": "rectangle",
+ "pos": {
+ "x": 1318,
+ "y": 936
+ },
+ "width": 20,
+ "height": 460,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 36,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "essayRubric.t.c",
+ "type": "rectangle",
+ "pos": {
+ "x": 1313,
+ "y": 1086
+ },
+ "width": 30,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "concept",
+ "type": "",
+ "pos": {
+ "x": 1651,
+ "y": 50
+ },
+ "width": 200,
+ "height": 141,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "concept",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 100,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "concept.t",
+ "type": "rectangle",
+ "pos": {
+ "x": 1741,
+ "y": 1236
+ },
+ "width": 20,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 11,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "itemOutcome",
+ "type": "",
+ "pos": {
+ "x": 2051,
+ "y": 50
+ },
+ "width": 265,
+ "height": 141,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "itemOutcome",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 165,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "itemOutcome.t1",
+ "type": "rectangle",
+ "pos": {
+ "x": 2173,
+ "y": 1536
+ },
+ "width": 20,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "item.t2",
+ "type": "rectangle",
+ "pos": {
+ "x": 917,
+ "y": 1686
+ },
+ "width": 20,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "item.t3",
+ "type": "rectangle",
+ "pos": {
+ "x": 917,
+ "y": 1836
+ },
+ "width": 20,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "itemOutcome.t2",
+ "type": "rectangle",
+ "pos": {
+ "x": 2173,
+ "y": 1986
+ },
+ "width": 20,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "itemOutcome.t3",
+ "type": "rectangle",
+ "pos": {
+ "x": 2173,
+ "y": 2136
+ },
+ "width": 20,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 2
+ }
+ ],
+ "connections": [
+ {
+ "id": "(scorer.t -> itemResponse.t)[0]",
+ "src": "scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemResponse.t",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "getItem()",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 60,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 104.5,
+ "y": 341
+ },
+ {
+ "x": 499,
+ "y": 341
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer.t <- itemResponse.t)[0]",
+ "src": "scorer.t",
+ "srcArrow": "triangle",
+ "srcLabel": "",
+ "dst": "itemResponse.t",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "item",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 29,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 104.5,
+ "y": 491
+ },
+ {
+ "x": 499,
+ "y": 491
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer.t -> item.t1)[0]",
+ "src": "scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "item.t1",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "getRubric()",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 73,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 104.5,
+ "y": 641
+ },
+ {
+ "x": 912.5,
+ "y": 641
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer.t <- item.t1)[0]",
+ "src": "scorer.t",
+ "srcArrow": "triangle",
+ "srcLabel": "",
+ "dst": "item.t1",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "rubric",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 39,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 104.5,
+ "y": 791
+ },
+ {
+ "x": 912.5,
+ "y": 791
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer.t -> essayRubric.t)[0]",
+ "src": "scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "essayRubric.t",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "applyTo(essayResp)",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 130,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 104.5,
+ "y": 941
+ },
+ {
+ "x": 1313.5,
+ "y": 941
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(itemResponse -> essayRubric.t.c)[0]",
+ "src": "itemResponse",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "essayRubric.t.c",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 519,
+ "y": 1091
+ },
+ {
+ "x": 1308.5,
+ "y": 1091
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(essayRubric.t.c -> concept.t)[0]",
+ "src": "essayRubric.t.c",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "concept.t",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "match(essayResponse)",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 150,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1348.5,
+ "y": 1241
+ },
+ {
+ "x": 1736,
+ "y": 1241
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer <- essayRubric.t)[0]",
+ "src": "scorer",
+ "srcArrow": "triangle",
+ "srcLabel": "",
+ "dst": "essayRubric.t",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "score",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 37,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 94.5,
+ "y": 1391
+ },
+ {
+ "x": 1313.5,
+ "y": 1391
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer.t -> itemOutcome.t1)[0]",
+ "src": "scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemOutcome.t1",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "new",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 29,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 104.5,
+ "y": 1541
+ },
+ {
+ "x": 2168.5,
+ "y": 1541
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer.t -> item.t2)[0]",
+ "src": "scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "item.t2",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "getNormalMinimum()",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 141,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 104.5,
+ "y": 1691
+ },
+ {
+ "x": 912.5,
+ "y": 1691
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer.t -> item.t3)[0]",
+ "src": "scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "item.t3",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "getNormalMaximum()",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 144,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 104.5,
+ "y": 1841
+ },
+ {
+ "x": 912.5,
+ "y": 1841
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer.t -> itemOutcome.t2)[0]",
+ "src": "scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemOutcome.t2",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "setScore(score)",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 101,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 104.5,
+ "y": 1991
+ },
+ {
+ "x": 2168.5,
+ "y": 1991
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer.t -> itemOutcome.t3)[0]",
+ "src": "scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemOutcome.t3",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "setFeedback(missingConcepts)",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 203,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 104.5,
+ "y": 2141
+ },
+ {
+ "x": 2168.5,
+ "y": 2141
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer -- )[0]",
+ "src": "scorer",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "scorer-lifeline-end-3390057676",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 89.5,
+ "y": 191
+ },
+ {
+ "x": 89.5,
+ "y": 2291
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(itemResponse -- )[0]",
+ "src": "itemResponse",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemResponse-lifeline-end-3886259856",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 514,
+ "y": 191
+ },
+ {
+ "x": 514,
+ "y": 2291
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(item -- )[0]",
+ "src": "item",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "item-lifeline-end-4102336625",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 927.5,
+ "y": 191
+ },
+ {
+ "x": 927.5,
+ "y": 2291
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(essayRubric -- )[0]",
+ "src": "essayRubric",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "essayRubric-lifeline-end-1632038932",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1328.5,
+ "y": 191
+ },
+ {
+ "x": 1328.5,
+ "y": 2291
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(concept -- )[0]",
+ "src": "concept",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "concept-lifeline-end-1391711018",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1751,
+ "y": 191
+ },
+ {
+ "x": 1751,
+ "y": 2291
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(itemOutcome -- )[0]",
+ "src": "itemOutcome",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemOutcome-lifeline-end-3921917181",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2183.5,
+ "y": 191
+ },
+ {
+ "x": 2183.5,
+ "y": 2291
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ }
+ ]
+}
diff --git a/e2etests/testdata/stable/sequence_diagram_span/dagre/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagram_span/dagre/sketch.exp.svg
new file mode 100644
index 000000000..4e2caf15a
--- /dev/null
+++ b/e2etests/testdata/stable/sequence_diagram_span/dagre/sketch.exp.svg
@@ -0,0 +1,31 @@
+
+
\ No newline at end of file
diff --git a/e2etests/testdata/stable/sequence_diagram_span/elk/board.exp.json b/e2etests/testdata/stable/sequence_diagram_span/elk/board.exp.json
new file mode 100644
index 000000000..8f7545fc0
--- /dev/null
+++ b/e2etests/testdata/stable/sequence_diagram_span/elk/board.exp.json
@@ -0,0 +1,1400 @@
+{
+ "name": "",
+ "shapes": [
+ {
+ "id": "scorer",
+ "type": "",
+ "pos": {
+ "x": 0,
+ "y": 50
+ },
+ "width": 179,
+ "height": 141,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "scorer",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 79,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "scorer.t",
+ "type": "rectangle",
+ "pos": {
+ "x": 79,
+ "y": 336
+ },
+ "width": 20,
+ "height": 1810,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 11,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "itemResponse",
+ "type": "",
+ "pos": {
+ "x": 379,
+ "y": 50
+ },
+ "width": 270,
+ "height": 141,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "itemResponse",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 170,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "itemResponse.t",
+ "type": "rectangle",
+ "pos": {
+ "x": 504,
+ "y": 336
+ },
+ "width": 20,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 11,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "item",
+ "type": "",
+ "pos": {
+ "x": 849,
+ "y": 50
+ },
+ "width": 157,
+ "height": 141,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "item",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 57,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "item.t1",
+ "type": "rectangle",
+ "pos": {
+ "x": 917,
+ "y": 636
+ },
+ "width": 20,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "essayRubric",
+ "type": "",
+ "pos": {
+ "x": 1206,
+ "y": 50
+ },
+ "width": 245,
+ "height": 141,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "essayRubric",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 145,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "essayRubric.t",
+ "type": "rectangle",
+ "pos": {
+ "x": 1318,
+ "y": 936
+ },
+ "width": 20,
+ "height": 460,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 36,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "essayRubric.t.c",
+ "type": "rectangle",
+ "pos": {
+ "x": 1313,
+ "y": 1086
+ },
+ "width": 30,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "concept",
+ "type": "",
+ "pos": {
+ "x": 1651,
+ "y": 50
+ },
+ "width": 200,
+ "height": 141,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "concept",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 100,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "concept.t",
+ "type": "rectangle",
+ "pos": {
+ "x": 1741,
+ "y": 1236
+ },
+ "width": 20,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 11,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "itemOutcome",
+ "type": "",
+ "pos": {
+ "x": 2051,
+ "y": 50
+ },
+ "width": 265,
+ "height": 141,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "itemOutcome",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 165,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "itemOutcome.t1",
+ "type": "rectangle",
+ "pos": {
+ "x": 2173,
+ "y": 1536
+ },
+ "width": 20,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "item.t2",
+ "type": "rectangle",
+ "pos": {
+ "x": 917,
+ "y": 1686
+ },
+ "width": 20,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "item.t3",
+ "type": "rectangle",
+ "pos": {
+ "x": 917,
+ "y": 1836
+ },
+ "width": 20,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "itemOutcome.t2",
+ "type": "rectangle",
+ "pos": {
+ "x": 2173,
+ "y": 1986
+ },
+ "width": 20,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 2
+ },
+ {
+ "id": "itemOutcome.t3",
+ "type": "rectangle",
+ "pos": {
+ "x": 2173,
+ "y": 2136
+ },
+ "width": 20,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 2
+ }
+ ],
+ "connections": [
+ {
+ "id": "(scorer.t -> itemResponse.t)[0]",
+ "src": "scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemResponse.t",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "getItem()",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 60,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 104.5,
+ "y": 341
+ },
+ {
+ "x": 499,
+ "y": 341
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer.t <- itemResponse.t)[0]",
+ "src": "scorer.t",
+ "srcArrow": "triangle",
+ "srcLabel": "",
+ "dst": "itemResponse.t",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "item",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 29,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 104.5,
+ "y": 491
+ },
+ {
+ "x": 499,
+ "y": 491
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer.t -> item.t1)[0]",
+ "src": "scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "item.t1",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "getRubric()",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 73,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 104.5,
+ "y": 641
+ },
+ {
+ "x": 912.5,
+ "y": 641
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer.t <- item.t1)[0]",
+ "src": "scorer.t",
+ "srcArrow": "triangle",
+ "srcLabel": "",
+ "dst": "item.t1",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "rubric",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 39,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 104.5,
+ "y": 791
+ },
+ {
+ "x": 912.5,
+ "y": 791
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer.t -> essayRubric.t)[0]",
+ "src": "scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "essayRubric.t",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "applyTo(essayResp)",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 130,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 104.5,
+ "y": 941
+ },
+ {
+ "x": 1313.5,
+ "y": 941
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(itemResponse -> essayRubric.t.c)[0]",
+ "src": "itemResponse",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "essayRubric.t.c",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 519,
+ "y": 1091
+ },
+ {
+ "x": 1308.5,
+ "y": 1091
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(essayRubric.t.c -> concept.t)[0]",
+ "src": "essayRubric.t.c",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "concept.t",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "match(essayResponse)",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 150,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1348.5,
+ "y": 1241
+ },
+ {
+ "x": 1736,
+ "y": 1241
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer <- essayRubric.t)[0]",
+ "src": "scorer",
+ "srcArrow": "triangle",
+ "srcLabel": "",
+ "dst": "essayRubric.t",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "score",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 37,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 94.5,
+ "y": 1391
+ },
+ {
+ "x": 1313.5,
+ "y": 1391
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer.t -> itemOutcome.t1)[0]",
+ "src": "scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemOutcome.t1",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "new",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 29,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 104.5,
+ "y": 1541
+ },
+ {
+ "x": 2168.5,
+ "y": 1541
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer.t -> item.t2)[0]",
+ "src": "scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "item.t2",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "getNormalMinimum()",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 141,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 104.5,
+ "y": 1691
+ },
+ {
+ "x": 912.5,
+ "y": 1691
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer.t -> item.t3)[0]",
+ "src": "scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "item.t3",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "getNormalMaximum()",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 144,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 104.5,
+ "y": 1841
+ },
+ {
+ "x": 912.5,
+ "y": 1841
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer.t -> itemOutcome.t2)[0]",
+ "src": "scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemOutcome.t2",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "setScore(score)",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 101,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 104.5,
+ "y": 1991
+ },
+ {
+ "x": 2168.5,
+ "y": 1991
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer.t -> itemOutcome.t3)[0]",
+ "src": "scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemOutcome.t3",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "setFeedback(missingConcepts)",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 203,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 104.5,
+ "y": 2141
+ },
+ {
+ "x": 2168.5,
+ "y": 2141
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(scorer -- )[0]",
+ "src": "scorer",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "scorer-lifeline-end-3390057676",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 89.5,
+ "y": 191
+ },
+ {
+ "x": 89.5,
+ "y": 2291
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(itemResponse -- )[0]",
+ "src": "itemResponse",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemResponse-lifeline-end-3886259856",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 514,
+ "y": 191
+ },
+ {
+ "x": 514,
+ "y": 2291
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(item -- )[0]",
+ "src": "item",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "item-lifeline-end-4102336625",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 927.5,
+ "y": 191
+ },
+ {
+ "x": 927.5,
+ "y": 2291
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(essayRubric -- )[0]",
+ "src": "essayRubric",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "essayRubric-lifeline-end-1632038932",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1328.5,
+ "y": 191
+ },
+ {
+ "x": 1328.5,
+ "y": 2291
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(concept -- )[0]",
+ "src": "concept",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "concept-lifeline-end-1391711018",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1751,
+ "y": 191
+ },
+ {
+ "x": 1751,
+ "y": 2291
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(itemOutcome -- )[0]",
+ "src": "itemOutcome",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemOutcome-lifeline-end-3921917181",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2183.5,
+ "y": 191
+ },
+ {
+ "x": 2183.5,
+ "y": 2291
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ }
+ ]
+}
diff --git a/e2etests/testdata/stable/sequence_diagram_span/elk/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagram_span/elk/sketch.exp.svg
new file mode 100644
index 000000000..4e2caf15a
--- /dev/null
+++ b/e2etests/testdata/stable/sequence_diagram_span/elk/sketch.exp.svg
@@ -0,0 +1,31 @@
+
+
\ No newline at end of file
diff --git a/e2etests/testdata/stable/sequence_diagrams/dagre/board.exp.json b/e2etests/testdata/stable/sequence_diagrams/dagre/board.exp.json
new file mode 100644
index 000000000..ce6349001
--- /dev/null
+++ b/e2etests/testdata/stable/sequence_diagrams/dagre/board.exp.json
@@ -0,0 +1,4792 @@
+{
+ "name": "",
+ "shapes": [
+ {
+ "id": "a_shape",
+ "type": "oval",
+ "pos": {
+ "x": 2185,
+ "y": 0
+ },
+ "width": 164,
+ "height": 164,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "a_shape",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 64,
+ "labelHeight": 26,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "a_sequence",
+ "type": "sequence_diagram",
+ "pos": {
+ "x": 2363,
+ "y": 314
+ },
+ "width": 2217,
+ "height": 2286,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "a_sequence",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 144,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_TOP_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "another",
+ "type": "",
+ "pos": {
+ "x": 0,
+ "y": 264
+ },
+ "width": 2227,
+ "height": 2386,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "another",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 98,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_TOP_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "another.sequence",
+ "type": "sequence_diagram",
+ "pos": {
+ "x": 50,
+ "y": 317
+ },
+ "width": 2127,
+ "height": 2281,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "sequence",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 101,
+ "labelHeight": 36,
+ "labelPosition": "INSIDE_TOP_CENTER",
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "finally",
+ "type": "queue",
+ "pos": {
+ "x": 517,
+ "y": 2750
+ },
+ "width": 2327,
+ "height": 1631,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F0F3F9",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "finally",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 77,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_TOP_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "finally.sequence",
+ "type": "sequence_diagram",
+ "pos": {
+ "x": 627,
+ "y": 2800
+ },
+ "width": 2127,
+ "height": 1531,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "sequence",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 101,
+ "labelHeight": 36,
+ "labelPosition": "INSIDE_TOP_CENTER",
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "finally.sequence.scorer",
+ "type": "",
+ "pos": {
+ "x": 627,
+ "y": 2850
+ },
+ "width": 158,
+ "height": 131,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "scorer",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 58,
+ "labelHeight": 31,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "finally.sequence.concept",
+ "type": "",
+ "pos": {
+ "x": 985,
+ "y": 2850
+ },
+ "width": 174,
+ "height": 131,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "concept",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 74,
+ "labelHeight": 31,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "finally.sequence.essayRubric",
+ "type": "",
+ "pos": {
+ "x": 1359,
+ "y": 2850
+ },
+ "width": 206,
+ "height": 131,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "essayRubric",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 106,
+ "labelHeight": 31,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "finally.sequence.item",
+ "type": "",
+ "pos": {
+ "x": 1765,
+ "y": 2850
+ },
+ "width": 143,
+ "height": 131,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "item",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 43,
+ "labelHeight": 31,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "finally.sequence.itemOutcome",
+ "type": "",
+ "pos": {
+ "x": 2108,
+ "y": 2850
+ },
+ "width": 221,
+ "height": 131,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "itemOutcome",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 121,
+ "labelHeight": 31,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "finally.sequence.itemResponse",
+ "type": "",
+ "pos": {
+ "x": 2529,
+ "y": 2850
+ },
+ "width": 225,
+ "height": 131,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "itemResponse",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 125,
+ "labelHeight": 31,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "a_sequence.scorer",
+ "type": "",
+ "pos": {
+ "x": 2363,
+ "y": 364
+ },
+ "width": 169,
+ "height": 136,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "scorer",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 69,
+ "labelHeight": 36,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "a_sequence.scorer.t",
+ "type": "rectangle",
+ "pos": {
+ "x": 2432,
+ "y": 645
+ },
+ "width": 30,
+ "height": 1810,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 11,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "a_sequence.itemResponse",
+ "type": "",
+ "pos": {
+ "x": 2732,
+ "y": 364
+ },
+ "width": 246,
+ "height": 136,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "itemResponse",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 146,
+ "labelHeight": 36,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "a_sequence.itemResponse.t",
+ "type": "rectangle",
+ "pos": {
+ "x": 2840,
+ "y": 645
+ },
+ "width": 30,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 11,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "a_sequence.item",
+ "type": "",
+ "pos": {
+ "x": 3178,
+ "y": 364
+ },
+ "width": 149,
+ "height": 136,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "item",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 49,
+ "labelHeight": 36,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "a_sequence.item.t1",
+ "type": "rectangle",
+ "pos": {
+ "x": 3237,
+ "y": 945
+ },
+ "width": 30,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "a_sequence.essayRubric",
+ "type": "",
+ "pos": {
+ "x": 3527,
+ "y": 364
+ },
+ "width": 225,
+ "height": 136,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "essayRubric",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 125,
+ "labelHeight": 36,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "a_sequence.essayRubric.t",
+ "type": "rectangle",
+ "pos": {
+ "x": 3624,
+ "y": 1245
+ },
+ "width": 30,
+ "height": 460,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 12,
+ "labelHeight": 31,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "a_sequence.essayRubric.t.c",
+ "type": "rectangle",
+ "pos": {
+ "x": 3619,
+ "y": 1395
+ },
+ "width": 40,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "a_sequence.concept",
+ "type": "",
+ "pos": {
+ "x": 3952,
+ "y": 364
+ },
+ "width": 186,
+ "height": 136,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "concept",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 86,
+ "labelHeight": 36,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "a_sequence.concept.t",
+ "type": "rectangle",
+ "pos": {
+ "x": 4030,
+ "y": 1545
+ },
+ "width": 30,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 11,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "a_sequence.itemOutcome",
+ "type": "",
+ "pos": {
+ "x": 4338,
+ "y": 364
+ },
+ "width": 242,
+ "height": 136,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "itemOutcome",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 142,
+ "labelHeight": 36,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "a_sequence.itemOutcome.t1",
+ "type": "rectangle",
+ "pos": {
+ "x": 4444,
+ "y": 1845
+ },
+ "width": 30,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "a_sequence.item.t2",
+ "type": "rectangle",
+ "pos": {
+ "x": 3237,
+ "y": 1995
+ },
+ "width": 30,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "a_sequence.item.t3",
+ "type": "rectangle",
+ "pos": {
+ "x": 3237,
+ "y": 2145
+ },
+ "width": 30,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "a_sequence.itemOutcome.t2",
+ "type": "rectangle",
+ "pos": {
+ "x": 4444,
+ "y": 2295
+ },
+ "width": 30,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "a_sequence.itemOutcome.t3",
+ "type": "rectangle",
+ "pos": {
+ "x": 4444,
+ "y": 2445
+ },
+ "width": 30,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "another.sequence.scorer",
+ "type": "",
+ "pos": {
+ "x": 50,
+ "y": 367
+ },
+ "width": 158,
+ "height": 131,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "scorer",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 58,
+ "labelHeight": 31,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "another.sequence.scorer.t",
+ "type": "rectangle",
+ "pos": {
+ "x": 109,
+ "y": 643
+ },
+ "width": 40,
+ "height": 1810,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 11,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "another.sequence.itemResponse",
+ "type": "",
+ "pos": {
+ "x": 408,
+ "y": 367
+ },
+ "width": 225,
+ "height": 131,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "itemResponse",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 125,
+ "labelHeight": 31,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "another.sequence.itemResponse.t",
+ "type": "rectangle",
+ "pos": {
+ "x": 500,
+ "y": 643
+ },
+ "width": 40,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 11,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "another.sequence.item",
+ "type": "",
+ "pos": {
+ "x": 833,
+ "y": 367
+ },
+ "width": 143,
+ "height": 131,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "item",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 43,
+ "labelHeight": 31,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "another.sequence.item.t1",
+ "type": "rectangle",
+ "pos": {
+ "x": 884,
+ "y": 943
+ },
+ "width": 40,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "another.sequence.essayRubric",
+ "type": "",
+ "pos": {
+ "x": 1176,
+ "y": 367
+ },
+ "width": 206,
+ "height": 131,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "essayRubric",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 106,
+ "labelHeight": 31,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "another.sequence.essayRubric.t",
+ "type": "rectangle",
+ "pos": {
+ "x": 1259,
+ "y": 1243
+ },
+ "width": 40,
+ "height": 460,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 11,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "another.sequence.essayRubric.t.c",
+ "type": "rectangle",
+ "pos": {
+ "x": 1254,
+ "y": 1393
+ },
+ "width": 50,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 5
+ },
+ {
+ "id": "another.sequence.concept",
+ "type": "",
+ "pos": {
+ "x": 1582,
+ "y": 367
+ },
+ "width": 174,
+ "height": 131,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "concept",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 74,
+ "labelHeight": 31,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "another.sequence.concept.t",
+ "type": "rectangle",
+ "pos": {
+ "x": 1649,
+ "y": 1543
+ },
+ "width": 40,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 11,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "another.sequence.itemOutcome",
+ "type": "",
+ "pos": {
+ "x": 1956,
+ "y": 367
+ },
+ "width": 221,
+ "height": 131,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "itemOutcome",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 121,
+ "labelHeight": 31,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "another.sequence.itemOutcome.t1",
+ "type": "rectangle",
+ "pos": {
+ "x": 2046,
+ "y": 1843
+ },
+ "width": 40,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "another.sequence.item.t2",
+ "type": "rectangle",
+ "pos": {
+ "x": 884,
+ "y": 1993
+ },
+ "width": 40,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "another.sequence.item.t3",
+ "type": "rectangle",
+ "pos": {
+ "x": 884,
+ "y": 2143
+ },
+ "width": 40,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "another.sequence.itemOutcome.t2",
+ "type": "rectangle",
+ "pos": {
+ "x": 2046,
+ "y": 2293
+ },
+ "width": 40,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "another.sequence.itemOutcome.t3",
+ "type": "rectangle",
+ "pos": {
+ "x": 2046,
+ "y": 2443
+ },
+ "width": 40,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "sequence",
+ "type": "",
+ "pos": {
+ "x": 3385,
+ "y": 3503
+ },
+ "width": 172,
+ "height": 126,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "sequence",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 72,
+ "labelHeight": 26,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "finally.sequence.itemResponse.a",
+ "type": "rectangle",
+ "pos": {
+ "x": 2621,
+ "y": 3126
+ },
+ "width": 40,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "finally.sequence.item.a",
+ "type": "rectangle",
+ "pos": {
+ "x": 1816,
+ "y": 3116
+ },
+ "width": 40,
+ "height": 770,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 12,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "finally.sequence.item.a.b",
+ "type": "rectangle",
+ "pos": {
+ "x": 1811,
+ "y": 3126
+ },
+ "width": 50,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 5
+ },
+ {
+ "id": "finally.sequence.essayRubric.a",
+ "type": "rectangle",
+ "pos": {
+ "x": 1442,
+ "y": 3256
+ },
+ "width": 40,
+ "height": 340,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 12,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "finally.sequence.essayRubric.a.b",
+ "type": "rectangle",
+ "pos": {
+ "x": 1437,
+ "y": 3266
+ },
+ "width": 50,
+ "height": 320,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 5
+ },
+ {
+ "id": "finally.sequence.essayRubric.a.b.c",
+ "type": "rectangle",
+ "pos": {
+ "x": 1432,
+ "y": 3276
+ },
+ "width": 60,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 6
+ },
+ {
+ "id": "finally.sequence.concept.a",
+ "type": "rectangle",
+ "pos": {
+ "x": 1052,
+ "y": 3396
+ },
+ "width": 40,
+ "height": 370,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 12,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "finally.sequence.concept.a.b",
+ "type": "rectangle",
+ "pos": {
+ "x": 1047,
+ "y": 3406
+ },
+ "width": 50,
+ "height": 350,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 5
+ },
+ {
+ "id": "finally.sequence.concept.a.b.c",
+ "type": "rectangle",
+ "pos": {
+ "x": 1042,
+ "y": 3416
+ },
+ "width": 60,
+ "height": 330,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 12,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 6
+ },
+ {
+ "id": "finally.sequence.concept.a.b.c.d",
+ "type": "rectangle",
+ "pos": {
+ "x": 1037,
+ "y": 3426
+ },
+ "width": 70,
+ "height": 310,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 14,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 7
+ },
+ {
+ "id": "finally.sequence.itemOutcome.a",
+ "type": "rectangle",
+ "pos": {
+ "x": 2198,
+ "y": 3686
+ },
+ "width": 40,
+ "height": 390,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 12,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "finally.sequence.itemOutcome.a.b",
+ "type": "rectangle",
+ "pos": {
+ "x": 2193,
+ "y": 3696
+ },
+ "width": 50,
+ "height": 370,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 5
+ },
+ {
+ "id": "finally.sequence.itemOutcome.a.b.c",
+ "type": "rectangle",
+ "pos": {
+ "x": 2188,
+ "y": 3706
+ },
+ "width": 60,
+ "height": 350,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 12,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 6
+ },
+ {
+ "id": "finally.sequence.itemOutcome.a.b.c.d",
+ "type": "rectangle",
+ "pos": {
+ "x": 2183,
+ "y": 3716
+ },
+ "width": 70,
+ "height": 330,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 7
+ },
+ {
+ "id": "finally.sequence.itemOutcome.a.b.c.d.e",
+ "type": "rectangle",
+ "pos": {
+ "x": 2178,
+ "y": 3726
+ },
+ "width": 80,
+ "height": 310,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 8
+ },
+ {
+ "id": "finally.sequence.scorer.abc",
+ "type": "rectangle",
+ "pos": {
+ "x": 686,
+ "y": 3876
+ },
+ "width": 40,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 31,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "finally.sequence.itemResponse.c",
+ "type": "rectangle",
+ "pos": {
+ "x": 2621,
+ "y": 4176
+ },
+ "width": 40,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ }
+ ],
+ "connections": [
+ {
+ "id": "a_sequence.(scorer.t -> itemResponse.t)[0]",
+ "src": "a_sequence.scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "a_sequence.itemResponse.t",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "getItem()",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 60,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2467.5,
+ "y": 650
+ },
+ {
+ "x": 2835,
+ "y": 650
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "a_sequence.(scorer.t <- itemResponse.t)[0]",
+ "src": "a_sequence.scorer.t",
+ "srcArrow": "triangle",
+ "srcLabel": "",
+ "dst": "a_sequence.itemResponse.t",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "item",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 29,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2467.5,
+ "y": 800
+ },
+ {
+ "x": 2835,
+ "y": 800
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "a_sequence.(scorer.t -> item.t1)[0]",
+ "src": "a_sequence.scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "a_sequence.item.t1",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "getRubric()",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 73,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2467.5,
+ "y": 950
+ },
+ {
+ "x": 3232.5,
+ "y": 950
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "a_sequence.(scorer.t <- item.t1)[0]",
+ "src": "a_sequence.scorer.t",
+ "srcArrow": "triangle",
+ "srcLabel": "",
+ "dst": "a_sequence.item.t1",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "rubric",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 39,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2467.5,
+ "y": 1100
+ },
+ {
+ "x": 3232.5,
+ "y": 1100
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "a_sequence.(scorer.t -> essayRubric.t)[0]",
+ "src": "a_sequence.scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "a_sequence.essayRubric.t",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "applyTo(essayResp)",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 130,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2467.5,
+ "y": 1250
+ },
+ {
+ "x": 3619.5,
+ "y": 1250
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "a_sequence.(itemResponse -> essayRubric.t.c)[0]",
+ "src": "a_sequence.itemResponse",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "a_sequence.essayRubric.t.c",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2860,
+ "y": 1400
+ },
+ {
+ "x": 3614.5,
+ "y": 1400
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "a_sequence.(essayRubric.t.c -> concept.t)[0]",
+ "src": "a_sequence.essayRubric.t.c",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "a_sequence.concept.t",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "match(essayResponse)",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 150,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 3664.5,
+ "y": 1550
+ },
+ {
+ "x": 4025,
+ "y": 1550
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "a_sequence.(scorer <- essayRubric.t)[0]",
+ "src": "a_sequence.scorer",
+ "srcArrow": "triangle",
+ "srcLabel": "",
+ "dst": "a_sequence.essayRubric.t",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "score",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 37,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2452.5,
+ "y": 1700
+ },
+ {
+ "x": 3619.5,
+ "y": 1700
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "a_sequence.(scorer.t <-> itemOutcome.t1)[0]",
+ "src": "a_sequence.scorer.t",
+ "srcArrow": "triangle",
+ "srcLabel": "",
+ "dst": "a_sequence.itemOutcome.t1",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "new",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 29,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2467.5,
+ "y": 1850
+ },
+ {
+ "x": 4439,
+ "y": 1850
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "a_sequence.(scorer.t <-> item.t2)[0]",
+ "src": "a_sequence.scorer.t",
+ "srcArrow": "triangle",
+ "srcLabel": "",
+ "dst": "a_sequence.item.t2",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "getNormalMinimum()",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 141,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2467.5,
+ "y": 2000
+ },
+ {
+ "x": 3232.5,
+ "y": 2000
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "a_sequence.(scorer.t -> item.t3)[0]",
+ "src": "a_sequence.scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "a_sequence.item.t3",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "getNormalMaximum()",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 144,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2467.5,
+ "y": 2150
+ },
+ {
+ "x": 3232.5,
+ "y": 2150
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "a_sequence.(scorer.t -- itemOutcome.t2)[0]",
+ "src": "a_sequence.scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "a_sequence.itemOutcome.t2",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "setScore(score)",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 101,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2467.5,
+ "y": 2300
+ },
+ {
+ "x": 4439,
+ "y": 2300
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "a_sequence.(scorer.t -- itemOutcome.t3)[0]",
+ "src": "a_sequence.scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "a_sequence.itemOutcome.t3",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "setFeedback(missingConcepts)",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 203,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2467.5,
+ "y": 2450
+ },
+ {
+ "x": 4439,
+ "y": 2450
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "another.sequence.(scorer.t -> itemResponse.t)[0]",
+ "src": "another.sequence.scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "another.sequence.itemResponse.t",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "getItem()",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 60,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 154,
+ "y": 648
+ },
+ {
+ "x": 495.5,
+ "y": 648
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "another.sequence.(scorer.t <- itemResponse.t)[0]",
+ "src": "another.sequence.scorer.t",
+ "srcArrow": "triangle",
+ "srcLabel": "",
+ "dst": "another.sequence.itemResponse.t",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "item",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 29,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 154,
+ "y": 798
+ },
+ {
+ "x": 495.5,
+ "y": 798
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "another.sequence.(scorer.t -> item.t1)[0]",
+ "src": "another.sequence.scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "another.sequence.item.t1",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "getRubric()",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 73,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 154,
+ "y": 948
+ },
+ {
+ "x": 879.5,
+ "y": 948
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "another.sequence.(scorer.t <- item.t1)[0]",
+ "src": "another.sequence.scorer.t",
+ "srcArrow": "triangle",
+ "srcLabel": "",
+ "dst": "another.sequence.item.t1",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "rubric",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 39,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 154,
+ "y": 1098
+ },
+ {
+ "x": 879.5,
+ "y": 1098
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "another.sequence.(scorer.t -> essayRubric.t)[0]",
+ "src": "another.sequence.scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "another.sequence.essayRubric.t",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "applyTo(essayResp)",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 130,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 154,
+ "y": 1248
+ },
+ {
+ "x": 1254,
+ "y": 1248
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "another.sequence.(itemResponse -> essayRubric.t.c)[0]",
+ "src": "another.sequence.itemResponse",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "another.sequence.essayRubric.t.c",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 525.5,
+ "y": 1398
+ },
+ {
+ "x": 1249,
+ "y": 1398
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "another.sequence.(essayRubric.t.c -> concept.t)[0]",
+ "src": "another.sequence.essayRubric.t.c",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "another.sequence.concept.t",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "match(essayResponse)",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 150,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1309,
+ "y": 1548
+ },
+ {
+ "x": 1644,
+ "y": 1548
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "another.sequence.(scorer <- essayRubric.t)[0]",
+ "src": "another.sequence.scorer",
+ "srcArrow": "triangle",
+ "srcLabel": "",
+ "dst": "another.sequence.essayRubric.t",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "score",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 37,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 134,
+ "y": 1698
+ },
+ {
+ "x": 1254,
+ "y": 1698
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "another.sequence.(scorer.t -> itemOutcome.t1)[0]",
+ "src": "another.sequence.scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "another.sequence.itemOutcome.t1",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "new",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 29,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 154,
+ "y": 1848
+ },
+ {
+ "x": 2041.5,
+ "y": 1848
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "another.sequence.(scorer.t <-> item.t2)[0]",
+ "src": "another.sequence.scorer.t",
+ "srcArrow": "triangle",
+ "srcLabel": "",
+ "dst": "another.sequence.item.t2",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "getNormalMinimum()",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 141,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 154,
+ "y": 1998
+ },
+ {
+ "x": 879.5,
+ "y": 1998
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "another.sequence.(scorer.t -> item.t3)[0]",
+ "src": "another.sequence.scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "another.sequence.item.t3",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "getNormalMaximum()",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 144,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 154,
+ "y": 2148
+ },
+ {
+ "x": 879.5,
+ "y": 2148
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "another.sequence.(scorer.t -> itemOutcome.t2)[0]",
+ "src": "another.sequence.scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "another.sequence.itemOutcome.t2",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "setScore(score)",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 101,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 154,
+ "y": 2298
+ },
+ {
+ "x": 2041.5,
+ "y": 2298
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "another.sequence.(scorer.t -> itemOutcome.t3)[0]",
+ "src": "another.sequence.scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "another.sequence.itemOutcome.t3",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "setFeedback(missingConcepts)",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 203,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 154,
+ "y": 2448
+ },
+ {
+ "x": 2041.5,
+ "y": 2448
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(a_shape -> a_sequence)[0]",
+ "src": "a_shape",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "a_sequence",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2349,
+ "y": 91
+ },
+ {
+ "x": 3246.6,
+ "y": 189.4
+ },
+ {
+ "x": 3471,
+ "y": 274
+ },
+ {
+ "x": 3471,
+ "y": 314
+ }
+ ],
+ "isCurve": true,
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(a_shape -> another.sequence)[0]",
+ "src": "a_shape",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "another.sequence",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2186,
+ "y": 91
+ },
+ {
+ "x": 1328,
+ "y": 189.4
+ },
+ {
+ "x": 1113.5,
+ "y": 274.5
+ },
+ {
+ "x": 1113.5,
+ "y": 316.5
+ }
+ ],
+ "isCurve": true,
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(a_sequence -> sequence)[0]",
+ "src": "a_sequence",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "sequence",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 3471,
+ "y": 2600
+ },
+ {
+ "x": 3471,
+ "y": 2640
+ },
+ {
+ "x": 3471,
+ "y": 2660
+ },
+ {
+ "x": 3471,
+ "y": 2675
+ },
+ {
+ "x": 3471,
+ "y": 2690
+ },
+ {
+ "x": 3471,
+ "y": 2900.5
+ },
+ {
+ "x": 3471,
+ "y": 3502.5
+ }
+ ],
+ "isCurve": true,
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(another.sequence <-> finally.sequence)[0]",
+ "src": "another.sequence",
+ "srcArrow": "triangle",
+ "srcLabel": "",
+ "dst": "finally.sequence",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1113.5,
+ "y": 2598.5
+ },
+ {
+ "x": 1113.5,
+ "y": 2639.7
+ },
+ {
+ "x": 1113.5,
+ "y": 2660
+ },
+ {
+ "x": 1113.5,
+ "y": 2675
+ },
+ {
+ "x": 1113.5,
+ "y": 2690
+ },
+ {
+ "x": 1120.5,
+ "y": 2760
+ },
+ {
+ "x": 1148.5,
+ "y": 2800
+ }
+ ],
+ "isCurve": true,
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(a_shape -- finally)[0]",
+ "src": "a_shape",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "finally",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2267,
+ "y": 164
+ },
+ {
+ "x": 2267,
+ "y": 204
+ },
+ {
+ "x": 2267,
+ "y": 224
+ },
+ {
+ "x": 2267,
+ "y": 239
+ },
+ {
+ "x": 2267,
+ "y": 254
+ },
+ {
+ "x": 2267,
+ "y": 502.6
+ },
+ {
+ "x": 2267,
+ "y": 860.5
+ },
+ {
+ "x": 2267,
+ "y": 1218.4
+ },
+ {
+ "x": 2267,
+ "y": 1695.6
+ },
+ {
+ "x": 2267,
+ "y": 2053.5
+ },
+ {
+ "x": 2267,
+ "y": 2411.4
+ },
+ {
+ "x": 2267,
+ "y": 2710
+ },
+ {
+ "x": 2267,
+ "y": 2750
+ }
+ ],
+ "isCurve": true,
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "finally.sequence.(itemResponse.a -> item.a.b)[0]",
+ "src": "finally.sequence.itemResponse.a",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "finally.sequence.item.a.b",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2616.5,
+ "y": 3131
+ },
+ {
+ "x": 1866.5,
+ "y": 3131
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "finally.sequence.(item.a.b -> essayRubric.a.b.c)[0]",
+ "src": "finally.sequence.item.a.b",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "finally.sequence.essayRubric.a.b.c",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1806.5,
+ "y": 3281
+ },
+ {
+ "x": 1497,
+ "y": 3281
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "finally.sequence.(essayRubric.a.b.c -> concept.a.b.c.d)[0]",
+ "src": "finally.sequence.essayRubric.a.b.c",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "finally.sequence.concept.a.b.c.d",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1427,
+ "y": 3431
+ },
+ {
+ "x": 1112,
+ "y": 3431
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "finally.sequence.(item.a -> essayRubric.a.b)[0]",
+ "src": "finally.sequence.item.a",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "finally.sequence.essayRubric.a.b",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1811.5,
+ "y": 3581
+ },
+ {
+ "x": 1492,
+ "y": 3581
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "finally.sequence.(concept.a.b.c.d -> itemOutcome.a.b.c.d.e)[0]",
+ "src": "finally.sequence.concept.a.b.c.d",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "finally.sequence.itemOutcome.a.b.c.d.e",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1112,
+ "y": 3731
+ },
+ {
+ "x": 2173.5,
+ "y": 3731
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "finally.sequence.(scorer.abc -> item.a)[0]",
+ "src": "finally.sequence.scorer.abc",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "finally.sequence.item.a",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 731,
+ "y": 3881
+ },
+ {
+ "x": 1811.5,
+ "y": 3881
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "finally.sequence.(itemOutcome.a.b.c.d.e -> scorer)[0]",
+ "src": "finally.sequence.itemOutcome.a.b.c.d.e",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "finally.sequence.scorer",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2173.5,
+ "y": 4031
+ },
+ {
+ "x": 711,
+ "y": 4031
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "finally.sequence.(scorer -> itemResponse.c)[0]",
+ "src": "finally.sequence.scorer",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "finally.sequence.itemResponse.c",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 711,
+ "y": 4181
+ },
+ {
+ "x": 2616.5,
+ "y": 4181
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(a_sequence.scorer -- )[0]",
+ "src": "a_sequence.scorer",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "scorer-lifeline-end-3390057676",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2447.5,
+ "y": 500
+ },
+ {
+ "x": 2447.5,
+ "y": 2600
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(a_sequence.itemResponse -- )[0]",
+ "src": "a_sequence.itemResponse",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemResponse-lifeline-end-3886259856",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2855,
+ "y": 500
+ },
+ {
+ "x": 2855,
+ "y": 2600
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(a_sequence.item -- )[0]",
+ "src": "a_sequence.item",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "item-lifeline-end-4102336625",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 3252.5,
+ "y": 500
+ },
+ {
+ "x": 3252.5,
+ "y": 2600
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(a_sequence.essayRubric -- )[0]",
+ "src": "a_sequence.essayRubric",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "essayRubric-lifeline-end-1632038932",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 3639.5,
+ "y": 500
+ },
+ {
+ "x": 3639.5,
+ "y": 2600
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(a_sequence.concept -- )[0]",
+ "src": "a_sequence.concept",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "concept-lifeline-end-1391711018",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 4045,
+ "y": 500
+ },
+ {
+ "x": 4045,
+ "y": 2600
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(a_sequence.itemOutcome -- )[0]",
+ "src": "a_sequence.itemOutcome",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemOutcome-lifeline-end-3921917181",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 4459,
+ "y": 500
+ },
+ {
+ "x": 4459,
+ "y": 2600
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(another.sequence.scorer -- )[0]",
+ "src": "another.sequence.scorer",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "scorer-lifeline-end-3390057676",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 129,
+ "y": 498
+ },
+ {
+ "x": 129,
+ "y": 2598
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(another.sequence.itemResponse -- )[0]",
+ "src": "another.sequence.itemResponse",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemResponse-lifeline-end-3886259856",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 520.5,
+ "y": 498
+ },
+ {
+ "x": 520.5,
+ "y": 2598
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(another.sequence.item -- )[0]",
+ "src": "another.sequence.item",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "item-lifeline-end-4102336625",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 904.5,
+ "y": 498
+ },
+ {
+ "x": 904.5,
+ "y": 2598
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(another.sequence.essayRubric -- )[0]",
+ "src": "another.sequence.essayRubric",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "essayRubric-lifeline-end-1632038932",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1279,
+ "y": 498
+ },
+ {
+ "x": 1279,
+ "y": 2598
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(another.sequence.concept -- )[0]",
+ "src": "another.sequence.concept",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "concept-lifeline-end-1391711018",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1669,
+ "y": 498
+ },
+ {
+ "x": 1669,
+ "y": 2598
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(another.sequence.itemOutcome -- )[0]",
+ "src": "another.sequence.itemOutcome",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemOutcome-lifeline-end-3921917181",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2066.5,
+ "y": 498
+ },
+ {
+ "x": 2066.5,
+ "y": 2598
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(finally.sequence.scorer -- )[0]",
+ "src": "finally.sequence.scorer",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "scorer-lifeline-end-3390057676",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 706,
+ "y": 2981
+ },
+ {
+ "x": 706,
+ "y": 4331
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(finally.sequence.concept -- )[0]",
+ "src": "finally.sequence.concept",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "concept-lifeline-end-1391711018",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1072,
+ "y": 2981
+ },
+ {
+ "x": 1072,
+ "y": 4331
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(finally.sequence.essayRubric -- )[0]",
+ "src": "finally.sequence.essayRubric",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "essayRubric-lifeline-end-1632038932",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1462,
+ "y": 2981
+ },
+ {
+ "x": 1462,
+ "y": 4331
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(finally.sequence.item -- )[0]",
+ "src": "finally.sequence.item",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "item-lifeline-end-4102336625",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1836.5,
+ "y": 2981
+ },
+ {
+ "x": 1836.5,
+ "y": 4331
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(finally.sequence.itemOutcome -- )[0]",
+ "src": "finally.sequence.itemOutcome",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemOutcome-lifeline-end-3921917181",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2218.5,
+ "y": 2981
+ },
+ {
+ "x": 2218.5,
+ "y": 4331
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(finally.sequence.itemResponse -- )[0]",
+ "src": "finally.sequence.itemResponse",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemResponse-lifeline-end-3886259856",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2641.5,
+ "y": 2981
+ },
+ {
+ "x": 2641.5,
+ "y": 4331
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ }
+ ]
+}
diff --git a/e2etests/testdata/stable/sequence_diagrams/dagre/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagrams/dagre/sketch.exp.svg
new file mode 100644
index 000000000..a7b033107
--- /dev/null
+++ b/e2etests/testdata/stable/sequence_diagrams/dagre/sketch.exp.svg
@@ -0,0 +1,31 @@
+
+
\ No newline at end of file
diff --git a/e2etests/testdata/stable/sequence_diagrams/elk/board.exp.json b/e2etests/testdata/stable/sequence_diagrams/elk/board.exp.json
new file mode 100644
index 000000000..42f918573
--- /dev/null
+++ b/e2etests/testdata/stable/sequence_diagrams/elk/board.exp.json
@@ -0,0 +1,4711 @@
+{
+ "name": "",
+ "shapes": [
+ {
+ "id": "a_shape",
+ "type": "oval",
+ "pos": {
+ "x": 1080,
+ "y": 12
+ },
+ "width": 164,
+ "height": 164,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "a_shape",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 64,
+ "labelHeight": 26,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "a_sequence",
+ "type": "sequence_diagram",
+ "pos": {
+ "x": 12,
+ "y": 364
+ },
+ "width": 2217,
+ "height": 2286,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "a_sequence",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 144,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_TOP_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "another",
+ "type": "",
+ "pos": {
+ "x": 2249,
+ "y": 291
+ },
+ "width": 2277,
+ "height": 2431,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#E3E9FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "another",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 98,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_TOP_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "another.sequence",
+ "type": "sequence_diagram",
+ "pos": {
+ "x": 2324,
+ "y": 366
+ },
+ "width": 2127,
+ "height": 2281,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "sequence",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 101,
+ "labelHeight": 36,
+ "labelPosition": "INSIDE_TOP_CENTER",
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "finally",
+ "type": "queue",
+ "pos": {
+ "x": 2249,
+ "y": 2832
+ },
+ "width": 2277,
+ "height": 1681,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F0F3F9",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "finally",
+ "fontSize": 28,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 77,
+ "labelHeight": 41,
+ "labelPosition": "INSIDE_TOP_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "finally.sequence",
+ "type": "sequence_diagram",
+ "pos": {
+ "x": 2324,
+ "y": 2907
+ },
+ "width": 2127,
+ "height": 1531,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "sequence",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 101,
+ "labelHeight": 36,
+ "labelPosition": "INSIDE_TOP_CENTER",
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "finally.sequence.scorer",
+ "type": "",
+ "pos": {
+ "x": 2324,
+ "y": 2957
+ },
+ "width": 158,
+ "height": 131,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "scorer",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 58,
+ "labelHeight": 31,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "finally.sequence.concept",
+ "type": "",
+ "pos": {
+ "x": 2682,
+ "y": 2957
+ },
+ "width": 174,
+ "height": 131,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "concept",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 74,
+ "labelHeight": 31,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "finally.sequence.essayRubric",
+ "type": "",
+ "pos": {
+ "x": 3056,
+ "y": 2957
+ },
+ "width": 206,
+ "height": 131,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "essayRubric",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 106,
+ "labelHeight": 31,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "finally.sequence.item",
+ "type": "",
+ "pos": {
+ "x": 3462,
+ "y": 2957
+ },
+ "width": 143,
+ "height": 131,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "item",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 43,
+ "labelHeight": 31,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "finally.sequence.itemOutcome",
+ "type": "",
+ "pos": {
+ "x": 3805,
+ "y": 2957
+ },
+ "width": 221,
+ "height": 131,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "itemOutcome",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 121,
+ "labelHeight": 31,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "finally.sequence.itemResponse",
+ "type": "",
+ "pos": {
+ "x": 4226,
+ "y": 2957
+ },
+ "width": 225,
+ "height": 131,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "itemResponse",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 125,
+ "labelHeight": 31,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "a_sequence.scorer",
+ "type": "",
+ "pos": {
+ "x": 12,
+ "y": 414
+ },
+ "width": 169,
+ "height": 136,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "scorer",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 69,
+ "labelHeight": 36,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "a_sequence.scorer.t",
+ "type": "rectangle",
+ "pos": {
+ "x": 81,
+ "y": 695
+ },
+ "width": 30,
+ "height": 1810,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 11,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "a_sequence.itemResponse",
+ "type": "",
+ "pos": {
+ "x": 381,
+ "y": 414
+ },
+ "width": 246,
+ "height": 136,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "itemResponse",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 146,
+ "labelHeight": 36,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "a_sequence.itemResponse.t",
+ "type": "rectangle",
+ "pos": {
+ "x": 489,
+ "y": 695
+ },
+ "width": 30,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 11,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "a_sequence.item",
+ "type": "",
+ "pos": {
+ "x": 827,
+ "y": 414
+ },
+ "width": 149,
+ "height": 136,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "item",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 49,
+ "labelHeight": 36,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "a_sequence.item.t1",
+ "type": "rectangle",
+ "pos": {
+ "x": 886,
+ "y": 995
+ },
+ "width": 30,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "a_sequence.essayRubric",
+ "type": "",
+ "pos": {
+ "x": 1176,
+ "y": 414
+ },
+ "width": 225,
+ "height": 136,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "essayRubric",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 125,
+ "labelHeight": 36,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "a_sequence.essayRubric.t",
+ "type": "rectangle",
+ "pos": {
+ "x": 1273,
+ "y": 1295
+ },
+ "width": 30,
+ "height": 460,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 12,
+ "labelHeight": 31,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "a_sequence.essayRubric.t.c",
+ "type": "rectangle",
+ "pos": {
+ "x": 1268,
+ "y": 1445
+ },
+ "width": 40,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "a_sequence.concept",
+ "type": "",
+ "pos": {
+ "x": 1601,
+ "y": 414
+ },
+ "width": 186,
+ "height": 136,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "concept",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 86,
+ "labelHeight": 36,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "a_sequence.concept.t",
+ "type": "rectangle",
+ "pos": {
+ "x": 1679,
+ "y": 1595
+ },
+ "width": 30,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 11,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "a_sequence.itemOutcome",
+ "type": "",
+ "pos": {
+ "x": 1987,
+ "y": 414
+ },
+ "width": 242,
+ "height": 136,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#EDF0FD",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "itemOutcome",
+ "fontSize": 24,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 142,
+ "labelHeight": 36,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 2
+ },
+ {
+ "id": "a_sequence.itemOutcome.t1",
+ "type": "rectangle",
+ "pos": {
+ "x": 2093,
+ "y": 1895
+ },
+ "width": 30,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "a_sequence.item.t2",
+ "type": "rectangle",
+ "pos": {
+ "x": 886,
+ "y": 2045
+ },
+ "width": 30,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "a_sequence.item.t3",
+ "type": "rectangle",
+ "pos": {
+ "x": 886,
+ "y": 2195
+ },
+ "width": 30,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "a_sequence.itemOutcome.t2",
+ "type": "rectangle",
+ "pos": {
+ "x": 2093,
+ "y": 2345
+ },
+ "width": 30,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "a_sequence.itemOutcome.t3",
+ "type": "rectangle",
+ "pos": {
+ "x": 2093,
+ "y": 2495
+ },
+ "width": 30,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 3
+ },
+ {
+ "id": "another.sequence.scorer",
+ "type": "",
+ "pos": {
+ "x": 2324,
+ "y": 416
+ },
+ "width": 158,
+ "height": 131,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "scorer",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 58,
+ "labelHeight": 31,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "another.sequence.scorer.t",
+ "type": "rectangle",
+ "pos": {
+ "x": 2383,
+ "y": 692
+ },
+ "width": 40,
+ "height": 1810,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 11,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "another.sequence.itemResponse",
+ "type": "",
+ "pos": {
+ "x": 2682,
+ "y": 416
+ },
+ "width": 225,
+ "height": 131,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "itemResponse",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 125,
+ "labelHeight": 31,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "another.sequence.itemResponse.t",
+ "type": "rectangle",
+ "pos": {
+ "x": 2774,
+ "y": 692
+ },
+ "width": 40,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 11,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "another.sequence.item",
+ "type": "",
+ "pos": {
+ "x": 3107,
+ "y": 416
+ },
+ "width": 143,
+ "height": 131,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "item",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 43,
+ "labelHeight": 31,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "another.sequence.item.t1",
+ "type": "rectangle",
+ "pos": {
+ "x": 3158,
+ "y": 992
+ },
+ "width": 40,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "another.sequence.essayRubric",
+ "type": "",
+ "pos": {
+ "x": 3450,
+ "y": 416
+ },
+ "width": 206,
+ "height": 131,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "essayRubric",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 106,
+ "labelHeight": 31,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "another.sequence.essayRubric.t",
+ "type": "rectangle",
+ "pos": {
+ "x": 3533,
+ "y": 1292
+ },
+ "width": 40,
+ "height": 460,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 11,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "another.sequence.essayRubric.t.c",
+ "type": "rectangle",
+ "pos": {
+ "x": 3528,
+ "y": 1442
+ },
+ "width": 50,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 5
+ },
+ {
+ "id": "another.sequence.concept",
+ "type": "",
+ "pos": {
+ "x": 3856,
+ "y": 416
+ },
+ "width": 174,
+ "height": 131,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "concept",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 74,
+ "labelHeight": 31,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "another.sequence.concept.t",
+ "type": "rectangle",
+ "pos": {
+ "x": 3923,
+ "y": 1592
+ },
+ "width": 40,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 11,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "another.sequence.itemOutcome",
+ "type": "",
+ "pos": {
+ "x": 4230,
+ "y": 416
+ },
+ "width": 221,
+ "height": 131,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "itemOutcome",
+ "fontSize": 20,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 121,
+ "labelHeight": 31,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 3
+ },
+ {
+ "id": "another.sequence.itemOutcome.t1",
+ "type": "rectangle",
+ "pos": {
+ "x": 4320,
+ "y": 1892
+ },
+ "width": 40,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "another.sequence.item.t2",
+ "type": "rectangle",
+ "pos": {
+ "x": 3158,
+ "y": 2042
+ },
+ "width": 40,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "another.sequence.item.t3",
+ "type": "rectangle",
+ "pos": {
+ "x": 3158,
+ "y": 2192
+ },
+ "width": 40,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "another.sequence.itemOutcome.t2",
+ "type": "rectangle",
+ "pos": {
+ "x": 4320,
+ "y": 2342
+ },
+ "width": 40,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "another.sequence.itemOutcome.t3",
+ "type": "rectangle",
+ "pos": {
+ "x": 4320,
+ "y": 2492
+ },
+ "width": 40,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 20,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "sequence",
+ "type": "",
+ "pos": {
+ "x": 1035,
+ "y": 2832
+ },
+ "width": 172,
+ "height": 126,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#F7F8FE",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "sequence",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 72,
+ "labelHeight": 26,
+ "labelPosition": "INSIDE_MIDDLE_CENTER",
+ "zIndex": 0,
+ "level": 1
+ },
+ {
+ "id": "finally.sequence.itemResponse.a",
+ "type": "rectangle",
+ "pos": {
+ "x": 4318,
+ "y": 3233
+ },
+ "width": 40,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "finally.sequence.item.a",
+ "type": "rectangle",
+ "pos": {
+ "x": 3513,
+ "y": 3223
+ },
+ "width": 40,
+ "height": 770,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 12,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "finally.sequence.item.a.b",
+ "type": "rectangle",
+ "pos": {
+ "x": 3508,
+ "y": 3233
+ },
+ "width": 50,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 5
+ },
+ {
+ "id": "finally.sequence.essayRubric.a",
+ "type": "rectangle",
+ "pos": {
+ "x": 3139,
+ "y": 3363
+ },
+ "width": 40,
+ "height": 340,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 12,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "finally.sequence.essayRubric.a.b",
+ "type": "rectangle",
+ "pos": {
+ "x": 3134,
+ "y": 3373
+ },
+ "width": 50,
+ "height": 320,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 5
+ },
+ {
+ "id": "finally.sequence.essayRubric.a.b.c",
+ "type": "rectangle",
+ "pos": {
+ "x": 3129,
+ "y": 3383
+ },
+ "width": 60,
+ "height": 160,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 6
+ },
+ {
+ "id": "finally.sequence.concept.a",
+ "type": "rectangle",
+ "pos": {
+ "x": 2749,
+ "y": 3503
+ },
+ "width": 40,
+ "height": 370,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 12,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "finally.sequence.concept.a.b",
+ "type": "rectangle",
+ "pos": {
+ "x": 2744,
+ "y": 3513
+ },
+ "width": 50,
+ "height": 350,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 5
+ },
+ {
+ "id": "finally.sequence.concept.a.b.c",
+ "type": "rectangle",
+ "pos": {
+ "x": 2739,
+ "y": 3523
+ },
+ "width": 60,
+ "height": 330,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 12,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 6
+ },
+ {
+ "id": "finally.sequence.concept.a.b.c.d",
+ "type": "rectangle",
+ "pos": {
+ "x": 2734,
+ "y": 3533
+ },
+ "width": 70,
+ "height": 310,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 14,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 7
+ },
+ {
+ "id": "finally.sequence.itemOutcome.a",
+ "type": "rectangle",
+ "pos": {
+ "x": 3895,
+ "y": 3793
+ },
+ "width": 40,
+ "height": 390,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 12,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "finally.sequence.itemOutcome.a.b",
+ "type": "rectangle",
+ "pos": {
+ "x": 3890,
+ "y": 3803
+ },
+ "width": 50,
+ "height": 370,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 5
+ },
+ {
+ "id": "finally.sequence.itemOutcome.a.b.c",
+ "type": "rectangle",
+ "pos": {
+ "x": 3885,
+ "y": 3813
+ },
+ "width": 60,
+ "height": 350,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 12,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 6
+ },
+ {
+ "id": "finally.sequence.itemOutcome.a.b.c.d",
+ "type": "rectangle",
+ "pos": {
+ "x": 3880,
+ "y": 3823
+ },
+ "width": 70,
+ "height": 330,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 7
+ },
+ {
+ "id": "finally.sequence.itemOutcome.a.b.c.d.e",
+ "type": "rectangle",
+ "pos": {
+ "x": 3875,
+ "y": 3833
+ },
+ "width": 80,
+ "height": 310,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 8
+ },
+ {
+ "id": "finally.sequence.scorer.abc",
+ "type": "rectangle",
+ "pos": {
+ "x": 2383,
+ "y": 3983
+ },
+ "width": 40,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 31,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ },
+ {
+ "id": "finally.sequence.itemResponse.c",
+ "type": "rectangle",
+ "pos": {
+ "x": 4318,
+ "y": 4283
+ },
+ "width": 40,
+ "height": 50,
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "borderRadius": 0,
+ "fill": "#FFFFFF",
+ "stroke": "#0D32B2",
+ "shadow": false,
+ "3d": false,
+ "multiple": false,
+ "tooltip": "",
+ "link": "",
+ "icon": null,
+ "iconPosition": "",
+ "fields": null,
+ "methods": null,
+ "columns": null,
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#0A0F25",
+ "italic": false,
+ "bold": true,
+ "underline": false,
+ "labelWidth": 13,
+ "labelHeight": 26,
+ "zIndex": 1,
+ "level": 4
+ }
+ ],
+ "connections": [
+ {
+ "id": "a_sequence.(scorer.t -> itemResponse.t)[0]",
+ "src": "a_sequence.scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "a_sequence.itemResponse.t",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "getItem()",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 60,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 116.5,
+ "y": 700
+ },
+ {
+ "x": 484,
+ "y": 700
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "a_sequence.(scorer.t <- itemResponse.t)[0]",
+ "src": "a_sequence.scorer.t",
+ "srcArrow": "triangle",
+ "srcLabel": "",
+ "dst": "a_sequence.itemResponse.t",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "item",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 29,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 116.5,
+ "y": 850
+ },
+ {
+ "x": 484,
+ "y": 850
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "a_sequence.(scorer.t -> item.t1)[0]",
+ "src": "a_sequence.scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "a_sequence.item.t1",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "getRubric()",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 73,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 116.5,
+ "y": 1000
+ },
+ {
+ "x": 881.5,
+ "y": 1000
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "a_sequence.(scorer.t <- item.t1)[0]",
+ "src": "a_sequence.scorer.t",
+ "srcArrow": "triangle",
+ "srcLabel": "",
+ "dst": "a_sequence.item.t1",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "rubric",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 39,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 116.5,
+ "y": 1150
+ },
+ {
+ "x": 881.5,
+ "y": 1150
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "a_sequence.(scorer.t -> essayRubric.t)[0]",
+ "src": "a_sequence.scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "a_sequence.essayRubric.t",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "applyTo(essayResp)",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 130,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 116.5,
+ "y": 1300
+ },
+ {
+ "x": 1268.5,
+ "y": 1300
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "a_sequence.(itemResponse -> essayRubric.t.c)[0]",
+ "src": "a_sequence.itemResponse",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "a_sequence.essayRubric.t.c",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 509,
+ "y": 1450
+ },
+ {
+ "x": 1263.5,
+ "y": 1450
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "a_sequence.(essayRubric.t.c -> concept.t)[0]",
+ "src": "a_sequence.essayRubric.t.c",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "a_sequence.concept.t",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "match(essayResponse)",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 150,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1313.5,
+ "y": 1600
+ },
+ {
+ "x": 1674,
+ "y": 1600
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "a_sequence.(scorer <- essayRubric.t)[0]",
+ "src": "a_sequence.scorer",
+ "srcArrow": "triangle",
+ "srcLabel": "",
+ "dst": "a_sequence.essayRubric.t",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "score",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 37,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 101.5,
+ "y": 1750
+ },
+ {
+ "x": 1268.5,
+ "y": 1750
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "a_sequence.(scorer.t <-> itemOutcome.t1)[0]",
+ "src": "a_sequence.scorer.t",
+ "srcArrow": "triangle",
+ "srcLabel": "",
+ "dst": "a_sequence.itemOutcome.t1",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "new",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 29,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 116.5,
+ "y": 1900
+ },
+ {
+ "x": 2088,
+ "y": 1900
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "a_sequence.(scorer.t <-> item.t2)[0]",
+ "src": "a_sequence.scorer.t",
+ "srcArrow": "triangle",
+ "srcLabel": "",
+ "dst": "a_sequence.item.t2",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "getNormalMinimum()",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 141,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 116.5,
+ "y": 2050
+ },
+ {
+ "x": 881.5,
+ "y": 2050
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "a_sequence.(scorer.t -> item.t3)[0]",
+ "src": "a_sequence.scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "a_sequence.item.t3",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "getNormalMaximum()",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 144,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 116.5,
+ "y": 2200
+ },
+ {
+ "x": 881.5,
+ "y": 2200
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "a_sequence.(scorer.t -- itemOutcome.t2)[0]",
+ "src": "a_sequence.scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "a_sequence.itemOutcome.t2",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "setScore(score)",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 101,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 116.5,
+ "y": 2350
+ },
+ {
+ "x": 2088,
+ "y": 2350
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "a_sequence.(scorer.t -- itemOutcome.t3)[0]",
+ "src": "a_sequence.scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "a_sequence.itemOutcome.t3",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "setFeedback(missingConcepts)",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 203,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 116.5,
+ "y": 2500
+ },
+ {
+ "x": 2088,
+ "y": 2500
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "another.sequence.(scorer.t -> itemResponse.t)[0]",
+ "src": "another.sequence.scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "another.sequence.itemResponse.t",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "getItem()",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 60,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2428,
+ "y": 697
+ },
+ {
+ "x": 2769.5,
+ "y": 697
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "another.sequence.(scorer.t <- itemResponse.t)[0]",
+ "src": "another.sequence.scorer.t",
+ "srcArrow": "triangle",
+ "srcLabel": "",
+ "dst": "another.sequence.itemResponse.t",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "item",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 29,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2428,
+ "y": 847
+ },
+ {
+ "x": 2769.5,
+ "y": 847
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "another.sequence.(scorer.t -> item.t1)[0]",
+ "src": "another.sequence.scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "another.sequence.item.t1",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "getRubric()",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 73,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2428,
+ "y": 997
+ },
+ {
+ "x": 3153.5,
+ "y": 997
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "another.sequence.(scorer.t <- item.t1)[0]",
+ "src": "another.sequence.scorer.t",
+ "srcArrow": "triangle",
+ "srcLabel": "",
+ "dst": "another.sequence.item.t1",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "rubric",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 39,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2428,
+ "y": 1147
+ },
+ {
+ "x": 3153.5,
+ "y": 1147
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "another.sequence.(scorer.t -> essayRubric.t)[0]",
+ "src": "another.sequence.scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "another.sequence.essayRubric.t",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "applyTo(essayResp)",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 130,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2428,
+ "y": 1297
+ },
+ {
+ "x": 3528,
+ "y": 1297
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "another.sequence.(itemResponse -> essayRubric.t.c)[0]",
+ "src": "another.sequence.itemResponse",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "another.sequence.essayRubric.t.c",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2799.5,
+ "y": 1447
+ },
+ {
+ "x": 3523,
+ "y": 1447
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "another.sequence.(essayRubric.t.c -> concept.t)[0]",
+ "src": "another.sequence.essayRubric.t.c",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "another.sequence.concept.t",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "match(essayResponse)",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 150,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 3583,
+ "y": 1597
+ },
+ {
+ "x": 3918,
+ "y": 1597
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "another.sequence.(scorer <- essayRubric.t)[0]",
+ "src": "another.sequence.scorer",
+ "srcArrow": "triangle",
+ "srcLabel": "",
+ "dst": "another.sequence.essayRubric.t",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "score",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 37,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2408,
+ "y": 1747
+ },
+ {
+ "x": 3528,
+ "y": 1747
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "another.sequence.(scorer.t -> itemOutcome.t1)[0]",
+ "src": "another.sequence.scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "another.sequence.itemOutcome.t1",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "new",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 29,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2428,
+ "y": 1897
+ },
+ {
+ "x": 4315.5,
+ "y": 1897
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "another.sequence.(scorer.t <-> item.t2)[0]",
+ "src": "another.sequence.scorer.t",
+ "srcArrow": "triangle",
+ "srcLabel": "",
+ "dst": "another.sequence.item.t2",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "getNormalMinimum()",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 141,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2428,
+ "y": 2047
+ },
+ {
+ "x": 3153.5,
+ "y": 2047
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "another.sequence.(scorer.t -> item.t3)[0]",
+ "src": "another.sequence.scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "another.sequence.item.t3",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "getNormalMaximum()",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 144,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2428,
+ "y": 2197
+ },
+ {
+ "x": 3153.5,
+ "y": 2197
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "another.sequence.(scorer.t -> itemOutcome.t2)[0]",
+ "src": "another.sequence.scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "another.sequence.itemOutcome.t2",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "setScore(score)",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 101,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2428,
+ "y": 2347
+ },
+ {
+ "x": 4315.5,
+ "y": 2347
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "another.sequence.(scorer.t -> itemOutcome.t3)[0]",
+ "src": "another.sequence.scorer.t",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "another.sequence.itemOutcome.t3",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "setFeedback(missingConcepts)",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 203,
+ "labelHeight": 21,
+ "labelPosition": "OUTSIDE_TOP_CENTER",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2428,
+ "y": 2497
+ },
+ {
+ "x": 4315.5,
+ "y": 2497
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(a_shape -> a_sequence)[0]",
+ "src": "a_shape",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "a_sequence",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1120.5,
+ "y": 176
+ },
+ {
+ "x": 1120.5,
+ "y": 363.5
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(a_shape -> another.sequence)[0]",
+ "src": "a_shape",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "another.sequence",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1161.5,
+ "y": 176
+ },
+ {
+ "x": 1161.5,
+ "y": 236
+ },
+ {
+ "x": 3387.5,
+ "y": 236
+ },
+ {
+ "x": 3387.5,
+ "y": 366
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(a_sequence -> sequence)[0]",
+ "src": "a_sequence",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "sequence",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1120.5,
+ "y": 2649.5
+ },
+ {
+ "x": 1120.5,
+ "y": 2832
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(another.sequence <-> finally.sequence)[0]",
+ "src": "another.sequence",
+ "srcArrow": "triangle",
+ "srcLabel": "",
+ "dst": "finally.sequence",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 3387.5,
+ "y": 2647
+ },
+ {
+ "x": 3387.5,
+ "y": 2907
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(a_shape -- finally)[0]",
+ "src": "a_shape",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "finally",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1202.5,
+ "y": 176
+ },
+ {
+ "x": 1202.5,
+ "y": 226
+ },
+ {
+ "x": 4536,
+ "y": 226
+ },
+ {
+ "x": 4536,
+ "y": 2777
+ },
+ {
+ "x": 3397.5,
+ "y": 2777
+ },
+ {
+ "x": 3397.5,
+ "y": 2832
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "finally.sequence.(itemResponse.a -> item.a.b)[0]",
+ "src": "finally.sequence.itemResponse.a",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "finally.sequence.item.a.b",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 4313.5,
+ "y": 3238
+ },
+ {
+ "x": 3563.5,
+ "y": 3238
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "finally.sequence.(item.a.b -> essayRubric.a.b.c)[0]",
+ "src": "finally.sequence.item.a.b",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "finally.sequence.essayRubric.a.b.c",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 3503.5,
+ "y": 3388
+ },
+ {
+ "x": 3194,
+ "y": 3388
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "finally.sequence.(essayRubric.a.b.c -> concept.a.b.c.d)[0]",
+ "src": "finally.sequence.essayRubric.a.b.c",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "finally.sequence.concept.a.b.c.d",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 3124,
+ "y": 3538
+ },
+ {
+ "x": 2809,
+ "y": 3538
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "finally.sequence.(item.a -> essayRubric.a.b)[0]",
+ "src": "finally.sequence.item.a",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "finally.sequence.essayRubric.a.b",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 3508.5,
+ "y": 3688
+ },
+ {
+ "x": 3189,
+ "y": 3688
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "finally.sequence.(concept.a.b.c.d -> itemOutcome.a.b.c.d.e)[0]",
+ "src": "finally.sequence.concept.a.b.c.d",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "finally.sequence.itemOutcome.a.b.c.d.e",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2809,
+ "y": 3838
+ },
+ {
+ "x": 3870.5,
+ "y": 3838
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "finally.sequence.(scorer.abc -> item.a)[0]",
+ "src": "finally.sequence.scorer.abc",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "finally.sequence.item.a",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2428,
+ "y": 3988
+ },
+ {
+ "x": 3508.5,
+ "y": 3988
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "finally.sequence.(itemOutcome.a.b.c.d.e -> scorer)[0]",
+ "src": "finally.sequence.itemOutcome.a.b.c.d.e",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "finally.sequence.scorer",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 3870.5,
+ "y": 4138
+ },
+ {
+ "x": 2408,
+ "y": 4138
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "finally.sequence.(scorer -> itemResponse.c)[0]",
+ "src": "finally.sequence.scorer",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "finally.sequence.itemResponse.c",
+ "dstArrow": "triangle",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 0,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2408,
+ "y": 4288
+ },
+ {
+ "x": 4313.5,
+ "y": 4288
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 2
+ },
+ {
+ "id": "(a_sequence.scorer -- )[0]",
+ "src": "a_sequence.scorer",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "scorer-lifeline-end-3390057676",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 96.5,
+ "y": 550
+ },
+ {
+ "x": 96.5,
+ "y": 2650
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(a_sequence.itemResponse -- )[0]",
+ "src": "a_sequence.itemResponse",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemResponse-lifeline-end-3886259856",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 504,
+ "y": 550
+ },
+ {
+ "x": 504,
+ "y": 2650
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(a_sequence.item -- )[0]",
+ "src": "a_sequence.item",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "item-lifeline-end-4102336625",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 901.5,
+ "y": 550
+ },
+ {
+ "x": 901.5,
+ "y": 2650
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(a_sequence.essayRubric -- )[0]",
+ "src": "a_sequence.essayRubric",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "essayRubric-lifeline-end-1632038932",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1288.5,
+ "y": 550
+ },
+ {
+ "x": 1288.5,
+ "y": 2650
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(a_sequence.concept -- )[0]",
+ "src": "a_sequence.concept",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "concept-lifeline-end-1391711018",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 1694,
+ "y": 550
+ },
+ {
+ "x": 1694,
+ "y": 2650
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(a_sequence.itemOutcome -- )[0]",
+ "src": "a_sequence.itemOutcome",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemOutcome-lifeline-end-3921917181",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2108,
+ "y": 550
+ },
+ {
+ "x": 2108,
+ "y": 2650
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(another.sequence.scorer -- )[0]",
+ "src": "another.sequence.scorer",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "scorer-lifeline-end-3390057676",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2403,
+ "y": 547
+ },
+ {
+ "x": 2403,
+ "y": 2647
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(another.sequence.itemResponse -- )[0]",
+ "src": "another.sequence.itemResponse",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemResponse-lifeline-end-3886259856",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2794.5,
+ "y": 547
+ },
+ {
+ "x": 2794.5,
+ "y": 2647
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(another.sequence.item -- )[0]",
+ "src": "another.sequence.item",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "item-lifeline-end-4102336625",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 3178.5,
+ "y": 547
+ },
+ {
+ "x": 3178.5,
+ "y": 2647
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(another.sequence.essayRubric -- )[0]",
+ "src": "another.sequence.essayRubric",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "essayRubric-lifeline-end-1632038932",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 3553,
+ "y": 547
+ },
+ {
+ "x": 3553,
+ "y": 2647
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(another.sequence.concept -- )[0]",
+ "src": "another.sequence.concept",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "concept-lifeline-end-1391711018",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 3943,
+ "y": 547
+ },
+ {
+ "x": 3943,
+ "y": 2647
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(another.sequence.itemOutcome -- )[0]",
+ "src": "another.sequence.itemOutcome",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemOutcome-lifeline-end-3921917181",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 4340.5,
+ "y": 547
+ },
+ {
+ "x": 4340.5,
+ "y": 2647
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(finally.sequence.scorer -- )[0]",
+ "src": "finally.sequence.scorer",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "scorer-lifeline-end-3390057676",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2403,
+ "y": 3088
+ },
+ {
+ "x": 2403,
+ "y": 4438
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(finally.sequence.concept -- )[0]",
+ "src": "finally.sequence.concept",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "concept-lifeline-end-1391711018",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 2769,
+ "y": 3088
+ },
+ {
+ "x": 2769,
+ "y": 4438
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(finally.sequence.essayRubric -- )[0]",
+ "src": "finally.sequence.essayRubric",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "essayRubric-lifeline-end-1632038932",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 3159,
+ "y": 3088
+ },
+ {
+ "x": 3159,
+ "y": 4438
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(finally.sequence.item -- )[0]",
+ "src": "finally.sequence.item",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "item-lifeline-end-4102336625",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 3533.5,
+ "y": 3088
+ },
+ {
+ "x": 3533.5,
+ "y": 4438
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(finally.sequence.itemOutcome -- )[0]",
+ "src": "finally.sequence.itemOutcome",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemOutcome-lifeline-end-3921917181",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 3915.5,
+ "y": 3088
+ },
+ {
+ "x": 3915.5,
+ "y": 4438
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ },
+ {
+ "id": "(finally.sequence.itemResponse -- )[0]",
+ "src": "finally.sequence.itemResponse",
+ "srcArrow": "none",
+ "srcLabel": "",
+ "dst": "itemResponse-lifeline-end-3886259856",
+ "dstArrow": "none",
+ "dstLabel": "",
+ "opacity": 1,
+ "strokeDash": 10,
+ "strokeWidth": 2,
+ "stroke": "#0D32B2",
+ "label": "",
+ "fontSize": 16,
+ "fontFamily": "DEFAULT",
+ "language": "",
+ "color": "#676C7E",
+ "italic": true,
+ "bold": false,
+ "underline": false,
+ "labelWidth": 0,
+ "labelHeight": 0,
+ "labelPosition": "",
+ "labelPercentage": 0,
+ "route": [
+ {
+ "x": 4338.5,
+ "y": 3088
+ },
+ {
+ "x": 4338.5,
+ "y": 4438
+ }
+ ],
+ "animated": false,
+ "tooltip": "",
+ "icon": null,
+ "zIndex": 0
+ }
+ ]
+}
diff --git a/e2etests/testdata/stable/sequence_diagrams/elk/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagrams/elk/sketch.exp.svg
new file mode 100644
index 000000000..90eb78b28
--- /dev/null
+++ b/e2etests/testdata/stable/sequence_diagrams/elk/sketch.exp.svg
@@ -0,0 +1,31 @@
+
+
\ No newline at end of file
diff --git a/main.go b/main.go
index 58745abf1..4d49cad72 100644
--- a/main.go
+++ b/main.go
@@ -5,7 +5,6 @@ import (
"errors"
"fmt"
"io"
- "os"
"os/exec"
"path/filepath"
"strings"
@@ -17,7 +16,6 @@ import (
"oss.terrastruct.com/util-go/xmain"
- "oss.terrastruct.com/d2/d2layouts/d2sequence"
"oss.terrastruct.com/d2/d2lib"
"oss.terrastruct.com/d2/d2plugin"
"oss.terrastruct.com/d2/d2renderers/d2svg"
@@ -202,10 +200,6 @@ func compile(ctx context.Context, ms *xmain.State, plugin d2plugin.Plugin, theme
}
layout := plugin.Layout
- // TODO: remove, this is just a feature flag to test sequence diagrams as we work on them
- if os.Getenv("D2_SEQUENCE") == "1" {
- layout = d2sequence.Layout
- }
diagram, _, err := d2lib.Compile(ctx, string(input), &d2lib.CompileOptions{
Layout: layout,
Ruler: ruler,