drawio_dsl 0.8.4 → 0.8.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/.builders/.data/shapes.json +18 -0
  3. data/.builders/.templates/basic/drawio_extensions.rb +2 -1
  4. data/.builders/.templates/basic/drawio_shapes.rb +1 -1
  5. data/.builders/blueprint/shapes.rb +2 -0
  6. data/.builders/generators/20-drawio-extensions.rb +1 -1
  7. data/.builders/generators/domain_diagram.rb +448 -15
  8. data/.builders/generators/parking-map.png +0 -0
  9. data/.builders/generators/parking_app.rb +110 -0
  10. data/.builders/generators/printspeak-architecture-generator.rb +15 -10
  11. data/.builders/generators/project-plan.rb +7 -4
  12. data/.builders/generators/sample_diagrams/20-styles.rb +2 -2
  13. data/.builders/generators/sample_diagrams/30-html-shapes.rb +36 -14
  14. data/.builders/generators/sample_diagrams/35-ids-and-arrows.rb +0 -2
  15. data/CHANGELOG.md +21 -0
  16. data/README.md +5 -3
  17. data/docs/domain-modal/domain_model.drawio +265 -0
  18. data/docs/domain-modal/domain_model.svg +3 -0
  19. data/docs/domain-modal/domain_model_custom.drawio +408 -0
  20. data/docs/domain-modal/domain_model_custom.svg +1 -0
  21. data/docs/domain-modal.md +9 -0
  22. data/docs/parking_app.drawio +25 -0
  23. data/docs/parking_app.svg +3 -0
  24. data/docs/printspeak-architecture-generator.drawio +31 -0
  25. data/docs/printspeak-architecture-generator.svg +3 -0
  26. data/docs/project-plan/project.drawio +63 -54
  27. data/docs/project-plan/project_done.svg +1 -1
  28. data/docs/project-plan/project_in_progress.svg +1 -1
  29. data/docs/project-plan/project_todo.svg +1 -1
  30. data/docs/samples/styles-glass.svg +1 -1
  31. data/docs/samples/styles-plain.svg +1 -1
  32. data/docs/samples/styles-rounded.svg +1 -1
  33. data/docs/samples/styles-shadow.svg +1 -1
  34. data/docs/samples/styles-sketch.svg +1 -1
  35. data/lib/drawio_dsl/configuration_shapes.rb +4 -0
  36. data/lib/drawio_dsl/dom_builder.rb +1 -1
  37. data/lib/drawio_dsl/dom_builder_shapes.rb +12 -0
  38. data/lib/drawio_dsl/drawio.rb +0 -19
  39. data/lib/drawio_dsl/drawio_extensions.rb +3 -2
  40. data/lib/drawio_dsl/drawio_extensions_active.rb +1 -1
  41. data/lib/drawio_dsl/drawio_page.rb +22 -0
  42. data/lib/drawio_dsl/drawio_shapes.rb +32 -20
  43. data/lib/drawio_dsl/formatters/base_formatter.rb +121 -1
  44. data/lib/drawio_dsl/formatters/html_builder.rb +40 -1
  45. data/lib/drawio_dsl/formatters/interface_formatter.rb +14 -2
  46. data/lib/drawio_dsl/formatters/klass_formatter.rb +14 -2
  47. data/lib/drawio_dsl/formatters/style_builder.rb +1 -1
  48. data/lib/drawio_dsl/schema/_.rb +2 -0
  49. data/lib/drawio_dsl/schema/shapes/db_json.rb +9 -0
  50. data/lib/drawio_dsl/schema/shapes/group.rb +9 -0
  51. data/lib/drawio_dsl/schema/shapes/shape.rb +2 -2
  52. data/lib/drawio_dsl/version.rb +1 -1
  53. data/lib/drawio_dsl/xml_builder.rb +1 -1
  54. data/lib/drawio_dsl.rb +1 -0
  55. data/package-lock.json +2 -2
  56. data/package.json +1 -1
  57. metadata +16 -4
  58. data/docs/domain.drawio +0 -31
  59. data/docs/domain_model.svg +0 -3
