diff --git a/d2graph/seqdiagram.go b/d2graph/seqdiagram.go
index bc40d387b..649756a41 100644
--- a/d2graph/seqdiagram.go
+++ b/d2graph/seqdiagram.go
@@ -33,7 +33,7 @@ func (obj *Object) IsSequenceDiagramGroup() bool {
return false
}
}
- return true
+ return obj.ContainsAnyObject(obj.Graph.Objects) || obj.ContainsAnyEdge(obj.Graph.Edges)
}
// notes are descendant of actors with no edges and no children
@@ -54,6 +54,28 @@ func (obj *Object) hasEdgeRef() bool {
return false
}
+func (obj *Object) ContainsAnyObject(objects []*Object) bool {
+ for _, o := range objects {
+ if o.ContainedBy(obj) {
+ return true
+ }
+ }
+ return false
+}
+
+func (o *Object) ContainedBy(obj *Object) bool {
+ for _, ref := range o.References {
+ curr := ref.UnresolvedScopeObj
+ for curr != nil {
+ if curr == obj {
+ return true
+ }
+ curr = curr.Parent
+ }
+ }
+ return false
+}
+
func (obj *Object) ContainsAnyEdge(edges []*Edge) bool {
for _, e := range edges {
if e.ContainedBy(obj) {
diff --git a/d2renderers/d2svg/style.css b/d2renderers/d2svg/style.css
index 0068533c5..e07084d0f 100644
--- a/d2renderers/d2svg/style.css
+++ b/d2renderers/d2svg/style.css
@@ -6,7 +6,6 @@
stroke-linecap: round;
stroke-linejoin: round;
}
-
.blend {
mix-blend-mode: multiply;
}
diff --git a/e2etests/testdata/sanity/1_to_2/dagre/sketch.exp.svg b/e2etests/testdata/sanity/1_to_2/dagre/sketch.exp.svg
index 1ff7bb178..4e499dd8c 100644
--- a/e2etests/testdata/sanity/1_to_2/dagre/sketch.exp.svg
+++ b/e2etests/testdata/sanity/1_to_2/dagre/sketch.exp.svg
@@ -12,7 +12,6 @@ width="486" height="552" viewBox="-100 -100 486 552">abcdggggroup 1group bchoonested guy lalaeyokayokaywhat would arnold saythis note
+abcdggggroup 1group bchoonested guy lalaeyokayokaywhat would arnold saythis note
diff --git a/e2etests/testdata/stable/sequence_diagram_groups/elk/board.exp.json b/e2etests/testdata/stable/sequence_diagram_groups/elk/board.exp.json
index 49d702816..57883e022 100644
--- a/e2etests/testdata/stable/sequence_diagram_groups/elk/board.exp.json
+++ b/e2etests/testdata/stable/sequence_diagram_groups/elk/board.exp.json
@@ -339,7 +339,7 @@
"link": "",
"icon": null,
"iconPosition": "",
- "blend": true,
+ "blend": false,
"fields": null,
"methods": null,
"columns": null,
@@ -418,7 +418,7 @@
"link": "",
"icon": null,
"iconPosition": "",
- "blend": true,
+ "blend": false,
"fields": null,
"methods": null,
"columns": null,
diff --git a/e2etests/testdata/stable/sequence_diagram_groups/elk/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagram_groups/elk/sketch.exp.svg
index 42148947f..47a70e507 100644
--- a/e2etests/testdata/stable/sequence_diagram_groups/elk/sketch.exp.svg
+++ b/e2etests/testdata/stable/sequence_diagram_groups/elk/sketch.exp.svg
@@ -12,13 +12,12 @@ width="1057" height="2268" viewBox="-100 -50 1057 2268">abcdggggroup 1group bchoonested guy lalaeyokayokaywhat would arnold saythis note
+abcdggggroup 1group bchoonested guy lalaeyokayokaywhat would arnold saythis note
diff --git a/e2etests/testdata/stable/sequence_diagram_nested_span/dagre/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagram_nested_span/dagre/sketch.exp.svg
index 4d41134f1..f1ab7fd85 100644
--- a/e2etests/testdata/stable/sequence_diagram_nested_span/dagre/sketch.exp.svg
+++ b/e2etests/testdata/stable/sequence_diagram_nested_span/dagre/sketch.exp.svg
@@ -12,7 +12,6 @@ width="1593" height="1626" viewBox="-100 -50 1593 1626">abcd okayexplanationanother explanationSome one who believes imaginary things appear right before your i's.The earth is like a tiny grain of sand, only much, much heavier
+abcd okayexplanationanother explanationSome one who believes imaginary things appear right before your i's.The earth is like a tiny grain of sand, only much, much heavier
abcd okayexplanationanother explanationSome one who believes imaginary things appear right before your i's.The earth is like a tiny grain of sand, only much, much heavier
+abcd okayexplanationanother explanationSome one who believes imaginary things appear right before your i's.The earth is like a tiny grain of sand, only much, much heavier
How this is renderedCLId2astd2compilerd2layoutd2exporterd2themesd2rendererd2sequencelayoutd2dagrelayoutonly if root is not sequence 'How this is rendered: {...}'tokenized ASTcompile ASTobjects and edgesrun layout enginesrun engine on shape: sequence_diagram, temporarily removerun core engine on rest add back in sequence diagramsdiagram with correct positions and dimensionsexport diagram with chosen theme and rendererget theme stylesrender to SVGresulting SVGmeasurements also take place
+How this is renderedCLId2astd2compilerd2layoutd2exporterd2themesd2rendererd2sequencelayoutd2dagrelayoutonly if root is not sequence 'How this is rendered: {...}'tokenized ASTcompile ASTobjects and edgesrun layout enginesrun engine on shape: sequence_diagram, temporarily removerun core engine on rest add back in sequence diagramsdiagram with correct positions and dimensionsexport diagram with chosen theme and rendererget theme stylesrender to SVGresulting SVGmeasurements also take place
diff --git a/e2etests/testdata/stable/sequence_diagram_real/elk/board.exp.json b/e2etests/testdata/stable/sequence_diagram_real/elk/board.exp.json
index 2bec690f8..494c31964 100644
--- a/e2etests/testdata/stable/sequence_diagram_real/elk/board.exp.json
+++ b/e2etests/testdata/stable/sequence_diagram_real/elk/board.exp.json
@@ -343,7 +343,7 @@
"link": "",
"icon": null,
"iconPosition": "",
- "blend": true,
+ "blend": false,
"fields": null,
"methods": null,
"columns": null,
diff --git a/e2etests/testdata/stable/sequence_diagram_real/elk/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagram_real/elk/sketch.exp.svg
index 1a00cde91..d96000897 100644
--- a/e2etests/testdata/stable/sequence_diagram_real/elk/sketch.exp.svg
+++ b/e2etests/testdata/stable/sequence_diagram_real/elk/sketch.exp.svg
@@ -12,13 +12,12 @@ width="2374" height="2488" viewBox="-88 -88 2374 2488">How this is renderedCLId2astd2compilerd2layoutd2exporterd2themesd2rendererd2sequencelayoutd2dagrelayoutonly if root is not sequence 'How this is rendered: {...}'tokenized ASTcompile ASTobjects and edgesrun layout enginesrun engine on shape: sequence_diagram, temporarily removerun core engine on rest add back in sequence diagramsdiagram with correct positions and dimensionsexport diagram with chosen theme and rendererget theme stylesrender to SVGresulting SVGmeasurements also take place
+How this is renderedCLId2astd2compilerd2layoutd2exporterd2themesd2rendererd2sequencelayoutd2dagrelayoutonly if root is not sequence 'How this is rendered: {...}'tokenized ASTcompile ASTobjects and edgesrun layout enginesrun engine on shape: sequence_diagram, temporarily removerun core engine on rest add back in sequence diagramsdiagram with correct positions and dimensionsexport diagram with chosen theme and rendererget theme stylesrender to SVGresulting SVGmeasurements also take place
diff --git a/e2etests/testdata/stable/sequence_diagram_self_edges/dagre/sketch.exp.svg b/e2etests/testdata/stable/sequence_diagram_self_edges/dagre/sketch.exp.svg
index a80bfc5fa..8e5a98c71 100644
--- a/e2etests/testdata/stable/sequence_diagram_self_edges/dagre/sketch.exp.svg
+++ b/e2etests/testdata/stable/sequence_diagram_self_edges/dagre/sketch.exp.svg
@@ -12,7 +12,6 @@ width="666" height="1366" viewBox="-100 -50 666 1366">