Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

nordisk/dwarves

crates/nornir-funnel-embed/.nornir/assets/live-poll.svg

<svg xmlns="http://www.w3.org/2000/svg" width="760" height="250" font-family="monospace" font-size="13">
  <rect width="760" height="250" fill="#0f1720"/>
  <text x="16" y="26" fill="#6fd3f5" font-size="15">nornir-funnel-embed — live auto-poll</text>

  <!-- egui loop -->
  <rect x="16" y="50" width="150" height="60" rx="6" fill="#12202c" stroke="#6fd3f5"/>
  <text x="30" y="76" fill="#cfe8f5">egui ui() frame</text>
  <text x="30" y="96" fill="#7fb0cc" font-size="11">now_s = input.time</text>

  <!-- poll_due -->
  <rect x="210" y="50" width="150" height="60" rx="6" fill="#12202c" stroke="#6fd3f5"/>
  <text x="224" y="72" fill="#cfe8f5">poll_due(now)?</text>
  <text x="224" y="92" fill="#7fb0cc" font-size="11">auto_poll &amp;&amp;</text>
  <text x="224" y="105" fill="#7fb0cc" font-size="11">now-last ≥ 1.5s</text>

  <!-- refresh -->
  <rect x="404" y="50" width="160" height="60" rx="6" fill="#12202c" stroke="#8fe28f"/>
  <text x="418" y="76" fill="#cfe8f5">refresh():</text>
  <text x="418" y="96" fill="#7fb0cc" font-size="11">Funnel.Show (thin gRPC)</text>

  <!-- plandag -->
  <rect x="606" y="50" width="138" height="60" rx="6" fill="#12202c" stroke="#8fe28f"/>
  <text x="620" y="76" fill="#cfe8f5">plan-DAG</text>
  <text x="620" y="96" fill="#7fb0cc" font-size="11">grows: +nodes</text>

  <line x1="166" y1="80" x2="210" y2="80" stroke="#6fd3f5" marker-end="url(#a)"/>
  <line x1="360" y1="80" x2="404" y2="80" stroke="#6fd3f5" marker-end="url(#a)"/>
  <line x1="564" y1="80" x2="606" y2="80" stroke="#8fe28f" marker-end="url(#a)"/>

  <!-- repaint loop back -->
  <path d="M480 110 L480 150 L91 150 L91 110" fill="none" stroke="#e0785a" stroke-dasharray="4 3" marker-end="url(#a)"/>
  <text x="150" y="145" fill="#e0785a" font-size="11">request_repaint_after(1.5s) — keeps ticking, throttled (● live)</text>

  <!-- offline -->
  <rect x="404" y="180" width="340" height="46" rx="6" fill="#241318" stroke="#e0785a"/>
  <text x="418" y="200" fill="#f0b8a8" font-size="11">server offline → clean "unavailable", never wedges/panics</text>
  <text x="418" y="216" fill="#7fb0cc" font-size="11">⏸ paused toggle stops the poll; manual ⟳ Refresh still works</text>

  <text x="16" y="200" fill="#7fb0cc" font-size="11">state_json:</text>
  <text x="16" y="216" fill="#7fb0cc" font-size="11">auto_poll,</text>
  <text x="16" y="230" fill="#7fb0cc" font-size="11">poll_interval_s</text>

  <defs><marker id="a" markerWidth="8" markerHeight="8" refX="6" refY="3" orient="auto">
    <path d="M0,0 L6,3 L0,6 Z" fill="#6fd3f5"/></marker></defs>
</svg>