@@ -0,0 +1,9 @@
1
+ # Drawio Dsl - Domain Model
2
+
3
+ ## Class Diagram
4
+
5
+ ![](domain-modal/domain_model_custom.svg)
6
+
7
+ ## Copyright
8
+
9
+ Copyright (c) David Cruwys. See [MIT License](LICENSE.txt) for further details.
@@ -0,0 +1,25 @@
1
+ <mxfile host="65bd71144e">
2
+ <diagram id="kX5" name="Domain Modal">
3
+ <mxGraphModel dx="1201" dy="583" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" background="#fafafa" math="0" shadow="0">
4
+ <root>
5
+ <mxCell id="page_root_kX5"/>
6
+ <mxCell id="node_root_kX5" parent="page_root_kX5"/>
7
+ <mxCell id="kX5-2" value="Officer" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#333333;shape=umlActor;verticalLabelPosition=bottom;outlineConnect=1" parent="node_root_kX5" vertex="1">
8
+ <mxGeometry x="95" y="85" width="30" height="50" as="geometry"/>
9
+ </mxCell>
10
+ <mxCell id="kX5-3" value="Vehicle operator" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#333333;shape=umlActor;verticalLabelPosition=bottom;outlineConnect=1" parent="node_root_kX5" vertex="1">
11
+ <mxGeometry x="315" y="85" width="30" height="50" as="geometry"/>
12
+ </mxCell>
13
+ <mxCell id="kX5-4" value="&lt;p style=&quot;margin:0px;margin-left:4px;margin-top:4px;text-align:center&quot;&gt;&lt;b&gt;Vehicle&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;/&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-top:4px&quot;&gt;make&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-top:4px&quot;&gt;model&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-top:4px&quot;&gt;type&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-top:4px&quot;&gt;registration_number&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-top:4px&quot;&gt;heavy_vehicle&lt;/p&gt;" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#333333;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica" parent="node_root_kX5" vertex="1">
14
+ <mxGeometry x="81" y="233" width="160" height="160" as="geometry"/>
15
+ </mxCell>
16
+ <mxCell id="kX5-5" value="&lt;p style=&quot;margin:0px;margin-left:4px;margin-top:4px;text-align:center&quot;&gt;&lt;b&gt;Chalk&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;/&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-top:4px&quot;&gt;date_time&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-top:4px&quot;&gt;vehicle&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-top:4px&quot;&gt;location_geo_long&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-top:4px&quot;&gt;location_geo_lat&lt;/p&gt;" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#333333;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica" parent="node_root_kX5" vertex="1">
17
+ <mxGeometry x="362" y="225" width="160" height="160" as="geometry"/>
18
+ </mxCell>
19
+ <mxCell id="kX5-6" value="&lt;p style=&quot;margin:0px;margin-left:4px;margin-top:4px;text-align:center&quot;&gt;&lt;b&gt;Pin&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;/&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-top:4px&quot;&gt;date_time&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-top:4px&quot;&gt;vehicle&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-top:4px&quot;&gt;location_address&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-top:4px&quot;&gt;location_geo_long&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-top:4px&quot;&gt;location_geo_lat&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-top:4px&quot;&gt;location_photo&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-top:4px&quot;&gt;photos&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-top:4px&quot;&gt;offense_chalk_time&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-top:4px&quot;&gt;offense_offence_limit_time&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;margin-top:4px&quot;&gt;offense_pin_time&lt;/p&gt;" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#333333;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica" parent="node_root_kX5" vertex="1">
20
+ <mxGeometry x="910" y="30" width="160" height="215" as="geometry"/>
21
+ </mxCell>
22
+ </root>
23
+ </mxGraphModel>
24
+ </diagram>
25
+ </mxfile>
@@ -0,0 +1,3 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="980px" height="162px" viewBox="-0.5 -0.5 980 162"><defs/><g><ellipse cx="18" cy="61.25" rx="7.5" ry="6.25" fill="#ffe6cc" stroke="#d79b00" pointer-events="all"/><path d="M 18 67.5 L 18 88.33 M 18 71.67 L 3 71.67 M 18 71.67 L 33 71.67 M 18 88.33 L 3 105 M 18 88.33 L 33 105" fill="none" stroke="#d79b00" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 130px; margin-left: 4px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Officer</div></div></div></foreignObject><text x="18" y="134" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">Offic...</text></switch></g><ellipse cx="238" cy="61.25" rx="7.5" ry="6.25" fill="#ffe6cc" stroke="#d79b00" pointer-events="all"/><path d="M 238 67.5 L 238 88.33 M 238 71.67 L 223 71.67 M 238 71.67 L 253 71.67 M 238 88.33 L 223 105 M 238 88.33 L 253 105" fill="none" stroke="#d79b00" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 130px; margin-left: 224px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Vehicle operator</div></div></div></foreignObject><text x="238" y="134" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">Vehic...</text></switch></g><rect x="378" y="0" width="160" height="160" fill="#ffe6cc" stroke="#d79b00" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 162px; height: 160px; padding-top: 0px; margin-left: 378px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: left; width: 160px; height: 160px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; width: 100%; height: 100%; white-space: normal; overflow-wrap: normal;"><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px ; text-align: center"><b>Vehicle</b></p><hr size="1" /><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px">make</p><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px">model</p><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px">type</p><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px">registration_number</p><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px">heavy_vehicle</p></div></div></div></foreignObject><text x="378" y="84" fill="#333333" font-family="Helvetica" font-size="12px">Vehicle...</text></switch></g><rect x="598" y="0" width="160" height="160" fill="#ffe6cc" stroke="#d79b00" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 162px; height: 160px; padding-top: 0px; margin-left: 598px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: left; width: 160px; height: 160px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; width: 100%; height: 100%; white-space: normal; overflow-wrap: normal;"><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px ; text-align: center"><b>Chalk</b></p><hr size="1" /><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px">date_time</p><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px">vehicle</p><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px">location_geo_long</p><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px">location_geo_lat</p></div></div></div></foreignObject><text x="598" y="84" fill="#333333" font-family="Helvetica" font-size="12px">Chalk...</text></switch></g><rect x="818" y="0" width="160" height="160" fill="#ffe6cc" stroke="#d79b00" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 162px; height: 160px; padding-top: 0px; margin-left: 818px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: left; width: 160px; height: 160px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; width: 100%; height: 100%; white-space: normal; overflow-wrap: normal;"><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px ; text-align: center"><b>Pin</b></p><hr size="1" /><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px">date_time</p><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px">vehicle</p><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px">location_address</p><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px">location_geo_long</p><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px">location_geo_lat</p><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px">location_photo</p><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px">photos</p><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px">offense_chalk_time</p><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px">offense_offence_limit_time</p><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px">offense_pin_time</p></div></div></div></foreignObject><text x="818" y="84" fill="#333333" font-family="Helvetica" font-size="12px">Pin...</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
@@ -0,0 +1,31 @@
1
+ <mxfile host="65bd71144e">
2
+ <diagram id="T0o" name="Style-Plain">
3
+ <mxGraphModel dx="1537" dy="583" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" background="#fafafa" math="0" shadow="0">
4
+ <root>
5
+ <mxCell id="page_root_T0o"/>
6
+ <mxCell id="node_root_T0o" parent="page_root_T0o"/>
7
+ <mxCell id="T0o-2" value="Data Documents" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333" parent="node_root_T0o" vertex="1">
8
+ <mxGeometry x="30" y="30" width="160" height="160" as="geometry"/>
9
+ </mxCell>
10
+ <mxCell id="T0o-4" value="db_schema.json" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#333333;shape=mxgraph.flowchart.database;strokeWidth=1" parent="node_root_T0o" vertex="1">
11
+ <mxGeometry x="470" y="90" width="160" height="40" as="geometry"/>
12
+ </mxCell>
13
+ <mxCell id="T0o-5" value="domain_model.json" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#333333;shape=mxgraph.flowchart.database;strokeWidth=1" parent="node_root_T0o" vertex="1">
14
+ <mxGeometry x="470" y="158" width="160" height="40" as="geometry"/>
15
+ </mxCell>
16
+ <mxCell id="T0o-6" value="sql_count.json" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#333333;shape=mxgraph.flowchart.database;strokeWidth=1" parent="node_root_T0o" vertex="1">
17
+ <mxGeometry x="465" y="394" width="160" height="40" as="geometry"/>
18
+ </mxCell>
19
+ <mxCell id="T0o-7" value="rubocop.json" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#333333;shape=mxgraph.flowchart.database;strokeWidth=1" parent="node_root_T0o" vertex="1">
20
+ <mxGeometry x="1130" y="90" width="160" height="40" as="geometry"/>
21
+ </mxCell>
22
+ <mxCell id="T0o-8" value="data_context.json" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#333333;shape=mxgraph.flowchart.database;strokeWidth=1" parent="node_root_T0o" vertex="1">
23
+ <mxGeometry x="465" y="235" width="160" height="40" as="geometry"/>
24
+ </mxCell>
25
+ <mxCell id="T0o-9" value="routes.json" style="whiteSpace=wrap;html=1;rounded=0;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#333333;shape=mxgraph.flowchart.database;strokeWidth=1" parent="node_root_T0o" vertex="1">
26
+ <mxGeometry x="462" y="320" width="160" height="40" as="geometry"/>
27
+ </mxCell>
28
+ </root>
29
+ </mxGraphModel>
30
+ </diagram>
31
+ </mxfile>
@@ -0,0 +1,3 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1262px" height="382px" viewBox="-0.5 -0.5 1262 382"><defs/><g><rect x="0" y="0" width="160" height="160" fill="#f5f5f5" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 80px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Data Documents</div></div></div></foreignObject><text x="80" y="84" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">Data Documents</text></switch></g><rect x="220" y="0" width="160" height="160" fill="#ffe6cc" stroke="#d79b00" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 162px; height: 160px; padding-top: 0px; margin-left: 220px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: left; width: 160px; height: 160px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; width: 100%; height: 100%; white-space: normal; overflow-wrap: normal;"><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px ; text-align: center"><b>Container</b></p><hr size="1" /></div></div></div></foreignObject><text x="220" y="84" fill="#333333" font-family="Helvetica" font-size="12px">Container</text></switch></g><path d="M 440 93.33 L 440 66.67 C 440 62.98 475.82 60 520 60 C 564.18 60 600 62.98 600 66.67 L 600 93.33 C 600 97.02 564.18 100 520 100 C 475.82 100 440 97.02 440 93.33 Z" fill="#ffe6cc" stroke="#d79b00" stroke-miterlimit="10" pointer-events="all"/><path d="M 440 66.67 C 440 70.35 475.82 73.33 520 73.33 C 564.18 73.33 600 70.35 600 66.67" fill="none" stroke="#d79b00" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 80px; margin-left: 441px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">db_schema.json</div></div></div></foreignObject><text x="520" y="84" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">db_schema.json</text></switch></g><path d="M 660 93.33 L 660 66.67 C 660 62.98 695.82 60 740 60 C 784.18 60 820 62.98 820 66.67 L 820 93.33 C 820 97.02 784.18 100 740 100 C 695.82 100 660 97.02 660 93.33 Z" fill="#ffe6cc" stroke="#d79b00" stroke-miterlimit="10" pointer-events="all"/><path d="M 660 66.67 C 660 70.35 695.82 73.33 740 73.33 C 784.18 73.33 820 70.35 820 66.67" fill="none" stroke="#d79b00" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 80px; margin-left: 661px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">domain_model.json</div></div></div></foreignObject><text x="740" y="84" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">domain_model.json</text></switch></g><path d="M 880 93.33 L 880 66.67 C 880 62.98 915.82 60 960 60 C 1004.18 60 1040 62.98 1040 66.67 L 1040 93.33 C 1040 97.02 1004.18 100 960 100 C 915.82 100 880 97.02 880 93.33 Z" fill="#ffe6cc" stroke="#d79b00" stroke-miterlimit="10" pointer-events="all"/><path d="M 880 66.67 C 880 70.35 915.82 73.33 960 73.33 C 1004.18 73.33 1040 70.35 1040 66.67" fill="none" stroke="#d79b00" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 80px; margin-left: 881px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">sql_count.json</div></div></div></foreignObject><text x="960" y="84" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">sql_count.json</text></switch></g><path d="M 1100 93.33 L 1100 66.67 C 1100 62.98 1135.82 60 1180 60 C 1224.18 60 1260 62.98 1260 66.67 L 1260 93.33 C 1260 97.02 1224.18 100 1180 100 C 1135.82 100 1100 97.02 1100 93.33 Z" fill="#ffe6cc" stroke="#d79b00" stroke-miterlimit="10" pointer-events="all"/><path d="M 1100 66.67 C 1100 70.35 1135.82 73.33 1180 73.33 C 1224.18 73.33 1260 70.35 1260 66.67" fill="none" stroke="#d79b00" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 80px; margin-left: 1101px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">rubocop.json</div></div></div></foreignObject><text x="1180" y="84" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">rubocop.json</text></switch></g><path d="M 0 313.33 L 0 286.67 C 0 282.98 35.82 280 80 280 C 124.18 280 160 282.98 160 286.67 L 160 313.33 C 160 317.02 124.18 320 80 320 C 35.82 320 0 317.02 0 313.33 Z" fill="#ffe6cc" stroke="#d79b00" stroke-miterlimit="10" pointer-events="all"/><path d="M 0 286.67 C 0 290.35 35.82 293.33 80 293.33 C 124.18 293.33 160 290.35 160 286.67" fill="none" stroke="#d79b00" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 300px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">data_context.json</div></div></div></foreignObject><text x="80" y="304" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">data_context.json</text></switch></g><path d="M 220 313.33 L 220 286.67 C 220 282.98 255.82 280 300 280 C 344.18 280 380 282.98 380 286.67 L 380 313.33 C 380 317.02 344.18 320 300 320 C 255.82 320 220 317.02 220 313.33 Z" fill="#ffe6cc" stroke="#d79b00" stroke-miterlimit="10" pointer-events="all"/><path d="M 220 286.67 C 220 290.35 255.82 293.33 300 293.33 C 344.18 293.33 380 290.35 380 286.67" fill="none" stroke="#d79b00" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 300px; margin-left: 221px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">routes.json</div></div></div></foreignObject><text x="300" y="304" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">routes.json</text></switch></g><rect x="440" y="220" width="160" height="160" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 162px; height: 160px; padding-top: 220px; margin-left: 440px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: left; width: 160px; height: 160px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; width: 100%; height: 100%; white-space: normal; overflow-wrap: normal;"><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px ; text-align: center"><i>&lt;&lt; Subsystems &gt;&gt;</i></p><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px ; text-align: center"><b>Block Processor</b></p><hr size="1" /><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px">block: proc</p><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px">block_state: symbol</p><hr size="1" /><p style="margin: 0px ; margin-left: 4px ; margin-top: 4px">depend_on()</p></div></div></div></foreignObject><text x="440" y="304" fill="#333333" font-family="Helvetica" font-size="12px">&lt;&lt; Subsystems &gt;&gt;...</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
@@ -1,151 +1,160 @@
1
- <mxfile host="Aom">
2
- <diagram id="S7C" name="In progress">
1
+ <mxfile host="4gY">
2
+ <diagram id="FdY" name="In progress">
3
3
  <mxGraphModel dx="0" dy="0" background="#FFFACD" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
