fix inheritence bug

This commit is contained in:
Alexander Wang 2023-03-25 12:06:06 -07:00
parent d1c980ddc0
commit a2cffc9341
No known key found for this signature in database
GPG key ID: D89FA31966BDBECE
14 changed files with 4281 additions and 352 deletions

View file

@ -8,6 +8,7 @@
#### Bugfixes ⛑️
- Fix inheritence in scenarios/steps [#1090](https://github.com/terrastruct/d2/pull/1090)
- Fix a bug in 32bit builds [#1115](https://github.com/terrastruct/d2/issues/1115)
- Fix a bug in ID parsing [#322](https://github.com/terrastruct/d2/issues/322)
- Fix a bug in watch mode parsing SVG [#1119](https://github.com/terrastruct/d2/issues/1119)

View file

@ -2404,6 +2404,19 @@ layers: {
assert.False(t, g.Layers[1].Scenarios[1].IsFolderOnly)
},
},
{
name: "scenarios_edge_index",
run: func(t *testing.T) {
assertCompile(t, `a -> x
scenarios: {
1: {
(a -> x)[0].style.opacity: 0.1
}
}
`, "")
},
},
{
name: "errs/duplicate_board",
run: func(t *testing.T) {

View file

@ -22,62 +22,20 @@ func Compile(ast *d2ast.Map) (*Map, error) {
m.initRoot()
m.parent.(*Field).References[0].Context.Scope = ast
c.compileMap(m, ast)
c.compileScenarios(m)
c.compileSteps(m)
if !c.err.Empty() {
return nil, c.err
}
return m, nil
}
func (c *compiler) compileScenarios(m *Map) {
scenariosf := m.GetField("scenarios")
if scenariosf == nil {
func (c *compiler) overlay(base *Map, f *Field) {
if f.Map() == nil || f.Primary() != nil {
c.errorf(f.References[0].Context.Key, "invalid %s", NodeBoardKind(f))
return
}
scenarios := scenariosf.Map()
if scenarios == nil {
return
}
for _, sf := range scenarios.Fields {
if sf.Map() == nil || sf.Primary() != nil {
c.errorf(sf.References[0].Context.Key, "invalid scenario")
continue
}
base := m.CopyBase(sf)
OverlayMap(base, sf.Map())
sf.Composite = base
c.compileScenarios(sf.Map())
c.compileSteps(sf.Map())
}
}
func (c *compiler) compileSteps(m *Map) {
stepsf := m.GetField("steps")
if stepsf == nil {
return
}
steps := stepsf.Map()
if steps == nil {
return
}
for i, sf := range steps.Fields {
if sf.Map() == nil || sf.Primary() != nil {
c.errorf(sf.References[0].Context.Key, "invalid step")
break
}
var base *Map
if i == 0 {
base = m.CopyBase(sf)
} else {
base = steps.Fields[i-1].Map().CopyBase(sf)
}
OverlayMap(base, sf.Map())
sf.Composite = base
c.compileScenarios(sf.Map())
c.compileSteps(sf.Map())
}
base = base.CopyBase(f)
OverlayMap(base, f.Map())
f.Composite = base
}
func (c *compiler) compileMap(dst *Map, ast *d2ast.Map) {
@ -128,6 +86,22 @@ func (c *compiler) compileField(dst *Map, kp *d2ast.KeyPath, refctx *RefContext)
parent: f,
}
}
switch NodeBoardKind(f) {
case BoardScenario:
c.overlay(dst.Parent().Parent().(*Map), f)
case BoardStep:
stepsMap := dst.Parent().Map()
for i := range stepsMap.Fields {
if stepsMap.Fields[i] == f {
if i == 0 {
c.overlay(dst.Parent().Parent().(*Map), f)
} else {
c.overlay(stepsMap.Fields[i-1].Map(), f)
}
break
}
}
}
c.compileMap(f.Map(), refctx.Key.Value.Map)
} else if refctx.Key.Value.ScalarBox().Unbox() != nil {
// If the link is a board, we need to transform it into an absolute path.

View file

@ -379,6 +379,20 @@ scenarios: {
assertQuery(t, m, 0, 0, nil, "scenarios.nuclear.quiche")
},
},
{
name: "edge",
run: func(t testing.TB) {
m, err := compile(t, `a -> b
scenarios: {
1: {
(a -> b)[0].style.opacity: 0.1
}
}`)
assert.Success(t, err)
assertQuery(t, m, 0, 0, nil, "(a -> b)[0]")
},
},
}
runa(t, tca)
}
@ -431,9 +445,8 @@ scenarios: {
shape: sql_table
hey: int {constraint: primary_key}
}`)
assert.ErrorString(t, err, `TestCompile/steps/steps_panic.d2:6:3: invalid scenario
TestCompile/steps/steps_panic.d2:7:3: invalid scenario
TestCompile/steps/steps_panic.d2:2:3: invalid step`)
assert.ErrorString(t, err, `TestCompile/steps/steps_panic.d2:3:3: invalid step
TestCompile/steps/steps_panic.d2:7:3: invalid scenario`)
},
},
{

View file

@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 304 407"><svg id="d2-svg" class="d2-3205202238" width="304" height="407" viewBox="-101 -118 304 407"><rect x="-101.000000" y="-118.000000" width="304" height="407" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 304 407"><svg id="d2-svg" class="d2-916646398" width="304" height="407" viewBox="-101 -118 304 407"><rect x="-101.000000" y="-118.000000" width="304" height="407" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.appendix-icon {
filter: drop-shadow(0px 0px 32px rgba(31, 36, 58, 0.1));
}
.d2-3205202238 .text-bold {
font-family: "d2-3205202238-font-bold";
.d2-916646398 .text-bold {
font-family: "d2-916646398-font-bold";
}
@font-face {
font-family: d2-3205202238-font-bold;
font-family: d2-916646398-font-bold;
src: url("data:application/font-woff;base64,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");
}]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision;
@ -21,78 +21,78 @@
opacity: 0.5;
}
.d2-3205202238 .fill-N1{fill:#0A0F25;}
.d2-3205202238 .fill-N2{fill:#676C7E;}
.d2-3205202238 .fill-N3{fill:#9499AB;}
.d2-3205202238 .fill-N4{fill:#CFD2DD;}
.d2-3205202238 .fill-N5{fill:#DEE1EB;}
.d2-3205202238 .fill-N6{fill:#EEF1F8;}
.d2-3205202238 .fill-N7{fill:#FFFFFF;}
.d2-3205202238 .fill-B1{fill:#0D32B2;}
.d2-3205202238 .fill-B2{fill:#0D32B2;}
.d2-3205202238 .fill-B3{fill:#E3E9FD;}
.d2-3205202238 .fill-B4{fill:#E3E9FD;}
.d2-3205202238 .fill-B5{fill:#EDF0FD;}
.d2-3205202238 .fill-B6{fill:#F7F8FE;}
.d2-3205202238 .fill-AA2{fill:#4A6FF3;}
.d2-3205202238 .fill-AA4{fill:#EDF0FD;}
.d2-3205202238 .fill-AA5{fill:#F7F8FE;}
.d2-3205202238 .fill-AB4{fill:#EDF0FD;}
.d2-3205202238 .fill-AB5{fill:#F7F8FE;}
.d2-3205202238 .stroke-N1{stroke:#0A0F25;}
.d2-3205202238 .stroke-N2{stroke:#676C7E;}
.d2-3205202238 .stroke-N3{stroke:#9499AB;}
.d2-3205202238 .stroke-N4{stroke:#CFD2DD;}
.d2-3205202238 .stroke-N5{stroke:#DEE1EB;}
.d2-3205202238 .stroke-N6{stroke:#EEF1F8;}
.d2-3205202238 .stroke-N7{stroke:#FFFFFF;}
.d2-3205202238 .stroke-B1{stroke:#0D32B2;}
.d2-3205202238 .stroke-B2{stroke:#0D32B2;}
.d2-3205202238 .stroke-B3{stroke:#E3E9FD;}
.d2-3205202238 .stroke-B4{stroke:#E3E9FD;}
.d2-3205202238 .stroke-B5{stroke:#EDF0FD;}
.d2-3205202238 .stroke-B6{stroke:#F7F8FE;}
.d2-3205202238 .stroke-AA2{stroke:#4A6FF3;}
.d2-3205202238 .stroke-AA4{stroke:#EDF0FD;}
.d2-3205202238 .stroke-AA5{stroke:#F7F8FE;}
.d2-3205202238 .stroke-AB4{stroke:#EDF0FD;}
.d2-3205202238 .stroke-AB5{stroke:#F7F8FE;}
.d2-3205202238 .background-color-N1{background-color:#0A0F25;}
.d2-3205202238 .background-color-N2{background-color:#676C7E;}
.d2-3205202238 .background-color-N3{background-color:#9499AB;}
.d2-3205202238 .background-color-N4{background-color:#CFD2DD;}
.d2-3205202238 .background-color-N5{background-color:#DEE1EB;}
.d2-3205202238 .background-color-N6{background-color:#EEF1F8;}
.d2-3205202238 .background-color-N7{background-color:#FFFFFF;}
.d2-3205202238 .background-color-B1{background-color:#0D32B2;}
.d2-3205202238 .background-color-B2{background-color:#0D32B2;}
.d2-3205202238 .background-color-B3{background-color:#E3E9FD;}
.d2-3205202238 .background-color-B4{background-color:#E3E9FD;}
.d2-3205202238 .background-color-B5{background-color:#EDF0FD;}
.d2-3205202238 .background-color-B6{background-color:#F7F8FE;}
.d2-3205202238 .background-color-AA2{background-color:#4A6FF3;}
.d2-3205202238 .background-color-AA4{background-color:#EDF0FD;}
.d2-3205202238 .background-color-AA5{background-color:#F7F8FE;}
.d2-3205202238 .background-color-AB4{background-color:#EDF0FD;}
.d2-3205202238 .background-color-AB5{background-color:#F7F8FE;}
.d2-3205202238 .color-N1{color:#0A0F25;}
.d2-3205202238 .color-N2{color:#676C7E;}
.d2-3205202238 .color-N3{color:#9499AB;}
.d2-3205202238 .color-N4{color:#CFD2DD;}
.d2-3205202238 .color-N5{color:#DEE1EB;}
.d2-3205202238 .color-N6{color:#EEF1F8;}
.d2-3205202238 .color-N7{color:#FFFFFF;}
.d2-3205202238 .color-B1{color:#0D32B2;}
.d2-3205202238 .color-B2{color:#0D32B2;}
.d2-3205202238 .color-B3{color:#E3E9FD;}
.d2-3205202238 .color-B4{color:#E3E9FD;}
.d2-3205202238 .color-B5{color:#EDF0FD;}
.d2-3205202238 .color-B6{color:#F7F8FE;}
.d2-3205202238 .color-AA2{color:#4A6FF3;}
.d2-3205202238 .color-AA4{color:#EDF0FD;}
.d2-3205202238 .color-AA5{color:#F7F8FE;}
.d2-3205202238 .color-AB4{color:#EDF0FD;}
.d2-3205202238 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><a href="root.layers.x" xlink:href="root.layers.x"><g id="x"><g class="shape" ><rect x="0.000000" y="0.000000" width="85.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="42.500000" y="38.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">x</text><g transform="translate(69 -16)" class="appendix-icon"><circle cx="16" cy="16" r="16" fill="white" stroke="#DEE1EB" /><text class="text-bold" x="16" y="21" style="font-size: 16px;text-anchor:middle;">1</text></g></g></a><mask id="d2-3205202238" maskUnits="userSpaceOnUse" x="-101" y="-118" width="304" height="285">
.d2-916646398 .fill-N1{fill:#0A0F25;}
.d2-916646398 .fill-N2{fill:#676C7E;}
.d2-916646398 .fill-N3{fill:#9499AB;}
.d2-916646398 .fill-N4{fill:#CFD2DD;}
.d2-916646398 .fill-N5{fill:#DEE1EB;}
.d2-916646398 .fill-N6{fill:#EEF1F8;}
.d2-916646398 .fill-N7{fill:#FFFFFF;}
.d2-916646398 .fill-B1{fill:#0D32B2;}
.d2-916646398 .fill-B2{fill:#0D32B2;}
.d2-916646398 .fill-B3{fill:#E3E9FD;}
.d2-916646398 .fill-B4{fill:#E3E9FD;}
.d2-916646398 .fill-B5{fill:#EDF0FD;}
.d2-916646398 .fill-B6{fill:#F7F8FE;}
.d2-916646398 .fill-AA2{fill:#4A6FF3;}
.d2-916646398 .fill-AA4{fill:#EDF0FD;}
.d2-916646398 .fill-AA5{fill:#F7F8FE;}
.d2-916646398 .fill-AB4{fill:#EDF0FD;}
.d2-916646398 .fill-AB5{fill:#F7F8FE;}
.d2-916646398 .stroke-N1{stroke:#0A0F25;}
.d2-916646398 .stroke-N2{stroke:#676C7E;}
.d2-916646398 .stroke-N3{stroke:#9499AB;}
.d2-916646398 .stroke-N4{stroke:#CFD2DD;}
.d2-916646398 .stroke-N5{stroke:#DEE1EB;}
.d2-916646398 .stroke-N6{stroke:#EEF1F8;}
.d2-916646398 .stroke-N7{stroke:#FFFFFF;}
.d2-916646398 .stroke-B1{stroke:#0D32B2;}
.d2-916646398 .stroke-B2{stroke:#0D32B2;}
.d2-916646398 .stroke-B3{stroke:#E3E9FD;}
.d2-916646398 .stroke-B4{stroke:#E3E9FD;}
.d2-916646398 .stroke-B5{stroke:#EDF0FD;}
.d2-916646398 .stroke-B6{stroke:#F7F8FE;}
.d2-916646398 .stroke-AA2{stroke:#4A6FF3;}
.d2-916646398 .stroke-AA4{stroke:#EDF0FD;}
.d2-916646398 .stroke-AA5{stroke:#F7F8FE;}
.d2-916646398 .stroke-AB4{stroke:#EDF0FD;}
.d2-916646398 .stroke-AB5{stroke:#F7F8FE;}
.d2-916646398 .background-color-N1{background-color:#0A0F25;}
.d2-916646398 .background-color-N2{background-color:#676C7E;}
.d2-916646398 .background-color-N3{background-color:#9499AB;}
.d2-916646398 .background-color-N4{background-color:#CFD2DD;}
.d2-916646398 .background-color-N5{background-color:#DEE1EB;}
.d2-916646398 .background-color-N6{background-color:#EEF1F8;}
.d2-916646398 .background-color-N7{background-color:#FFFFFF;}
.d2-916646398 .background-color-B1{background-color:#0D32B2;}
.d2-916646398 .background-color-B2{background-color:#0D32B2;}
.d2-916646398 .background-color-B3{background-color:#E3E9FD;}
.d2-916646398 .background-color-B4{background-color:#E3E9FD;}
.d2-916646398 .background-color-B5{background-color:#EDF0FD;}
.d2-916646398 .background-color-B6{background-color:#F7F8FE;}
.d2-916646398 .background-color-AA2{background-color:#4A6FF3;}
.d2-916646398 .background-color-AA4{background-color:#EDF0FD;}
.d2-916646398 .background-color-AA5{background-color:#F7F8FE;}
.d2-916646398 .background-color-AB4{background-color:#EDF0FD;}
.d2-916646398 .background-color-AB5{background-color:#F7F8FE;}
.d2-916646398 .color-N1{color:#0A0F25;}
.d2-916646398 .color-N2{color:#676C7E;}
.d2-916646398 .color-N3{color:#9499AB;}
.d2-916646398 .color-N4{color:#CFD2DD;}
.d2-916646398 .color-N5{color:#DEE1EB;}
.d2-916646398 .color-N6{color:#EEF1F8;}
.d2-916646398 .color-N7{color:#FFFFFF;}
.d2-916646398 .color-B1{color:#0D32B2;}
.d2-916646398 .color-B2{color:#0D32B2;}
.d2-916646398 .color-B3{color:#E3E9FD;}
.d2-916646398 .color-B4{color:#E3E9FD;}
.d2-916646398 .color-B5{color:#EDF0FD;}
.d2-916646398 .color-B6{color:#F7F8FE;}
.d2-916646398 .color-AA2{color:#4A6FF3;}
.d2-916646398 .color-AA4{color:#EDF0FD;}
.d2-916646398 .color-AA5{color:#F7F8FE;}
.d2-916646398 .color-AB4{color:#EDF0FD;}
.d2-916646398 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><a href="root.layers.x" xlink:href="root.layers.x"><g id="x"><g class="shape" ><rect x="0.000000" y="0.000000" width="85.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="42.500000" y="38.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">x</text><g transform="translate(69 -16)" class="appendix-icon"><circle cx="16" cy="16" r="16" fill="white" stroke="#DEE1EB" /><text class="text-bold" x="16" y="21" style="font-size: 16px;text-anchor:middle;">1</text></g></g></a><mask id="d2-916646398" maskUnits="userSpaceOnUse" x="-101" y="-118" width="304" height="285">
<rect x="-101" y="-118" width="304" height="285" fill="white"></rect>
</mask><line x1="-41.000000" x2="143.000000" y1="117.000000" y2="117.000000" class=" stroke-B2" /><g class="appendix" x="-1" y="67" width="104" height="100%"><g transform="translate(0 167)" class="appendix-icon"><circle cx="16" cy="0" r="16" fill="white" stroke="#DEE1EB" /><text class="text-bold" x="16" y="5" style="font-size: 16px;text-anchor:middle;">1</text></g><text class="text" x="48" y="172" style="font-size: 16px;">root &gt; x</text></g>

Before

Width:  |  Height:  |  Size: 657 KiB

After

Width:  |  Height:  |  Size: 657 KiB

View file

@ -828,15 +828,15 @@
"type": "rectangle",
"pos": {
"x": 0,
"y": 0
"y": 41
},
"width": 159,
"height": 66,
"width": 361,
"height": 125,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B6",
"fill": "B4",
"stroke": "B1",
"shadow": false,
"3d": false,
@ -851,6 +851,47 @@
"methods": null,
"columns": null,
"label": "find contractors",
"fontSize": 28,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 187,
"labelHeight": 36,
"labelPosition": "OUTSIDE_TOP_CENTER",
"zIndex": 0,
"level": 1
},
{
"id": "find contractors.craigslist",
"type": "rectangle",
"pos": {
"x": 40,
"y": 70
},
"width": 110,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "craigslist",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
@ -858,18 +899,59 @@
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 114,
"labelWidth": 65,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
"level": 2
},
{
"id": "find contractors.facebook",
"type": "rectangle",
"pos": {
"x": 210,
"y": 70
},
"width": 111,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "facebook",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 66,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "solicit quotes",
"type": "rectangle",
"pos": {
"x": 10,
"y": 166
"x": 196,
"y": 266
},
"width": 140,
"height": 66,
@ -934,20 +1016,20 @@
"labelPercentage": 0,
"route": [
{
"x": 79.5,
"y": 66
},
{
"x": 79.5,
"y": 106
},
{
"x": 79.5,
"y": 126
},
{
"x": 79.5,
"x": 265.5,
"y": 166
},
{
"x": 265.5,
"y": 206
},
{
"x": 265.5,
"y": 226
},
{
"x": 265.5,
"y": 266
}
],
"isCurve": true,
@ -1004,11 +1086,175 @@
"fontFamily": "SourceSansPro",
"shapes": [
{
"id": "obtain quotes",
"id": "find contractors",
"type": "rectangle",
"pos": {
"x": 0,
"y": 0
"y": 41
},
"width": 361,
"height": 125,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B4",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "find contractors",
"fontSize": 28,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 187,
"labelHeight": 36,
"labelPosition": "OUTSIDE_TOP_CENTER",
"zIndex": 0,
"level": 1
},
{
"id": "find contractors.craigslist",
"type": "rectangle",
"pos": {
"x": 40,
"y": 70
},
"width": 110,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "craigslist",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 65,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "find contractors.facebook",
"type": "rectangle",
"pos": {
"x": 210,
"y": 70
},
"width": 111,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "facebook",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 66,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "solicit quotes",
"type": "rectangle",
"pos": {
"x": 196,
"y": 266
},
"width": 140,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B6",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "solicit quotes",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 95,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
},
{
"id": "obtain quotes",
"type": "rectangle",
"pos": {
"x": 401,
"y": 50
},
"width": 143,
"height": 66,
@ -1048,8 +1294,8 @@
"id": "negotiate",
"type": "rectangle",
"pos": {
"x": 16,
"y": 166
"x": 417,
"y": 266
},
"width": 112,
"height": 66,
@ -1087,6 +1333,55 @@
}
],
"connections": [
{
"id": "(find contractors -> solicit quotes)[0]",
"src": "find contractors",
"srcArrow": "none",
"srcLabel": "",
"dst": "solicit quotes",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "B1",
"borderRadius": 10,
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N2",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 265.5,
"y": 166
},
{
"x": 265.5,
"y": 206
},
{
"x": 265.5,
"y": 226
},
{
"x": 265.5,
"y": 266
}
],
"isCurve": true,
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "(obtain quotes -> negotiate)[0]",
"src": "obtain quotes",
@ -1114,20 +1409,20 @@
"labelPercentage": 0,
"route": [
{
"x": 71.5,
"y": 66
"x": 472.5,
"y": 116
},
{
"x": 71.5,
"y": 106
"x": 472.5,
"y": 156
},
{
"x": 71.5,
"y": 126
"x": 472.5,
"y": 226
},
{
"x": 71.5,
"y": 166
"x": 472.5,
"y": 266
}
],
"isCurve": true,
@ -1183,12 +1478,217 @@
"isFolderOnly": false,
"fontFamily": "SourceSansPro",
"shapes": [
{
"id": "find contractors",
"type": "rectangle",
"pos": {
"x": 0,
"y": 41
},
"width": 361,
"height": 125,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B4",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "find contractors",
"fontSize": 28,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 187,
"labelHeight": 36,
"labelPosition": "OUTSIDE_TOP_CENTER",
"zIndex": 0,
"level": 1
},
{
"id": "find contractors.craigslist",
"type": "rectangle",
"pos": {
"x": 40,
"y": 70
},
"width": 110,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "craigslist",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 65,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "find contractors.facebook",
"type": "rectangle",
"pos": {
"x": 210,
"y": 70
},
"width": 111,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "facebook",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 66,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "solicit quotes",
"type": "rectangle",
"pos": {
"x": 196,
"y": 266
},
"width": 140,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B6",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "solicit quotes",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 95,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
},
{
"id": "obtain quotes",
"type": "rectangle",
"pos": {
"x": 401,
"y": 50
},
"width": 143,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B6",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "obtain quotes",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 98,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
},
{
"id": "negotiate",
"type": "rectangle",
"pos": {
"x": 28,
"y": 0
"x": 417,
"y": 266
},
"width": 112,
"height": 66,
@ -1228,8 +1728,8 @@
"id": "book the best bid",
"type": "rectangle",
"pos": {
"x": 0,
"y": 166
"x": 389,
"y": 432
},
"width": 167,
"height": 66,
@ -1267,6 +1767,104 @@
}
],
"connections": [
{
"id": "(find contractors -> solicit quotes)[0]",
"src": "find contractors",
"srcArrow": "none",
"srcLabel": "",
"dst": "solicit quotes",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "B1",
"borderRadius": 10,
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N2",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 265.5,
"y": 166
},
{
"x": 265.5,
"y": 206
},
{
"x": 265.5,
"y": 226
},
{
"x": 265.5,
"y": 266
}
],
"isCurve": true,
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "(obtain quotes -> negotiate)[0]",
"src": "obtain quotes",
"srcArrow": "none",
"srcLabel": "",
"dst": "negotiate",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "B1",
"borderRadius": 10,
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N2",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 472.5,
"y": 116
},
{
"x": 472.5,
"y": 156
},
{
"x": 472.5,
"y": 226
},
{
"x": 472.5,
"y": 266
}
],
"isCurve": true,
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "(negotiate -> book the best bid)[0]",
"src": "negotiate",
@ -1294,20 +1892,20 @@
"labelPercentage": 0,
"route": [
{
"x": 83.5,
"y": 66
"x": 472.5,
"y": 332
},
{
"x": 83.5,
"y": 106
"x": 472.5,
"y": 372
},
{
"x": 83.5,
"y": 126
"x": 472.5,
"y": 392
},
{
"x": 83.5,
"y": 166
"x": 472.5,
"y": 432
}
],
"isCurve": true,

View file

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 394 68"><svg id="d2-svg" class="d2-3917036827" width="394" height="68" viewBox="-1 -1 394 68"><rect x="-1.000000" y="-1.000000" width="394.000000" height="68.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3917036827 .text-bold {
font-family: "d2-3917036827-font-bold";
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 394 68"><svg id="d2-svg" class="d2-1606881621" width="394" height="68" viewBox="-1 -1 394 68"><rect x="-1.000000" y="-1.000000" width="394.000000" height="68.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1606881621 .text-bold {
font-family: "d2-1606881621-font-bold";
}
@font-face {
font-family: d2-3917036827-font-bold;
font-family: d2-1606881621-font-bold;
src: url("data:application/font-woff;base64,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");
}]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision;
@ -18,78 +18,78 @@
opacity: 0.5;
}
.d2-3917036827 .fill-N1{fill:#0A0F25;}
.d2-3917036827 .fill-N2{fill:#676C7E;}
.d2-3917036827 .fill-N3{fill:#9499AB;}
.d2-3917036827 .fill-N4{fill:#CFD2DD;}
.d2-3917036827 .fill-N5{fill:#DEE1EB;}
.d2-3917036827 .fill-N6{fill:#EEF1F8;}
.d2-3917036827 .fill-N7{fill:#FFFFFF;}
.d2-3917036827 .fill-B1{fill:#0D32B2;}
.d2-3917036827 .fill-B2{fill:#0D32B2;}
.d2-3917036827 .fill-B3{fill:#E3E9FD;}
.d2-3917036827 .fill-B4{fill:#E3E9FD;}
.d2-3917036827 .fill-B5{fill:#EDF0FD;}
.d2-3917036827 .fill-B6{fill:#F7F8FE;}
.d2-3917036827 .fill-AA2{fill:#4A6FF3;}
.d2-3917036827 .fill-AA4{fill:#EDF0FD;}
.d2-3917036827 .fill-AA5{fill:#F7F8FE;}
.d2-3917036827 .fill-AB4{fill:#EDF0FD;}
.d2-3917036827 .fill-AB5{fill:#F7F8FE;}
.d2-3917036827 .stroke-N1{stroke:#0A0F25;}
.d2-3917036827 .stroke-N2{stroke:#676C7E;}
.d2-3917036827 .stroke-N3{stroke:#9499AB;}
.d2-3917036827 .stroke-N4{stroke:#CFD2DD;}
.d2-3917036827 .stroke-N5{stroke:#DEE1EB;}
.d2-3917036827 .stroke-N6{stroke:#EEF1F8;}
.d2-3917036827 .stroke-N7{stroke:#FFFFFF;}
.d2-3917036827 .stroke-B1{stroke:#0D32B2;}
.d2-3917036827 .stroke-B2{stroke:#0D32B2;}
.d2-3917036827 .stroke-B3{stroke:#E3E9FD;}
.d2-3917036827 .stroke-B4{stroke:#E3E9FD;}
.d2-3917036827 .stroke-B5{stroke:#EDF0FD;}
.d2-3917036827 .stroke-B6{stroke:#F7F8FE;}
.d2-3917036827 .stroke-AA2{stroke:#4A6FF3;}
.d2-3917036827 .stroke-AA4{stroke:#EDF0FD;}
.d2-3917036827 .stroke-AA5{stroke:#F7F8FE;}
.d2-3917036827 .stroke-AB4{stroke:#EDF0FD;}
.d2-3917036827 .stroke-AB5{stroke:#F7F8FE;}
.d2-3917036827 .background-color-N1{background-color:#0A0F25;}
.d2-3917036827 .background-color-N2{background-color:#676C7E;}
.d2-3917036827 .background-color-N3{background-color:#9499AB;}
.d2-3917036827 .background-color-N4{background-color:#CFD2DD;}
.d2-3917036827 .background-color-N5{background-color:#DEE1EB;}
.d2-3917036827 .background-color-N6{background-color:#EEF1F8;}
.d2-3917036827 .background-color-N7{background-color:#FFFFFF;}
.d2-3917036827 .background-color-B1{background-color:#0D32B2;}
.d2-3917036827 .background-color-B2{background-color:#0D32B2;}
.d2-3917036827 .background-color-B3{background-color:#E3E9FD;}
.d2-3917036827 .background-color-B4{background-color:#E3E9FD;}
.d2-3917036827 .background-color-B5{background-color:#EDF0FD;}
.d2-3917036827 .background-color-B6{background-color:#F7F8FE;}
.d2-3917036827 .background-color-AA2{background-color:#4A6FF3;}
.d2-3917036827 .background-color-AA4{background-color:#EDF0FD;}
.d2-3917036827 .background-color-AA5{background-color:#F7F8FE;}
.d2-3917036827 .background-color-AB4{background-color:#EDF0FD;}
.d2-3917036827 .background-color-AB5{background-color:#F7F8FE;}
.d2-3917036827 .color-N1{color:#0A0F25;}
.d2-3917036827 .color-N2{color:#676C7E;}
.d2-3917036827 .color-N3{color:#9499AB;}
.d2-3917036827 .color-N4{color:#CFD2DD;}
.d2-3917036827 .color-N5{color:#DEE1EB;}
.d2-3917036827 .color-N6{color:#EEF1F8;}
.d2-3917036827 .color-N7{color:#FFFFFF;}
.d2-3917036827 .color-B1{color:#0D32B2;}
.d2-3917036827 .color-B2{color:#0D32B2;}
.d2-3917036827 .color-B3{color:#E3E9FD;}
.d2-3917036827 .color-B4{color:#E3E9FD;}
.d2-3917036827 .color-B5{color:#EDF0FD;}
.d2-3917036827 .color-B6{color:#F7F8FE;}
.d2-3917036827 .color-AA2{color:#4A6FF3;}
.d2-3917036827 .color-AA4{color:#EDF0FD;}
.d2-3917036827 .color-AA5{color:#F7F8FE;}
.d2-3917036827 .color-AB4{color:#EDF0FD;}
.d2-3917036827 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g id="window"><g class="shape" ><rect x="0.000000" y="0.000000" width="103.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /><rect x="5.000000" y="5.000000" width="93.000000" height="56.000000" fill="transparent" class=" stroke-B1" style="stroke-width:2;" /></g><text x="51.500000" y="38.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">window</text></g><g id="roof"><g class="shape" ><rect x="163.000000" y="0.000000" width="75.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="200.500000" y="38.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">roof</text></g><g id="garage"><g class="shape" ><rect x="298.000000" y="0.000000" width="94.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="345.000000" y="38.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">garage</text></g><mask id="d2-3917036827" maskUnits="userSpaceOnUse" x="-1" y="-1" width="394" height="68">
.d2-1606881621 .fill-N1{fill:#0A0F25;}
.d2-1606881621 .fill-N2{fill:#676C7E;}
.d2-1606881621 .fill-N3{fill:#9499AB;}
.d2-1606881621 .fill-N4{fill:#CFD2DD;}
.d2-1606881621 .fill-N5{fill:#DEE1EB;}
.d2-1606881621 .fill-N6{fill:#EEF1F8;}
.d2-1606881621 .fill-N7{fill:#FFFFFF;}
.d2-1606881621 .fill-B1{fill:#0D32B2;}
.d2-1606881621 .fill-B2{fill:#0D32B2;}
.d2-1606881621 .fill-B3{fill:#E3E9FD;}
.d2-1606881621 .fill-B4{fill:#E3E9FD;}
.d2-1606881621 .fill-B5{fill:#EDF0FD;}
.d2-1606881621 .fill-B6{fill:#F7F8FE;}
.d2-1606881621 .fill-AA2{fill:#4A6FF3;}
.d2-1606881621 .fill-AA4{fill:#EDF0FD;}
.d2-1606881621 .fill-AA5{fill:#F7F8FE;}
.d2-1606881621 .fill-AB4{fill:#EDF0FD;}
.d2-1606881621 .fill-AB5{fill:#F7F8FE;}
.d2-1606881621 .stroke-N1{stroke:#0A0F25;}
.d2-1606881621 .stroke-N2{stroke:#676C7E;}
.d2-1606881621 .stroke-N3{stroke:#9499AB;}
.d2-1606881621 .stroke-N4{stroke:#CFD2DD;}
.d2-1606881621 .stroke-N5{stroke:#DEE1EB;}
.d2-1606881621 .stroke-N6{stroke:#EEF1F8;}
.d2-1606881621 .stroke-N7{stroke:#FFFFFF;}
.d2-1606881621 .stroke-B1{stroke:#0D32B2;}
.d2-1606881621 .stroke-B2{stroke:#0D32B2;}
.d2-1606881621 .stroke-B3{stroke:#E3E9FD;}
.d2-1606881621 .stroke-B4{stroke:#E3E9FD;}
.d2-1606881621 .stroke-B5{stroke:#EDF0FD;}
.d2-1606881621 .stroke-B6{stroke:#F7F8FE;}
.d2-1606881621 .stroke-AA2{stroke:#4A6FF3;}
.d2-1606881621 .stroke-AA4{stroke:#EDF0FD;}
.d2-1606881621 .stroke-AA5{stroke:#F7F8FE;}
.d2-1606881621 .stroke-AB4{stroke:#EDF0FD;}
.d2-1606881621 .stroke-AB5{stroke:#F7F8FE;}
.d2-1606881621 .background-color-N1{background-color:#0A0F25;}
.d2-1606881621 .background-color-N2{background-color:#676C7E;}
.d2-1606881621 .background-color-N3{background-color:#9499AB;}
.d2-1606881621 .background-color-N4{background-color:#CFD2DD;}
.d2-1606881621 .background-color-N5{background-color:#DEE1EB;}
.d2-1606881621 .background-color-N6{background-color:#EEF1F8;}
.d2-1606881621 .background-color-N7{background-color:#FFFFFF;}
.d2-1606881621 .background-color-B1{background-color:#0D32B2;}
.d2-1606881621 .background-color-B2{background-color:#0D32B2;}
.d2-1606881621 .background-color-B3{background-color:#E3E9FD;}
.d2-1606881621 .background-color-B4{background-color:#E3E9FD;}
.d2-1606881621 .background-color-B5{background-color:#EDF0FD;}
.d2-1606881621 .background-color-B6{background-color:#F7F8FE;}
.d2-1606881621 .background-color-AA2{background-color:#4A6FF3;}
.d2-1606881621 .background-color-AA4{background-color:#EDF0FD;}
.d2-1606881621 .background-color-AA5{background-color:#F7F8FE;}
.d2-1606881621 .background-color-AB4{background-color:#EDF0FD;}
.d2-1606881621 .background-color-AB5{background-color:#F7F8FE;}
.d2-1606881621 .color-N1{color:#0A0F25;}
.d2-1606881621 .color-N2{color:#676C7E;}
.d2-1606881621 .color-N3{color:#9499AB;}
.d2-1606881621 .color-N4{color:#CFD2DD;}
.d2-1606881621 .color-N5{color:#DEE1EB;}
.d2-1606881621 .color-N6{color:#EEF1F8;}
.d2-1606881621 .color-N7{color:#FFFFFF;}
.d2-1606881621 .color-B1{color:#0D32B2;}
.d2-1606881621 .color-B2{color:#0D32B2;}
.d2-1606881621 .color-B3{color:#E3E9FD;}
.d2-1606881621 .color-B4{color:#E3E9FD;}
.d2-1606881621 .color-B5{color:#EDF0FD;}
.d2-1606881621 .color-B6{color:#F7F8FE;}
.d2-1606881621 .color-AA2{color:#4A6FF3;}
.d2-1606881621 .color-AA4{color:#EDF0FD;}
.d2-1606881621 .color-AA5{color:#F7F8FE;}
.d2-1606881621 .color-AB4{color:#EDF0FD;}
.d2-1606881621 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g id="window"><g class="shape" ><rect x="0.000000" y="0.000000" width="103.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /><rect x="5.000000" y="5.000000" width="93.000000" height="56.000000" fill="transparent" class=" stroke-B1" style="stroke-width:2;" /></g><text x="51.500000" y="38.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">window</text></g><g id="roof"><g class="shape" ><rect x="163.000000" y="0.000000" width="75.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="200.500000" y="38.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">roof</text></g><g id="garage"><g class="shape" ><rect x="298.000000" y="0.000000" width="94.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="345.000000" y="38.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">garage</text></g><mask id="d2-1606881621" maskUnits="userSpaceOnUse" x="-1" y="-1" width="394" height="68">
<rect x="-1" y="-1" width="394" height="68" fill="white"></rect>
</mask></svg></svg>

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View file

@ -830,13 +830,13 @@
"x": 12,
"y": 12
},
"width": 159,
"height": 66,
"width": 341,
"height": 166,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B6",
"fill": "B4",
"stroke": "B1",
"shadow": false,
"3d": false,
@ -851,6 +851,47 @@
"methods": null,
"columns": null,
"label": "find contractors",
"fontSize": 28,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 187,
"labelHeight": 36,
"labelPosition": "INSIDE_TOP_CENTER",
"zIndex": 0,
"level": 1
},
{
"id": "find contractors.craigslist",
"type": "rectangle",
"pos": {
"x": 62,
"y": 62
},
"width": 110,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "craigslist",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
@ -858,18 +899,59 @@
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 114,
"labelWidth": 65,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
"level": 2
},
{
"id": "find contractors.facebook",
"type": "rectangle",
"pos": {
"x": 192,
"y": 62
},
"width": 111,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "facebook",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 66,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "solicit quotes",
"type": "rectangle",
"pos": {
"x": 21,
"y": 148
"x": 112,
"y": 248
},
"width": 140,
"height": 66,
@ -934,12 +1016,12 @@
"labelPercentage": 0,
"route": [
{
"x": 91.5,
"y": 78
"x": 182.5,
"y": 178
},
{
"x": 91.5,
"y": 148
"x": 182.5,
"y": 248
}
],
"animated": false,
@ -995,12 +1077,176 @@
"fontFamily": "SourceSansPro",
"shapes": [
{
"id": "obtain quotes",
"id": "find contractors",
"type": "rectangle",
"pos": {
"x": 12,
"y": 12
},
"width": 341,
"height": 166,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B4",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "find contractors",
"fontSize": 28,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 187,
"labelHeight": 36,
"labelPosition": "INSIDE_TOP_CENTER",
"zIndex": 0,
"level": 1
},
{
"id": "find contractors.craigslist",
"type": "rectangle",
"pos": {
"x": 62,
"y": 62
},
"width": 110,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "craigslist",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 65,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "find contractors.facebook",
"type": "rectangle",
"pos": {
"x": 192,
"y": 62
},
"width": 111,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "facebook",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 66,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "solicit quotes",
"type": "rectangle",
"pos": {
"x": 112,
"y": 248
},
"width": 140,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B6",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "solicit quotes",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 95,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
},
{
"id": "obtain quotes",
"type": "rectangle",
"pos": {
"x": 373,
"y": 112
},
"width": 143,
"height": 66,
"opacity": 1,
@ -1039,8 +1285,8 @@
"id": "negotiate",
"type": "rectangle",
"pos": {
"x": 27,
"y": 148
"x": 388,
"y": 248
},
"width": 112,
"height": 66,
@ -1078,6 +1324,46 @@
}
],
"connections": [
{
"id": "(find contractors -> solicit quotes)[0]",
"src": "find contractors",
"srcArrow": "none",
"srcLabel": "",
"dst": "solicit quotes",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "B1",
"borderRadius": 10,
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N2",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 182.5,
"y": 178
},
{
"x": 182.5,
"y": 248
}
],
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "(obtain quotes -> negotiate)[0]",
"src": "obtain quotes",
@ -1105,12 +1391,12 @@
"labelPercentage": 0,
"route": [
{
"x": 83.5,
"y": 78
"x": 444.5,
"y": 178
},
{
"x": 83.5,
"y": 148
"x": 444.5,
"y": 248
}
],
"animated": false,
@ -1165,12 +1451,217 @@
"isFolderOnly": false,
"fontFamily": "SourceSansPro",
"shapes": [
{
"id": "find contractors",
"type": "rectangle",
"pos": {
"x": 12,
"y": 12
},
"width": 341,
"height": 166,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B4",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "find contractors",
"fontSize": 28,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 187,
"labelHeight": 36,
"labelPosition": "INSIDE_TOP_CENTER",
"zIndex": 0,
"level": 1
},
{
"id": "find contractors.craigslist",
"type": "rectangle",
"pos": {
"x": 62,
"y": 62
},
"width": 110,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "craigslist",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 65,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "find contractors.facebook",
"type": "rectangle",
"pos": {
"x": 192,
"y": 62
},
"width": 111,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "facebook",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 66,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "solicit quotes",
"type": "rectangle",
"pos": {
"x": 112,
"y": 248
},
"width": 140,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B6",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "solicit quotes",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 95,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
},
{
"id": "obtain quotes",
"type": "rectangle",
"pos": {
"x": 373,
"y": 112
},
"width": 143,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B6",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "obtain quotes",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 98,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 1
},
{
"id": "negotiate",
"type": "rectangle",
"pos": {
"x": 39,
"y": 12
"x": 388,
"y": 248
},
"width": 112,
"height": 66,
@ -1210,8 +1701,8 @@
"id": "book the best bid",
"type": "rectangle",
"pos": {
"x": 12,
"y": 148
"x": 361,
"y": 384
},
"width": 167,
"height": 66,
@ -1249,6 +1740,86 @@
}
],
"connections": [
{
"id": "(find contractors -> solicit quotes)[0]",
"src": "find contractors",
"srcArrow": "none",
"srcLabel": "",
"dst": "solicit quotes",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "B1",
"borderRadius": 10,
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N2",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 182.5,
"y": 178
},
{
"x": 182.5,
"y": 248
}
],
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "(obtain quotes -> negotiate)[0]",
"src": "obtain quotes",
"srcArrow": "none",
"srcLabel": "",
"dst": "negotiate",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "B1",
"borderRadius": 10,
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N2",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 444.5,
"y": 178
},
{
"x": 444.5,
"y": 248
}
],
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "(negotiate -> book the best bid)[0]",
"src": "negotiate",
@ -1276,12 +1847,12 @@
"labelPercentage": 0,
"route": [
{
"x": 95.5,
"y": 78
"x": 444.5,
"y": 314
},
{
"x": 95.5,
"y": 148
"x": 444.5,
"y": 384
}
],
"animated": false,

View file

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 314 68"><svg id="d2-svg" class="d2-2455851432" width="314" height="68" viewBox="11 11 314 68"><rect x="11.000000" y="11.000000" width="314.000000" height="68.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2455851432 .text-bold {
font-family: "d2-2455851432-font-bold";
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 314 68"><svg id="d2-svg" class="d2-1428720329" width="314" height="68" viewBox="11 11 314 68"><rect x="11.000000" y="11.000000" width="314.000000" height="68.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1428720329 .text-bold {
font-family: "d2-1428720329-font-bold";
}
@font-face {
font-family: d2-2455851432-font-bold;
font-family: d2-1428720329-font-bold;
src: url("data:application/font-woff;base64,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");
}]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision;
@ -18,78 +18,78 @@
opacity: 0.5;
}
.d2-2455851432 .fill-N1{fill:#0A0F25;}
.d2-2455851432 .fill-N2{fill:#676C7E;}
.d2-2455851432 .fill-N3{fill:#9499AB;}
.d2-2455851432 .fill-N4{fill:#CFD2DD;}
.d2-2455851432 .fill-N5{fill:#DEE1EB;}
.d2-2455851432 .fill-N6{fill:#EEF1F8;}
.d2-2455851432 .fill-N7{fill:#FFFFFF;}
.d2-2455851432 .fill-B1{fill:#0D32B2;}
.d2-2455851432 .fill-B2{fill:#0D32B2;}
.d2-2455851432 .fill-B3{fill:#E3E9FD;}
.d2-2455851432 .fill-B4{fill:#E3E9FD;}
.d2-2455851432 .fill-B5{fill:#EDF0FD;}
.d2-2455851432 .fill-B6{fill:#F7F8FE;}
.d2-2455851432 .fill-AA2{fill:#4A6FF3;}
.d2-2455851432 .fill-AA4{fill:#EDF0FD;}
.d2-2455851432 .fill-AA5{fill:#F7F8FE;}
.d2-2455851432 .fill-AB4{fill:#EDF0FD;}
.d2-2455851432 .fill-AB5{fill:#F7F8FE;}
.d2-2455851432 .stroke-N1{stroke:#0A0F25;}
.d2-2455851432 .stroke-N2{stroke:#676C7E;}
.d2-2455851432 .stroke-N3{stroke:#9499AB;}
.d2-2455851432 .stroke-N4{stroke:#CFD2DD;}
.d2-2455851432 .stroke-N5{stroke:#DEE1EB;}
.d2-2455851432 .stroke-N6{stroke:#EEF1F8;}
.d2-2455851432 .stroke-N7{stroke:#FFFFFF;}
.d2-2455851432 .stroke-B1{stroke:#0D32B2;}
.d2-2455851432 .stroke-B2{stroke:#0D32B2;}
.d2-2455851432 .stroke-B3{stroke:#E3E9FD;}
.d2-2455851432 .stroke-B4{stroke:#E3E9FD;}
.d2-2455851432 .stroke-B5{stroke:#EDF0FD;}
.d2-2455851432 .stroke-B6{stroke:#F7F8FE;}
.d2-2455851432 .stroke-AA2{stroke:#4A6FF3;}
.d2-2455851432 .stroke-AA4{stroke:#EDF0FD;}
.d2-2455851432 .stroke-AA5{stroke:#F7F8FE;}
.d2-2455851432 .stroke-AB4{stroke:#EDF0FD;}
.d2-2455851432 .stroke-AB5{stroke:#F7F8FE;}
.d2-2455851432 .background-color-N1{background-color:#0A0F25;}
.d2-2455851432 .background-color-N2{background-color:#676C7E;}
.d2-2455851432 .background-color-N3{background-color:#9499AB;}
.d2-2455851432 .background-color-N4{background-color:#CFD2DD;}
.d2-2455851432 .background-color-N5{background-color:#DEE1EB;}
.d2-2455851432 .background-color-N6{background-color:#EEF1F8;}
.d2-2455851432 .background-color-N7{background-color:#FFFFFF;}
.d2-2455851432 .background-color-B1{background-color:#0D32B2;}
.d2-2455851432 .background-color-B2{background-color:#0D32B2;}
.d2-2455851432 .background-color-B3{background-color:#E3E9FD;}
.d2-2455851432 .background-color-B4{background-color:#E3E9FD;}
.d2-2455851432 .background-color-B5{background-color:#EDF0FD;}
.d2-2455851432 .background-color-B6{background-color:#F7F8FE;}
.d2-2455851432 .background-color-AA2{background-color:#4A6FF3;}
.d2-2455851432 .background-color-AA4{background-color:#EDF0FD;}
.d2-2455851432 .background-color-AA5{background-color:#F7F8FE;}
.d2-2455851432 .background-color-AB4{background-color:#EDF0FD;}
.d2-2455851432 .background-color-AB5{background-color:#F7F8FE;}
.d2-2455851432 .color-N1{color:#0A0F25;}
.d2-2455851432 .color-N2{color:#676C7E;}
.d2-2455851432 .color-N3{color:#9499AB;}
.d2-2455851432 .color-N4{color:#CFD2DD;}
.d2-2455851432 .color-N5{color:#DEE1EB;}
.d2-2455851432 .color-N6{color:#EEF1F8;}
.d2-2455851432 .color-N7{color:#FFFFFF;}
.d2-2455851432 .color-B1{color:#0D32B2;}
.d2-2455851432 .color-B2{color:#0D32B2;}
.d2-2455851432 .color-B3{color:#E3E9FD;}
.d2-2455851432 .color-B4{color:#E3E9FD;}
.d2-2455851432 .color-B5{color:#EDF0FD;}
.d2-2455851432 .color-B6{color:#F7F8FE;}
.d2-2455851432 .color-AA2{color:#4A6FF3;}
.d2-2455851432 .color-AA4{color:#EDF0FD;}
.d2-2455851432 .color-AA5{color:#F7F8FE;}
.d2-2455851432 .color-AB4{color:#EDF0FD;}
.d2-2455851432 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g id="window"><g class="shape" ><rect x="12.000000" y="12.000000" width="103.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /><rect x="17.000000" y="17.000000" width="93.000000" height="56.000000" fill="transparent" class=" stroke-B1" style="stroke-width:2;" /></g><text x="63.500000" y="50.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">window</text></g><g id="roof"><g class="shape" ><rect x="135.000000" y="12.000000" width="75.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="172.500000" y="50.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">roof</text></g><g id="garage"><g class="shape" ><rect x="230.000000" y="12.000000" width="94.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="277.000000" y="50.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">garage</text></g><mask id="d2-2455851432" maskUnits="userSpaceOnUse" x="11" y="11" width="314" height="68">
.d2-1428720329 .fill-N1{fill:#0A0F25;}
.d2-1428720329 .fill-N2{fill:#676C7E;}
.d2-1428720329 .fill-N3{fill:#9499AB;}
.d2-1428720329 .fill-N4{fill:#CFD2DD;}
.d2-1428720329 .fill-N5{fill:#DEE1EB;}
.d2-1428720329 .fill-N6{fill:#EEF1F8;}
.d2-1428720329 .fill-N7{fill:#FFFFFF;}
.d2-1428720329 .fill-B1{fill:#0D32B2;}
.d2-1428720329 .fill-B2{fill:#0D32B2;}
.d2-1428720329 .fill-B3{fill:#E3E9FD;}
.d2-1428720329 .fill-B4{fill:#E3E9FD;}
.d2-1428720329 .fill-B5{fill:#EDF0FD;}
.d2-1428720329 .fill-B6{fill:#F7F8FE;}
.d2-1428720329 .fill-AA2{fill:#4A6FF3;}
.d2-1428720329 .fill-AA4{fill:#EDF0FD;}
.d2-1428720329 .fill-AA5{fill:#F7F8FE;}
.d2-1428720329 .fill-AB4{fill:#EDF0FD;}
.d2-1428720329 .fill-AB5{fill:#F7F8FE;}
.d2-1428720329 .stroke-N1{stroke:#0A0F25;}
.d2-1428720329 .stroke-N2{stroke:#676C7E;}
.d2-1428720329 .stroke-N3{stroke:#9499AB;}
.d2-1428720329 .stroke-N4{stroke:#CFD2DD;}
.d2-1428720329 .stroke-N5{stroke:#DEE1EB;}
.d2-1428720329 .stroke-N6{stroke:#EEF1F8;}
.d2-1428720329 .stroke-N7{stroke:#FFFFFF;}
.d2-1428720329 .stroke-B1{stroke:#0D32B2;}
.d2-1428720329 .stroke-B2{stroke:#0D32B2;}
.d2-1428720329 .stroke-B3{stroke:#E3E9FD;}
.d2-1428720329 .stroke-B4{stroke:#E3E9FD;}
.d2-1428720329 .stroke-B5{stroke:#EDF0FD;}
.d2-1428720329 .stroke-B6{stroke:#F7F8FE;}
.d2-1428720329 .stroke-AA2{stroke:#4A6FF3;}
.d2-1428720329 .stroke-AA4{stroke:#EDF0FD;}
.d2-1428720329 .stroke-AA5{stroke:#F7F8FE;}
.d2-1428720329 .stroke-AB4{stroke:#EDF0FD;}
.d2-1428720329 .stroke-AB5{stroke:#F7F8FE;}
.d2-1428720329 .background-color-N1{background-color:#0A0F25;}
.d2-1428720329 .background-color-N2{background-color:#676C7E;}
.d2-1428720329 .background-color-N3{background-color:#9499AB;}
.d2-1428720329 .background-color-N4{background-color:#CFD2DD;}
.d2-1428720329 .background-color-N5{background-color:#DEE1EB;}
.d2-1428720329 .background-color-N6{background-color:#EEF1F8;}
.d2-1428720329 .background-color-N7{background-color:#FFFFFF;}
.d2-1428720329 .background-color-B1{background-color:#0D32B2;}
.d2-1428720329 .background-color-B2{background-color:#0D32B2;}
.d2-1428720329 .background-color-B3{background-color:#E3E9FD;}
.d2-1428720329 .background-color-B4{background-color:#E3E9FD;}
.d2-1428720329 .background-color-B5{background-color:#EDF0FD;}
.d2-1428720329 .background-color-B6{background-color:#F7F8FE;}
.d2-1428720329 .background-color-AA2{background-color:#4A6FF3;}
.d2-1428720329 .background-color-AA4{background-color:#EDF0FD;}
.d2-1428720329 .background-color-AA5{background-color:#F7F8FE;}
.d2-1428720329 .background-color-AB4{background-color:#EDF0FD;}
.d2-1428720329 .background-color-AB5{background-color:#F7F8FE;}
.d2-1428720329 .color-N1{color:#0A0F25;}
.d2-1428720329 .color-N2{color:#676C7E;}
.d2-1428720329 .color-N3{color:#9499AB;}
.d2-1428720329 .color-N4{color:#CFD2DD;}
.d2-1428720329 .color-N5{color:#DEE1EB;}
.d2-1428720329 .color-N6{color:#EEF1F8;}
.d2-1428720329 .color-N7{color:#FFFFFF;}
.d2-1428720329 .color-B1{color:#0D32B2;}
.d2-1428720329 .color-B2{color:#0D32B2;}
.d2-1428720329 .color-B3{color:#E3E9FD;}
.d2-1428720329 .color-B4{color:#E3E9FD;}
.d2-1428720329 .color-B5{color:#EDF0FD;}
.d2-1428720329 .color-B6{color:#F7F8FE;}
.d2-1428720329 .color-AA2{color:#4A6FF3;}
.d2-1428720329 .color-AA4{color:#EDF0FD;}
.d2-1428720329 .color-AA5{color:#F7F8FE;}
.d2-1428720329 .color-AB4{color:#EDF0FD;}
.d2-1428720329 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g id="window"><g class="shape" ><rect x="12.000000" y="12.000000" width="103.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /><rect x="17.000000" y="17.000000" width="93.000000" height="56.000000" fill="transparent" class=" stroke-B1" style="stroke-width:2;" /></g><text x="63.500000" y="50.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">window</text></g><g id="roof"><g class="shape" ><rect x="135.000000" y="12.000000" width="75.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="172.500000" y="50.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">roof</text></g><g id="garage"><g class="shape" ><rect x="230.000000" y="12.000000" width="94.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="277.000000" y="50.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">garage</text></g><mask id="d2-1428720329" maskUnits="userSpaceOnUse" x="11" y="11" width="314" height="68">
<rect x="11" y="11" width="314" height="68" fill="white"></rect>
</mask></svg></svg>

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View file

@ -1361,7 +1361,55 @@
"zIndex": 0
},
"edges": null,
"objects": null
"objects": [
{
"id": "clause",
"id_val": "clause",
"label_dimensions": {
"width": 0,
"height": 0
},
"references": [
{
"key": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/isFolderOnly.d2,6:4:47-6:10:53",
"path": [
{
"unquoted_string": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/isFolderOnly.d2,6:4:47-6:10:53",
"value": [
{
"string": "clause",
"raw_string": "clause"
}
]
}
}
]
},
"key_path_index": 0,
"map_key_edge_index": -1
}
],
"attributes": {
"label": {
"value": "clause"
},
"style": {},
"near_key": null,
"shape": {
"value": "rectangle"
},
"direction": {
"value": ""
},
"constraint": {
"value": ""
}
},
"zIndex": 0
}
]
},
{
"name": "missoula",
@ -1678,7 +1726,55 @@
"zIndex": 0
},
"edges": null,
"objects": null
"objects": [
{
"id": "clause",
"id_val": "clause",
"label_dimensions": {
"width": 0,
"height": 0
},
"references": [
{
"key": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/isFolderOnly.d2,6:4:47-6:10:53",
"path": [
{
"unquoted_string": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/isFolderOnly.d2,6:4:47-6:10:53",
"value": [
{
"string": "clause",
"raw_string": "clause"
}
]
}
}
]
},
"key_path_index": 0,
"map_key_edge_index": -1
}
],
"attributes": {
"label": {
"value": "clause"
},
"style": {},
"near_key": null,
"shape": {
"value": "rectangle"
},
"direction": {
"value": ""
},
"constraint": {
"value": ""
}
},
"zIndex": 0
}
]
}
]
}

View file

@ -1442,6 +1442,53 @@
},
"edges": null,
"objects": [
{
"id": "clause",
"id_val": "clause",
"label_dimensions": {
"width": 0,
"height": 0
},
"references": [
{
"key": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/recursive.d2,7:4:52-7:10:58",
"path": [
{
"unquoted_string": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/recursive.d2,7:4:52-7:10:58",
"value": [
{
"string": "clause",
"raw_string": "clause"
}
]
}
}
]
},
"key_path_index": 0,
"map_key_edge_index": -1
}
],
"attributes": {
"label": {
"value": "clause"
},
"style": {},
"near_key": null,
"shape": {
"value": "rectangle"
},
"direction": {
"value": ""
},
"constraint": {
"value": ""
}
},
"zIndex": 0
},
{
"id": "reindeer",
"id_val": "reindeer",
@ -1815,6 +1862,100 @@
},
"edges": null,
"objects": [
{
"id": "clause",
"id_val": "clause",
"label_dimensions": {
"width": 0,
"height": 0
},
"references": [
{
"key": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/recursive.d2,7:4:52-7:10:58",
"path": [
{
"unquoted_string": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/recursive.d2,7:4:52-7:10:58",
"value": [
{
"string": "clause",
"raw_string": "clause"
}
]
}
}
]
},
"key_path_index": 0,
"map_key_edge_index": -1
}
],
"attributes": {
"label": {
"value": "clause"
},
"style": {},
"near_key": null,
"shape": {
"value": "rectangle"
},
"direction": {
"value": ""
},
"constraint": {
"value": ""
}
},
"zIndex": 0
},
{
"id": "reindeer",
"id_val": "reindeer",
"label_dimensions": {
"width": 0,
"height": 0
},
"references": [
{
"key": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/recursive.d2,10:4:89-10:12:97",
"path": [
{
"unquoted_string": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/recursive.d2,10:4:89-10:12:97",
"value": [
{
"string": "reindeer",
"raw_string": "reindeer"
}
]
}
}
]
},
"key_path_index": 0,
"map_key_edge_index": -1
}
],
"attributes": {
"label": {
"value": "reindeer"
},
"style": {},
"near_key": null,
"shape": {
"value": "rectangle"
},
"direction": {
"value": ""
},
"constraint": {
"value": ""
}
},
"zIndex": 0
},
{
"id": "montana",
"id_val": "montana",

View file

@ -0,0 +1,760 @@
{
"graph": {
"name": "",
"isFolderOnly": false,
"ast": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,0:0:0-7:0:69",
"nodes": [
{
"map_key": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,0:0:0-0:6:6",
"edges": [
{
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,0:0:0-0:6:6",
"src": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,0:0:0-0:2:2",
"path": [
{
"unquoted_string": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,0:0:0-0:1:1",
"value": [
{
"string": "a",
"raw_string": "a"
}
]
}
}
]
},
"src_arrow": "",
"dst": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,0:4:4-0:6:6",
"path": [
{
"unquoted_string": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,0:5:5-0:6:6",
"value": [
{
"string": "x",
"raw_string": "x"
}
]
}
}
]
},
"dst_arrow": ">"
}
],
"primary": {},
"value": {}
}
},
{
"map_key": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,2:0:8-6:1:68",
"key": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,2:0:8-2:9:17",
"path": [
{
"unquoted_string": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,2:0:8-2:9:17",
"value": [
{
"string": "scenarios",
"raw_string": "scenarios"
}
]
}
}
]
},
"primary": {},
"value": {
"map": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,2:11:19-6:0:67",
"nodes": [
{
"map_key": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,3:2:23-5:3:66",
"key": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,3:2:23-3:3:24",
"path": [
{
"unquoted_string": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,3:2:23-3:3:24",
"value": [
{
"string": "1",
"raw_string": "1"
}
]
}
}
]
},
"primary": {},
"value": {
"map": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,3:5:26-5:2:65",
"nodes": [
{
"map_key": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,4:4:32-4:34:62",
"edges": [
{
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,4:5:33-4:11:39",
"src": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,4:5:33-4:7:35",
"path": [
{
"unquoted_string": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,4:5:33-4:6:34",
"value": [
{
"string": "a",
"raw_string": "a"
}
]
}
}
]
},
"src_arrow": "",
"dst": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,4:9:37-4:11:39",
"path": [
{
"unquoted_string": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,4:10:38-4:11:39",
"value": [
{
"string": "x",
"raw_string": "x"
}
]
}
}
]
},
"dst_arrow": ">"
}
],
"edge_index": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,4:12:40-4:15:43",
"int": 0,
"glob": false
},
"edge_key": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,4:16:44-4:29:57",
"path": [
{
"unquoted_string": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,4:16:44-4:21:49",
"value": [
{
"string": "style",
"raw_string": "style"
}
]
}
},
{
"unquoted_string": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,4:22:50-4:29:57",
"value": [
{
"string": "opacity",
"raw_string": "opacity"
}
]
}
}
]
},
"primary": {},
"value": {
"number": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,4:31:59-4:34:62",
"raw": "0.1",
"value": "1/10"
}
}
}
}
]
}
}
}
}
]
}
}
}
}
]
},
"root": {
"id": "",
"id_val": "",
"label_dimensions": {
"width": 0,
"height": 0
},
"attributes": {
"label": {
"value": ""
},
"style": {},
"near_key": null,
"shape": {
"value": ""
},
"direction": {
"value": ""
},
"constraint": {
"value": ""
}
},
"zIndex": 0
},
"edges": [
{
"index": 0,
"minWidth": 0,
"minHeight": 0,
"label_dimensions": {
"width": 0,
"height": 0
},
"isCurve": false,
"src_arrow": false,
"dst_arrow": true,
"references": [
{
"map_key_edge_index": 0
}
],
"attributes": {
"label": {
"value": ""
},
"style": {},
"near_key": null,
"shape": {
"value": ""
},
"direction": {
"value": ""
},
"constraint": {
"value": ""
}
},
"zIndex": 0
}
],
"objects": [
{
"id": "a",
"id_val": "a",
"label_dimensions": {
"width": 0,
"height": 0
},
"references": [
{
"key": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,0:0:0-0:2:2",
"path": [
{
"unquoted_string": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,0:0:0-0:1:1",
"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": "rectangle"
},
"direction": {
"value": ""
},
"constraint": {
"value": ""
}
},
"zIndex": 0
},
{
"id": "x",
"id_val": "x",
"label_dimensions": {
"width": 0,
"height": 0
},
"references": [
{
"key": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,0:4:4-0:6:6",
"path": [
{
"unquoted_string": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,0:5:5-0:6:6",
"value": [
{
"string": "x",
"raw_string": "x"
}
]
}
}
]
},
"key_path_index": 0,
"map_key_edge_index": 0
}
],
"attributes": {
"label": {
"value": "x"
},
"style": {},
"near_key": null,
"shape": {
"value": "rectangle"
},
"direction": {
"value": ""
},
"constraint": {
"value": ""
}
},
"zIndex": 0
}
],
"scenarios": [
{
"name": "1",
"isFolderOnly": false,
"ast": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,0:0:0-7:0:69",
"nodes": [
{
"map_key": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,0:0:0-0:6:6",
"edges": [
{
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,0:0:0-0:6:6",
"src": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,0:0:0-0:2:2",
"path": [
{
"unquoted_string": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,0:0:0-0:1:1",
"value": [
{
"string": "a",
"raw_string": "a"
}
]
}
}
]
},
"src_arrow": "",
"dst": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,0:4:4-0:6:6",
"path": [
{
"unquoted_string": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,0:5:5-0:6:6",
"value": [
{
"string": "x",
"raw_string": "x"
}
]
}
}
]
},
"dst_arrow": ">"
}
],
"primary": {},
"value": {}
}
},
{
"map_key": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,2:0:8-6:1:68",
"key": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,2:0:8-2:9:17",
"path": [
{
"unquoted_string": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,2:0:8-2:9:17",
"value": [
{
"string": "scenarios",
"raw_string": "scenarios"
}
]
}
}
]
},
"primary": {},
"value": {
"map": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,2:11:19-6:0:67",
"nodes": [
{
"map_key": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,3:2:23-5:3:66",
"key": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,3:2:23-3:3:24",
"path": [
{
"unquoted_string": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,3:2:23-3:3:24",
"value": [
{
"string": "1",
"raw_string": "1"
}
]
}
}
]
},
"primary": {},
"value": {
"map": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,3:5:26-5:2:65",
"nodes": [
{
"map_key": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,4:4:32-4:34:62",
"edges": [
{
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,4:5:33-4:11:39",
"src": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,4:5:33-4:7:35",
"path": [
{
"unquoted_string": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,4:5:33-4:6:34",
"value": [
{
"string": "a",
"raw_string": "a"
}
]
}
}
]
},
"src_arrow": "",
"dst": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,4:9:37-4:11:39",
"path": [
{
"unquoted_string": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,4:10:38-4:11:39",
"value": [
{
"string": "x",
"raw_string": "x"
}
]
}
}
]
},
"dst_arrow": ">"
}
],
"edge_index": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,4:12:40-4:15:43",
"int": 0,
"glob": false
},
"edge_key": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,4:16:44-4:29:57",
"path": [
{
"unquoted_string": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,4:16:44-4:21:49",
"value": [
{
"string": "style",
"raw_string": "style"
}
]
}
},
{
"unquoted_string": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,4:22:50-4:29:57",
"value": [
{
"string": "opacity",
"raw_string": "opacity"
}
]
}
}
]
},
"primary": {},
"value": {
"number": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,4:31:59-4:34:62",
"raw": "0.1",
"value": "1/10"
}
}
}
}
]
}
}
}
}
]
}
}
}
}
]
},
"root": {
"id": "",
"id_val": "",
"label_dimensions": {
"width": 0,
"height": 0
},
"attributes": {
"label": {
"value": ""
},
"style": {},
"near_key": null,
"shape": {
"value": ""
},
"direction": {
"value": ""
},
"constraint": {
"value": ""
}
},
"zIndex": 0
},
"edges": [
{
"index": 0,
"minWidth": 0,
"minHeight": 0,
"label_dimensions": {
"width": 0,
"height": 0
},
"isCurve": false,
"src_arrow": false,
"dst_arrow": true,
"references": [
{
"map_key_edge_index": 0
},
{
"map_key_edge_index": 0
}
],
"attributes": {
"label": {
"value": ""
},
"style": {
"opacity": {
"value": "0.1"
}
},
"near_key": null,
"shape": {
"value": ""
},
"direction": {
"value": ""
},
"constraint": {
"value": ""
}
},
"zIndex": 0
}
],
"objects": [
{
"id": "a",
"id_val": "a",
"label_dimensions": {
"width": 0,
"height": 0
},
"references": [
{
"key": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,0:0:0-0:2:2",
"path": [
{
"unquoted_string": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,0:0:0-0:1:1",
"value": [
{
"string": "a",
"raw_string": "a"
}
]
}
}
]
},
"key_path_index": 0,
"map_key_edge_index": 0
},
{
"key": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,4:5:33-4:7:35",
"path": [
{
"unquoted_string": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,4:5:33-4:6:34",
"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": "rectangle"
},
"direction": {
"value": ""
},
"constraint": {
"value": ""
}
},
"zIndex": 0
},
{
"id": "x",
"id_val": "x",
"label_dimensions": {
"width": 0,
"height": 0
},
"references": [
{
"key": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,0:4:4-0:6:6",
"path": [
{
"unquoted_string": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,0:5:5-0:6:6",
"value": [
{
"string": "x",
"raw_string": "x"
}
]
}
}
]
},
"key_path_index": 0,
"map_key_edge_index": 0
},
{
"key": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,4:9:37-4:11:39",
"path": [
{
"unquoted_string": {
"range": "d2/testdata/d2compiler/TestCompile2/boards/scenarios_edge_index.d2,4:10:38-4:11:39",
"value": [
{
"string": "x",
"raw_string": "x"
}
]
}
}
]
},
"key_path_index": 0,
"map_key_edge_index": 0
}
],
"attributes": {
"label": {
"value": "x"
},
"style": {},
"near_key": null,
"shape": {
"value": "rectangle"
},
"direction": {
"value": ""
},
"constraint": {
"value": ""
}
},
"zIndex": 0
}
]
}
]
},
"err": null
}

1762
testdata/d2ir/TestCompile/scenarios/edge.exp.json generated vendored Normal file

File diff suppressed because it is too large Load diff