Merge branch 'master' into page-render
|
|
@ -1553,13 +1553,45 @@ dst.id <-> src.dst_id
|
|||
|
||||
text: `x: {
|
||||
shape: sequence_diagram
|
||||
a
|
||||
a
|
||||
}
|
||||
b -> x.a
|
||||
`,
|
||||
expErr: `d2/testdata/d2compiler/TestCompile/leaky_sequence.d2:5:1: connections within sequence diagrams can connect only to other objects within the same sequence diagram
|
||||
`,
|
||||
},
|
||||
{
|
||||
name: "sequence_scoping",
|
||||
|
||||
text: `x: {
|
||||
shape: sequence_diagram
|
||||
a;b
|
||||
group: {
|
||||
a -> b
|
||||
a.t1 -> b.t1
|
||||
b.t1.t2 -> b.t1
|
||||
}
|
||||
}
|
||||
`,
|
||||
assertions: func(t *testing.T, g *d2graph.Graph) {
|
||||
tassert.Equal(t, 7, len(g.Objects))
|
||||
tassert.Equal(t, 3, len(g.Objects[0].ChildrenArray))
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "sequence_grouped_note",
|
||||
|
||||
text: `shape: sequence_diagram
|
||||
a;d
|
||||
choo: {
|
||||
d."this note"
|
||||
}
|
||||
`,
|
||||
assertions: func(t *testing.T, g *d2graph.Graph) {
|
||||
tassert.Equal(t, 4, len(g.Objects))
|
||||
tassert.Equal(t, 3, len(g.Root.ChildrenArray))
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "root_direction",
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,8 @@ import (
|
|||
"oss.terrastruct.com/d2/lib/textmeasure"
|
||||
)
|
||||
|
||||
const INNER_LABEL_PADDING int = 5
|
||||
|
||||
// TODO: Refactor with a light abstract layer on top of AST implementing scenarios,
|
||||
// variables, imports, substitutions and then a final set of structures representing
|
||||
// a final graph.
|
||||
|
|
@ -525,6 +527,22 @@ func (obj *Object) HasEdge(mk *d2ast.Key) (*Edge, bool) {
|
|||
}
|
||||
|
||||
func ResolveUnderscoreKey(ida []string, obj *Object) (resolvedObj *Object, resolvedIDA []string, _ error) {
|
||||
if len(ida) > 0 && !obj.IsSequenceDiagram() {
|
||||
objSD := obj.OuterSequenceDiagram()
|
||||
if objSD != nil {
|
||||
referencesActor := false
|
||||
for _, c := range objSD.ChildrenArray {
|
||||
if c.ID == ida[0] {
|
||||
referencesActor = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if referencesActor {
|
||||
obj = objSD
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
resolvedObj = obj
|
||||
resolvedIDA = ida
|
||||
|
||||
|
|
@ -867,7 +885,7 @@ func (g *Graph) SetDimensions(mtexts []*d2target.MText, ruler *textmeasure.Ruler
|
|||
}
|
||||
|
||||
var dims *d2target.TextDimensions
|
||||
var innerLabelPadding = 5
|
||||
var innerLabelPadding = INNER_LABEL_PADDING
|
||||
if obj.Attributes.Shape.Value == d2target.ShapeText {
|
||||
if obj.Attributes.Language == "latex" {
|
||||
width, height, err := d2latex.Measure(obj.Text().Text)
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ import (
|
|||
|
||||
"oss.terrastruct.com/util-go/go2"
|
||||
|
||||
"oss.terrastruct.com/d2/d2graph"
|
||||
"oss.terrastruct.com/d2/d2renderers/d2fonts"
|
||||
"oss.terrastruct.com/d2/d2renderers/d2latex"
|
||||
"oss.terrastruct.com/d2/d2target"
|
||||
|
|
@ -337,11 +338,11 @@ func pathData(connection d2target.Connection, idToShape map[string]d2target.Shap
|
|||
return strings.Join(path, " ")
|
||||
}
|
||||
|
||||
func makeLabelMask(connection d2target.Connection, labelTL, tl, br *geo.Point) string {
|
||||
func makeLabelMask(labelTL *geo.Point, width, height int) string {
|
||||
return fmt.Sprintf(`<rect x="%f" y="%f" width="%d" height="%d" fill="black"></rect>`,
|
||||
labelTL.X, labelTL.Y,
|
||||
connection.LabelWidth,
|
||||
connection.LabelHeight,
|
||||
width,
|
||||
height,
|
||||
)
|
||||
}
|
||||
|
||||
|
|
@ -408,7 +409,7 @@ func drawConnection(writer io.Writer, connection d2target.Connection, markers ma
|
|||
br.X = math.Max(br.X, labelTL.X+float64(connection.LabelWidth))
|
||||
br.Y = math.Max(br.Y, labelTL.Y+float64(connection.LabelHeight))
|
||||
|
||||
labelMask = makeLabelMask(connection, labelTL, tl, br)
|
||||
labelMask = makeLabelMask(labelTL, connection.LabelWidth, connection.LabelHeight)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -582,7 +583,7 @@ func render3dRect(targetShape d2target.Shape) string {
|
|||
return borderMask + mainRect + renderedSides + renderedBorder
|
||||
}
|
||||
|
||||
func drawShape(writer io.Writer, targetShape d2target.Shape) error {
|
||||
func drawShape(writer io.Writer, targetShape d2target.Shape) (labelMask string, err error) {
|
||||
fmt.Fprintf(writer, `<g id="%s">`, escapeText(targetShape.ID))
|
||||
tl := geo.NewPoint(float64(targetShape.Pos.X), float64(targetShape.Pos.Y))
|
||||
width := float64(targetShape.Width)
|
||||
|
|
@ -620,11 +621,11 @@ func drawShape(writer io.Writer, targetShape d2target.Shape) error {
|
|||
case d2target.ShapeClass:
|
||||
drawClass(writer, targetShape)
|
||||
fmt.Fprintf(writer, `</g></g>`)
|
||||
return nil
|
||||
return labelMask, nil
|
||||
case d2target.ShapeSQLTable:
|
||||
drawTable(writer, targetShape)
|
||||
fmt.Fprintf(writer, `</g></g>`)
|
||||
return nil
|
||||
return labelMask, nil
|
||||
case d2target.ShapeOval:
|
||||
if targetShape.Multiple {
|
||||
fmt.Fprint(writer, renderOval(multipleTL, width, height, style))
|
||||
|
|
@ -706,19 +707,19 @@ func drawShape(writer io.Writer, targetShape d2target.Shape) error {
|
|||
case d2target.ShapeCode:
|
||||
lexer := lexers.Get(targetShape.Language)
|
||||
if lexer == nil {
|
||||
return fmt.Errorf("code snippet lexer for %s not found", targetShape.Language)
|
||||
return labelMask, fmt.Errorf("code snippet lexer for %s not found", targetShape.Language)
|
||||
}
|
||||
style := styles.Get("github")
|
||||
if style == nil {
|
||||
return errors.New(`code snippet style "github" not found`)
|
||||
return labelMask, errors.New(`code snippet style "github" not found`)
|
||||
}
|
||||
formatter := formatters.Get("svg")
|
||||
if formatter == nil {
|
||||
return errors.New(`code snippet formatter "svg" not found`)
|
||||
return labelMask, errors.New(`code snippet formatter "svg" not found`)
|
||||
}
|
||||
iterator, err := lexer.Tokenise(nil, targetShape.Label)
|
||||
if err != nil {
|
||||
return err
|
||||
return labelMask, err
|
||||
}
|
||||
|
||||
svgStyles := styleToSVG(style)
|
||||
|
|
@ -748,15 +749,15 @@ func drawShape(writer io.Writer, targetShape d2target.Shape) error {
|
|||
if targetShape.Language == "latex" {
|
||||
render, err := d2latex.Render(targetShape.Label)
|
||||
if err != nil {
|
||||
return err
|
||||
return labelMask, err
|
||||
}
|
||||
fmt.Fprintf(writer, `<g transform="translate(%f %f)" style="opacity:%f">`, box.TopLeft.X, box.TopLeft.Y, targetShape.Opacity)
|
||||
fmt.Fprintf(writer, render)
|
||||
fmt.Fprint(writer, render)
|
||||
fmt.Fprintf(writer, "</g>")
|
||||
} else {
|
||||
render, err := textmeasure.RenderMarkdown(targetShape.Label)
|
||||
if err != nil {
|
||||
return err
|
||||
return labelMask, err
|
||||
}
|
||||
fmt.Fprintf(writer, `<g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="%f" y="%f" width="%d" height="%d">`,
|
||||
box.TopLeft.X, box.TopLeft.Y, targetShape.Width, targetShape.Height,
|
||||
|
|
@ -772,7 +773,7 @@ func drawShape(writer io.Writer, targetShape d2target.Shape) error {
|
|||
fontColor = targetShape.Color
|
||||
}
|
||||
textStyle := fmt.Sprintf("text-anchor:%s;font-size:%vpx;fill:%s", "middle", targetShape.FontSize, fontColor)
|
||||
x := labelTL.X + float64(targetShape.LabelWidth)/2
|
||||
x := labelTL.X + float64(targetShape.LabelWidth)/2.
|
||||
// text is vertically positioned at its baseline which is at labelTL+FontSize
|
||||
y := labelTL.Y + float64(targetShape.FontSize)
|
||||
fmt.Fprintf(writer, `<text class="%s" x="%f" y="%f" style="%s">%s</text>`,
|
||||
|
|
@ -781,10 +782,13 @@ func drawShape(writer io.Writer, targetShape d2target.Shape) error {
|
|||
textStyle,
|
||||
renderText(targetShape.Label, x, float64(targetShape.LabelHeight)),
|
||||
)
|
||||
if targetShape.Blend {
|
||||
labelMask = makeLabelMask(labelTL, targetShape.LabelWidth, targetShape.LabelHeight-d2graph.INNER_LABEL_PADDING)
|
||||
}
|
||||
}
|
||||
}
|
||||
fmt.Fprintf(writer, `</g>`)
|
||||
return nil
|
||||
return labelMask, nil
|
||||
}
|
||||
|
||||
func escapeText(text string) string {
|
||||
|
|
@ -996,9 +1000,11 @@ func Render(diagram *d2target.Diagram) ([]byte, error) {
|
|||
labelMasks = append(labelMasks, labelMask)
|
||||
}
|
||||
} else if s, is := obj.(d2target.Shape); is {
|
||||
err := drawShape(buf, s)
|
||||
labelMask, err := drawShape(buf, s)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else if labelMask != "" {
|
||||
labelMasks = append(labelMasks, labelMask)
|
||||
}
|
||||
} else {
|
||||
return nil, fmt.Errorf("unknow object of type %T", obj)
|
||||
|
|
|
|||
|
|
@ -1363,25 +1363,25 @@ d."The earth is like a tiny grain of sand, only much, much heavier"
|
|||
a;b;c;d
|
||||
a -> b
|
||||
ggg: {
|
||||
_.a -> _.b: lala
|
||||
a -> b: lala
|
||||
}
|
||||
group 1: {
|
||||
_.b -> _.c
|
||||
_.c -> _.b: ey
|
||||
b -> c
|
||||
c -> b: ey
|
||||
nested guy: {
|
||||
_._.c -> _._.b: okay
|
||||
c -> b: okay
|
||||
}
|
||||
_.b.t1 -> _.c.t1
|
||||
_.b.t1.t2 -> _.c.t1
|
||||
_.c.t1 -> _.b.t1
|
||||
b.t1 -> c.t1
|
||||
b.t1.t2 -> c.t1
|
||||
c.t1 -> b.t1
|
||||
}
|
||||
group b: {
|
||||
_.b -> _.c
|
||||
_.c."what would arnold say"
|
||||
_.c -> _.b: okay
|
||||
b -> c
|
||||
c."what would arnold say"
|
||||
c -> b: okay
|
||||
}
|
||||
choo: {
|
||||
_.d."this note"
|
||||
d."this note"
|
||||
}
|
||||
`,
|
||||
},
|
||||
|
|
@ -1389,17 +1389,19 @@ choo: {
|
|||
name: "sequence_diagram_nested_groups",
|
||||
script: `shape: sequence_diagram
|
||||
|
||||
a; b; c
|
||||
|
||||
this is a message group: {
|
||||
_.a -> _.b
|
||||
a -> b
|
||||
and this is a nested message group: {
|
||||
_._.a -> _._.b
|
||||
a -> b
|
||||
what about more nesting: {
|
||||
_._._.a -> _._._.b
|
||||
a -> b
|
||||
crazy town: {
|
||||
_._._._.a."a note"
|
||||
_._._._.a -> _._._._.b
|
||||
a."a note"
|
||||
a -> b
|
||||
whoa: {
|
||||
_._._._._.a -> _._._._._.b
|
||||
a -> b
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1408,16 +1410,16 @@ this is a message group: {
|
|||
|
||||
alt: {
|
||||
case 1: {
|
||||
_._.b -> _._.c
|
||||
b -> c
|
||||
}
|
||||
case 2: {
|
||||
_._.b -> _._.c
|
||||
b -> c
|
||||
}
|
||||
case 3: {
|
||||
_._.b -> _._.c
|
||||
b -> c
|
||||
}
|
||||
case 4: {
|
||||
_._.b -> _._.c
|
||||
b -> c
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1431,7 +1433,7 @@ c: "just an actor"
|
|||
script: `How this is rendered: {
|
||||
shape: sequence_diagram
|
||||
|
||||
CLI; d2ast; d2compiler; d2layout; d2exporter; d2themes; d2renderer
|
||||
CLI; d2ast; d2compiler; d2layout; d2exporter; d2themes; d2renderer; d2sequencelayout; d2dagrelayout
|
||||
|
||||
CLI -> d2ast: "'How this is rendered: {...}'"
|
||||
d2ast -> CLI: tokenized AST
|
||||
|
|
@ -1441,7 +1443,7 @@ c: "just an actor"
|
|||
CLI -> d2layout.layout: run layout engines
|
||||
d2layout.layout -> d2sequencelayout: run engine on shape: sequence_diagram, temporarily remove
|
||||
only if root is not sequence: {
|
||||
_.d2layout.layout -> _.d2dagrelayout: run core engine on rest
|
||||
d2layout.layout -> d2dagrelayout: run core engine on rest
|
||||
}
|
||||
d2layout.layout <- d2sequencelayout: add back in sequence diagrams
|
||||
d2layout -> CLI: diagram with correct positions and dimensions
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 476 KiB After Width: | Height: | Size: 477 KiB |
|
Before Width: | Height: | Size: 476 KiB After Width: | Height: | Size: 477 KiB |
240
e2etests/testdata/stable/sequence_diagram_nested_groups/dagre/board.exp.json
generated
vendored
|
|
@ -1,6 +1,126 @@
|
|||
{
|
||||
"name": "",
|
||||
"shapes": [
|
||||
{
|
||||
"id": "a",
|
||||
"type": "",
|
||||
"pos": {
|
||||
"x": 24,
|
||||
"y": 74
|
||||
},
|
||||
"width": 150,
|
||||
"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": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "a",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "#0A0F25",
|
||||
"italic": false,
|
||||
"bold": false,
|
||||
"underline": false,
|
||||
"labelWidth": 12,
|
||||
"labelHeight": 26,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0,
|
||||
"level": 1
|
||||
},
|
||||
{
|
||||
"id": "b",
|
||||
"type": "",
|
||||
"pos": {
|
||||
"x": 337,
|
||||
"y": 74
|
||||
},
|
||||
"width": 150,
|
||||
"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": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "b",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "#0A0F25",
|
||||
"italic": false,
|
||||
"bold": false,
|
||||
"underline": false,
|
||||
"labelWidth": 13,
|
||||
"labelHeight": 26,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0,
|
||||
"level": 1
|
||||
},
|
||||
{
|
||||
"id": "c",
|
||||
"type": "",
|
||||
"pos": {
|
||||
"x": 629,
|
||||
"y": 74
|
||||
},
|
||||
"width": 190,
|
||||
"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": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "just an actor",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "#0A0F25",
|
||||
"italic": false,
|
||||
"bold": false,
|
||||
"underline": false,
|
||||
"labelWidth": 90,
|
||||
"labelHeight": 26,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0,
|
||||
"level": 1
|
||||
},
|
||||
{
|
||||
"id": "this is a message group",
|
||||
"type": "",
|
||||
|
|
@ -157,46 +277,6 @@
|
|||
"zIndex": 3,
|
||||
"level": 4
|
||||
},
|
||||
{
|
||||
"id": "a",
|
||||
"type": "",
|
||||
"pos": {
|
||||
"x": 24,
|
||||
"y": 74
|
||||
},
|
||||
"width": 150,
|
||||
"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": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "a",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "#0A0F25",
|
||||
"italic": false,
|
||||
"bold": false,
|
||||
"underline": false,
|
||||
"labelWidth": 12,
|
||||
"labelHeight": 26,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0,
|
||||
"level": 1
|
||||
},
|
||||
{
|
||||
"id": "a.a note",
|
||||
"type": "page",
|
||||
|
|
@ -471,46 +551,6 @@
|
|||
"zIndex": 3,
|
||||
"level": 2
|
||||
},
|
||||
{
|
||||
"id": "b",
|
||||
"type": "",
|
||||
"pos": {
|
||||
"x": 337,
|
||||
"y": 74
|
||||
},
|
||||
"width": 150,
|
||||
"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": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "b",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "#0A0F25",
|
||||
"italic": false,
|
||||
"bold": false,
|
||||
"underline": false,
|
||||
"labelWidth": 13,
|
||||
"labelHeight": 26,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0,
|
||||
"level": 1
|
||||
},
|
||||
{
|
||||
"id": "b.note",
|
||||
"type": "page",
|
||||
|
|
@ -590,46 +630,6 @@
|
|||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 5,
|
||||
"level": 2
|
||||
},
|
||||
{
|
||||
"id": "c",
|
||||
"type": "",
|
||||
"pos": {
|
||||
"x": 629,
|
||||
"y": 74
|
||||
},
|
||||
"width": 190,
|
||||
"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": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "just an actor",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "#0A0F25",
|
||||
"italic": false,
|
||||
"bold": false,
|
||||
"underline": false,
|
||||
"labelWidth": 90,
|
||||
"labelHeight": 26,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0,
|
||||
"level": 1
|
||||
}
|
||||
],
|
||||
"connections": [
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 334 KiB After Width: | Height: | Size: 335 KiB |
240
e2etests/testdata/stable/sequence_diagram_nested_groups/elk/board.exp.json
generated
vendored
|
|
@ -1,6 +1,126 @@
|
|||
{
|
||||
"name": "",
|
||||
"shapes": [
|
||||
{
|
||||
"id": "a",
|
||||
"type": "",
|
||||
"pos": {
|
||||
"x": 24,
|
||||
"y": 74
|
||||
},
|
||||
"width": 150,
|
||||
"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": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "a",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "#0A0F25",
|
||||
"italic": false,
|
||||
"bold": false,
|
||||
"underline": false,
|
||||
"labelWidth": 12,
|
||||
"labelHeight": 26,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0,
|
||||
"level": 1
|
||||
},
|
||||
{
|
||||
"id": "b",
|
||||
"type": "",
|
||||
"pos": {
|
||||
"x": 337,
|
||||
"y": 74
|
||||
},
|
||||
"width": 150,
|
||||
"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": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "b",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "#0A0F25",
|
||||
"italic": false,
|
||||
"bold": false,
|
||||
"underline": false,
|
||||
"labelWidth": 13,
|
||||
"labelHeight": 26,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0,
|
||||
"level": 1
|
||||
},
|
||||
{
|
||||
"id": "c",
|
||||
"type": "",
|
||||
"pos": {
|
||||
"x": 629,
|
||||
"y": 74
|
||||
},
|
||||
"width": 190,
|
||||
"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": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "just an actor",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "#0A0F25",
|
||||
"italic": false,
|
||||
"bold": false,
|
||||
"underline": false,
|
||||
"labelWidth": 90,
|
||||
"labelHeight": 26,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0,
|
||||
"level": 1
|
||||
},
|
||||
{
|
||||
"id": "this is a message group",
|
||||
"type": "",
|
||||
|
|
@ -157,46 +277,6 @@
|
|||
"zIndex": 3,
|
||||
"level": 4
|
||||
},
|
||||
{
|
||||
"id": "a",
|
||||
"type": "",
|
||||
"pos": {
|
||||
"x": 24,
|
||||
"y": 74
|
||||
},
|
||||
"width": 150,
|
||||
"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": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "a",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "#0A0F25",
|
||||
"italic": false,
|
||||
"bold": false,
|
||||
"underline": false,
|
||||
"labelWidth": 12,
|
||||
"labelHeight": 26,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0,
|
||||
"level": 1
|
||||
},
|
||||
{
|
||||
"id": "a.a note",
|
||||
"type": "page",
|
||||
|
|
@ -471,46 +551,6 @@
|
|||
"zIndex": 3,
|
||||
"level": 2
|
||||
},
|
||||
{
|
||||
"id": "b",
|
||||
"type": "",
|
||||
"pos": {
|
||||
"x": 337,
|
||||
"y": 74
|
||||
},
|
||||
"width": 150,
|
||||
"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": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "b",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "#0A0F25",
|
||||
"italic": false,
|
||||
"bold": false,
|
||||
"underline": false,
|
||||
"labelWidth": 13,
|
||||
"labelHeight": 26,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0,
|
||||
"level": 1
|
||||
},
|
||||
{
|
||||
"id": "b.note",
|
||||
"type": "page",
|
||||
|
|
@ -590,46 +630,6 @@
|
|||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 5,
|
||||
"level": 2
|
||||
},
|
||||
{
|
||||
"id": "c",
|
||||
"type": "",
|
||||
"pos": {
|
||||
"x": 629,
|
||||
"y": 74
|
||||
},
|
||||
"width": 190,
|
||||
"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": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "just an actor",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "#0A0F25",
|
||||
"italic": false,
|
||||
"bold": false,
|
||||
"underline": false,
|
||||
"labelWidth": 90,
|
||||
"labelHeight": 26,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0,
|
||||
"level": 1
|
||||
}
|
||||
],
|
||||
"connections": [
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 334 KiB After Width: | Height: | Size: 335 KiB |
160
e2etests/testdata/stable/sequence_diagram_real/dagre/board.exp.json
generated
vendored
|
|
@ -321,6 +321,86 @@
|
|||
"zIndex": 0,
|
||||
"level": 2
|
||||
},
|
||||
{
|
||||
"id": "How this is rendered.d2sequencelayout",
|
||||
"type": "",
|
||||
"pos": {
|
||||
"x": 1740,
|
||||
"y": 110
|
||||
},
|
||||
"width": 229,
|
||||
"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": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "d2sequencelayout",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "#0A0F25",
|
||||
"italic": false,
|
||||
"bold": false,
|
||||
"underline": false,
|
||||
"labelWidth": 129,
|
||||
"labelHeight": 26,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0,
|
||||
"level": 2
|
||||
},
|
||||
{
|
||||
"id": "How this is rendered.d2dagrelayout",
|
||||
"type": "",
|
||||
"pos": {
|
||||
"x": 2019,
|
||||
"y": 110
|
||||
},
|
||||
"width": 204,
|
||||
"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": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "d2dagrelayout",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "#0A0F25",
|
||||
"italic": false,
|
||||
"bold": false,
|
||||
"underline": false,
|
||||
"labelWidth": 104,
|
||||
"labelHeight": 26,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0,
|
||||
"level": 2
|
||||
},
|
||||
{
|
||||
"id": "How this is rendered.d2compiler.measurements also take place",
|
||||
"type": "page",
|
||||
|
|
@ -439,86 +519,6 @@
|
|||
"zIndex": 2,
|
||||
"level": 3
|
||||
},
|
||||
{
|
||||
"id": "How this is rendered.d2sequencelayout",
|
||||
"type": "",
|
||||
"pos": {
|
||||
"x": 1740,
|
||||
"y": 110
|
||||
},
|
||||
"width": 229,
|
||||
"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": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "d2sequencelayout",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "#0A0F25",
|
||||
"italic": false,
|
||||
"bold": false,
|
||||
"underline": false,
|
||||
"labelWidth": 129,
|
||||
"labelHeight": 26,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0,
|
||||
"level": 2
|
||||
},
|
||||
{
|
||||
"id": "How this is rendered.d2dagrelayout",
|
||||
"type": "",
|
||||
"pos": {
|
||||
"x": 2019,
|
||||
"y": 110
|
||||
},
|
||||
"width": 204,
|
||||
"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": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "d2dagrelayout",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "#0A0F25",
|
||||
"italic": false,
|
||||
"bold": false,
|
||||
"underline": false,
|
||||
"labelWidth": 104,
|
||||
"labelHeight": 26,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0,
|
||||
"level": 2
|
||||
},
|
||||
{
|
||||
"id": "How this is rendered.d2exporter.export",
|
||||
"type": "rectangle",
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 481 KiB After Width: | Height: | Size: 481 KiB |
160
e2etests/testdata/stable/sequence_diagram_real/elk/board.exp.json
generated
vendored
|
|
@ -321,6 +321,86 @@
|
|||
"zIndex": 0,
|
||||
"level": 2
|
||||
},
|
||||
{
|
||||
"id": "How this is rendered.d2sequencelayout",
|
||||
"type": "",
|
||||
"pos": {
|
||||
"x": 1752,
|
||||
"y": 122
|
||||
},
|
||||
"width": 229,
|
||||
"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": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "d2sequencelayout",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "#0A0F25",
|
||||
"italic": false,
|
||||
"bold": false,
|
||||
"underline": false,
|
||||
"labelWidth": 129,
|
||||
"labelHeight": 26,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0,
|
||||
"level": 2
|
||||
},
|
||||
{
|
||||
"id": "How this is rendered.d2dagrelayout",
|
||||
"type": "",
|
||||
"pos": {
|
||||
"x": 2031,
|
||||
"y": 122
|
||||
},
|
||||
"width": 204,
|
||||
"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": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "d2dagrelayout",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "#0A0F25",
|
||||
"italic": false,
|
||||
"bold": false,
|
||||
"underline": false,
|
||||
"labelWidth": 104,
|
||||
"labelHeight": 26,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0,
|
||||
"level": 2
|
||||
},
|
||||
{
|
||||
"id": "How this is rendered.d2compiler.measurements also take place",
|
||||
"type": "page",
|
||||
|
|
@ -439,86 +519,6 @@
|
|||
"zIndex": 2,
|
||||
"level": 3
|
||||
},
|
||||
{
|
||||
"id": "How this is rendered.d2sequencelayout",
|
||||
"type": "",
|
||||
"pos": {
|
||||
"x": 1752,
|
||||
"y": 122
|
||||
},
|
||||
"width": 229,
|
||||
"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": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "d2sequencelayout",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "#0A0F25",
|
||||
"italic": false,
|
||||
"bold": false,
|
||||
"underline": false,
|
||||
"labelWidth": 129,
|
||||
"labelHeight": 26,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0,
|
||||
"level": 2
|
||||
},
|
||||
{
|
||||
"id": "How this is rendered.d2dagrelayout",
|
||||
"type": "",
|
||||
"pos": {
|
||||
"x": 2031,
|
||||
"y": 122
|
||||
},
|
||||
"width": 204,
|
||||
"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": "",
|
||||
"blend": false,
|
||||
"fields": null,
|
||||
"methods": null,
|
||||
"columns": null,
|
||||
"label": "d2dagrelayout",
|
||||
"fontSize": 16,
|
||||
"fontFamily": "DEFAULT",
|
||||
"language": "",
|
||||
"color": "#0A0F25",
|
||||
"italic": false,
|
||||
"bold": false,
|
||||
"underline": false,
|
||||
"labelWidth": 104,
|
||||
"labelHeight": 26,
|
||||
"labelPosition": "INSIDE_MIDDLE_CENTER",
|
||||
"zIndex": 0,
|
||||
"level": 2
|
||||
},
|
||||
{
|
||||
"id": "How this is rendered.d2exporter.export",
|
||||
"type": "rectangle",
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 481 KiB After Width: | Height: | Size: 481 KiB |
|
|
@ -18,7 +18,14 @@ width="921" height="1242" viewBox="-147 -26 921 1242"><style type="text/css">
|
|||
}
|
||||
|
||||
]]>
|
||||
</style><g id="b"><g class="shape" ><rect x="24" y="74" width="150" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text" x="99.000000" y="140.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="a"><g class="shape" ><rect x="274" y="74" width="150" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text" x="349.000000" y="140.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">a</text></g><g id="c"><g class="shape" ><rect x="524" y="74" width="150" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text" x="599.000000" y="140.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">c</text></g><g id="(b -- )[0]"><path d="M 99.000000 202.000000 L 99.000000 1109.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;stroke-dasharray:12.000000,11.838767;" mask="url(#labels)"/></g><g id="(a -- )[0]"><path d="M 349.000000 202.000000 L 349.000000 1109.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;stroke-dasharray:12.000000,11.838767;" mask="url(#labels)"/></g><g id="(c -- )[0]"><path d="M 599.000000 202.000000 L 599.000000 1109.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;stroke-dasharray:12.000000,11.838767;" mask="url(#labels)"/></g><g id="this is a message group"><g class="shape blend" ><rect x="-47" y="420" width="542" height="696" style="fill:#DEE1EB;stroke:#0D32B2;opacity:1.000000;stroke-width:0;" /></g><text class="text" x="33.000000" y="436.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">this is a message group</text></g><g id="this is a message group.and this is a nested message group"><g class="shape blend" ><rect x="-23" y="550" width="494" height="542" style="fill:#DEE1EB;stroke:#0D32B2;opacity:1.000000;stroke-width:0;" /></g><text class="text" x="96.000000" y="566.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">and this is a nested message group</text></g><g id="this is a message group.and this is a nested message group.what about more nesting"><g class="shape blend" ><rect x="1" y="680" width="446" height="388" style="fill:#DEE1EB;stroke:#0D32B2;opacity:1.000000;stroke-width:0;" /></g><text class="text" x="87.500000" y="696.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">what about more nesting</text></g><g id="this is a message group.and this is a nested message group.what about more nesting.yo"><g class="shape blend" ><rect x="25" y="810" width="398" height="234" style="fill:#DEE1EB;stroke:#0D32B2;opacity:1.000000;stroke-width:0;" /></g><text class="text" x="35.500000" y="826.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">yo</text></g><g id="this is a message group.and this is a nested message group.what about more nesting.yo.yo"><g class="shape blend" ><rect x="49" y="940" width="350" height="80" style="fill:#DEE1EB;stroke:#0D32B2;opacity:1.000000;stroke-width:0;" /></g><text class="text" x="59.500000" y="956.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">yo</text></g><g id="(b -> c)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 101.000000 330.000000 L 595.000000 330.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#labels)"/></g><g id="(a -> b)[0]"><path d="M 347.000000 460.000000 L 103.000000 460.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#labels)"/></g><g id="(a -> b)[1]"><path d="M 347.000000 590.000000 L 103.000000 590.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#labels)"/></g><g id="(a -> b)[2]"><path d="M 347.000000 720.000000 L 103.000000 720.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#labels)"/></g><g id="(a -> b)[3]"><path d="M 347.000000 850.000000 L 103.000000 850.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#labels)"/></g><g id="(a -> b)[4]"><path d="M 347.000000 980.000000 L 103.000000 980.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#labels)"/></g><style type="text/css"><![CDATA[
|
||||
</style><g id="b"><g class="shape" ><rect x="24" y="74" width="150" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text" x="99.000000" y="140.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="a"><g class="shape" ><rect x="274" y="74" width="150" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text" x="349.000000" y="140.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">a</text></g><g id="c"><g class="shape" ><rect x="524" y="74" width="150" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text" x="599.000000" y="140.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">c</text></g><g id="(b -- )[0]"><path d="M 99.000000 202.000000 L 99.000000 1109.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;stroke-dasharray:12.000000,11.838767;" mask="url(#labels)"/></g><g id="(a -- )[0]"><path d="M 349.000000 202.000000 L 349.000000 1109.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;stroke-dasharray:12.000000,11.838767;" mask="url(#labels)"/></g><g id="(c -- )[0]"><path d="M 599.000000 202.000000 L 599.000000 1109.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;stroke-dasharray:12.000000,11.838767;" mask="url(#labels)"/></g><g id="this is a message group"><g class="shape blend" ><rect x="-47" y="420" width="542" height="696" style="fill:#DEE1EB;stroke:#0D32B2;opacity:1.000000;stroke-width:0;" /></g><text class="text" x="33.000000" y="436.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">this is a message group</text></g><g id="this is a message group.and this is a nested message group"><g class="shape blend" ><rect x="-23" y="550" width="494" height="542" style="fill:#DEE1EB;stroke:#0D32B2;opacity:1.000000;stroke-width:0;" /></g><text class="text" x="96.000000" y="566.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">and this is a nested message group</text></g><g id="this is a message group.and this is a nested message group.what about more nesting"><g class="shape blend" ><rect x="1" y="680" width="446" height="388" style="fill:#DEE1EB;stroke:#0D32B2;opacity:1.000000;stroke-width:0;" /></g><text class="text" x="87.500000" y="696.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">what about more nesting</text></g><g id="this is a message group.and this is a nested message group.what about more nesting.yo"><g class="shape blend" ><rect x="25" y="810" width="398" height="234" style="fill:#DEE1EB;stroke:#0D32B2;opacity:1.000000;stroke-width:0;" /></g><text class="text" x="35.500000" y="826.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">yo</text></g><g id="this is a message group.and this is a nested message group.what about more nesting.yo.yo"><g class="shape blend" ><rect x="49" y="940" width="350" height="80" style="fill:#DEE1EB;stroke:#0D32B2;opacity:1.000000;stroke-width:0;" /></g><text class="text" x="59.500000" y="956.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">yo</text></g><g id="(b -> c)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 101.000000 330.000000 L 595.000000 330.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#labels)"/></g><g id="(a -> b)[0]"><path d="M 347.000000 460.000000 L 103.000000 460.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#labels)"/></g><g id="(a -> b)[1]"><path d="M 347.000000 590.000000 L 103.000000 590.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#labels)"/></g><g id="(a -> b)[2]"><path d="M 347.000000 720.000000 L 103.000000 720.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#labels)"/></g><g id="(a -> b)[3]"><path d="M 347.000000 850.000000 L 103.000000 850.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#labels)"/></g><g id="(a -> b)[4]"><path d="M 347.000000 980.000000 L 103.000000 980.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#labels)"/></g><mask id="labels" maskUnits="userSpaceOnUse" x="0" y="0" width="921" height="1242">
|
||||
<rect x="0" y="0" width="921" height="1242" fill="white"></rect>
|
||||
<rect x="-47.000000" y="420.000000" width="160" height="21" fill="black"></rect>
|
||||
<rect x="-23.000000" y="550.000000" width="238" height="21" fill="black"></rect>
|
||||
<rect x="1.000000" y="680.000000" width="173" height="21" fill="black"></rect>
|
||||
<rect x="25.000000" y="810.000000" width="21" height="21" fill="black"></rect>
|
||||
<rect x="49.000000" y="940.000000" width="21" height="21" fill="black"></rect>
|
||||
</mask><style type="text/css"><![CDATA[
|
||||
.text {
|
||||
font-family: "font-regular";
|
||||
}
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 329 KiB After Width: | Height: | Size: 330 KiB |
|
|
@ -18,7 +18,14 @@ width="921" height="1242" viewBox="-147 -26 921 1242"><style type="text/css">
|
|||
}
|
||||
|
||||
]]>
|
||||
</style><g id="b"><g class="shape" ><rect x="24" y="74" width="150" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text" x="99.000000" y="140.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="a"><g class="shape" ><rect x="274" y="74" width="150" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text" x="349.000000" y="140.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">a</text></g><g id="c"><g class="shape" ><rect x="524" y="74" width="150" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text" x="599.000000" y="140.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">c</text></g><g id="(b -- )[0]"><path d="M 99.000000 202.000000 L 99.000000 1109.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;stroke-dasharray:12.000000,11.838767;" mask="url(#labels)"/></g><g id="(a -- )[0]"><path d="M 349.000000 202.000000 L 349.000000 1109.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;stroke-dasharray:12.000000,11.838767;" mask="url(#labels)"/></g><g id="(c -- )[0]"><path d="M 599.000000 202.000000 L 599.000000 1109.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;stroke-dasharray:12.000000,11.838767;" mask="url(#labels)"/></g><g id="this is a message group"><g class="shape blend" ><rect x="-47" y="420" width="542" height="696" style="fill:#DEE1EB;stroke:#0D32B2;opacity:1.000000;stroke-width:0;" /></g><text class="text" x="33.000000" y="436.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">this is a message group</text></g><g id="this is a message group.and this is a nested message group"><g class="shape blend" ><rect x="-23" y="550" width="494" height="542" style="fill:#DEE1EB;stroke:#0D32B2;opacity:1.000000;stroke-width:0;" /></g><text class="text" x="96.000000" y="566.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">and this is a nested message group</text></g><g id="this is a message group.and this is a nested message group.what about more nesting"><g class="shape blend" ><rect x="1" y="680" width="446" height="388" style="fill:#DEE1EB;stroke:#0D32B2;opacity:1.000000;stroke-width:0;" /></g><text class="text" x="87.500000" y="696.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">what about more nesting</text></g><g id="this is a message group.and this is a nested message group.what about more nesting.yo"><g class="shape blend" ><rect x="25" y="810" width="398" height="234" style="fill:#DEE1EB;stroke:#0D32B2;opacity:1.000000;stroke-width:0;" /></g><text class="text" x="35.500000" y="826.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">yo</text></g><g id="this is a message group.and this is a nested message group.what about more nesting.yo.yo"><g class="shape blend" ><rect x="49" y="940" width="350" height="80" style="fill:#DEE1EB;stroke:#0D32B2;opacity:1.000000;stroke-width:0;" /></g><text class="text" x="59.500000" y="956.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">yo</text></g><g id="(b -> c)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 101.000000 330.000000 L 595.000000 330.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#labels)"/></g><g id="(a -> b)[0]"><path d="M 347.000000 460.000000 L 103.000000 460.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#labels)"/></g><g id="(a -> b)[1]"><path d="M 347.000000 590.000000 L 103.000000 590.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#labels)"/></g><g id="(a -> b)[2]"><path d="M 347.000000 720.000000 L 103.000000 720.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#labels)"/></g><g id="(a -> b)[3]"><path d="M 347.000000 850.000000 L 103.000000 850.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#labels)"/></g><g id="(a -> b)[4]"><path d="M 347.000000 980.000000 L 103.000000 980.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#labels)"/></g><style type="text/css"><![CDATA[
|
||||
</style><g id="b"><g class="shape" ><rect x="24" y="74" width="150" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text" x="99.000000" y="140.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="a"><g class="shape" ><rect x="274" y="74" width="150" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text" x="349.000000" y="140.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">a</text></g><g id="c"><g class="shape" ><rect x="524" y="74" width="150" height="126" style="fill:#EDF0FD;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" /></g><text class="text" x="599.000000" y="140.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">c</text></g><g id="(b -- )[0]"><path d="M 99.000000 202.000000 L 99.000000 1109.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;stroke-dasharray:12.000000,11.838767;" mask="url(#labels)"/></g><g id="(a -- )[0]"><path d="M 349.000000 202.000000 L 349.000000 1109.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;stroke-dasharray:12.000000,11.838767;" mask="url(#labels)"/></g><g id="(c -- )[0]"><path d="M 599.000000 202.000000 L 599.000000 1109.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;stroke-dasharray:12.000000,11.838767;" mask="url(#labels)"/></g><g id="this is a message group"><g class="shape blend" ><rect x="-47" y="420" width="542" height="696" style="fill:#DEE1EB;stroke:#0D32B2;opacity:1.000000;stroke-width:0;" /></g><text class="text" x="33.000000" y="436.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">this is a message group</text></g><g id="this is a message group.and this is a nested message group"><g class="shape blend" ><rect x="-23" y="550" width="494" height="542" style="fill:#DEE1EB;stroke:#0D32B2;opacity:1.000000;stroke-width:0;" /></g><text class="text" x="96.000000" y="566.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">and this is a nested message group</text></g><g id="this is a message group.and this is a nested message group.what about more nesting"><g class="shape blend" ><rect x="1" y="680" width="446" height="388" style="fill:#DEE1EB;stroke:#0D32B2;opacity:1.000000;stroke-width:0;" /></g><text class="text" x="87.500000" y="696.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">what about more nesting</text></g><g id="this is a message group.and this is a nested message group.what about more nesting.yo"><g class="shape blend" ><rect x="25" y="810" width="398" height="234" style="fill:#DEE1EB;stroke:#0D32B2;opacity:1.000000;stroke-width:0;" /></g><text class="text" x="35.500000" y="826.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">yo</text></g><g id="this is a message group.and this is a nested message group.what about more nesting.yo.yo"><g class="shape blend" ><rect x="49" y="940" width="350" height="80" style="fill:#DEE1EB;stroke:#0D32B2;opacity:1.000000;stroke-width:0;" /></g><text class="text" x="59.500000" y="956.000000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">yo</text></g><g id="(b -> c)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 101.000000 330.000000 L 595.000000 330.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#labels)"/></g><g id="(a -> b)[0]"><path d="M 347.000000 460.000000 L 103.000000 460.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#labels)"/></g><g id="(a -> b)[1]"><path d="M 347.000000 590.000000 L 103.000000 590.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#labels)"/></g><g id="(a -> b)[2]"><path d="M 347.000000 720.000000 L 103.000000 720.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#labels)"/></g><g id="(a -> b)[3]"><path d="M 347.000000 850.000000 L 103.000000 850.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#labels)"/></g><g id="(a -> b)[4]"><path d="M 347.000000 980.000000 L 103.000000 980.000000" class="connection" style="fill:none;stroke:#0D32B2;opacity:1.000000;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#labels)"/></g><mask id="labels" maskUnits="userSpaceOnUse" x="0" y="0" width="921" height="1242">
|
||||
<rect x="0" y="0" width="921" height="1242" fill="white"></rect>
|
||||
<rect x="-47.000000" y="420.000000" width="160" height="21" fill="black"></rect>
|
||||
<rect x="-23.000000" y="550.000000" width="238" height="21" fill="black"></rect>
|
||||
<rect x="1.000000" y="680.000000" width="173" height="21" fill="black"></rect>
|
||||
<rect x="25.000000" y="810.000000" width="21" height="21" fill="black"></rect>
|
||||
<rect x="49.000000" y="940.000000" width="21" height="21" fill="black"></rect>
|
||||
</mask><style type="text/css"><![CDATA[
|
||||
.text {
|
||||
font-family: "font-regular";
|
||||
}
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 329 KiB After Width: | Height: | Size: 330 KiB |
|
|
@ -75,15 +75,15 @@ ninety nine: {
|
|||
b;a;c
|
||||
b -> c
|
||||
this is a message group: {
|
||||
_.a -> _.b
|
||||
a -> b
|
||||
and this is a nested message group: {
|
||||
_._.a -> _._.b
|
||||
a -> b
|
||||
what about more nesting: {
|
||||
_._._.a -> _._._.b
|
||||
a -> b
|
||||
yo: {
|
||||
_._._._.a -> _._._._.b
|
||||
a -> b
|
||||
yo: {
|
||||
_._._._._.a -> _._._._._.b
|
||||
a -> b
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
2
testdata/d2compiler/TestCompile/leaky_sequence.exp.json
generated
vendored
|
|
@ -4,7 +4,7 @@
|
|||
"ioerr": null,
|
||||
"errs": [
|
||||
{
|
||||
"range": "d2/testdata/d2compiler/TestCompile/leaky_sequence.d2,4:0:36-4:8:44",
|
||||
"range": "d2/testdata/d2compiler/TestCompile/leaky_sequence.d2,4:0:37-4:8:45",
|
||||
"errmsg": "d2/testdata/d2compiler/TestCompile/leaky_sequence.d2:5:1: connections within sequence diagrams can connect only to other objects within the same sequence diagram"
|
||||
}
|
||||
]
|
||||
|
|
|
|||
395
testdata/d2compiler/TestCompile/sequence_grouped_note.exp.json
generated
vendored
Normal file
|
|
@ -0,0 +1,395 @@
|
|||
{
|
||||
"graph": {
|
||||
"ast": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,0:0:0-5:0:54",
|
||||
"nodes": [
|
||||
{
|
||||
"map_key": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,0:0:0-0:23:23",
|
||||
"key": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,0:0:0-0:5:5",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,0:0:0-0:5:5",
|
||||
"value": [
|
||||
{
|
||||
"string": "shape",
|
||||
"raw_string": "shape"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"primary": {},
|
||||
"value": {
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,0:7:7-0:23:23",
|
||||
"value": [
|
||||
{
|
||||
"string": "sequence_diagram",
|
||||
"raw_string": "sequence_diagram"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"map_key": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,1:0:24-1:1:25",
|
||||
"key": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,1:0:24-1:1:25",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,1:0:24-1:1:25",
|
||||
"value": [
|
||||
{
|
||||
"string": "a",
|
||||
"raw_string": "a"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"primary": {},
|
||||
"value": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"map_key": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,1:2:26-1:3:27",
|
||||
"key": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,1:2:26-1:3:27",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,1:2:26-1:3:27",
|
||||
"value": [
|
||||
{
|
||||
"string": "d",
|
||||
"raw_string": "d"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"primary": {},
|
||||
"value": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"map_key": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,2:0:28-4:1:53",
|
||||
"key": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,2:0:28-2:4:32",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,2:0:28-2:4:32",
|
||||
"value": [
|
||||
{
|
||||
"string": "choo",
|
||||
"raw_string": "choo"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"primary": {},
|
||||
"value": {
|
||||
"map": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,2:6:34-4:0:52",
|
||||
"nodes": [
|
||||
{
|
||||
"map_key": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,3:2:38-3:15:51",
|
||||
"key": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,3:2:38-3:15:51",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,3:2:38-3:3:39",
|
||||
"value": [
|
||||
{
|
||||
"string": "d",
|
||||
"raw_string": "d"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"double_quoted_string": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,3:4:40-3:15:51",
|
||||
"value": [
|
||||
{
|
||||
"string": "this note",
|
||||
"raw_string": "this note"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"primary": {},
|
||||
"value": {}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"root": {
|
||||
"id": "",
|
||||
"id_val": "",
|
||||
"label_dimensions": {
|
||||
"width": 0,
|
||||
"height": 0
|
||||
},
|
||||
"attributes": {
|
||||
"label": {
|
||||
"value": ""
|
||||
},
|
||||
"style": {},
|
||||
"near_key": null,
|
||||
"shape": {
|
||||
"value": "sequence_diagram"
|
||||
},
|
||||
"direction": {
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
"zIndex": 0
|
||||
},
|
||||
"edges": null,
|
||||
"objects": [
|
||||
{
|
||||
"id": "a",
|
||||
"id_val": "a",
|
||||
"label_dimensions": {
|
||||
"width": 0,
|
||||
"height": 0
|
||||
},
|
||||
"references": [
|
||||
{
|
||||
"key": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,1:0:24-1:1:25",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,1:0:24-1:1:25",
|
||||
"value": [
|
||||
{
|
||||
"string": "a",
|
||||
"raw_string": "a"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"key_path_index": 0,
|
||||
"map_key_edge_index": 0
|
||||
}
|
||||
],
|
||||
"attributes": {
|
||||
"label": {
|
||||
"value": "a"
|
||||
},
|
||||
"style": {},
|
||||
"near_key": null,
|
||||
"shape": {
|
||||
"value": ""
|
||||
},
|
||||
"direction": {
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
"zIndex": 0
|
||||
},
|
||||
{
|
||||
"id": "d",
|
||||
"id_val": "d",
|
||||
"label_dimensions": {
|
||||
"width": 0,
|
||||
"height": 0
|
||||
},
|
||||
"references": [
|
||||
{
|
||||
"key": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,1:2:26-1:3:27",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,1:2:26-1:3:27",
|
||||
"value": [
|
||||
{
|
||||
"string": "d",
|
||||
"raw_string": "d"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"key_path_index": 0,
|
||||
"map_key_edge_index": 0
|
||||
},
|
||||
{
|
||||
"key": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,3:2:38-3:15:51",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,3:2:38-3:3:39",
|
||||
"value": [
|
||||
{
|
||||
"string": "d",
|
||||
"raw_string": "d"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"double_quoted_string": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,3:4:40-3:15:51",
|
||||
"value": [
|
||||
{
|
||||
"string": "this note",
|
||||
"raw_string": "this note"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"key_path_index": 0,
|
||||
"map_key_edge_index": 0
|
||||
}
|
||||
],
|
||||
"attributes": {
|
||||
"label": {
|
||||
"value": "d"
|
||||
},
|
||||
"style": {},
|
||||
"near_key": null,
|
||||
"shape": {
|
||||
"value": ""
|
||||
},
|
||||
"direction": {
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
"zIndex": 0
|
||||
},
|
||||
{
|
||||
"id": "choo",
|
||||
"id_val": "choo",
|
||||
"label_dimensions": {
|
||||
"width": 0,
|
||||
"height": 0
|
||||
},
|
||||
"references": [
|
||||
{
|
||||
"key": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,2:0:28-2:4:32",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,2:0:28-2:4:32",
|
||||
"value": [
|
||||
{
|
||||
"string": "choo",
|
||||
"raw_string": "choo"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"key_path_index": 0,
|
||||
"map_key_edge_index": 0
|
||||
}
|
||||
],
|
||||
"attributes": {
|
||||
"label": {
|
||||
"value": "choo"
|
||||
},
|
||||
"style": {},
|
||||
"near_key": null,
|
||||
"shape": {
|
||||
"value": ""
|
||||
},
|
||||
"direction": {
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
"zIndex": 0
|
||||
},
|
||||
{
|
||||
"id": "this note",
|
||||
"id_val": "this note",
|
||||
"label_dimensions": {
|
||||
"width": 0,
|
||||
"height": 0
|
||||
},
|
||||
"references": [
|
||||
{
|
||||
"key": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,3:2:38-3:15:51",
|
||||
"path": [
|
||||
{
|
||||
"unquoted_string": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,3:2:38-3:3:39",
|
||||
"value": [
|
||||
{
|
||||
"string": "d",
|
||||
"raw_string": "d"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"double_quoted_string": {
|
||||
"range": "d2/testdata/d2compiler/TestCompile/sequence_grouped_note.d2,3:4:40-3:15:51",
|
||||
"value": [
|
||||
{
|
||||
"string": "this note",
|
||||
"raw_string": "this note"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"key_path_index": 1,
|
||||
"map_key_edge_index": 0
|
||||
}
|
||||
],
|
||||
"attributes": {
|
||||
"label": {
|
||||
"value": "this note"
|
||||
},
|
||||
"style": {},
|
||||
"near_key": null,
|
||||
"shape": {
|
||||
"value": ""
|
||||
},
|
||||
"direction": {
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
"zIndex": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
"err": null
|
||||
}
|
||||