4
4
  <root>
5
- <mxCell id="page_root_S7C" parent="S7C"/>
6
- <mxCell id="node_root_S7C" parent="page_root_S7C"/>
7
- <mxCell id="S7C-2" value="build a domain (class) diagram" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_S7C">
5
+ <mxCell id="page_root_FdY" parent="FdY"/>
6
+ <mxCell id="node_root_FdY" parent="page_root_FdY"/>
7
+ <mxCell id="FdY-2" value="class html builder to support include/extend modules, class methods" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_FdY">
8
8
  <mxGeometry x="10" y="10" width="300" height="60" as="geometry"/>
9
9
  </mxCell>
10
- <mxCell id="S7C-3" value="add new shapes related to line connectors" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_S7C">
10
+ <mxCell id="FdY-3" value="add new shapes related to line connectors" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_FdY">
11
11
  <mxGeometry x="330" y="10" width="300" height="60" as="geometry"/>
12
12
  </mxCell>
13
- <mxCell id="S7C-4" value="line connector aliases gives a simple way to use predefined line configurations" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_S7C">
13
+ <mxCell id="FdY-4" value="line connector aliases gives a simple way to use predefined line configurations" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_FdY">
14
14
  <mxGeometry x="650" y="10" width="300" height="60" as="geometry"/>
