← Commit history

docs/mesh: topology.svg

John Lauer ·dae06ae460 ·1mo ago ·parent 3db6363
1 file changed +69
docs/mesh/topology.svgadded+69
@@ -0,0 +1,69 @@+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 980 560" width="980" height="560" font-family="'Familjen Grotesk','Satoshi','Segoe UI',system-ui,sans-serif">+  <defs>+    <style>+      .bg      { fill: #0c1016; }+      .card    { fill: #161c24; stroke: #263040; stroke-width: 1.5; rx: 12; }+      .self    { fill: #12222a; stroke: #00b8b0; stroke-width: 2; }+      .relay   { fill: #141b22; stroke: #00b8b0; stroke-width: 1.5; stroke-dasharray: 5 4; }+      .cloud   { fill: #141b22; stroke: #3a4655; stroke-width: 1.5; stroke-dasharray: 5 4; }+      .name    { fill: #e8f4f3; font-size: 16px; font-weight: 600; }+      .sub     { fill: #8fa3ad; font-size: 12.5px; }+      .mesh-l  { stroke: #00b8b0; stroke-width: 2.5; fill: none; }+      .cloud-l { stroke: #5a6675; stroke-width: 2; fill: none; stroke-dasharray: 6 5; }+      .lbl     { fill: #7f939d; font-size: 11.5px; }+      .lbl-t   { fill: #00b8b0; font-size: 11.5px; }+      .h       { fill: #e8f4f3; font-size: 19px; font-weight: 700; }+      .legend  { fill: #9bb0ba; font-size: 12.5px; }+    </style>+  </defs>++  <rect class="bg" width="980" height="560"/>+  <text class="h" x="34" y="42">Relay mode: nothing listens, and the relay cannot read it</text>+  <text class="sub" x="34" y="66">Every machine holds one outbound connection. Traffic goes machine, relay, machine, sealed the whole way.</text>++  <!-- Adom mesh relay, directly above self -->+  <rect class="relay" x="395" y="108" width="190" height="56" rx="12"/>+  <text class="name" x="490" y="132" text-anchor="middle">Adom mesh relay</text>+  <text class="sub"  x="490" y="150" text-anchor="middle">forwards sealed bytes</text>+  <text x="601" y="140" font-size="15">🔒</text>++  <!-- peers -->+  <rect class="card" x="60"  y="236" width="180" height="62"/>+  <text class="name" x="150" y="262" text-anchor="middle">StudioLaptop</text>+  <text class="sub"  x="150" y="281" text-anchor="middle">where you are sitting</text>++  <rect class="card" x="740" y="236" width="180" height="62"/>+  <text class="name" x="830" y="262" text-anchor="middle">MeetingRoomPC</text>+  <text class="sub"  x="830" y="281" text-anchor="middle">another room</text>++  <rect class="card" x="395" y="236" width="190" height="62"/>+  <text class="name" x="490" y="262" text-anchor="middle">cloud-vm</text>+  <text class="sub"  x="490" y="281" text-anchor="middle">a different network</text>++  <!-- self, centre -->+  <rect class="self" x="380" y="382" width="220" height="72" rx="12"/>+  <text class="name" x="490" y="410" text-anchor="middle">workshop-pc</text>+  <text class="sub"  x="490" y="430" text-anchor="middle">this PC, no port open</text>+  <text class="sub"  x="490" y="446" text-anchor="middle">loopback bound</text>++  <!-- every mesh link goes through the relay -->+  <path class="mesh-l" d="M490 382 L490 164"/>+  <path class="mesh-l" d="M150 236 L150 190 Q150 164 176 164 L395 140"/>+  <path class="mesh-l" d="M830 236 L830 190 Q830 164 804 164 L585 140"/>+  <path class="mesh-l" d="M490 236 L490 164"/>+  <text class="lbl-t" x="612" y="206">every link goes through the relay</text>++  <!-- the cloud command relay is a different thing -->+  <rect class="cloud" x="700" y="452" width="200" height="58" rx="12"/>+  <text class="name" x="800" y="476" text-anchor="middle">cloud command relay</text>+  <text class="sub"  x="800" y="495" text-anchor="middle">your AI reaches you here</text>+  <path class="cloud-l" d="M600 428 L700 474"/>+  <text class="lbl" x="612" y="462">can read this one</text>++  <!-- legend -->+  <line class="mesh-l"  x1="40" y1="474" x2="86" y2="474"/>+  <text class="legend" x="96" y="479">mesh link, end to end encrypted between the two machines' own keys</text>+  <line class="cloud-l" x1="40" y1="502" x2="86" y2="502"/>+  <text class="legend" x="96" y="507">cloud command relay, ordinary transport encryption to the host</text>+  <text class="legend" x="40" y="535">In direct mode these mesh links become machine to machine on the local network, with the relay as fallback.</text>+</svg>