Merge pull request #331 from ejulio-ts/beautify

sequence diagrams: beautify
This commit is contained in:
ejulio-ts 2022-12-02 20:03:43 -08:00 committed by GitHub
commit c47ff619f8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
26 changed files with 6937 additions and 2023 deletions

View file

@ -399,6 +399,10 @@ func (obj *Object) IsContainer() bool {
return len(obj.Children) > 0
}
func (obj *Object) IsSequenceDiagram() bool {
return obj != nil && obj.Attributes.Shape.Value == d2target.ShapeSequenceDiagram
}
func (obj *Object) AbsID() string {
if obj.Parent != nil && obj.Parent.ID != "" {
return obj.Parent.AbsID() + "." + obj.ID
@ -415,7 +419,8 @@ func (obj *Object) AbsIDArray() []string {
func (obj *Object) Text() *d2target.MText {
fontSize := d2fonts.FONT_SIZE_M
if obj.IsContainer() {
if obj.IsContainer() && !obj.Parent.IsSequenceDiagram() {
// sequence diagram children (aka, actors) shouldn't have the container font size
fontSize = obj.Level().LabelSize()
}
if obj.Attributes.Style.FontSize != nil {

View file

@ -6,19 +6,27 @@ const HORIZONTAL_PAD = 50.
// 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.
const MIN_ACTOR_DISTANCE = 250.
const MIN_ACTOR_WIDTH = 150.
// min vertical distance between messages
const MIN_MESSAGE_DISTANCE = 100.
const MIN_MESSAGE_DISTANCE = 80.
// default size
const SPAN_WIDTH = 20.
// small pad so that messages don't touch lifelines and spans
const SPAN_MESSAGE_PAD = 5.
const SPAN_BASE_WIDTH = 12.
// as the spans start getting nested, their size grows
const SPAN_DEPTH_GROW_FACTOR = 10.
const SPAN_DEPTH_GROWTH_FACTOR = 8.
// when a span has a single messages
const MIN_SPAN_HEIGHT = MIN_MESSAGE_DISTANCE / 2.
const MIN_SPAN_HEIGHT = 80.
const SPAN_MESSAGE_PAD = 16.
const LIFELINE_STROKE_WIDTH int = 2
const LIFELINE_STROKE_DASH int = 8
// pad when the actor has the label placed OutsideMiddleBottom so that the lifeline is not so close to the text
const LIFELINE_LABEL_PAD = 5.

View file

@ -41,6 +41,7 @@ func Layout(ctx context.Context, g *d2graph.Graph, layout func(ctx context.Conte
obj.Children = make(map[string]*d2graph.Object)
obj.ChildrenArray = nil
obj.Box = geo.NewBox(nil, sd.getWidth(), sd.getHeight())
obj.LabelPosition = go2.Pointer(string(label.InsideTopCenter))
sequenceDiagrams[obj.AbsID()] = sd
for _, edge := range sd.messages {
@ -59,7 +60,7 @@ func Layout(ctx context.Context, g *d2graph.Graph, layout func(ctx context.Conte
layoutObjects, objectOrder := getLayoutObjects(g, objectsToRemove)
g.Objects = layoutObjects
if isRootSequenceDiagram(g) {
if g.Root.IsSequenceDiagram() {
// the sequence diagram is the only layout engine if the whole diagram is
// shape: sequence_diagram
g.Root.TopLeft = geo.NewPoint(0, 0)
@ -71,10 +72,6 @@ func Layout(ctx context.Context, g *d2graph.Graph, layout func(ctx context.Conte
return nil
}
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
@ -123,7 +120,7 @@ func getLayoutObjects(g *d2graph.Graph, toRemove map[*d2graph.Object]struct{}) (
// - 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) {
if g.Root.IsSequenceDiagram() {
objects = []*d2graph.Object{g.Root}
} else {
objects = g.Objects

View file

@ -108,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_MESSAGE_PAD {
if edge.Route[0].X != edge.Src.Center().X {
t.Fatalf("expected edge[%d] x to be at the actor center", i)
}
if edge.Route[1].X != edge.Dst.Center().X-SPAN_MESSAGE_PAD {
if edge.Route[1].X != edge.Dst.Center().X {
t.Fatalf("expected edge[%d] x to be at the actor center", i)
}
} else {
if edge.Route[0].X != edge.Src.Center().X-SPAN_MESSAGE_PAD {
if edge.Route[0].X != edge.Src.Center().X {
t.Fatalf("expected edge[%d] x to be at the actor center", i)
}
if edge.Route[1].X != edge.Dst.Center().X+SPAN_MESSAGE_PAD {
if edge.Route[1].X != edge.Dst.Center().X {
t.Fatalf("expected edge[%d] x to be at the actor center", i)
}
}
@ -251,8 +251,8 @@ func TestSpansSequenceDiagram(t *testing.T) {
t.Fatalf("expected a.t1 height to be %.5f, got %.5f", expectedHeight, a_t1.Height)
}
if a_t1.Width != SPAN_WIDTH {
t.Fatalf("expected span width to be %.5f, got %.5f", SPAN_WIDTH, a_t1.Width)
if a_t1.Width != SPAN_BASE_WIDTH {
t.Fatalf("expected span width to be %.5f, got %.5f", SPAN_BASE_WIDTH, a_t1.Width)
}
// check positions
@ -268,20 +268,20 @@ 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_MESSAGE_PAD {
if a_t1.TopLeft.Y+SPAN_MESSAGE_PAD != g.Edges[0].Route[0].Y {
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_MESSAGE_PAD {
if g.Edges[0].Route[0].X != a_t1.TopLeft.X+a_t1.Width {
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_MESSAGE_PAD {
if g.Edges[0].Route[1].X != b_t1.TopLeft.X {
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_MESSAGE_PAD {
if g.Edges[2].Route[1].X != b.Center().X {
t.Fatal("expected the third message to end on b.t1 center X")
}
}

View file

@ -8,6 +8,7 @@ import (
"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"
@ -51,6 +52,12 @@ func newSequenceDiagram(actors []*d2graph.Object, messages []*d2graph.Edge) *seq
for rank, actor := range actors {
sd.root = actor.Parent
sd.objectRank[actor] = rank
if actor.Width < MIN_ACTOR_WIDTH {
aspectRatio := actor.Height / actor.Width
actor.Width = MIN_ACTOR_WIDTH
actor.Height = math.Round(aspectRatio * actor.Width)
}
sd.maxActorHeight = math.Max(sd.maxActorHeight, actor.Height)
queue := make([]*d2graph.Object, len(actor.ChildrenArray))
@ -82,8 +89,11 @@ func newSequenceDiagram(actors []*d2graph.Object, messages []*d2graph.Edge) *seq
sd.actorXStep = math.Max(sd.actorXStep, distributedLabelWidth+HORIZONTAL_PAD)
}
sd.maxActorHeight += VERTICAL_PAD
sd.messageYStep += VERTICAL_PAD
sd.maxActorHeight += VERTICAL_PAD
if sd.root.LabelHeight != nil {
sd.maxActorHeight += float64(*sd.root.LabelHeight)
}
return sd
}
@ -108,11 +118,18 @@ func (sd *sequenceDiagram) layout() {
// 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))
for _, actor := range sd.actors {
shape := actor.Attributes.Shape.Value
var yOffset float64
if shape == d2target.ShapeImage || shape == d2target.ShapePerson {
actor.LabelPosition = go2.Pointer(string(label.OutsideBottomCenter))
yOffset = sd.maxActorHeight - actor.Height - float64(*actor.LabelHeight)
} else {
actor.LabelPosition = go2.Pointer(string(label.InsideMiddleCenter))
yOffset = sd.maxActorHeight - actor.Height
}
actor.TopLeft = geo.NewPoint(x, yOffset)
x += actor.Width + sd.actorXStep
}
}
@ -129,14 +146,16 @@ func (sd *sequenceDiagram) addLifelineEdges() {
for _, actor := range sd.actors {
actorBottom := actor.Center()
actorBottom.Y = actor.TopLeft.Y + actor.Height
if *actor.LabelPosition == string(label.OutsideBottomCenter) {
actorBottom.Y += float64(*actor.LabelHeight) + LIFELINE_LABEL_PAD
}
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,
StrokeDash: &d2graph.Scalar{Value: fmt.Sprintf("%d", LIFELINE_STROKE_DASH)},
StrokeWidth: &d2graph.Scalar{Value: fmt.Sprintf("%d", LIFELINE_STROKE_WIDTH)},
},
},
Src: actor,
@ -170,7 +189,7 @@ func (sd *sequenceDiagram) placeSpans() {
}
// 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
// the order is important because the only way a child span exists is if there's a 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
@ -200,21 +219,17 @@ func (sd *sequenceDiagram) placeSpans() {
// 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 {
if minY == minChildY || minY == minMessageY {
minY -= SPAN_MESSAGE_PAD
}
maxY := math.Max(maxMessageY, maxChildY)
if maxY == maxChildY {
maxY += SPAN_DEPTH_GROW_FACTOR
} else {
if maxY == maxChildY || maxY == maxMessageY {
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)
width := SPAN_BASE_WIDTH + (float64(span.Level()-2) * SPAN_DEPTH_GROWTH_FACTOR)
x := rankToX[sd.objectRank[span]] - (width / 2.)
span.Box = geo.NewBox(geo.NewPoint(x, minY), width, height)
span.ZIndex = 1
@ -245,14 +260,6 @@ func (sd *sequenceDiagram) routeMessages() {
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),

View file

@ -1217,6 +1217,107 @@ foo baz: Foo Baz
foo baz -> hello
`,
}, {
name: "sequence_diagram_all_shapes",
script: `shape: sequence_diagram
a: "a label" {
shape: callout
}
b: "b\nlabels" {
shape: circle
}
c: "a class" {
shape: class
+public() bool
-private() int
}
d: "cloudyyyy" {
shape: cloud
}
e: |go
a := 5
b := a + 7
fmt.Printf("%d", b)
|
f: "cyl" {
shape: cylinder
}
g: "dia" {
shape: diamond
}
h: "docs" {
shape: document
}
i: "six corners" {
shape: hexagon
}
j: "a random icon" {
shape: image
icon: https://icons.terrastruct.com/essentials/004-picture.svg
}
k: "over" {
shape: oval
}
l: "pack" {
shape: package
}
m: "docs page" {
shape: page
}
n: "too\nhard\to say" {
shape: parallelogram
}
o: "single\nperson" {
shape: person
}
p: "a queue" {
shape: queue
}
q: "a square" {
shape: square
}
r: "a step at a time" {
shape: step
}
s: "data" {
shape: stored_data
}
t: "users" {
shape: sql_table
id: int
name: varchar
}
a -> b: |go
result := callThisFunction(obj, 5)
|
b <-> c: "mid" {
source-arrowhead: "this side" {
shape: diamond
}
target-arrowhead: "other side" {
shape: triangle
}
}
c -> d
d -> e
e -> f
f -> g
g -> h
h -> i
i -> j
j -> k
k -> l
l -> m
m -> n
n -> o
o -> p
p -> q
q -> r
r -> s
s -> t`,
},
}

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 991 KiB

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 991 KiB

View file

@ -6,10 +6,10 @@
"type": "",
"pos": {
"x": 0,
"y": 50
"y": 62
},
"width": 179,
"height": 141,
"width": 150,
"height": 128,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 5,
@ -27,15 +27,15 @@
"methods": null,
"columns": null,
"label": "scorer",
"fontSize": 28,
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 79,
"labelHeight": 41,
"labelWidth": 48,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
@ -44,11 +44,11 @@
"id": "scorer.abc",
"type": "rectangle",
"pos": {
"x": 79,
"y": 1236
"x": 69,
"y": 1084
},
"width": 20,
"height": 50,
"width": 12,
"height": 80,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 7,
@ -82,11 +82,11 @@
"id": "itemResponse",
"type": "",
"pos": {
"x": 379,
"y": 50
"x": 400,
"y": 64
},
"width": 270,
"height": 141,
"width": 200,
"height": 126,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -104,15 +104,15 @@
"methods": null,
"columns": null,
"label": "itemResponse",
"fontSize": 28,
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 170,
"labelHeight": 41,
"labelWidth": 100,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
@ -121,11 +121,11 @@
"id": "itemResponse.a",
"type": "rectangle",
"pos": {
"x": 504,
"y": 336
"x": 494,
"y": 304
},
"width": 20,
"height": 160,
"width": 12,
"height": 162,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -159,11 +159,11 @@
"id": "item",
"type": "",
"pos": {
"x": 849,
"x": 850,
"y": 50
},
"width": 157,
"height": 141,
"width": 150,
"height": 140,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -181,15 +181,15 @@
"methods": null,
"columns": null,
"label": "item",
"fontSize": 28,
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 57,
"labelHeight": 41,
"labelWidth": 35,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
@ -198,11 +198,11 @@
"id": "item.a",
"type": "rectangle",
"pos": {
"x": 917,
"y": 476
"x": 919,
"y": 418
},
"width": 20,
"height": 770,
"width": 12,
"height": 698,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -236,11 +236,11 @@
"id": "item.a.b",
"type": "rectangle",
"pos": {
"x": 912,
"y": 486
"x": 915,
"y": 434
},
"width": 30,
"height": 160,
"width": 20,
"height": 162,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -274,11 +274,11 @@
"id": "essayRubric",
"type": "",
"pos": {
"x": 1206,
"y": 50
"x": 1250,
"y": 64
},
"width": 245,
"height": 141,
"width": 186,
"height": 126,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -296,15 +296,15 @@
"methods": null,
"columns": null,
"label": "essayRubric",
"fontSize": 28,
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 145,
"labelHeight": 41,
"labelWidth": 86,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
@ -313,10 +313,10 @@
"id": "essayRubric.a",
"type": "rectangle",
"pos": {
"x": 1318,
"y": 616
"x": 1337,
"y": 532
},
"width": 20,
"width": 12,
"height": 340,
"opacity": 1,
"strokeDash": 0,
@ -351,11 +351,11 @@
"id": "essayRubric.a.b",
"type": "rectangle",
"pos": {
"x": 1313,
"y": 626
"x": 1333,
"y": 548
},
"width": 30,
"height": 320,
"width": 20,
"height": 308,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -389,11 +389,11 @@
"id": "essayRubric.a.b.c",
"type": "rectangle",
"pos": {
"x": 1308,
"y": 636
"x": 1329,
"y": 564
},
"width": 40,
"height": 160,
"width": 28,
"height": 162,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -427,11 +427,11 @@
"id": "concept",
"type": "",
"pos": {
"x": 1651,
"y": 50
"x": 1686,
"y": 64
},
"width": 200,
"height": 141,
"width": 160,
"height": 126,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -449,15 +449,15 @@
"methods": null,
"columns": null,
"label": "concept",
"fontSize": 28,
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 100,
"labelHeight": 41,
"labelWidth": 60,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
@ -466,11 +466,11 @@
"id": "concept.a",
"type": "rectangle",
"pos": {
"x": 1741,
"y": 756
"x": 1760,
"y": 646
},
"width": 20,
"height": 370,
"width": 12,
"height": 388,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -504,11 +504,11 @@
"id": "concept.a.b",
"type": "rectangle",
"pos": {
"x": 1736,
"y": 766
"x": 1756,
"y": 662
},
"width": 30,
"height": 350,
"width": 20,
"height": 356,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -542,11 +542,11 @@
"id": "concept.a.b.c",
"type": "rectangle",
"pos": {
"x": 1731,
"y": 776
"x": 1752,
"y": 678
},
"width": 40,
"height": 330,
"width": 28,
"height": 324,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -580,11 +580,11 @@
"id": "concept.a.b.c.d",
"type": "rectangle",
"pos": {
"x": 1726,
"y": 786
"x": 1748,
"y": 694
},
"width": 50,
"height": 310,
"width": 36,
"height": 292,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -618,11 +618,11 @@
"id": "itemOutcome",
"type": "",
"pos": {
"x": 2051,
"y": 50
"x": 2096,
"y": 64
},
"width": 265,
"height": 141,
"width": 197,
"height": 126,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -640,15 +640,15 @@
"methods": null,
"columns": null,
"label": "itemOutcome",
"fontSize": 28,
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 165,
"labelHeight": 41,
"labelWidth": 97,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
@ -657,11 +657,11 @@
"id": "itemOutcome.a",
"type": "rectangle",
"pos": {
"x": 2173,
"y": 1046
"x": 2188,
"y": 890
},
"width": 20,
"height": 390,
"width": 12,
"height": 420,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -695,11 +695,11 @@
"id": "itemOutcome.a.b",
"type": "rectangle",
"pos": {
"x": 2168,
"y": 1056
"x": 2184,
"y": 906
},
"width": 30,
"height": 370,
"width": 20,
"height": 388,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -733,11 +733,11 @@
"id": "itemOutcome.a.b.c",
"type": "rectangle",
"pos": {
"x": 2163,
"y": 1066
"x": 2180,
"y": 922
},
"width": 40,
"height": 350,
"width": 28,
"height": 356,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -771,11 +771,11 @@
"id": "itemOutcome.a.b.c.d",
"type": "rectangle",
"pos": {
"x": 2158,
"y": 1076
"x": 2176,
"y": 938
},
"width": 50,
"height": 330,
"width": 36,
"height": 324,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -809,11 +809,11 @@
"id": "itemOutcome.a.b.c.d.e",
"type": "rectangle",
"pos": {
"x": 2153,
"y": 1086
"x": 2172,
"y": 954
},
"width": 60,
"height": 310,
"width": 44,
"height": 292,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -847,11 +847,11 @@
"id": "itemResponse.c",
"type": "rectangle",
"pos": {
"x": 504,
"y": 1536
"x": 494,
"y": 1344
},
"width": 20,
"height": 50,
"width": 12,
"height": 80,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -909,12 +909,12 @@
"labelPercentage": 0,
"route": [
{
"x": 94.5,
"y": 341
"x": 75,
"y": 320
},
{
"x": 499,
"y": 341
"x": 494,
"y": 320
}
],
"animated": false,
@ -948,12 +948,12 @@
"labelPercentage": 0,
"route": [
{
"x": 529,
"y": 491
"x": 506,
"y": 450
},
{
"x": 907.5,
"y": 491
"x": 915,
"y": 450
}
],
"animated": false,
@ -987,12 +987,12 @@
"labelPercentage": 0,
"route": [
{
"x": 947.5,
"y": 641
"x": 935,
"y": 580
},
{
"x": 1303.5,
"y": 641
"x": 1329,
"y": 580
}
],
"animated": false,
@ -1026,12 +1026,12 @@
"labelPercentage": 0,
"route": [
{
"x": 1353.5,
"y": 791
"x": 1357,
"y": 710
},
{
"x": 1721,
"y": 791
"x": 1748,
"y": 710
}
],
"animated": false,
@ -1065,12 +1065,12 @@
"labelPercentage": 0,
"route": [
{
"x": 942.5,
"y": 941
"x": 931,
"y": 840
},
{
"x": 1308.5,
"y": 941
"x": 1333,
"y": 840
}
],
"animated": false,
@ -1104,12 +1104,12 @@
"labelPercentage": 0,
"route": [
{
"x": 1781,
"y": 1091
"x": 1784,
"y": 970
},
{
"x": 2148.5,
"y": 1091
"x": 2172.5,
"y": 970
}
],
"animated": false,
@ -1143,12 +1143,12 @@
"labelPercentage": 0,
"route": [
{
"x": 104.5,
"y": 1241
"x": 81,
"y": 1100
},
{
"x": 912.5,
"y": 1241
"x": 919,
"y": 1100
}
],
"animated": false,
@ -1182,12 +1182,12 @@
"labelPercentage": 0,
"route": [
{
"x": 2148.5,
"y": 1391
"x": 2172.5,
"y": 1230
},
{
"x": 94.5,
"y": 1391
"x": 75,
"y": 1230
}
],
"animated": false,
@ -1221,12 +1221,12 @@
"labelPercentage": 0,
"route": [
{
"x": 94.5,
"y": 1541
"x": 75,
"y": 1360
},
{
"x": 499,
"y": 1541
"x": 494,
"y": 1360
}
],
"animated": false,
@ -1243,9 +1243,9 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeWidth": 5,
"stroke": "red",
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
@ -1260,12 +1260,12 @@
"labelPercentage": 0,
"route": [
{
"x": 89.5,
"y": 191
"x": 75,
"y": 190
},
{
"x": 89.5,
"y": 1691
"x": 75,
"y": 1490
}
],
"animated": false,
@ -1282,7 +1282,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -1299,12 +1299,12 @@
"labelPercentage": 0,
"route": [
{
"x": 514,
"y": 191
"x": 500,
"y": 190
},
{
"x": 514,
"y": 1691
"x": 500,
"y": 1490
}
],
"animated": false,
@ -1321,7 +1321,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -1338,12 +1338,12 @@
"labelPercentage": 0,
"route": [
{
"x": 927.5,
"y": 191
"x": 925,
"y": 190
},
{
"x": 927.5,
"y": 1691
"x": 925,
"y": 1490
}
],
"animated": false,
@ -1360,7 +1360,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -1377,12 +1377,12 @@
"labelPercentage": 0,
"route": [
{
"x": 1328.5,
"y": 191
"x": 1343,
"y": 190
},
{
"x": 1328.5,
"y": 1691
"x": 1343,
"y": 1490
}
],
"animated": false,
@ -1399,7 +1399,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -1416,12 +1416,12 @@
"labelPercentage": 0,
"route": [
{
"x": 1751,
"y": 191
"x": 1766,
"y": 190
},
{
"x": 1751,
"y": 1691
"x": 1766,
"y": 1490
}
],
"animated": false,
@ -1438,7 +1438,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -1455,12 +1455,12 @@
"labelPercentage": 0,
"route": [
{
"x": 2183.5,
"y": 191
"x": 2194.5,
"y": 190
},
{
"x": 2183.5,
"y": 1691
"x": 2194.5,
"y": 1490
}
],
"animated": false,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 332 KiB

After

Width:  |  Height:  |  Size: 332 KiB

View file

@ -6,10 +6,10 @@
"type": "",
"pos": {
"x": 0,
"y": 50
"y": 62
},
"width": 179,
"height": 141,
"width": 150,
"height": 128,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 5,
@ -27,15 +27,15 @@
"methods": null,
"columns": null,
"label": "scorer",
"fontSize": 28,
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 79,
"labelHeight": 41,
"labelWidth": 48,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
@ -44,11 +44,11 @@
"id": "scorer.abc",
"type": "rectangle",
"pos": {
"x": 79,
"y": 1236
"x": 69,
"y": 1084
},
"width": 20,
"height": 50,
"width": 12,
"height": 80,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 7,
@ -82,11 +82,11 @@
"id": "itemResponse",
"type": "",
"pos": {
"x": 379,
"y": 50
"x": 400,
"y": 64
},
"width": 270,
"height": 141,
"width": 200,
"height": 126,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -104,15 +104,15 @@
"methods": null,
"columns": null,
"label": "itemResponse",
"fontSize": 28,
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 170,
"labelHeight": 41,
"labelWidth": 100,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
@ -121,11 +121,11 @@
"id": "itemResponse.a",
"type": "rectangle",
"pos": {
"x": 504,
"y": 336
"x": 494,
"y": 304
},
"width": 20,
"height": 160,
"width": 12,
"height": 162,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -159,11 +159,11 @@
"id": "item",
"type": "",
"pos": {
"x": 849,
"x": 850,
"y": 50
},
"width": 157,
"height": 141,
"width": 150,
"height": 140,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -181,15 +181,15 @@
"methods": null,
"columns": null,
"label": "item",
"fontSize": 28,
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 57,
"labelHeight": 41,
"labelWidth": 35,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
@ -198,11 +198,11 @@
"id": "item.a",
"type": "rectangle",
"pos": {
"x": 917,
"y": 476
"x": 919,
"y": 418
},
"width": 20,
"height": 770,
"width": 12,
"height": 698,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -236,11 +236,11 @@
"id": "item.a.b",
"type": "rectangle",
"pos": {
"x": 912,
"y": 486
"x": 915,
"y": 434
},
"width": 30,
"height": 160,
"width": 20,
"height": 162,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -274,11 +274,11 @@
"id": "essayRubric",
"type": "",
"pos": {
"x": 1206,
"y": 50
"x": 1250,
"y": 64
},
"width": 245,
"height": 141,
"width": 186,
"height": 126,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -296,15 +296,15 @@
"methods": null,
"columns": null,
"label": "essayRubric",
"fontSize": 28,
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 145,
"labelHeight": 41,
"labelWidth": 86,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
@ -313,10 +313,10 @@
"id": "essayRubric.a",
"type": "rectangle",
"pos": {
"x": 1318,
"y": 616
"x": 1337,
"y": 532
},
"width": 20,
"width": 12,
"height": 340,
"opacity": 1,
"strokeDash": 0,
@ -351,11 +351,11 @@
"id": "essayRubric.a.b",
"type": "rectangle",
"pos": {
"x": 1313,
"y": 626
"x": 1333,
"y": 548
},
"width": 30,
"height": 320,
"width": 20,
"height": 308,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -389,11 +389,11 @@
"id": "essayRubric.a.b.c",
"type": "rectangle",
"pos": {
"x": 1308,
"y": 636
"x": 1329,
"y": 564
},
"width": 40,
"height": 160,
"width": 28,
"height": 162,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -427,11 +427,11 @@
"id": "concept",
"type": "",
"pos": {
"x": 1651,
"y": 50
"x": 1686,
"y": 64
},
"width": 200,
"height": 141,
"width": 160,
"height": 126,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -449,15 +449,15 @@
"methods": null,
"columns": null,
"label": "concept",
"fontSize": 28,
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 100,
"labelHeight": 41,
"labelWidth": 60,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
@ -466,11 +466,11 @@
"id": "concept.a",
"type": "rectangle",
"pos": {
"x": 1741,
"y": 756
"x": 1760,
"y": 646
},
"width": 20,
"height": 370,
"width": 12,
"height": 388,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -504,11 +504,11 @@
"id": "concept.a.b",
"type": "rectangle",
"pos": {
"x": 1736,
"y": 766
"x": 1756,
"y": 662
},
"width": 30,
"height": 350,
"width": 20,
"height": 356,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -542,11 +542,11 @@
"id": "concept.a.b.c",
"type": "rectangle",
"pos": {
"x": 1731,
"y": 776
"x": 1752,
"y": 678
},
"width": 40,
"height": 330,
"width": 28,
"height": 324,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -580,11 +580,11 @@
"id": "concept.a.b.c.d",
"type": "rectangle",
"pos": {
"x": 1726,
"y": 786
"x": 1748,
"y": 694
},
"width": 50,
"height": 310,
"width": 36,
"height": 292,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -618,11 +618,11 @@
"id": "itemOutcome",
"type": "",
"pos": {
"x": 2051,
"y": 50
"x": 2096,
"y": 64
},
"width": 265,
"height": 141,
"width": 197,
"height": 126,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -640,15 +640,15 @@
"methods": null,
"columns": null,
"label": "itemOutcome",
"fontSize": 28,
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 165,
"labelHeight": 41,
"labelWidth": 97,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
@ -657,11 +657,11 @@
"id": "itemOutcome.a",
"type": "rectangle",
"pos": {
"x": 2173,
"y": 1046
"x": 2188,
"y": 890
},
"width": 20,
"height": 390,
"width": 12,
"height": 420,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -695,11 +695,11 @@
"id": "itemOutcome.a.b",
"type": "rectangle",
"pos": {
"x": 2168,
"y": 1056
"x": 2184,
"y": 906
},
"width": 30,
"height": 370,
"width": 20,
"height": 388,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -733,11 +733,11 @@
"id": "itemOutcome.a.b.c",
"type": "rectangle",
"pos": {
"x": 2163,
"y": 1066
"x": 2180,
"y": 922
},
"width": 40,
"height": 350,
"width": 28,
"height": 356,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -771,11 +771,11 @@
"id": "itemOutcome.a.b.c.d",
"type": "rectangle",
"pos": {
"x": 2158,
"y": 1076
"x": 2176,
"y": 938
},
"width": 50,
"height": 330,
"width": 36,
"height": 324,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -809,11 +809,11 @@
"id": "itemOutcome.a.b.c.d.e",
"type": "rectangle",
"pos": {
"x": 2153,
"y": 1086
"x": 2172,
"y": 954
},
"width": 60,
"height": 310,
"width": 44,
"height": 292,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -847,11 +847,11 @@
"id": "itemResponse.c",
"type": "rectangle",
"pos": {
"x": 504,
"y": 1536
"x": 494,
"y": 1344
},
"width": 20,
"height": 50,
"width": 12,
"height": 80,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -909,12 +909,12 @@
"labelPercentage": 0,
"route": [
{
"x": 94.5,
"y": 341
"x": 75,
"y": 320
},
{
"x": 499,
"y": 341
"x": 494,
"y": 320
}
],
"animated": false,
@ -948,12 +948,12 @@
"labelPercentage": 0,
"route": [
{
"x": 529,
"y": 491
"x": 506,
"y": 450
},
{
"x": 907.5,
"y": 491
"x": 915,
"y": 450
}
],
"animated": false,
@ -987,12 +987,12 @@
"labelPercentage": 0,
"route": [
{
"x": 947.5,
"y": 641
"x": 935,
"y": 580
},
{
"x": 1303.5,
"y": 641
"x": 1329,
"y": 580
}
],
"animated": false,
@ -1026,12 +1026,12 @@
"labelPercentage": 0,
"route": [
{
"x": 1353.5,
"y": 791
"x": 1357,
"y": 710
},
{
"x": 1721,
"y": 791
"x": 1748,
"y": 710
}
],
"animated": false,
@ -1065,12 +1065,12 @@
"labelPercentage": 0,
"route": [
{
"x": 942.5,
"y": 941
"x": 931,
"y": 840
},
{
"x": 1308.5,
"y": 941
"x": 1333,
"y": 840
}
],
"animated": false,
@ -1104,12 +1104,12 @@
"labelPercentage": 0,
"route": [
{
"x": 1781,
"y": 1091
"x": 1784,
"y": 970
},
{
"x": 2148.5,
"y": 1091
"x": 2172.5,
"y": 970
}
],
"animated": false,
@ -1143,12 +1143,12 @@
"labelPercentage": 0,
"route": [
{
"x": 104.5,
"y": 1241
"x": 81,
"y": 1100
},
{
"x": 912.5,
"y": 1241
"x": 919,
"y": 1100
}
],
"animated": false,
@ -1182,12 +1182,12 @@
"labelPercentage": 0,
"route": [
{
"x": 2148.5,
"y": 1391
"x": 2172.5,
"y": 1230
},
{
"x": 94.5,
"y": 1391
"x": 75,
"y": 1230
}
],
"animated": false,
@ -1221,12 +1221,12 @@
"labelPercentage": 0,
"route": [
{
"x": 94.5,
"y": 1541
"x": 75,
"y": 1360
},
{
"x": 499,
"y": 1541
"x": 494,
"y": 1360
}
],
"animated": false,
@ -1243,9 +1243,9 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeWidth": 5,
"stroke": "red",
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
@ -1260,12 +1260,12 @@
"labelPercentage": 0,
"route": [
{
"x": 89.5,
"y": 191
"x": 75,
"y": 190
},
{
"x": 89.5,
"y": 1691
"x": 75,
"y": 1490
}
],
"animated": false,
@ -1282,7 +1282,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -1299,12 +1299,12 @@
"labelPercentage": 0,
"route": [
{
"x": 514,
"y": 191
"x": 500,
"y": 190
},
{
"x": 514,
"y": 1691
"x": 500,
"y": 1490
}
],
"animated": false,
@ -1321,7 +1321,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -1338,12 +1338,12 @@
"labelPercentage": 0,
"route": [
{
"x": 927.5,
"y": 191
"x": 925,
"y": 190
},
{
"x": 927.5,
"y": 1691
"x": 925,
"y": 1490
}
],
"animated": false,
@ -1360,7 +1360,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -1377,12 +1377,12 @@
"labelPercentage": 0,
"route": [
{
"x": 1328.5,
"y": 191
"x": 1343,
"y": 190
},
{
"x": 1328.5,
"y": 1691
"x": 1343,
"y": 1490
}
],
"animated": false,
@ -1399,7 +1399,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -1416,12 +1416,12 @@
"labelPercentage": 0,
"route": [
{
"x": 1751,
"y": 191
"x": 1766,
"y": 190
},
{
"x": 1751,
"y": 1691
"x": 1766,
"y": 1490
}
],
"animated": false,
@ -1438,7 +1438,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -1455,12 +1455,12 @@
"labelPercentage": 0,
"route": [
{
"x": 2183.5,
"y": 191
"x": 2194.5,
"y": 190
},
{
"x": 2183.5,
"y": 1691
"x": 2194.5,
"y": 1490
}
],
"animated": false,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 332 KiB

After

Width:  |  Height:  |  Size: 332 KiB

View file

@ -6,7 +6,7 @@
"type": "person",
"pos": {
"x": 0,
"y": 130
"y": 77
},
"width": 163,
"height": 158,
@ -36,7 +36,7 @@
"underline": false,
"labelWidth": 63,
"labelHeight": 58,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"labelPosition": "OUTSIDE_BOTTOM_CENTER",
"zIndex": 0,
"level": 1
},
@ -45,10 +45,10 @@
"type": "person",
"pos": {
"x": 480,
"y": 162
"y": 124
},
"width": 132,
"height": 126,
"width": 150,
"height": 143,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 5,
@ -75,7 +75,7 @@
"underline": false,
"labelWidth": 32,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"labelPosition": "OUTSIDE_BOTTOM_CENTER",
"zIndex": 0,
"level": 1
},
@ -83,11 +83,11 @@
"id": "db",
"type": "cylinder",
"pos": {
"x": 929,
"y": 162
"x": 947,
"y": 136
},
"width": 124,
"height": 126,
"width": 150,
"height": 152,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -122,11 +122,11 @@
"id": "queue",
"type": "queue",
"pos": {
"x": 1370,
"y": 162
"x": 1414,
"y": 161
},
"width": 149,
"height": 126,
"width": 150,
"height": 127,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -161,7 +161,7 @@
"id": "service",
"type": "",
"pos": {
"x": 1836,
"x": 1881,
"y": 50
},
"width": 202,
@ -224,12 +224,12 @@
"labelPercentage": 0,
"route": [
{
"x": 86.5,
"y": 438
"x": 81.5,
"y": 418
},
{
"x": 541,
"y": 438
"x": 555,
"y": 418
}
],
"animated": false,
@ -263,12 +263,12 @@
"labelPercentage": 0,
"route": [
{
"x": 551,
"y": 588
"x": 555,
"y": 548
},
{
"x": 1932,
"y": 588
"x": 1982,
"y": 548
}
],
"animated": false,
@ -302,12 +302,12 @@
"labelPercentage": 0,
"route": [
{
"x": 1932,
"y": 738
"x": 1982,
"y": 678
},
{
"x": 996,
"y": 738
"x": 1022,
"y": 678
}
],
"animated": false,
@ -341,12 +341,12 @@
"labelPercentage": 0,
"route": [
{
"x": 996,
"y": 888
"x": 1022,
"y": 808
},
{
"x": 1932,
"y": 888
"x": 1982,
"y": 808
}
],
"animated": false,
@ -380,12 +380,12 @@
"labelPercentage": 0,
"route": [
{
"x": 1932,
"y": 1038
"x": 1982,
"y": 938
},
{
"x": 551,
"y": 1038
"x": 555,
"y": 938
}
],
"animated": false,
@ -419,12 +419,12 @@
"labelPercentage": 0,
"route": [
{
"x": 541,
"y": 1188
"x": 555,
"y": 1068
},
{
"x": 86.5,
"y": 1188
"x": 81.5,
"y": 1068
}
],
"animated": false,
@ -458,12 +458,12 @@
"labelPercentage": 0,
"route": [
{
"x": 86.5,
"y": 1338
"x": 81.5,
"y": 1198
},
{
"x": 541,
"y": 1338
"x": 555,
"y": 1198
}
],
"animated": false,
@ -497,12 +497,12 @@
"labelPercentage": 0,
"route": [
{
"x": 551,
"y": 1488
"x": 555,
"y": 1328
},
{
"x": 1439.5,
"y": 1488
"x": 1489,
"y": 1328
}
],
"animated": false,
@ -536,12 +536,12 @@
"labelPercentage": 0,
"route": [
{
"x": 1439.5,
"y": 1638
"x": 1489,
"y": 1458
},
{
"x": 551,
"y": 1638
"x": 555,
"y": 1458
}
],
"animated": false,
@ -575,12 +575,12 @@
"labelPercentage": 0,
"route": [
{
"x": 541,
"y": 1788
"x": 555,
"y": 1588
},
{
"x": 86.5,
"y": 1788
"x": 81.5,
"y": 1588
}
],
"animated": false,
@ -597,9 +597,9 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "red",
"stroke": "#0D32B2",
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
@ -615,11 +615,11 @@
"route": [
{
"x": 81.5,
"y": 288
"y": 293
},
{
"x": 81.5,
"y": 1938
"y": 1718
}
],
"animated": false,
@ -636,8 +636,8 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeWidth": 5,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
"fontSize": 16,
@ -653,12 +653,12 @@
"labelPercentage": 0,
"route": [
{
"x": 546,
"y": 288
"x": 555,
"y": 293
},
{
"x": 546,
"y": 1938
"x": 555,
"y": 1718
}
],
"animated": false,
@ -675,7 +675,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -692,12 +692,12 @@
"labelPercentage": 0,
"route": [
{
"x": 991,
"x": 1022,
"y": 288
},
{
"x": 991,
"y": 1938
"x": 1022,
"y": 1718
}
],
"animated": false,
@ -714,7 +714,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -731,12 +731,12 @@
"labelPercentage": 0,
"route": [
{
"x": 1444.5,
"x": 1489,
"y": 288
},
{
"x": 1444.5,
"y": 1938
"x": 1489,
"y": 1718
}
],
"animated": false,
@ -753,7 +753,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -770,12 +770,12 @@
"labelPercentage": 0,
"route": [
{
"x": 1937,
"x": 1982,
"y": 288
},
{
"x": 1937,
"y": 1938
"x": 1982,
"y": 1718
}
],
"animated": false,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 474 KiB

After

Width:  |  Height:  |  Size: 474 KiB

View file

@ -6,7 +6,7 @@
"type": "person",
"pos": {
"x": 0,
"y": 130
"y": 77
},
"width": 163,
"height": 158,
@ -36,7 +36,7 @@
"underline": false,
"labelWidth": 63,
"labelHeight": 58,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"labelPosition": "OUTSIDE_BOTTOM_CENTER",
"zIndex": 0,
"level": 1
},
@ -45,10 +45,10 @@
"type": "person",
"pos": {
"x": 480,
"y": 162
"y": 124
},
"width": 132,
"height": 126,
"width": 150,
"height": 143,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 5,
@ -75,7 +75,7 @@
"underline": false,
"labelWidth": 32,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"labelPosition": "OUTSIDE_BOTTOM_CENTER",
"zIndex": 0,
"level": 1
},
@ -83,11 +83,11 @@
"id": "db",
"type": "cylinder",
"pos": {
"x": 929,
"y": 162
"x": 947,
"y": 136
},
"width": 124,
"height": 126,
"width": 150,
"height": 152,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -122,11 +122,11 @@
"id": "queue",
"type": "queue",
"pos": {
"x": 1370,
"y": 162
"x": 1414,
"y": 161
},
"width": 149,
"height": 126,
"width": 150,
"height": 127,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -161,7 +161,7 @@
"id": "service",
"type": "",
"pos": {
"x": 1836,
"x": 1881,
"y": 50
},
"width": 202,
@ -224,12 +224,12 @@
"labelPercentage": 0,
"route": [
{
"x": 86.5,
"y": 438
"x": 81.5,
"y": 418
},
{
"x": 541,
"y": 438
"x": 555,
"y": 418
}
],
"animated": false,
@ -263,12 +263,12 @@
"labelPercentage": 0,
"route": [
{
"x": 551,
"y": 588
"x": 555,
"y": 548
},
{
"x": 1932,
"y": 588
"x": 1982,
"y": 548
}
],
"animated": false,
@ -302,12 +302,12 @@
"labelPercentage": 0,
"route": [
{
"x": 1932,
"y": 738
"x": 1982,
"y": 678
},
{
"x": 996,
"y": 738
"x": 1022,
"y": 678
}
],
"animated": false,
@ -341,12 +341,12 @@
"labelPercentage": 0,
"route": [
{
"x": 996,
"y": 888
"x": 1022,
"y": 808
},
{
"x": 1932,
"y": 888
"x": 1982,
"y": 808
}
],
"animated": false,
@ -380,12 +380,12 @@
"labelPercentage": 0,
"route": [
{
"x": 1932,
"y": 1038
"x": 1982,
"y": 938
},
{
"x": 551,
"y": 1038
"x": 555,
"y": 938
}
],
"animated": false,
@ -419,12 +419,12 @@
"labelPercentage": 0,
"route": [
{
"x": 541,
"y": 1188
"x": 555,
"y": 1068
},
{
"x": 86.5,
"y": 1188
"x": 81.5,
"y": 1068
}
],
"animated": false,
@ -458,12 +458,12 @@
"labelPercentage": 0,
"route": [
{
"x": 86.5,
"y": 1338
"x": 81.5,
"y": 1198
},
{
"x": 541,
"y": 1338
"x": 555,
"y": 1198
}
],
"animated": false,
@ -497,12 +497,12 @@
"labelPercentage": 0,
"route": [
{
"x": 551,
"y": 1488
"x": 555,
"y": 1328
},
{
"x": 1439.5,
"y": 1488
"x": 1489,
"y": 1328
}
],
"animated": false,
@ -536,12 +536,12 @@
"labelPercentage": 0,
"route": [
{
"x": 1439.5,
"y": 1638
"x": 1489,
"y": 1458
},
{
"x": 551,
"y": 1638
"x": 555,
"y": 1458
}
],
"animated": false,
@ -575,12 +575,12 @@
"labelPercentage": 0,
"route": [
{
"x": 541,
"y": 1788
"x": 555,
"y": 1588
},
{
"x": 86.5,
"y": 1788
"x": 81.5,
"y": 1588
}
],
"animated": false,
@ -597,9 +597,9 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "red",
"stroke": "#0D32B2",
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
@ -615,11 +615,11 @@
"route": [
{
"x": 81.5,
"y": 288
"y": 293
},
{
"x": 81.5,
"y": 1938
"y": 1718
}
],
"animated": false,
@ -636,8 +636,8 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeWidth": 5,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
"fontSize": 16,
@ -653,12 +653,12 @@
"labelPercentage": 0,
"route": [
{
"x": 546,
"y": 288
"x": 555,
"y": 293
},
{
"x": 546,
"y": 1938
"x": 555,
"y": 1718
}
],
"animated": false,
@ -675,7 +675,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -692,12 +692,12 @@
"labelPercentage": 0,
"route": [
{
"x": 991,
"x": 1022,
"y": 288
},
{
"x": 991,
"y": 1938
"x": 1022,
"y": 1718
}
],
"animated": false,
@ -714,7 +714,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -731,12 +731,12 @@
"labelPercentage": 0,
"route": [
{
"x": 1444.5,
"x": 1489,
"y": 288
},
{
"x": 1444.5,
"y": 1938
"x": 1489,
"y": 1718
}
],
"animated": false,
@ -753,7 +753,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -770,12 +770,12 @@
"labelPercentage": 0,
"route": [
{
"x": 1937,
"x": 1982,
"y": 288
},
{
"x": 1937,
"y": 1938
"x": 1982,
"y": 1718
}
],
"animated": false,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 474 KiB

After

Width:  |  Height:  |  Size: 474 KiB

View file

@ -6,10 +6,10 @@
"type": "",
"pos": {
"x": 0,
"y": 50
"y": 62
},
"width": 179,
"height": 141,
"width": 150,
"height": 128,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -27,15 +27,15 @@
"methods": null,
"columns": null,
"label": "scorer",
"fontSize": 28,
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 79,
"labelHeight": 41,
"labelWidth": 48,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
@ -44,11 +44,11 @@
"id": "scorer.t",
"type": "rectangle",
"pos": {
"x": 79,
"y": 336
"x": 69,
"y": 304
},
"width": 20,
"height": 1810,
"width": 12,
"height": 1592,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -82,11 +82,11 @@
"id": "itemResponse",
"type": "",
"pos": {
"x": 379,
"y": 50
"x": 400,
"y": 64
},
"width": 270,
"height": 141,
"width": 200,
"height": 126,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -104,15 +104,15 @@
"methods": null,
"columns": null,
"label": "itemResponse",
"fontSize": 28,
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 170,
"labelHeight": 41,
"labelWidth": 100,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
@ -121,11 +121,11 @@
"id": "itemResponse.t",
"type": "rectangle",
"pos": {
"x": 504,
"y": 336
"x": 494,
"y": 304
},
"width": 20,
"height": 160,
"width": 12,
"height": 162,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -159,11 +159,11 @@
"id": "item",
"type": "",
"pos": {
"x": 849,
"x": 850,
"y": 50
},
"width": 157,
"height": 141,
"width": 150,
"height": 140,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -181,15 +181,15 @@
"methods": null,
"columns": null,
"label": "item",
"fontSize": 28,
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 57,
"labelHeight": 41,
"labelWidth": 35,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
@ -198,11 +198,11 @@
"id": "item.t1",
"type": "rectangle",
"pos": {
"x": 917,
"y": 636
"x": 919,
"y": 564
},
"width": 20,
"height": 160,
"width": 12,
"height": 162,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -236,11 +236,11 @@
"id": "essayRubric",
"type": "",
"pos": {
"x": 1206,
"y": 50
"x": 1250,
"y": 64
},
"width": 245,
"height": 141,
"width": 186,
"height": 126,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -258,15 +258,15 @@
"methods": null,
"columns": null,
"label": "essayRubric",
"fontSize": 28,
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 145,
"labelHeight": 41,
"labelWidth": 86,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
@ -275,11 +275,11 @@
"id": "essayRubric.t",
"type": "rectangle",
"pos": {
"x": 1318,
"y": 936
"x": 1337,
"y": 824
},
"width": 20,
"height": 460,
"width": 12,
"height": 422,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -313,11 +313,11 @@
"id": "essayRubric.t.c",
"type": "rectangle",
"pos": {
"x": 1313,
"y": 1086
"x": 1333,
"y": 954
},
"width": 30,
"height": 160,
"width": 20,
"height": 162,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -351,11 +351,11 @@
"id": "concept",
"type": "",
"pos": {
"x": 1651,
"y": 50
"x": 1686,
"y": 64
},
"width": 200,
"height": 141,
"width": 160,
"height": 126,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -373,15 +373,15 @@
"methods": null,
"columns": null,
"label": "concept",
"fontSize": 28,
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 100,
"labelHeight": 41,
"labelWidth": 60,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
@ -390,11 +390,11 @@
"id": "concept.t",
"type": "rectangle",
"pos": {
"x": 1741,
"y": 1236
"x": 1760,
"y": 1084
},
"width": 20,
"height": 50,
"width": 12,
"height": 80,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -428,11 +428,11 @@
"id": "itemOutcome",
"type": "",
"pos": {
"x": 2051,
"y": 50
"x": 2096,
"y": 64
},
"width": 265,
"height": 141,
"width": 197,
"height": 126,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -450,15 +450,15 @@
"methods": null,
"columns": null,
"label": "itemOutcome",
"fontSize": 28,
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 165,
"labelHeight": 41,
"labelWidth": 97,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
@ -467,11 +467,11 @@
"id": "itemOutcome.t1",
"type": "rectangle",
"pos": {
"x": 2173,
"y": 1536
"x": 2188,
"y": 1344
},
"width": 20,
"height": 50,
"width": 12,
"height": 80,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -505,11 +505,11 @@
"id": "item.t2",
"type": "rectangle",
"pos": {
"x": 917,
"y": 1686
"x": 919,
"y": 1474
},
"width": 20,
"height": 50,
"width": 12,
"height": 80,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -543,11 +543,11 @@
"id": "item.t3",
"type": "rectangle",
"pos": {
"x": 917,
"y": 1836
"x": 919,
"y": 1604
},
"width": 20,
"height": 50,
"width": 12,
"height": 80,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -581,11 +581,11 @@
"id": "itemOutcome.t2",
"type": "rectangle",
"pos": {
"x": 2173,
"y": 1986
"x": 2188,
"y": 1734
},
"width": 20,
"height": 50,
"width": 12,
"height": 80,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -619,11 +619,11 @@
"id": "itemOutcome.t3",
"type": "rectangle",
"pos": {
"x": 2173,
"y": 2136
"x": 2188,
"y": 1864
},
"width": 20,
"height": 50,
"width": 12,
"height": 80,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -681,12 +681,12 @@
"labelPercentage": 0,
"route": [
{
"x": 104.5,
"y": 341
"x": 81,
"y": 320
},
{
"x": 499,
"y": 341
"x": 494,
"y": 320
}
],
"animated": false,
@ -720,12 +720,12 @@
"labelPercentage": 0,
"route": [
{
"x": 104.5,
"y": 491
"x": 81,
"y": 450
},
{
"x": 499,
"y": 491
"x": 494,
"y": 450
}
],
"animated": false,
@ -759,12 +759,12 @@
"labelPercentage": 0,
"route": [
{
"x": 104.5,
"y": 641
"x": 81,
"y": 580
},
{
"x": 912.5,
"y": 641
"x": 919,
"y": 580
}
],
"animated": false,
@ -798,12 +798,12 @@
"labelPercentage": 0,
"route": [
{
"x": 104.5,
"y": 791
"x": 81,
"y": 710
},
{
"x": 912.5,
"y": 791
"x": 919,
"y": 710
}
],
"animated": false,
@ -837,12 +837,12 @@
"labelPercentage": 0,
"route": [
{
"x": 104.5,
"y": 941
"x": 81,
"y": 840
},
{
"x": 1313.5,
"y": 941
"x": 1337,
"y": 840
}
],
"animated": false,
@ -876,12 +876,12 @@
"labelPercentage": 0,
"route": [
{
"x": 519,
"y": 1091
"x": 500,
"y": 970
},
{
"x": 1308.5,
"y": 1091
"x": 1333,
"y": 970
}
],
"animated": false,
@ -915,12 +915,12 @@
"labelPercentage": 0,
"route": [
{
"x": 1348.5,
"y": 1241
"x": 1353,
"y": 1100
},
{
"x": 1736,
"y": 1241
"x": 1760,
"y": 1100
}
],
"animated": false,
@ -954,12 +954,12 @@
"labelPercentage": 0,
"route": [
{
"x": 94.5,
"y": 1391
"x": 75,
"y": 1230
},
{
"x": 1313.5,
"y": 1391
"x": 1337,
"y": 1230
}
],
"animated": false,
@ -993,12 +993,12 @@
"labelPercentage": 0,
"route": [
{
"x": 104.5,
"y": 1541
"x": 81,
"y": 1360
},
{
"x": 2168.5,
"y": 1541
"x": 2188.5,
"y": 1360
}
],
"animated": false,
@ -1032,12 +1032,12 @@
"labelPercentage": 0,
"route": [
{
"x": 104.5,
"y": 1691
"x": 81,
"y": 1490
},
{
"x": 912.5,
"y": 1691
"x": 919,
"y": 1490
}
],
"animated": false,
@ -1071,12 +1071,12 @@
"labelPercentage": 0,
"route": [
{
"x": 104.5,
"y": 1841
"x": 81,
"y": 1620
},
{
"x": 912.5,
"y": 1841
"x": 919,
"y": 1620
}
],
"animated": false,
@ -1110,12 +1110,12 @@
"labelPercentage": 0,
"route": [
{
"x": 104.5,
"y": 1991
"x": 81,
"y": 1750
},
{
"x": 2168.5,
"y": 1991
"x": 2188.5,
"y": 1750
}
],
"animated": false,
@ -1149,12 +1149,12 @@
"labelPercentage": 0,
"route": [
{
"x": 104.5,
"y": 2141
"x": 81,
"y": 1880
},
{
"x": 2168.5,
"y": 2141
"x": 2188.5,
"y": 1880
}
],
"animated": false,
@ -1171,7 +1171,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -1188,12 +1188,12 @@
"labelPercentage": 0,
"route": [
{
"x": 89.5,
"y": 191
"x": 75,
"y": 190
},
{
"x": 89.5,
"y": 2291
"x": 75,
"y": 2010
}
],
"animated": false,
@ -1210,7 +1210,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -1227,12 +1227,12 @@
"labelPercentage": 0,
"route": [
{
"x": 514,
"y": 191
"x": 500,
"y": 190
},
{
"x": 514,
"y": 2291
"x": 500,
"y": 2010
}
],
"animated": false,
@ -1249,7 +1249,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -1266,12 +1266,12 @@
"labelPercentage": 0,
"route": [
{
"x": 927.5,
"y": 191
"x": 925,
"y": 190
},
{
"x": 927.5,
"y": 2291
"x": 925,
"y": 2010
}
],
"animated": false,
@ -1288,7 +1288,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -1305,12 +1305,12 @@
"labelPercentage": 0,
"route": [
{
"x": 1328.5,
"y": 191
"x": 1343,
"y": 190
},
{
"x": 1328.5,
"y": 2291
"x": 1343,
"y": 2010
}
],
"animated": false,
@ -1327,7 +1327,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -1344,12 +1344,12 @@
"labelPercentage": 0,
"route": [
{
"x": 1751,
"y": 191
"x": 1766,
"y": 190
},
{
"x": 1751,
"y": 2291
"x": 1766,
"y": 2010
}
],
"animated": false,
@ -1366,7 +1366,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -1383,12 +1383,12 @@
"labelPercentage": 0,
"route": [
{
"x": 2183.5,
"y": 191
"x": 2194.5,
"y": 190
},
{
"x": 2183.5,
"y": 2291
"x": 2194.5,
"y": 2010
}
],
"animated": false,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 476 KiB

After

Width:  |  Height:  |  Size: 476 KiB

View file

@ -6,10 +6,10 @@
"type": "",
"pos": {
"x": 0,
"y": 50
"y": 62
},
"width": 179,
"height": 141,
"width": 150,
"height": 128,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -27,15 +27,15 @@
"methods": null,
"columns": null,
"label": "scorer",
"fontSize": 28,
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 79,
"labelHeight": 41,
"labelWidth": 48,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
@ -44,11 +44,11 @@
"id": "scorer.t",
"type": "rectangle",
"pos": {
"x": 79,
"y": 336
"x": 69,
"y": 304
},
"width": 20,
"height": 1810,
"width": 12,
"height": 1592,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -82,11 +82,11 @@
"id": "itemResponse",
"type": "",
"pos": {
"x": 379,
"y": 50
"x": 400,
"y": 64
},
"width": 270,
"height": 141,
"width": 200,
"height": 126,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -104,15 +104,15 @@
"methods": null,
"columns": null,
"label": "itemResponse",
"fontSize": 28,
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 170,
"labelHeight": 41,
"labelWidth": 100,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
@ -121,11 +121,11 @@
"id": "itemResponse.t",
"type": "rectangle",
"pos": {
"x": 504,
"y": 336
"x": 494,
"y": 304
},
"width": 20,
"height": 160,
"width": 12,
"height": 162,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -159,11 +159,11 @@
"id": "item",
"type": "",
"pos": {
"x": 849,
"x": 850,
"y": 50
},
"width": 157,
"height": 141,
"width": 150,
"height": 140,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -181,15 +181,15 @@
"methods": null,
"columns": null,
"label": "item",
"fontSize": 28,
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 57,
"labelHeight": 41,
"labelWidth": 35,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
@ -198,11 +198,11 @@
"id": "item.t1",
"type": "rectangle",
"pos": {
"x": 917,
"y": 636
"x": 919,
"y": 564
},
"width": 20,
"height": 160,
"width": 12,
"height": 162,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -236,11 +236,11 @@
"id": "essayRubric",
"type": "",
"pos": {
"x": 1206,
"y": 50
"x": 1250,
"y": 64
},
"width": 245,
"height": 141,
"width": 186,
"height": 126,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -258,15 +258,15 @@
"methods": null,
"columns": null,
"label": "essayRubric",
"fontSize": 28,
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 145,
"labelHeight": 41,
"labelWidth": 86,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
@ -275,11 +275,11 @@
"id": "essayRubric.t",
"type": "rectangle",
"pos": {
"x": 1318,
"y": 936
"x": 1337,
"y": 824
},
"width": 20,
"height": 460,
"width": 12,
"height": 422,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -313,11 +313,11 @@
"id": "essayRubric.t.c",
"type": "rectangle",
"pos": {
"x": 1313,
"y": 1086
"x": 1333,
"y": 954
},
"width": 30,
"height": 160,
"width": 20,
"height": 162,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -351,11 +351,11 @@
"id": "concept",
"type": "",
"pos": {
"x": 1651,
"y": 50
"x": 1686,
"y": 64
},
"width": 200,
"height": 141,
"width": 160,
"height": 126,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -373,15 +373,15 @@
"methods": null,
"columns": null,
"label": "concept",
"fontSize": 28,
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 100,
"labelHeight": 41,
"labelWidth": 60,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
@ -390,11 +390,11 @@
"id": "concept.t",
"type": "rectangle",
"pos": {
"x": 1741,
"y": 1236
"x": 1760,
"y": 1084
},
"width": 20,
"height": 50,
"width": 12,
"height": 80,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -428,11 +428,11 @@
"id": "itemOutcome",
"type": "",
"pos": {
"x": 2051,
"y": 50
"x": 2096,
"y": 64
},
"width": 265,
"height": 141,
"width": 197,
"height": 126,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -450,15 +450,15 @@
"methods": null,
"columns": null,
"label": "itemOutcome",
"fontSize": 28,
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 165,
"labelHeight": 41,
"labelWidth": 97,
"labelHeight": 26,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
@ -467,11 +467,11 @@
"id": "itemOutcome.t1",
"type": "rectangle",
"pos": {
"x": 2173,
"y": 1536
"x": 2188,
"y": 1344
},
"width": 20,
"height": 50,
"width": 12,
"height": 80,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -505,11 +505,11 @@
"id": "item.t2",
"type": "rectangle",
"pos": {
"x": 917,
"y": 1686
"x": 919,
"y": 1474
},
"width": 20,
"height": 50,
"width": 12,
"height": 80,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -543,11 +543,11 @@
"id": "item.t3",
"type": "rectangle",
"pos": {
"x": 917,
"y": 1836
"x": 919,
"y": 1604
},
"width": 20,
"height": 50,
"width": 12,
"height": 80,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -581,11 +581,11 @@
"id": "itemOutcome.t2",
"type": "rectangle",
"pos": {
"x": 2173,
"y": 1986
"x": 2188,
"y": 1734
},
"width": 20,
"height": 50,
"width": 12,
"height": 80,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -619,11 +619,11 @@
"id": "itemOutcome.t3",
"type": "rectangle",
"pos": {
"x": 2173,
"y": 2136
"x": 2188,
"y": 1864
},
"width": 20,
"height": 50,
"width": 12,
"height": 80,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -681,12 +681,12 @@
"labelPercentage": 0,
"route": [
{
"x": 104.5,
"y": 341
"x": 81,
"y": 320
},
{
"x": 499,
"y": 341
"x": 494,
"y": 320
}
],
"animated": false,
@ -720,12 +720,12 @@
"labelPercentage": 0,
"route": [
{
"x": 104.5,
"y": 491
"x": 81,
"y": 450
},
{
"x": 499,
"y": 491
"x": 494,
"y": 450
}
],
"animated": false,
@ -759,12 +759,12 @@
"labelPercentage": 0,
"route": [
{
"x": 104.5,
"y": 641
"x": 81,
"y": 580
},
{
"x": 912.5,
"y": 641
"x": 919,
"y": 580
}
],
"animated": false,
@ -798,12 +798,12 @@
"labelPercentage": 0,
"route": [
{
"x": 104.5,
"y": 791
"x": 81,
"y": 710
},
{
"x": 912.5,
"y": 791
"x": 919,
"y": 710
}
],
"animated": false,
@ -837,12 +837,12 @@
"labelPercentage": 0,
"route": [
{
"x": 104.5,
"y": 941
"x": 81,
"y": 840
},
{
"x": 1313.5,
"y": 941
"x": 1337,
"y": 840
}
],
"animated": false,
@ -876,12 +876,12 @@
"labelPercentage": 0,
"route": [
{
"x": 519,
"y": 1091
"x": 500,
"y": 970
},
{
"x": 1308.5,
"y": 1091
"x": 1333,
"y": 970
}
],
"animated": false,
@ -915,12 +915,12 @@
"labelPercentage": 0,
"route": [
{
"x": 1348.5,
"y": 1241
"x": 1353,
"y": 1100
},
{
"x": 1736,
"y": 1241
"x": 1760,
"y": 1100
}
],
"animated": false,
@ -954,12 +954,12 @@
"labelPercentage": 0,
"route": [
{
"x": 94.5,
"y": 1391
"x": 75,
"y": 1230
},
{
"x": 1313.5,
"y": 1391
"x": 1337,
"y": 1230
}
],
"animated": false,
@ -993,12 +993,12 @@
"labelPercentage": 0,
"route": [
{
"x": 104.5,
"y": 1541
"x": 81,
"y": 1360
},
{
"x": 2168.5,
"y": 1541
"x": 2188.5,
"y": 1360
}
],
"animated": false,
@ -1032,12 +1032,12 @@
"labelPercentage": 0,
"route": [
{
"x": 104.5,
"y": 1691
"x": 81,
"y": 1490
},
{
"x": 912.5,
"y": 1691
"x": 919,
"y": 1490
}
],
"animated": false,
@ -1071,12 +1071,12 @@
"labelPercentage": 0,
"route": [
{
"x": 104.5,
"y": 1841
"x": 81,
"y": 1620
},
{
"x": 912.5,
"y": 1841
"x": 919,
"y": 1620
}
],
"animated": false,
@ -1110,12 +1110,12 @@
"labelPercentage": 0,
"route": [
{
"x": 104.5,
"y": 1991
"x": 81,
"y": 1750
},
{
"x": 2168.5,
"y": 1991
"x": 2188.5,
"y": 1750
}
],
"animated": false,
@ -1149,12 +1149,12 @@
"labelPercentage": 0,
"route": [
{
"x": 104.5,
"y": 2141
"x": 81,
"y": 1880
},
{
"x": 2168.5,
"y": 2141
"x": 2188.5,
"y": 1880
}
],
"animated": false,
@ -1171,7 +1171,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -1188,12 +1188,12 @@
"labelPercentage": 0,
"route": [
{
"x": 89.5,
"y": 191
"x": 75,
"y": 190
},
{
"x": 89.5,
"y": 2291
"x": 75,
"y": 2010
}
],
"animated": false,
@ -1210,7 +1210,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -1227,12 +1227,12 @@
"labelPercentage": 0,
"route": [
{
"x": 514,
"y": 191
"x": 500,
"y": 190
},
{
"x": 514,
"y": 2291
"x": 500,
"y": 2010
}
],
"animated": false,
@ -1249,7 +1249,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -1266,12 +1266,12 @@
"labelPercentage": 0,
"route": [
{
"x": 927.5,
"y": 191
"x": 925,
"y": 190
},
{
"x": 927.5,
"y": 2291
"x": 925,
"y": 2010
}
],
"animated": false,
@ -1288,7 +1288,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -1305,12 +1305,12 @@
"labelPercentage": 0,
"route": [
{
"x": 1328.5,
"y": 191
"x": 1343,
"y": 190
},
{
"x": 1328.5,
"y": 2291
"x": 1343,
"y": 2010
}
],
"animated": false,
@ -1327,7 +1327,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -1344,12 +1344,12 @@
"labelPercentage": 0,
"route": [
{
"x": 1751,
"y": 191
"x": 1766,
"y": 190
},
{
"x": 1751,
"y": 2291
"x": 1766,
"y": 2010
}
],
"animated": false,
@ -1366,7 +1366,7 @@
"dstArrow": "none",
"dstLabel": "",
"opacity": 1,
"strokeDash": 10,
"strokeDash": 8,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
@ -1383,12 +1383,12 @@
"labelPercentage": 0,
"route": [
{
"x": 2183.5,
"y": 191
"x": 2194.5,
"y": 190
},
{
"x": 2183.5,
"y": 2291
"x": 2194.5,
"y": 2010
}
],
"animated": false,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 476 KiB

After

Width:  |  Height:  |  Size: 476 KiB

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 498 KiB

After

Width:  |  Height:  |  Size: 498 KiB

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 498 KiB

After

Width:  |  Height:  |  Size: 498 KiB