15
15
  </mxCell>
16
- <mxCell id="S7C-5" value="line connectors need to support autolinking using ids" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_S7C">
16
+ <mxCell id="FdY-5" value="line connectors need to support autolinking using ids" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_FdY">
17
17
  <mxGeometry x="10" y="90" width="300" height="60" as="geometry"/>
18
18
  </mxCell>
19
- <mxCell id="S7C-6" value="line connectors should not effect the grid positioning systems" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_S7C">
19
+ <mxCell id="FdY-6" value="line connectors should not effect the grid positioning systems" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_FdY">
20
20
  <mxGeometry x="330" y="90" width="300" height="60" as="geometry"/>
21
21
  </mxCell>
22
+ <mxCell id="FdY-7" value="export diagram json for use with a different DSL builder" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_FdY">
23
+ <mxGeometry x="650" y="90" width="300" height="60" as="geometry"/>
24
+ </mxCell>
22
25
  </root>
23
26
  </mxGraphModel>
24
27
  </diagram>
25
- <diagram id="i3T" name="To Do">
28
+ <diagram id="tHC" name="To Do">
26
29
  <mxGraphModel dx="0" dy="0" background="#FFFACD" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
27
30
  <root>
28
- <mxCell id="page_root_i3T" parent="i3T"/>
29
- <mxCell id="node_root_i3T" parent="page_root_i3T"/>
30
- <mxCell id="i3T-2" value="add page background to theme, use it whenever the theme is set at a diagram/page level" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
31
+ <mxCell id="page_root_tHC" parent="tHC"/>
32
+ <mxCell id="node_root_tHC" parent="page_root_tHC"/>
33
+ <mxCell id="tHC-2" value="add page background to theme, use it whenever the theme is set at a diagram/page level" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_tHC">
31
34
  <mxGeometry x="10" y="10" width="300" height="60" as="geometry"/>
