updated readme
This commit is contained in:
@@ -4,642 +4,642 @@
|
||||
<!-- Generated by graphviz version 2.42.4 (0)
|
||||
-->
|
||||
<!-- Title: MediaAnalyzer Pages: 1 -->
|
||||
<svg width="648pt" height="720pt"
|
||||
viewBox="0.00 0.00 647.84 720.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(0.34 0.34) rotate(0) translate(4 2084.29)">
|
||||
<svg width="1979pt" height="2160pt"
|
||||
viewBox="0.00 0.00 1979.34 2160.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 2165.46)">
|
||||
<title>MediaAnalyzer</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-2084.29 1875,-2084.29 1875,4 -4,4"/>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-2165.46 1984,-2165.46 1984,4 -4,4"/>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_legend</title>
|
||||
<polygon fill="lightgray" stroke="lightgray" points="8,-1674.04 8,-2057.88 236,-2057.88 236,-1674.04 8,-1674.04"/>
|
||||
<text text-anchor="middle" x="122" y="-2044.28" font-family="Arial" font-size="12.00">Legend</text>
|
||||
<polygon fill="lightgray" stroke="lightgray" points="8.47,-1739.35 8.47,-2138.17 249.75,-2138.17 249.75,-1739.35 8.47,-1739.35"/>
|
||||
<text text-anchor="middle" x="129.11" y="-2124.57" font-family="Arial" font-size="12.00">Legend</text>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>cluster_sources</title>
|
||||
<polygon fill="#1976d2" stroke="#1976d2" points="244,-1853.35 244,-2057.88 494,-2057.88 494,-1853.35 244,-1853.35"/>
|
||||
<text text-anchor="middle" x="369" y="-2044.28" font-family="Arial" font-size="12.00">Video Sources</text>
|
||||
<polygon fill="#1976d2" stroke="#1976d2" points="258.21,-1925.66 258.21,-2138.17 522.78,-2138.17 522.78,-1925.66 258.21,-1925.66"/>
|
||||
<text text-anchor="middle" x="390.5" y="-2124.57" font-family="Arial" font-size="12.00">Video Sources</text>
|
||||
</g>
|
||||
<g id="clust3" class="cluster">
|
||||
<title>cluster_adapters</title>
|
||||
<polygon fill="#8e24aa" stroke="#8e24aa" points="502,-1674.04 502,-2057.88 791,-2057.88 791,-1674.04 502,-1674.04"/>
|
||||
<text text-anchor="middle" x="646.5" y="-2044.28" font-family="Arial" font-size="12.00">Source Adapters Pattern</text>
|
||||
<polygon fill="#8e24aa" stroke="#8e24aa" points="531.25,-1739.35 531.25,-2138.17 837.08,-2138.17 837.08,-1739.35 531.25,-1739.35"/>
|
||||
<text text-anchor="middle" x="684.16" y="-2124.57" font-family="Arial" font-size="12.00">Source Adapters Pattern</text>
|
||||
</g>
|
||||
<g id="clust4" class="cluster">
|
||||
<title>cluster_core</title>
|
||||
<polygon fill="#1976d2" stroke="#1976d2" points="606,-1115.09 606,-1626.41 800,-1626.41 800,-1115.09 606,-1115.09"/>
|
||||
<text text-anchor="middle" x="703" y="-1612.81" font-family="Arial" font-size="12.00">Core Platform</text>
|
||||
<polygon fill="#1976d2" stroke="#1976d2" points="641.3,-1158.6 641.3,-1689.87 846.61,-1689.87 846.61,-1158.6 641.3,-1158.6"/>
|
||||
<text text-anchor="middle" x="743.96" y="-1676.27" font-family="Arial" font-size="12.00">Core Platform</text>
|
||||
</g>
|
||||
<g id="clust5" class="cluster">
|
||||
<title>cluster_execution</title>
|
||||
<polygon fill="#8e24aa" stroke="#8e24aa" points="1574,-549.14 1574,-1012.83 1863,-1012.83 1863,-549.14 1574,-549.14"/>
|
||||
<text text-anchor="middle" x="1718.5" y="-999.23" font-family="Arial" font-size="12.00">Execution Strategies Pattern</text>
|
||||
<polygon fill="#8e24aa" stroke="#8e24aa" points="1665.7,-570.57 1665.7,-1052.35 1971.53,-1052.35 1971.53,-570.57 1665.7,-570.57"/>
|
||||
<text text-anchor="middle" x="1818.62" y="-1038.75" font-family="Arial" font-size="12.00">Execution Strategies Pattern</text>
|
||||
</g>
|
||||
<g id="clust6" class="cluster">
|
||||
<title>cluster_event_sources</title>
|
||||
<polygon fill="#8e24aa" stroke="#8e24aa" points="1134,-808.3 1134,-1319.62 1566,-1319.62 1566,-808.3 1134,-808.3"/>
|
||||
<text text-anchor="middle" x="1350" y="-1306.02" font-family="Arial" font-size="12.00">Event Source Pattern</text>
|
||||
<polygon fill="#8e24aa" stroke="#8e24aa" points="1200.06,-839.84 1200.06,-1371.11 1657.23,-1371.11 1657.23,-839.84 1200.06,-839.84"/>
|
||||
<text text-anchor="middle" x="1428.65" y="-1357.51" font-family="Arial" font-size="12.00">Event Source Pattern</text>
|
||||
</g>
|
||||
<g id="clust7" class="cluster">
|
||||
<title>cluster_events</title>
|
||||
<polygon fill="#1976d2" stroke="#1976d2" points="1100,-22.41 1100,-753.67 1249,-753.67 1249,-22.41 1100,-22.41"/>
|
||||
<text text-anchor="middle" x="1174.5" y="-740.07" font-family="Arial" font-size="12.00">Event-Driven Processing</text>
|
||||
<polygon fill="#1976d2" stroke="#1976d2" points="1164.08,-23.29 1164.08,-783.07 1321.76,-783.07 1321.76,-23.29 1164.08,-23.29"/>
|
||||
<text text-anchor="middle" x="1242.92" y="-769.47" font-family="Arial" font-size="12.00">Event-Driven Processing</text>
|
||||
</g>
|
||||
<g id="clust8" class="cluster">
|
||||
<title>cluster_workers</title>
|
||||
<polygon fill="#1976d2" stroke="#1976d2" points="365,-801.3 365,-1019.83 800,-1019.83 800,-801.3 365,-801.3"/>
|
||||
<text text-anchor="middle" x="582.5" y="-1006.23" font-family="Arial" font-size="12.00">Celery Workers</text>
|
||||
<polygon fill="#1976d2" stroke="#1976d2" points="386.26,-832.56 386.26,-1059.62 846.61,-1059.62 846.61,-832.56 386.26,-832.56"/>
|
||||
<text text-anchor="middle" x="616.44" y="-1046.02" font-family="Arial" font-size="12.00">Celery Workers</text>
|
||||
</g>
|
||||
<g id="clust9" class="cluster">
|
||||
<title>cluster_ai_adapters</title>
|
||||
<polygon fill="#8e24aa" stroke="#8e24aa" points="1257,-322.2 1257,-753.67 1566,-753.67 1566,-322.2 1257,-322.2"/>
|
||||
<text text-anchor="middle" x="1411.5" y="-740.07" font-family="Arial" font-size="12.00">Analysis Adapters Pattern</text>
|
||||
<polygon fill="#8e24aa" stroke="#8e24aa" points="1330.23,-334.77 1330.23,-783.07 1657.23,-783.07 1657.23,-334.77 1330.23,-334.77"/>
|
||||
<text text-anchor="middle" x="1493.73" y="-769.47" font-family="Arial" font-size="12.00">Analysis Adapters Pattern</text>
|
||||
</g>
|
||||
<g id="clust10" class="cluster">
|
||||
<title>cluster_storage</title>
|
||||
<polygon fill="#1976d2" stroke="#1976d2" points="934,-1115.09 934,-1319.62 1126,-1319.62 1126,-1115.09 934,-1115.09"/>
|
||||
<text text-anchor="middle" x="1030" y="-1306.02" font-family="Arial" font-size="12.00">Media Storage</text>
|
||||
<polygon fill="#1976d2" stroke="#1976d2" points="988.41,-1158.6 988.41,-1371.11 1191.6,-1371.11 1191.6,-1158.6 988.41,-1158.6"/>
|
||||
<text text-anchor="middle" x="1090.01" y="-1357.51" font-family="Arial" font-size="12.00">Media Storage</text>
|
||||
</g>
|
||||
<g id="clust11" class="cluster">
|
||||
<title>cluster_frontend</title>
|
||||
<polygon fill="#1976d2" stroke="#1976d2" points="808,-808.3 808,-1326.62 926,-1326.62 926,-808.3 808,-808.3"/>
|
||||
<text text-anchor="middle" x="867" y="-1313.02" font-family="Arial" font-size="12.00">Frontend</text>
|
||||
<polygon fill="#1976d2" stroke="#1976d2" points="855.07,-839.84 855.07,-1378.38 979.95,-1378.38 979.95,-839.84 855.07,-839.84"/>
|
||||
<text text-anchor="middle" x="917.51" y="-1364.78" font-family="Arial" font-size="12.00">Frontend</text>
|
||||
</g>
|
||||
<g id="clust12" class="cluster">
|
||||
<title>cluster_cloud</title>
|
||||
<polygon fill="#1976d2" stroke="#1976d2" points="1483,-22.41 1483,-226.94 1714,-226.94 1714,-22.41 1483,-22.41"/>
|
||||
<text text-anchor="middle" x="1598.5" y="-213.34" font-family="Arial" font-size="12.00">GCP Services</text>
|
||||
<polygon fill="#1976d2" stroke="#1976d2" points="1569.4,-23.29 1569.4,-235.8 1813.85,-235.8 1813.85,-23.29 1569.4,-23.29"/>
|
||||
<text text-anchor="middle" x="1691.62" y="-222.2" font-family="Arial" font-size="12.00">GCP Services</text>
|
||||
</g>
|
||||
<!-- implemented -->
|
||||
<g id="node1" class="node">
|
||||
<title>implemented</title>
|
||||
<polygon fill="#28a745" stroke="transparent" points="228.5,-1944.41 139.5,-1944.41 139.5,-1908.41 228.5,-1908.41 228.5,-1944.41"/>
|
||||
<text text-anchor="middle" x="184" y="-1923.91" font-family="Arial" font-size="10.00" fill="#ffffff">✅ Implemented</text>
|
||||
<polygon fill="#28a745" stroke="transparent" points="239.18,-2019.29 150.18,-2019.29 150.18,-1983.29 239.18,-1983.29 239.18,-2019.29"/>
|
||||
<text text-anchor="middle" x="194.68" y="-1998.79" font-family="Arial" font-size="10.00" fill="#ffffff">✅ Implemented</text>
|
||||
</g>
|
||||
<!-- planned -->
|
||||
<g id="node2" class="node">
|
||||
<title>planned</title>
|
||||
<polygon fill="#ffc107" stroke="transparent" points="228,-1764.41 160,-1764.41 160,-1728.41 228,-1728.41 228,-1764.41"/>
|
||||
<text text-anchor="middle" x="194" y="-1743.91" font-family="Arial" font-size="10.00" fill="#212529">⏳ Planned</text>
|
||||
<polygon fill="#ffc107" stroke="transparent" points="239.68,-1833.29 171.68,-1833.29 171.68,-1797.29 239.68,-1797.29 239.68,-1833.29"/>
|
||||
<text text-anchor="middle" x="205.68" y="-1812.79" font-family="Arial" font-size="10.00" fill="#212529">⏳ Planned</text>
|
||||
</g>
|
||||
<!-- implemented->planned -->
|
||||
<!-- code_pattern -->
|
||||
<g id="node3" class="node">
|
||||
<title>code_pattern</title>
|
||||
<polygon fill="#8e24aa" stroke="transparent" points="117,-1944.41 27,-1944.41 27,-1908.41 117,-1908.41 117,-1944.41"/>
|
||||
<text text-anchor="middle" x="72" y="-1923.91" font-family="Arial" font-size="10.00" fill="#ffffff">📐 Code Pattern</text>
|
||||
<polygon fill="#8e24aa" stroke="transparent" points="121.68,-2019.29 31.68,-2019.29 31.68,-1983.29 121.68,-1983.29 121.68,-2019.29"/>
|
||||
<text text-anchor="middle" x="76.68" y="-1998.79" font-family="Arial" font-size="10.00" fill="#ffffff">📐 Code Pattern</text>
|
||||
</g>
|
||||
<!-- service_arch -->
|
||||
<g id="node4" class="node">
|
||||
<title>service_arch</title>
|
||||
<polygon fill="#1976d2" stroke="transparent" points="137.5,-1764.41 16.5,-1764.41 16.5,-1728.41 137.5,-1728.41 137.5,-1764.41"/>
|
||||
<text text-anchor="middle" x="77" y="-1743.91" font-family="Arial" font-size="10.00" fill="#ffffff">⚡ Service/Architecture</text>
|
||||
<polygon fill="#1976d2" stroke="transparent" points="142.18,-1833.29 21.18,-1833.29 21.18,-1797.29 142.18,-1797.29 142.18,-1833.29"/>
|
||||
<text text-anchor="middle" x="81.68" y="-1812.79" font-family="Arial" font-size="10.00" fill="#ffffff">⚡ Service/Architecture</text>
|
||||
</g>
|
||||
<!-- code_pattern->service_arch -->
|
||||
<!-- webcam -->
|
||||
<g id="node5" class="node">
|
||||
<title>webcam</title>
|
||||
<polygon fill="#28a745" stroke="black" points="307.5,-1944.41 252.5,-1944.41 252.5,-1908.41 307.5,-1908.41 307.5,-1944.41"/>
|
||||
<text text-anchor="middle" x="280" y="-1923.91" font-family="Arial" font-size="10.00" fill="#ffffff">Webcam</text>
|
||||
<polygon fill="#28a745" stroke="black" points="324.18,-2019.29 269.18,-2019.29 269.18,-1983.29 324.18,-1983.29 324.18,-2019.29"/>
|
||||
<text text-anchor="middle" x="296.68" y="-1998.79" font-family="Arial" font-size="10.00" fill="#ffffff">Webcam</text>
|
||||
</g>
|
||||
<!-- webcam_adapter -->
|
||||
<g id="node9" class="node">
|
||||
<title>webcam_adapter</title>
|
||||
<polygon fill="#28a745" stroke="black" points="598.5,-1764.41 509.5,-1764.41 509.5,-1728.41 598.5,-1728.41 598.5,-1764.41"/>
|
||||
<text text-anchor="middle" x="554" y="-1743.91" font-family="Arial" font-size="10.00" fill="#ffffff">WebcamAdapter</text>
|
||||
<polygon fill="#28a745" stroke="black" points="631.18,-1833.29 542.18,-1833.29 542.18,-1797.29 631.18,-1797.29 631.18,-1833.29"/>
|
||||
<text text-anchor="middle" x="586.68" y="-1812.79" font-family="Arial" font-size="10.00" fill="#ffffff">WebcamAdapter</text>
|
||||
</g>
|
||||
<!-- webcam->webcam_adapter -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>webcam->webcam_adapter</title>
|
||||
<path fill="none" stroke="#2e7d32" d="M301.09,-1908.09C325.95,-1888.02 368.83,-1854.44 408,-1828.91 441.69,-1806.96 481.66,-1784.91 511.26,-1769.28"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="513.25,-1772.19 520.48,-1764.45 510,-1765.99 513.25,-1772.19"/>
|
||||
<path fill="none" stroke="#2e7d32" d="M318.21,-1983.19C344.52,-1962.61 390.72,-1927.49 432.68,-1900.79 469.09,-1877.62 512.31,-1854.24 543.69,-1837.97"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="545.33,-1841.06 552.61,-1833.36 542.12,-1834.83 545.33,-1841.06"/>
|
||||
</g>
|
||||
<!-- rtmp -->
|
||||
<g id="node6" class="node">
|
||||
<title>rtmp</title>
|
||||
<polygon fill="#28a745" stroke="black" points="486,-1944.41 418,-1944.41 418,-1908.41 486,-1908.41 486,-1944.41"/>
|
||||
<text text-anchor="middle" x="452" y="-1923.91" font-family="Arial" font-size="10.00" fill="#ffffff">RTMP/OBS</text>
|
||||
<polygon fill="#28a745" stroke="black" points="512.68,-2019.29 444.68,-2019.29 444.68,-1983.29 512.68,-1983.29 512.68,-2019.29"/>
|
||||
<text text-anchor="middle" x="478.68" y="-1998.79" font-family="Arial" font-size="10.00" fill="#ffffff">RTMP/OBS</text>
|
||||
</g>
|
||||
<!-- rtmp_adapter -->
|
||||
<g id="node10" class="node">
|
||||
<title>rtmp_adapter</title>
|
||||
<polygon fill="#28a745" stroke="black" points="783,-1764.41 709,-1764.41 709,-1728.41 783,-1728.41 783,-1764.41"/>
|
||||
<text text-anchor="middle" x="746" y="-1743.91" font-family="Arial" font-size="10.00" fill="#ffffff">RtmpAdapter</text>
|
||||
<polygon fill="#28a745" stroke="black" points="826.68,-1833.29 752.68,-1833.29 752.68,-1797.29 826.68,-1797.29 826.68,-1833.29"/>
|
||||
<text text-anchor="middle" x="789.68" y="-1812.79" font-family="Arial" font-size="10.00" fill="#ffffff">RtmpAdapter</text>
|
||||
</g>
|
||||
<!-- rtmp->rtmp_adapter -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>rtmp->rtmp_adapter</title>
|
||||
<path fill="none" stroke="#2e7d32" d="M480.19,-1908.35C533.64,-1875.98 649.69,-1805.72 709.19,-1769.7"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="711.15,-1772.6 717.9,-1764.43 707.53,-1766.61 711.15,-1772.6"/>
|
||||
<path fill="none" stroke="#2e7d32" d="M507.66,-1983.14C564.14,-1949.73 688.93,-1875.9 751.84,-1838.67"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="753.84,-1841.56 760.66,-1833.46 750.27,-1835.54 753.84,-1841.56"/>
|
||||
</g>
|
||||
<!-- files -->
|
||||
<g id="node7" class="node">
|
||||
<title>files</title>
|
||||
<polygon fill="#ffc107" stroke="black" points="396,-1944.41 330,-1944.41 330,-1908.41 396,-1908.41 396,-1944.41"/>
|
||||
<text text-anchor="middle" x="363" y="-1923.91" font-family="Arial" font-size="10.00" fill="#212529">File Upload</text>
|
||||
<polygon fill="#ffc107" stroke="black" points="416.68,-2019.29 350.68,-2019.29 350.68,-1983.29 416.68,-1983.29 416.68,-2019.29"/>
|
||||
<text text-anchor="middle" x="383.68" y="-1998.79" font-family="Arial" font-size="10.00" fill="#212529">File Upload</text>
|
||||
</g>
|
||||
<!-- file_adapter -->
|
||||
<g id="node11" class="node">
|
||||
<title>file_adapter</title>
|
||||
<polygon fill="#ffc107" stroke="black" points="687,-1764.41 621,-1764.41 621,-1728.41 687,-1728.41 687,-1764.41"/>
|
||||
<text text-anchor="middle" x="654" y="-1743.91" font-family="Arial" font-size="10.00" fill="#212529">FileAdapter</text>
|
||||
<polygon fill="#ffc107" stroke="black" points="724.68,-1833.29 658.68,-1833.29 658.68,-1797.29 724.68,-1797.29 724.68,-1833.29"/>
|
||||
<text text-anchor="middle" x="691.68" y="-1812.79" font-family="Arial" font-size="10.00" fill="#212529">FileAdapter</text>
|
||||
</g>
|
||||
<!-- files->file_adapter -->
|
||||
<g id="edge28" class="edge">
|
||||
<title>files->file_adapter</title>
|
||||
<path fill="none" stroke="#f57f17" stroke-dasharray="5,2" d="M385.67,-1908.1C412.36,-1888.04 458.34,-1854.47 500,-1828.91 536.69,-1806.41 580.16,-1783.75 611.55,-1768.05"/>
|
||||
<polygon fill="#f57f17" stroke="#f57f17" points="613.49,-1771 620.88,-1763.41 610.37,-1764.73 613.49,-1771"/>
|
||||
<path fill="none" stroke="#f57f17" stroke-dasharray="5,2" d="M406.89,-1983.22C435.24,-1962.66 484.94,-1927.58 529.68,-1900.79 569.19,-1877.13 615.98,-1853.13 649.1,-1836.79"/>
|
||||
<polygon fill="#f57f17" stroke="#f57f17" points="651.05,-1839.73 658.48,-1832.18 647.96,-1833.44 651.05,-1839.73"/>
|
||||
</g>
|
||||
<!-- base_adapter -->
|
||||
<g id="node8" class="node">
|
||||
<title>base_adapter</title>
|
||||
<polygon fill="#ce93d8" stroke="black" points="706,-1944.41 602,-1944.41 602,-1908.41 706,-1908.41 706,-1944.41"/>
|
||||
<text text-anchor="middle" x="654" y="-1929.41" font-family="Arial" font-size="10.00">BaseSourceAdapter</text>
|
||||
<text text-anchor="middle" x="654" y="-1918.41" font-family="Arial" font-size="10.00">(Abstract)</text>
|
||||
<polygon fill="#ce93d8" stroke="black" points="743.68,-2019.29 639.68,-2019.29 639.68,-1983.29 743.68,-1983.29 743.68,-2019.29"/>
|
||||
<text text-anchor="middle" x="691.68" y="-2004.29" font-family="Arial" font-size="10.00">BaseSourceAdapter</text>
|
||||
<text text-anchor="middle" x="691.68" y="-1993.29" font-family="Arial" font-size="10.00">(Abstract)</text>
|
||||
</g>
|
||||
<!-- base_adapter->webcam_adapter -->
|
||||
<g id="edge38" class="edge">
|
||||
<title>base_adapter->webcam_adapter</title>
|
||||
<path fill="none" stroke="gray" stroke-dasharray="1,5" d="M644.41,-1908.35C626.87,-1877.11 589.49,-1810.58 568.71,-1773.59"/>
|
||||
<polygon fill="gray" stroke="gray" points="571.51,-1771.43 563.56,-1764.43 565.41,-1774.86 571.51,-1771.43"/>
|
||||
<path fill="none" stroke="gray" stroke-dasharray="1,5" d="M681.8,-1982.98C663.31,-1950.57 623.36,-1880.56 601.58,-1842.39"/>
|
||||
<polygon fill="gray" stroke="gray" points="604.45,-1840.37 596.46,-1833.42 598.37,-1843.84 604.45,-1840.37"/>
|
||||
</g>
|
||||
<!-- base_adapter->rtmp_adapter -->
|
||||
<g id="edge39" class="edge">
|
||||
<title>base_adapter->rtmp_adapter</title>
|
||||
<path fill="none" stroke="gray" stroke-dasharray="1,5" d="M662.82,-1908.35C678.96,-1877.11 713.35,-1810.58 732.47,-1773.59"/>
|
||||
<polygon fill="gray" stroke="gray" points="735.72,-1774.92 737.21,-1764.43 729.5,-1771.71 735.72,-1774.92"/>
|
||||
<path fill="none" stroke="gray" stroke-dasharray="1,5" d="M700.9,-1982.98C718.16,-1950.57 755.45,-1880.56 775.78,-1842.39"/>
|
||||
<polygon fill="gray" stroke="gray" points="778.95,-1843.89 780.56,-1833.42 772.77,-1840.6 778.95,-1843.89"/>
|
||||
</g>
|
||||
<!-- base_adapter->file_adapter -->
|
||||
<g id="edge40" class="edge">
|
||||
<title>base_adapter->file_adapter</title>
|
||||
<path fill="none" stroke="gray" stroke-dasharray="1,5" d="M654,-1908.35C654,-1877.38 654,-1811.71 654,-1774.54"/>
|
||||
<polygon fill="gray" stroke="gray" points="657.5,-1774.43 654,-1764.43 650.5,-1774.43 657.5,-1774.43"/>
|
||||
<path fill="none" stroke="gray" stroke-dasharray="1,5" d="M691.68,-1982.98C691.68,-1950.98 691.68,-1882.33 691.68,-1843.86"/>
|
||||
<polygon fill="gray" stroke="gray" points="695.18,-1843.42 691.68,-1833.42 688.18,-1843.42 695.18,-1843.42"/>
|
||||
</g>
|
||||
<!-- django -->
|
||||
<g id="node12" class="node">
|
||||
<title>django</title>
|
||||
<polygon fill="#28a745" stroke="black" points="687.5,-1507.91 620.5,-1507.91 620.5,-1466.91 687.5,-1466.91 687.5,-1507.91"/>
|
||||
<text text-anchor="middle" x="654" y="-1495.91" font-family="Arial" font-size="10.00" fill="#ffffff">Django API</text>
|
||||
<text text-anchor="middle" x="654" y="-1484.91" font-family="Arial" font-size="10.00" fill="#ffffff">+ Channels</text>
|
||||
<text text-anchor="middle" x="654" y="-1473.91" font-family="Arial" font-size="10.00" fill="#ffffff">:8000</text>
|
||||
<polygon fill="#28a745" stroke="black" points="725.18,-1565.79 658.18,-1565.79 658.18,-1524.79 725.18,-1524.79 725.18,-1565.79"/>
|
||||
<text text-anchor="middle" x="691.68" y="-1553.79" font-family="Arial" font-size="10.00" fill="#ffffff">Django API</text>
|
||||
<text text-anchor="middle" x="691.68" y="-1542.79" font-family="Arial" font-size="10.00" fill="#ffffff">+ Channels</text>
|
||||
<text text-anchor="middle" x="691.68" y="-1531.79" font-family="Arial" font-size="10.00" fill="#ffffff">:8000</text>
|
||||
</g>
|
||||
<!-- webcam_adapter->django -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>webcam_adapter->django</title>
|
||||
<path fill="none" stroke="#2e7d32" d="M560.72,-1728.15C577.54,-1684.91 621.65,-1571.55 642.62,-1517.67"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="646,-1518.62 646.37,-1508.03 639.48,-1516.08 646,-1518.62"/>
|
||||
<path fill="none" stroke="#2e7d32" d="M593.41,-1797.12C611,-1752.21 658.51,-1630.94 680.38,-1575.12"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="683.64,-1576.4 684.03,-1565.81 677.13,-1573.84 683.64,-1576.4"/>
|
||||
</g>
|
||||
<!-- rtmp_adapter->django -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>rtmp_adapter->django</title>
|
||||
<path fill="none" stroke="#2e7d32" d="M739.82,-1728.15C724.34,-1684.91 683.76,-1571.55 664.47,-1517.67"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="667.69,-1516.26 661.02,-1508.03 661.1,-1518.62 667.69,-1516.26"/>
|
||||
<path fill="none" stroke="#2e7d32" d="M783.4,-1797.12C767.02,-1752.31 722.82,-1631.45 702.35,-1575.47"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="705.54,-1574 698.82,-1565.81 698.97,-1576.4 705.54,-1574"/>
|
||||
</g>
|
||||
<!-- file_adapter->django -->
|
||||
<g id="edge29" class="edge">
|
||||
<title>file_adapter->django</title>
|
||||
<path fill="none" stroke="#f57f17" stroke-dasharray="5,2" d="M654,-1728.15C654,-1685.09 654,-1572.49 654,-1518.35"/>
|
||||
<polygon fill="#f57f17" stroke="#f57f17" points="657.5,-1518.03 654,-1508.03 650.5,-1518.03 657.5,-1518.03"/>
|
||||
<path fill="none" stroke="#f57f17" stroke-dasharray="5,2" d="M691.68,-1797.12C691.68,-1752.4 691.68,-1631.95 691.68,-1575.82"/>
|
||||
<polygon fill="#f57f17" stroke="#f57f17" points="695.18,-1575.81 691.68,-1565.81 688.18,-1575.81 695.18,-1575.81"/>
|
||||
</g>
|
||||
<!-- postgres -->
|
||||
<g id="node13" class="node">
|
||||
<title>postgres</title>
|
||||
<polygon fill="#28a745" stroke="black" points="792,-1206.41 722,-1206.41 722,-1170.41 792,-1170.41 792,-1206.41"/>
|
||||
<text text-anchor="middle" x="757" y="-1191.41" font-family="Arial" font-size="10.00" fill="#ffffff">PostgreSQL</text>
|
||||
<text text-anchor="middle" x="757" y="-1180.41" font-family="Arial" font-size="10.00" fill="#ffffff">Database</text>
|
||||
<polygon fill="#28a745" stroke="black" points="835.68,-1252.29 765.68,-1252.29 765.68,-1216.29 835.68,-1216.29 835.68,-1252.29"/>
|
||||
<text text-anchor="middle" x="800.68" y="-1237.29" font-family="Arial" font-size="10.00" fill="#ffffff">PostgreSQL</text>
|
||||
<text text-anchor="middle" x="800.68" y="-1226.29" font-family="Arial" font-size="10.00" fill="#ffffff">Database</text>
|
||||
</g>
|
||||
<!-- django->postgres -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>django->postgres</title>
|
||||
<path fill="none" stroke="#2e7d32" d="M660.92,-1466.47C678.92,-1414.57 727.22,-1275.28 747.66,-1216.34"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="751.06,-1217.23 751.03,-1206.63 744.45,-1214.93 751.06,-1217.23"/>
|
||||
<path fill="none" stroke="#2e7d32" d="M698.67,-1524.49C717.54,-1470.97 769.61,-1323.37 791.15,-1262.29"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="794.55,-1263.19 794.58,-1252.6 787.95,-1260.86 794.55,-1263.19"/>
|
||||
</g>
|
||||
<!-- redis -->
|
||||
<g id="node14" class="node">
|
||||
<title>redis</title>
|
||||
<polygon fill="#28a745" stroke="black" points="700,-1206.41 614,-1206.41 614,-1170.41 700,-1170.41 700,-1206.41"/>
|
||||
<text text-anchor="middle" x="657" y="-1191.41" font-family="Arial" font-size="10.00" fill="#ffffff">Redis</text>
|
||||
<text text-anchor="middle" x="657" y="-1180.41" font-family="Arial" font-size="10.00" fill="#ffffff">Cache & Broker</text>
|
||||
<polygon fill="#28a745" stroke="black" points="738.68,-1252.29 652.68,-1252.29 652.68,-1216.29 738.68,-1216.29 738.68,-1252.29"/>
|
||||
<text text-anchor="middle" x="695.68" y="-1237.29" font-family="Arial" font-size="10.00" fill="#ffffff">Redis</text>
|
||||
<text text-anchor="middle" x="695.68" y="-1226.29" font-family="Arial" font-size="10.00" fill="#ffffff">Cache & Broker</text>
|
||||
</g>
|
||||
<!-- django->redis -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>django->redis</title>
|
||||
<path fill="none" stroke="#2e7d32" d="M654.2,-1466.47C654.72,-1414.67 656.13,-1275.85 656.72,-1216.71"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="660.22,-1216.67 656.83,-1206.63 653.23,-1216.59 660.22,-1216.67"/>
|
||||
<path fill="none" stroke="#2e7d32" d="M691.94,-1524.49C692.63,-1471.08 694.53,-1323.98 695.33,-1262.67"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="698.83,-1262.64 695.46,-1252.6 691.83,-1262.55 698.83,-1262.64"/>
|
||||
</g>
|
||||
<!-- local_storage -->
|
||||
<g id="node35" class="node">
|
||||
<title>local_storage</title>
|
||||
<polygon fill="#28a745" stroke="black" points="1020,-1206.41 942,-1206.41 942,-1170.41 1020,-1170.41 1020,-1206.41"/>
|
||||
<text text-anchor="middle" x="981" y="-1191.41" font-family="Arial" font-size="10.00" fill="#ffffff">Local Files</text>
|
||||
<text text-anchor="middle" x="981" y="-1180.41" font-family="Arial" font-size="10.00" fill="#ffffff">(nginx-served)</text>
|
||||
<polygon fill="#28a745" stroke="black" points="1076.68,-1252.29 998.68,-1252.29 998.68,-1216.29 1076.68,-1216.29 1076.68,-1252.29"/>
|
||||
<text text-anchor="middle" x="1037.68" y="-1237.29" font-family="Arial" font-size="10.00" fill="#ffffff">Local Files</text>
|
||||
<text text-anchor="middle" x="1037.68" y="-1226.29" font-family="Arial" font-size="10.00" fill="#ffffff">(nginx-served)</text>
|
||||
</g>
|
||||
<!-- django->local_storage -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>django->local_storage</title>
|
||||
<path fill="none" stroke="#2e7d32" d="M678.88,-1466.81C704.44,-1446.47 745.15,-1413.48 779,-1383.41 848.91,-1321.3 863.66,-1302.8 931,-1237.91 939.1,-1230.11 947.91,-1221.58 955.85,-1213.87"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="958.71,-1215.98 963.44,-1206.5 953.83,-1210.96 958.71,-1215.98"/>
|
||||
<path fill="none" stroke="#2e7d32" d="M716.06,-1524.54C742.04,-1503.33 784.24,-1468.48 819.68,-1437.29 890.85,-1374.64 972.16,-1297.86 1012.4,-1259.51"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="1015.06,-1261.8 1019.88,-1252.36 1010.23,-1256.74 1015.06,-1261.8"/>
|
||||
</g>
|
||||
<!-- gcs_storage -->
|
||||
<g id="node36" class="node">
|
||||
<title>gcs_storage</title>
|
||||
<polygon fill="#ffc107" stroke="black" points="1118,-1206.41 1042,-1206.41 1042,-1170.41 1118,-1170.41 1118,-1206.41"/>
|
||||
<text text-anchor="middle" x="1080" y="-1191.41" font-family="Arial" font-size="10.00" fill="#212529">Google Cloud</text>
|
||||
<text text-anchor="middle" x="1080" y="-1180.41" font-family="Arial" font-size="10.00" fill="#212529">Storage</text>
|
||||
<polygon fill="#ffc107" stroke="black" points="1180.68,-1252.29 1104.68,-1252.29 1104.68,-1216.29 1180.68,-1216.29 1180.68,-1252.29"/>
|
||||
<text text-anchor="middle" x="1142.68" y="-1237.29" font-family="Arial" font-size="10.00" fill="#212529">Google Cloud</text>
|
||||
<text text-anchor="middle" x="1142.68" y="-1226.29" font-family="Arial" font-size="10.00" fill="#212529">Storage</text>
|
||||
</g>
|
||||
<!-- django->gcs_storage -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>django->gcs_storage</title>
|
||||
<path fill="none" stroke="#2e7d32" d="M687.53,-1467.36C755.28,-1428.23 912.13,-1334.34 1031,-1237.91 1039.92,-1230.68 1049.05,-1222.05 1056.96,-1214.09"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="1059.95,-1216.03 1064.42,-1206.43 1054.94,-1211.15 1059.95,-1216.03"/>
|
||||
<path fill="none" stroke="#2e7d32" d="M724.82,-1524.68C794.21,-1483.15 959.01,-1382.07 1087.68,-1283.79 1097.54,-1276.26 1107.86,-1267.43 1116.87,-1259.39"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="1119.33,-1261.88 1124.4,-1252.57 1114.64,-1256.69 1119.33,-1261.88"/>
|
||||
</g>
|
||||
<!-- angular -->
|
||||
<g id="node37" class="node">
|
||||
<title>angular</title>
|
||||
<polygon fill="#28a745" stroke="black" points="902,-1208.91 816,-1208.91 816,-1167.91 902,-1167.91 902,-1208.91"/>
|
||||
<text text-anchor="middle" x="859" y="-1196.91" font-family="Arial" font-size="10.00" fill="#ffffff">Angular 17 SPA</text>
|
||||
<text text-anchor="middle" x="859" y="-1185.91" font-family="Arial" font-size="10.00" fill="#ffffff">+ WebSocket</text>
|
||||
<text text-anchor="middle" x="859" y="-1174.91" font-family="Arial" font-size="10.00" fill="#ffffff">:4200</text>
|
||||
<polygon fill="#28a745" stroke="black" points="951.68,-1254.79 865.68,-1254.79 865.68,-1213.79 951.68,-1213.79 951.68,-1254.79"/>
|
||||
<text text-anchor="middle" x="908.68" y="-1242.79" font-family="Arial" font-size="10.00" fill="#ffffff">Angular 17 SPA</text>
|
||||
<text text-anchor="middle" x="908.68" y="-1231.79" font-family="Arial" font-size="10.00" fill="#ffffff">+ WebSocket</text>
|
||||
<text text-anchor="middle" x="908.68" y="-1220.79" font-family="Arial" font-size="10.00" fill="#ffffff">:4200</text>
|
||||
</g>
|
||||
<!-- django->angular -->
|
||||
<g id="edge25" class="edge">
|
||||
<title>django->angular</title>
|
||||
<path fill="none" stroke="#2e7d32" d="M667.48,-1466.69C683.88,-1442.73 712.42,-1401.07 737,-1365.41 773.19,-1312.93 815.63,-1251.8 839.72,-1217.14"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="842.59,-1219.13 845.43,-1208.93 836.85,-1215.14 842.59,-1219.13"/>
|
||||
<text text-anchor="middle" x="757.5" y="-1377.01" font-family="Arial" font-size="8.00">WebSocket</text>
|
||||
<text text-anchor="middle" x="757.5" y="-1368.01" font-family="Arial" font-size="8.00">API</text>
|
||||
<path fill="none" stroke="#2e7d32" d="M705.59,-1524.49C742.94,-1471.29 845.59,-1325.13 888.94,-1263.4"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="892.01,-1265.12 894.89,-1254.92 886.28,-1261.1 892.01,-1265.12"/>
|
||||
<text text-anchor="middle" x="794.18" y="-1430.89" font-family="Arial" font-size="8.00">WebSocket</text>
|
||||
<text text-anchor="middle" x="794.18" y="-1421.89" font-family="Arial" font-size="8.00">API</text>
|
||||
</g>
|
||||
<!-- logo_worker -->
|
||||
<g id="node27" class="node">
|
||||
<title>logo_worker</title>
|
||||
<polygon fill="#28a745" stroke="black" points="456.5,-901.91 373.5,-901.91 373.5,-860.91 456.5,-860.91 456.5,-901.91"/>
|
||||
<text text-anchor="middle" x="415" y="-889.91" font-family="Arial" font-size="10.00" fill="#ffffff">Logo Detection</text>
|
||||
<text text-anchor="middle" x="415" y="-878.91" font-family="Arial" font-size="10.00" fill="#ffffff">Worker</text>
|
||||
<text text-anchor="middle" x="415" y="-867.91" font-family="Arial" font-size="10.00" fill="#ffffff">(logo_queue)</text>
|
||||
<polygon fill="#28a745" stroke="black" points="480.18,-935.79 397.18,-935.79 397.18,-894.79 480.18,-894.79 480.18,-935.79"/>
|
||||
<text text-anchor="middle" x="438.68" y="-923.79" font-family="Arial" font-size="10.00" fill="#ffffff">Logo Detection</text>
|
||||
<text text-anchor="middle" x="438.68" y="-912.79" font-family="Arial" font-size="10.00" fill="#ffffff">Worker</text>
|
||||
<text text-anchor="middle" x="438.68" y="-901.79" font-family="Arial" font-size="10.00" fill="#ffffff">(logo_queue)</text>
|
||||
</g>
|
||||
<!-- redis->logo_worker -->
|
||||
<g id="edge19" class="edge">
|
||||
<title>redis->logo_worker</title>
|
||||
<path fill="none" stroke="#2e7d32" d="M643.3,-1170.14C603.28,-1119.71 486.35,-972.34 437.19,-910.38"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="439.67,-907.88 430.71,-902.22 434.19,-912.23 439.67,-907.88"/>
|
||||
<path fill="none" stroke="#2e7d32" d="M681.86,-1216.25C639.76,-1164.31 512.77,-1007.67 461.01,-943.83"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="463.52,-941.37 454.5,-935.8 458.08,-945.78 463.52,-941.37"/>
|
||||
</g>
|
||||
<!-- visual_worker -->
|
||||
<g id="node28" class="node">
|
||||
<title>visual_worker</title>
|
||||
<polygon fill="#ffc107" stroke="black" points="569.5,-901.91 478.5,-901.91 478.5,-860.91 569.5,-860.91 569.5,-901.91"/>
|
||||
<text text-anchor="middle" x="524" y="-889.91" font-family="Arial" font-size="10.00" fill="#212529">Visual Properties</text>
|
||||
<text text-anchor="middle" x="524" y="-878.91" font-family="Arial" font-size="10.00" fill="#212529">Worker</text>
|
||||
<text text-anchor="middle" x="524" y="-867.91" font-family="Arial" font-size="10.00" fill="#212529">(visual_queue)</text>
|
||||
<polygon fill="#ffc107" stroke="black" points="600.18,-935.79 509.18,-935.79 509.18,-894.79 600.18,-894.79 600.18,-935.79"/>
|
||||
<text text-anchor="middle" x="554.68" y="-923.79" font-family="Arial" font-size="10.00" fill="#212529">Visual Properties</text>
|
||||
<text text-anchor="middle" x="554.68" y="-912.79" font-family="Arial" font-size="10.00" fill="#212529">Worker</text>
|
||||
<text text-anchor="middle" x="554.68" y="-901.79" font-family="Arial" font-size="10.00" fill="#212529">(visual_queue)</text>
|
||||
</g>
|
||||
<!-- redis->visual_worker -->
|
||||
<g id="edge30" class="edge">
|
||||
<title>redis->visual_worker</title>
|
||||
<path fill="none" stroke="#f57f17" stroke-dasharray="5,2" d="M649.47,-1170.14C627.61,-1120.02 564,-974.15 536.69,-911.53"/>
|
||||
<polygon fill="#f57f17" stroke="#f57f17" points="539.84,-909.99 532.64,-902.22 533.42,-912.78 539.84,-909.99"/>
|
||||
<path fill="none" stroke="#f57f17" stroke-dasharray="5,2" d="M688.1,-1216.25C665.14,-1164.63 596.18,-1009.58 567.46,-945.01"/>
|
||||
<polygon fill="#f57f17" stroke="#f57f17" points="570.62,-943.52 563.36,-935.8 564.23,-946.36 570.62,-943.52"/>
|
||||
</g>
|
||||
<!-- audio_worker -->
|
||||
<g id="node29" class="node">
|
||||
<title>audio_worker</title>
|
||||
<polygon fill="#ffc107" stroke="black" points="791.5,-901.91 704.5,-901.91 704.5,-860.91 791.5,-860.91 791.5,-901.91"/>
|
||||
<text text-anchor="middle" x="748" y="-889.91" font-family="Arial" font-size="10.00" fill="#212529">Audio Transcript</text>
|
||||
<text text-anchor="middle" x="748" y="-878.91" font-family="Arial" font-size="10.00" fill="#212529">Worker</text>
|
||||
<text text-anchor="middle" x="748" y="-867.91" font-family="Arial" font-size="10.00" fill="#212529">(audio_queue)</text>
|
||||
<polygon fill="#ffc107" stroke="black" points="835.18,-935.79 748.18,-935.79 748.18,-894.79 835.18,-894.79 835.18,-935.79"/>
|
||||
<text text-anchor="middle" x="791.68" y="-923.79" font-family="Arial" font-size="10.00" fill="#212529">Audio Transcript</text>
|
||||
<text text-anchor="middle" x="791.68" y="-912.79" font-family="Arial" font-size="10.00" fill="#212529">Worker</text>
|
||||
<text text-anchor="middle" x="791.68" y="-901.79" font-family="Arial" font-size="10.00" fill="#212529">(audio_queue)</text>
|
||||
</g>
|
||||
<!-- redis->audio_worker -->
|
||||
<g id="edge31" class="edge">
|
||||
<title>redis->audio_worker</title>
|
||||
<path fill="none" stroke="#f57f17" stroke-dasharray="5,2" d="M662.15,-1170.14C677.08,-1120.13 720.45,-974.75 739.2,-911.91"/>
|
||||
<polygon fill="#f57f17" stroke="#f57f17" points="742.59,-912.8 742.09,-902.22 735.88,-910.8 742.59,-912.8"/>
|
||||
<path fill="none" stroke="#f57f17" stroke-dasharray="5,2" d="M700.84,-1216.25C716.44,-1164.73 763.23,-1010.22 782.86,-945.41"/>
|
||||
<polygon fill="#f57f17" stroke="#f57f17" points="786.22,-946.39 785.77,-935.8 779.52,-944.36 786.22,-946.39"/>
|
||||
</g>
|
||||
<!-- text_worker -->
|
||||
<g id="node30" class="node">
|
||||
<title>text_worker</title>
|
||||
<polygon fill="#ffc107" stroke="black" points="682,-901.91 592,-901.91 592,-860.91 682,-860.91 682,-901.91"/>
|
||||
<text text-anchor="middle" x="637" y="-889.91" font-family="Arial" font-size="10.00" fill="#212529">Text Recognition</text>
|
||||
<text text-anchor="middle" x="637" y="-878.91" font-family="Arial" font-size="10.00" fill="#212529">Worker</text>
|
||||
<text text-anchor="middle" x="637" y="-867.91" font-family="Arial" font-size="10.00" fill="#212529">(text_queue)</text>
|
||||
<polygon fill="#ffc107" stroke="black" points="718.68,-935.79 628.68,-935.79 628.68,-894.79 718.68,-894.79 718.68,-935.79"/>
|
||||
<text text-anchor="middle" x="673.68" y="-923.79" font-family="Arial" font-size="10.00" fill="#212529">Text Recognition</text>
|
||||
<text text-anchor="middle" x="673.68" y="-912.79" font-family="Arial" font-size="10.00" fill="#212529">Worker</text>
|
||||
<text text-anchor="middle" x="673.68" y="-901.79" font-family="Arial" font-size="10.00" fill="#212529">(text_queue)</text>
|
||||
</g>
|
||||
<!-- redis->text_worker -->
|
||||
<g id="edge32" class="edge">
|
||||
<title>redis->text_worker</title>
|
||||
<path fill="none" stroke="#f57f17" stroke-dasharray="5,2" d="M655.87,-1170.14C652.59,-1120.23 643.09,-975.35 638.96,-912.3"/>
|
||||
<polygon fill="#f57f17" stroke="#f57f17" points="642.45,-911.97 638.3,-902.22 635.46,-912.43 642.45,-911.97"/>
|
||||
<path fill="none" stroke="#f57f17" stroke-dasharray="5,2" d="M694.5,-1216.25C690.93,-1164.84 680.24,-1010.86 675.73,-945.81"/>
|
||||
<polygon fill="#f57f17" stroke="#f57f17" points="679.22,-945.54 675.04,-935.8 672.24,-946.02 679.22,-945.54"/>
|
||||
</g>
|
||||
<!-- nginx -->
|
||||
<g id="node15" class="node">
|
||||
<title>nginx</title>
|
||||
<polygon fill="#28a745" stroke="black" points="792,-1507.91 710,-1507.91 710,-1466.91 792,-1466.91 792,-1507.91"/>
|
||||
<text text-anchor="middle" x="751" y="-1495.91" font-family="Arial" font-size="10.00" fill="#ffffff">NGINX</text>
|
||||
<text text-anchor="middle" x="751" y="-1484.91" font-family="Arial" font-size="10.00" fill="#ffffff">Reverse Proxy</text>
|
||||
<text text-anchor="middle" x="751" y="-1473.91" font-family="Arial" font-size="10.00" fill="#ffffff">:80</text>
|
||||
<polygon fill="#28a745" stroke="black" points="835.68,-1565.79 753.68,-1565.79 753.68,-1524.79 835.68,-1524.79 835.68,-1565.79"/>
|
||||
<text text-anchor="middle" x="794.68" y="-1553.79" font-family="Arial" font-size="10.00" fill="#ffffff">NGINX</text>
|
||||
<text text-anchor="middle" x="794.68" y="-1542.79" font-family="Arial" font-size="10.00" fill="#ffffff">Reverse Proxy</text>
|
||||
<text text-anchor="middle" x="794.68" y="-1531.79" font-family="Arial" font-size="10.00" fill="#ffffff">:80</text>
|
||||
</g>
|
||||
<!-- nginx->angular -->
|
||||
<g id="edge27" class="edge">
|
||||
<title>nginx->angular</title>
|
||||
<path fill="none" stroke="#2e7d32" d="M758.25,-1466.47C776.85,-1415.32 826.31,-1279.3 848.26,-1218.96"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="851.65,-1219.87 851.78,-1209.28 845.07,-1217.48 851.65,-1219.87"/>
|
||||
<path fill="none" stroke="#2e7d32" d="M801.99,-1524.49C821.49,-1471.62 874.87,-1326.93 897.89,-1264.55"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="901.26,-1265.52 901.44,-1254.92 894.69,-1263.09 901.26,-1265.52"/>
|
||||
</g>
|
||||
<!-- base_strategy -->
|
||||
<g id="node16" class="node">
|
||||
<title>base_strategy</title>
|
||||
<polygon fill="#ce93d8" stroke="black" points="1777.5,-899.41 1658.5,-899.41 1658.5,-863.41 1777.5,-863.41 1777.5,-899.41"/>
|
||||
<text text-anchor="middle" x="1718" y="-884.41" font-family="Arial" font-size="10.00">BaseExecutionStrategy</text>
|
||||
<text text-anchor="middle" x="1718" y="-873.41" font-family="Arial" font-size="10.00">(Abstract)</text>
|
||||
<polygon fill="#ce93d8" stroke="black" points="1877.18,-933.29 1758.18,-933.29 1758.18,-897.29 1877.18,-897.29 1877.18,-933.29"/>
|
||||
<text text-anchor="middle" x="1817.68" y="-918.29" font-family="Arial" font-size="10.00">BaseExecutionStrategy</text>
|
||||
<text text-anchor="middle" x="1817.68" y="-907.29" font-family="Arial" font-size="10.00">(Abstract)</text>
|
||||
</g>
|
||||
<!-- local_strategy -->
|
||||
<g id="node17" class="node">
|
||||
<title>local_strategy</title>
|
||||
<polygon fill="#28a745" stroke="black" points="1659.5,-640.41 1582.5,-640.41 1582.5,-604.41 1659.5,-604.41 1659.5,-640.41"/>
|
||||
<text text-anchor="middle" x="1621" y="-619.91" font-family="Arial" font-size="10.00" fill="#ffffff">LocalStrategy</text>
|
||||
<polygon fill="#28a745" stroke="black" points="1754.18,-664.29 1677.18,-664.29 1677.18,-628.29 1754.18,-628.29 1754.18,-664.29"/>
|
||||
<text text-anchor="middle" x="1715.68" y="-643.79" font-family="Arial" font-size="10.00" fill="#ffffff">LocalStrategy</text>
|
||||
</g>
|
||||
<!-- base_strategy->local_strategy -->
|
||||
<g id="edge41" class="edge">
|
||||
<title>base_strategy->local_strategy</title>
|
||||
<path fill="none" stroke="gray" stroke-dasharray="1,5" d="M1711.48,-863.15C1694.88,-819.17 1650.91,-702.65 1631.02,-649.96"/>
|
||||
<polygon fill="gray" stroke="gray" points="1634.29,-648.72 1627.49,-640.6 1627.74,-651.19 1634.29,-648.72"/>
|
||||
<path fill="none" stroke="gray" stroke-dasharray="1,5" d="M1811.15,-897.18C1793.84,-851.89 1746.75,-728.61 1725.87,-673.97"/>
|
||||
<polygon fill="gray" stroke="gray" points="1729.13,-672.69 1722.29,-664.6 1722.59,-675.19 1729.13,-672.69"/>
|
||||
</g>
|
||||
<!-- lan_strategy -->
|
||||
<g id="node18" class="node">
|
||||
<title>lan_strategy</title>
|
||||
<polygon fill="#ffc107" stroke="black" points="1754.5,-640.41 1681.5,-640.41 1681.5,-604.41 1754.5,-604.41 1754.5,-640.41"/>
|
||||
<text text-anchor="middle" x="1718" y="-619.91" font-family="Arial" font-size="10.00" fill="#212529">LANStrategy</text>
|
||||
<polygon fill="#ffc107" stroke="black" points="1854.18,-664.29 1781.18,-664.29 1781.18,-628.29 1854.18,-628.29 1854.18,-664.29"/>
|
||||
<text text-anchor="middle" x="1817.68" y="-643.79" font-family="Arial" font-size="10.00" fill="#212529">LANStrategy</text>
|
||||
</g>
|
||||
<!-- base_strategy->lan_strategy -->
|
||||
<g id="edge42" class="edge">
|
||||
<title>base_strategy->lan_strategy</title>
|
||||
<path fill="none" stroke="gray" stroke-dasharray="1,5" d="M1718,-863.15C1718,-819.35 1718,-703.62 1718,-650.62"/>
|
||||
<polygon fill="gray" stroke="gray" points="1721.5,-650.6 1718,-640.6 1714.5,-650.6 1721.5,-650.6"/>
|
||||
<path fill="none" stroke="gray" stroke-dasharray="1,5" d="M1817.68,-897.18C1817.68,-852.08 1817.68,-729.63 1817.68,-674.65"/>
|
||||
<polygon fill="gray" stroke="gray" points="1821.18,-674.6 1817.68,-664.6 1814.18,-674.6 1821.18,-674.6"/>
|
||||
</g>
|
||||
<!-- cloud_strategy -->
|
||||
<g id="node19" class="node">
|
||||
<title>cloud_strategy</title>
|
||||
<polygon fill="#ffc107" stroke="black" points="1855.5,-640.41 1776.5,-640.41 1776.5,-604.41 1855.5,-604.41 1855.5,-640.41"/>
|
||||
<text text-anchor="middle" x="1816" y="-619.91" font-family="Arial" font-size="10.00" fill="#212529">CloudStrategy</text>
|
||||
<polygon fill="#ffc107" stroke="black" points="1961.18,-664.29 1882.18,-664.29 1882.18,-628.29 1961.18,-628.29 1961.18,-664.29"/>
|
||||
<text text-anchor="middle" x="1921.68" y="-643.79" font-family="Arial" font-size="10.00" fill="#212529">CloudStrategy</text>
|
||||
</g>
|
||||
<!-- base_strategy->cloud_strategy -->
|
||||
<g id="edge43" class="edge">
|
||||
<title>base_strategy->cloud_strategy</title>
|
||||
<path fill="none" stroke="gray" stroke-dasharray="1,5" d="M1724.58,-863.15C1741.35,-819.17 1785.79,-702.65 1805.88,-649.96"/>
|
||||
<polygon fill="gray" stroke="gray" points="1809.15,-651.19 1809.45,-640.6 1802.61,-648.7 1809.15,-651.19"/>
|
||||
<path fill="none" stroke="gray" stroke-dasharray="1,5" d="M1824.35,-897.18C1841.99,-851.89 1890.01,-728.61 1911.29,-673.97"/>
|
||||
<polygon fill="gray" stroke="gray" points="1914.57,-675.19 1914.94,-664.6 1908.05,-672.65 1914.57,-675.19"/>
|
||||
</g>
|
||||
<!-- clip_adapter -->
|
||||
<g id="node32" class="node">
|
||||
<title>clip_adapter</title>
|
||||
<polygon fill="#28a745" stroke="black" points="1337,-413.41 1265,-413.41 1265,-377.41 1337,-377.41 1337,-413.41"/>
|
||||
<text text-anchor="middle" x="1301" y="-398.41" font-family="Arial" font-size="10.00" fill="#ffffff">CLIPAdapter</text>
|
||||
<text text-anchor="middle" x="1301" y="-387.41" font-family="Arial" font-size="10.00" fill="#ffffff">(Local)</text>
|
||||
<polygon fill="#28a745" stroke="black" points="1412.68,-428.29 1340.68,-428.29 1340.68,-392.29 1412.68,-392.29 1412.68,-428.29"/>
|
||||
<text text-anchor="middle" x="1376.68" y="-413.29" font-family="Arial" font-size="10.00" fill="#ffffff">CLIPAdapter</text>
|
||||
<text text-anchor="middle" x="1376.68" y="-402.29" font-family="Arial" font-size="10.00" fill="#ffffff">(Local)</text>
|
||||
</g>
|
||||
<!-- local_strategy->clip_adapter -->
|
||||
<g id="edge21" class="edge">
|
||||
<title>local_strategy->clip_adapter</title>
|
||||
<path fill="none" stroke="#2e7d32" d="M1596.69,-604.32C1539.85,-564.36 1398.25,-464.8 1333.84,-419.5"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="1335.47,-416.37 1325.28,-413.48 1331.44,-422.1 1335.47,-416.37"/>
|
||||
<path fill="none" stroke="#2e7d32" d="M1691.03,-628.27C1631.12,-586.92 1477.85,-481.12 1409.93,-434.24"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="1411.92,-431.36 1401.7,-428.56 1407.94,-437.12 1411.92,-431.36"/>
|
||||
</g>
|
||||
<!-- gcp_vision -->
|
||||
<g id="node33" class="node">
|
||||
<title>gcp_vision</title>
|
||||
<polygon fill="#ffc107" stroke="black" points="1458.5,-413.41 1359.5,-413.41 1359.5,-377.41 1458.5,-377.41 1458.5,-413.41"/>
|
||||
<text text-anchor="middle" x="1409" y="-398.41" font-family="Arial" font-size="10.00" fill="#212529">GCPVisionAdapter</text>
|
||||
<text text-anchor="middle" x="1409" y="-387.41" font-family="Arial" font-size="10.00" fill="#212529">(Cloud)</text>
|
||||
<polygon fill="#ffc107" stroke="black" points="1540.18,-428.29 1441.18,-428.29 1441.18,-392.29 1540.18,-392.29 1540.18,-428.29"/>
|
||||
<text text-anchor="middle" x="1490.68" y="-413.29" font-family="Arial" font-size="10.00" fill="#212529">GCPVisionAdapter</text>
|
||||
<text text-anchor="middle" x="1490.68" y="-402.29" font-family="Arial" font-size="10.00" fill="#212529">(Cloud)</text>
|
||||
</g>
|
||||
<!-- local_strategy->gcp_vision -->
|
||||
<g id="edge22" class="edge">
|
||||
<title>local_strategy->gcp_vision</title>
|
||||
<path fill="none" stroke="#2e7d32" d="M1608.7,-604.39C1590.04,-578.99 1552.92,-530.11 1517,-492.41 1491.88,-466.05 1460.52,-438.72 1438.07,-419.99"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="1440.17,-417.18 1430.23,-413.5 1435.7,-422.57 1440.17,-417.18"/>
|
||||
<path fill="none" stroke="#2e7d32" d="M1702.78,-628.22C1682.83,-602.22 1642.81,-551.56 1604.68,-512.29 1577.5,-484.29 1543.76,-455 1520.07,-435.22"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="1522.07,-432.33 1512.13,-428.64 1517.6,-437.71 1522.07,-432.33"/>
|
||||
</g>
|
||||
<!-- yolo_adapter -->
|
||||
<g id="node34" class="node">
|
||||
<title>yolo_adapter</title>
|
||||
<polygon fill="#ffc107" stroke="black" points="1557.5,-413.41 1480.5,-413.41 1480.5,-377.41 1557.5,-377.41 1557.5,-413.41"/>
|
||||
<text text-anchor="middle" x="1519" y="-398.41" font-family="Arial" font-size="10.00" fill="#212529">YOLOAdapter</text>
|
||||
<text text-anchor="middle" x="1519" y="-387.41" font-family="Arial" font-size="10.00" fill="#212529">(Planned)</text>
|
||||
<polygon fill="#ffc107" stroke="black" points="1646.18,-428.29 1569.18,-428.29 1569.18,-392.29 1646.18,-392.29 1646.18,-428.29"/>
|
||||
<text text-anchor="middle" x="1607.68" y="-413.29" font-family="Arial" font-size="10.00" fill="#212529">YOLOAdapter</text>
|
||||
<text text-anchor="middle" x="1607.68" y="-402.29" font-family="Arial" font-size="10.00" fill="#212529">(Planned)</text>
|
||||
</g>
|
||||
<!-- lan_strategy->yolo_adapter -->
|
||||
<g id="edge37" class="edge">
|
||||
<title>lan_strategy->yolo_adapter</title>
|
||||
<path fill="none" stroke="#f57f17" stroke-dasharray="5,2" d="M1702.72,-604.13C1667.69,-564.53 1581.5,-467.08 1540.87,-421.14"/>
|
||||
<polygon fill="#f57f17" stroke="#f57f17" points="1543.31,-418.62 1534.06,-413.45 1538.07,-423.26 1543.31,-418.62"/>
|
||||
<path fill="none" stroke="#f57f17" stroke-dasharray="5,2" d="M1802.24,-628.08C1765.53,-587.17 1672.91,-483.97 1630.06,-436.23"/>
|
||||
<polygon fill="#f57f17" stroke="#f57f17" points="1632.43,-433.62 1623.15,-428.52 1627.22,-438.3 1632.43,-433.62"/>
|
||||
</g>
|
||||
<!-- speech_api -->
|
||||
<g id="node40" class="node">
|
||||
<title>speech_api</title>
|
||||
<polygon fill="#ffc107" stroke="black" points="1705.5,-113.41 1604.5,-113.41 1604.5,-77.41 1705.5,-77.41 1705.5,-113.41"/>
|
||||
<text text-anchor="middle" x="1655" y="-98.41" font-family="Arial" font-size="10.00" fill="#212529">Speech-to-Text API</text>
|
||||
<text text-anchor="middle" x="1655" y="-87.41" font-family="Arial" font-size="10.00" fill="#212529">(Audio Transcript)</text>
|
||||
<polygon fill="#ffc107" stroke="black" points="1802.18,-117.29 1701.18,-117.29 1701.18,-81.29 1802.18,-81.29 1802.18,-117.29"/>
|
||||
<text text-anchor="middle" x="1751.68" y="-102.29" font-family="Arial" font-size="10.00" fill="#212529">Speech-to-Text API</text>
|
||||
<text text-anchor="middle" x="1751.68" y="-91.29" font-family="Arial" font-size="10.00" fill="#212529">(Audio Transcript)</text>
|
||||
</g>
|
||||
<!-- cloud_strategy->speech_api -->
|
||||
<g id="edge36" class="edge">
|
||||
<title>cloud_strategy->speech_api</title>
|
||||
<path fill="none" stroke="#f57f17" stroke-dasharray="5,2" d="M1810.73,-604.24C1787.25,-527.67 1691.98,-216.99 1663.24,-123.29"/>
|
||||
<polygon fill="#f57f17" stroke="#f57f17" points="1666.5,-121.99 1660.23,-113.45 1659.81,-124.04 1666.5,-121.99"/>
|
||||
<path fill="none" stroke="#f57f17" stroke-dasharray="5,2" d="M1916.31,-628.08C1891.75,-549.34 1790.02,-223.21 1760.04,-127.07"/>
|
||||
<polygon fill="#f57f17" stroke="#f57f17" points="1763.37,-126.01 1757.05,-117.5 1756.69,-128.09 1763.37,-126.01"/>
|
||||
</g>
|
||||
<!-- base_event_source -->
|
||||
<g id="node20" class="node">
|
||||
<title>base_event_source</title>
|
||||
<polygon fill="#ce93d8" stroke="black" points="1412,-1206.41 1300,-1206.41 1300,-1170.41 1412,-1170.41 1412,-1206.41"/>
|
||||
<text text-anchor="middle" x="1356" y="-1191.41" font-family="Arial" font-size="10.00">SegmentEventSource</text>
|
||||
<text text-anchor="middle" x="1356" y="-1180.41" font-family="Arial" font-size="10.00">(Abstract)</text>
|
||||
<polygon fill="#ce93d8" stroke="black" points="1490.68,-1252.29 1378.68,-1252.29 1378.68,-1216.29 1490.68,-1216.29 1490.68,-1252.29"/>
|
||||
<text text-anchor="middle" x="1434.68" y="-1237.29" font-family="Arial" font-size="10.00">SegmentEventSource</text>
|
||||
<text text-anchor="middle" x="1434.68" y="-1226.29" font-family="Arial" font-size="10.00">(Abstract)</text>
|
||||
</g>
|
||||
<!-- file_watcher_source -->
|
||||
<g id="node21" class="node">
|
||||
<title>file_watcher_source</title>
|
||||
<polygon fill="#28a745" stroke="black" points="1267.5,-899.41 1142.5,-899.41 1142.5,-863.41 1267.5,-863.41 1267.5,-899.41"/>
|
||||
<text text-anchor="middle" x="1205" y="-884.41" font-family="Arial" font-size="10.00" fill="#ffffff">FileWatcherEventSource</text>
|
||||
<text text-anchor="middle" x="1205" y="-873.41" font-family="Arial" font-size="10.00" fill="#ffffff">(Local/LAN)</text>
|
||||
<polygon fill="#28a745" stroke="black" points="1338.18,-933.29 1213.18,-933.29 1213.18,-897.29 1338.18,-897.29 1338.18,-933.29"/>
|
||||
<text text-anchor="middle" x="1275.68" y="-918.29" font-family="Arial" font-size="10.00" fill="#ffffff">FileWatcherEventSource</text>
|
||||
<text text-anchor="middle" x="1275.68" y="-907.29" font-family="Arial" font-size="10.00" fill="#ffffff">(Local/LAN)</text>
|
||||
</g>
|
||||
<!-- base_event_source->file_watcher_source -->
|
||||
<g id="edge47" class="edge">
|
||||
<title>base_event_source->file_watcher_source</title>
|
||||
<path fill="none" stroke="gray" stroke-dasharray="1,5" d="M1347.45,-1170.14C1322.22,-1119.18 1247.99,-969.25 1217.89,-908.46"/>
|
||||
<polygon fill="gray" stroke="gray" points="1221.03,-906.91 1213.46,-899.5 1214.76,-910.01 1221.03,-906.91"/>
|
||||
<path fill="none" stroke="gray" stroke-dasharray="1,5" d="M1426.13,-1216.25C1399.93,-1164 1320.58,-1005.81 1288.93,-942.7"/>
|
||||
<polygon fill="gray" stroke="gray" points="1291.88,-940.79 1284.27,-933.42 1285.63,-943.92 1291.88,-940.79"/>
|
||||
</g>
|
||||
<!-- cloud_storage_source -->
|
||||
<g id="node22" class="node">
|
||||
<title>cloud_storage_source</title>
|
||||
<polygon fill="#ffc107" stroke="black" points="1422,-899.41 1290,-899.41 1290,-863.41 1422,-863.41 1422,-899.41"/>
|
||||
<text text-anchor="middle" x="1356" y="-884.41" font-family="Arial" font-size="10.00" fill="#212529">CloudStorageEventSource</text>
|
||||
<text text-anchor="middle" x="1356" y="-873.41" font-family="Arial" font-size="10.00" fill="#212529">(GCS Pub/Sub)</text>
|
||||
<polygon fill="#ffc107" stroke="black" points="1500.68,-933.29 1368.68,-933.29 1368.68,-897.29 1500.68,-897.29 1500.68,-933.29"/>
|
||||
<text text-anchor="middle" x="1434.68" y="-918.29" font-family="Arial" font-size="10.00" fill="#212529">CloudStorageEventSource</text>
|
||||
<text text-anchor="middle" x="1434.68" y="-907.29" font-family="Arial" font-size="10.00" fill="#212529">(GCS Pub/Sub)</text>
|
||||
</g>
|
||||
<!-- base_event_source->cloud_storage_source -->
|
||||
<g id="edge48" class="edge">
|
||||
<title>base_event_source->cloud_storage_source</title>
|
||||
<path fill="none" stroke="gray" stroke-dasharray="1,5" d="M1356,-1170.14C1356,-1119.5 1356,-971.09 1356,-909.59"/>
|
||||
<polygon fill="gray" stroke="gray" points="1359.5,-909.5 1356,-899.5 1352.5,-909.5 1359.5,-909.5"/>
|
||||
<path fill="none" stroke="gray" stroke-dasharray="1,5" d="M1434.68,-1216.25C1434.68,-1164.21 1434.68,-1007.11 1434.68,-943.48"/>
|
||||
<polygon fill="gray" stroke="gray" points="1438.18,-943.42 1434.68,-933.42 1431.18,-943.42 1438.18,-943.42"/>
|
||||
</g>
|
||||
<!-- webhook_source -->
|
||||
<g id="node23" class="node">
|
||||
<title>webhook_source</title>
|
||||
<polygon fill="#ffc107" stroke="black" points="1557.5,-899.41 1444.5,-899.41 1444.5,-863.41 1557.5,-863.41 1557.5,-899.41"/>
|
||||
<text text-anchor="middle" x="1501" y="-884.41" font-family="Arial" font-size="10.00" fill="#212529">WebhookEventSource</text>
|
||||
<text text-anchor="middle" x="1501" y="-873.41" font-family="Arial" font-size="10.00" fill="#212529">(External)</text>
|
||||
<polygon fill="#ffc107" stroke="black" points="1645.18,-933.29 1532.18,-933.29 1532.18,-897.29 1645.18,-897.29 1645.18,-933.29"/>
|
||||
<text text-anchor="middle" x="1588.68" y="-918.29" font-family="Arial" font-size="10.00" fill="#212529">WebhookEventSource</text>
|
||||
<text text-anchor="middle" x="1588.68" y="-907.29" font-family="Arial" font-size="10.00" fill="#212529">(External)</text>
|
||||
</g>
|
||||
<!-- base_event_source->webhook_source -->
|
||||
<g id="edge49" class="edge">
|
||||
<title>base_event_source->webhook_source</title>
|
||||
<path fill="none" stroke="gray" stroke-dasharray="1,5" d="M1364.21,-1170.14C1388.39,-1119.29 1459.43,-969.86 1488.44,-908.83"/>
|
||||
<polygon fill="gray" stroke="gray" points="1491.75,-910.03 1492.88,-899.5 1485.42,-907.03 1491.75,-910.03"/>
|
||||
<path fill="none" stroke="gray" stroke-dasharray="1,5" d="M1442.96,-1216.25C1468.34,-1164 1545.19,-1005.81 1575.85,-942.7"/>
|
||||
<polygon fill="gray" stroke="gray" points="1579.14,-943.94 1580.36,-933.42 1572.84,-940.88 1579.14,-943.94"/>
|
||||
</g>
|
||||
<!-- event_source_manager -->
|
||||
<g id="node24" class="node">
|
||||
<title>event_source_manager</title>
|
||||
<polygon fill="#28a745" stroke="black" points="1241,-640.41 1131,-640.41 1131,-604.41 1241,-604.41 1241,-640.41"/>
|
||||
<text text-anchor="middle" x="1186" y="-625.41" font-family="Arial" font-size="10.00" fill="#ffffff">EventSourceManager</text>
|
||||
<text text-anchor="middle" x="1186" y="-614.41" font-family="Arial" font-size="10.00" fill="#ffffff">(Environment-based)</text>
|
||||
<polygon fill="#28a745" stroke="black" points="1309.68,-664.29 1199.68,-664.29 1199.68,-628.29 1309.68,-628.29 1309.68,-664.29"/>
|
||||
<text text-anchor="middle" x="1254.68" y="-649.29" font-family="Arial" font-size="10.00" fill="#ffffff">EventSourceManager</text>
|
||||
<text text-anchor="middle" x="1254.68" y="-638.29" font-family="Arial" font-size="10.00" fill="#ffffff">(Environment-based)</text>
|
||||
</g>
|
||||
<!-- file_watcher_source->event_source_manager -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>file_watcher_source->event_source_manager</title>
|
||||
<path fill="none" stroke="#2e7d32" d="M1203.72,-863.15C1200.49,-819.35 1191.93,-703.62 1188.01,-650.62"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="1191.5,-650.32 1187.27,-640.6 1184.52,-650.83 1191.5,-650.32"/>
|
||||
<path fill="none" stroke="#2e7d32" d="M1274.34,-897.18C1270.79,-852.08 1261.16,-729.63 1256.83,-674.65"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="1260.32,-674.29 1256.04,-664.6 1253.34,-674.84 1260.32,-674.29"/>
|
||||
</g>
|
||||
<!-- cloud_storage_source->event_source_manager -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>cloud_storage_source->event_source_manager</title>
|
||||
<path fill="none" stroke="#2e7d32" d="M1344.58,-863.15C1315.31,-818.89 1237.45,-701.19 1202.91,-648.98"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="1205.8,-647.01 1197.37,-640.6 1199.97,-650.87 1205.8,-647.01"/>
|
||||
<path fill="none" stroke="#2e7d32" d="M1423.15,-897.18C1392.42,-851.61 1308.47,-727.07 1271.99,-672.96"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="1274.84,-670.93 1266.35,-664.6 1269.04,-674.85 1274.84,-670.93"/>
|
||||
</g>
|
||||
<!-- webhook_source->event_source_manager -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>webhook_source->event_source_manager</title>
|
||||
<path fill="none" stroke="#2e7d32" d="M1479.84,-863.15C1424.92,-818.35 1277.74,-698.27 1214.99,-647.07"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="1217.03,-644.21 1207.07,-640.6 1212.6,-649.63 1217.03,-644.21"/>
|
||||
<path fill="none" stroke="#2e7d32" d="M1567.28,-897.18C1509.57,-851.04 1350.61,-723.97 1284.32,-670.98"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="1286.33,-668.11 1276.34,-664.6 1281.96,-673.58 1286.33,-668.11"/>
|
||||
</g>
|
||||
<!-- redis_events -->
|
||||
<g id="node25" class="node">
|
||||
<title>redis_events</title>
|
||||
<polygon fill="#28a745" stroke="black" points="1231,-413.41 1129,-413.41 1129,-377.41 1231,-377.41 1231,-413.41"/>
|
||||
<text text-anchor="middle" x="1180" y="-398.41" font-family="Arial" font-size="10.00" fill="#ffffff">Redis Event Queue</text>
|
||||
<text text-anchor="middle" x="1180" y="-387.41" font-family="Arial" font-size="10.00" fill="#ffffff">(segment_events)</text>
|
||||
<polygon fill="#28a745" stroke="black" points="1299.68,-428.29 1197.68,-428.29 1197.68,-392.29 1299.68,-392.29 1299.68,-428.29"/>
|
||||
<text text-anchor="middle" x="1248.68" y="-413.29" font-family="Arial" font-size="10.00" fill="#ffffff">Redis Event Queue</text>
|
||||
<text text-anchor="middle" x="1248.68" y="-402.29" font-family="Arial" font-size="10.00" fill="#ffffff">(segment_events)</text>
|
||||
</g>
|
||||
<!-- event_source_manager->redis_events -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>event_source_manager->redis_events</title>
|
||||
<path fill="none" stroke="#2e7d32" d="M1185.54,-604.13C1184.5,-565.18 1181.97,-470.29 1180.72,-423.47"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="1184.22,-423.35 1180.45,-413.45 1177.22,-423.54 1184.22,-423.35"/>
|
||||
<text text-anchor="middle" x="1200" y="-504.01" font-family="Arial" font-size="8.00">publishes</text>
|
||||
<text text-anchor="middle" x="1200" y="-495.01" font-family="Arial" font-size="8.00">events</text>
|
||||
<path fill="none" stroke="#2e7d32" d="M1254.24,-628.08C1253.21,-587.85 1250.63,-487.37 1249.38,-438.64"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="1252.88,-438.43 1249.12,-428.52 1245.88,-438.61 1252.88,-438.43"/>
|
||||
<text text-anchor="middle" x="1268.68" y="-523.89" font-family="Arial" font-size="8.00">publishes</text>
|
||||
<text text-anchor="middle" x="1268.68" y="-514.89" font-family="Arial" font-size="8.00">events</text>
|
||||
</g>
|
||||
<!-- event_processor -->
|
||||
<g id="node26" class="node">
|
||||
<title>event_processor</title>
|
||||
<polygon fill="#28a745" stroke="black" points="1215,-113.41 1121,-113.41 1121,-77.41 1215,-77.41 1215,-113.41"/>
|
||||
<text text-anchor="middle" x="1168" y="-98.41" font-family="Arial" font-size="10.00" fill="#ffffff">Event Processor</text>
|
||||
<text text-anchor="middle" x="1168" y="-87.41" font-family="Arial" font-size="10.00" fill="#ffffff">(triggers analysis)</text>
|
||||
<polygon fill="#28a745" stroke="black" points="1282.68,-117.29 1188.68,-117.29 1188.68,-81.29 1282.68,-81.29 1282.68,-117.29"/>
|
||||
<text text-anchor="middle" x="1235.68" y="-102.29" font-family="Arial" font-size="10.00" fill="#ffffff">Event Processor</text>
|
||||
<text text-anchor="middle" x="1235.68" y="-91.29" font-family="Arial" font-size="10.00" fill="#ffffff">(triggers analysis)</text>
|
||||
</g>
|
||||
<!-- redis_events->event_processor -->
|
||||
<g id="edge17" class="edge">
|
||||
<title>redis_events->event_processor</title>
|
||||
<path fill="none" stroke="#2e7d32" d="M1179.3,-377.1C1177.31,-327.52 1171.55,-184.65 1169.11,-124.08"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="1172.6,-123.62 1168.7,-113.77 1165.6,-123.9 1172.6,-123.62"/>
|
||||
<text text-anchor="middle" x="1193.5" y="-277.01" font-family="Arial" font-size="8.00">consumes</text>
|
||||
<text text-anchor="middle" x="1193.5" y="-268.01" font-family="Arial" font-size="8.00">events</text>
|
||||
<path fill="none" stroke="#2e7d32" d="M1247.96,-392.24C1245.82,-341.27 1239.45,-189.79 1236.83,-127.5"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="1240.31,-127.13 1236.4,-117.29 1233.32,-127.43 1240.31,-127.13"/>
|
||||
<text text-anchor="middle" x="1262.18" y="-287.89" font-family="Arial" font-size="8.00">consumes</text>
|
||||
<text text-anchor="middle" x="1262.18" y="-278.89" font-family="Arial" font-size="8.00">events</text>
|
||||
</g>
|
||||
<!-- event_processor->logo_worker -->
|
||||
<g id="edge18" class="edge">
|
||||
<title>event_processor->logo_worker</title>
|
||||
<path fill="none" stroke="#2e7d32" d="M1151.39,-113.71C1054.28,-214.82 560.34,-729.09 440.99,-853.36"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="438.39,-851.01 433.99,-860.64 443.44,-855.85 438.39,-851.01"/>
|
||||
<text text-anchor="middle" x="801" y="-504.01" font-family="Arial" font-size="8.00">triggers</text>
|
||||
<text text-anchor="middle" x="801" y="-495.01" font-family="Arial" font-size="8.00">analysis</text>
|
||||
<path fill="none" stroke="#2e7d32" d="M1219.03,-117.29C1118.31,-220.17 590.46,-759.27 465.31,-887.09"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="462.48,-884.98 457.99,-894.57 467.48,-889.87 462.48,-884.98"/>
|
||||
<text text-anchor="middle" x="844.68" y="-523.89" font-family="Arial" font-size="8.00">triggers</text>
|
||||
<text text-anchor="middle" x="844.68" y="-514.89" font-family="Arial" font-size="8.00">analysis</text>
|
||||
</g>
|
||||
<!-- logo_worker->django -->
|
||||
<g id="edge24" class="edge">
|
||||
<title>logo_worker->django</title>
|
||||
<path fill="none" stroke="#2e7d32" d="M422.76,-902.02C457.7,-990.34 600.65,-1351.58 642.46,-1457.25"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="639.25,-1458.65 646.18,-1466.66 645.76,-1456.07 639.25,-1458.65"/>
|
||||
<text text-anchor="middle" x="568" y="-1191.01" font-family="Arial" font-size="8.00">analysis</text>
|
||||
<text text-anchor="middle" x="568" y="-1182.01" font-family="Arial" font-size="8.00">results</text>
|
||||
<path fill="none" stroke="#2e7d32" d="M446.55,-935.81C483.06,-1026.45 636.1,-1406.32 679.91,-1515.08"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="676.71,-1516.49 683.69,-1524.46 683.2,-1513.87 676.71,-1516.49"/>
|
||||
<text text-anchor="middle" x="599.68" y="-1236.89" font-family="Arial" font-size="8.00">analysis</text>
|
||||
<text text-anchor="middle" x="599.68" y="-1227.89" font-family="Arial" font-size="8.00">results</text>
|
||||
</g>
|
||||
<!-- logo_worker->local_strategy -->
|
||||
<g id="edge20" class="edge">
|
||||
<title>logo_worker->local_strategy</title>
|
||||
<path fill="none" stroke="#2e7d32" d="M448.15,-860.91C454.57,-857.81 461.36,-854.95 468,-852.91 943.1,-707.13 1131.75,-901.86 1571,-669.41 1581.38,-663.92 1591.24,-655.75 1599.43,-647.81"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="1601.93,-650.25 1606.44,-640.66 1596.93,-645.35 1601.93,-650.25"/>
|
||||
<path fill="none" stroke="#2e7d32" d="M476.74,-894.69C483.88,-891.64 491.4,-888.82 498.68,-886.79 1003.74,-745.56 1195.76,-932.06 1662.68,-693.29 1673.48,-687.77 1683.89,-679.59 1692.59,-671.65"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="1695.24,-673.95 1700.05,-664.51 1690.41,-668.89 1695.24,-673.95"/>
|
||||
</g>
|
||||
<!-- visual_worker->lan_strategy -->
|
||||
<g id="edge33" class="edge">
|
||||
<title>visual_worker->lan_strategy</title>
|
||||
<path fill="none" stroke="#f57f17" stroke-dasharray="5,2" d="M559.74,-860.82C566.63,-857.72 573.91,-854.89 581,-852.91 918.99,-758.53 1024.46,-854.14 1367,-777.91 1507.03,-746.75 1549.36,-745.46 1671,-669.41 1680.29,-663.6 1689.23,-655.68 1696.76,-648.05"/>
|
||||
<polygon fill="#f57f17" stroke="#f57f17" points="1699.47,-650.28 1703.79,-640.6 1694.38,-645.47 1699.47,-650.28"/>
|
||||
<path fill="none" stroke="#f57f17" stroke-dasharray="5,2" d="M594.34,-894.72C601.93,-891.62 609.94,-888.79 617.68,-886.79 975.57,-794.36 1084.97,-889.51 1445.68,-808.79 1593.23,-775.77 1635.63,-770.42 1765.68,-693.29 1775.84,-687.26 1785.84,-679.11 1794.32,-671.34"/>
|
||||
<polygon fill="#f57f17" stroke="#f57f17" points="1796.8,-673.81 1801.63,-664.39 1791.97,-668.74 1796.8,-673.81"/>
|
||||
</g>
|
||||
<!-- audio_worker->cloud_strategy -->
|
||||
<g id="edge34" class="edge">
|
||||
<title>audio_worker->cloud_strategy</title>
|
||||
<path fill="none" stroke="#f57f17" stroke-dasharray="5,2" d="M782.76,-860.78C789.32,-857.73 796.25,-854.92 803,-852.91 1081.29,-770.06 1168.88,-842.38 1452,-777.91 1595.97,-745.13 1639.22,-745.1 1766,-669.41 1775.72,-663.61 1785.18,-655.69 1793.21,-648.06"/>
|
||||
<polygon fill="#f57f17" stroke="#f57f17" points="1796.09,-650.14 1800.72,-640.61 1791.16,-645.17 1796.09,-650.14"/>
|
||||
<path fill="none" stroke="#f57f17" stroke-dasharray="5,2" d="M828.42,-894.66C835.33,-891.61 842.61,-888.81 849.68,-886.79 1144.76,-802.58 1236.56,-877.23 1535.68,-808.79 1687.16,-774.13 1730.23,-769.44 1865.68,-693.29 1876.54,-687.18 1887.37,-678.92 1896.58,-671.08"/>
|
||||
<polygon fill="#f57f17" stroke="#f57f17" points="1899.01,-673.6 1904.21,-664.37 1894.39,-668.35 1899.01,-673.6"/>
|
||||
</g>
|
||||
<!-- text_worker->cloud_strategy -->
|
||||
<g id="edge35" class="edge">
|
||||
<title>text_worker->cloud_strategy</title>
|
||||
<path fill="none" stroke="#f57f17" stroke-dasharray="5,2" d="M672.75,-860.87C679.64,-857.77 686.92,-854.92 694,-852.91 1003.5,-765.04 1098.77,-842.27 1414,-777.91 1574.4,-745.17 1624.04,-750.95 1766,-669.41 1775.82,-663.77 1785.31,-655.9 1793.33,-648.25"/>
|
||||
<polygon fill="#f57f17" stroke="#f57f17" points="1796.21,-650.31 1800.82,-640.77 1791.27,-645.36 1796.21,-650.31"/>
|
||||
<path fill="none" stroke="#f57f17" stroke-dasharray="5,2" d="M714,-894.79C721.72,-891.68 729.84,-888.83 737.68,-886.79 1065.47,-801.63 1163.94,-876.92 1495.68,-808.79 1664.43,-774.13 1714.1,-775.14 1865.68,-693.29 1876.64,-687.37 1887.5,-679.15 1896.7,-671.29"/>
|
||||
<polygon fill="#f57f17" stroke="#f57f17" points="1899.14,-673.8 1904.31,-664.55 1894.5,-668.56 1899.14,-673.8"/>
|
||||
</g>
|
||||
<!-- base_ai -->
|
||||
<g id="node31" class="node">
|
||||
<title>base_ai</title>
|
||||
<polygon fill="#ce93d8" stroke="black" points="1455,-640.41 1363,-640.41 1363,-604.41 1455,-604.41 1455,-640.41"/>
|
||||
<text text-anchor="middle" x="1409" y="-625.41" font-family="Arial" font-size="10.00">DetectionAdapter</text>
|
||||
<text text-anchor="middle" x="1409" y="-614.41" font-family="Arial" font-size="10.00">(Abstract)</text>
|
||||
<polygon fill="#ce93d8" stroke="black" points="1536.68,-664.29 1444.68,-664.29 1444.68,-628.29 1536.68,-628.29 1536.68,-664.29"/>
|
||||
<text text-anchor="middle" x="1490.68" y="-649.29" font-family="Arial" font-size="10.00">DetectionAdapter</text>
|
||||
<text text-anchor="middle" x="1490.68" y="-638.29" font-family="Arial" font-size="10.00">(Abstract)</text>
|
||||
</g>
|
||||
<!-- base_ai->clip_adapter -->
|
||||
<g id="edge44" class="edge">
|
||||
<title>base_ai->clip_adapter</title>
|
||||
<path fill="none" stroke="gray" stroke-dasharray="1,5" d="M1400.7,-604.13C1381.89,-564.94 1335.89,-469.09 1313.56,-422.58"/>
|
||||
<polygon fill="gray" stroke="gray" points="1316.66,-420.95 1309.18,-413.45 1310.35,-423.98 1316.66,-420.95"/>
|
||||
<path fill="none" stroke="gray" stroke-dasharray="1,5" d="M1482.3,-628.08C1462.58,-587.6 1413.13,-486.1 1389.56,-437.72"/>
|
||||
<polygon fill="gray" stroke="gray" points="1392.6,-435.98 1385.08,-428.52 1386.31,-439.04 1392.6,-435.98"/>
|
||||
</g>
|
||||
<!-- base_ai->gcp_vision -->
|
||||
<g id="edge45" class="edge">
|
||||
<title>base_ai->gcp_vision</title>
|
||||
<path fill="none" stroke="gray" stroke-dasharray="1,5" d="M1409,-604.13C1409,-565.18 1409,-470.29 1409,-423.47"/>
|
||||
<polygon fill="gray" stroke="gray" points="1412.5,-423.45 1409,-413.45 1405.5,-423.45 1412.5,-423.45"/>
|
||||
<path fill="none" stroke="gray" stroke-dasharray="1,5" d="M1490.68,-628.08C1490.68,-587.85 1490.68,-487.37 1490.68,-438.64"/>
|
||||
<polygon fill="gray" stroke="gray" points="1494.18,-438.52 1490.68,-428.52 1487.18,-438.52 1494.18,-438.52"/>
|
||||
</g>
|
||||
<!-- base_ai->yolo_adapter -->
|
||||
<g id="edge46" class="edge">
|
||||
<title>base_ai->yolo_adapter</title>
|
||||
<path fill="none" stroke="gray" stroke-dasharray="1,5" d="M1417.45,-604.13C1436.61,-564.94 1483.47,-469.09 1506.21,-422.58"/>
|
||||
<polygon fill="gray" stroke="gray" points="1509.43,-423.97 1510.67,-413.45 1503.14,-420.89 1509.43,-423.97"/>
|
||||
<path fill="none" stroke="gray" stroke-dasharray="1,5" d="M1499.28,-628.08C1519.53,-587.6 1570.28,-486.1 1594.46,-437.72"/>
|
||||
<polygon fill="gray" stroke="gray" points="1597.72,-439.03 1599.07,-428.52 1591.46,-435.9 1597.72,-439.03"/>
|
||||
</g>
|
||||
<!-- vision_api -->
|
||||
<g id="node39" class="node">
|
||||
<title>vision_api</title>
|
||||
<polygon fill="#ffc107" stroke="black" points="1582.5,-113.41 1491.5,-113.41 1491.5,-77.41 1582.5,-77.41 1582.5,-113.41"/>
|
||||
<text text-anchor="middle" x="1537" y="-98.41" font-family="Arial" font-size="10.00" fill="#212529">Cloud Vision API</text>
|
||||
<text text-anchor="middle" x="1537" y="-87.41" font-family="Arial" font-size="10.00" fill="#212529">(Logo Detection)</text>
|
||||
<polygon fill="#ffc107" stroke="black" points="1672.18,-117.29 1581.18,-117.29 1581.18,-81.29 1672.18,-81.29 1672.18,-117.29"/>
|
||||
<text text-anchor="middle" x="1626.68" y="-102.29" font-family="Arial" font-size="10.00" fill="#212529">Cloud Vision API</text>
|
||||
<text text-anchor="middle" x="1626.68" y="-91.29" font-family="Arial" font-size="10.00" fill="#212529">(Logo Detection)</text>
|
||||
</g>
|
||||
<!-- gcp_vision->vision_api -->
|
||||
<g id="edge23" class="edge">
|
||||
<title>gcp_vision->vision_api</title>
|
||||
<path fill="none" stroke="#2e7d32" d="M1416.44,-377.1C1437.87,-327.21 1499.87,-182.87 1525.6,-122.96"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="1528.81,-124.34 1529.54,-113.77 1522.38,-121.58 1528.81,-124.34"/>
|
||||
<path fill="none" stroke="#2e7d32" d="M1498.19,-392.24C1520.71,-341.06 1587.84,-188.54 1615.04,-126.73"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="1618.37,-127.85 1619.2,-117.29 1611.97,-125.03 1618.37,-127.85"/>
|
||||
</g>
|
||||
<!-- local_storage->file_watcher_source -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>local_storage->file_watcher_source</title>
|
||||
<path fill="none" stroke="#2e7d32" d="M987.69,-1170.31C998.05,-1144.8 1019.48,-1095.78 1045,-1058.41 1085.53,-999.06 1144.91,-939.06 1178.77,-906.73"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="1181.55,-908.92 1186.4,-899.5 1176.73,-903.84 1181.55,-908.92"/>
|
||||
<text text-anchor="middle" x="1071.5" y="-1070.01" font-family="Arial" font-size="8.00">monitors</text>
|
||||
<text text-anchor="middle" x="1071.5" y="-1061.01" font-family="Arial" font-size="8.00">HLS segments</text>
|
||||
<path fill="none" stroke="#2e7d32" d="M1045.51,-1216.18C1057.76,-1190.12 1082.96,-1139.4 1110.68,-1100.29 1154.5,-1038.45 1216.41,-974.35 1250.58,-940.54"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="1253.16,-942.92 1257.83,-933.41 1248.25,-937.92 1253.16,-942.92"/>
|
||||
<text text-anchor="middle" x="1137.18" y="-1111.89" font-family="Arial" font-size="8.00">monitors</text>
|
||||
<text text-anchor="middle" x="1137.18" y="-1102.89" font-family="Arial" font-size="8.00">HLS segments</text>
|
||||
</g>
|
||||
<!-- gcs_storage->cloud_storage_source -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>gcs_storage->cloud_storage_source</title>
|
||||
<path fill="none" stroke="#2e7d32" d="M1095.63,-1170.14C1142.12,-1118.77 1279.66,-966.77 1333.77,-906.98"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="1336.43,-909.26 1340.54,-899.5 1331.24,-904.56 1336.43,-909.26"/>
|
||||
<text text-anchor="middle" x="1207" y="-1070.01" font-family="Arial" font-size="8.00">storage</text>
|
||||
<text text-anchor="middle" x="1207" y="-1061.01" font-family="Arial" font-size="8.00">events</text>
|
||||
<path fill="none" stroke="#2e7d32" d="M1158.38,-1216.25C1207,-1163.46 1355.23,-1002.54 1412.12,-940.78"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="1414.7,-943.14 1418.9,-933.42 1409.56,-938.4 1414.7,-943.14"/>
|
||||
<text text-anchor="middle" x="1275.68" y="-1111.89" font-family="Arial" font-size="8.00">storage</text>
|
||||
<text text-anchor="middle" x="1275.68" y="-1102.89" font-family="Arial" font-size="8.00">events</text>
|
||||
</g>
|
||||
<!-- hls_player -->
|
||||
<g id="node38" class="node">
|
||||
<title>hls_player</title>
|
||||
<polygon fill="#28a745" stroke="black" points="917.5,-899.41 816.5,-899.41 816.5,-863.41 917.5,-863.41 917.5,-899.41"/>
|
||||
<text text-anchor="middle" x="867" y="-884.41" font-family="Arial" font-size="10.00" fill="#ffffff">HLS.js Player</text>
|
||||
<text text-anchor="middle" x="867" y="-873.41" font-family="Arial" font-size="10.00" fill="#ffffff">+ Canvas Overlays</text>
|
||||
<polygon fill="#28a745" stroke="black" points="968.18,-933.29 867.18,-933.29 867.18,-897.29 968.18,-897.29 968.18,-933.29"/>
|
||||
<text text-anchor="middle" x="917.68" y="-918.29" font-family="Arial" font-size="10.00" fill="#ffffff">HLS.js Player</text>
|
||||
<text text-anchor="middle" x="917.68" y="-907.29" font-family="Arial" font-size="10.00" fill="#ffffff">+ Canvas Overlays</text>
|
||||
</g>
|
||||
<!-- angular->hls_player -->
|
||||
<g id="edge26" class="edge">
|
||||
<title>angular->hls_player</title>
|
||||
<path fill="none" stroke="#2e7d32" d="M859.51,-1167.87C860.89,-1115.27 864.69,-970.56 866.28,-909.82"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="869.79,-909.59 866.55,-899.5 862.79,-909.4 869.79,-909.59"/>
|
||||
<path fill="none" stroke="#2e7d32" d="M909.24,-1213.46C910.79,-1158.86 915.13,-1006.23 916.91,-943.62"/>
|
||||
<polygon fill="#2e7d32" stroke="#2e7d32" points="920.41,-943.45 917.2,-933.35 913.41,-943.25 920.41,-943.45"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 40 KiB |
@@ -5,7 +5,7 @@ digraph MediaAnalyzer {
|
||||
fontname="Arial";
|
||||
fontsize=12;
|
||||
ratio=fill;
|
||||
size="9,10!";
|
||||
size="27.5,30!";
|
||||
ranksep=0.3;
|
||||
nodesep=0.3;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user