2026-05-18 10:04:49 -04:00
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
< !DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
2026-05-18 10:08:43 -04:00
<!-- Generated by graphviz version 14.1.2 (20260124.0452)
2026-05-18 10:04:49 -04:00
-->
<!-- Title: src/composition/include/fourdst/composition/composition.h Pages: 1 -->
2026-06-12 10:49:27 -04:00
<!-- zoomable 194 -->
2026-05-18 10:04:49 -04:00
2026-06-12 10:49:27 -04:00
<svg id= "main" version= "1.1" xmlns= "http://www.w3.org/2000/svg" xmlns:xlink= "http://www.w3.org/1999/xlink" xml:space= "preserve" onload= "init(evt)" >
2026-05-18 10:04:49 -04:00
<style type= "text/css" > < ![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
2026-06-12 10:49:27 -04:00
<defs >
<circle id= "rim" cx= "0" cy= "0" r= "7" />
<circle id= "rim2" cx= "0" cy= "0" r= "3.5" />
<g id= "zoomPlus" >
<use xlink:href= "#rim" fill= "#404040" > <set attributeName= "fill" to= "#808080" begin= "zoomplus.mouseover" end= "zoomplus.mouseout" /> </use>
<path d= "M-4,0h8M0,-4v8" fill= "none" stroke= "white" stroke-width= "1.5" pointer-events= "none" />
</g>
<g id= "zoomMin" >
<use xlink:href= "#rim" fill= "#404040" > <set attributeName= "fill" to= "#808080" begin= "zoomminus.mouseover" end= "zoomminus.mouseout" /> </use>
<path d= "M-4,0h8" fill= "none" stroke= "white" stroke-width= "1.5" pointer-events= "none" />
</g>
<g id= "arrowUp" transform= "translate(30 24)" >
<use xlink:href= "#rim" />
<path pointer-events= "none" fill= "none" stroke= "white" stroke-width= "1.5" d= "M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5" />
</g>
<g id= "arrowRight" transform= "rotate(90) translate(36 -43)" >
<use xlink:href= "#rim" />
<path pointer-events= "none" fill= "none" stroke= "white" stroke-width= "1.5" d= "M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5" />
</g>
<g id= "arrowDown" transform= "rotate(180) translate(-30 -48)" >
<use xlink:href= "#rim" />
<path pointer-events= "none" fill= "none" stroke= "white" stroke-width= "1.5" d= "M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5" />
</g>
<g id= "arrowLeft" transform= "rotate(270) translate(-36 17)" >
<use xlink:href= "#rim" />
<path pointer-events= "none" fill= "none" stroke= "white" stroke-width= "1.5" d= "M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5" />
</g>
<g id= "resetDef" >
<use xlink:href= "#rim2" fill= "#404040" > <set attributeName= "fill" to= "#808080" begin= "reset.mouseover" end= "reset.mouseout" /> </use>
</g>
</defs>
<script type= "application/ecmascript" >
var viewWidth = 583;
var viewHeight = 194;
var sectionId = 'dynsection-1';
</script>
2026-05-18 10:04:49 -04:00
<script type= "application/ecmascript" xlink:href= "svg.min.js" />
<svg id= "graph" class= "graph" >
2026-06-12 10:49:27 -04:00
<g id= "viewport" >
2026-05-18 10:04:49 -04:00
<title > src/composition/include/fourdst/composition/composition.h</title>
<!-- Node1 -->
<g id= "Node000001" class= "node" >
<title > Node1</title>
<g id= "a_Node000001" > <a xlink:title= " " >
2026-06-12 10:49:27 -04:00
<polygon fill= "#999999" stroke= "#666666" points= "354.87,-186 186.62,-186 186.62,-155.5 354.87,-155.5 354.87,-186" />
<text xml:space= "preserve" text-anchor= "start" x= "194.62" y= "-172.5" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/composition/include</text>
<text xml:space= "preserve" text-anchor= "middle" x= "270.74" y= "-161.25" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /fourdst/composition/composition.h</text>
2026-05-18 10:04:49 -04:00
</a>
</g>
</g>
<!-- Node2 -->
<g id= "Node000002" class= "node" >
<title > Node2</title>
2026-06-12 10:49:27 -04:00
<g id= "a_Node000002" > <a xlink:href= "standard__compositions_8h.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "144.62,-119.5 16.87,-119.5 16.87,-77.75 144.62,-77.75 144.62,-119.5" />
<text xml:space= "preserve" text-anchor= "start" x= "24.87" y= "-106" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/composition/include</text>
<text xml:space= "preserve" text-anchor= "start" x= "24.87" y= "-94.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /fourdst/composition/io</text>
<text xml:space= "preserve" text-anchor= "middle" x= "80.74" y= "-83.5" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /standard_compositions.h</text>
2026-05-18 10:04:49 -04:00
</a>
</g>
</g>
<!-- Node1->Node2 -->
<g id= "edge1_Node000001_Node000002" class= "edge" >
<title > Node1- > Node2</title>
<g id= "a_edge1_Node000001_Node000002" > <a xlink:title= " " >
2026-06-12 10:49:27 -04:00
<path fill= "none" stroke= "#63b8ff" d= "M220.13,-151.07C194.08,-141.46 162.29,-129.72 135.65,-119.89" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "218.9,-154.35 229.49,-154.53 221.32,-147.78 218.9,-154.35" />
2026-05-18 10:04:49 -04:00
</a>
</g>
</g>
<!-- Node3 -->
<g id= "Node000003" class= "node" >
<title > Node3</title>
2026-06-12 10:49:27 -04:00
<g id= "a_Node000003" > <a xlink:href= "standard__compositions_8cpp.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "155.12,-36.12 6.37,-36.12 6.37,-5.62 155.12,-5.62 155.12,-36.12" />
<text xml:space= "preserve" text-anchor= "start" x= "14.37" y= "-22.62" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/composition/lib</text>
<text xml:space= "preserve" text-anchor= "middle" x= "80.74" y= "-11.38" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /io/standard_compositions.cpp</text>
2026-05-18 10:04:49 -04:00
</a>
</g>
</g>
<!-- Node1->Node3 -->
2026-06-12 10:49:27 -04:00
<g id= "edge11_Node000001_Node000003" class= "edge" >
2026-05-18 10:04:49 -04:00
<title > Node1- > Node3</title>
2026-06-12 10:49:27 -04:00
<g id= "a_edge11_Node000001_Node000003" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M174.93,-164.02C108.74,-157.83 28.96,-145.15 7.74,-119.5 -4.08,-105.2 -0.48,-94.39 7.74,-77.75 16.65,-59.72 34.47,-45.9 50.28,-36.52" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "174.49,-167.49 184.76,-164.9 175.11,-160.52 174.49,-167.49" />
2026-05-18 10:04:49 -04:00
</a>
</g>
</g>
<!-- Node4 -->
<g id= "Node000004" class= "node" >
<title > Node4</title>
2026-06-12 10:49:27 -04:00
<g id= "a_Node000004" > <a xlink:href= "composition__hash_8h.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "470.49,-119.5 344.99,-119.5 344.99,-77.75 470.49,-77.75 470.49,-119.5" />
<text xml:space= "preserve" text-anchor= "start" x= "352.99" y= "-106" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/composition/include</text>
<text xml:space= "preserve" text-anchor= "start" x= "352.99" y= "-94.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /fourdst/composition/utils</text>
<text xml:space= "preserve" text-anchor= "middle" x= "407.74" y= "-83.5" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /composition_hash.h</text>
2026-05-18 10:04:49 -04:00
</a>
</g>
</g>
<!-- Node1->Node4 -->
2026-06-12 10:49:27 -04:00
<g id= "edge3_Node000001_Node000004" class= "edge" >
2026-05-18 10:04:49 -04:00
<title > Node1- > Node4</title>
2026-06-12 10:49:27 -04:00
<g id= "a_edge3_Node000001_Node000004" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M309.52,-149.9C327.85,-140.52 349.71,-129.33 368.15,-119.89" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "308.12,-146.69 300.81,-154.36 311.3,-152.92 308.12,-146.69" />
2026-05-18 10:08:43 -04:00
</a>
</g>
</g>
<!-- Node5 -->
<g id= "Node000005" class= "node" >
<title > Node5</title>
2026-06-12 10:49:27 -04:00
<g id= "a_Node000005" > <a xlink:href= "composition_8cpp.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "320.62,-36.12 222.87,-36.12 222.87,-5.62 320.62,-5.62 320.62,-36.12" />
<text xml:space= "preserve" text-anchor= "start" x= "230.87" y= "-22.62" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/composition/lib</text>
<text xml:space= "preserve" text-anchor= "middle" x= "271.74" y= "-11.38" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /composition.cpp</text>
2026-05-18 10:08:43 -04:00
</a>
</g>
</g>
<!-- Node1->Node5 -->
2026-06-12 10:49:27 -04:00
<g id= "edge10_Node000001_Node000005" class= "edge" >
2026-05-18 10:08:43 -04:00
<title > Node1- > Node5</title>
2026-06-12 10:49:27 -04:00
<g id= "a_edge10_Node000001_Node000005" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M286.88,-145.48C291.3,-137.54 295.49,-128.45 297.74,-119.5 302.27,-101.51 301.75,-95.87 297.74,-77.75 294.46,-62.92 286.82,-47.35 280.66,-36.42" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "284,-143.48 281.86,-153.86 290.01,-147.08 284,-143.48" />
</a>
</g>
</g>
<!-- Node7 -->
<g id= "Node000007" class= "node" >
<title > Node7</title>
<g id= "a_Node000007" > <a xlink:href= "utils_8h.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "288.49,-119.5 162.99,-119.5 162.99,-77.75 288.49,-77.75 288.49,-119.5" />
<text xml:space= "preserve" text-anchor= "start" x= "170.99" y= "-106" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/composition/include</text>
<text xml:space= "preserve" text-anchor= "start" x= "170.99" y= "-94.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /fourdst/composition/utils</text>
<text xml:space= "preserve" text-anchor= "middle" x= "225.74" y= "-83.5" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /utils.h</text>
</a>
</g>
</g>
<!-- Node1->Node7 -->
<g id= "edge6_Node000001_Node000007" class= "edge" >
<title > Node1- > Node7</title>
<g id= "a_edge6_Node000001_Node000007" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M255.27,-145.63C249.91,-137.28 243.95,-128.01 238.81,-119.99" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "252.25,-147.42 260.6,-153.95 258.14,-143.64 252.25,-147.42" />
</a>
</g>
</g>
<!-- Node8 -->
<g id= "Node000008" class= "node" >
<title > Node8</title>
<g id= "a_Node000008" > <a xlink:href= "utils_8cpp.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "574.62,-36.12 476.87,-36.12 476.87,-5.62 574.62,-5.62 574.62,-36.12" />
<text xml:space= "preserve" text-anchor= "start" x= "484.87" y= "-22.62" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/composition/lib</text>
<text xml:space= "preserve" text-anchor= "middle" x= "525.74" y= "-11.38" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /utils.cpp</text>
</a>
</g>
</g>
<!-- Node1->Node8 -->
<g id= "edge12_Node000001_Node000008" class= "edge" >
<title > Node1- > Node8</title>
<g id= "a_edge12_Node000001_Node000008" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M366.66,-164.55C405.27,-158.21 448.06,-145.28 479.74,-119.5 506.04,-98.09 518.15,-58.15 522.98,-36.59" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "366.23,-161.08 356.86,-166.02 367.27,-168 366.23,-161.08" />
2026-05-18 10:04:49 -04:00
</a>
</g>
</g>
<!-- Node2->Node3 -->
<g id= "edge2_Node000002_Node000003" class= "edge" >
<title > Node2- > Node3</title>
<g id= "a_edge2_Node000002_Node000003" > <a xlink:title= " " >
2026-06-12 10:49:27 -04:00
<path fill= "none" stroke= "#63b8ff" d= "M80.74,-66.06C80.74,-55.69 80.74,-44.67 80.74,-36.23" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "77.24,-65.81 80.74,-75.81 84.24,-65.81 77.24,-65.81" />
2026-05-18 10:08:43 -04:00
</a>
</g>
</g>
2026-06-12 10:49:27 -04:00
<!-- Node4->Node5 -->
<g id= "edge4_Node000004_Node000005" class= "edge" >
<title > Node4- > Node5</title>
<g id= "a_edge4_Node000004_Node000005" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M361.49,-71.87C340.29,-60.05 315.92,-46.48 297.94,-36.46" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "359.53,-74.78 369.97,-76.59 362.94,-68.67 359.53,-74.78" />
2026-05-18 10:08:43 -04:00
</a>
</g>
</g>
<!-- Node6 -->
<g id= "Node000006" class= "node" >
<title > Node6</title>
<g id= "a_Node000006" > <a xlink:href= "composition__masked_8cpp.html" target= "_top" xlink:title= " " >
2026-06-12 10:49:27 -04:00
<polygon fill= "white" stroke= "#666666" points= "458.87,-41.75 338.62,-41.75 338.62,0 458.87,0 458.87,-41.75" />
<text xml:space= "preserve" text-anchor= "start" x= "346.62" y= "-28.25" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/composition/lib</text>
<text xml:space= "preserve" text-anchor= "start" x= "346.62" y= "-17" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /decorators/composition</text>
<text xml:space= "preserve" text-anchor= "middle" x= "398.74" y= "-5.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > _masked.cpp</text>
2026-05-18 10:08:43 -04:00
</a>
</g>
</g>
2026-06-12 10:49:27 -04:00
<!-- Node4->Node6 -->
<g id= "edge5_Node000004_Node000006" class= "edge" >
<title > Node4- > Node6</title>
<g id= "a_edge5_Node000004_Node000006" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M403.98,-66C403.03,-57.96 402.03,-49.54 401.16,-42.23" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "400.5,-66.31 405.15,-75.82 407.45,-65.48 400.5,-66.31" />
</a>
</g>
</g>
<!-- Node7->Node3 -->
<g id= "edge8_Node000007_Node000003" class= "edge" >
<title > Node7- > Node3</title>
<g id= "a_edge8_Node000007_Node000003" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M176.74,-72.03C154.06,-60.18 127.93,-46.53 108.67,-36.46" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "175.06,-75.1 185.54,-76.62 178.3,-68.89 175.06,-75.1" />
</a>
</g>
</g>
<!-- Node7->Node5 -->
<g id= "edge7_Node000007_Node000005" class= "edge" >
<title > Node7- > Node5</title>
<g id= "a_edge7_Node000007_Node000005" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M243.9,-67.73C250.48,-56.88 257.62,-45.12 263.03,-36.23" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "241.05,-65.67 238.85,-76.03 247.04,-69.3 241.05,-65.67" />
</a>
</g>
</g>
<!-- Node7->Node8 -->
<g id= "edge9_Node000007_Node000008" class= "edge" >
<title > Node7- > Node8</title>
<g id= "a_edge9_Node000007_Node000008" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M300.13,-82.53C348.26,-72.25 412.09,-57.66 467.74,-41.75 473.17,-40.2 478.83,-38.44 484.4,-36.62" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "299.41,-79.1 290.35,-84.6 300.86,-85.95 299.41,-79.1" />
2026-05-18 10:04:49 -04:00
</a>
</g>
</g>
</g>
</svg>
2026-06-12 10:49:27 -04:00
<g id= "navigator" transform= "translate(0 0)" fill= "#404254" >
<rect fill= "#f2f5e9" fill-opacity= "0.5" stroke= "#606060" stroke-width= ".5" x= "0" y= "0" width= "60" height= "60" />
<use id= "zoomplus" xlink:href= "#zoomPlus" x= "17" y= "9" onmousedown= "handleZoom(evt,'in')" />
<use id= "zoomminus" xlink:href= "#zoomMin" x= "42" y= "9" onmousedown= "handleZoom(evt,'out')" />
<use id= "reset" xlink:href= "#resetDef" x= "30" y= "36" onmousedown= "handleReset()" />
<use id= "arrowup" xlink:href= "#arrowUp" x= "0" y= "0" onmousedown= "handlePan(0,-1)" />
<use id= "arrowright" xlink:href= "#arrowRight" x= "0" y= "0" onmousedown= "handlePan(1,0)" />
<use id= "arrowdown" xlink:href= "#arrowDown" x= "0" y= "0" onmousedown= "handlePan(0,1)" />
<use id= "arrowleft" xlink:href= "#arrowLeft" x= "0" y= "0" onmousedown= "handlePan(-1,0)" />
</g>
<svg viewBox= "0 0 15 15" width= "100%" height= "30px" preserveAspectRatio= "xMaxYMin meet" >
<g id= "arrow_out" transform= "scale(0.3 0.3)" >
<a xlink:href= "composition_8h__dep__incl_org.svg" target= "_base" >
<rect id= "button" ry= "5" rx= "5" y= "6" x= "6" height= "38" width= "38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id= "arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
2026-05-18 10:04:49 -04:00
</svg>
<style type= 'text/css' >
< ![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type= "application/ecmascript" > < ![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>