32
35
  </mxCell>
33
- <mxCell id="i3T-3" value="move DrawioDsl::Formatters::Factory::FORMATTERS to resource file" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
36
+ <mxCell id="tHC-3" value="move DrawioDsl::Formatters::Factory::FORMATTERS to resource file" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_tHC">
34
37
  <mxGeometry x="330" y="10" width="300" height="60" as="geometry"/>
35
38
  </mxCell>
36
- <mxCell id="i3T-4" value="move DrawioDsl::Formatters::StyleBuilder::MAPPINGS to resource file" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
39
+ <mxCell id="tHC-4" value="move DrawioDsl::Formatters::StyleBuilder::MAPPINGS to resource file" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_tHC">
37
40
  <mxGeometry x="650" y="10" width="300" height="60" as="geometry"/>
38
41
  </mxCell>
39
- <mxCell id="i3T-5" value="need to setup new project plans" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
42
+ <mxCell id="tHC-5" value="settings style attributes need to de-duplicate, might be best to utilize the new StyleBuilder class" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_tHC">
40
43
  <mxGeometry x="10" y="90" width="300" height="60" as="geometry"/>
41
44
  </mxCell>
42
- <mxCell id="i3T-6" value="settings style attributes need to de-duplicate, might be best to utilize the new StyleBuilder class" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
45
+ <mxCell id="tHC-6" value="write SVG directly into other projects" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_tHC">
43
46
  <mxGeometry x="330" y="90" width="300" height="60" as="geometry"/>
