MaCH repo
This commit is contained in:
58
05-app-composition-tree.svg
Normal file
58
05-app-composition-tree.svg
Normal file
@@ -0,0 +1,58 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 760 270" width="760" height="270">
|
||||
<rect width="760" height="270" fill="#09080f"/>
|
||||
<defs>
|
||||
<linearGradient id="rG" x1="0" y1="0" x2="0" y2="1">
|
||||
<stop offset="0%" stop-color="#a855f7"/>
|
||||
<stop offset="100%" stop-color="#7c3aed"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="mG" x1="0" y1="0" x2="0" y2="1">
|
||||
<stop offset="0%" stop-color="#3b82f6"/>
|
||||
<stop offset="100%" stop-color="#2563eb"/>
|
||||
</linearGradient>
|
||||
<style>text{font-family:'JetBrains Mono','Fira Code',monospace}</style>
|
||||
</defs>
|
||||
|
||||
<!-- Root node: x=290 y=20 w=180 h=44 → center 380, bottom 64 -->
|
||||
<rect x="290" y="20" width="180" height="44" rx="10" fill="url(#rG)"/>
|
||||
<text x="380" y="47" text-anchor="middle" fill="#fff" font-size="12" font-weight="700">mach() — root</text>
|
||||
|
||||
<!-- Elbow connectors: root bottom center → down to 82 → horizontal → down to child tops at 108 -->
|
||||
<!-- Vertical trunk from root -->
|
||||
<line x1="380" y1="64" x2="380" y2="82" stroke="#64748b" stroke-width="1.5"/>
|
||||
<!-- Horizontal bar -->
|
||||
<line x1="130" y1="82" x2="630" y2="82" stroke="#64748b" stroke-width="1.5"/>
|
||||
<!-- Vertical drops to each child -->
|
||||
<line x1="130" y1="82" x2="130" y2="108" stroke="#64748b" stroke-width="1.5"/>
|
||||
<line x1="380" y1="82" x2="380" y2="108" stroke="#64748b" stroke-width="1.5"/>
|
||||
<line x1="630" y1="82" x2="630" y2="108" stroke="#64748b" stroke-width="1.5"/>
|
||||
|
||||
<!-- Level 1: each w=170 h=40, top at y=108 → bottom at 148 -->
|
||||
<rect x="45" y="108" width="170" height="40" rx="8" fill="url(#mG)"/>
|
||||
<text x="130" y="133" text-anchor="middle" fill="#fff" font-size="11" font-weight="600">sqlite_config()</text>
|
||||
|
||||
<rect x="295" y="108" width="170" height="40" rx="8" fill="url(#mG)"/>
|
||||
<text x="380" y="133" text-anchor="middle" fill="#fff" font-size="11" font-weight="600">todos_config()</text>
|
||||
|
||||
<rect x="545" y="108" width="170" height="40" rx="8" fill="url(#mG)"/>
|
||||
<text x="630" y="133" text-anchor="middle" fill="#fff" font-size="11" font-weight="600">auth_config()</text>
|
||||
|
||||
<!-- Elbow connectors: todos bottom center → down to 162 → horizontal → down to leaf tops at 178 -->
|
||||
<line x1="380" y1="148" x2="380" y2="162" stroke="#64748b" stroke-width="1"/>
|
||||
<line x1="260" y1="162" x2="500" y2="162" stroke="#64748b" stroke-width="1"/>
|
||||
<line x1="260" y1="162" x2="260" y2="178" stroke="#64748b" stroke-width="1"/>
|
||||
<line x1="500" y1="162" x2="500" y2="178" stroke="#64748b" stroke-width="1"/>
|
||||
|
||||
<!-- Level 2 leaf nodes: w=170 h=64, top at y=178 -->
|
||||
<rect x="175" y="178" width="170" height="64" rx="8" fill="#0f0d1a" stroke="#10b981" stroke-width="1"/>
|
||||
<text x="260" y="200" text-anchor="middle" fill="#6ee7b7" font-size="10">.databases</text>
|
||||
<text x="260" y="216" text-anchor="middle" fill="#6ee7b7" font-size="10">.resources</text>
|
||||
<text x="260" y="232" text-anchor="middle" fill="#6ee7b7" font-size="10">.events</text>
|
||||
|
||||
<rect x="415" y="178" width="170" height="64" rx="8" fill="#0f0d1a" stroke="#10b981" stroke-width="1"/>
|
||||
<text x="500" y="200" text-anchor="middle" fill="#6ee7b7" font-size="10">.publishes</text>
|
||||
<text x="500" y="216" text-anchor="middle" fill="#6ee7b7" font-size="10">.context</text>
|
||||
<text x="500" y="232" text-anchor="middle" fill="#6ee7b7" font-size="10">.errors</text>
|
||||
|
||||
<!-- Footer -->
|
||||
<text x="380" y="262" text-anchor="middle" fill="#64748b" font-size="10">First registration wins — root can override module defaults</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.4 KiB |
Reference in New Issue
Block a user