44
47
  </mxCell>
45
- <mxCell id="i3T-7" value="write SVG directly into other projects" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
48
+ <mxCell id="tHC-7" value="add :shape, :line and :text to random shape generator, note: you can see the issue in the samples/20-styled-shapes.rb where the text is not rendered" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_tHC">
46
49
  <mxGeometry x="650" y="90" width="300" height="60" as="geometry"/>
47
50
  </mxCell>
48
- <mxCell id="i3T-8" value="add :shape, :line and :text to random shape generator" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
51
+ <mxCell id="tHC-8" value="Nodes need to support child nodes" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_tHC">
49
52
  <mxGeometry x="10" y="170" width="300" height="60" as="geometry"/>
50
53
  </mxCell>
51
- <mxCell id="i3T-9" value="Nodes need to support child nodes" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
54
+ <mxCell id="tHC-9" value="Grid layout does not position itself in relation to the last element" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_tHC">
52
55
  <mxGeometry x="330" y="170" width="300" height="60" as="geometry"/>
53
56
  </mxCell>
54
- <mxCell id="i3T-10" value="Grid layout does not position itself in relation to the last element" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
57
+ <mxCell id="tHC-10" value="Dynamic sized shapes that expand to the size of their text" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_tHC">
55
58
  <mxGeometry x="650" y="170" width="300" height="60" as="geometry"/>
56
59
  </mxCell>
57
- <mxCell id="i3T-11" value="Dynamic sized shapes that expand to the size of their text" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
60
+ <mxCell id="tHC-11" value="Control of text padding left, right, top and bottom" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_tHC">
58
61
  <mxGeometry x="10" y="250" width="300" height="60" as="geometry"/>
59
62
  </mxCell>
60
- <mxCell id="i3T-12" value="Control of text padding left, right, top and bottom" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
63
+ <mxCell id="tHC-12" value="Improve the theme control over text-only shapes" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_tHC">
61
64
  <mxGeometry x="330" y="250" width="300" height="60" as="geometry"/>
62
65
  </mxCell>
63
- <mxCell id="i3T-13" value="Improve the theme control over text-only shapes" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
66
+ <mxCell id="tHC-13" value="x,y settings do not work for shapes within a grid layout" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_tHC">
64
67
  <mxGeometry x="650" y="250" width="300" height="60" as="geometry"/>
65
68
  </mxCell>
66
- <mxCell id="i3T-14" value="x,y settings do not work for shapes within a grid layout" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
69
+ <mxCell id="tHC-14" value="page layout so that you drop elements on and they are positioned correctly, e.g centered, left, right, etc, maybe a grid layout with a wrap of 1 and a width of the page is sufficient" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_tHC">
67
70
  <mxGeometry x="10" y="330" width="300" height="60" as="geometry"/>
68
71
  </mxCell>
69
- <mxCell id="i3T-15" value="page layout so that you drop elements on and they are positioned correctly, e.g centered, left, right, etc, maybe a grid layout with a wrap of 1 and a width of the page is sufficient" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_i3T">
70
- <mxGeometry x="330" y="330" width="300" height="60" as="geometry"/>
71
- </mxCell>
72
72
  </root>
73
73
  </mxGraphModel>
74
74
  </diagram>
75
- <diagram id="051" name="Done">
75
+ <diagram id="NF8" name="Done">
76
76
  <mxGraphModel dx="0" dy="0" background="#FFFACD" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
77
77
  <root>
78
- <mxCell id="page_root_051" parent="051"/>
79
- <mxCell id="node_root_051" parent="page_root_051"/>
80
- <mxCell id="051-2" value="build configuration for line strokes %i[dashed dotted dashdot dashdotdot dotdotdot longdash)" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
78
+ <mxCell id="page_root_NF8" parent="NF8"/>
79
+ <mxCell id="node_root_NF8" parent="page_root_NF8"/>
80
+ <mxCell id="NF8-2" value="class html formatter to support regular html nodes such as p, h1.. ul, li that are found on the builder" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_NF8">
81
81
  <mxGeometry x="10" y="10" width="300" height="60" as="geometry"/>
82
82
  </mxCell>
83
- <mxCell id="051-3" value="build configuration for line compass %i[n ne e se s sw w nw]" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
83
+ <mxCell id="NF8-3" value="group box, like a regular box but with a top aligned h1 style title" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_NF8">
84
84
  <mxGeometry x="330" y="10" width="300" height="60" as="geometry"/>
85
85
  </mxCell>
86
- <mxCell id="051-4" value="build configuration for line shape %i[style1 style2 style3 style4]" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
86
+ <mxCell id="NF8-4" value="build a domain (class) diagram" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_NF8">
87
87
  <mxGeometry x="650" y="10" width="300" height="60" as="geometry"/>
88
88
  </mxCell>
89
- <mxCell id="051-5" value="build configuration for arrows %i[straight triangle diamond circle cross short default none plain skewed_dash concave er_many er_one er_one_optional er_one_mandatory er_many_optional er_many_mandatory]" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
89
+ <mxCell id="NF8-5" value="build configuration for line strokes %i[dashed dotted dashdot dashdotdot dotdotdot longdash)" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_NF8">
90
90
  <mxGeometry x="10" y="90" width="300" height="60" as="geometry"/>
91
91
  </mxCell>
92
- <mxCell id="051-6" value="refactor the shape-&gt;text_only (boolean) to category (symbol)" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
92
+ <mxCell id="NF8-6" value="build configuration for line compass %i[n ne e se s sw w nw]" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_NF8">
93
93
  <mxGeometry x="330" y="90" width="300" height="60" as="geometry"/>
94
94
  </mxCell>
95
- <mxCell id="051-7" value="ensure that ids are working as expected" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
95
+ <mxCell id="NF8-7" value="build configuration for line shape %i[style1 style2 style3 style4]" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_NF8">
96
96
  <mxGeometry x="650" y="90" width="300" height="60" as="geometry"/>
97
97
  </mxCell>
98
- <mxCell id="051-8" value="alter the initial parameter of all shapes so that it can be an ID, without named attribute" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
98
+ <mxCell id="NF8-8" value="build configuration for arrows %i[straight triangle diamond circle cross short default none plain skewed_dash concave er_many er_one er_one_optional er_one_mandatory er_many_optional er_many_mandatory]" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_NF8">
99
99
  <mxGeometry x="10" y="170" width="300" height="60" as="geometry"/>
100
100
  </mxCell>
101
- <mxCell id="051-9" value="move project-plan files" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
101
+ <mxCell id="NF8-9" value="refactor the shape-&gt;text_only (boolean) to category (symbol)" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_NF8">
102
102
  <mxGeometry x="330" y="170" width="300" height="60" as="geometry"/>
103
103
  </mxCell>
104
- <mxCell id="051-10" value="alter configure_shape so it sets the default shape key and use that for selecting the default HTML formatter" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
104
+ <mxCell id="NF8-10" value="ensure that ids are working as expected" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_NF8">
105
105
  <mxGeometry x="650" y="170" width="300" height="60" as="geometry"/>
106
106
  </mxCell>
107
- <mxCell id="051-11" value="add todo shape to simplify project plan drawing" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
107
+ <mxCell id="NF8-11" value="alter the initial parameter of all shapes so that it can be an ID, without named attribute" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_NF8">
108
108
  <mxGeometry x="10" y="250" width="300" height="60" as="geometry"/>
109
109
  </mxCell>
110
- <mxCell id="051-12" value="introduce .value property to shape and let it use either formatted HTML or plain text title" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
110
+ <mxCell id="NF8-12" value="move project-plan files" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_NF8">
111
111
  <mxGeometry x="330" y="250" width="300" height="60" as="geometry"/>
112
112
  </mxCell>
113
- <mxCell id="051-13" value="formatter DSL that can render HTML directly into the value property" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
113
+ <mxCell id="NF8-13" value="alter configure_shape so it sets the default shape key and use that for selecting the default HTML formatter" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_NF8">
114
114
  <mxGeometry x="650" y="250" width="300" height="60" as="geometry"/>
115
115
  </mxCell>
116
- <mxCell id="051-14" value="formatter DSL for class and interface generation" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
116
+ <mxCell id="NF8-14" value="add todo shape to simplify project plan drawing" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_NF8">
117
117
  <mxGeometry x="10" y="330" width="300" height="60" as="geometry"/>
118
118
  </mxCell>
119
- <mxCell id="051-15" value="generate extension based graphics based on drawio extensions.js" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
119
+ <mxCell id="NF8-15" value="introduce .value property to shape and let it use either formatted HTML or plain text title" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_NF8">
120
120
  <mxGeometry x="330" y="330" width="300" height="60" as="geometry"/>
121
121
  </mxCell>
122
- <mxCell id="051-16" value="active? flag on page defaulting to true. set to false to exclude page from diagram." style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
122
+ <mxCell id="NF8-16" value="formatter DSL that can render HTML directly into the value property" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_NF8">
123
123
  <mxGeometry x="650" y="330" width="300" height="60" as="geometry"/>
124
124
  </mxCell>
125
- <mxCell id="051-17" value="first level child nodes need to hang of node 1" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
125
+ <mxCell id="NF8-17" value="formatter DSL for class and interface generation" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_NF8">
126
126
  <mxGeometry x="10" y="410" width="300" height="60" as="geometry"/>
127
127
  </mxCell>
128
- <mxCell id="051-18" value="node has child nodes and add_node will set a nodes parent" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
128
+ <mxCell id="NF8-18" value="generate extension based graphics based on drawio extensions.js" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_NF8">
129
129
  <mxGeometry x="330" y="410" width="300" height="60" as="geometry"/>
130
130
  </mxCell>
131
- <mxCell id="051-19" value="nodes can belong to a parent node, the top level node responds with truthy to root?" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
131
+ <mxCell id="NF8-19" value="active? flag on page defaulting to true. set to false to exclude page from diagram." style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_NF8">
132
132
  <mxGeometry x="650" y="410" width="300" height="60" as="geometry"/>
133
133
  </mxCell>
134
- <mxCell id="051-20" value="add sample diagram for the github readme file" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
134
+ <mxCell id="NF8-20" value="first level child nodes need to hang of node 1" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_NF8">
135
135
  <mxGeometry x="10" y="490" width="300" height="60" as="geometry"/>
136
136
  </mxCell>
137
- <mxCell id="051-21" value="write samples into docs folder and display in readme" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
137
+ <mxCell id="NF8-21" value="node has child nodes and add_node will set a nodes parent" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_NF8">
138
138
  <mxGeometry x="330" y="490" width="300" height="60" as="geometry"/>
139
139
  </mxCell>
140
- <mxCell id="051-22" value="add export as .PNG, needs to take a page number as the PNG will not support multiple pages" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
140
+ <mxCell id="NF8-22" value="nodes can belong to a parent node, the top level node responds with truthy to root?" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_NF8">
141
141
  <mxGeometry x="650" y="490" width="300" height="60" as="geometry"/>
142
142
  </mxCell>
143
- <mxCell id="051-23" value="add export as .SVG, needs to take a page number as the SVG will not support multiple pages" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
143
+ <mxCell id="NF8-23" value="add sample diagram for the github readme file" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_NF8">
144
144
  <mxGeometry x="10" y="570" width="300" height="60" as="geometry"/>
145
145
  </mxCell>
146
- <mxCell id="051-24" value="add save as .drawio" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_051">
146
+ <mxCell id="NF8-24" value="write samples into docs folder and display in readme" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_NF8">
147
147
  <mxGeometry x="330" y="570" width="300" height="60" as="geometry"/>
148
148
  </mxCell>
149
+ <mxCell id="NF8-25" value="add export as .PNG, needs to take a page number as the PNG will not support multiple pages" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_NF8">
150
+ <mxGeometry x="650" y="570" width="300" height="60" as="geometry"/>
151
+ </mxCell>
152
+ <mxCell id="NF8-26" value="add export as .SVG, needs to take a page number as the SVG will not support multiple pages" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_NF8">
153
+ <mxGeometry x="10" y="650" width="300" height="60" as="geometry"/>
154
+ </mxCell>
155
+ <mxCell id="NF8-27" value="add save as .drawio" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_NF8">
156
+ <mxGeometry x="330" y="650" width="300" height="60" as="geometry"/>
157
+ </mxCell>
149
158
  </root>
150
159
  </mxGraphModel>
151
160
  </diagram>